1
00:00:01,000 --> 00:00:04,759
How'd you like to listen to dot
net rocks with no ads? Easy?

2
00:00:05,320 --> 00:00:09,400
Become a patron for just five dollars
a month. You get access to a

3
00:00:09,480 --> 00:00:14,240
private RSS feed where all the shows
have no ads. Twenty dollars a month,

4
00:00:14,240 --> 00:00:18,399
we'll get you that and a special
dot net Rocks patron mug. Sign

5
00:00:18,480 --> 00:00:23,440
up now at Patreon dot dot net
rocks dot com. Hey Carlin Richard.

6
00:00:23,480 --> 00:00:28,000
Here. As you may have heard, NDC is back offering their incredible in

7
00:00:28,120 --> 00:00:34,320
person conferences around the world. NDC
Copenhagen is happening August twenty seventh through the

8
00:00:34,399 --> 00:00:40,600
thirty first. Go to NDC Copenhagen
dot com for more information. DC Porto

9
00:00:40,719 --> 00:00:45,359
is happening October sixteenth through the twentieth. Go to Dcporto dot com to register

10
00:00:45,759 --> 00:00:50,880
and check out the full lineup of
conferences at NDC Conferences dot com. Hey

11
00:00:50,880 --> 00:00:55,520
there, this is Jeff Fritz,
the purple Blazer guy from Microsoft, letting

12
00:00:55,520 --> 00:00:59,560
you in on a little secret about
my friend Carl Franklin. You know,

13
00:00:59,799 --> 00:01:03,280
the guy who started dot net Rocks, the first podcast about dot net in

14
00:01:03,319 --> 00:01:08,000
two thousand and two, The guy
who's been teaching blazer on YouTube since twenty

15
00:01:08,079 --> 00:01:14,359
twenty. Yeah, that Carl Franklin. Well, Carl's joined up with the

16
00:01:14,359 --> 00:01:19,359
folks from CODE in a Castle to
teach a week long hands on Blazer class

17
00:01:19,400 --> 00:01:25,560
at Are you ready to get this? At a castle slash villa in Tuscany.

18
00:01:25,640 --> 00:01:30,879
It's sort of a luxury vacation with
Blazer learning built in. Carl's calling

19
00:01:30,920 --> 00:01:37,280
it the Blazer master Class. You'll
learn Blazer from the ground up, finishing

20
00:01:37,280 --> 00:01:42,799
the week with the ability to build
and deploy Blazer applications. Since the training

21
00:01:42,840 --> 00:01:46,719
happens for only four hours in the
morning over six days, you can bring

22
00:01:46,760 --> 00:01:52,159
your significant other, your partner with
you and you should right This part of

23
00:01:52,200 --> 00:01:57,079
Italy is absolutely beautiful. There's so
much to see and do, and and

24
00:01:57,280 --> 00:02:01,200
Larry and Marco from Code in a
Castle or organizing daily activities both at the

25
00:02:01,239 --> 00:02:06,640
castle and in the area. The
castle is in the Marema, a less

26
00:02:06,640 --> 00:02:12,520
touristed region of Tuscany, offering both
classic Tuscan hill country as well as easy

27
00:02:12,599 --> 00:02:17,400
access to the Etruscan Riviera, with
sublime local food, wine and olive oil

28
00:02:17,560 --> 00:02:23,319
around every corner. Breakfast is included
every day. There will be two communal

29
00:02:23,360 --> 00:02:27,680
dinners at the castle, book ending
the experience, and most other meals and

30
00:02:27,879 --> 00:02:32,039
all activities are included. And did
I mention you'll learn Blazer in person from

31
00:02:32,120 --> 00:02:38,039
Carl Franklin. Listen, space is
limited and for very good reason. This

32
00:02:38,120 --> 00:02:44,080
is quality training in a beautiful setting. Go to code in Acastle dot com

33
00:02:44,120 --> 00:02:51,560
slash Blazer twenty twenty three that's bla
z O R two zero two three to

34
00:02:51,599 --> 00:02:57,240
take advantage of this amazing opportunity to
join Carl in Tuscany for an unforgettable week

35
00:02:57,560 --> 00:03:13,840
of La dolce vita while advancing your
programming skills in this important new technology.

36
00:03:15,560 --> 00:03:20,599
Hey guess what it's time for dot
net Rocks again. This is Carl Franklin

37
00:03:20,879 --> 00:03:27,199
and this is Richard Campbell again again. No, not more dot net Rocks

38
00:03:28,599 --> 00:03:30,719
Show eighteen fifteen nine. Can you
believe it? Yeah, I guess we've

39
00:03:30,719 --> 00:03:35,400
got to make a plan for nineteen
hundred. Yeah, well you're you're doing

40
00:03:35,680 --> 00:03:38,520
show nine hundred of run As Radio
soon. Yeah. Run As nine hundred

41
00:03:38,599 --> 00:03:43,319
is the first week of October,
so wow, and uh yeah, I've

42
00:03:43,360 --> 00:03:46,199
got to I think we're just gonna
be a little silly, But that's fine.

43
00:03:46,240 --> 00:03:49,159
Half hour silly, never heard anybody? Yeah, yeah, you guys

44
00:03:49,159 --> 00:03:51,960
are doing a good good thing over
there. It's going great. Yeah,

45
00:03:52,000 --> 00:03:54,599
well, you know Gary, you
and Park is here and we're gonna be

46
00:03:54,599 --> 00:03:59,919
talking chocolated of course. And so
I found something. The timing was perfect

47
00:04:00,039 --> 00:04:01,960
on this because I just learned about
it a couple of weeks ago. Roll

48
00:04:02,000 --> 00:04:13,680
the crazy music for Better No Framework
awesome, all right man? When he

49
00:04:13,759 --> 00:04:17,720
got our friends Simon Kropp from down
on that yea, yeah, he wrote

50
00:04:17,759 --> 00:04:23,600
this great little tool called wind d
bloat. Oh my goodness, okay,

51
00:04:23,600 --> 00:04:29,879
a dot net tool that removes the
bloat in Windows eleven. This seems awesome

52
00:04:29,920 --> 00:04:32,240
and scary at the same time.
Oh, it's so cool. You've used

53
00:04:32,240 --> 00:04:36,000
it, it's so cool. Yeah. Yeah, And you can include or

54
00:04:36,120 --> 00:04:42,959
exclude things. But there's like a
whole bunch of bloatware that's that's in there.

55
00:04:43,000 --> 00:04:46,439
If you don't specify what to exclude, there's just a whole bunch of

56
00:04:46,439 --> 00:04:51,480
stuff, you know, Xbox game
bar game, Xbox game speech window.

57
00:04:51,680 --> 00:04:56,560
Do you ever use that in Windows? No? Yeah, all these widgets

58
00:04:56,639 --> 00:05:00,160
and whiteboard you know what. I
have been using his clip champ. Clip

59
00:05:00,240 --> 00:05:02,839
chat is pretty cool. Yeah,
that is cool. But Quartana can die,

60
00:05:03,360 --> 00:05:06,800
that's fine. Yeah, but you
can you can tell which ones you

61
00:05:06,800 --> 00:05:11,519
want to exclude, So, like
you nice, you take the big thing,

62
00:05:11,600 --> 00:05:14,920
like Skype was on the list,
and I actually use Skype to communicate

63
00:05:14,920 --> 00:05:17,000
with some guys. You know,
still got a few folks left in the

64
00:05:17,040 --> 00:05:20,480
Skype world. Huh yeah, but
you can. He just added that feature.

65
00:05:20,600 --> 00:05:24,920
Okay, exclude Skype. That's cool, It's very cool. So yeah,

66
00:05:25,000 --> 00:05:28,439
I have a couple of machines around
the house that I need to deep

67
00:05:28,439 --> 00:05:31,439
bloat. So this is all stuff
to add to your chocolate script size is

68
00:05:31,480 --> 00:05:35,279
back. Yeah. It's kind of
like the anti chocolatey right chocolate. It

69
00:05:35,319 --> 00:05:39,600
puts us in deep blow takes it
out. Okay, yeah, that's you

70
00:05:39,680 --> 00:05:44,079
can do both at the same time. I think that's that's called progress.

71
00:05:44,079 --> 00:05:48,800
So anyway, exclude teams, how
tempting, How tempting. I can't.

72
00:05:49,040 --> 00:05:54,319
I'm afraid I'm moving into teams more
and more and more. Well, you

73
00:05:54,319 --> 00:05:57,399
know, we're finally cutting off the
old pots lines that we use through the

74
00:05:57,439 --> 00:06:00,279
telas for dot net rocks, you
know, back when that was a thing.

75
00:06:00,439 --> 00:06:02,519
Oh yeah, I remember, sure, And so I've been lifting the

76
00:06:02,519 --> 00:06:06,560
phone numbers, putting them through a
service called voipe ms, and then forwarded

77
00:06:06,639 --> 00:06:11,800
him onto teams calling, So now
my phone's actually ring on teams. The

78
00:06:12,439 --> 00:06:16,399
main upside being you get to use
a team's office phone like a CCX six

79
00:06:16,480 --> 00:06:21,319
hundred, which is very cool device. Yeah. I was watching a baseball

80
00:06:21,360 --> 00:06:26,920
game yesterday. The Red Sox are
playing Kansas City, and I just forgot.

81
00:06:26,959 --> 00:06:30,240
Like in the dugout, the guy
picks a phone off the wall right

82
00:06:30,360 --> 00:06:32,920
with a little coily cord and holds
it to his I'm like, why is

83
00:06:32,920 --> 00:06:39,839
he doing what? Thing? It's
not a thing? A thing? That's

84
00:06:39,920 --> 00:06:41,959
enough of that. That's what I
got. Who's talking to us? Richard

85
00:06:42,279 --> 00:06:46,360
grabbed a comment off of show sixteen
eighty seven. That's a show we did

86
00:06:46,399 --> 00:06:48,519
with one Rob Reynolds. Maybe you've
heard of him about this product called chocolate.

87
00:06:48,639 --> 00:06:51,720
Nobody talks about this, but you
know, all the way back in

88
00:06:51,800 --> 00:06:55,199
twenty twenty, we should run of
the reasons, I asked Gary back because

89
00:06:55,240 --> 00:06:58,759
it's been a while since we've talked
about this and picking a comment comes from

90
00:06:58,800 --> 00:07:02,600
Ga Prague Man presuming the Ga is
like Georgia. But he says, and

91
00:07:02,800 --> 00:07:06,360
he's referencing something in the show is
a sixteen eighty seven so a little while

92
00:07:06,360 --> 00:07:10,839
ago where he says it seems silly
to say, but I'd recommend caution with

93
00:07:10,959 --> 00:07:15,759
clipboard History or any other these clipboard
tools. If you copy secrets like API

94
00:07:15,839 --> 00:07:20,279
keys and stuff, they'll sit in
the history. Obviously true, just as

95
00:07:20,319 --> 00:07:25,160
handy as history is. Nothing is
free. But with regards to chocolate.

96
00:07:25,160 --> 00:07:29,480
As someone who spends a little more
time with Linux equal systems, I've always

97
00:07:29,480 --> 00:07:31,720
been confused as to why Windows doesn't
have a package manager built into it.

98
00:07:32,360 --> 00:07:34,800
It's true, I mean his wind
get now, but we'll talk to Gary

