1
00:00:00,151 --> 00:00:03,266
Hello and welcome to the Modernize or Die podcast.

2
00:00:03,266 --> 00:00:04,948
We're glad to have you with us today.

3
00:00:04,948 --> 00:00:06,541
It is June 3rd.

4
00:00:06,541 --> 00:00:09,042
This is episode 234.

5
00:00:09,042 --> 00:00:12,547
My name is Eric Peterson and I'm joined today by Jacob Beers.

6
00:00:12,547 --> 00:00:13,169
Hey Jacob.

7
00:00:13,169 --> 00:00:14,563
Hello, thank you for having me.

8
00:00:14,563 --> 00:00:15,003
Always.

9
00:00:15,003 --> 00:00:17,834
Well, let's jump right into it.

10
00:00:17,834 --> 00:00:22,837
Let's jump into our Ortus news for the week or sorry, the last few weeks.

11
00:00:22,837 --> 00:00:24,587
We had a couple of new releases.

12
00:00:24,587 --> 00:00:27,049
CF Migrations version five is out.

13
00:00:27,049 --> 00:00:30,091
Sounds fancy, isn't as fancy as it sounds.

14
00:00:30,091 --> 00:00:35,654
Upgraded to be based off of qb 12 which was also a breaking change and CBMockData 4.

15
00:00:35,654 --> 00:00:39,527
So all of you should be able to upgrade without really noticing anything.

16
00:00:39,527 --> 00:00:54,598
It does have BoxLang certification now, both the normal BoxLang and with the CFML Compat
module, which has, on the side note, been a fun thing to try to figure out matrix testing

17
00:00:54,598 --> 00:00:56,309
in CI.

18
00:00:56,309 --> 00:00:59,920
Thank goodness for CommandBox to make that more straightforward.

19
00:00:59,920 --> 00:01:05,082
And then there's a little teaser, a simpler configuration for CommandBox migrations is
coming soon.

20
00:01:05,082 --> 00:01:14,233
So if you are one of the many people who look at your data source configuration in there
and think, why is this more confusing than CF config?

21
00:01:14,233 --> 00:01:15,744
We'll be fixing that.

22
00:01:15,744 --> 00:01:17,464
So thanks for being patient.

23
00:01:18,477 --> 00:01:20,037
CB Playwright also had a release.

24
00:01:20,037 --> 00:01:21,917
It's at 1.52.1.

25
00:01:21,917 --> 00:01:27,259
That corresponds to Playwright 1.52, which is why the version numbers are kind of weird
there.

26
00:01:27,259 --> 00:01:30,941
I've been doing a lot of work there, mostly because I've been using it in a non.

27
00:01:30,941 --> 00:01:34,039
testing scenario and it works a little bit better in that now.

28
00:01:34,039 --> 00:01:37,830
So kind of doing my own web crawling for a client's project.

29
00:01:37,830 --> 00:01:38,512
It's kind of fun.

30
00:01:38,512 --> 00:01:39,880
Cool, very awesome.

31
00:01:39,880 --> 00:01:44,865
Alright, so we've also got a couple more feature or news items that we want to talk about.

32
00:01:44,865 --> 00:01:49,527
We've got the ITB 2025 videos coming to CFCasts later this month.

33
00:01:49,527 --> 00:01:51,297
I'm personally really excited about that.

34
00:01:51,297 --> 00:01:59,212
You can still go and check out the Into the Box 2025 website where you can see the full
agenda and pick out some videos that you're interested in watching.

35
00:01:59,212 --> 00:02:04,476
I've actually I've got four or five videos on my list that I've been waiting this entire
time to be able to watch.

36
00:02:04,476 --> 00:02:06,008
So looking forward to that one.

37
00:02:06,008 --> 00:02:09,721
So that will come to all attendees of Into the Box.

38
00:02:09,721 --> 00:02:12,194
You'll get free access on CFCasts.

39
00:02:12,194 --> 00:02:23,494
If you are just a subscriber to CFCasts and you didn't attend Into the Box this year, you
can either purchase it as a premium series or wait until around the end of the year when

40
00:02:23,494 --> 00:02:25,807
it will become available to all subscribers.

41
00:02:25,807 --> 00:02:26,318
Good to know.

