Listen to the podcast and read the show notes here.
Michaela Light 0:00
Hey, welcome back to the podcast. I'm here today with Ray Camden. And we're going to be talking about Vue.JS, FusionReactor and also Therapy. So if you don't know Ray, he is sometimes known as the Jedi Jedi Master. And he was for a long time in the ColdFusion community. He kind of went off in other directions, but now he's playing around with FusionReactor and doing some other cool stuff with Vue.JS. So he works as developer experience engineer for American Express now, and he works on server lyst, JavaScript web standards, enterprise cat demos, that sounds very enterprise cat demos. Yes. And he's also the author of lots of books on web development. And he's got a very prolific Brock blog. And he's done a lot of presentations. So welcome, Ray.
Raymond Camden 0:55
Thank you for having me. Thank you for inviting me.
Michaela Light 0:58
Yeah. So you're welcome. A lot of it's nice to have you back on the show. I'll link in the to other episodes you had on the CF Alive podcast and the show notes on progressive web apps and using Node JS. But today, we're going to look at Vue.JS, which is a front end framework that a fair number of ColdFusion developers use, in fact, I interviewed john Farrar a couple of years ago, and he was kind of excited about it. And I'll put that episode in the show notes too. But I'm sure you have a totally different take on it from John's, even though you both do have beards. So
Raymond Camden 1:32
yeah, I went to one of his presentations on view. And that was my first introduction to the topic. I don't know if I have a different take on it. But I have been using well before ups, I've been using Angular JS for a while. And I liked it. You know, I've been I'm potential I saying I liked it with a little bit of pain. Yeah, I could get things done. I liked it in comparison to everything else I looked at. But I wasn't necessarily thrilled to start a new project with it. You know, if I had some, like random, weird, stupid idea, which are even most of my ideas are like that. Just a thought of starting a new Angular project was a bit of a impediment in terms of all the stuff that you had to kind of set up and get working. And that could absolutely have been my fault. There could have been tools to make that a little bit easier to make the scaffolding quicker. It's, but like, it's, you know, it's like when I go anywhere now with my children, right? I don't like casually go anywhere, but my kids are coming. I'm bringing snacks and bringing diaper bag and all that. And I like them being with me. But it's a process. And that's kind of how I felt about Angular. You know, view, you know, view definitely has a process to it has a command line as a scaffolding tool. And you can build big applications. But then, but it also supports simple progressive enhancement. So I have one page site, that's totally fine. on that one page, I want to add a little bit of interactivity. And the past I would have use jQuery for that. And now I'll use the view because view works great at that smaller scale. And it also works great with for applications as well. And I want to apologize if I'm a bit my soapbox here now, but it seems like most people talking about JavaScript have the assumption that you're always building applications with routing and state management and all that fancy stuff, you know, enterprise JavaScript apps. Whereas like, a lot of my JS work over the years has been a much smaller scale, still important to the client, still, you know, adding good things for end users, but at a scale that I don't see talked about, and a lot of conferences and blog posts now and to me view supporting the full range of what people can bill makes it a huge win for me off the soapbox.
Michaela Light 4:08
That's great way fine to get on the soapbox, you know, as long as you don't stay on it the whole time. But I'm kind of curious, what's an example of one of these simple, you know, progressive web app enhancements? The done what, why would someone want to do that you can imagine like
Raymond Camden 4:23
a simple search for where you want to hit back in API to get products and then do kind of weird filtering. So filter by product type filter by product costs, filter by weight, height, dimensions, whatever. It's kind of like a boring type thing. But like for an admin interface for a manufacturing company, that'd be great. And they may have an existing CMS already. But they may have so many products, I need something a small tool to help them kind of dig and find particular sets of products. That's exactly the kind of thing where, to me, angular would have been overkill. And I later used jQuery. But to me, it was a lot more powerful than jQuery. And that's a tool I would go for now.
Michaela Light 5:07
So what what kind of extra pad you get compared to jQuery? Because nearly all cold fusion developers use jQuery or JavaScript? Why should they be looking at Vue.JS instead?
Raymond Camden 5:20
So to me, it does two things really well. Part of it is two way binding between your Dom Yeah, essentially, what you see form fields and just regular texts on your web page, and your JavaScript data, whatever that may be. So in jQuery, you can definitely do those types of things you can reach out to the DOM, you can change what you see. And you know, if you can read from the cornfield, and go backwards, you kind of mix all that just kind of work out the box with very minimal effort. What are the other big things that does is make it makes it easier to work with dynamic HTML. And by that, I mean, I would have renderer list of products, for example. So in jQuery, I hit my end my my input API, I take that array, and I would iterate and make a big giant string of HTML. And at the end, just kind of glom it into the DOM via, you know, dollar sign, whatever dot html. But future, yes, I can actually build via a declarative language, I can build in my HTML using tokens, a lot like cold fusion, but use tokens that will get replaced by JavaScript data via view. So what's nice about that is that that HTML language is pretty simple. You don't need to know JavaScript, you can have a non JS developer kind of work on that kind of mock up, how it's going to look, do the CSS and all that. And a Java developer can actually handle beating that data to them. So there's a nice separation there. That's great.
Michaela Light 6:56
Is there a name of that language that you mark off instrument women
Raymond Camden 7:01
know. So there, there are things like that that exists just as template languages. So there's things like handlebars, mustache, Jade, and pug. And that's all they do that your life, you know, will allow you to write a new job, right? A tokenized, language and HTML, and will convert that simple HTML based on data view kind of has that big den, so you don't have to give a separate one? Not sure if that makes great sense.
Michaela Light 7:28
It made some sense to me. So why are you particularly excited about view because I know you're giving some presentations on In fact, you said you just gave one last night about it. So what what really gets you out of bed in the morning and get interview coding and talking about it?
Raymond Camden 7:45
its simplicity. It's just very easy to use. I talked about how it supports the simple, drop the script tag in and do a few things and supports that. And it supports full applications. What's great is that if I'm building a big application, and there's one thing that's kind of bugging me, I don't know how to do it, I know that I can go into another web page, just do a simple little test there, you know, work on whatever I need to figure out, get that logic done, and then bring it into my application. I'll use a tool called code pen quite a lot. It's an online code editing code sharing tool. And it works really well for you know, testing view JS stuff. And so it's a pleasure. And I think I think at some level, like you like to use Angular, you'd like to use reactor react, you like to use view this because it works for you, personally. And you JS just really fits my way of thinking.
Michaela Light 8:46
Cool. Now you compared it a bit to Angular before. Maybe Could you go into a bit more detail on that? re?
Raymond Camden 8:54
Yeah. Like I said, I never felt and I could be wrong. Absolutely body, I never felt that Angular worked well, on a smaller scale. On the light, I want one page to have interactivity versus a whole application. What I needed to build a whole application. And I did a lot of that with ionic and hybrid mobile dev with Cordova, ionic at that time used Angular, it was great. It was great for saying, you know, here's the first page of my app, there's a second, here's how I navigate back and forth. Here's how I do state. Angular handled that, well, I think dude does it better. But you know, angular was fine with that. But again, if I didn't need all that, if I didn't, if I didn't need a full application, this angular felt like too much work. You know, anytime you use a framework, you are adding a bit more work, you have to kind of set it up, you have to go with its own conventions. And most of time you put up with that, because it's hazy and stuff in the long run, right? It saves you from worrying about silly stuff, like, you know, what should I named my folder structure? Because it family people say like, you must use this folder, but you're someone so files in there. And you appreciate that after a while, because you can focus more on like business logic. That all makes sense to me. But if I'm not building an application, then all that is the stuff that gets in the way.
Michaela Light 10:19
Make sense? How are they compared? You know, they both being updated pretty regularly? Or?
Raymond Camden 10:26
Oh, I have no idea. I mean, if you seems to update at a comfortable speed for me, not to mess up too slow. It's definitely under active active, active development. It's fine. I can say, Master, and turn and that regard to like, react or Angular?
Michaela Light 10:47
And then when have you seen a, you know, a major new release for view come out? And did you know, how did that go? Because I know, I've heard that when Angular went through a major shift a few years back, it was real pain in the behind because it just wasn't backwards compatible.
Raymond Camden 11:03
Yeah. I, so that's kind of what I stopped using Angular.
I mean, I, I definitely saw it as improvements. But I was kind of turned off a bit. I feel like some of the community, some of the community leaders, and that that that may not be fair, but I felt like that people who were talking about the new version, didn't give enough, I guess, sympathy to how much of a mental leap it was. And the second, like, even just changing the version number three, they went to, I can't think of the style name, but that style rep was a bit faster. You know, if you have to explain how your version numbering works now that to me like that, I think that's kind of a big deal to people who don't live on Twitter, and who work nine to five. And that said, I think that's acceptable. I think it's fine. I am a single father. So yeah, I, I went from working a lot and doing a lot of nighttime research to be more of a nine to fiver, because I had to, it's not because I'm not passionate about the my industry, but I don't have the time to spend as much time doing, you know, research. So I feel like like that whole shift. It wasn't it handled as well as it could be in part of being in developer relations for so long. That's a big deal to me, like I, I care about the user. You know, and I care about messaging and stuff like that. And, obviously, this is an old concern. Now, they've been on this new way of doing things for a couple years now. So for New England developers, it won't be an issue because they're joining in at this stage. But back then, when I was going through it, I didn't enjoy it.
Michaela Light 12:59
Yeah, that's, I think that's a very important, soft skill of programming frameworks and languages that isn't always paid attention to. But you know, if you don't, don't care about the developers using your language, and it kind of shows it can tick people off, it can cause people to leave the language, or just get frustrated and not upgrade. So you know, key thing. So. So we've looked a bit about comparing view to Angular and why we get excited about view. Tell me more about what view is especially good for?
Raymond Camden 13:34
I would, I would say anything, really, I mean, you know, I, I wanted to be Angular for applications, jQuery for single for simple page enhancements. Because view covers all that, I pretty much always go to it. If I'm literally like writing four lines of code, then I will do vanilla JavaScript, I'll do no framework at all. And definitely a JavaScript that's come ahead a long way in the last 10 years, where I can do a lot by itself with no framework at all. So I don't always reach for view. But you know, I use it like 95% of the time. I did a blog post last night, talking about using HTML form validation, just in JavaScript. And that was definitely so simple. I didn't bring you into the picture at all.
Michaela Light 14:28
That makes sense. So are there any cool apps you've written recently using view? Or you can share it tell us about Oh,
Raymond Camden 14:37
yeah. And I'll put this URL in the show notes for later. But a couple days ago, I wrote it. So it's one of those things where a friend asked me a question, and I could have answered in like five minutes by spent like five hours building a demo. Instead, I use Plex for my media server as a rip movies and pictures and music. And my friend asked, Is there a way to find a movie of a particular length, so like, the kids are going to bed at an hour and a half, I want to find a 90 minute movie. Plex lets you sort by duration. So that would kind of work. But I literally wanted an application that would say, give me a you know, range and find me the movies in there. So I used I used a few JS to build that demo, it's a full application has multiple views in terms of login, finding your server and then filtering it as a UI framework involved as well. And it's a kind of code that I don't expect anyone to actually take from me and actually us. But for me, it was practice working with you JS working with the UI framework, and just fun.
Michaela Light 15:47
And speaking of API's is few good at working with API's, you know, having data coming from a back end? Or is that a bit of a pen? No, it's fine.
Raymond Camden 15:56
I mean, so like, I'm like jQuery, there's no Ajax baked in. So you do have to use insert a library or use vanilla JavaScript. modern browsers support an API called fetch, which does Ajax type stuff super, super easy. So I tend to use that for most of my demos, a lot of DJ s people like a library called axioms, and axial, so do things like for example, I'm going to be using an API hidden like 20 endpoints. And this API always requires a particular header. So if x feels like it's a, hey, always use this header. And then later on in my code, and putting a, b, and c. So x, iOS is definitely pretty full feature and a good product. I find that to be good enough for me, and it doesn't require an external library.
Cool.
Michaela Light 16:50
Now, we talked about all the great things about view, are there any challenges you've noticed with you either with yourself using it or with other view? developers?
Raymond Camden 17:00
Yeah. So I think, you know, view does handle the simple patient has, that's great. And it handles building applications very well. I would like to see more documentation for people who have never seen a Javascript app. So there, you know, the the jQuery people that view supports very well. I would like to see docs have a kind of hold their hands a bit and say, hey, you're using having one file JavaScript tag in and you're successful, great. Well, with the view application, like with the Seelye, we now have 20,000 files, and I'm overstating it a bit. But you have a large amount of files. And, you know, once you learn it, it's great. It's not it's not poorly done in any way at all. But it can be overwhelming. And I would like to, and I've made do this myself like this, like say, Hey, here's what's going to happen, be ready, you know, and here's what all these folders means. And here's what you could ignore, because there's definitely things you just don't worry about, like note modules, like I want to hold their hand into getting into the app world.
Michaela Light 18:14
Sounds like a really useful thing. You know, people just new to whatever the language is, whether its future is or Angular or react or cold fusion. Getting people into it easily is an important thing. Any other challenges you find with few code or?
Raymond Camden 18:34
No, it's perfect.
Not perfect. But like I seriously,
I nothing comes to mind. There have been things that have been a bit awkward at first, maybe. But for general usage, he was very easy to pick up very quickly, us very easy to play with, which are all like, winning points for me. So you know,
Michaela Light 18:58
many colors, fusion developers use jQuery for this kind of thing. If someone listening, you know, as cold fusion developer, they use jQuery or JavaScript. Well, how long would you think it would take for them to get going with view JS? Is this like a one hour kind of thing or a day or a week? Are we talking months of time to get productive, or
Raymond Camden 19:18
you can learn the basics in an hour. So it's pretty easy to pick up. And like if you had an existing cultish component that you were using the feet, David of jQuery, you could do that for Angular react or view just as easily. There's no like requirements for how you do Ajax with you, just like react and angular also don't care. If you have a JSON endpoint, whether it's CF, Perl, PHP, whatever, it won't matter.
Michaela Light 19:49
Who Are there any books or resources you'd suggest to people who are getting started in view?
Raymond Camden 19:56
There, they're probably books, I'd be shocked that there wasn't, I haven't reviewed or looked at any. There is a author, that there's a writer, Sarah Krasner, who is like, my go to person for review JS stuff. She just joined nullify, I think, and I actually have a link that I will share with you that you share with the people watching this podcast. And it's her articles on CSS tricks, which is a great website in general. Yeah. If you see the URL CSS tricks, I don't think it's just CSS stuff. It's all kind of web development stuff. So one of the best websites out there for
Michaela Light 20:34
web development. Excellent. Well, we'll add that into the show notes, for sure. So let's move on to fusion reactor, if that's okay. Yeah, I know you, you just wrote a couple of blog articles, getting started with fusion reactor for cold fusion developers and finding and fixing your slow cold fusion pages with fusion reactor. And you just put those up a couple of months ago on your blog. So and they're kind of geared for people who've never met fusion reactor. And how to get started in it. So hats off writing those because not everyone gets why performance monitoring on their server is even a good idea or necessary. Can you tell us a bit more about you know, your experience with fusion reactor? And you know, what the first impressions are for someone who's new to it?
Raymond Camden 21:27
Yeah, I mean, I been a supporter of them for a long time, I've had their advertising hits on my website for probably a decade, you know, Adobe had their own tool that is kind of a banded. And I wish they would have just bought fusion reactor because they've been doing them right for a very long time. So I have respected the work for a long time. I've admired their work for a long time. But I definitely have been moving away from CF for a long time, as well. So this is not new. So they approached me a couple months ago, and just asked if I would dig deeper into it. And I do some writing on it. And I thought be great to do it from my honest perspective of I don't know, Java, I know Java little bit. And, you know, looking at fusion reactor can be a bit overwhelming, because it has so much information. So my perspective is, you know, I may be a new coefficient developer, I've never used a monitoring tool before, help me just fix something, you know, help me find problems help me, you know, kind of navigate all this data that the fusion reactor is providing, and focus on the things that I remember encountering as a new CF developer, so like slow pages, like that's an obvious when there's definitely more things that that fusion reactor will do. But to me like that's like the number one thing that I cared about when I was doing testing. And fact I used to do a lot of contract work for clients would just say, hey, my site slow, you know, things aren't going great. So I would turn on debugging, I would find those so pages and my first tacks of approaching the problem. So looking at how a fusion reactor exposes that is, I think, helpful. I'm also based on the fact that fusion reactor ties in the Java so well, there's definitely things in there that may make no sense at all to you.
Like I think everyone assumes that
people describe stack races. I've been coding for 20 years, I know what stack traces, I'm not going to look at what I mean, I have to
I will
but you know, the the the Java isms and fusion reactor, I'm trying to expose those. I'm not saying it's bad, but I say, hey, if you've never used Java before, this is what this means. And you can ignore this noise. If your Java experts not noise, self important, but
for you,
trust me ignore this focus on that. And that's kind of tacked up my tape. I actually have another article, hopefully coming out in a couple of days, looking at the database reporting
with fusion reactor.
Michaela Light 24:09
And well, cool. Well, if that's out before we publish this episode, or if it comes out later, just send it over, we'll add it into the show notes. so fabulous. So you sound very keen on using fusion reactor for for cold fusion developers. Anything else about it? You want to share your experience actually using it? Or was it easy to install? For example?
Raymond Camden 24:33
Yeah. And in fact, I
did do an update a couple of weeks ago, and I was kind of surprised how easy it will hurt. You know, I remember ICF server updates being a bit more intense. And to be fair, it's the whole server. But fusion reactor just kind of work that updated. And I think it was me, I think of what from like 778 something. And me that's a major version update, and just worked. So I was very impressed.
Michaela Light 25:04
Must be that British German engineering they have going?
Unknown Speaker 25:07
Yeah,
Raymond Camden 25:08
yeah, I know. I know, for a long time that there's some scary smart people over there. And that company?
Michaela Light 25:15
Oh, yeah. I mean, how they managed to hook in low level to the Java Virtual Machine and get all that data is pretty clever. It's not just performance data, you know, I think, as I understand how it sort of works is that they're sort of putting a hook into every generated line of code to know how long it took to run or if it's having problems or the set debugging hot points. So which, you know, you can turn off in production if you don't want that going on there. But when you develop and it's great. So cool. So anything else you want to share about fusion reactor before we go into the therapy topic?
Raymond Camden 25:50
No, I just I mean,
like I said, it's been on my blog for a long time with a lot of respect for a long time. And it's nice to
be able to dig into it a bit more now. Cool.
Michaela Light 26:01
So many people listening may know that your wife died. pretty much exactly a year ago, you released a couple of blog posts that went pretty viral around the confusion community explaining what happened and you wouldn't be going to conferences for the foreseeable future. And now you had it seven children who you were the single dad for? Yeah. Yeah, sounds like an enormous life change. If, and I know myself, I had a girlfriend who died. And it it was devastating for me, I can't imagine what it's like for you with your family. So tell us a bit about your journey, you know, in the last year on that, because you You seem to be, you know, changed from where you were a year ago?
Raymond Camden 26:50
Yeah, um, I started to see a therapist, very soon after maybe within two weeks or so. And it has been life changing in terms of just support in terms of having a neutral party. unbiased, who can hear you out and hear you say everything
and anything to, you know,
I don't know, I can't speak for how anyone will go through grief, it's different for everybody. But you know, just being able to say I'm feeling XYZ and a complete kind of nugget of this straight out way. And hear that, yeah, that's totally normal. And part of the process and, you know, give you feedback on how to work with that has been amazing. So you don't necessarily have to wait for someone that died to do it. If you're suffering with anxiety, or suffering with anything at all, I don't let anyone tell you that it's a small thing, or don't tell yourself, well, that's a small thing. There's never, there's never not a good reason to go ask for help. So I would strongly recommend that if you think that you need help that you reach out and try it, you may need more than one therapists. I know someone who has gone through two or three, because the first two didn't work with that person. For me, I was very lucky, my my therapist was a great fit. And I have gone from seeing this person. Once a week, once a month to now I'm down to once every two months. And it's been it's been essential to my healing process. So absolutely recommend it. And I will say on Twitter, my themes are open. And if any listener has something that they want to talk about privately, or asked me privately, I don't mind if you ask this something, I don't want to say I won't get mad, I'll just say I'm not going to answer.
But yes.
Michaela Light 29:07
Yeah, I think that's a very important message to get out there. And I actually we have a, I did an interview with Jorge race from artists about suicide. In the developer community, he had someone he taught in a cold fusion developer class, and then the, you know, a few days later, he heard they'd kill himself. And he's like, Well, why didn't they just tell me? Or why didn't they reach out to someone else for help? And he, you know, we talked about that. And so, you know, I think anyone who's listening who's having issues, you know, it's much better to get help and try and soldier through yourself. Particularly, I noticed with men, you know, have a tendency not to ask for help. And I know, when I was a man and had my partner die, my go to was beer and lots of TV shows. And that really didn't help. I think after about nine months, I was still depressed, and wasn't, you know, moving forward. So that was a lot of years ago was, gosh, 93. I think so. And I've had people I've had mental health issues like depression, or, you know, people dying, and they've gone a lot quicker with getting help, in my case, from a from a coach or a therapy, a group therapy situation. So, definitely recommend doing that. And then you mentioned, you know, it helps with anxiety, I think quite a few developers, you know, in the corporate world do get anxiety. It's just, we're under so much stress, right? So, you know, if anxiety starting to get in your way, or you know, you're using things like alcohol or drugs or shopping, you know, even social media, people will use just as a coping mechanism, then getting some help, can can help improve things a lot.
Raymond Camden 31:00
One thing I want to add, you mentioned asking for help, I think another big thing is accepting help
you get a lot of people who will
offer help in a variety of ways. And before this happen, I always did the polite thing. It's the only other Thank you, but I'm good. I started to say yes to everything, to food to a neighbor who went to help grind some some tree stumps and my yard that it was one of 100 problems that I just put their side because it wasn't crucial. And I said yes, every single time somebody asked, and that was relieving. And I think that, you know, people do want to help they're not just saying it for bs reasons they want to so
I accepted it, and I'm happy I did.
Michaela Light 31:50
Yeah, I think that's true when someone's having a major life, problem or change. Whether it's that Paul on the diet or something else. A lot of people aren't quite sure how to help. And so by being receptive, it helps them to process their part of the grief as well and to know they're helping you out and your family out. So and and maybe saying that also to people you know, if you if you have a friend or a family member who's had some major life change, it's worth offering help. I mean, the person can always say no, if that's not what they need, but
Unknown Speaker 32:29
I think
Michaela Light 32:30
many people can benefit from even practical help, you know, just having those meals developed when you you don't feel like doing anything can make a lot of difference.
Raymond Camden 32:43
Yeah, food isn't easy when? Yeah.
Michaela Light 32:48
Cool. Well, glad to see you back on the podcast. if folks want to get hold of you. You mentioned they could your active on Twitter and some other things. Let's mention some of those ways to reach in.
Raymond Camden 33:00
blog is rainy Camden, calm and
Twitter. It's Raymond Camden. So all right, pretty easy.
Michaela Light 33:09
Well, appreciate you coming on the show. And look forward to seeing you on future podcast episodes and maybe out of some future conferences in years to come. So being great having you
Raymond Camden 33:22
Thank you for having me.