99
00:07:34,839 --> 00:07:38,720
about that later. I love using
chocolate on new machines to get them up

100
00:07:38,720 --> 00:07:41,519
and running very quickly, to the
point where I've created the dot Net Global

101
00:07:41,560 --> 00:07:44,720
tool, which I run on a
fresh install of Windows, which, among

102
00:07:44,759 --> 00:07:48,040
other things like setting up group policies
such leaves chocolate to install with the dash

103
00:07:48,199 --> 00:07:51,920
y argument the majority of my required
applications. But I'm going to have to

104
00:07:51,959 --> 00:07:56,399
look into the chocolate for business,
as I tend to reinstall Windows on a

105
00:07:56,439 --> 00:08:01,160
regular basis. Wanted to remove x
client IP from my machine when the contracts

106
00:08:01,240 --> 00:08:07,079
end. This is a cool idea
that you can say to your your customer

107
00:08:07,120 --> 00:08:09,040
as they are going out of the
door. It's like I wiped my machine.

108
00:08:09,920 --> 00:08:11,839
Yeah, I'm not that. I
just don't installed your stuff. I

109
00:08:11,879 --> 00:08:15,199
wipe my machine because I can rebuild
it so quickly. Yep. I've been

110
00:08:15,199 --> 00:08:18,600
tempted to deliverage chocolate in the debops
pipeline in the past. But if it

111
00:08:18,639 --> 00:08:20,959
concerned about app versions and the chocolate, he has support for version numbers,

112
00:08:22,000 --> 00:08:24,519
like install this version of a package. I now easy it is for developers

113
00:08:24,560 --> 00:08:30,120
to install NPM packages and not bother
to lock them down to specific versions.

114
00:08:30,160 --> 00:08:33,639
And I'm reluctant to simply hand that
level of power over to the devs that

115
00:08:33,679 --> 00:08:37,200
I was working with. Then again, I have a chocolate package list with

116
00:08:37,279 --> 00:08:41,840
version numbers checked into source control.
Look at this guy and using that list

117
00:08:41,840 --> 00:08:46,159
when provisioning new devices that would deal
with that. Either way, there's lots

118
00:08:46,159 --> 00:08:48,600
to think about. Yes, there
is. I don't know, Gary,

119
00:08:48,639 --> 00:08:54,440
that sounds like one heck of a
customer for you, Gaprogman, Thanks so

120
00:08:54,519 --> 00:08:56,799
much for your comment in A copy
of music co Buy is on its way

121
00:08:56,840 --> 00:08:58,879
to you, And if you'd like
a copy of music co Buy, write

122
00:08:58,879 --> 00:09:01,480
a comment on the website dot net
rocks dot com or on the facebooks.

123
00:09:01,480 --> 00:09:03,840
We publish every show there and if
you comment there and everything the show.

124
00:09:03,960 --> 00:09:07,879
We'll send you copy music copy and
you can follow us on Twitter if you

125
00:09:07,879 --> 00:09:11,679
want to. But the real fun
is happening over on Mastodon. I'm at

126
00:09:11,759 --> 00:09:16,240
Carl Franklin at tech hub dot social, and I'm rich Campbell at mastodon don

127
00:09:16,320 --> 00:09:22,200
social. Send us a toute Rudy
too, tutti tutti route to you.

128
00:09:22,279 --> 00:09:26,559
Did hear Gary Park there for a
minute chiming in. I know he was

129
00:09:26,679 --> 00:09:30,720
laughing in the background there, but
just to introduce him quickly, he works

130
00:09:30,799 --> 00:09:35,120
full time on Chocolatey, the package
manager for Windows. If you haven't figured

131
00:09:35,159 --> 00:09:37,639
that out by now, Welcome back, Gary, Thank you very much,

132
00:09:37,679 --> 00:09:41,559
Thank you for having me. Yes, I think it was Alan Stevens that

133
00:09:43,080 --> 00:09:46,320
introduced us to Chocolatey first, wasn't
it Richard back in the day. Yeah,

134
00:09:46,600 --> 00:09:50,480
I know, you're you're right,
Yeah. And then it's one of

135
00:09:50,519 --> 00:09:54,360
those things you just regulately revisit every
so often, if not often enough.

136
00:09:54,240 --> 00:09:58,799
I mean, what does the impact
of wind get in the chocolatey world?

137
00:09:58,080 --> 00:10:03,720
Because in theory, might it's a
sort of addressing this. It's it's an

138
00:10:03,759 --> 00:10:05,879
interesting question, I mean, and
it's it could be a whole topic in

139
00:10:05,960 --> 00:10:09,960
and of itself. And anyone's interested
in kind of where we where we chocolate

140
00:10:09,960 --> 00:10:16,440
you sit. My colleague Paul broad
with rufically did a talk comparing like for

141
00:10:16,600 --> 00:10:22,080
like chocolate E to wind Get at
ps comf EU in Prague I think last

142
00:10:22,159 --> 00:10:28,519
month month before, so Demitrius was
in the room. Paul was talking away

143
00:10:28,559 --> 00:10:33,080
to Hims, being the main developer
on wind Get. So he'd said himself

144
00:10:33,120 --> 00:10:35,600
it was a kind of fair and
honest review in terms of what chocolate is,

145
00:10:35,720 --> 00:10:37,440
what wind Get is, why you
would use one and why you use

146
00:10:37,480 --> 00:10:41,240
the other. So if anyone's interested
in that, I'll not repeat everything that

147
00:10:41,279 --> 00:10:45,879
Paul said, but there was lots
of ins and outs why you want to

148
00:10:45,960 --> 00:10:48,480
use one, why you would want
to use the other. The upshot was

149
00:10:48,799 --> 00:10:52,039
use what makes sense for you?
I mean, would we want everyone to

150
00:10:52,120 --> 00:10:56,759
use chocolate? Sure it does,
everyone want to use chocolate? No?

151
00:10:56,799 --> 00:11:01,000
Use what? Use what makes sense
for you. It's fairly new, isn't

152
00:11:01,039 --> 00:11:03,480
it. It's recently new. It's
it's it's been around for I think just

153
00:11:03,639 --> 00:11:07,600
over two years now, I think. Yeah, So it's had it's even

154
00:11:07,639 --> 00:11:09,320
preview for a little bit, and
then you had to enable it to have

155
00:11:09,480 --> 00:11:15,480
it installed on your system. Now
it comes pretty much baked in. That's

156
00:11:15,480 --> 00:11:16,840
one of the big selling points.
If you like a wind Get compared to

157
00:11:16,960 --> 00:11:22,799
chocolate, it's it's baked in,
whereas chocolate is a separate installation. Now

158
00:11:22,919 --> 00:11:28,720
the packages that you install with chocolate
are specifically for chocolate, like wind get

159
00:11:28,840 --> 00:11:33,440
can install them and vice versa.
So there's a there's a little bit of

160
00:11:33,440 --> 00:11:37,840
a gray area there so to put
it in contact. So so chocolate is

161
00:11:37,960 --> 00:11:39,840
a the package manager and it needs
what I grew for hard to as an

162
00:11:39,919 --> 00:11:43,360
up keg. Some people call that
a new package. It's an up keg.

163
00:11:43,559 --> 00:11:48,080
It's it's a fancy ZIP file that
contains the instructions on what you're actually

164
00:11:48,159 --> 00:11:52,919
installing. Wind Get is driven by
a set of manifest that are hosted on

165
00:11:52,960 --> 00:11:56,600
a GitHub repository. So there's there's
not actually a package as such. It's

166
00:11:56,600 --> 00:12:01,159
more of a manifest as this is
what you're going to do. So it's

167
00:12:01,200 --> 00:12:03,559
like difference there in terms of functionally
how it works. The reason I said

168
00:12:03,600 --> 00:12:09,720
it was a gray area is there
is the concept of wind get UI,

169
00:12:09,120 --> 00:12:16,480
which is a user interface that can
install packages or applications from wind Get Chocolate,

170
00:12:16,639 --> 00:12:18,799
and I think scoop Scoop being one
of the other package managers Windows has,

171
00:12:20,519 --> 00:12:24,639
so you can in theory have a
kind of centralized interface for doing things

172
00:12:24,679 --> 00:12:30,080
like that. And there is discussions
around whether Chocolate could install wind get packages.

173
00:12:30,200 --> 00:12:35,320
So from Chocolate you could define a
source that is a wind get repository

174
00:12:35,440 --> 00:12:39,799
and be able to install manifests from
there. So there's lots of discussions around

175
00:12:39,879 --> 00:12:45,600
this. There was also the new
deav Box was at dead box is what

176
00:12:45,639 --> 00:12:48,960
it's called, or dead tooling,
where we could integrate with Chocolate within the

177
00:12:48,080 --> 00:12:52,200
new ecosystem that Microsoft creating. So
there's all sorts of ways that you can

178
00:12:52,600 --> 00:12:56,200
have crossover between the two. And
that's why I'm saying when I use what

179
00:12:56,279 --> 00:13:00,120
makes sense for you. Some packages
that Chocolate can install, wind Get the

180
00:13:00,159 --> 00:13:03,720
Minute isn't able to because of the
way that the package is deployed. It

181
00:13:03,799 --> 00:13:07,120
might be a ZIP file you need
to extract and then do some work on

182
00:13:07,200 --> 00:13:11,679
the extracted files. I wouldn't get
manifest at the Minute can't handle that level

183
00:13:11,919 --> 00:13:16,879
of complexity. Where it's a Chocolate
package is at its heart a power shell

184
00:13:16,919 --> 00:13:18,759
script, so you can do anything
that you want or need within the Chocolate

185
00:13:18,799 --> 00:13:22,600
package for getting that application installed,
and we sure remind everybody that the name

186
00:13:22,720 --> 00:13:28,519
chocolatey came out of reaction to new
Get right New Get New Get it did

187
00:13:28,679 --> 00:13:33,360
the plan that well, a long
story there that Rob could tell you all

188
00:13:33,440 --> 00:13:37,799
the details about. But yes,
it came from originally from a joke,

189
00:13:37,919 --> 00:13:41,840
a throwaway comment, and yeah whatever. Ten years later, twelve years later,

190
00:13:41,200 --> 00:13:45,759
chocolate is here and still being used. So it's it's a fun history

191
00:13:45,759 --> 00:13:48,159
of when you go back to it. Yet you know, sometimes jokes get

192
00:13:48,200 --> 00:13:52,639
out of control. Nah, that
wouldn't happen here when we talked to Rob

193
00:13:52,679 --> 00:13:54,559
back in twenty twenty. So admittedly
three years ago, I think Chocolate for

194
00:13:54,600 --> 00:13:58,639
Business was brand new, Like it's
been an open source project all along,

195
00:14:00,200 --> 00:14:03,480
but you had you had an opportunity
to make a commercial component because folks wanted

196
00:14:03,559 --> 00:14:07,519
to pay you and get a certain
level of service and that kind of thing.

197
00:14:07,559 --> 00:14:09,039
Can you sort of get us up
to speed because it's been three years,

198
00:14:09,080 --> 00:14:11,559
I'm sure stuff is different. Yeah, So just a little bit history.

199
00:14:11,679 --> 00:14:13,799
So, as you said, chocolate
is an open source project has been

200
00:14:13,840 --> 00:14:18,240
around for since twenty eleven, and
then it's grown from there. And then