42
00:02:26,318 --> 00:02:35,317
And we've got a news item that is very dear to my heart, which is that the Boxlang VS Code
extension has released a new version, 1.7.1.

43
00:02:37,317 --> 00:02:43,017
Yeah, we've got some really cool features in it, including a couple of bug fixes, improved
autocomplete.

44
00:02:43,017 --> 00:02:47,934
And then the thing that I'm the most excited about is actually AI integration with

45
00:02:47,934 --> 00:02:49,477
VS Code co-pilot.

46
00:02:49,477 --> 00:02:57,028
So that includes our BoxLang participant that can even reach out to the BoxLang
documentation and answer questions intelligently about BoxLang.

47
00:02:57,028 --> 00:02:58,250
So very exciting stuff.

48
00:02:58,250 --> 00:03:01,245
We're really looking forward to the future that opens up for us.

49
00:03:01,245 --> 00:03:01,856
That's awesome.

50
00:03:01,856 --> 00:03:04,309
You've been doing such great work on that.

51
00:03:04,309 --> 00:03:07,603
I've been trying to dip my toes into it to help out a bit.

52
00:03:07,603 --> 00:03:09,427
It's an exciting place to be.

53
00:03:09,427 --> 00:03:09,966
Mm-hmm.

54
00:03:09,966 --> 00:03:17,743
All right, this episode is sponsored by Ortus Solutions, specifically our Elasticsearch
and OpenSearch Consulting.

55
00:03:17,743 --> 00:03:28,415
So if you have a need to augment your search, maybe you're been creaking by just doing
some database-like comparisons, but it's getting really slow to do those searches.

56
00:03:28,415 --> 00:03:30,333
It's just you want to give it lots more features.

57
00:03:30,333 --> 00:03:31,204
Contact us.

58
00:03:31,204 --> 00:03:34,968
We have implemented many Elasticsearch search.

59
00:03:34,968 --> 00:03:37,421
implementations and we can help you with yours as well.

60
00:03:37,421 --> 00:03:40,844
Custom implementations, log management, performance tuning.

61
00:03:40,844 --> 00:03:45,018
You can scale your data search with confidence and expert support.

62
00:03:45,018 --> 00:03:49,392
Learn more at ordersolutions.com slash services slash elastic search.

63
00:03:49,392 --> 00:03:56,319
And if you would like to get your product or service in front of our wonderful BoxLang and
CFML audience, reach out to us on our website.

64
00:03:56,319 --> 00:03:59,723
We'd love to have you sponsoring an episode of the podcast.

65
00:03:59,723 --> 00:04:01,774
Let's jump into our BoxLang corner.

66
00:04:01,774 --> 00:04:03,235
We have a BoxLang release.

67
00:04:03,235 --> 00:04:05,796
Version 1.2.0 has been released.

68
00:04:05,796 --> 00:04:12,390
And I would say that this is probably an 80 % bug fix and improvements update.

69
00:04:12,390 --> 00:04:14,902
There's also a few new features you might be interested in.

70
00:04:14,902 --> 00:04:19,766
The biggest one I thought was interesting was enhanced Java integration with Maven.

71
00:04:19,766 --> 00:04:30,422
Maven's not something that we reach for a lot in the CFML community, and that is probably
gonna change here with BoxLang, where you add in Maven with a pom.xml you put in your

72
00:04:30,422 --> 00:04:34,186
dependencies, and those dependencies will be available inside BoxLang.

73
00:04:34,186 --> 00:04:35,637
Nothing extra that you have to do.

74
00:04:35,637 --> 00:04:42,541
You can go ahead and import those classes, create new objects from them, not having to add
it to this.javaSettings or anything like that.

75
00:04:42,541 --> 00:04:46,988
So some great stuff in there to integrate with the wider Java community.

76
00:04:46,988 --> 00:04:48,229
that's just the tip of the iceberg.

77
00:04:48,229 --> 00:04:52,092
Like I said, there's lots of performance improvements, and bug fixes as well.

78
00:04:52,092 --> 00:04:56,825
We'll put the blog release and you can check out all the different tickets that were
closed in.

79
00:04:56,825 --> 00:04:58,390
BoxLang 1.2.0.

