WEBVTT

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