201
00:14:18,440 --> 00:14:22,399
what Rob did is he kind of
looked at the landscape software things were.

202
00:14:22,559 --> 00:14:26,360
He was working at Puppet at the
time. He saw that there was a

203
00:14:26,480 --> 00:14:30,919
market for as you say, support
as well as additional functionality. So what

204
00:14:31,000 --> 00:14:35,159
he did was he created a Kickstarter
and went to see is there are enough

205
00:14:35,240 --> 00:14:39,879
interest in this thing that is Chocolately. The kickstarter was successful. Off the

206
00:14:39,960 --> 00:14:43,919
back of that, Chocolate Software Inc. Came about, and then based on

207
00:14:43,000 --> 00:14:46,720
discussions that Rob and I had while
I was an open source contributor to Chocolately,

208
00:14:48,720 --> 00:14:52,399
I ended up starting working with him
full time, and then since then

209
00:14:52,600 --> 00:14:58,320
the team's grown and what we've been
able to do is establish a business features

210
00:14:58,399 --> 00:15:01,679
on top of the open source functionality
that we provide. So we have what

211
00:15:01,759 --> 00:15:07,600
we refer to as the Chocolate License
extension, so that's it's a chocolate package,

212
00:15:07,600 --> 00:15:11,559
you install it as a chocolate package, and then that opens up other

213
00:15:11,679 --> 00:15:16,799
businesslike functionality that you might want,
whether it's automatically creating packages using package Builder,

214
00:15:18,120 --> 00:15:22,120
whether it's using a central deployment mechanism
for packages across all the machines in

215
00:15:22,120 --> 00:15:26,720
your environment using Chocolate Central Management.
All of those become available once you start

216
00:15:28,120 --> 00:15:31,480
one of the business skews, if
you like. Within Chocolate I guess that's

217
00:15:31,519 --> 00:15:35,440
the benefit of being chocolate. When
it comes to developing new versions and products,

218
00:15:35,519 --> 00:15:39,519
you can just install that stuff the
way you saw everything with chocolate exactly.

219
00:15:39,519 --> 00:15:43,240
I mean, chocolate yourself is a
chocolate package. Now there is a

220
00:15:43,279 --> 00:15:46,039
little bit of a chicken in an
egg situation there, because the initial deployment

221
00:15:46,440 --> 00:15:50,559
is a chocolate package, but you
haven't quite got chocolate yet, So there's

222
00:15:50,559 --> 00:15:54,200
a little bit of hand holding with
manually extracting as it filed to get it

223
00:15:54,240 --> 00:15:58,039
installed when you first install it.
But yeah, there's definitely an inception moment

224
00:15:58,080 --> 00:16:02,840
when I'm using chocolate. You do
in Charles install chocolates right, like suddenly

225
00:16:03,279 --> 00:16:07,000
Leo DiCaprio appears and everything gets really
slow. But one of the common asks

226
00:16:07,279 --> 00:16:11,360
kind of related to that. One
of the common asks we've had is why

227
00:16:11,440 --> 00:16:14,440
is there not an MSI for chocolate? Why can't install chocolate of yet via

228
00:16:14,519 --> 00:16:18,080
an MSI. The original answer to
that was, well, it's a chocolate

229
00:16:18,200 --> 00:16:21,960
package, why would you want to
install it with ms with an MSI.

230
00:16:22,480 --> 00:16:25,200
Yeah, but recently we have actually
created that now, so there is an

231
00:16:25,240 --> 00:16:27,600
MSI for chocolate, and that's what
you can actually do if you want to

232
00:16:27,679 --> 00:16:33,399
do wind get install chocolate and that
will put chocolate on your system using wind

233
00:16:33,480 --> 00:16:36,360
get as the mechanism to deploy it. And that's what I kind of funny.

234
00:16:37,519 --> 00:16:40,440
And the reciprocal of that is if
you need to, you can do

235
00:16:40,559 --> 00:16:45,080
chocolate install wind get. It works
both ways. So all right, so

236
00:16:45,200 --> 00:16:52,279
you are in your full inception moment
there. It's beautiful. Really, yeah,

237
00:16:53,440 --> 00:16:56,519
So we do have three years of
catching nev to do. I imagine

238
00:16:56,919 --> 00:17:02,519
how though it seems simple, like
it's just it's stall, Why do you

239
00:17:02,600 --> 00:17:07,359
need to work on this so much? So the core part of the last

240
00:17:07,720 --> 00:17:12,000
few years has been about ramping up
the team, getting the team up to

241
00:17:12,039 --> 00:17:19,000
speed, as well as building into
our infrastructure much more testing, much more

242
00:17:21,319 --> 00:17:23,200
verification that everything's working the way we
expected to, and on top of that,

243
00:17:23,279 --> 00:17:26,960
also doing development work on top of
it. So one of the biggest

244
00:17:26,960 --> 00:17:32,000
pieces of work that we've been undertaking
lately is an upgrade. I hope you're

245
00:17:32,000 --> 00:17:36,559
sitting down from this, but it's
an upgrade from dot net four to dot

246
00:17:36,640 --> 00:17:41,200
net four point eight. Who yeah, so for the longest time. So

247
00:17:41,519 --> 00:17:45,640
chocolate chocolate one of the one of
the driving forces behind chocolate, or the

248
00:17:45,680 --> 00:17:53,000
one of the driving things that Chocolate
is all about is backwards compatibility and always

249
00:17:53,039 --> 00:17:56,920
working the way that people expected to
work. Right. So, Chocolate up

250
00:17:56,960 --> 00:18:03,319
to an including version two point which
we've recently just released, required as a

251
00:18:03,359 --> 00:18:07,720
minimum dot Net framework four point zero
because we wanted to ensure compatibility all the

252
00:18:07,759 --> 00:18:14,480
way back to the earlier operating systems
that folks were still using Point having shipped

253
00:18:14,519 --> 00:18:18,279
in twenty ten. Yeah, yeah, yeah, it's I mean, it's

254
00:18:18,279 --> 00:18:22,759
a long tail. But with the
idea was that we wanted the bare minimum

255
00:18:22,920 --> 00:18:27,039
of footprint that was required to install
Chocolate to then allow provisioning of the applications

256
00:18:27,079 --> 00:18:30,039
that you want on that machine.
Sure, so you three five one folks

257
00:18:30,160 --> 00:18:36,240
have got to upgrade, now do
you have too? Yes? So that

258
00:18:36,839 --> 00:18:40,200
undertaking it was not an easy one, Let's put it that way. There

259
00:18:40,319 --> 00:18:45,640
was lots of dependencies. There was
lots of changes that also involved an uplift

260
00:18:45,720 --> 00:18:48,480
to Carl kind of mentioned it earlier
in terms of new get. Chocolate itself

261
00:18:48,680 --> 00:18:53,519
has a dependency on the new get
client libraries. So part of the uplift

262
00:18:53,920 --> 00:18:57,559
from one point zero to two point
zero was, well, we're finished with

263
00:18:57,640 --> 00:19:00,799
that version of new get client.
Is that I don't want to say how

264
00:19:00,799 --> 00:19:04,039
old it was. It was quite
old. But we have upgraded to the

265
00:19:06,720 --> 00:19:08,079
one of the most recent versions of
the new Get client libelies, and with

266
00:19:08,279 --> 00:19:14,720
that that's brought additional functionality that the
new Get team have created and made available

267
00:19:14,720 --> 00:19:18,079
for new Get dot ex. So
we've now got support for semantic version v

268
00:19:18,240 --> 00:19:23,000
two version numbers, we've got support
for other things that we wouldn't have had

269
00:19:23,240 --> 00:19:26,960
before doing that uplift. And then
more importantly, we've uplifted everything to dot

270
00:19:27,000 --> 00:19:30,759
Net Framework four point eight. So
now it was a base you need four

271
00:19:30,799 --> 00:19:34,400
point eight installed in order to use
chocolately now, but it's the time has

272
00:19:34,440 --> 00:19:38,200
come, all right, because refresh
my memory, guys, because it's been

273
00:19:38,240 --> 00:19:41,240
a while since. Here's the dot
Net framework for Windows. You know,

274
00:19:41,359 --> 00:19:45,119
the dot net framework, but there
was a version. You know, they're

275
00:19:45,160 --> 00:19:51,319
trying to keep side by side compatibility
the whole time, whereas you know,

276
00:19:51,440 --> 00:19:55,559
you could have multiple versions of the
dot net framework all installed in whatever programs

277
00:19:55,640 --> 00:19:59,680
using it. But there was one
that replaced another, right was it?

278
00:20:00,079 --> 00:20:03,680
Or that replaced three five one or
yeah, I was thinking about exactly that.

279
00:20:03,000 --> 00:20:07,400
It's like, when do we start
getting side by side execution? It

280
00:20:07,519 --> 00:20:10,480
was it not four to four point
five. I don't, I don't recall.

281
00:20:10,680 --> 00:20:12,839
I think you're right. I was
just thinking when the challenges of getting

282
00:20:12,880 --> 00:20:17,680
off of four is that it didn't
allow side by side execution. That actually

283
00:20:17,799 --> 00:20:21,079
came later. Yeah, it was
a replacement. Yeah, you always had

284
00:20:21,119 --> 00:20:23,559
to replace. And so now you
know, getting up to four point eighties

285
00:20:23,599 --> 00:20:26,759
like you can do side by side
execution. It's not that big of a

286
00:20:26,839 --> 00:20:29,519
deal. I thought you could always
do side by side with a dot net

287
00:20:29,559 --> 00:20:33,440
framework, except for that one version
that had to replace the existing one because

288
00:20:33,480 --> 00:20:40,279
of some dependency reason. It might
have been one point one. But yeah,

289
00:20:40,279 --> 00:20:41,799
I mean it's always been sort of
side by side execution, but they

290
00:20:41,839 --> 00:20:48,799
were it was harder or easier,
like you know, they're they you know,

291
00:20:48,880 --> 00:20:52,039
people fought pretty hard to run like
three, five and four side by

292
00:20:52,079 --> 00:20:55,359
side. I'm so used to CORA
now that I don't even remember. It's

293
00:20:55,359 --> 00:20:57,920
not something you think about it anymore
and haven't for a while. Well,

294
00:20:59,079 --> 00:21:03,160
one of the interesting things that happened
recently I was at NDC Oslo and Isaac

295
00:21:03,240 --> 00:21:06,160
Levin was doing a talk on all
the new things that are in dot neet

296
00:21:06,200 --> 00:21:07,200
core and why you want to use
it. It was a great talk,

297
00:21:07,359 --> 00:21:11,160
but one of the things that he
did during it was one of these put

298
00:21:11,200 --> 00:21:14,559
your hands up, who's using dot
net seven? And pretty much everyone in

299
00:21:14,599 --> 00:21:17,880
the room put up the hands dotnet
seven and he gradually went down and down

300
00:21:17,960 --> 00:21:19,880
and down and down. He got
to four point eight, fewer hands,

301
00:21:21,279 --> 00:21:22,839
and then he eventually got down to
four point oer and literally no one else

302
00:21:22,920 --> 00:21:26,279
in the room said that they were
using four point zer and I was like,

303
00:21:26,680 --> 00:21:33,359
yep, I'm still easing it.
It's in production exactly, So it

304
00:21:33,759 --> 00:21:36,559
was it was time to do it. So they say the big uplift from