80
00:04:58,390 --> 00:05:00,890
and which there is a lot of tickets.

81
00:05:00,890 --> 00:05:05,121
I'm looking at the release notes now and I want to say that there's like 150.

82
00:05:05,121 --> 00:05:08,419
Maybe not that many, maybe 100, but there's quite a bit.

83
00:05:08,419 --> 00:05:12,395
do a quick count on the number of list items in here or something.

84
00:05:12,395 --> 00:05:12,745
don't know.

85
00:05:12,745 --> 00:05:14,258
But yeah, I'm with you.

86
00:05:14,258 --> 00:05:16,019
There's over 50 at least.

87
00:05:16,019 --> 00:05:18,787
Where's your CB Playwright web crawler when we need it?

88
00:05:18,787 --> 00:05:20,618
I mean, that takes time to write.

89
00:05:20,618 --> 00:05:22,088
It's not free.

90
00:05:22,448 --> 00:05:28,770
Could probably put this into AI and just say, count me the number of list items or
something.

91
00:05:30,470 --> 00:05:35,454
I will uh lay claim that one of the bug fixes was mine.

92
00:05:35,454 --> 00:05:37,094
One out of 50 plus.

93
00:05:37,094 --> 00:05:38,309
So I'm part of this.

94
00:05:38,309 --> 00:05:39,675
I'm part of this.

95
00:05:39,675 --> 00:05:41,308
Yep, BL 1488, right?

96
00:05:41,308 --> 00:05:45,454
The very last one on the, the importance.

97
00:05:46,556 --> 00:05:47,447
Nice.

98
00:05:49,969 --> 00:05:53,440
Well, we have a new installment in our BoxLang FAQ this week.

99
00:05:53,440 --> 00:06:01,067
Last time we talked about the pricing model for BoxLang, specifically if it was free or
just a paid product.

100
00:06:01,067 --> 00:06:08,981
The TLDR on that is BoxLang is free as in, well, Daniel said free as in BoxLang, but I
think free as in.

101
00:06:08,981 --> 00:06:11,102
Beer is the one that we want.

102
00:06:11,102 --> 00:06:13,102
It's free free free, you can do whatever you want with it.

103
00:06:13,102 --> 00:06:13,563
Free.

104
00:06:13,563 --> 00:06:14,664
Production, everything.

105
00:06:14,664 --> 00:06:18,696
It also has support plans that we can help you get the most out of it.

106
00:06:18,696 --> 00:06:21,477
We'd love to have your support on it as well, but it's free.

107
00:06:21,477 --> 00:06:27,320
Today we wanna talk about is BoxLang just another CFML engine because you keep talking
about it like it's more.

108
00:06:27,320 --> 00:06:28,791
What's the answer to that, Jacob?

109
00:06:28,791 --> 00:06:30,631
Well, Eric, I'm glad that you asked.

110
00:06:30,631 --> 00:06:31,853
In fact, it is more.

111
00:06:31,853 --> 00:06:39,710
We do have a compatibility layer, which we've talked about endlessly to be able to migrate
CFML applications.

112
00:06:39,710 --> 00:06:48,699
But we also have things that set BoxLang apart and make it its own language, including
things like we've got syntax differences, we've got additional BIFs we've got...

113
00:06:48,699 --> 00:06:57,045
functional member methods, better Java interoperability, and lots of runtime features like
scheduler, modules, async features, all kinds of great stuff.

114
00:06:57,045 --> 00:07:05,674
Some of the most important differences, some of them are, as people have pointed out, to
be kind of cosmetic, like prefixing a tag with bx or something like that.

115
00:07:05,674 --> 00:07:07,380
But they shouldn't be...

116
00:07:07,380 --> 00:07:10,543
They shouldn't think that that's as deep as the changes that we've made go.

117
00:07:10,543 --> 00:07:13,226
There's actually quite a bit more that goes beyond that.

118
00:07:13,226 --> 00:07:18,352
Such as the syntax differences can be as simple as, like I said, BX and class.

119
00:07:18,352 --> 00:07:28,163
But then we have the static BIF access that allows you to get at the actual object of a
BIF without invoking it so that you can pass it around into other functions or things like

120
00:07:28,163 --> 00:07:28,574
that.

