Find the show notes and download the episode here.
Michaela Light 0:02
So welcome back to the show. I'm here with a whole bunch of ColdFusion experts here we've got Charlie, Mark Gertz and Ben and myself. And we're going to be talking about Adobe ColdFusion. And Lucy the two leading ColdFusion engines, we'll see FML engines as I should say before we get beaten up by one of the CFML hardcore people. And we're going to look at some of the different ways they are the same or alike and compare and contrast them. So welcome, guys. Thank you. Welcome. And just in case anyone listening or watching this doesn't know who these are Charlie arehart is an amazing cold fusion troubleshooter Mark Drew is really dedicated to solving difficult cold fusion problems in the United Kingdom. Well, and worldwide, I think good friends is located somewhere in the center of Europe. I think Switzerland I want to say and is leading light in the Lucy community. And Ben de Tao comes to us from I believe New York City. And he publishes pretty much every single day. I don't know how you find time to do any work. He's been there DALBAR blog is one of the most popular ColdFusion blogs out there. So
Mark Drew 1:22
I'm gonna say most popular blogs on the internet. Yes, I mean, nevermind coffee, just like I've been looking for like various different things online, unrelated to technology, by Nadel. brings me joy every day. Thank you.
fBut you know, they both have they do Lucy stuff too. As to I
Gert Franz 2:37
know, I have to also say, you know, I have to also say, if you're selling a BMW, I can't drive a Mercedes. So I have to drive the BMW.
Michaela Light 2:48
I mean, why we've got a round table instead of having a regular episodes, two different views. Table. So what do you guys think about the programming in CFML?
Ben Nadel 3:03
I mean, I think it's amazing, honestly, I, I I primarily code in ColdFusion on the server side, and then JavaScript on the client side. And what I'm noticing more and more is that the syntax for the two languages are kind of converging, at least with my particular style. So it's, it's actually a really small shift mentally to go from client side to server side, you know, you're maybe adding some type checking and some slightly different data types, but it's, it's ultimately objects and arrays and strings and looping over stuff and concatenating stuff and mapping and filtering. And, and I just love kind of how the modernization of the ColdFusion language is making it look more and more like everything else that I use, which is just ease of transition. So that's been really, really great.
Gert Franz 3:55
I think I have a question there for you.
Hang on. I have a question there for you. Ben, have you experienced that as well that you have code that on the client side that is used, let's say jQuery, JavaScript, whatever, and your clients love that. But on the server side, they still stick to tag based code. And I'm not able to convince them to go to scripts, because they say, well, it's way too complicated. And I can't use it. But it's the same.
Ben Nadel 4:23
It's you literally copy and paste and add some some public and some return types.
Mark Drew 4:29
Absolutely. This is a controversial opinion. And that's why we're having this roundtable right for the controversial opinions. I think CFML or Lucy's here from on the server side is much better than node on the server side, even though like you've got JavaScript on the front end and the back end. And I've written in all of these languages, in different contexts. And the problem with node on the server side is that you're doing paradigms that you do for the client on this event base and you've got closures and They've got all all of the, the paradigms that you need for an async model of a client, which are then having to do on the server side where you don't really have that async model because you have a request that you're processing. And this is where Lucy and the server side and makes a lot more sense, like all CFML on the server side, then then using node, which I've been using for full stack engineers, which are doing JavaScript and client and jobs, JavaScript on on server.
Ben Nadel 5:31
Yeah, I 100%. Agree, I, I like to think of confusion as blocking by default and asynchronous when you need it. Because the reality is blocking code is just much easier to read and to reason about, which is why, even on the JavaScript side, we've moved from callbacks, and even just raw promises to a lot of async await notation, that makes the asynchronous code read like synchronous code. So CFML, we just get that by default. And then if you need to run things asynchronously, obviously, we have the async iteration, which by the way, is one of the coolest things about ColdFusion. Being able to map and filter and reduce asynchronously. You have your CF threads, you have your scheduled tasks, you have all the asynchronous functionality that you need, but only when you need it. And you have that ease of blocking by default with everything else.
Gert Franz 6:28
I totally agree. And I have to also say, the ColdFusion has a long history now for 20 years, 25 years, actually 27 years actually. And over those 27 years, if I remember where it started with CF script, and where it now came to and how we can use it now. In my opinion, it is the absolute preferred way of doing it. And I very rarely jump out of CF script to go back into tag mainly, we only do that for for view model for the view layer. And even in the view layer, I tend to write CF script just because it prevents generating whitespace and everything. And I sometimes even use this triple tech notation just to jump inside of script into tag and back. Because I'm just too lazy to too well nested, do an include or whatever. So sometimes inside in a CF mail where I write the mailing script, I inside there do a triple tick with the tag notation. Because that's sometimes I'm really only in one or two cases makes more sense to write it in TAC. Anyway. So I prefer script over everything.
Mark Drew 7:42
I think the only problem with referring script is that the tools haven't quite advanced to that and says Mark who wrote CF Eclipse and with other people is that you don't get enough syntax help on CF script, because actually doing tag pausing is a lot easier in editors and then script fuzzing, right. And this is I think that's what's blocking the community getting much more into that because they're not getting all the help as you type.
Gert Franz 8:16
Or maybe Charlie, you know, that is since ColdFusion is supporting statics as well. Is there any support for additional code formatting code support in VS code or Sublime? Since cf 2021.
Charlie Arehart 8:34
Actually, that's a good point. It's take a moment first of all in my breaking up because you guys were breaking up. And I think I was having something go crazy on my end. But do I sound okay.
Mark Drew 8:43
Okay, brilliant.
Charlie Arehart 8:45
Actually, before I answer your question, I want to just go back quickly to something that Ben had said CFML, the evolution of language that was great point that he brought up and you guys have expanded on and I just wanted to say that a year, I think a year ago, maybe two years ago, I did a talk on ColdFusion at 25 more modern than most realize. And I've just put a link to that. So folks listening, Makayla will be sure at the end that we have show notes and may have links to lots of stuff in there. And, you know, Ben had mentioned async. And that's a feature of both. And I'll get back to what you'd ask but I just wanted to get this out before we lose track of it. The language has evolved so much and both languages and at first so often it's been Lucy pushing first for things to be in there first, and then there will be picking up afterwards. Sometimes it's been the other way around. But But I mean so much show closures and promises as you mentioned, and async and lambdas and fat arrow functions and higher order functions, functional programming, just so many things that people would often not think CF. And when I say C if we were saying C of generically now CFML the language which is a misnomer, right? Because you're talking about CES script and some markup language. But anyway, it's just evolved so much. And it's too bad that people often regarded as old and dated, and it is older, and therefore it's got stuff that's legacy that gets brought forward. And we'll come across code that, you know, looks like it hasn't changed in 20 years. But man, if people want to, they can make it be as modern as they want. And so that that talk gets into that in much more detail. But back to the editors, that was a great point, too, that you're bringing up is that, you know, in the old days, we had homesite plus and coffees and studio, and then people would choose maybe, sublime or notepad plus plus. And then of course, VS code went crazy and took over the world. And there are multiple CFML extensions. But I think your question maybe was about Adobe's plans for supporting VS code. And they've been talking for about a year of plans to rewrite what we regard as CF builder on vs. Code. And those plans are still in the works. It hasn't happened yet. Mark Takata. Right. Promised q2. Yes. So Mikayla had a totally
Gert Franz 11:10
hang on which year which year?
Michaela Light 11:13
Yeah, he was supposed to come out end of last year, they had stuff all gummed up with that log for J issue and various things. But now they said they'd have it out by the end of q2 I think they want to have it ready for set out. Other news related to both Lucien Adobe ColdFusion is a bit OB CF Summit is happening in person in Las Vegas in I think September, or is it October? No, it's beginning of October. So that was just came out, too. And my guess is they ought they definitely want to have it available before CF Summit. And they're probably going to have the whatever they're going to call it cold fusion 2021 2023. I guess it's the next version. They haven't named it though. So. And we know they changed the name of 2020 to 2021. So we'll see what version but they're already working on the alpha of that. And I'm sure they'll have announcements about it at CF Summit.
Mark Drew 12:11
I have problems with that attitude. You know, like there's a commercial versus open source attitude, there is a big plugin that like mainly last year for male developers use that has been added and called Adobe keeps on doing this, which is, oh, we're gonna build our own tools. So we can sell it. Rather than going like, well, we've got the whole power of, of an engineering team, why don't we contribute to something that's already built? And I keep on seeing this again, and again, and again, it's people let's go and build our own thing. And then we're going to do it instead of contributing to what's already built. Add to it, you know, expand upon it. You know, we already have a tool that we're using, right? It's like you, we could add it like see if Eclipse something was here for Eclipse, I want to do CF builder. And look how popular that was. You know,
Michaela Light 13:01
maybe there needs to be a change in mindset. Dolby, I mean, to be fair to them, they have to have a model that produces bucket loads of money to pay for all those things they have out in Bangalore, Bengaluru, India and the other show, but
Mark Drew 13:15
that's not going to be an editor like is it going to be an editor licenses? Really? How much can you charge for an app,
Michaela Light 13:21
that's the Microsoft model, you know? They charge seats for the editor.
Mark Drew 13:28
They don't understand like vs. Code is for the Visual Basic.
Michaela Light 13:34
I apologize, they charge some big fee for something. Microsoft doesn't give away all of the dotnet ecosystem for free. I know because I've talked to people who use it and they're writing 10 to $20,000 a year.
Gert Franz 13:47
And I have to also say I have to also say that I'm taking part of Adobe here, Adobe actually tries to lock in folks into Adobe ColdFusion and not into Lucy. So if they contribute, they actually support the Lucy community as well. From their perspective, I understand that, from my perspective, it makes no sense. And I'm completely agreeing with Mark there. But I can understand it from the corporate perspective. Definitely. So
Mark Drew 14:12
yes, but no, you're trying to grow a community right. So the you already charged for the license. So to go to your point in the kala which is a Microsoft model, they already charging 1000s of 1000s of dollars for licenses, right? The editors
Michaela Light 14:29
for basically for the Windows license and for the SQL Server license you typically have to have if you've run dotnet
Mark Drew 14:36
for sure. Yeah, absolutely. I mean, and for Adobe like for for selling cold fusion enterprise licenses go fusion standard license, I don't even know what the pricing, it's already charging for that. Right. So but But what you're doing is the editor would be an advertising kind of cost, right? It's like saying like, you get them in and you can do great if I install I don't know, ColdFusion free version, whichever the Express or whatever the their version is to get people trying it out. The first,
Michaela Light 15:11
Dev staging and test licenses are free. If you're using an education for teaching, it's free of using education, but actually do anything. It's not free. Right? That's their free licensing. And I think I'd agree there, they don't push their free licenses enough, they should definitely have a free level that they try and, you know, get everyone excited about ColdFusion. So I would agree with
Mark Drew 15:36
Yeah, and so like the most the first thing that you do after you have that license after you've like, press Start ColdFusion server is like edit it with Textpad or something, or you. Or if you're a developer already, you can use VS code, because you're already using VS code, or whatever editor there was out there. And now you have to I have
Michaela Light 15:56
a dozen or a dozen different edits. There's no, there's about a dozen, six to 12 editors I've seen on the state of the ColdFusion. Use this, folks use the number one is VS code. And using the free add ons for that. I don't know exactly what's going to be in this Adobe builder thing, because they haven't really announced all the features. But I assume it's going to have things like breakpoints and debugging and all kinds of other fancy stuff, it won't really speak syntax highlighting. So where the people want to pay for that or not? I don't know. But that is a good point. There is a difference between open source and closed source? And is it it's not just difference in pricing? It's a difference in mentality. You know, I think, you know, it
Gert Franz 16:36
is you can you can say that very simply from the different comments that we got over the years. So for the, for example, when we bring out the open source version of Lucy five or 5123, whatever or six, when it comes, people are asking, when is this feature coming? Right? Well, the thing is this, if you're not contributing to the whole thing, or you write a pull request, or you actually secure funding for something, I'm sorry, but we're all working here more or less afraid, we have to do some other work, or we have to rely on our on our Lucy association to fund some of those things. And they are just simple prioritization. And sometimes I'm sorry, but CF report, we can do it for several reasons. First of all, way too big. Second of all, it is a proprietary format by Adobe, and it's closed source. So we can't unhear that
Michaela Light 17:25
we can't do what I'm working on him to open up CF report, because they've abandoned the product, they should just release that as open source. And then Ron blue wants. You know, I mean, because that's what I'm here to add it back in as far as I know, either, they should add it back in and support it. I mean, it was written in Delphi, for God's sake, is a dead language.
Gert Franz 17:45
I know Delphi, that was my first,
Michaela Light 17:47
well, then we're gonna we're gonna bring you in to tweak it back up. But there's definitely a small number of CFOs, who have lots of CF reports and would love to see it come back. And maybe they have money to pay for that. I don't know. And
Ben Nadel 18:01
I just interject with one thing about the open source mentality. And one of the things that I really appreciate about Lucy, as an ecosystem is not just that the source code is open source, which is really amazing for debugging. But the process around the product development feels very open source as well. I think we've all run into situations where you post a bug in the Adobe bug base, and then just months later, they'll close it is not going to fix it. And you're like, what, whereas with Lucy, there's a JIRA project, and you can go in there and you can actually see the conversation happening about why something is or isn't valid. And then mica, I'm not sure if I'm pronouncing his name, right, like actually has to come in and validate and justify why he doesn't want to fix something or he does want to fix something, and then there can be a conversation about it. And it's not just it's not just that the product is open source, but the whole product lifecycle is open source. And that's very, very comforting, I think.
Gert Franz 19:02
And I have to admit that we have some bugs in there that are couple of years old as well. Right. But if it says something like okay, well, CF exchange, not supportive.
Mark Drew 19:14
I mean, the way I see it is simply like open sources are kind of democracy in the sense that, hey, you're interested in see if report just because that's the topic at hand, right? It's like, Yeah, but there's two of you. I mean, you can be really loud about it. But there's two of you compared to the 1000s of people that really don't give a damn about CF report, because you've moved on to use read ash or any other solution for doing reports. Because since then, a million solutions have come to light. Like I want to hit on features that I can just off the top of my head, PDF generation, right. I know that you know, cold fusion that was jam and everything else and you go like, Well, yeah, sure, but I'm pretty sure don't We sell some really good PDF generation software, that at an enterprise level, that's what you'd be using, you wouldn't be using a website's server language to generate it right? Now, I'm sure there's very much a million reasons why you'd want to do that, or how you integrated but I'm pretty sure there's like more enterprise II kind of solutions,
Michaela Light 20:22
or they have a PDF thing. I forget what it's called, maybe Charlie, you know, the name of the Acrobat. But, ya know, it's got some other name. But you know, a lot of ColdFusion developers do use the PDF features in Adobe ColdFusion. Lucy developers have some libraries they can use to do the same thing. So but I think you bring up a great point, Gert, and Mark about how do you prioritize new features. And it's not just, I mean, yes, it is a democracy. But also even the Lucy world, if someone joins Lucy Association, and ponies up 5000 bucks, or whatever, they can say, Yeah, my votes bigger. And I do want this feature. And you guys, okay, adding that into the language. And if a feature makes sense for the language, it'll go into the main language. If it's like some weird corner case, then maybe it's just a special version for them?
Gert Franz 21:15
Well, how we do this is actually a little different. Where the open source version, and that's where Misha spends half of his time, is just derived by whatever's in the bug base. Many of the features that we build are built from commercial hiring of the company regime where I'm working at. And so for example, let's just take a specific example, we're creating a new tag called distributed lock, by distributed lock allows you to lock a request over, let's say, across a bunch of servers, we're using some messaging queue for that in order to make sure that that is not happening, that that request went solely on one system, that is not going into the main language, because we cannot do that for everyone out there. Because there might be completely different requirements for for this type of thing. So what we do in that, in that case, we build an extension. And that extension is something that you can just install wherever you need it, and you lock it down to the customers that you need it. It's not commercially licensed, unless the client who financed it desires it. And in my, my opinion, Adobe does the same. Same thing. If a huge client says, We need this, we're going to invest in this, we're going to like, I don't know, let's take CF client, right? See if client wasn't built, because they just thought this is the greatest thing that we need to do. I'm pretty sure there was a client behind that funding the whole thing and saying, This is what we need. If you build it, we're going to buy so and so many licenses, that's at least how I assuming I'm not there'll be headquarters. But I would do it the same way. In the open source community, what we do is we have a voting mechanism on the on the JIRA bug report system as well. And the ones that are most popular are our security issues. So there are a couple of different levels of importance of tickets, they get prioritized, right? And then what falls through the cracks is sometimes a bigger discussion, and some folks get very loud about things, right? Sometimes,
Michaela Light 23:28
I think one other key thing on any language is you've got to have someone or some peoples who decide what makes sense to put it to the language because it's so easy to look just look at what happened to Microsoft Word, not that that's our language. But it turned into the kitchen sink and became impossible to use are very hard to use, because they added every single feature everyone asked for. And one of the great things about loosing Adobe ColdFusion is this discipline about well, does this make sense? Does it? Should we implement this in an easy way for people to use and understand? So I think that's important because it's so easy to get language bloat.
Gert Franz 24:04
And that's exactly the reason why we introduced these things like extensions, where you can just say the bare core minimum is really very hard to Well, only if there are really big, basic changes. Like for Lucy six, we're introducing things like event driven, procedural things that is baked into the native language. But if you have some exotic things like this distributed flock, that's an extension. And if folks are using it a lot, it might make its way into domain language, but it might also not. Right, so
Michaela Light 24:38
Well, now we've been having a little bit of more controversial discussion. Maybe we should switch to something even more controversial, which is licensing. And I've Charlie, you've been quiet a bit. Maybe you like to say a little bit about licensing between the two and
Charlie Arehart 24:54
I've only been quiet because I was enjoying the conversation. Because I've always loved listening to all you guys. For those who don't know, we've all Belen each other for over 20 years, what, just like over 20 years. And so we've all known each other
Michaela Light 25:06
1999 in Washington DC at the first cfunited under a different name, it happened back then. Charlie was the most dedicated speaker. It's been 22, more than 2023 years, you've been speaking publicly on cold fusion? I think so
Charlie Arehart 25:24
in fact, one of the very first presentations I ever did was that the Maryland cold fusion user group that you ran, and that was back in probably 9897 98. Anyway,
Michaela Light 25:36
anyway, anyway, let's talk about the licensing differences. Obviously, Lucia is open source and free. I assume there's no circumstance where you have to pay a license fee for Lucy as
Gert Franz 25:46
well. There is one if you hang on, there is one Oh, if you require a closed source version, like some companies require, they can hire our company. And we then create a specific version for them, which is closed source, right. And which we then of course, are taking over since the guarantees and what have you, and they pay a license fee?
Michaela Light 26:08
That has every year. All originally you don't? Yeah, we're all a regular people, whether you're in the cloud on premises, running on your own servers, whatever, you don't have to pay a million servers running Lucy, and you wouldn't be paying a license, but you might be paying a support contract to get help
Gert Franz 26:29
or, or participating in the Lucy Association as a member. That is always very helpful, but we're not good. We're good singers, but we're not getting rich.
Mark Drew 26:43
Ironically, and Mark, in that vein, was that I had a company when I was working on CF Eclipse, asking me to sell them a whole bunch of licenses. And I said like, but it's free, it's open source of free. I mean, I can't sell it. And they said, no, no, no, no, we're going to send you a purchase order, and you have to send us an invoice. Other time, I didn't have a company or anything. So I'm just a guy that works on the project. So yeah, I had to give a very major company an invoice for $0 for infinite licenses. And I guess it was part of the due diligence. thing. So I should have maybe done what Gert says, you know, like, Oh, yes, I'll give you a closed source version. Yeah, excellent.
Gert Franz 27:29
And Mark, at least you could offer them a refund if they're unhappy.
Mark Drew 27:32
Yeah, I have offered refunds for for open source before.
Ben Nadel 27:37
I think one of the biggest barriers to entry though, for ColdFusion, at least on the Adobe side has been that there has never been a free model or a freemium model that I mean, you can develop for free. But the barrier to entry for a developer who wants to experiment with it is you either have to get your company to pay for it, which, you know, if you're just experimenting, it's probably not going to be a thing, or you have to, you know, pay like a minimum of, like $1,900. Now, even just for a standard license, 1500
Michaela Light 28:08
is the best. Yeah,
Ben Nadel 28:10
I mean, I don't want to throw judgment, I'm just
Michaela Light 28:13
crazy slightly. I agree. Having a freemium or free thing is a great way to get people into it. And I just want to point it out, you can, you don't have to buy a cold fusion license yourself, you can go to a hosting company, but a month, by the month, and you can, you can, you're gonna have to go typically everyone, not everyone, but a lot of people use the hosting company. So if you're running loose, you're running Adobe, you're paying a monthly fee for the hosting. Now the monthly fee for Lucia hosting is usually less than that for Adobe hosting. But it's not like gold,
Gert Franz 28:43
but what you could do for and what you could do, as well as you can definitely start your own Amazon Web Services ColdFusion server, which costs you monthly as well, right. So
Michaela Light 28:53
that's a monthly option they have,
Mark Drew 28:56
there are other business models around this and I can in the game industry, for example, epic who you might have heard, do an Unreal Engine, you can use and publish games on it, which is kind of like to Ben's point, it's like, I want to play around with it. And when I say play around, I want to put something on the web. Like I want to make a business right on the web, whatever that business is selling widgets. It's my new Twitter, clone, whatever. But for example, epic, don't charge you any money until you make revenues over $100,000. And then they take a cut of your percentage. And then if you make a lot more, then you can start doing deals with them about how much you pay for licensing. And that's a kind of better model. That's like saying, If you succeed, we succeed. So therefore, you've got this kind of, yeah, we're going to support you as much as you know, to get you to that level. Because it's kind of unfair, like mom and pop shop. I don't know I've never met a mom and pop shop but they uses cold fusion, but I'm sure there's one there that I don't see any out there or there's plenty out there, but they gotta pay what I'm sorry. I don't know the prizes like five grand for your, for you and for your coffees and enterprise, because that's the kind of traffic they get, compared to Boeing or some other massive company that five grand to them is literally nothing that's like, you know, okay fine whatever, like to be honest it we've just spent more money trying to raise a purchase order than than you did on the actual price of the license right in those kinds of companies. So that's kind of, in my opinion, slightly unfair. Yeah, sure, it's market economics and everything else. But.
Michaela Light 30:34
But there is an interesting, I think that's an interesting idea, though, I am going to say that Adobe do a little bit of that, and Charlie has written about this with their SAS licensing thing, if you have a SAS written in ColdFusion, they want to extract extra fees, which I think is a mistake myself. And they will, they will negotiate it away if you're not making a lot of money in your SAS. But it's very hard people get upset when you start taking money away from their profits. So I mean, my personal philosophical view is a programming language let you build anything you want. And the program, the company or open source community that makes up our own language should be completely neutral about what you've write in it, it shouldn't be their concern, once you've sold the programming language, or you've downloaded it, if it's open source, it's up to the programmer what they program and it's not the programming. Here's the important point. It's not the programming creators responsibility, what programs are written in and what bugs they have, and what you know, what is get, I won't give all the dire things people could do in programming languages and have done, but it shouldn't be the programming language creators responsibility, either for the profits or for dire consequences of what is done with that. Okay, I think this should be a separation between the two. And this day, doing SAS licensing is a big mistake in my view.
Gert Franz 31:56
Right. I mean, on the other hand, it brought us a lot of new clients. So that's.
Mark Drew 32:03
And But, wait,
Gert Franz 32:05
wait, I have still still something regarding client licenses. The thing is, there is a benefit in having licenses that costs money ColdFusion users are used to pay money. So that is not something you know, when you when you go into a PHP community or into any other open source community. They're not used to pay money for something. So folks are so used to it that folks here on this call, or at least one guy is able to charge per minute. Right, which is a great thing. Right. And I I think Charlie, you're doing an amazing job there. So
Charlie Arehart 32:43
that was a long time ago. You did I'm sorry?
Michaela Light 32:47
Yeah, per 15 minutes, troubleshooting, Charlie help.
Gert Franz 32:50
Yes.
Charlie Arehart 32:51
Yes. That yeah, that's what I do. And you're right, and people are willing to, and that was a good point guard is that people are generally more willing to pay for things in much of the CF community. And that benefits the people that create monitoring tools, other sorts of tools. And there is that difference in communities where everything was free, it's kind of hard to get them to pay for anything. I wanted to say a couple things. One is, you know, some people are probably wondering, why don't we have an Adobe person on to speak. And, of course, we reached out and offered that opportunity. And they're always reticent, I think to get into such debates over licensing and probably to even, you know, have discussions about Lucy. So well, you know, we couldn't and I'm not, I'm not an Adobe person. I'm not representing Adobe, I don't make money if people buy ColdFusion or not.
Mark Drew 33:37
TV telling you
Charlie Arehart 33:42
that so I wanted to make sure that was clear. And I support people that run Lucy. And Michaela said I do support, you know, troubleshooting support. So whatever people use, I'm happy to help and it's you know, 99% cf And Lucy people. And anyway, so, what I wanted to let us not forget about oh, that to the the question of licensing, you know, that was a great point that Michaela made. You know, for a lot of people, this isn't as big a deal as it is to some because they don't pay for it. There are people that use even Adobe ColdFusion and don't pay for it a because they work somewhere where someone does, or B they do hosting. And maybe it's really cheap and it's not even worth worrying about the cost at that point. But but but where things I think are becoming particularly sensitive, is in the move to microservices or just no deployment in the cloud, let's say on Docker images, and we'll talk about Docker images later. But both CF and Lucy support Docker images and man when you want to spin up, you know, more than a couple instances, that's when the pain really hits you with CF licensing. And I just so wish they will address that soon. Because that's that's a real killer and that's what really gonna have to say
Michaela Light 34:52
I'm gonna have to say the C word at this point, Charlie, which is cause cause licensing clause. How many cores does your CPU have? And on cloud that could be I mean, one servers have 1632 cores and confusions, like, Oh, you were you get two cores. You know, I
Mark Drew 35:12
mean, here's a problem. Like, I'm not sure how, like, as an example, we run some Kubernetes clusters, right? And we scale pods out dynamically from pod being a Docker container, right? Like from, like, five, to 100. Over a period of time, right? Now, those are just Docker containers running on a certain number of nodes with machines, which are virtual machines. So like, it's now substracted is like if, if if someone comes and says like, so licensing, give me the licensing? I'm like, I don't quite know. I mean, I know that the nodes have like 32 cores on them. But I don't know how many pods run on it. Right. So we know
Charlie Arehart 35:58
how many pods but we have no idea how many cores. And that's what I was getting at is that right? That's where I was about to say that's what's really driving, I think a lot of people to move to Lucy recently, is they want to do deployment in Docker or Kubernetes, whatever containerized environment they want to run in. And that license just does not work. And just quickly. For those who don't know, the I did a blog post on this a couple years ago, because it is documented Adobe, they license, they allow you to run up to eight containers with an enterprise license. But it's one container per standard license. And so you know that that's crazy, too. But But even the eight alone, you know, that let me be clear, eight, eight containers can satisfy some people's needs. It gives them lots of room for, you know, reliability, not so much for scalability, but I just wanted to say that that was my point earlier is that to me that they I wish they would fix that. I've been complaining about that for the since I wrote that blog post where I found that information is like oh my gosh, really come on, that's not going to work. And so, you know, again, that's driving people who are able to to just say, Well, nevermind, I'm just gonna use Lucy, and not have to pay for it. So that's, you know, it is what it is. And I don't know if they're going to change
Michaela Light 37:13
it so much. It's partly, it's not just that they don't want to pay for it. It's just the licensing is too complicated. You know, and it's it kept up with modern tendencies. Strategy, oddly, I've talked to the Adobe guys, and it's partly a technical issue, how do you charge per hour or minute of CPU, whatever, and that can be solved. That's a technical issue. Definitely. That's solvable. You've got to understand Adobe is an enormous Corporation, and they've got a big legal department, and you've got to get these quill pen work. I'm exaggerating here. But you know, they're like, I imagine they're all these Victoria lawyers in morning coats and Top Hats and quill pens. Once this cloud thing? I don't know, we can't do that. Wait, I want to slap them on white. You know, wake up, guys. It's 2022, Amazon, Google, Microsoft are all running cloud services. They're all charging by the hour for their services. They've effing figured it out. Why can't Adobe figure it out?
Mark Drew 38:12
I mean, we're being a bit unfair, because we are
Michaela Light 38:15
upset about this. Mark.
Mark Drew 38:19
I agree with you. I agree with you. 100%. And that, I think we're being unfair. But so comparing Lucy to Adobe, which is unfair comparison, because the only thing that we have the same is, is that with the same language, but with different servers with different models with everything else. So it's a bit unfair, I would say like compare Adobe to an IBM WebSphere. And how do they charge that model on the cloud? How, you know, like, I wouldn't be saying like, Oh, well, Lucy's free, because, essentially, we don't care about what you run, right. But IBM WebSphere, I'm just saying, I don't know if it even still runs. But how does Red Hat charge for Enterprise Linux in the cloud? How do they? That's what if I was working at Derby? That's what I'd be looking at. Looking at my comparison, how does Windows charge for its services in the cloud? I'm sure they've got a licensing model for the base. Okay, maybe not windows, but let's say SQL Server, how do they charge for the instances and that, you know, that's shockingly expensive quickly? Well, I mean, if you're going to be doing that, paying enterprise licenses probably will do.
Charlie Arehart 39:25
But as long as you just answer MySQL or Maria. Yeah.
Michaela Light 39:29
Right. Right. You see, it would be good to have like a comparison table of how different people do cloud licensing from the open source tools that that basically are not charging in the cloud. Or try to see
Gert Franz 39:41
then what's your role, what you're all going to be facing when you're moving to Docker. So lots of stuff that you need to consider
Ben Nadel 39:52
what's the what's the story nowadays with lambda functions? I know Pete Freitag put together some thing I don't know if that's genuine,
Michaela Light 40:02
okay, he put together a thing. It's easy for Pete to use. Some other people have found it challenging to get started with once you've got it started, it runs fine. Yeah. And then it's basically very cheap, because you're only paying by the minute or whatever a Amazon Web Services charges you,
Charlie Arehart 40:19
we should clarify that it's called fuse lists. And if you will get it in the notes later, I assume. And then I think what you're getting at Ben perhaps was cf 2021, when it first was being announced and pre released. I was involved in that pre release, and there was lamda. And let's be clear, by the way, there's lambda, the language feature that we talked about earlier, that's not at all related. We're talking about AWS lambda, which is serverless functions effectively. And that was provided for in CF 2021. Originally, you were going to be able to deploy CFML on lambdas. And that was really cool. And then when it came out, they pulled that and I guess it was probably another licensing thing, you know, where they just realized that there was an easy way to manage that. And it's too bad. So So to be clear for now, CF does not itself provide a way to run CFML on lambdas. It does provide support, and I did a blog post on this last year, they added that the ability to call lambdas and have specific language functionality to integrate with running lambdas, which you know, someone could argue isn't needed. But that's the point is you can't run CFML as lambdas. And again, that's another one that the absolutely people will go I'm gonna do Lucy for that. And you know, that's understandable. Totally understandable.
Mark Drew 41:39
How do you charge per server in serverless? May?
Michaela Light 41:41
I mean, you need to charge a minute or per hour or whatever, basically. And that's what they do. Adobe does have the AWS AMI
Charlie Arehart 41:51
Ami. Yeah. Yeah. And that's worth pointing out. You mentioned it in passing earlier. You know, it's the Amazon Machine Image Ami. And there's a Lucy AMI as well. Who somebody put that together, was an artist.
Gert Franz 42:04
Yeah, I guess that was demon. Demon did that. And artists did that as well.
Charlie Arehart 42:11
Right. But the so there is a Lucy Ami. And so the point for those don't know it, it's like you could spin up a VM in Amazon. And just like, it's an image of already pre configured running environment with Luciano or with ColdFusion on it. And for the confusion, it's commercial, but it is very cheap. It's pay per second kind of pricing. And it's really, really low price. So for some people, that would be the desirable way for them to achieve lower cost licensing, and especially monthly price licenses. Now people really want to pay a subscription model versus the traditional, you know, professional,
Mark Drew 42:53
is it's only like a cent or two above the base price, isn't it as of the AMI image, because you have got like the base price of like, whatever machine you're running it on. But you always have like a central tool on top of that. So it's not
Charlie Arehart 43:10
Yeah, it's not much, that's the thing is you're paying for the infrastructure to Amazon, and then you pay a small amount to, to the company. I forget the name of the current company that's involved, but but there's an intermediary who manages it. And then they pay, you know, Adobe, it's, you know, it's like a lot of stuff. There's always middlemen. And so in the end, you know, Adobe is making a mint off that, but it is at least a model that's very, very different, and could shoot some people and I but to see, I don't know that it really applies to the lambda deployment either. And that, you know, that part is still I think, unclear. So anyway, that's just another example where, you know, Lindsey not to worry about it, it's no charge, move on with your life. And then that is nice. There's some circumstances where that just makes more sense. And I don't deny that and I wish that, again, they would work on that and make it more clear, because it's losing some people. I mean,
Michaela Light 44:04
but just to wrap up the licensing thing, and let's move on to my, my vision for licensing, you know, a lot of enterprise customers are fine paying money for software, but it has to be appear to be fair, and it has to be easy to understand. And currently, the Adobe, Adobe licensing isn't and the loosing licensing is very easy to understand and seems to be fair, so. And that's how I sort of said that mark in the interview I had with him and, you know, licensing.
Gert Franz 44:38
Yeah, you know, just imagine, just imagine the time and money that we saved by not talking about licensing. That was
Michaela Light 44:47
very clever. So let's talk about ease of installation and hardware because that's changed quite a lot in the last few years.
Mark Drew 44:54
So I think I'll chime in because I my role was doing DevOps includes installing a hell of a lot of software, and deploying a hell of a lot of software. So, back in when dinosaurs had hat, you'd have to go next, next, next, next, right and which port you wanted to do it. And next, next, next next, you didn't read what what the next was, you didn't just whatever you had 50 screens that you just went there and then like localhost 8080, or whatever. But you have your ColdFusion server and stuff like that. I think that's changed a hell of a lot now, because we don't think of individual servers as pets like thing that you'd like lovingly set up. And then you have this monolith, thus you're one server now you have hundreds of servers, right? So I think installing things easily configuring things really easily is the way forward, it's the only way forward in in that I mean, there might be a massive market, which I don't know, which is about with hosting providers and how they use forgotten the name of the software cPanel, for example, to set you up with databases and stuff like that. But it's now that's changed kind of a lot like now it's like the easiest way like Lucia Express is an example of, of how I install stuff now, right? It's like, super simple is Antar something and run a command, I think I created a Docker image. And this is not showing off in three lines of code, install Java, download and extract, Lucy Express, run, Lucy expressed that, you know that this, and we can deploy that really easily. I think we have changed in over the last
Gert Franz 46:50
20 years. Yeah, we have to, we have to also say we have gone through a lot of evolution there. You know, when you started, it was, as Mark said, with the installers and everything. And I remember how much time we spent getting the Rylo installers to actually run through and having installers for Linux for for salaries for Windows and what have you. And they get less and less important because servers become less and less important because they get destroyed and built in a amount of seconds. So what the first thing that we did there was when you go to the admin, we actually generated all these applications, settings, snippets. And you can even completely export the Lucy administrator settings into an Application cfc, which you can then just use in your Application cfc, so that you don't have to use the administrator at all anymore. And then the next step was using CF conflict, which is working with Adobe ColdFusion and Lucy as well. So just to point there, Lucy six will completely be basing off of CF configure, that's the syntax of CF conflict. And our conflict will go from XML to JSON. And so that was an additional step. Then the next thing was using command box, we introduced the the executable version of Rylo. Back in, when was it four 4.1. And based off of that command box has been built, which is an awesome tool, and is started very easily. So that's another step in in installing CFML very fast and easily. And now what is very important when you do all these deployments, these script deployments is the startup time, the startup time used to be, if I remember correctly, and the 90s it was about two minutes when you restarted the server, and it went down. Well, yeah, well, then it went down to I don't know, let's say 40 seconds to stop and start cold fusion or Lucy. And now we're down to about two seconds, one, two seconds. That's still slow to me. But we're still working on getting those things down to, I don't know, half a second one is 0.1 second, so that even on lambda at can, it can be used almost without any delay. You just send a request and it immediately comes back. And so
Mark Drew 49:11
a lot of that is is the servlet container, like containers pretty fast. But even getting Lucy started up is like,
Gert Franz 49:19
right, just you have at the latest Red Hat. Things what is it? Well, for now, Quercus is starting up in 0.06 seconds, so we can't use that excuse anymore. So there's still some way for us to go but anyway, all good. So I'm very happy where the whole direction goes towards because I don't want to deal with any any Lucia administrators that I forgot to close down. Because you know, you used to go to Google and search for slash Lucy slash admin CFM. There you go. That's breaking.
Michaela Light 49:56
I mean, I think both Adobe and Lucy have really cut down On on the minimum install size. I don't know what the Lucia install size is. But I think Adobe is down from a gig to that about 200. Meg's maybe, Charlie, you know,
Charlie Arehart 50:11
because it was related to something Mark said earlier. And then Gert said there's two points there, I think, because people who've not been paying attention to what's happened, for instance, with CF 2021, would think that everything we just talked about was was Lucey advantages, and they were for a long time. But some good news is that in 2021, first of all, there is now a zip installer. So it's like the Express zip installer in Lucy, and you really can just download a zip, and start the engine. So that's finally there. NCF 2021, that's good to see. And then the CF config capability, that command box adds, we should be clear, CF config is a command box extension, which as you said, works with both leucine CF and CF 2021. They added the roughly the equivalent and I'm not making any judgments, I'm just saying the same concept of a JSON based ability to export and import admin settings. That's now in CF 20.1 built in. And then also the smaller install, yes, so that what Michaela is getting at is that NCF 2021. The core engine in CF is now just a couple 100 meg if that. And then like with Lucy as long head, cf 2021 has the ability to do package management and add in or not add in things. And the full installer just adds everything. And the zip installer basically has nothing but the admin and you have to choose what you want to add. And there's even a feature in that tool. It's called CF pm for package management. That's the FPM tool, you can point it to your code, and it will analyze your code and say, Okay, well based on your code, you need these packages, and it will provide a file. And then when you start up CF, either in the admin you can tell it and then this is really important because some people don't know this is possible in the Docker images. For cf 2021. There's an environment variable. And you can point to that file that was created by the CF pm tool that says you need these packages. So instantly, up comes the image already pre configured with the packages that you need. Or you can provide another environment variable that just list the name of them, if you know what they are. And then also that Docker image for 2021, you can point to that JSON file, and it will just pull in the admin settings. So I just wanted to say that things have evolved so much. And I don't say that to be a partisan at all, it was more back to my point about things are just modernizing, it's taking time for things to catch up, sometimes one gets ahead of the other. And that's, you know, too bad that it's often portrayed as partisan in this just our nature in the world these days. But you know, it's all getting better.
Mark Drew 52:56
I agree with you. But all of those features, right, have been around in the community for a while. And now, we've said this before, the reasoning behind why Adobe does it like this, but in several supporting Ford books, instead of supporting, you know, all of us coming together and say, This is how we do package management so that the community gets better. They always like throw, like the community under the bus or community does something. Right? And then the other because like, that's a great idea, we're gonna do it our own version. So now, whatever you were doing for months, or for years as as a product, so it stopped. What is doing, essentially is getting all those heroes in the community, the people that are shouting out about the product, about CFML about everything else and just throws them under the bus because now Adobe does it a different way. So we
Charlie Arehart 53:46
set up versus the CF config. Yeah, yeah,
Mark Drew 53:49
exactly.
Charlie Arehart 53:50
I mean, many clear any Excel config is an artist thing. So they're not going to bundle it in. I mean,
Mark Drew 53:58
this is why I prefixed my thing. I understand why they're doing it. But understanding why that does not negate the consequence to the community. Right?
Charlie Arehart 54:09
But it isn't a negative consequence. If someone wants to run CF config, they still can.
Mark Drew 54:14
Sure but you haven't added to the community organization. Your habit is to go live that's a great idea. We're going to do it in there there's not mine there.
Michaela Light 54:24
Yeah, I think Adobe could benefit from being a bit more friendly to third party vendors
Gert Franz 54:32
attribute but hang on you forgot about as solicitors you know the salute you sir
Michaela Light 54:36
well that's that's their I think that's the mentality that needs to shift. They've got this closed source legalistic mentality going around not everyone but and they do tend to like oh, well, let's bring it in. And maybe they have good reason for that. I don't know if some
Mark Drew 54:50
liability I can. I can completely understand why they do all of that and they want to do their product on the product is going to be the best thing. But I'm saying the other day consequence of that. I am one of the people that have been thrown under the bus of this. Like we see f Eclipse, right. We put in all our heart and soul into that. We even talked to Macromedia at the time, so can't blame Adobe. And they were like, Yeah, we're gonna do it, we're gonna do it. And then they went off and did something completely different. And it's like a few months later, see if builder came out. So All right, thanks. That's a great, thanks. Right. Yeah,
Michaela Light 55:25
I think moving forward, it'd be better if they could kind of build on what was done in the community support what other companies have done, make their stuff interoperable with it don't create yet another standard. Exactly. And I know I mean, just to name one other example, you know, introduce fusion reactor, great product for monitoring your servers. And then Adobe comes out with performance, you know, PMT or whatever it is Performance Monitor.
Gert Franz 55:51
Fusion debug, same thing?
Michaela Light 55:54
Yeah. So I, to me, that short sighted behavior.
Gert Franz 56:00
But But anyway, they have their they have their reasons. Just one thing. I wanted to mention the basic Lucy image, which with no extensions whatsoever, it's 24. Meg.
Michaela Light 56:10
Wow, that's amazing. Great work guys. Reduce. Yeah,
Gert Franz 56:14
of course. Of course, Java needs to be installed, which is another 170. Well, I that's. And by the way,
Charlie Arehart 56:23
on one comes, it comes with Java. So if you subtracted that even smaller, that was kind of in the same in this. Yeah, it's great to see. And by the way, let me just say about all that just because cuz sometimes I don't think people understand where I'm coming from. I agree with what you just said, Mark. Totally. I kind of in the middle of saying, like, and I want to make sure everybody understands this, because people think I'm somehow an Adobe insider, I have that 00 impact on any decisions like that. I've never been a party to discussions of should CF builder have been built on CF Eclipse? No, I was not a party to that. Should should the PMT be built based on vision match or not? No, I had nothing to do with that. I'm like everybody else, I just see this stuff drop all the sudden, where I kind of see my role is kind of like the CF librarian. I just want to make sure everybody's aware of what all the differences are, and what the options are and how things are evolving. Because sometimes people that are in one camp, or the other, tend to only see what they see. And I keep wanting to say, well, there's there's things are changing, this is here as well. And you're right, some people would go well, I don't want to hear that. Adobe has CF set up in 2021, they should have put in just CF config, somehow. I agree I get I have nothing to do with that. I just want to be clear. So when you guys like you, everybody, when y'all hear me, I just want to know where I'm coming from. I just support people every day solving problems and in the community. And I just try to stay on top of what is the situation and make sure everybody's aware of what situation is kind of without judgment. I mean, because because I just look at that as problems I can't solve, you know, like, I don't seem to have any influence over those kinds of decisions. I'm just saying from my personal experience, if anybody thought otherwise, no, I don't. So I kind of give up on even the debate sometimes because it's like, it's another thing to do about it. Let's just deal with what we got and hope that through enough discussion and Pete things becoming obvious, Adobe would move. And sometimes we've seen that, like, that's why I was highlighting those changes in 2021. They're really pretty significant. But some people would go well, I stopped using CF back in zf 11. That was 2014 was eight years ago. It has changed so much since then. And some people don't even give it any consideration.
Gert Franz 58:42
To be fair, Charlie, I think I have more influence on Adobe or Lucia has more influence on Adobe than you. Because yeah, if we introduce something, which over time pays off. Hey, go. Yeah. And that's, you know, that's
Charlie Arehart 58:55
isn't that an interesting testament to the open source model. I mean, one could argue, they look at what works well, and they go, Okay, that's a good idea. Let's finally fold it and see some people would go, well, that's just stealing ideas. Well, okay, that's when we
Gert Franz 59:08
see it's not hang on. That's not true. Because I always have to say, we wouldn't be here without right or without. It goes both ways. So I always have to say that this is hopefully a relationship that is kind of we getting each other so we're kind of benefiting both from each other. And we're not
Mark Drew 59:30
from the outside. Competition is good, right? market forces are good. And if you have like competition, which is apples and oranges like PHP and ColdFusion I mean, Adobe's ColdFusion, right. That's not a good market for us, because the complete different markets and stuff like that, yeah, sure you're building websites and whatever. But if we're both Lucy and Adobe, competing in a space in which we have that It should benefit both products. Right? That's, that's the whole point of market competition.
Michaela Light 1:00:08
Is this competition, sometimes this cooperation, you know, we will talk with each other coopetition to change the competition. And also, I just want to say from the enterprise point of view having more than one vendor producing a CFML engine, you know, I mean, the two main ones are Adobe ColdFusion, and Lucy, but I mean, the still does exist Blue Dragon and various other things looking around. But my point is, they don't like having a single source of failure. You know, if it was only Adobe ColdFusion and didn't have Lucy as well, then they get a bit nervous, or what happened. I mean, people are always asking me this, what is Adobe going to continue supporting this? Of course they are, they've got a 10 year commitment to this. But if anything terrible happened, and the whole country of India suddenly disappeared and floated off into the Indian Ocean, Lucy would still be here. And it's open source, guys. So like your investment in all those man years and decades of programming and CFML is, is secure.
Gert Franz 1:01:06
Yeah. So and, and I think we should take away the microphone from Ben, because it's talking too much.
Michaela Light 1:01:14
Yeah, I was gonna say what I What's your view on this, Ben. And I also want to recognize that we came to the top of the air and I think that's something you had to leave for?
Gert Franz 1:01:22
No, I have to leave at half past. So.
Michaela Light 1:01:25
Okay, so we already knew this exciting conversation.
Mark Drew 1:01:28
So I have another 10 or so minutes in me before I have to go and Oaxaca.
Ben Nadel 1:01:33
So one thing I just wanted to say is, I think of everyone here on the call, as far as understanding servers and server setup, I know by far, the least probably by an order of magnitude. I get flustered when I have to install something. And I remember back to the days where I had to have IIS or Apache running. And then I had to install ColdFusion. And then there was some sort of ws config that I'd have to run into that like never quite worked, right. And I'd have to include the right thing into my Apache conf D file or something I don't know. And it was like a miracle. Yeah, and it worked. And command box was like a complete game changer for me it you know, to be able to open up command box and do servers start CF engine equals ACF or CF engine equals Lucy at 5.3, or whatever, and just suddenly have multiple versions of ColdFusion running at the same time, that really unlocked a lot of experimentation opportunity for me in a way that had never really been accessible for someone as much as I love CFML code. I know so little about servers themselves. And and that was just a real game changer for
Gert Franz 1:02:46
me. And you shouldn't and in my opinion, you shouldn't, you know, because that is something that the DevOps folks or the engines should provide for you make it easy for you to use or make it easy for you to script. And then just go and have fun and do the things that you can do best. We have folks like Charlie, helping us if we have some issues with installing tweaking and performance or whatever. But if it's about building applications, you know, if you're if you're writing a book, you're not, you don't need to know how to actually create the cover and how you actually sell it on online or whatever. You need to write the book. Right? So typewriter is all you need. And that's yeah, so that's my take on that.
Mark Drew 1:03:28
But as, as you said that experimentation, I think I've got to take my hat's off to command box, because have allowed you to now just install whichever version Hey, I'm, I'm doing some code, how does this work on something else? And I'm gonna get this wrong because there's a couple of sites but the CF, try CFML CF tries to try cf.com they able to just change the engine and say like, Okay, if I do this little thing, how does it work in different engines without having to do as you say, that whole installation process, which as you can see, I have no hair because of having done. I've done all the pulling off a hair like removing, doing that.
Michaela Light 1:04:08
So let's move on to the CFML engine space scalability and performance. So I think this is a boy a place that CFX language has always shined that you can produce easily produce scalable apps, assuming you don't write really dubious database code as men can probably tell you about because he's been writing all these blog posts about cool stuff in the database layer. But the CF language itself does all this stuff behind the scenes right to help you scale up. So we sometimes have criticized cold fusion for but it's not the cold fusion engine. It's it's how good the code is and how good the database
Gert Franz 1:04:46
structure is. What the good thing is, it is abstracting a lot for the user. So let's just take writing an email, writing or writing a query how much is involved there so the ease of use There is absolutely awesome. And what we have done as well is try to keep the engine as memory and resource hungry, lesser some very low in those in those areas so that we can scale and that we can Docker eyes it and run many pods working on that code. And what I do is I sometimes, for example, what I do a lot is doing ETL, meaning taking big files and shoving them in the database. And I did some, some tests between doing it on in bash versus CFML. And cfrn was a little slower, obviously. But still, we are managing to to Pars and insert data in gigabytes in minutes in a couple of minutes. So 10 minutes or something, we were able to download it, break it up, tar gz, zip it and upload it to s3 within a couple of minutes. And that's really large amounts of gigabytes and in size. And that's what I love. I mean, it has been evolving so much over time. And of course, the computers have been becoming a lot faster. But still, what I like is that the difference between going in pure Java and, and having Lucy on top is not that big, right or having CFML on top. It's not that big. So I love it.
Mark Drew 1:06:24
And there's also like some things that Charlie is the person to really talk about this. But usually the performance bottlenecks in your app is not the engine. It's not Adobe ColdFusion or Lucy, it's usually the external resources, your database query, your the accf HTTP call that you do somewhere, usually the code itself, it can loop through 1000s of things. And I did a whole bunch of speed test years ago, which I got in a blog post. And this was comparing like Adobe creating components and Lucy and and I think blue dragon at the time. And it's all like well, it's you know, you're going downhill with the wind behind you. And it's the right time of day and the temperature is just right. You know, that's the kind of difference that you're going to get. Because we've gotten to the stage, I think, especially with CFML, that we've gone over a lot of bottlenecks off the off the application itself, we've had this long enough that we've taken this out. So now most of the bottlenecks is something else. This like an outside resource.
Ben Nadel 1:07:33
But I'm one thing that I wanted to point out is that cold fusion brings to the table a lot of developer ergonomics that, that make things very easy, but come at a cost. And that's a I think, a trade off that you take on as a developer. So like the fact that you can invoke methods with both named and positional arguments for the fact that you can dynamically at runtime, change the methods that are actually in a component, or you can do a lot of to metaprogramming reflection, and your query tags know where your DNS or your data sources are defined. Like, there's a lot of stuff that becomes really easy, because you don't have to do a lot of low level things that you have to do in other languages. That might be faster, but then require you to do all of those low level organization and syntactic choices yourself. So there's a I get a little frustrated when I hear people say, Well, you know, if you run this in go Lang, you know, you could you can run 10 million concurrent threads. But yeah, but then you have to do a whole bunch of stuff about managing those threads. Whereas in ColdFusion, I can't run 10 million concurrent threads. But I can open up a thread tag block, and call it a day. And I don't have to worry about how that gets managed. So there's, there's trade offs. And those trade offs have a performance cost
Gert Franz 1:08:57
salutely. And also, since performance is actually my thing. And very many times very many times when I visited clients, I actually had to disappoint them by updating Java or Lucy or whatever, it wouldn't fix their performance issues. 99% of the cases the issue is between the monitor and the chair. Right? I'm sorry to say.
Michaela Light 1:09:24
How do we tune that person between the monitor? Well,
Mark Drew 1:09:29
yeah, thanks exercise, healthy eating good sleep. Well, mostly.
Michaela Light 1:09:36
Yeah. And in Ben's case, is lifting a lot of weights at the gym.
Gert Franz 1:09:41
And very often it is when you show them something, they go, ah, that's the reason why it's like that. And then they go Oh, short. Now I know. It's just like, if somebody pointed them an index of a database table. Oh, that's how it works, right? It worked with my 20 records. I mean, that's a very famous phrase everyone has heard quite works on my machine. And so mostly, the issue is not even as remotely as Mark said as remotely connected to the engine or to the OS or to the database servers. So all of those are really maybe one to 5% of the cases, and some of them are blogged about by them, right? When you find out that something is weird going on in the background. So sometimes it is the engine, or sometimes it is, but that's very rare.
Michaela Light 1:10:34
But I seen a case in tuning servers or code where it wasn't the bad written code database or an API call or something else. It's never been that you can't get cold fusion on the JVM to run maybe, Charlie, you've come across 99% of the time, the cold fusion engines doing going great, right. And I like how Mark said
Charlie Arehart 1:10:57
earlier, it's rarely about the code, it really is very rarely about the code. I mean, sometimes it is, but it's usually, like you said, some third party thing you're talking to which could be the database could be CF ACB, or API call out to something else. And CF appears to be a black box. And when I say CF, I mean, Lucy and Adobe CF can seem to be a black box. And that's where I'm such a big fan of monitoring tools, whether it's the ones that come with the engine, HF something or third parties like fusion reactor, or C fusion, or Java monitoring tools to be able to see what's going on, it's so valuable, because what I'll tell you is that, in my experience, the biggest contributor, if it's not those things is, you know, I wouldn't say misconfiguration. But maybe letting the default configurations not be changed. And they're not appropriate for what you're doing, which could be how your code is written, how its deployed. But also the biggest contributor to really bad problems in my observation, is always unexpected load. And again, people don't know, they just put their server on them whatever, put their code on their server, and they think, okay, and they don't realize that Google's banging it every day, 10,000 times, Yahoo's banging it everyday, 10,000 times. And then along come your users, and then somebody's trying to steal your content, and somebody's running monitoring tools. And all of these things together can be really excessive. And there may be something in your code that's contributing to tripping over that excessive load, or there may be something in your configuration, which doesn't suit that, or maybe there's a need to do something more like caching. And so those are sort of things that with the right tool, that's what I love about the tools and with the right tools, you can find out where the problem is, and then you can talk about what's the best way to fix it.
Mark Drew 1:12:42
I mean, it's usually the marketing department sending out that email to your whole user
Charlie Arehart 1:12:46
that they contributor. Absolutely,
Gert Franz 1:12:49
yeah. And I can give you an example of some something where the engine was the fault, right? So the phones have Lucy, for example, was when using the tag CF info for a file can do see a file action info, and it returns you the information about the file problem, there was back in the days that it was also doing a hash of the content, like an MD five. So if you're doing that on a 20 gigabyte file, you can wait for a minute, right? And I never understood for a long time, why is the code waiting before processing the file, and I was really scratching my head until I figured that out. So the better way to do it. And this is this was solution that I had back then do a CF directory with a filter on that file only. And then you have that info that you wanted, apart from the MT five hash, which I didn't need anyway. Right. So sometimes it can be the engine. And we have changed that in the meantime. But sometimes it can be the engine, but it is really very
Ben Nadel 1:13:50
good to just piggyback on the idea of doing a CF directory. And I don't know what CF directory does under the hood. But But I can imagine it maybe does some sort of like an LS command if you're on a Unix machine. Yeah. And that's, that's one of the things that is often kind of the unsung hero is that we can dip down into the lower levels of the architecture from confusion, whether that be running executables with CF execute, or dipping down to the Java layer. And Java layer has like you know, 20 years of incredibly battle tested libraries at our fingertips. And that's it. So it's never that you're just with CFML you're with CFML plus everything below it. And there's just an incredible amount of functionality there.
Gert Franz 1:14:36
Absolutely.
Michaela Light 1:14:38
Anything else anyone wants to add to performance because I think we do need to wrap up so maybe we should just wrap and you know, there's lots of other things we could talk about. Maybe we can get together for another roundtable and other time and talk about you know, the the community support podcast tech support, security, a big issue documentation updates. all kinds of other topics between the different engines. But maybe you can tell people how we can reach you online. If people want to find you.
Gert Franz 1:15:08
Well, they can just come to Ranger, that's the HR shoot me an email at [email protected]. Or I'm not doing that much of you know, social media anymore. Because you know, first of all you can, social media is very patient. So whatever you write there is permanent, and they will haunt you for life. So rather not saying anything is good. And sounds like I'm a coward there. But anyway, it's I have way too many things to do than deal with social media. But just shoot me an email at Rachel, that's HR good at.
Michaela Light 1:15:42
We'll put that in the show notes on the show, Tara tech podcast show notes page, along with all the other links. What about you, Ben? How can people best reach you online?
Ben Nadel 1:15:52
You can email me at Ben at Ben nandalal.com. Or at my blog been intel.com. I do a lot of writing there are Twitter, Benito.
Michaela Light 1:16:01
Excellent. And Mark,
Mark Drew 1:16:04
you can just try a random domain with my name in front of it. That's generally where I am. But my name, yeah, Mark at command HQ, CMD, hq.io, or Mobdro on Twitter. And I'll probably respond much quicker because email is so last century.
Michaela Light 1:16:23
And Charlie,
Charlie Arehart 1:16:24
and I love email. You can reach me by email at Charlie at Kerr heart.org. And you'll have these in the show notes. Oh, and on social media at Kerr heart nice and easy. c a r e h AR T. And speaking of the show notes, I know, you know, before we lose anybody here in the group, or also people listening, I think you'll make maybe mention this, Miguel. But I want to really point out to everybody listening, there's a lot of things we didn't get gets talked about. Because this topic is so big. The shownotes we put together have lots of information there. Entire subjects that we didn't get talked about. And one of the ones I want to make sure we at least highlight for everybody is community support, because there's ACF, community support resources, and there's Lucia support resources. And there's things that support both engines. And we've got those listed with links in the show notes. So don't feel like you're alone. Don't feel like there's only one place to get your answers. There's multiple places. And sometimes there's real value in reaching out either in different places, or just watching lurking, what's being said in different places, because you sometimes get quite a different take on things depending on where you look.
Michaela Light 1:17:36
Absolutely. And you can find me Mikayla light on Terra tech.com. I blog a lot. We publish podcasts. I'm also on LinkedIn and Facebook a little bit on Twitter. Alright, guys, well, thanks so much for doing this. Lot of illuminating information have a fabulous rest of the last day of quarter one. In 2022. That's when we were recording this episode, it will be released in a week or two. And, you know, Viva ColdFusion. May, you know all the different versions,
Mark Drew 1:18:09
I need to have a lightning in my hand.
Michaela Light 1:18:12
Yes, the lightning bolt of Prometheus, which was the original name of ColdFusion. Right from May.
Gert Franz 1:18:19
And maybe maybe we could do a part two of this so that we can cover
Michaela Light 1:18:25
I'd love to do a part two, you know, maybe we can schedule that through email or in Kurt's case, it will have to be some other mechanism. And I can
Gert Franz 1:18:34
email I still have.
Charlie Arehart 1:18:36
We're going to need to do that. Because there's going to be a flood of comments and things we didn't think to say. So
Mark Drew 1:18:42
we'll definitely have to do a part two. And of course, you could use Twitter to send me hate because that's what happens on Twitter. All right. Thank you so much. Thanks,
Michaela Light 1:18:52
everyone.
Gert Franz 1:18:53
Love you guys. Bye bye.