305
00:21:36,599 --> 00:21:41,319
one point zero, which was our
first major milestone, was literally the uplift

306
00:21:41,400 --> 00:21:45,079
of all of the component or products
to four point eight. Because it's not

307
00:21:45,200 --> 00:21:49,359
just chocolate you see a lie,
there's chocolate license extension, chocolate agent,

308
00:21:51,480 --> 00:21:56,240
chocolate, gooey chocolate, guey license
extension, all those impotents. Indeed,

309
00:21:57,200 --> 00:22:00,920
we have been told a couple of
times that we misnamed that product that should

310
00:22:00,920 --> 00:22:06,079
have been gooey chocolate ye supposed to
chocolate gooey. But chocolate still works.

311
00:22:06,400 --> 00:22:11,559
I mean adjectives in a row.
Yeah, you really don't need to mangle

312
00:22:11,559 --> 00:22:14,640
a product too much. Just for
the puns right, yeah, gets it

313
00:22:14,720 --> 00:22:18,480
gets to a point at some point. But I could see that. You

314
00:22:18,559 --> 00:22:22,960
know, there's certainly plenty of folks
on four point eight like it. They're

315
00:22:22,000 --> 00:22:27,119
not going anywhere that that version of
windforms is pretty solid. They you know,

316
00:22:27,319 --> 00:22:33,720
they there's there are challenges in getting
off of quote unquote standard framework.

317
00:22:33,359 --> 00:22:40,599
And if you've got a big dependency
on ASP dot Net web forms, if

318
00:22:40,599 --> 00:22:45,799
you or Windows for dependency on on
WCF, you know, like those are

319
00:22:45,880 --> 00:22:49,720
just not simple things to unentangle.
So there are certain Windows graphics libraries that

320
00:22:49,759 --> 00:22:53,319
are only available on Windows. I
had to use the dot Net framework recently

321
00:22:53,440 --> 00:22:59,160
for a screen tools LIBE that I
did on the dot Net Show. And

322
00:22:59,440 --> 00:23:03,039
the whole of this was to automate
browser interaction. So you can load up

323
00:23:03,039 --> 00:23:07,400
a browser, go full screen,
and now it's predictable where things are going

324
00:23:07,440 --> 00:23:10,880
to be. So you can search
for texts with OCR the tests or act

325
00:23:11,000 --> 00:23:15,400
library, and you can search for
graphic you know, take PNGs and say

326
00:23:15,480 --> 00:23:18,920
hey, do you see this pngg
anywhere right here? And then you can

327
00:23:19,000 --> 00:23:26,200
simulate clicks and in keys send keys, which is in Windows forms. So

328
00:23:26,319 --> 00:23:29,880
anyway, I ended up using the
dot Net framework for that and it was

329
00:23:29,960 --> 00:23:33,599
great. Yeah, I had a
great time with that. Yeah, I

330
00:23:33,400 --> 00:23:37,680
wonder if I would have fond memories
of four point eight. Like it's been

331
00:23:37,720 --> 00:23:41,240
a while, it's like, oh
does this feel good? Right? I

332
00:23:41,319 --> 00:23:45,119
remember it's just like spending go back
and work in windforms for a minute.

333
00:23:45,880 --> 00:23:51,039
Yeah, it's cool. You come
to appreciate that windforms was the exception.

334
00:23:51,839 --> 00:23:56,920
Like no designer is good except for
windforms. I mean, there's definitely things

335
00:23:56,000 --> 00:24:00,079
that because I work on something I
open other opens projects that have made the

336
00:24:00,160 --> 00:24:04,000
jump to dot net corepe, you
come back to working on chocolate, which

337
00:24:04,000 --> 00:24:07,160
is probably working full time. Even
things like we're we're still not yet on

338
00:24:07,200 --> 00:24:11,519
the new CSPOD format, so we
don't have the benefit of the shrinking of

339
00:24:11,559 --> 00:24:15,839
the cspod format because we haven't made
the jump to building with dot neet build

340
00:24:15,920 --> 00:24:18,880
yet. It's still ms build that
we're using under the hood, so there's

341
00:24:19,200 --> 00:24:23,279
elements there that are still we're working. We're working through that path to get

342
00:24:23,559 --> 00:24:27,200
onto the newer tooling to allow us
to get the benefits that come with it,

343
00:24:27,279 --> 00:24:30,920
but for the minute, we're still
So if you've got you've got some

344
00:24:32,000 --> 00:24:34,920
of our cs pod files are quite
big, right, But we that's the

345
00:24:36,000 --> 00:24:40,279
way they are. We can't change
them quite yet because again, one of

346
00:24:40,359 --> 00:24:44,279
the tenants of Chocolate is that it's
it continues to work, it continues to

347
00:24:44,480 --> 00:24:47,279
be backward compatible as much as we
can. So we have to be we

348
00:24:47,359 --> 00:24:51,079
have to pick and choose our battles
in terms of what we're looking to upgrade

349
00:24:51,119 --> 00:24:53,160
two. And as you say,
I mean dot nee framework four point eight,

350
00:24:53,160 --> 00:24:56,960
it's a it's a it's stable,
it does what it does. You

351
00:24:56,079 --> 00:25:00,480
can still code against it. Do
you miss some of the new shiny started

352
00:25:00,519 --> 00:25:03,119
coming out and dot net Core absolutely, but it's still it's still functional,

353
00:25:03,160 --> 00:25:07,359
it does what it does, it's
tried and tested. So we although we've

354
00:25:07,359 --> 00:25:12,000
had discussions around what needs to happen
in terms of bringing Chocolate Cli to dot

355
00:25:12,079 --> 00:25:15,359
net Core, that's not something we're
planning yet. I mean, it's something

356
00:25:15,440 --> 00:25:21,400
we're starting to speak about. Some
of the folks in the community are speaking

357
00:25:21,440 --> 00:25:23,480
about it and kind of dipping their
toes in the war. And in fact,

358
00:25:23,519 --> 00:25:29,039
one of the one of the core
contributors to the uplift to dot net

359
00:25:29,119 --> 00:25:32,440
four point eight and then you get
quite libraries, it was a open source

360
00:25:32,519 --> 00:25:36,000
contributor. I was doing that work. I know that he's spiked out what

361
00:25:36,200 --> 00:25:38,000
needs to happen in terms of bringing
in Chocolate to dot neet core, but

362
00:25:38,160 --> 00:25:42,400
there are some of the complexities in
terms of how we do things with reflection

363
00:25:42,599 --> 00:25:47,160
and app domains and things. When
we load in the license extension, that

364
00:25:47,240 --> 00:25:49,240
becomes complicated and dot net core because
some of that was taken away, right,

365
00:25:49,319 --> 00:25:52,319
so for sure, and again we
have to figure out how we can

366
00:25:52,519 --> 00:25:56,680
do all the things that we currently
do in that new environment as well.

367
00:25:56,880 --> 00:26:00,640
So it's it's been an interesting,
interesting time. So Gary, Sometimes when

368
00:26:00,680 --> 00:26:06,799
you want to install an execute amwn
Windows, it just having the executeable to

369
00:26:06,960 --> 00:26:11,039
install. Just having the installer requires
that you're logged in and you've got you

370
00:26:11,119 --> 00:26:15,599
went through a process and you downloaded
this saying in other words, it's not

371
00:26:15,839 --> 00:26:18,720
publicly available for anybody to just go
to that vendor's website and download it,

372
00:26:19,079 --> 00:26:22,000
which is the modern way to do
it right. Just make the download free

373
00:26:22,160 --> 00:26:25,839
and then when you set it up, that's when you register and put in

374
00:26:25,920 --> 00:26:32,920
your serial numbers and all that.
Does Chocolate require that these packages are public

375
00:26:33,799 --> 00:26:37,480
or can I make a package out
of my own exc that I had gotten

376
00:26:37,720 --> 00:26:41,200
through? That means so there's lots
of things in there, so let's make

377
00:26:41,200 --> 00:26:47,200
it down a little. Yeah,
So Chocolately as a product or as an

378
00:26:47,200 --> 00:26:51,599
application in its own right, chocolately
will let you package whatever you want.

379
00:26:51,680 --> 00:26:56,519
So if that's your own x EXC, that's your proprietary exc that requires licenses

380
00:26:56,599 --> 00:27:00,880
to install, etc. Chocolately will
allow you to create a NUPKEG or a

381
00:27:00,960 --> 00:27:03,680
new package that represents that package,
and that will allow you to install it

382
00:27:03,839 --> 00:27:08,000
as you need to. Where it
kind of crosses over into what's allowed and

383
00:27:08,039 --> 00:27:12,640
what's not allowed is if you then
try to take that package and push it

384
00:27:12,759 --> 00:27:18,480
to Chocolate Community repository, then that
wouldn't be allowed because at that point you're

385
00:27:18,599 --> 00:27:22,599
violating the terms of that application or
the proprietary license it goes with that.

386
00:27:23,119 --> 00:27:29,400
So that's where the double edged sword
that is package moderation that we have.

387
00:27:29,880 --> 00:27:33,519
We've got automated systems that kick in
for doing validation, verification, scanning of

388
00:27:33,640 --> 00:27:37,640
viruses, etc. And then there's
a human moderator at the end of it

389
00:27:37,720 --> 00:27:40,920
as well. At the point that
human moderator comp came along, they would

390
00:27:40,960 --> 00:27:45,960
likely say we can't take this package
because it's got a proprietary exc in it.

391
00:27:45,079 --> 00:27:48,720
The license doesn't allow or redistribution,
et cetera, et cetera, et

392
00:27:48,759 --> 00:27:52,880
cetera. But the nice thing about
chocolate is there's nothing to stop you taking

393
00:27:52,960 --> 00:27:56,319
that nupkeg and hosting it in your
own internal repository. So you could use

394
00:27:57,039 --> 00:28:03,799
Nexus or artifactory or prog it and
have your own internal repository or packages that

395
00:28:03,920 --> 00:28:07,880
you would use in conjunction with the
Chocolate community to repository, so you'd still

396
00:28:07,880 --> 00:28:10,880
be able to do chocolate, install
your package, but it would only live

397
00:28:10,920 --> 00:28:15,880
within your environment and not anywhere else. Could I use a private repository like

398
00:28:15,960 --> 00:28:19,480
a private GitHub repository something along those
lines, that I could install it from

399
00:28:21,400 --> 00:28:23,319
the internet, so I wouldn't have
to have it locally on my machine.

400
00:28:23,480 --> 00:28:29,799
So the term or repository is one
of those overused terms. It means lots

401
00:28:29,839 --> 00:28:33,680
of things, lots of people.
You actually mean file share what I'm referring

402
00:28:33,720 --> 00:28:37,720
to. There is a repository that
has a new get v two or a

403
00:28:37,799 --> 00:28:41,799
new get v three endpoint associated with
it, so either an o data endpoint

404
00:28:41,880 --> 00:28:47,240
or a Jason endpoint that allows you
to query for those packages and then download

405
00:28:47,279 --> 00:28:51,960
and install them. So that's when
I said Nexus provides a repository that does

406
00:28:52,039 --> 00:28:53,400
all of that, and you install
it in house, you host it in

407
00:28:53,480 --> 00:28:56,519
house, and you can push and
push and pull all your packages from there.