121
00:07:28,574 --> 00:07:39,495
We also have functional member methods, which is an interesting shortcut to be able to
invoke member methods on an object without having to create a closure to be able to do

122
00:07:39,495 --> 00:07:39,776
that.

123
00:07:39,776 --> 00:07:42,319
And it looks really slick in practice.

124
00:07:42,319 --> 00:07:46,993
And again, I actually demoed this last time in our webinar, but our Java Interop is
awesome.

125
00:07:46,993 --> 00:07:49,657
And it almost gives you like a hybrid language of

126
00:07:49,657 --> 00:07:55,912
something like CFML plus all of the Java goodness to make something, you know, amazing
BoxLang baby.

127
00:07:55,912 --> 00:08:03,817
And then I can't even talk about all the features, but Luis has been throwing things in
there like crazy with scheduler and modules and all the dynamic stuff.

128
00:08:03,817 --> 00:08:06,139
there's quite a bit that sets us apart from CFML.

129
00:08:06,139 --> 00:08:17,576
Yeah, I noticed today, and we'll get to this in a second, that in Lucee 6, they've
discontinued their Lucee dialect, which was their attempt and hope to make a language out

130
00:08:17,576 --> 00:08:19,701
of Lucee bigger than just CFML.

131
00:08:19,701 --> 00:08:25,045
I was sad to see that because I think we need to be pushing the boundaries and that's what
BoxLang lets us do.

132
00:08:25,045 --> 00:08:28,138
We have our CFML parser.

133
00:08:28,138 --> 00:08:38,470
It understands CFML, but we can leave it and do things that are not CFML because it's
better and it gives us the syntax that we want and the capabilities we want.

134
00:08:38,470 --> 00:08:42,192
So the good news with BoxLang is you get both.

135
00:08:42,192 --> 00:08:46,276
You don't have to choose, but BoxLang definitely isn't just CFML.

136
00:08:46,276 --> 00:08:46,773
Mm-hmm.

137
00:08:46,773 --> 00:08:49,486
All right, let's talk about some community updates now.

138
00:08:49,486 --> 00:08:53,279
Speaking of, I have a link here to the Lucee 6 upgrade guide.

139
00:08:53,279 --> 00:08:55,390
This is the first time I saw it.

140
00:08:55,390 --> 00:09:03,359
It might have been around a while, but given that I have many a client that's still on
Lucee 5.4, I'm sure I will be referencing this quite a bit.

141
00:09:03,359 --> 00:09:10,594
In addition to that, we've got Fixinator 6.1 and Pete's been doing a great job with that
as always.

142
00:09:10,594 --> 00:09:12,125
So you should go and check that out.

143
00:09:12,125 --> 00:09:22,110
You should check it out even if you're not a Fixinator customer, but especially if you're
a Fixinator customer, go and check out the things that are there.

144
00:09:22,110 --> 00:09:27,286
And actually that this has to do specifically with the vulnerability that Adobe has fixed
recently.

145
00:09:27,286 --> 00:09:31,528
having to do with undefined arguments and remote functions.

146
00:09:31,528 --> 00:09:36,922
it looks like he provides his scanning tool through Fixinator and can help you resolve
that in your system really quickly.

147
00:09:36,922 --> 00:09:38,094
So, check it out.

148
00:09:38,094 --> 00:09:40,946
Now, I have to say, vulnerability, I put in air quotes.

149
00:09:40,946 --> 00:09:53,054
uh Like it has to do with being able to scope walk in Adobe or scope shadow, I should say,
where you can kind of fake an argument scope by passing in something called arguments or

150
00:09:53,054 --> 00:09:54,254
variables like that.

151
00:09:54,254 --> 00:09:56,920
It will create a local variables.

152
00:09:56,920 --> 00:09:58,202
I'm not saying this very well.

153
00:09:58,202 --> 00:10:03,036
If you bet you can, in Adobe confusion, you can create a local variable called variables.

154
00:10:03,036 --> 00:10:08,402
And then when your code asks for variables in that function, it gets the local scope, not
the variable scope.

155
00:10:08,402 --> 00:10:12,535
And so you can essentially like override it and then, you know, wreck havoc.