408
00:28:57,920 --> 00:29:02,880
Get hub does have a get hub
package repository, so you can host

409
00:29:03,079 --> 00:29:06,720
and you get packages on there.
The only slight drawback with that is it

410
00:29:06,799 --> 00:29:11,119
does require but it maybe fits into
your scenario, is it does require authentication.

411
00:29:11,319 --> 00:29:15,960
Sure, it is an extra repository. You can have an anonymous authentication

412
00:29:15,000 --> 00:29:18,279
to it within your environment. So
no, you absolutely could do that,

413
00:29:18,960 --> 00:29:22,759
but it's not a repository in the
sense of a get repository. It would

414
00:29:22,799 --> 00:29:26,519
be a new get V two or
a new get V three repository that we

415
00:29:26,759 --> 00:29:30,759
have those packages on. So what
is your recommended way for having a local

416
00:29:30,799 --> 00:29:34,720
repository within an organization? So it
might go to one the one that I

417
00:29:36,359 --> 00:29:38,599
mean we have. That question comes
up quite a lot of times, and

418
00:29:40,480 --> 00:29:44,200
we don't We don't say that this
is the golden standard, this is the

419
00:29:44,240 --> 00:29:48,279
one that you use, And there
isn't a chocolatey repository. There's not the

420
00:29:48,359 --> 00:29:53,160
one that probably describes it best.
Pro get has the concept of the making

421
00:29:53,160 --> 00:29:56,680
a dissemination with whether it's a new
get package or whether it's a chocolatey package.

422
00:29:57,079 --> 00:30:03,480
But it's hard. It's only really
it's wording, it's not there's nothing

423
00:30:03,559 --> 00:30:07,279
really to distinguish without really looking at
it, that this is a new get

424
00:30:07,319 --> 00:30:11,640
package and this is a chocolate package. But pro get does at least try

425
00:30:11,680 --> 00:30:14,200
to separate those two things in terms
of what you're trying to set up.

426
00:30:14,640 --> 00:30:18,839
But like I say, Nexus,
Artifactory, pro Get all provide in house

427
00:30:18,279 --> 00:30:22,839
and then repositories. But there's other
systems like cloud Smith or feed dot io

428
00:30:23,920 --> 00:30:27,759
or I hesitated the same my Get
because I don't know if you saw my

429
00:30:27,839 --> 00:30:33,279
Get went away for like two days
and a kind of complete blackout. But

430
00:30:33,440 --> 00:30:37,400
my Get back in the day was
the go to standard for online hosting of

431
00:30:37,480 --> 00:30:44,039
packages and then they scared everybody.
Yes, So in terms of the question,

432
00:30:44,200 --> 00:30:47,319
I mean, it depends on how
you want to set it up.

433
00:30:47,839 --> 00:30:52,039
Pro Get needs a sequel server incident
behind it because it's that's where it stores

434
00:30:52,079 --> 00:30:59,559
it. Nexus does it via Java
database under the hood that's running in process.

435
00:31:00,000 --> 00:31:02,559
So it kind of depends on your
invironment where you want to host it,

436
00:31:03,079 --> 00:31:06,559
but it's definitely ways that you can
do it. And then at that

437
00:31:06,720 --> 00:31:11,200
point You've then got your own curated
list of packages that have been sanctioned by

438
00:31:11,279 --> 00:31:15,559
your ops team living in your internal
environment. But you still got access to

439
00:31:15,759 --> 00:31:19,559
the topic immunity to pository if you
wanted to install the packages from there,

440
00:31:19,920 --> 00:31:26,079
right, I mean, yeah,
then I have enough of a tinfoil hat

441
00:31:26,160 --> 00:31:30,640
on to go to say, hey, if I'm operating an infrastructure, I

442
00:31:30,720 --> 00:31:33,559
want to control over all those packages, so they're going to use my repository.

443
00:31:33,160 --> 00:31:36,799
At the same time, it's like
that's also a lot of overhead to

444
00:31:36,920 --> 00:31:40,960
keep those up to date, test
and so forth, Like let's go tap

445
00:31:41,200 --> 00:31:45,759
and let's go tap common repositories,
Like do you do you see any real

446
00:31:45,839 --> 00:31:48,920
patterns around this? Should you really
only be using the private repository for private

447
00:31:49,039 --> 00:31:55,839
software and commercial you know, open
repositories for retail software. You know that

448
00:31:55,920 --> 00:31:59,079
are other people are maintaining. You've
kind of hit the nail on the head

449
00:31:59,119 --> 00:32:02,559
there in terms of once you kind
of own a package, there's an element

450
00:32:02,599 --> 00:32:05,960
of background work that needs to happen
to keep that package up to date.

451
00:32:06,000 --> 00:32:10,359
So how do you do that on
the floor. So one of the one

452
00:32:10,400 --> 00:32:15,440
of the great things about chocolate is
the chocolate community that helped keep the over

453
00:32:15,519 --> 00:32:19,079
ten thousand packages that we have up
to date with the newest package versions,

454
00:32:19,119 --> 00:32:23,839
et cetera. Lots of packages use
an automating updating system called AU, so

455
00:32:24,200 --> 00:32:29,400
within I think it's not the normal
schedule is about six hours. So within

456
00:32:29,519 --> 00:32:35,960
six hours typically a package that's using
AU will have been updated automatically by scraping

457
00:32:36,000 --> 00:32:38,200
the website knowing that there's a new
website available, push out a new version

458
00:32:38,240 --> 00:32:42,799
and it's updated. So as an
organization, you might want to take advantage

459
00:32:42,839 --> 00:32:45,000
of that. You might want to
know when a package is of an updated

460
00:32:45,039 --> 00:32:49,559
on the community repository to then pull
it into your own internal environment because you

461
00:32:49,640 --> 00:32:52,079
want to bring it into your DMZ, you want to install it, you

462
00:32:52,119 --> 00:32:54,200
want to make sure that it does
what it does, et cetera, and

463
00:32:54,319 --> 00:32:59,880
then make it available to everyone within
your organization. So what we see folks

464
00:33:00,079 --> 00:33:05,160
doing is using some business functionality that
we provide. So we've got we've got

465
00:33:05,200 --> 00:33:09,240
a system called package Internalizer that will
take a package from a community say community

466
00:33:09,240 --> 00:33:14,480
pository, download it and it will
do go through a process of internalization.

467
00:33:14,680 --> 00:33:19,559
So what do I mean by that? A chocolate package normally is when you

468
00:33:19,599 --> 00:33:22,519
break it down it is a power
shell script that is a list of instructions.

469
00:33:22,880 --> 00:33:27,359
It's go to this URL, download
this EXC, run this EXC,

470
00:33:27,640 --> 00:33:30,759
do a bunch of other stuff,
and then finish. But from an IT

471
00:33:30,079 --> 00:33:36,720
perspective, you've then got a dependency
on that out external URL. So what

472
00:33:36,839 --> 00:33:39,920
the package internalizer allows you to do
is it will find the URL, it

473
00:33:39,960 --> 00:33:45,440
will go and download that EXC,
and then it will rebundle the EXC into

474
00:33:45,480 --> 00:33:47,960
the nupkeg. So then you've got
what we refer to as an embedded package.

475
00:33:49,160 --> 00:33:52,079
That embedded package, that nupkeg has
everything that you need to install that

476
00:33:52,240 --> 00:33:58,279
application offline, completely offline right,
which means it may have gone and gotten

477
00:33:58,359 --> 00:34:01,839
more things if there are external dependencies. So again, so yes, the

478
00:34:02,279 --> 00:34:07,440
packing internalizer will say I want to
install no Paplist plus, but no papist

479
00:34:07,440 --> 00:34:12,360
plus needs these dependencies in order to
make it work. So pack internalizer would

480
00:34:12,360 --> 00:34:15,679
download and internalize each of those dependencies. So what you get at the end

481
00:34:15,760 --> 00:34:20,079
of that is four or five six
snap kegs that you then put onto your

482
00:34:20,119 --> 00:34:23,440
internal repository. Once you've gone through
your due diligence on your DMZ, you

483
00:34:23,480 --> 00:34:28,239
make sure it installs what you want
to install, etc. You then promote

484
00:34:28,280 --> 00:34:30,719
it into your internal repository, and
at that point all of your other machines

485
00:34:30,760 --> 00:34:35,960
have access to it. So you're
taking advantage of the community repository being maintained

486
00:34:36,000 --> 00:34:40,199
and updated, but you're still working
in essentially isolation with your opsle on as

487
00:34:40,239 --> 00:34:45,800
you said, knowing what you're installing, but also having to take advantage of

488
00:34:45,840 --> 00:34:50,480
all of that work and use the
some of the business features to keep your

489
00:34:50,519 --> 00:34:52,239
repository up to date. Very cool, and with that, I'm going to

490
00:34:52,280 --> 00:34:55,039
ask you guys to hold on for
just a second while we pause for these

491
00:34:55,159 --> 00:35:02,440
very important messages and we're back.
You're listening to Dot and it Rocks.

492
00:35:02,559 --> 00:35:06,239
I'm Carl Franklin, that's Richard Campbell, and that's Gary. You and Park

493
00:35:06,280 --> 00:35:09,480
we're talking chocolate and Richard, you
look like you had a question, but

494
00:35:09,599 --> 00:35:13,039
if you didn't, I yeah,
I was going to say, why haven't

495
00:35:13,079 --> 00:35:19,480
you made a repository service then,
because you've done everything else. So it's

496
00:35:20,119 --> 00:35:22,760
it's something that we've spoken about.
It's not something that we have committed to,

497
00:35:23,039 --> 00:35:28,199
but we have heard it from some
of our customers that they want they

498
00:35:28,360 --> 00:35:31,199
want that system that we can currently
do, but they want someone else to

499
00:35:31,280 --> 00:35:35,719
do it for them. They want
to have all of the package internalized,

500
00:35:35,719 --> 00:35:37,440
they want to have the package available, they want to have to have a

501
00:35:37,519 --> 00:35:42,800
commitment in terms of SLAS, in
terms of when they'll be available, when

502
00:35:43,039 --> 00:35:47,159
the package the applications have been released. The short answer is there's quite a

503
00:35:47,239 --> 00:35:52,920
lot of infrastructure behind that. There's
quite a lot of there's certifications that we

504
00:35:52,039 --> 00:35:55,800
use a company would need to have
in order to provide that service, et

505
00:35:55,840 --> 00:36:00,800
cetera. So it's is it is
a goal, but it's not a goal

506
00:36:00,039 --> 00:36:02,880
that it's certainly it's not Tomordel,
Let's put it that way, right.

507
00:36:02,920 --> 00:36:07,000
Sure, I also see there's a
SaaS product here, right, It's like

508
00:36:07,119 --> 00:36:10,480
that will run the propository for you, will even maintain a certain level of

509
00:36:10,599 --> 00:36:14,760
update. We could provide update services
for you, like not that I think.

510
00:36:14,880 --> 00:36:16,440
I mean, I'm pretty sure we're
off the rails for Don Rocks.

511
00:36:16,480 --> 00:36:21,360
But from our runs perspective, I'm
like, I can see this. So

512
00:36:21,760 --> 00:36:23,119
what I can say is like,
in terms of what we kindently got in

513
00:36:23,239 --> 00:36:29,280
terms of the infrastructure for our open
source repository that is Chocolate Community Postray,