156
00:10:12,535 --> 00:10:16,288
So that's not a thing in Lucee, which is why Lucee hasn't done the patch like this.

157
00:10:16,288 --> 00:10:22,435
And quite honestly, this patch is annoying me because I have to add in this environment
variable everywhere to turn it off.

158
00:10:22,435 --> 00:10:28,341
So my tests run because I think mock box uses this and I like mock box.

159
00:10:28,341 --> 00:10:29,404
So anyway.

160
00:10:29,404 --> 00:10:34,420
But Pete can fixnator can find it for you in case you're like do I use this so?

161
00:10:34,420 --> 00:10:43,778
Anyway, sorry for the rant We have a blog post by James Moberg and first off is this a new
site James you should let us know it's myCFML.com

162
00:10:43,778 --> 00:10:48,052
the article is using ColdFusion and XPDF to extract PDF metadata.

163
00:10:48,052 --> 00:10:53,647
I would name James Moberg the king of using command line tools inside ColdFusion.

164
00:10:53,647 --> 00:10:56,570
If you ever need to do that and you're having problems, he probably could help you.

165
00:10:56,570 --> 00:11:02,959
So this is another command line tool to get you more information about the PDF than you
can just using the built in.

166
00:11:02,959 --> 00:11:07,586
ColdFusion tools, you can get a lot of it with the CF PDF, but this gets you even more
data.

167
00:11:07,586 --> 00:11:12,339
So you can go ahead and check that out on his blog, XPDF and ColdFusion.

168
00:11:12,339 --> 00:11:20,301
In addition to that, we've got another blog post coming from Ben Nadel, which if you're
not familiar with him, there's a new blog post every day.

169
00:11:20,301 --> 00:11:29,472
But specifically we're talking about today's, which has to do with a new feature that's
been added to Adobe to make it easier to add jars into your CFML application.

170
00:11:29,472 --> 00:11:37,956
He's been doing kind of an interesting series on building barcodes using, I have no idea
how to pronounce this, zeezing, zeexing?

171
00:11:37,956 --> 00:11:38,757
Sure.

172
00:11:39,129 --> 00:11:40,710
It's a barcode library.

173
00:11:40,710 --> 00:11:43,501
I think it's from Google and it's distributed via jar.

174
00:11:43,501 --> 00:11:47,572
And so he's doing some interesting experiments with that in Adobe 2025.

175
00:11:47,572 --> 00:11:48,780
So check that out.

176
00:11:48,780 --> 00:11:55,098
Now if you build any sort of cross compatible Module so like for cold box.

177
00:11:55,098 --> 00:11:56,314
It's supposed to run on Lucee.

178
00:11:56,314 --> 00:12:04,256
It's supposed to run on Adobe supposed to run on BoxLang And you wanted to use a Java
library you might have noticed there's no good way to do it a lot of our docs now just say

179
00:12:04,256 --> 00:12:09,594
like you got to copy this into your Java settings because Lucee had a way to create

180
00:12:09,594 --> 00:12:14,745
a Java object by passing in an array of jars is a third argument to create object.

181
00:12:14,745 --> 00:12:18,836
BoxLang uses that and there was no way to do it in Adobe.

182
00:12:18,836 --> 00:12:22,298
Until 2025, Adobe 2025 gives it to us.

183
00:12:22,298 --> 00:12:24,909
It works the same as Lucee in BoxLang.

184
00:12:24,909 --> 00:12:36,651
And once I can drop support for 2021 and 2023 and you know, five years, it sounds so far
away, but like it just makes building these cross compatible modules so much easier.

185
00:12:36,651 --> 00:12:39,824
because it just takes out a step that you right now have to do yourself.

186
00:12:39,824 --> 00:12:41,816
You have to get those jars in the right place.

187
00:12:41,816 --> 00:12:43,038
You got to make sure they're loaded.

188
00:12:43,038 --> 00:12:45,611
Soon we'll be able to just say, no, here's the jar.

189
00:12:45,611 --> 00:12:49,025
I'm putting it in the module, pointing to it in the file system.

190
00:12:49,025 --> 00:12:49,966
You're good to go.

191
00:12:49,966 --> 00:12:51,590
So very excited for that.

192
00:12:51,590 --> 00:12:53,272
All right, let's talk about some events.