514
00:36:29,480 --> 00:36:32,199
we have some of the building blocks
and in terms of the functionality that's been

515
00:36:32,239 --> 00:36:37,519
added into the business version of chocolate. We have the building blocks that you

516
00:36:37,679 --> 00:36:42,519
can stitch all these things together and
one in your own environment. But we

517
00:36:42,599 --> 00:36:46,719
could absolutely provide that as as you
said, sas offering or something. But

518
00:36:47,239 --> 00:36:52,119
we're not quite there in terms of
getting to that level. But maybe one

519
00:36:52,199 --> 00:36:57,199
day is what I can say there. Yeah, it's it's a reasonable speculation.

520
00:36:57,280 --> 00:36:59,480
And you know that. I know
you're listening to Don Rox, so

521
00:36:59,519 --> 00:37:02,119
you know, there's been an ongoing
theme of how to open source projects become

522
00:37:02,280 --> 00:37:07,039
self funding, self sustainable. You've
had several years of chocolate for business,

523
00:37:07,119 --> 00:37:12,079
which I think you charge a fair
price for and I suspect you've got some

524
00:37:12,159 --> 00:37:14,760
customers for it, Like, is
that carrying the ball these days? Are

525
00:37:14,800 --> 00:37:17,880
you guys? Okay? Yeah,
I mean we've we've been we've been busy.

526
00:37:19,039 --> 00:37:24,840
I mean, COVID obviously had its
uh impact, and there was there

527
00:37:24,920 --> 00:37:28,599
was ripples that we saw going through
it. But I mean, yeah,

528
00:37:28,679 --> 00:37:31,199
we're we're we're we're hiring folks at
the minute and the team is growing.

529
00:37:32,559 --> 00:37:37,800
It's continuing to pay my mortgage,
which is what I'm here for. Features

530
00:37:37,239 --> 00:37:42,159
It's kind of what I need,
right We're we're we're we're happily working away.

531
00:37:42,199 --> 00:37:46,880
We're getting new new customers coming in
and we were featured on Lightness.

532
00:37:46,920 --> 00:37:52,599
Tech Tips showcased us recently and showed
off what chocolate is and how it can

533
00:37:52,679 --> 00:37:55,079
be used, and we saw a
flood of people coming in. So,

534
00:37:55,599 --> 00:38:00,639
yeah, people hear about us.
People. We've got a very the support

535
00:38:00,679 --> 00:38:02,199
team is very good at what they
do. They've got a very much a

536
00:38:02,920 --> 00:38:07,400
white glove approach. They'll they'll get
on a call with you, they'll help

537
00:38:07,440 --> 00:38:10,079
you set it up. We've got
what we refer to as a quick setup

538
00:38:10,159 --> 00:38:15,320
process where we'll spin up a VM
man ager that has chocolately and all of

539
00:38:15,400 --> 00:38:17,559
the business components installed for you,
so you can take that for a spin,

540
00:38:19,280 --> 00:38:22,400
see whether you like it, and
then you can either continue with it

541
00:38:22,480 --> 00:38:24,440
in the cloud or you could bring
it on premise. So no, we've

542
00:38:24,480 --> 00:38:29,320
got we're busy at the minute,
and there's no shortage. There's no shortage

543
00:38:29,320 --> 00:38:30,480
of things to do. There's not
there's not enough hours in the day.

544
00:38:30,559 --> 00:38:35,000
Until you use the word Linux in
in some award that you got, was

545
00:38:35,039 --> 00:38:39,880
it Linux or it's it's Linus tech
tipsips out of Vancouver, by the way,

546
00:38:40,079 --> 00:38:45,039
Okay, because it's a pack.
It's for Windows and Linux tech tips

547
00:38:45,039 --> 00:38:49,679
as a show. Yeah I got
correct. So so to clarify that though,

548
00:38:49,760 --> 00:38:54,679
So chocolately is a Windows package manager, but it is compiled under Mono,

549
00:38:55,159 --> 00:39:00,079
so it can run on Linux and
it can run on Mac. But

550
00:39:00,159 --> 00:39:01,679
then why would you want to do
that because they have their own package.

551
00:39:02,440 --> 00:39:07,920
So a lot of people, depending
on their workflows, they might be creating

552
00:39:07,920 --> 00:39:12,199
an application and they want to create
bundle it as a Chocolate package. So

553
00:39:12,280 --> 00:39:15,239
you would install Chocolate on Linux,
you would run the Chocolate pack command and

554
00:39:15,239 --> 00:39:20,119
the Chocolate push command. Because the
rest of your bill has happened on Linux

555
00:39:20,199 --> 00:39:22,000
or Mac. You just want to
do that last part, which is to

556
00:39:22,079 --> 00:39:25,280
move over. That's why we produce. There's a Docker image available for Chocolate,

557
00:39:25,400 --> 00:39:30,400
so you can you can Docker pool
Chocolate and then at that point you

558
00:39:30,440 --> 00:39:34,000
can be running Chocolate on your Mac
depending on what you're doing. So there's

559
00:39:34,239 --> 00:39:37,960
there's definitely a use case for it, but it's not You certainly wouldn't do

560
00:39:38,079 --> 00:39:43,559
Chocolate install visual Studio code on a
Mac because that's just that wouldn't work.

561
00:39:43,639 --> 00:39:49,000
Think on the Mac, you might
have to call it something like tablown for

562
00:39:50,000 --> 00:39:57,360
Brochet or whatever. Yeah, they
are the luxury tech brand. Absolutely,

563
00:39:58,000 --> 00:40:02,239
yeah. I mean it's it's pretty
funny. So what do we what do

564
00:40:02,360 --> 00:40:07,719
we need to know? Other features, things you're working on, places people

565
00:40:07,760 --> 00:40:12,000
should be looking. So there's been
there's been some there's been some interesting work

566
00:40:12,079 --> 00:40:15,480
developed in terms of Chocolate just in
the recent times. So we have made

567
00:40:15,679 --> 00:40:20,199
some additional extension points. So we
have we've always Chocolate has always had this

568
00:40:20,280 --> 00:40:25,039
concept of extensions. That's that's how
the Chocolate license extension works. But in

569
00:40:25,119 --> 00:40:30,920
the recent releases of Chocolate, we've
included some additional functionality for providing extension points

570
00:40:31,000 --> 00:40:36,960
for additional what we refer to as
source runners, as well as providing mechanism

571
00:40:37,199 --> 00:40:43,159
mechanisms to do validations. So what
I'm referring to there is that we might

572
00:40:43,280 --> 00:40:47,400
at the minute, Chocolate supports source
runners for installing Windows features installed source runners

573
00:40:47,480 --> 00:40:52,880
for our installing but enabling or disabling
Windows features, for installing Ruby packages,

574
00:40:53,000 --> 00:40:58,079
for installing Python packages. But there
are other obvious sources that we want to

575
00:40:58,159 --> 00:41:00,840
have support for as well. We
kind of spoke about it earlier, one

576
00:41:00,840 --> 00:41:05,400
of them being win get as a
source dot Net Global Tools as a source

577
00:41:06,119 --> 00:41:08,679
Windows Store as a source. So
then you've kind of got this single pane

578
00:41:08,719 --> 00:41:14,559
of glass in terms of doing Chocolate
install all the things as well as then

579
00:41:14,639 --> 00:41:19,079
doing chocol export all the things.
So then you want to take this machine

580
00:41:19,280 --> 00:41:22,440
and you want to put it over
here, you can do a Chocolate export

581
00:41:22,480 --> 00:41:25,559
of everything that's on your machine and
then immediately do a chocolate install of everything

582
00:41:27,079 --> 00:41:30,079
and put it onto that other machine. Is that the mythological just read my

583
00:41:30,239 --> 00:41:36,840
configuration and make it And I say
mythological for reason? Is there ever of

584
00:41:36,880 --> 00:41:39,519
times I've heard the signal? We
can say that exact thing. So there's

585
00:41:39,519 --> 00:41:44,280
obviously caveats to that. There are
certain things we can't do. But Chocolate

586
00:41:44,519 --> 00:41:46,960
has knowledge of quite a bit of
your system because it's responsible for putting a

587
00:41:47,000 --> 00:41:51,960
lot of things onto your system.
So taking that and making that an exportable

588
00:41:52,039 --> 00:41:54,440
artifact to then bring over to this
machine and then trust install it, that's

589
00:41:54,480 --> 00:42:00,760
something that's happening. We're currently working
on a new version of our Chocolate Central

590
00:42:00,760 --> 00:42:06,000
Management, So that's the single pane
of glass visualization of all the things that

591
00:42:06,000 --> 00:42:08,320
are installed in your machines across your
environment. So there's a new version of

592
00:42:08,400 --> 00:42:12,639
that content being worked on. So
that's the one that allows you to say,

593
00:42:13,599 --> 00:42:16,199
there's a new version of no Path
plus plus, I need to install

594
00:42:16,280 --> 00:42:21,719
it on fifty machines within Chocolate Central
Management. You create a deployment and then

595
00:42:21,800 --> 00:42:25,320
it'll just push it out to all
the machines and just trying to levelize all

596
00:42:25,400 --> 00:42:30,800
the versions of Acrobat in a given
organization, like my Lord. There's a

597
00:42:30,920 --> 00:42:37,000
philosophical conversation here about when is an
application an application? Right Like if you

598
00:42:37,239 --> 00:42:40,360
if I could literally go to a
machine that's never seen chocolate before, install

599
00:42:40,480 --> 00:42:44,079
some piece of chocolate and say,
okay, give me a manifest for this

600
00:42:44,280 --> 00:42:49,119
machine, you're essentially detecting what's an
application. I mean, going to program

601
00:42:49,239 --> 00:42:52,960
and features is probably not enough.
You should run win deeploat first though.

602
00:42:53,920 --> 00:42:59,400
So that's one of the interesting things
about what Chocolate package is a standard format.

603
00:42:59,719 --> 00:43:02,000
It's an up key because as it
for, it has some additional metadata.

604
00:43:02,440 --> 00:43:06,719
But what you put into that chocolate
package is completely up to you.

605
00:43:07,079 --> 00:43:10,119
You could put an e XC and
MSI. You could put a parachel script

606
00:43:10,159 --> 00:43:14,519
that deploys are register key. You
could put an EXC a standalone e XC.

607
00:43:14,920 --> 00:43:17,440
You could put just the one that
I always give us. An example

608
00:43:17,599 --> 00:43:22,719
is I've got a Chocolate package for
my get config because I never remember what

609
00:43:22,840 --> 00:43:25,360
that is. But I want the
same get config on every single machine,

610
00:43:25,400 --> 00:43:32,079
So I just do chocol install get
thirteen dot get config and then it runs

611
00:43:32,119 --> 00:43:36,679
the get commands to set up my
machine. Yeah, that is not an

612
00:43:36,679 --> 00:43:39,239
app. That's not an app.
But the benefit of doing it as a

613
00:43:39,320 --> 00:43:44,239
Chocolate package is when I do Chocolate
list, I'll see that that package was

614
00:43:44,320 --> 00:43:47,159
installed, I'll see what version it
was, and I'll know what version of

615
00:43:47,320 --> 00:43:51,440
my get config I have installed in
that machine. So when something doesn't work

616
00:43:51,519 --> 00:43:53,199
the way I want it to,
oh, I have an upgraded my get

617
00:43:53,280 --> 00:43:57,639
confic, so I can do Chocolate
upgrade, get thirteen, get config and

618
00:43:57,679 --> 00:44:00,719
I've got the right thing and play. So by packaging it all up into

619
00:44:00,800 --> 00:44:05,119
that standard format, you can literally
put anything in there you want. It

620
00:44:05,199 --> 00:44:08,320
doesn't have to be an application.
It's a package because Chocolate is a package

621
00:44:08,320 --> 00:44:14,960
manager and managers packages that just happened
to install application of our aplications, but

622
00:44:15,079 --> 00:44:16,719
not always correct. It doesn't have
to be. It could be. It

623
00:44:16,760 --> 00:44:22,400
could be placing a word a document
on a folder somewhere, and I suspect

624
00:44:22,400 --> 00:44:23,880
we've talked about this before. But
literally you can set up a set of

625
00:44:23,880 --> 00:44:29,039
package says I need my DEV install
on this machine. It's that the whole

626
00:44:29,079 --> 00:44:30,760
machine. It's just like the things
that you do for DEV. Go get

627
00:44:30,800 --> 00:44:35,760
those exactly. That's a bunch of
different products and a bunch of configurations,

628
00:44:36,599 --> 00:44:38,280
and off we go. And I
say, at that point, you then

629
00:44:38,480 --> 00:44:43,960
know what version of that configuration package
was deployed, you know what version of

630
00:44:44,039 --> 00:44:47,159
that application package was installed. And
then you've got that again. I've said

631
00:44:47,159 --> 00:44:50,960
it again that that pane of glass, single pane of glass about knowing what

632
00:44:51,159 --> 00:44:54,559
is deployed on your system as opposed
to trust relying on agin with programs.

633
00:44:54,559 --> 00:44:59,480
Because that's one of the things that
we do within one of the business features

634
00:44:59,599 --> 00:45:04,880
is that we'll add entries into adronew
programs when a chocolate package is installed.

635
00:45:05,559 --> 00:45:07,840
So if you have if you happen
to be using another reporting tool to say

636
00:45:07,960 --> 00:45:13,199
what's installed in machine, you get
better visibility by installing as a chocolate package

637
00:45:13,199 --> 00:45:16,199
because we'll add an entry into adennew
programs for the package. So you actually

638
00:45:16,280 --> 00:45:22,119
have a programs and features entry that
says my gidaboration number thirteen. Yes,

639
00:45:22,400 --> 00:45:25,719
And if you hit uninstalled on that
entry and adenew programs, it will run

640
00:45:25,880 --> 00:45:30,880
Chocolate one install that package. Right. But again, depending on what reporting

641
00:45:30,920 --> 00:45:35,719
tools you're using, you get better
visibility by installing via Chocolate because it will

642
00:45:35,760 --> 00:45:38,119
report on the packages in the same
way that it's getting information about all the

643
00:45:38,159 --> 00:45:43,360
other applications are installed. And just
to be very clear, can Chocolate detect

644
00:45:43,400 --> 00:45:46,119
that there is software already installed on
this machine that it didn't deploy through a

645
00:45:46,199 --> 00:45:52,199
package? Yes, okay for certain
tools, So what we do that?

646
00:45:52,239 --> 00:45:57,800
So there's a whole mediu of that. There's gonna be tent of exceptions here,

647
00:45:58,599 --> 00:46:00,599
but essentially so, if you were
to do Chocolate list, it will

648
00:46:00,639 --> 00:46:05,280
give you a list of packages that
are installed. But if you do Chocolate

649
00:46:05,360 --> 00:46:08,119
list dash include programs I think it
is, it will give you a list

650
00:46:08,159 --> 00:46:12,039
of here's the packages that are installed, but here are all the entries and

651
00:46:12,039 --> 00:46:15,280
add remue programs that I don't know
about. Right. And then if you

652
00:46:15,400 --> 00:46:19,119
wanted to in the business version,
you could do a Chocolate sink and it

653
00:46:19,159 --> 00:46:22,599
will take that application and move it
under Chocolates management to then allow you to

654
00:46:22,679 --> 00:46:28,280
continue upgrading that package with Chocolate by
sinking the two things together all right now,

655
00:46:28,320 --> 00:46:34,880
and then literally I want to play
the spooky music here. You transformed

656
00:46:35,159 --> 00:46:38,840
the relationship that piece of software.
That's really interesting. So I said that

657
00:46:39,000 --> 00:46:43,519
that one's an interesting one when you
get into it, because not all entries

658
00:46:43,559 --> 00:46:46,360
and add remue program actually represent a
single package, because there might be multiple

659
00:46:46,480 --> 00:46:51,719
entries in there that are all one
package. So there's again there's some caveats

660
00:46:51,760 --> 00:46:52,599
there, and you have to take
care of what you're doing there. But

661
00:46:53,199 --> 00:46:59,679
essentially you can bring a application that's
installed on your machine under Chocolates management through

662
00:47:00,000 --> 00:47:02,079
will sync command. Yes, now
the ways there are also ways of doing

663
00:47:02,119 --> 00:47:07,239
it in the open source version,
but again we provide that functionality in the

664
00:47:07,280 --> 00:47:09,840
business version to make it easier for
folks. Yeah, and it's very fair

665
00:47:09,920 --> 00:47:15,639
to say, like use this with
caution. Yes, it's good to get

666
00:47:15,800 --> 00:47:19,920
started with, but rap you're going
to be way happier if you just get

667
00:47:20,000 --> 00:47:23,639
into the routine of always using Charcoal
packages starting from exactly that. And then

668
00:47:23,679 --> 00:47:29,639
there's because then Chocolatey is the package
manager. But then you build on top

669
00:47:29,679 --> 00:47:32,639
of that with some form of configuration
management systems. So whether you're using a

670
00:47:32,719 --> 00:47:37,239
puppet, a chef, an answable, you use that to help deploy across

671
00:47:37,280 --> 00:47:42,000
your environment as well. So there's
we like to say that chocolate will work

672
00:47:42,039 --> 00:47:45,119
with everything. We have tie ins
and ad ins for the majority of the

673
00:47:45,159 --> 00:47:47,960
configuration management systems out there, but
at the end of the day, it

674
00:47:49,119 --> 00:47:51,679
is just an EXC. So if
you can shell out to an EXC and

675
00:47:51,800 --> 00:47:57,119
do that work, you can do
that through any sort of endpoint management system

676
00:47:57,159 --> 00:47:59,960
that you wanted to use. Do
you get any pushback from folks, say,

677
00:48:00,199 --> 00:48:02,320
not wanting four point eight around,
like just make this running corp?

678
00:48:05,079 --> 00:48:07,039
No, we haven't said. We
haven't seen too much of that since since

679
00:48:07,079 --> 00:48:13,440
the release. So we released back
in where we now were released in me

680
00:48:13,880 --> 00:48:15,039
so we've got a few we had
a few months and we haven't had much

681
00:48:15,079 --> 00:48:20,639
pooh back from a four point eight
perspective. No, So the fours you're

682
00:48:20,679 --> 00:48:22,800
willing to go four point eight,
Yes, it's really a question of hey,

683
00:48:22,840 --> 00:48:24,960
we've been living in Core. Why
are you asking me to have standard

684
00:48:25,000 --> 00:48:28,880
framework on these machines. There's that, Yes, exactly, there's definitely.

685
00:48:28,960 --> 00:48:31,079
So that's the double eyed sorts.
We picked four point eight because it's the

686
00:48:31,199 --> 00:48:36,079
stable version, it's the one that's
they're not going the last for the last

687
00:48:36,119 --> 00:48:39,679
one. So we've we've pulled up
to that one and some parts we've made

688
00:48:42,119 --> 00:48:45,199
compatible if you like, as we
moved to dot net core, so we're

689
00:48:45,199 --> 00:48:49,079
we put ourselves in a good position
to make that jump up to the next

690
00:48:49,199 --> 00:48:52,599
version. But as as there's always
the case, there were things that came

691
00:48:52,679 --> 00:48:55,280
up after the two point or release
that we had to immediately fix. So

692
00:48:55,360 --> 00:48:58,800
there was things we had to work
through, et cetera, et cetera.

693
00:48:59,760 --> 00:49:01,599
But there are still, like I
said, are still plans ultimately to move

694
00:49:01,679 --> 00:49:05,840
it to got net core to get
all those advantages that come with it.

695
00:49:06,199 --> 00:49:10,039
But at the same time, we
know that there are folks using Windows Server

696
00:49:10,199 --> 00:49:15,000
two twelve and they still have all
the version of PowerShell and they still want

697
00:49:15,119 --> 00:49:19,639
things to work. So it's there
was an interesting story where I had to

698
00:49:19,719 --> 00:49:24,039
dig into the internals of power Shell
three with assistant management assemblies because it didn't

699
00:49:24,079 --> 00:49:28,960
work properly on Windows Server two thousand
and twelve. It worked final Windows Server

700
00:49:29,079 --> 00:49:32,159
two thousand and sixteen. So it's
a we know that folks are still there,

701
00:49:32,239 --> 00:49:36,960
so again we want to continue to
support them and make the chocolate available

702
00:49:36,960 --> 00:49:40,000
to them so they can pin onto
one point X of chocolate rather than making

703
00:49:40,000 --> 00:49:43,920
the jump to two point x if
they wanted to, because we're supporting both

704
00:49:43,960 --> 00:49:46,320
at the minute. Yeah, twenty
twelve comes out of support, like now

705
00:49:46,920 --> 00:49:51,159
we're waiting, We've got a checklist
to say it finally comes off. But

706
00:49:51,239 --> 00:49:54,360
yeah, Gary, what's the difference
between the free version and the pro version?

707
00:49:55,440 --> 00:49:58,800
The pro versions one hundred bucks a
year, I think, right,

708
00:49:59,239 --> 00:50:04,519
correct. So really the pro version
came about from the kickstarter. So if

709
00:50:04,519 --> 00:50:07,920
you wanted to be a Kickstarter and
you wanted to help the project grow,

710
00:50:07,239 --> 00:50:10,400
the pro version was the kind of
the de facto way of doing that.

711
00:50:10,719 --> 00:50:13,800
It was a way of saying,
I want to support you, and here

712
00:50:13,840 --> 00:50:16,639
are some of the features. So
some of the business features are available in

713
00:50:16,719 --> 00:50:21,679
the professional version, but there are
levels. It goes up from there.

714
00:50:21,760 --> 00:50:25,480
So you know, there's certain features
in the pro version, but other versions

715
00:50:27,480 --> 00:50:30,320
they provide more features on top of
that. So for instance, so I

716
00:50:30,360 --> 00:50:32,559
guess I'm asking one are those features
because you know, try to convince me

717
00:50:32,880 --> 00:50:38,000
to spend the money. So absolutely, I mean there are different skews of

718
00:50:38,079 --> 00:50:42,280
Chocolately, there's the free version,
obviously, there's the pro version, and

719
00:50:42,280 --> 00:50:45,599
then there's the business version. So
as a probe customer who just wanted to

720
00:50:45,239 --> 00:50:47,880
have at some additional features. On
top of that, there are things like

721
00:50:49,519 --> 00:50:55,239
additional parachel functions, So we provide
in the open source version a bunch of

722
00:50:55,280 --> 00:51:00,800
command let's allow you to install chropolicy
packages. But in the version there are