193
00:12:53,272 --> 00:13:01,057
CF Camp happened just a couple weeks ago, and the slides and recording for the Ortus
videos are now up on CF Casts.

194
00:13:01,057 --> 00:13:04,228
I think CF Casts and BoxLang Academy, so you can go check that out.

195
00:13:04,228 --> 00:13:07,342
Again, that's just the Ortus videos that we had there.

196
00:13:07,342 --> 00:13:12,007
We will let you know when CF Camp publishes all of their videos and where you can get
ahold of those.

197
00:13:12,007 --> 00:13:15,000
Additionally, we have a couple webinars coming up.

198
00:13:15,000 --> 00:13:19,143
This June, we have Building Dynamic AWS Lambda Applications with Boxlang.

199
00:13:19,143 --> 00:13:21,614
It will be June 18th at 11 a.m.

200
00:13:21,614 --> 00:13:22,405
Central Time.

201
00:13:22,405 --> 00:13:26,549
You can register and we'll put the link in the chat, in the show notes.

202
00:13:26,549 --> 00:13:34,816
That's gonna be led by Luis Majano And in July, we'll be having a webinar with Ray Camden
and more details are coming about that soon.

203
00:13:34,816 --> 00:13:35,106
Cool.

204
00:13:35,106 --> 00:13:36,587
Looking forward to that.

205
00:13:36,587 --> 00:13:45,576
It looks like we're going to be, the Ortus is going to be participating in an announcement
at America Digital Mexico on June 17th.

206
00:13:45,576 --> 00:13:49,920
Looks like it's a conference in Mexico City where we'll be showcasing BoxLang.

207
00:13:49,920 --> 00:13:51,000
So definitely check that out.

208
00:13:51,000 --> 00:13:52,002
That sounds really awesome.

209
00:13:52,002 --> 00:13:56,687
It looks like it's their ninth annual conference there and we're going to be at Booth.

210
00:13:56,687 --> 00:14:01,178
C36 in case you happen to swing by so come say hi.

211
00:14:01,178 --> 00:14:06,298
We also have another conference coming up later this month called Open South Code 2025.

212
00:14:06,298 --> 00:14:07,749
This one's in Spain.

213
00:14:07,749 --> 00:14:09,740
Me and we're taking over all the continents.

214
00:14:09,740 --> 00:14:14,411
That one's going to be from June 20th through the 21st in Málaga, Spain.

215
00:14:14,411 --> 00:14:16,311
And actually we're a gold sponsor of that one.

216
00:14:16,311 --> 00:14:18,262
So that's pretty, pretty awesome.

217
00:14:18,262 --> 00:14:27,637
Finally jumping forward to September, we have Adobe Cold Fusion Summit 2025 certification
available either the day before or after, depending on what you would like.

218
00:14:27,637 --> 00:14:30,170
There is still a speaker application open.

219
00:14:30,170 --> 00:14:32,353
You can submit your topics and you should.

220
00:14:32,353 --> 00:14:34,407
And very looking forward to that event,

221
00:14:34,407 --> 00:14:40,308
Finally, we mentioned this last time, we are coming out soon with our blind ticket for
Into the Box 2026.

222
00:14:40,308 --> 00:14:49,086
What that means is you buy a ticket without knowing what the workshops or speakers are
going to be, and in return, we give it to you at a great discount.

223
00:14:49,086 --> 00:14:53,019
So you put your faith in us that we're gonna run a great event, you get a great discount.

224
00:14:53,019 --> 00:14:53,630
Win-win.

225
00:14:53,630 --> 00:14:54,202
Win-win.

226
00:14:54,202 --> 00:14:59,978
Now we have a question in the chat I wanted to jump back to from Scott Steinbeck with the
new Maven integration.

227
00:14:59,978 --> 00:15:06,932
Asking if the Maven command was a part of command box or part of the BoxLang jar and I
believe the answer is neither.

228
00:15:06,932 --> 00:15:11,728
It's you installing Maven onto your system according to the website documentation.

229
00:15:11,728 --> 00:15:16,434
So the normal Maven command, nothing that we are hooking into or anything.

230
00:15:16,434 --> 00:15:18,748
In fact, when you do a Maven install, it's all