723
00:51:00,079 --> 00:51:05,840
advanced powerchel commandlets. We're doing things
like installing and managing Windows services. So

724
00:51:05,920 --> 00:51:08,199
if you wanted to create packages that
install the Window service, the Chocolate package

725
00:51:08,199 --> 00:51:13,400
commandlets can help with that. There's
package reducer. It's kind of a big

726
00:51:13,440 --> 00:51:19,760
one, Windows out of the boxes, reasonably bloated. Going back to your

727
00:51:19,840 --> 00:51:22,519
d bloat wind bloat you spoke about
earlier, So you end up with you

728
00:51:22,639 --> 00:51:27,400
download an MSI, you and run
the MSI. It puts a bunch of

729
00:51:27,440 --> 00:51:30,519
files over here, and then it
drops other stuff over here. The end

730
00:51:30,599 --> 00:51:34,119
result is you've maybe got that same
MSI and the same excs living all over

731
00:51:34,159 --> 00:51:39,840
the place. So package reducer attempts
to reduce the number of files that are

732
00:51:39,880 --> 00:51:43,480
extracted and the number of files that
are dropping your file system. So again

733
00:51:43,519 --> 00:51:45,800
it just automatically does that for you. Package through all. That was an

734
00:51:45,840 --> 00:51:49,960
interesting feature that some folks wanted in
the professional version, but they're maybe working

735
00:51:50,000 --> 00:51:54,480
on a limited bandwidth in Valiant,
so they don't want Chocolate to take all

736
00:51:54,519 --> 00:51:58,719
the bandwidth when it's downloading packages,
so you can actually throttle it at a

737
00:51:58,800 --> 00:52:04,480
certain level for the bandwidth that being
used by Chocolate. A runtime malware protection

738
00:52:05,320 --> 00:52:07,679
out of the box with Chocolate open
source. When someone pushes a package the

739
00:52:07,760 --> 00:52:14,079
Chocolate Community pository, we will scan
that contents of that package through virus Total.

740
00:52:15,119 --> 00:52:19,159
But if you wanted to have a
run time installation, at the installation

741
00:52:19,239 --> 00:52:23,199
time protection against what's being installed,
you can configure your own generic virus scanner

742
00:52:23,360 --> 00:52:27,280
and have that do a scan on
the package before it gets installed on your

743
00:52:27,320 --> 00:52:31,400
machine. The cdn cash that's a
big one. As I mentioned before when

744
00:52:31,400 --> 00:52:35,760
I spoke a package internalizer. One
of the one of the reason you want

745
00:52:35,760 --> 00:52:38,639
to package internalizers. It sometimes that
you are l that you downloaded that MSI

746
00:52:38,760 --> 00:52:43,519
from goes away, it changed,
it gets redirected, so it doesn't work

747
00:52:43,559 --> 00:52:46,360
anymore. So the cdn cash is
our way of saying, we'll keep a

748
00:52:46,440 --> 00:52:51,280
copy of that MSI or that EXC. So with the license version, the

749
00:52:51,320 --> 00:52:55,239
pro version, you'll always have access
to that EXC or that MSI rather than

750
00:52:55,320 --> 00:53:00,719
it going away and being four to
forward there's other things, different pricing for

751
00:53:00,920 --> 00:53:05,079
students, etcetera. So there's quite
a few features in there. Features.

752
00:53:05,440 --> 00:53:08,519
We're always looking to what we can
bring in. So we're starting to see

753
00:53:09,280 --> 00:53:13,199
some of the features that we've got
in the business version. We are looking

754
00:53:13,239 --> 00:53:15,920
to see them kind of trickling down
into the pro version as well, because

755
00:53:15,920 --> 00:53:20,880
we've we've we've had them, we've
established them, and now we've got bigger

756
00:53:20,920 --> 00:53:22,920
and better features and some of the
other business offerings. So we are starting

757
00:53:22,960 --> 00:53:27,480
to think about what features can we
bring down into the pro version as well.

758
00:53:27,599 --> 00:53:32,039
So it is something we are looking
at. Absolutely how many machines can

759
00:53:32,119 --> 00:53:37,559
I manage with the pro version?
It's eight up to eight cool. The

760
00:53:37,599 --> 00:53:40,320
important thing there is it's kind of
hard to say this, but we don't

761
00:53:40,360 --> 00:53:44,840
monitor that because we can't wantitor that
chocolate he doesn't phone home. We've got

762
00:53:44,880 --> 00:53:49,039
no way of saying that you've only
got it on eight machines rather than eighty,

763
00:53:49,199 --> 00:53:52,400
So there's nothing to stop you installing
on more than eight. We wouldn't

764
00:53:52,440 --> 00:53:54,400
want you to do that, we
wouldn't encourage that, but yeah, the

765
00:53:54,719 --> 00:53:59,719
license for up to eight machines within
your own This feels like a family service

766
00:54:00,159 --> 00:54:04,199
I've got exactly. Because if you've
got eight workstations for yourself, you've got

767
00:54:04,280 --> 00:54:09,280
your you've got you. But if
you have a family where everybody's got a

768
00:54:09,360 --> 00:54:14,119
computer, you know, at least
a laptop each, like as the family

769
00:54:14,199 --> 00:54:16,480
administrator, this is a nice service
for you. Yeah. I mean,

770
00:54:16,480 --> 00:54:20,000
it's one of those things that once
you have it, and once you have

771
00:54:20,039 --> 00:54:22,320
it up and running, it can
be as simple as choco up grade all

772
00:54:22,440 --> 00:54:25,840
on a whole machine. So you're
dropping in past it goes, you're dropping

773
00:54:25,880 --> 00:54:29,960
a past your mum's house, you're
dropping a past your auntie's house. Chocolate

774
00:54:30,000 --> 00:54:31,480
up grade all while you're there,
and it's it's, it's done. So

775
00:54:31,679 --> 00:54:35,320
that's fine. Yeah, it can
be. It's quite appealing when you once

776
00:54:35,320 --> 00:54:37,360
you've got to sell, once you've
done that initial upfront work of knowing what

777
00:54:37,440 --> 00:54:40,880
packages you want, et cetera,
you're in a position to keep them up

778
00:54:40,920 --> 00:54:44,320
to date. Yeah. Yeah,
yeah, and and that's where stuff like

779
00:54:44,360 --> 00:54:47,400
throttle and stuff forth. It helped
because you know, yes, I've got

780
00:54:47,440 --> 00:54:51,960
a family member with limited bandwidth,
so let's take it easy on them,

781
00:54:52,079 --> 00:54:54,960
that kind of thing. But yeah, definitely, it's it sounds pro ish.

782
00:54:55,519 --> 00:54:59,599
I am a family, I T
administrator kind of exactly. I mean

783
00:54:59,639 --> 00:55:02,400
we've all well we've all we all
get those questions at Christmas time and can

784
00:55:02,440 --> 00:55:05,840
you just fix this for me?
Well here, oh, I'm so glad

785
00:55:05,920 --> 00:55:07,880
you're here. You get to eat
by meat loop, But first, can

786
00:55:07,920 --> 00:55:10,960
you fix my printer? Exactly,
that's it. I used to have that

787
00:55:12,039 --> 00:55:15,360
T shirt. No, I will
not fix your printer. Yeah. But

788
00:55:15,480 --> 00:55:17,320
also, I mean the math makes
sense, but ninety six dollars a year

789
00:55:17,320 --> 00:55:22,800
because it's sixteen fifty per machine when
you go business and eight machines would be

790
00:55:22,840 --> 00:55:25,639
like one hundred and thirty dollars,
So like it's it's a reasonable deal.

791
00:55:25,760 --> 00:55:31,559
Although let's face it, like sixteen
bucks per machine for see four beasts not

792
00:55:31,760 --> 00:55:37,159
that expensive. That's fine. Yeah, for a way to keep your machines

793
00:55:37,239 --> 00:55:40,400
up to date orderly and have a
painted glass that sees what's going on with

794
00:55:40,480 --> 00:55:43,960
them. Like this is a good
product. And one of the things that

795
00:55:44,000 --> 00:55:45,679
comes with it once you have enough
seats as well, it's the support aspect

796
00:55:45,719 --> 00:55:50,360
as well, you can force a
support team. We've got a very quick

797
00:55:50,440 --> 00:55:52,920
turnaround in terms of getting back to
folks, and as I said, we've

798
00:55:52,960 --> 00:55:55,960
got that kind of white glove approach
in terms of bringing them up to speed

799
00:55:57,000 --> 00:55:59,760
and knowing what they want to do
with it and making sure that chocolate is

800
00:56:00,000 --> 00:56:02,280
they need in their environment. So
yeah, definitely courage people to reach out

801
00:56:02,280 --> 00:56:06,840
if they're interested in sure. I
mean, we're everywhere, We're on the

802
00:56:06,880 --> 00:56:08,800
discords, we're on the I was
going to say Twitter, but it's not

803
00:56:08,840 --> 00:56:12,719
Twitter anymore. If you have you
got any questions, feel free to reach

804
00:56:12,760 --> 00:56:15,840
out. But absolutely, it's it's
amazing how broken all that has gotten.

805
00:56:16,519 --> 00:56:21,159
It doesn't even bear thinking about it, really doesn't. It's agonizing. Really

806
00:56:21,280 --> 00:56:24,480
makes me sad. All right,
Kerry, what's next for you? For

807
00:56:24,599 --> 00:56:30,960
me? More chocolate stuff at the
minute. But I am an avid contributor

808
00:56:31,000 --> 00:56:34,719
to open source projects, so I've
got it to do list that is growing

809
00:56:34,960 --> 00:56:37,639
and growing and growing. I just
think you find time to get around to

810
00:56:37,760 --> 00:56:42,960
it. But I am heading over
to Sweat Tug conference over and screening in

811
00:56:43,000 --> 00:56:45,480
October, so looking forward to speaking
at that one. But yeah, other

812
00:56:45,559 --> 00:56:50,239
than that, just spending time with
the kids in the family and finally just

813
00:56:51,360 --> 00:56:54,679
loving life. So yeah, sounds
good. Well, keep on doing that

814
00:56:54,800 --> 00:56:59,280
chocolately thing. It's great much all
right, and we'll talk to you next

815
00:56:59,320 --> 00:57:23,079
time on dot net rocks. Dot
net Rocks is brought to you by Franklin's

816
00:57:23,119 --> 00:57:29,000
Net and produced by Pop Studios,
a full service audio, video and post

817
00:57:29,079 --> 00:57:32,800
production facility located physically in New London, Connecticut, and of course in the

818
00:57:32,880 --> 00:57:39,360
cloud online at pwop dot com.
Visit our website at dt n et r

819
00:57:39,440 --> 00:57:45,840
o c ks dot com for RSS
feeds, downloads, mobile apps, comments,

820
00:57:45,199 --> 00:57:50,320
and access to the full archives going
back to show number one, recorded

821
00:57:50,360 --> 00:57:53,239
in September two thousand and two.
And make sure you check out our sponsors.

822
00:57:53,440 --> 00:57:58,039
They keep us in business. Now
go write some code. See you

823
00:57:58,119 --> 00:58:06,920
next time. Got a middle band
body s Summer time bart. My bed

824
00:58:07,039 --> 00:58:09,559
is hard than my pass present b