231
00:15:18,748 --> 00:15:20,064
Normal Java Maven.

232
00:15:20,064 --> 00:15:23,456
I feel like we need a blog post explaining this functionality.

233
00:15:23,456 --> 00:15:24,841
This seems very important.

234
00:15:24,841 --> 00:15:26,740
And yes, that and the video.

235
00:15:26,740 --> 00:15:28,137
Luis, make it happen.

236
00:15:28,137 --> 00:15:28,751
Mm-hmm.

237
00:15:28,751 --> 00:15:29,335
All right.

238
00:15:29,335 --> 00:15:30,857
So we have a few minutes left.

239
00:15:30,857 --> 00:15:32,559
Usually at this point we're over time.

240
00:15:32,559 --> 00:15:38,173
And so I have some things in our show notes from Microsoft Build, which was a few weeks
ago.

241
00:15:38,173 --> 00:15:42,013
So it might be old news, but things that I think are fun to talk about.

242
00:15:42,013 --> 00:15:48,112
Did you, see the new copilot features inside GitHub, like the GitHub website?

243
00:15:48,112 --> 00:15:49,141
no, I haven't.

244
00:15:49,141 --> 00:15:49,997
should tell me about that.

245
00:15:49,997 --> 00:15:56,340
So there is now, so CoPilot's been in VS Code for a long time, can do a lot for you.

246
00:15:56,340 --> 00:16:01,622
Now inside of GitHub, you can assign it as a reviewer of your pull request.

247
00:16:01,622 --> 00:16:05,542
And it will pull the code down, and I don't even know what it does.

248
00:16:05,542 --> 00:16:07,813
I'm afraid to try it.

249
00:16:07,813 --> 00:16:11,166
But do a code review, which, okay, interesting.

250
00:16:11,166 --> 00:16:15,418
Having my code reviewed by the robot that usually gets it wrong, but you know, we'll see.

251
00:16:15,418 --> 00:16:28,262
Additionally, and I'm not sure how you like turn this on or you can assign, I believe,
issues, GitHub issues to GitHub Copilot, and it will attempt to fix it, make a pull

252
00:16:28,262 --> 00:16:31,214
request, and open that pull request back up.

253
00:16:31,214 --> 00:16:36,389
So like assigning a ticket to an AI bot, which is kind of boggling my mind.

254
00:16:36,389 --> 00:16:39,772
I kind of want to try it, but again, don't know if I trust it.

255
00:16:39,772 --> 00:16:41,024
I guess that's what tests are for.

256
00:16:41,024 --> 00:16:47,869
But yeah, that was the biggest one for me, not being like a Microsoft guy where I was
like, this is interesting.

257
00:16:47,869 --> 00:16:55,970
How do you feel about throwing some GitHub issue at GitHub Copilot and having it go off
and fix it and open the pull request for you?

258
00:16:55,970 --> 00:16:58,574
If you'd asked me a few weeks ago, I would have said not good.

259
00:16:58,574 --> 00:17:06,074
But actually I've been playing around with some of the AI stuff as well and especially
with Copilot and Claude 4, that's an amazing combo.

260
00:17:06,074 --> 00:17:08,248
And I'd be willing to let it take a shot.

261
00:17:08,248 --> 00:17:11,013
So does GitHub Copilot let you use Cloud then?

262
00:17:11,013 --> 00:17:15,530
Cause isn't Microsoft, I thought Microsoft Copilot was the AI engine.

263
00:17:15,530 --> 00:17:16,769
Maybe I have this wrong.

264
00:17:16,769 --> 00:17:22,844
Well, so actually, it's cool that we're bringing this up because this will be maybe some
future announcements in some of our podcasts.

265
00:17:22,844 --> 00:17:33,737
But at least in VS code, when you put your copilot into agent mode, you're able to pick
the specific LLM that you want to use for your work.

266
00:17:33,737 --> 00:17:36,410
And Cloud4 is one of the ones that's accessible to it.

267
00:17:36,410 --> 00:17:46,176
And actually we just got a comment from Ben K that it's not as familiar with CFML, which
is true, but that's why we've been adding in some of the BoxLang AI chat features like the

268
00:17:46,176 --> 00:17:48,118
BoxLang participant and things like that.

269
00:17:48,118 --> 00:17:56,302
We've found some ways in the VS Code documentation to be able to give it the information
it needs to be able to interact with our ecosystem even without even having been trained a

270
00:17:56,302 --> 00:17:57,144
couple of years ago.

271
00:17:57,144 --> 00:17:58,495
So look forward to that in the future.

272
00:17:58,495 --> 00:17:59,686
That's going to be pretty exciting.

273
00:17:59,686 --> 00:18:06,983
Well, maybe after this podcast, there's been a couple of, quick issues that have been out
there that I'm like, I wish I could, I had the time to dig into this.

274
00:18:06,983 --> 00:18:11,812
Maybe we'll, we'll throw a co-pilot at it, see how much of a mess it makes.

275
00:18:11,812 --> 00:18:23,203
don't let me see if there was anything else interesting at Microsoft build, the WSL, the.

276
00:18:23,203 --> 00:18:27,488
Windows Subsystem for Linux is now open source, which, sure, cool.

277
00:18:27,488 --> 00:18:28,950
And they made their own Vim.

278
00:18:28,950 --> 00:18:30,034
I don't know if you saw this.

279
00:18:30,034 --> 00:18:33,168
I kind of laugh, again, based off the WSL news.

280
00:18:33,168 --> 00:18:41,583
Microsoft is just very much like, no, DOS, or whatever you call them now, command line,
PowerShell, is like full throttle.

281
00:18:41,583 --> 00:18:46,218
They will not let it die or they will not accept to just, we should just do Unix tools.

282
00:18:46,218 --> 00:18:51,906
ah But yeah, now you can do, it's called Microsoft Edit and it's, Vim is the wrong word,
it's more Emacs.

283
00:18:51,906 --> 00:18:53,127
Emacs for PowerShell.

284
00:18:53,127 --> 00:18:57,073
So if that's been your dream for these many years, congratulations.

285
00:18:57,073 --> 00:19:02,869
You can go download Edit on Windows, which is not the best name, but it is what it is.

286
00:19:03,268 --> 00:19:05,251
Yep, well notepad was already taken,

287
00:19:05,251 --> 00:19:07,913
And notepad++, which is still one of my favorite names.

288
00:19:07,913 --> 00:19:13,407
In fact, hopefully everybody has noticed that we took inspiration from that for the
BoxLang subscriptions.

289
00:19:13,407 --> 00:19:18,521
They were talking about BoxLang +, and there were other names floated, but it had to be++.

290
00:19:18,521 --> 00:19:19,381
BoxLang++.

291
00:19:19,381 --> 00:19:24,023
So I guess we could have gone the Apple naming route, right?

292
00:19:24,023 --> 00:19:28,066
We could have done, let's see, it's Pro, Max, and Ultra in that order.

293
00:19:28,066 --> 00:19:30,451
because Ultra is bigger than Max, somehow?

294
00:19:30,451 --> 00:19:31,683
Anyways, awesome.

295
00:19:31,683 --> 00:19:37,468
Well, let's wrap up and thank all of you for listening and especially thank all of our
Patreon sponsors.

296
00:19:37,468 --> 00:19:43,444
These are individuals and companies that personally support our open source initiatives,
including this podcast.

297
00:19:43,444 --> 00:19:50,039
Their contributions also fund the cloud infrastructure that this community relies on like
Forgebox for our package management.

298
00:19:50,039 --> 00:19:54,713
You can support us on patreon.com slash Ortus Solutions.

299
00:19:54,713 --> 00:19:59,467
If you're at a bronze level and up, Forgebox Pro and CFCast subscriptions are yours.

300
00:19:59,467 --> 00:20:04,842
And come join us on our website and some exclusive places for our Patreon supporters.

301
00:20:04,842 --> 00:20:07,563
We have, I believe, 61 Patreons right now.

302
00:20:07,563 --> 00:20:13,839
You can always see an up-to-date list at ordersolutions.com slash about dash us slash
sponsors.

303
00:20:13,839 --> 00:20:18,368
Thanks everyone for coming on this show today with us and we'll catch you in two weeks.

304
00:20:18,368 --> 00:20:19,346
All right, thank you all.