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.880
Become a patron For just five dollars
a month you get access to a private

3
00:00:10.000 --> 00:00:14.359
RSS feed where all the shows have
no ads. Twenty dollars a month will

4
00:00:14.400 --> 00:00:18.800
get you that and a special dot
net Rocks patron mug. Sign up now

5
00:00:18.839 --> 00:00:24.760
at Patreon dot dot net rocks dot
com. Hey Carlin Richard here. As

6
00:00:24.760 --> 00:00:30.120
you may have heard, NDC is
back offering their incredible in person conferences around

7
00:00:30.120 --> 00:00:34.640
the world, and we'd like to
tell you about them. NDC Copenhagen is

8
00:00:34.679 --> 00:00:40.320
happening August twenty seventh through the thirty
first. Go to NDC Copenhagen dot com

9
00:00:40.560 --> 00:00:45.719
for more information. NDC Porto is
happening October sixteenth through the twentieth. The

10
00:00:45.759 --> 00:00:50.719
early bird discount for ADC Porto ends
July twenty first. Go to Dcporto dot

11
00:00:50.799 --> 00:00:56.039
com to register and check out the
full lineup of conferences at NDC Conferences dot

12
00:00:56.079 --> 00:01:00.880
com. Hey there, this is
Jeff Fritz, the purple blazer guy from

13
00:01:00.960 --> 00:01:04.359
Microsoft, letting you in on a
little secret about my friend Carl Franklin.

14
00:01:06.079 --> 00:01:08.760
You know, the guy who started
dot net rocks. The first podcast about

15
00:01:08.760 --> 00:01:14.640
dot Net in two thousand and two. The guy who's been teaching Blazer on

16
00:01:14.719 --> 00:01:19.760
YouTube since twenty twenty, Yeah,
that Carl Franklin. Well, Carl's joined

17
00:01:19.840 --> 00:01:23.680
up with the folks from Code in
a Castle to teach a week long hands

18
00:01:23.719 --> 00:01:29.599
on Blazer class. Are you ready
to get this? At a castle slash

19
00:01:29.760 --> 00:01:34.840
villa in Tuscany. It's sort of
a luxury vacation with Blazer learning built in.

20
00:01:37.000 --> 00:01:42.920
Carl's calling it the Blazer Master Class. You'll learn Blazer from the ground

21
00:01:42.000 --> 00:01:47.640
up, finishing the week with the
ability to build and deploy Blazer applications.

22
00:01:48.799 --> 00:01:52.599
Since the training happens for only four
hours in the morning over six days,

23
00:01:53.000 --> 00:01:57.599
you can bring your significant other,
your partner with you and you should right

24
00:01:57.359 --> 00:02:01.920
This part of Italy's absolutely beautiful.
There's so much to see and do,

25
00:02:02.280 --> 00:02:07.840
and in Larion Marco from Code in
a Castle are organizing daily activities both at

26
00:02:07.840 --> 00:02:13.080
the castle and in the area.
The castle is in the Marema, a

27
00:02:13.159 --> 00:02:17.840
less touristed region of Tuscany, offering
both classic Tuscan hill country as well as

28
00:02:17.960 --> 00:02:23.840
easy access to the Etruscan Riviera,
with sublime local food, wine and olive

29
00:02:23.879 --> 00:02:29.599
oil around every corner. Breakfast is
included. Every day there will be two

30
00:02:29.639 --> 00:02:34.400
communal dinners at the castle book ending
the experience, and most other meals and

31
00:02:34.599 --> 00:02:38.800
all activities are included. And did
I mention you'll learn Blazer in person from

32
00:02:38.879 --> 00:02:44.759
Carl Franklin. Listen, space is
limited and for very good reason. This

33
00:02:44.879 --> 00:02:50.520
is quality training in a beautiful setting. Go to code in Acastle dot com

34
00:02:50.879 --> 00:02:58.280
slash Blazer twenty twenty three that's bla
z o R two zero two three to

35
00:02:58.360 --> 00:03:04.000
take advantage of this amazing opportunity to
join Carl in Tuscany for an unforgettable week

36
00:03:04.280 --> 00:03:17.840
of La dolce vita while advancing your
programming skills in this important new technology.

37
00:03:23.360 --> 00:03:25.639
Welcome back to dot net Rocks.
Is Carl Franklin, and this is Richard

38
00:03:25.680 --> 00:03:30.800
Cavill. And uh, we're starting
like a five show recording run, aren't

39
00:03:30.840 --> 00:03:34.560
we. I think we've already done
part of it, just been the next

40
00:03:34.599 --> 00:03:40.039
one days carry us down through into
into July. So I really do enjoy

41
00:03:40.120 --> 00:03:44.879
to any shows with you and our
guests over the years. It's been a

42
00:03:45.199 --> 00:03:49.080
it's been an amazing ride in a
long time. And I have a better

43
00:03:49.080 --> 00:03:52.800
no framework for us all guys.
Oh by yeah, so roll the music

44
00:03:52.879 --> 00:04:08.879
awesome at well Gate is still making
non SSD drives. The current technology for

45
00:04:08.960 --> 00:04:14.199
platter drives that they're using is h
AMR spinning rusts. Yeah, I know

46
00:04:14.439 --> 00:04:18.000
right. H A m R stands
for Why Richard Heat assisted magnetic recording,

47
00:04:18.120 --> 00:04:24.040
right, So they actually heat up
the platters so that you can put more

48
00:04:24.079 --> 00:04:28.079
bits on the metal or something.
We just come up with new tricks ways

49
00:04:28.120 --> 00:04:36.920
to align rust atoms really precisely.
Pretty crazy. Thirty two terabytes they're coming

50
00:04:38.000 --> 00:04:43.519
up to. Wow, they're gonna
give you a thirty two terabyte regular SATA

51
00:04:43.639 --> 00:04:50.040
drive, Yeah, and followed by
a forty terabyte SAT. I don't have

52
00:04:50.199 --> 00:04:54.759
enough stuff, I know, right, isn't that nuts? Yeah? I

53
00:04:54.759 --> 00:04:59.000
think gonna I'm gonna open up a
competitor to uh, you know, Dropbox.

54
00:04:59.040 --> 00:05:00.480
That's what I'm gonna do. You're
just gonna buy like a million of

55
00:05:00.560 --> 00:05:04.480
these things. Oh man, not, that's amazing. Not anyway. I

56
00:05:04.600 --> 00:05:10.240
still do use some of these drives, but only ten terabytes. As hard

57
00:05:10.279 --> 00:05:13.199
as I go, a mere ten
terabytes. Yeah, I think I've got

58
00:05:13.399 --> 00:05:18.240
I've got four twelves in my synology. But it is interesting to consider the

59
00:05:18.279 --> 00:05:23.000
idea that, yeah, you could
triple that easily with four new drives.

60
00:05:23.600 --> 00:05:26.600
I can't imagine they'll be all that
cheap, but it is amazing to see

61
00:05:26.639 --> 00:05:30.279
that they're still innovating in the space. Yep, it is cool. Anyway.

62
00:05:30.399 --> 00:05:32.360
That's when I have for the old
guys. Great talking to us today,

63
00:05:32.480 --> 00:05:36.519
Richard. I grabbed a comment top
of the show eighteen eighteen which I

64
00:05:36.519 --> 00:05:41.000
don't think you'd be surprised, you
know that I went back to David Whitney's

65
00:05:41.079 --> 00:05:46.319
Well, of course that that show
we did at INDC and OSLOW kicked off

66
00:05:46.319 --> 00:05:50.480
a lot of conversation and still does
to this day. I think this would

67
00:05:50.519 --> 00:05:55.199
be like the fourth comment I've read
from that show. So this is from

68
00:05:55.319 --> 00:05:58.560
Joseph hiller Up, who said,
I think the basic idea is great and

69
00:05:58.639 --> 00:06:00.720
needed, but the actual and Holman
will need to be refined to work,

70
00:06:00.759 --> 00:06:05.600
which is how do we pay open
source maintainers? One issue that comes to

71
00:06:05.639 --> 00:06:10.360
mind is how funny would work when
an open source library uses another open source

72
00:06:10.399 --> 00:06:14.240
library. I mean, who gets
paid by whom and how much? So

73
00:06:14.399 --> 00:06:16.759
you know, if the funding model
was based on utilization, that's an interesting

74
00:06:16.800 --> 00:06:23.720
problem. Should should the one project
help fund the other because they are to

75
00:06:24.120 --> 00:06:27.800
have dependency on it. Another is
the funding model would work fine for startups

76
00:06:27.800 --> 00:06:30.439
and the like, but it wouldn't
work a lot and enterprise organizations and need

77
00:06:30.480 --> 00:06:33.639
contracts and possible even vendors to be
located in certain countries when paying out significants

78
00:06:33.639 --> 00:06:36.560
amounts of money for licenses. Yeah, I don't know that that's true.

79
00:06:36.680 --> 00:06:41.319
I think every organization can approach it
the way they want to. It'll be

80
00:06:41.360 --> 00:06:46.079
more about the standards around what you're
expected to do. But I don't see

81
00:06:46.120 --> 00:06:50.920
this as payment. I see this
as donation. Realistically, making contributions just

82
00:06:50.959 --> 00:06:55.480
to keep that thing going. If
you want certainty, hire a team and

83
00:06:55.560 --> 00:07:00.920
run it yourself. But I do
think the discussion is important, and like

84
00:07:00.959 --> 00:07:05.279
you said, the current model is
likely unsustainable, and we're going to talk

85
00:07:05.319 --> 00:07:09.360
about that further. Joshua, I'm
not entirely sure. Now. I don't

86
00:07:09.399 --> 00:07:11.240
know that I should read this last
part because there has nothing to do with

87
00:07:11.279 --> 00:07:13.720
the show, but I'm going to
do it anyway. Okay, here we

88
00:07:13.759 --> 00:07:16.560
go. PS. I hate to
say this for Richard, who's actually wrong

89
00:07:16.639 --> 00:07:21.600
here. Possibly for the first time
ever, VHS was technically a superior format,

90
00:07:21.920 --> 00:07:26.120
just beta a lot for faster speeds
so people were carrying fast speed on

91
00:07:26.160 --> 00:07:29.240
Beta who use the tape in half
an hour, versus a slower speed on

92
00:07:29.240 --> 00:07:31.000
the VHS that would last for hours
when you can pay the same amount of

93
00:07:31.000 --> 00:07:35.079
tape used per secon with uni formats, VHS looked better. Yeah, so,

94
00:07:35.160 --> 00:07:39.759
well, the popularity doesn't necessarily mean
it's the better format. Well,

95
00:07:39.759 --> 00:07:43.000
it's also that Joshua is completely wrong, like, not even close to correct.

96
00:07:43.000 --> 00:07:46.839
He's reversed a bunch of the facts. That the Beta Max format was

97
00:07:46.879 --> 00:07:50.680
physically smaller in the VHS format,
it was more portable. The original versions

98
00:07:50.680 --> 00:07:54.519
of Beta Max, which came out
a couple of years before VHS, had

99
00:07:54.600 --> 00:07:58.759
more length than VHS. You're remembering
the later versions of VHS when they met

100
00:07:58.800 --> 00:08:01.600
a tape thinner and things got longer
and they slowed down the speeds. Beta

101
00:08:01.639 --> 00:08:07.079
Max was higher resolution, it was
faster to seek on. It was better

102
00:08:07.079 --> 00:08:11.879
in every expect except one thing.
Only Sony was allowed to make them.

103
00:08:11.959 --> 00:08:18.040
Sony refused to allow other companies to
manufacture Beta Max players, and so they

104
00:08:18.199 --> 00:08:24.160
failed the inferior format and essentially every
respect VHS, because it was open,

105
00:08:24.560 --> 00:08:28.720
multiple manufacturers made it and so became
the most popular one in the network effect

106
00:08:28.800 --> 00:08:31.799
took a hold. There were more
players, so more movies were released on

107
00:08:31.799 --> 00:08:37.039
it, and so it dominated.
But you're not going to argue technical merit

108
00:08:37.080 --> 00:08:39.279
of VHS over Beta, and be
right if you think VHS was a superior

109
00:08:39.320 --> 00:08:46.120
technology, it wasn't. It was
the winner, and Sony learned once again

110
00:08:46.200 --> 00:08:50.840
because they continue to do this.
If you don't open up a product line

111
00:08:50.879 --> 00:08:54.679
like that to other vendors, you're
going to lose. That being said Joshua,

112
00:08:56.039 --> 00:08:58.840
I think you may already have a
music to Code buy. I'd happily

113
00:08:58.799 --> 00:09:03.159
send you another one, because you
know you need to when you're that wrong.

114
00:09:03.720 --> 00:09:07.600
Yeah, but contact me at Richard
at pwop dot com and we'll figure

115
00:09:07.639 --> 00:09:09.080
it out. Thanks so much.
And if you'd like a copy of music

116
00:09:09.120 --> 00:09:11.679
code By, write a comment on
the website at dot at rocks dot com

117
00:09:11.799 --> 00:09:15.679
or on the facebooks. We publish
every show there and if I read it

118
00:09:15.720 --> 00:09:18.159
on the show, we'll send you
copy of music go By. And you

119
00:09:18.159 --> 00:09:20.799
know you can follow us on Twitter. But the real fund is happening over

120
00:09:20.919 --> 00:09:24.279
on Mastodon. I'm at Carl Franklin
at tech Hub dot social and now I'm

121
00:09:24.360 --> 00:09:28.320
rich Campbell at Mastodon dot social.
Send us a two. We like him.

122
00:09:28.399 --> 00:09:31.799
By the way, I just got
my blue Sky account too, because

123
00:09:31.799 --> 00:09:35.000
if I don't have enough social media
accounts, what's blue Sky just another one?

124
00:09:35.120 --> 00:09:39.879
Really, it's another Twitter alternative.
Okay, as soon as I get

125
00:09:39.919 --> 00:09:41.000
an invite, all send you one, then we can have even more,

126
00:09:41.000 --> 00:09:46.360
because you know, you can't have
enough bay at least barely functional social media.

127
00:09:46.399 --> 00:09:50.320
And if you say so, all
right, Well, before we leave

128
00:09:50.360 --> 00:09:54.559
the whole VHS beta thing, do
you remember the format that was competing with

129
00:09:54.679 --> 00:10:01.480
Blu Ray was hd DV HDDVD.
That's right, So before I knew that

130
00:10:01.480 --> 00:10:05.960
that Blu Ray was going to be
the and it was probably like the week

131
00:10:05.039 --> 00:10:11.759
before, I ordered an HDDVD player
right right, and and it sat in

132
00:10:11.799 --> 00:10:18.240
the box because Blu Ray one,
and it was completely unusable, and so

133
00:10:18.399 --> 00:10:22.000
I kept it in storage and kept
in storage. And finally we're cleaning out

134
00:10:22.039 --> 00:10:26.000
the garage and my wife goose,
what is this and can we sell that?

135
00:10:26.080 --> 00:10:28.919
And I'm like, no, we
cannot sell that. Nobody will buy

136
00:10:28.960 --> 00:10:33.840
it. Nobody wants that. It's
going in the garbage. Not a thing.

137
00:10:33.080 --> 00:10:37.320
Yeah, Unfortunately, I think I
had an HDDVD player. I think

138
00:10:37.360 --> 00:10:41.440
it was in the old Xbox.
Actually, huh, that's the only one

139
00:10:41.480 --> 00:10:45.919
we had, and then of course
the new ones had Blu Ray. And

140
00:10:46.039 --> 00:10:50.440
who uses spinning media at all anymore? Yeah? I really don't. Yeah,

141
00:10:50.759 --> 00:10:54.600
other than other than those really large
hard drives in your mass storage device.

142
00:10:54.759 --> 00:10:56.519
Yeah, it's about it for spinning
media of any thirty two terabytes.

143
00:10:56.960 --> 00:11:03.519
Okay, let's bring back Sean Walker
to the program. Sean is the original

144
00:11:03.559 --> 00:11:07.080
creator of Octane and before that,
dot Net Nuke Yay. Both of those

145
00:11:07.120 --> 00:11:11.320
are web application frameworks that have earned
the recognition of being amongst the most pioneering

146
00:11:11.360 --> 00:11:16.919
and widely adopted open source projects native
to the Microsoft platform. He has over

147
00:11:18.039 --> 00:11:22.360
thirty years of professional experience in architecting
and implementing enterprise software solutions for private and

148
00:11:22.559 --> 00:11:28.679
public organizations and based on significant community
contributions, He's been recognized as a Microsoft

149
00:11:28.879 --> 00:11:35.639
MVP for over fourteen years and was
recognized in twenty eleven as a Leading Entrepreneur

150
00:11:35.120 --> 00:11:41.480
and the BIV forty under forty Business
Awards, and is currently the chair of

151
00:11:41.519 --> 00:11:46.159
the Project committee for the dot Net
Foundation. Wow by busy Man. Every

152
00:11:46.200 --> 00:11:50.200
time I'm on the show, I
think I better reduced my bio. That's

153
00:11:50.240 --> 00:11:54.559
too long winded, but I always
forget to do that, so I replaced

154
00:11:54.559 --> 00:11:58.639
it. I'd replaced the longer one
with this one. Actually this is the

155
00:11:58.720 --> 00:12:01.120
short one. Yeah, oh boy, I mean, how many more stories

156
00:12:01.360 --> 00:12:05.639
could I tell about you, Sean? Like we've known each other a really

157
00:12:05.720 --> 00:12:09.399
long time? Yeah, yeah,
going back to the eclipse days. Hey,

158
00:12:09.440 --> 00:12:13.600
can we take like a minute and
talk a bit about the dot Net

159
00:12:13.639 --> 00:12:16.919
Foundation, Like, how are things
going? Yeah? Yeah, I've been

160
00:12:16.960 --> 00:12:22.879
on the Foundation as a volunteer for
a long time, since twenty fourteen.

161
00:12:22.960 --> 00:12:28.399
In fact, lately have been focused
on the Project Committee. I'm glad a

162
00:12:28.480 --> 00:12:33.879
lot. We're coming up to another
election actually for the Board of Directors,

163
00:12:33.879 --> 00:12:37.679
so there's going to be I think
I have voted excellent. Yeah. I

164
00:12:37.679 --> 00:12:41.039
think there's three seats that have opened
up, so there'll be three new members

165
00:12:41.120 --> 00:12:48.200
joining and three existing members rolling off
the current board. At least the members

166
00:12:48.279 --> 00:12:52.320
that have been interacting with regularly are
very invested in trying to move the needle

167
00:12:52.360 --> 00:12:58.600
forward when it comes to the foundation
initiatives, and also the professional services company

168
00:12:58.600 --> 00:13:03.200
that we're working with, Virtual Inc, Is also helping us get organized better,

169
00:13:03.759 --> 00:13:07.639
trying to hone in on what the
value proposition is better or trying to

170
00:13:07.679 --> 00:13:11.759
identify the benefits. So a lot
of progress is being made behind the scenes

171
00:13:11.799 --> 00:13:16.639
that isn't exactly visible yet, but
I'm excited about where it's going. It

172
00:13:18.320 --> 00:13:22.440
seems to me that Microsoft has been
a lot more hands off on the dot

173
00:13:22.440 --> 00:13:26.279
Net Foundation these days since the departure
of the last executive director, and it's

174
00:13:26.320 --> 00:13:31.279
just not really been replaced, And
I kind of see that as a good

175
00:13:31.279 --> 00:13:33.399
thing, but I don't know that
everybody sees it that way. Yeah,

176
00:13:33.399 --> 00:13:37.559
that was a big change. Up
until last fall, the executive director had

177
00:13:37.600 --> 00:13:43.200
always been a Microsoft employee and that
wasn't part of the by laws or anything

178
00:13:43.240 --> 00:13:48.759
that was a requirement. It was
more that Microsoft was willing to provide a

179
00:13:48.799 --> 00:13:54.159
resource to the foundation to fill that
role. And usually that person was sort

180
00:13:54.200 --> 00:13:58.360
of doing two roles, right they
were doing work for Microsoft still and working

181
00:13:58.360 --> 00:14:07.039
on the foundation. But after Claire
Nevotney left there was actually a professional firm

182
00:14:07.080 --> 00:14:11.679
that was hired to help with or
like managing the foundation, and since then

183
00:14:11.720 --> 00:14:15.279
there's been a couple of folks from
that firm that have filled the role of

184
00:14:15.320 --> 00:14:18.559
executive director. And it does it
definitely right. It feels more objective,

185
00:14:18.639 --> 00:14:22.200
more impartial a little and you're right, a little bit more arms length from

186
00:14:22.240 --> 00:14:26.279
Microsoft. Yeah, well, I
mean I want dot net to be bigger

187
00:14:26.320 --> 00:14:31.399
than Microsoft. Really, you know, that's my thinking when I when I

188
00:14:31.440 --> 00:14:33.759
think about what the potential of the
foundation is, it's like, hey,

189
00:14:33.840 --> 00:14:35.039
look, dot net can live in
a lot of places, does live in

190
00:14:35.080 --> 00:14:39.200
a lot of places, and it
doesn't have to all be driven by Microsoft.

191
00:14:39.360 --> 00:14:41.840
If there's any possibility this is going
to come true, it's going to

192
00:14:41.919 --> 00:14:46.240
come from the Foundation. Yeah.
Yeah. And of course with any foundation,

193
00:14:46.279 --> 00:14:50.759
the challenge is most of the resources, if not all, are volunteer,

194
00:14:50.320 --> 00:14:54.879
and so it's just it's hard to
get consensus in a sort of a

195
00:14:54.960 --> 00:14:58.279
volunteer structure and to make significant progress. A lot of folks are putting in

196
00:14:58.279 --> 00:15:01.240
a lot of effort. Yeah,
So I hope that, you know,

197
00:15:01.360 --> 00:15:05.639
people will start to see the results
soon. Well, I'm glad you're involved

198
00:15:05.679 --> 00:15:09.000
in the project side. Any particular
projects you want to call out before we

199
00:15:09.080 --> 00:15:13.919
move on. One thing I guess
I would like to mention is that it's

200
00:15:13.919 --> 00:15:18.639
been a little bit slow in terms
of new projects making applications to become members

201
00:15:18.679 --> 00:15:22.320
of the Foundation. That's been the
case for probably the last six months.

202
00:15:24.840 --> 00:15:28.279
Prior to that, there was always
a regular flow of new project applications.

203
00:15:28.519 --> 00:15:31.600
I think there's more than one hundred
projects that are part of the Foundation at

204
00:15:31.639 --> 00:15:37.279
this point, and that includes Microsoft
projects as well as community projects. But

205
00:15:37.360 --> 00:15:39.960
if there's any projects that are,
you know, dot net based, that

206
00:15:41.039 --> 00:15:46.399
are looking to become members of the
Foundation, they should definitely consider submitting the

207
00:15:46.440 --> 00:15:52.639
application and going through the process.
Awesome. I'm looking at the website dot

208
00:15:52.440 --> 00:15:56.360
Net Foundation Project Trends, which has
some nice graphs and stuff, and apparently

209
00:15:56.399 --> 00:16:00.840
that was written with Octane who knew. Yes, yeah, should think have

210
00:16:00.879 --> 00:16:04.120
happened? How good that have happened? Yes, I know, Yeah,

211
00:16:04.120 --> 00:16:07.440
we needed a way to track like
which projects were the most active, and

212
00:16:07.480 --> 00:16:12.200
in fact you weren't at the next
Pauli's on that, yeah as well.

213
00:16:12.240 --> 00:16:15.600
A lot of great work going on
in Polly. Yeah, amazing stuff happening

214
00:16:15.639 --> 00:16:22.639
now that the dot net team got
involved, and really um is making a

215
00:16:22.679 --> 00:16:26.960
new version that's kind of completely blow
away the old stuff and be completely backward

216
00:16:26.960 --> 00:16:30.039
compatible. We talked about that before. I think I think we're getting Joel

217
00:16:30.080 --> 00:16:33.279
on the show at some point.
Richard too. Yeah, they wanted to

218
00:16:33.320 --> 00:16:37.440
wait a little bit till the new
bits were closer to ready before we record,

219
00:16:37.480 --> 00:16:40.399
but yeah, it's on the radar. I think it's will be involved

220
00:16:40.440 --> 00:16:45.480
as well. Yes, yes,
so speaking of Voctane, because we were

221
00:16:45.240 --> 00:16:48.360
Yeah, let's you. You talked
about it a little bit on the last

222
00:16:48.399 --> 00:16:52.759
show here in twenty nineteen that you
did that you were working on this thing.

223
00:16:52.840 --> 00:16:57.960
But I guess now it's there,
it's done, growed up, it's

224
00:16:59.000 --> 00:17:06.200
all ye nineteen. At early stage, it was just getting started. At

225
00:17:06.240 --> 00:17:10.160
that point, I think I had
just released the first version as an open

226
00:17:10.160 --> 00:17:12.079
source project on the hub. Well
what is it? Let's start at the

227
00:17:12.119 --> 00:17:18.240
top. Okay, So I mean
I've kind of changed the messaging around it

228
00:17:18.279 --> 00:17:22.079
a little bit over time. It's
one of those things where I wanted to

229
00:17:22.119 --> 00:17:26.559
position it as a web application framework
focused on developers, and I really was

230
00:17:26.599 --> 00:17:30.519
trying to avoid the term CMS because
there's a lot of CMSs and I felt

231
00:17:30.559 --> 00:17:34.759
like there's no need for another CMS. However, the more I talked to

232
00:17:34.799 --> 00:17:40.000
developers, they tell me Octane is
a CMS. So I'm like, if

233
00:17:40.079 --> 00:17:41.759
it walks like a duck quacks like
a duck, I guess it is a

234
00:17:41.880 --> 00:17:45.200
duck like in some respects and some
stop resisting it, and so now I've

235
00:17:45.240 --> 00:17:49.680
been referring to it as a CMS
and application framework. And obviously it's built

236
00:17:49.680 --> 00:17:53.839
on Blazer. Started with the very
early previews of Blazer and has grown up

237
00:17:53.880 --> 00:17:59.400
since then with every successive version.
And we'll be having a like a dot

238
00:17:59.400 --> 00:18:02.640
in at seven version coming out later
this month. So it's a it's a

239
00:18:03.720 --> 00:18:08.160
it's a Blazer thing though right in
particularly so it fully like so it's a

240
00:18:08.200 --> 00:18:15.519
headless model where it's got the full
back end API to manage users and sites

241
00:18:15.559 --> 00:18:18.720
and all of the standard sort of
entities you would expect in a in a

242
00:18:18.720 --> 00:18:22.920
common sort of web application, but
the front end is all Blazer um.

243
00:18:23.680 --> 00:18:26.640
Yeah, so it took it.
It's taking advantage of the Blazer component model

244
00:18:27.440 --> 00:18:32.440
to build a very composable UI,
which is wonderful. By the way.

245
00:18:32.480 --> 00:18:36.480
I know you're a big fan of
the best thing that's happened web development since

246
00:18:36.519 --> 00:18:40.559
I can remember. Yeah, I
was never a big fan of javascripts.

247
00:18:40.599 --> 00:18:42.960
So the fact that you can kind
of put that to the background and you

248
00:18:44.000 --> 00:18:48.400
can really be productive in writing like
front end c sharp UI is amazing.

249
00:18:48.559 --> 00:18:52.240
Yep, great, Yeah, for
the way you want to work, right,

250
00:18:52.279 --> 00:18:55.920
I mean, that's the whole thing. This will this will work with

251
00:18:56.000 --> 00:18:59.720
you. I do I know why
you want to avoid CMS. I mean,

252
00:18:59.759 --> 00:19:02.759
it is an overblown term, and
it's one of those great things where

253
00:19:02.759 --> 00:19:04.480
if it's simple enough to be easy
to use, and it's not powerful enough,

254
00:19:04.480 --> 00:19:07.920
and if it's sophisticated enough to do
all the things you want, then

255
00:19:07.920 --> 00:19:11.519
it's too bloody complicated. But I
do think you hit this point of it's

256
00:19:11.559 --> 00:19:17.240
a dev tool, it's a framework, but writing your own how do I

257
00:19:17.359 --> 00:19:22.799
let non dev's add content code is
just not smart. That's a solved problem.

258
00:19:22.960 --> 00:19:26.000
So to me, the CMS part
of Octane is the and when the

259
00:19:26.079 --> 00:19:30.200
user wants to add content, here's
your mechanism ready to go. Right.

260
00:19:30.359 --> 00:19:36.440
So do people drop parallels between this
and dot neet nuke old dot neet nuke

261
00:19:36.559 --> 00:19:40.200
users? Do they like this?
Is this like their new version? So

262
00:19:41.279 --> 00:19:47.359
it's a good question because early on
I wanted to make it clear that this

263
00:19:47.519 --> 00:19:52.480
was quite differentiated right from dot net
nuke, because obviously I created dot neet

264
00:19:52.559 --> 00:19:56.000
nuke way back and web forms days
whatever it was two thousand and three.

265
00:19:56.359 --> 00:20:00.599
Yeah, yeah, yeah. But
the reality is, I guess a lot

266
00:20:00.680 --> 00:20:10.440
of the concepts for developing components and
how users would interact with the application.

267
00:20:10.559 --> 00:20:15.240
Those are all very similar to the
way that dot neet Nuke worked, and

268
00:20:15.319 --> 00:20:21.079
even the underlying data model is very
similar to the dotet new data model,

269
00:20:21.119 --> 00:20:26.599
at least the core data model.
So it's really the implementation which is completely

270
00:20:26.599 --> 00:20:30.960
different, right, like built from
the ground up using all the latest technology

271
00:20:30.119 --> 00:20:36.680
dotnet core Blaser. So it really
has no resemblance at all to the way

272
00:20:36.680 --> 00:20:41.480
that dotnet nuke was was built.
Yeah, but from a usability standpoint though,

273
00:20:41.559 --> 00:20:45.160
from is it it does fill a
similar need? It does. Yeah,

274
00:20:45.160 --> 00:20:48.720
it's very similar because it has a
lot of the same concepts, like

275
00:20:48.079 --> 00:20:52.440
multi tendency, meaning you can have
multiple sites that are hosted out of the

276
00:20:52.480 --> 00:20:56.960
same installation. Each site has its
own set of users and roles and content

277
00:20:57.079 --> 00:21:02.480
and things that you can manage.
So a lot of that existed in dott

278
00:21:02.519 --> 00:21:04.160
who as well. So you just
said the magic word roles, And I

279
00:21:04.200 --> 00:21:08.640
know that role based authorization has kind
of fallen out of favor in the last

280
00:21:08.640 --> 00:21:14.160
few years, I guess, And
you know now it's all about claims and

281
00:21:15.039 --> 00:21:18.519
all this stuff, But what are
you using for that mechanism on the back

282
00:21:18.599 --> 00:21:26.960
end? So I'm using the the
dot net identity service like that the library

283
00:21:26.960 --> 00:21:32.720
that Microsoft provides for self hosted off
scenarios, Yeah, because that was one

284
00:21:32.759 --> 00:21:36.960
thing that I felt was like really
lacking in a lot of the templates is

285
00:21:37.079 --> 00:21:40.480
a self hosted model. Like,
yes, you can use things like identity

286
00:21:40.519 --> 00:21:45.559
server and third party tools to get
remote off working, but a lot of

287
00:21:45.559 --> 00:21:48.319
the time in development scenarios, you
just want to self host it off.

288
00:21:48.599 --> 00:21:52.960
I'm actually really happy to see Microsoft's
going to deliver something in dot neet aid

289
00:21:52.000 --> 00:21:56.440
in this regard. Yeah, me
too. But yeah, so it's self

290
00:21:56.480 --> 00:22:02.559
host using the standard Microsoft bits there
um, and then it also has open

291
00:22:02.640 --> 00:22:10.720
id and DC or OIDC like connections, right, so you can have remote

292
00:22:10.720 --> 00:22:15.759
authentication yeah sickond logging with Google and
Twitter and Facebook and yeah, and I

293
00:22:15.200 --> 00:22:22.119
did that using no third party like
libraries or extensions because basically Microsoft already provided

294
00:22:22.119 --> 00:22:26.160
all the bits that are necessary to
interface with those different remote services without using

295
00:22:26.160 --> 00:22:30.279
an identity server or open id,
dick or any of these other you know,

296
00:22:30.319 --> 00:22:33.920
third party options. Yeah, that's
great, it's yeah. It's interesting

297
00:22:34.039 --> 00:22:37.519
how many projects you've been involved in
that it basically been open source projects that

298
00:22:37.559 --> 00:22:42.839
had then been gone on to be
successful, like and making money, Like,

299
00:22:44.000 --> 00:22:47.440
is octained profitable in any way?
How does it sustain itself? Yeah,

300
00:22:47.480 --> 00:22:52.400
so that's sort of a good lead
into the whole commercialization of open source.

301
00:22:52.480 --> 00:22:56.799
But um so, I only recently, within the last month, actually

302
00:22:56.799 --> 00:23:02.200
stepped away from my full time job
a bit Cognizant, where I was leading

303
00:23:02.960 --> 00:23:08.920
professional services team, and with the
intent of going fully um like fully focused

304
00:23:08.960 --> 00:23:15.599
on Octane, both developing out the
product commercially and offering services around it commercially.

305
00:23:15.559 --> 00:23:19.640
But I'm only doing this because I
have confidence that I can succeed based

306
00:23:19.799 --> 00:23:25.119
on the fact that I was able
to do this with dot mat Nuke as

307
00:23:25.119 --> 00:23:27.559
well. Yeah, I was thinking, you should have some confidence. You've

308
00:23:27.559 --> 00:23:32.640
got a bunch of decades of succeeding
at this stuff. So yeah, yeah,

309
00:23:32.680 --> 00:23:34.640
And I also yeah, so I
kind of under And this is where

310
00:23:34.880 --> 00:23:38.319
I think a lot of people don't
really understand some of the fundamentals of open

311
00:23:38.359 --> 00:23:44.039
source UM and these things came up
in some of the prior prior shows,

312
00:23:44.039 --> 00:23:47.839
which is why I reached out and
said, there's an alternate perspective I think

313
00:23:47.880 --> 00:23:52.240
that could be shared about some of
the ideas that David Whitney shared in that

314
00:23:52.279 --> 00:23:59.440
session. And so Nevotney as well. Yeah, and they are they are

315
00:23:59.599 --> 00:24:03.359
well okay, So I mean David's
whole perspective was that package managers like newged

316
00:24:03.480 --> 00:24:10.240
and GitHub could provide probably an ability
for maintainers to make money off of their

317
00:24:10.400 --> 00:24:15.119
open source projects. Right, It's
an interesting idea. Obviously, Carl lapsed

318
00:24:15.160 --> 00:24:18.039
onto that idea really quickly, thought
it was a great idea. But then

319
00:24:18.079 --> 00:24:22.559
when Sarah came on the show,
she kind of explained that it doesn't really

320
00:24:22.559 --> 00:24:26.160
conform to the ideals of open source. Right, And I would say that

321
00:24:26.279 --> 00:24:32.240
they're both correct, but they're both
incorrect at the same time. And I

322
00:24:32.279 --> 00:24:37.799
did a presentation in January at the
last dot Net Foundations summit and it was

323
00:24:37.839 --> 00:24:41.359
the title of the presentation was open
Source Sustainability, but really what it was

324
00:24:41.400 --> 00:24:45.680
focused on was commercial open source.
And I think what you really have to

325
00:24:45.759 --> 00:24:52.400
understand about open source is that is
when it comes to licensing. So if

326
00:24:52.440 --> 00:24:56.480
you are the copyright holder of an
open source project, then you have the

327
00:24:56.480 --> 00:25:03.640
ability to specify whatever license you would
like to provide so that users can take

328
00:25:03.640 --> 00:25:07.200
advantage of your IP right. If
you choose an open source license, it

329
00:25:07.240 --> 00:25:11.400
offers a lot of freedom and a
lot of abilities for people to use it,

330
00:25:11.440 --> 00:25:15.960
but it also restricts your ability to
make money directly off of that IP.

331
00:25:17.799 --> 00:25:22.880
However, it's completely possible for you
to dual license your IP, so

332
00:25:22.920 --> 00:25:26.799
you can have an open source license
and a commercial license, and people can

333
00:25:26.880 --> 00:25:30.599
choose the license that they want.
And it's the same way that when you

334
00:25:30.680 --> 00:25:33.319
go to buy a cell phone today
or rent a car whatever, right,

335
00:25:33.519 --> 00:25:37.200
you can choose to get the insurance
or not get the insurance. Yeah,

336
00:25:37.279 --> 00:25:41.200
right, A lot of people choose
to get the insurance because they're worried about

337
00:25:41.200 --> 00:25:45.000
mitigating the risk if something goes wrong. Same exact thing with open source,

338
00:25:45.279 --> 00:25:49.279
and don't people actually switch halfway through? It's like, hey, start with

339
00:25:49.319 --> 00:25:53.559
the open source product absolutely to a
certain point where you either run into obstacles

340
00:25:53.640 --> 00:25:57.000
or it becomes critical where it's like, how are we going to protect ourselves?

341
00:25:57.119 --> 00:26:00.240
Hey, let's flip to the commercial
license comes with the protection. Yeah.

342
00:26:00.279 --> 00:26:04.400
I'm thinking of Identity Server as the
sort of the iconic example of that

343
00:26:06.119 --> 00:26:11.039
and all the heartache that they went
through with their customers. You know about

344
00:26:11.119 --> 00:26:15.640
Andy and Microsoft too over that,
and I think that that's maybe there's there

345
00:26:15.759 --> 00:26:22.359
really shouldn't be that much resistance to
it as long the resistance and I actually

346
00:26:22.440 --> 00:26:29.880
faced this at Dot and nukes if
you neglect the open source version in favor

347
00:26:29.920 --> 00:26:33.200
of the commercial version, because there's
dual licensing where you offer the same exact

348
00:26:33.200 --> 00:26:38.359
piece of IP under two different licenses, and then there's things like open coore

349
00:26:38.559 --> 00:26:44.400
where you add extra functionality to the
commercial version, which makes it clear that

350
00:26:44.720 --> 00:26:48.480
one version is better than the other. And then you're you know, you're

351
00:26:48.480 --> 00:26:52.920
forcing people to make a decision,
and that's where the open source community starts

352
00:26:52.960 --> 00:26:56.160
to get a little bit anxious.
Kay Growley, Well, the reason I

353
00:26:56.200 --> 00:26:59.799
was so excited about David Whitney's idea
is that it was an option. You

354
00:26:59.839 --> 00:27:03.680
know. It wasn't like, um, you know, you're it wasn't like

355
00:27:03.720 --> 00:27:07.160
you're abandoning one one project for another
or one other thing. It's that,

356
00:27:07.839 --> 00:27:12.880
you know, I've I've got these
core this core set of features in this

357
00:27:12.960 --> 00:27:18.359
thing, and I'm now building a
version that I'm going to charge for that

358
00:27:18.440 --> 00:27:22.519
has these features added to it.
Right, It's it's an option, and

359
00:27:22.559 --> 00:27:25.839
if you don't want to buy it, you don't have to. But I

360
00:27:25.880 --> 00:27:32.519
think that it may not, you
know, be open source. Um,

361
00:27:33.319 --> 00:27:34.200
why should I say, yeah,
I think you said it best. It's

362
00:27:34.279 --> 00:27:38.240
like, that's not the open source
you way to do things right, but

363
00:27:38.480 --> 00:27:44.920
be at GitHub or whatever is the
perfect place to to to put that hook.

364
00:27:45.839 --> 00:27:48.880
I think, you know, but
it's still an option. I saw

365
00:27:48.920 --> 00:27:52.279
no downside in that idea. Yeah, and I think that if you had

366
00:27:52.440 --> 00:27:56.960
even just even if you just took
the standard dual license approach, let's say

367
00:27:56.960 --> 00:28:02.079
you had. Let let's pick a
project like image sharp, that's a popular

368
00:28:02.279 --> 00:28:07.039
image library rate in the dot in
an ecosystem. That project could have an

369
00:28:07.079 --> 00:28:11.920
open source license, very pure open
source license, and a commercial license and

370
00:28:11.039 --> 00:28:15.720
the commercial and they could offer two
packages of it, one under one license,

371
00:28:15.759 --> 00:28:18.799
one under the other, and people
could choose to opt for the commercial

372
00:28:18.839 --> 00:28:22.279
license. And they would need a
way to pay for it. And that's

373
00:28:22.319 --> 00:28:26.160
why I think what David was suggesting, right, is something like newget or

374
00:28:27.039 --> 00:28:32.319
get hub could facilitate that financial transaction. However, you have to realize then

375
00:28:32.400 --> 00:28:34.759
the maintainer of that open source project
is on the hook to provide value,

376
00:28:36.000 --> 00:28:38.519
right, because people aren't paying for
the IP, they're paying for the service

377
00:28:38.599 --> 00:28:44.000
they get around the IP. Yeah, yeah, they're not doing they're not

378
00:28:44.039 --> 00:28:45.839
doing it for fun. I also
think you're there's different classes of project,

379
00:28:47.000 --> 00:28:51.880
like clearly Octane, while it has
a developer component, has a feature set

380
00:28:51.920 --> 00:28:55.839
that some enterprises are going to value. I would argue that's where your differentiation

381
00:28:55.880 --> 00:28:59.000
comes in. Is often with a
paid product, you can add features to

382
00:28:59.119 --> 00:29:03.440
have license or requirements on it for
from third parties, or have cloud dependencies,

383
00:29:03.440 --> 00:29:07.720
things that would be valuable to an
enterprise but cost money and so only

384
00:29:07.720 --> 00:29:11.359
appear in the commercial license. But
I also think you have projects that are

385
00:29:11.519 --> 00:29:18.359
pure internal code libraries that largely aren't
licensable or make don't make sense in that

386
00:29:18.400 --> 00:29:22.759
space, and that's where maybe some
of these other mechanisms would be more credible.

387
00:29:22.799 --> 00:29:26.160
Although that basically I think this was
more Sarah's position. It's like,

388
00:29:26.519 --> 00:29:30.319
listen, if you've taken a dependency
on a piece of software chip the guy

389
00:29:30.440 --> 00:29:36.000
twenty bucks, like, come on, I know, yeah, yeah,

390
00:29:36.160 --> 00:29:41.519
especially if it's providing sort of critical
functionality. Yeah yeah, because one day

391
00:29:41.720 --> 00:29:45.119
that person has to move on work
on other things or job calls, and

392
00:29:45.119 --> 00:29:48.759
there's there's no cycles for it,
and you need something and it's not going

393
00:29:48.799 --> 00:29:52.480
to happen. Right. You certainly
weren't willing to take on or at least

394
00:29:52.480 --> 00:29:55.559
contribute, Like that's the whole Thing's
like a it doesn't have to be money.

395
00:29:55.559 --> 00:29:57.759
It could also be time. Like
there are a bunch of ways to

396
00:29:57.759 --> 00:30:02.759
do this. Yeah. One thing
that we did here at dot and Nick

397
00:30:02.799 --> 00:30:07.200
when it was just a pure open
source project is we would say, like

398
00:30:07.240 --> 00:30:11.400
you could donate. There was there
wasn't options for people to donate to the

399
00:30:11.440 --> 00:30:14.519
project, and they would say,
well, my company can't really donate,

400
00:30:14.680 --> 00:30:18.359
you know, if you had a
commercial license and we'd buy it, because

401
00:30:18.400 --> 00:30:22.440
that's like a traditional sort of procurement
purchasing kind of process that companies can do.

402
00:30:22.440 --> 00:30:27.759
Donating to things is not. It's
kind of like a foreign concept for

403
00:30:27.799 --> 00:30:32.799
a lot of corporate entity. Yeah, I don't know how to put that

404
00:30:32.880 --> 00:30:37.079
through my payment chain. Now,
that's more of a question of getting up

405
00:30:37.079 --> 00:30:40.119
to the CFO and saying, let's
build a mechanism for this, which can

406
00:30:40.200 --> 00:30:42.960
be done. It's just that most
people think the CFO, you know,

407
00:30:44.480 --> 00:30:48.279
lives on clouds and is unapproachable.
Right, there's a palace guard there that

408
00:30:48.279 --> 00:30:52.119
will stab you, and so you
know, you just follow the practices or

409
00:30:52.119 --> 00:30:55.640
replace. The idea of creating new
business flows is beyond most folks. That's

410
00:30:55.680 --> 00:30:59.440
not what they want to do.
And yeah, so I appreciate the idea

411
00:30:59.480 --> 00:31:03.720
of just creating a something that will
fit into the existing payment system, makes

412
00:31:03.759 --> 00:31:08.279
life better. It's just easy to
do, Sean, when I maybe we

413
00:31:08.279 --> 00:31:11.799
should take a break now, but
I have a question for us. Let's

414
00:31:11.799 --> 00:31:14.160
do that. Let's take a break, and we'll be right back with Sean

415
00:31:14.240 --> 00:31:22.000
Walker after this very important message,
and we're back stottnet Rocks. I'm Carl

416
00:31:22.039 --> 00:31:26.000
Franklin. That's Richard Campbell, hey, and that's Sean Walker. We're talking

417
00:31:26.000 --> 00:31:29.839
about Octane and open source and all
that good stuff. I was looking at

418
00:31:29.880 --> 00:31:34.640
the website earlier this morning and looking
for a documentation that a developer would use,

419
00:31:36.079 --> 00:31:41.039
and I ended up in a repo
that wasn't like an MD files or

420
00:31:41.079 --> 00:31:45.000
anything that I could read. It
was code, And then it said something

421
00:31:45.000 --> 00:31:51.039
about the documentation is generated, and
I wondered, if that is generated for

422
00:31:51.519 --> 00:31:55.240
my app that I'm going to build
with Octane, or if that's the Octane

423
00:31:55.319 --> 00:31:59.039
docs and how do I actually figure
out how to use this thing? Yeah,

424
00:31:59.079 --> 00:32:07.920
so that's a good example of where
open source projects often fall short in

425
00:32:07.160 --> 00:32:13.640
providing sort of the services around the
project that some people are looking for and

426
00:32:13.720 --> 00:32:20.680
it's very difficult to encourage people to
contribute to documentation. For whatever reason,

427
00:32:21.200 --> 00:32:24.079
I've been on the Octane project.
I've been hoping for you know, the

428
00:32:24.119 --> 00:32:28.519
last three or four years, that
people could step up and provide assistance in

429
00:32:28.559 --> 00:32:30.319
that area, but nobody does.
And it was the same without and new.

430
00:32:30.400 --> 00:32:34.200
So I feel like this is just
an area where, you know,

431
00:32:34.319 --> 00:32:37.079
in open source, it attracts more
of a developer crowd. They want to

432
00:32:37.079 --> 00:32:40.519
write code, they want to maybe
test code, they don't want to write

433
00:32:40.519 --> 00:32:45.200
docs. So this is another reason
why I feel like I need to create.

434
00:32:45.720 --> 00:32:49.400
In order to get serious with an
open source project, you do need

435
00:32:49.440 --> 00:32:52.160
to provide dedicated, paid resources to
do some of this work. Right,

436
00:32:52.200 --> 00:32:58.039
I'm going to pay a tech writer
to write docs ultimately, and that's just

437
00:32:58.119 --> 00:33:00.160
what's going to be required in order
to move the next level or yeah,

438
00:33:00.240 --> 00:33:02.759
or it's just not going to happen. I mean, there's just reality.

439
00:33:02.920 --> 00:33:07.319
Yeah, yeah, yeah, you're
right. I mean it's a it's a

440
00:33:07.319 --> 00:33:10.519
it's a limitation. And if you
look at a lot of open source projects,

441
00:33:12.480 --> 00:33:17.680
yeah, you're going to read I'm
finding goods. Yeah yeah. But

442
00:33:17.680 --> 00:33:22.680
but and to that point, it's
like you often see this absurdity in the

443
00:33:22.720 --> 00:33:23.799
open source community. It's like,
why would I pay that guy you know,

444
00:33:23.960 --> 00:33:27.000
just going to spend the money.
It's like, now the most likely

445
00:33:27.000 --> 00:33:30.359
thing is going to do is go
spend it on people that will do stuff

446
00:33:30.559 --> 00:33:34.839
they're not going to do, right, Yeah, yeah, like invested into

447
00:33:34.880 --> 00:33:38.519
their product to make it better for
everyone. Yeah yeah. Yeah. This

448
00:33:38.599 --> 00:33:42.720
isn't buy me a cup of coffee
kind of thing. Yeah yeah. But

449
00:33:43.039 --> 00:33:45.599
it's the point, like there's a
lot They've always got this long list list

450
00:33:45.640 --> 00:33:49.839
of things that need to get done, and you can only do so many

451
00:33:49.880 --> 00:33:52.359
of them, and there's only certain
ones that you're good at too, you

452
00:33:52.400 --> 00:33:57.000
know, like especially if it's a
sole maintainer, like they have a particular

453
00:33:57.039 --> 00:34:01.400
skill set. It's not necessarily comprehensive. Writing Documentation is a separate skill and

454
00:34:01.559 --> 00:34:06.960
almost incompatible in some respects. It's
hard to be you know, effective at

455
00:34:07.039 --> 00:34:10.800
running a project and also be effective
at that much less you know, training

456
00:34:10.840 --> 00:34:15.920
materials and demos and samples, like
all of these different skills that come into

457
00:34:16.000 --> 00:34:21.320
play. Yeah. I think that
was a large topic of my presentation that

458
00:34:21.480 --> 00:34:25.760
in January was if you're approaching an
open source project, you should be thinking

459
00:34:25.800 --> 00:34:30.800
about it as if you were starting
a business. Think about all the things

460
00:34:30.800 --> 00:34:35.119
that go into starting a business,
right if you're not prepared to follow through

461
00:34:35.119 --> 00:34:37.119
on those things, And maybe starting
an open source project is also not a

462
00:34:37.119 --> 00:34:43.000
great idea. Yeah, otherwise you're
just going to get buried. Yeah,

463
00:34:43.119 --> 00:34:45.800
and they and the open source maintainer
again it can do all the thing is

464
00:34:45.840 --> 00:34:51.679
just as mythical as the full stack
developer, right, like you, nobody's

465
00:34:51.719 --> 00:34:55.280
good at everything. It shouldn't work
that way, So what some parts of

466
00:34:55.280 --> 00:35:00.079
it are going to fall down unless
you get some help. Yeah. You

467
00:35:00.199 --> 00:35:04.199
run into time constraints as well,
which is you can't do it. He

468
00:35:04.360 --> 00:35:07.519
be everywhere, You can't do all
things. Yeah. And it's also interesting

469
00:35:07.559 --> 00:35:16.239
because even if you do start attracting
a decent group of contributors, like Octane

470
00:35:16.360 --> 00:35:21.760
has had more than forty contributors over
time. Now, some of them,

471
00:35:22.000 --> 00:35:24.320
you know, just submit you know, a few little poll requests here and

472
00:35:24.360 --> 00:35:29.920
there. Others have done more significant
work. But in all those cases it's

473
00:35:29.960 --> 00:35:35.760
on It's up to the maintainer to
really vet all those poll requests right interact

474
00:35:35.760 --> 00:35:39.280
with the community. It actually creates
a large amount of management work for the

475
00:35:39.320 --> 00:35:45.480
maintainer as you increase the number of
contributors, right, because it takes a

476
00:35:45.480 --> 00:35:47.920
long time before a contributor gets to
the point where you can trust that they're

477
00:35:47.920 --> 00:35:51.800
going to make all the same decisions
that you would make as a maintainer.

478
00:35:51.880 --> 00:35:53.880
Yeah. Well, and they almost
certainly won't, even when even when you

479
00:35:53.920 --> 00:35:58.239
do trust them, it's like,
I know this person take approaches this differently.

480
00:35:58.760 --> 00:36:00.639
Is that going to be a problem
here? And odd? Yeah,

481
00:36:00.639 --> 00:36:02.400
And there's a lot of people out
there. We're having this question in the

482
00:36:02.440 --> 00:36:07.960
dot net Foundation right now. People
are becoming members of the Foundation and they're

483
00:36:07.960 --> 00:36:09.360
like, we would really like to
contribute to the projects. How do we

484
00:36:09.400 --> 00:36:14.280
do that? And it's like,
well, first of all, it would

485
00:36:14.280 --> 00:36:15.679
be great if you actually, if
if there's a certain project you want to

486
00:36:15.679 --> 00:36:19.599
contribute to, start using that project, like, become a user of it,

487
00:36:19.920 --> 00:36:22.000
understand how it works, Like don't
just show up and say I want

488
00:36:22.000 --> 00:36:27.239
to write some code. Yeah,
like really understand the use cases that are

489
00:36:27.239 --> 00:36:30.519
involved here, and then you'll start
to see whether there are limitations in certain

490
00:36:30.559 --> 00:36:37.559
areas and then and then submit something
that's valuable right yeah, so yeah,

491
00:36:37.639 --> 00:36:40.440
well, and getting to that point, it's also a rush when you actually

492
00:36:40.480 --> 00:36:45.960
make those contributions successfully, like it
won't be confusing once you've done it,

493
00:36:46.599 --> 00:36:50.519
You know, like that that you're
because the amount of engagement it takes you

494
00:36:50.519 --> 00:36:52.760
get to that point where that pr
makes sense and makes contribution to the code

495
00:36:52.760 --> 00:36:58.960
base and so forth. That's the
hill you climb to be successful. Did

496
00:36:58.960 --> 00:37:02.840
you write Octane all by yourself?
A large portion of the code has been

497
00:37:02.840 --> 00:37:07.639
written by me. Yeah, there
has been a like I said, a

498
00:37:07.719 --> 00:37:12.960
number of other contributors as well that
have contributed in more, some of them

499
00:37:12.960 --> 00:37:16.559
over like over time, some of
them in bursts, like one of my

500
00:37:16.639 --> 00:37:20.800
colleagues that I worked with on dot
net Newke in fact, Charles Nurse,

501
00:37:22.079 --> 00:37:27.559
helped in making it support multiple databases
and so he did a bunch of work

502
00:37:27.559 --> 00:37:30.440
for a couple of months to get
that to happen. So that was very

503
00:37:30.480 --> 00:37:34.920
appreciated. And there's been other folks
who have been more consistent over time.

504
00:37:35.719 --> 00:37:38.320
But yeah, largely I've written a
lot of code, and these contributors are

505
00:37:38.320 --> 00:37:42.880
like, did they come in needing
a feature and so write it themselves?

506
00:37:42.920 --> 00:37:47.679
Like shape of the contributors. Yeah, sometimes that's the case. Sometimes you

507
00:37:47.679 --> 00:37:52.800
know they were trying to do something
quite unique, and the framework won't have

508
00:37:52.920 --> 00:37:57.599
the specific feature they're looking for,
so they'll create it themselves. Other times

509
00:37:58.679 --> 00:38:01.159
it'll be more that maybe I've observed
that there's, you know, a gap

510
00:38:01.280 --> 00:38:05.679
in some area, and I'll ask
if somebody's interested in filling that gap,

511
00:38:05.800 --> 00:38:10.599
right with a within some some parameters. So yeah, there's there's a few

512
00:38:10.599 --> 00:38:15.039
different ways that people can contribute.
So there is a retail version of Octane.

513
00:38:15.679 --> 00:38:20.599
There is not yet that is coming
because I only just formed Octane Labs

514
00:38:21.639 --> 00:38:28.119
just within the last month. Now, did you have customers asking you for

515
00:38:28.159 --> 00:38:30.880
a retail version of it? Like? What was the catalyst of this?

516
00:38:30.079 --> 00:38:35.320
Yeah? Yeah, so there were
folks reaching out and asking if they could

517
00:38:35.400 --> 00:38:40.480
have like support, like a licensed
version that it included support and other kind

518
00:38:40.480 --> 00:38:46.239
of features like that, or could
have assistance with implementations, right, so

519
00:38:47.039 --> 00:38:52.440
system integrator type health as well s
side side, the tech support side,

520
00:38:52.480 --> 00:38:55.480
like all valid things. So you
and that's melis must have been going on

521
00:38:55.559 --> 00:38:58.960
for quite some time that you finally
built at the point where it's like,

522
00:38:59.000 --> 00:39:01.559
I think there's a business here.
Yeah. Yeah. And then also I

523
00:39:01.559 --> 00:39:07.159
think and Carl would understand this.
Microsoft's really done a great job with this

524
00:39:07.559 --> 00:39:12.679
with Blazer, right. This journey
with Blazer has been incredible, and they

525
00:39:12.760 --> 00:39:16.000
keep adding on more capabilities as time
goes on, and so Octane has been

526
00:39:16.039 --> 00:39:20.599
able to kind of build on top
of that ride the wave sort of speak

527
00:39:20.679 --> 00:39:22.719
right, and it's sort of got
to a point now where there's a lot

528
00:39:22.760 --> 00:39:25.480
of there's a lot of interesting value
right in this, in this product,

529
00:39:25.760 --> 00:39:30.000
and I think it's like the optimal
time kind of to you know, create

530
00:39:30.000 --> 00:39:36.679
a commercial entity around it. I
am have created a I create a lot

531
00:39:36.719 --> 00:39:40.639
of repos for Blazer Train and the
dot net show just a little projects that

532
00:39:40.719 --> 00:39:45.920
I show off. And sometimes I
think to myself, should I like put

533
00:39:45.920 --> 00:39:49.599
an MIT license on this, or
you know, should I do like it

534
00:39:49.719 --> 00:39:54.159
officially? And I just never do
And I'm just wondering if that's a that's

535
00:39:54.159 --> 00:39:58.360
a good idea. I mean,
I I basically show them off in YouTube

536
00:39:58.440 --> 00:40:00.800
videos and I bring people to that, and I don't really get a lot

537
00:40:00.800 --> 00:40:07.760
of people contributing back once in a
while, but they essentially sort of public

538
00:40:07.800 --> 00:40:10.320
access then people can average the ideas
in the code. Absolutely yeah, I

539
00:40:10.320 --> 00:40:14.880
mean I'm doing it for public good, you know, I just want people

540
00:40:14.920 --> 00:40:17.800
to use it and modify it.
If they have some modifications, send it

541
00:40:17.840 --> 00:40:21.920
back. And I don't really think
anybody's going to say, you know,

542
00:40:22.039 --> 00:40:23.599
steal it and say, hey,
look at this great thing. Then I

543
00:40:23.639 --> 00:40:27.639
wrote, you know, I don't
care. I don't care about that.

544
00:40:27.760 --> 00:40:30.280
Yeah. I mean, if they're
an example and not intended to be a

545
00:40:30.320 --> 00:40:34.880
full blown product, right, then
I think you're probably taking the right path

546
00:40:34.960 --> 00:40:38.840
there and providing the most value you
can to developers. Right. They're free

547
00:40:38.880 --> 00:40:43.559
to use your ideas however they exactly. Yeah, and if they go to

548
00:40:43.559 --> 00:40:45.599
the trouble of actually turning it into
a product, well, fully on them.

549
00:40:45.679 --> 00:40:47.960
That's a lot of work. Yeah, go for it. I'm certainly

550
00:40:47.960 --> 00:40:52.239
not going to do that for a
living. Yeah, I mean, who

551
00:40:52.239 --> 00:41:00.679
would do that? Sean write software
and for a living, and that's crazy

552
00:41:00.719 --> 00:41:05.800
talk. It does feel that way
sometimes, and I did after I got

553
00:41:06.280 --> 00:41:07.679
done with dot at Nuke. I
think I did tell myself at one point,

554
00:41:07.719 --> 00:41:13.320
yeah, I'm not doing that again. So. I mean, you

555
00:41:13.559 --> 00:41:19.199
did your blog posts just a few
days ago about creating octane labs and yeah

556
00:41:19.320 --> 00:41:22.920
and dead answers and so forth.
Have you had much response yet, had

557
00:41:22.960 --> 00:41:27.599
the pitchforks come out? No pitchforks
at all actually, and that's one thing

558
00:41:27.639 --> 00:41:30.320
that's been interesting. Yeah. So
I don't know if it's just the general

559
00:41:30.400 --> 00:41:37.119
feeling around open sources starting to shift, right. So, I remember the

560
00:41:37.119 --> 00:41:43.679
commercialization of dotnet Nuke was much more
tense, more that there was more resistance

561
00:41:43.719 --> 00:41:47.480
in the community. Um this the
idea of having a company that was somehow

562
00:41:47.519 --> 00:41:53.800
associated with this open source project was
like it really rubbed people the wrong way.

563
00:41:53.840 --> 00:42:00.280
But in this case it's been very
fluid. Um. Yeah. I

564
00:42:00.320 --> 00:42:04.800
think that people are maybe it's coming
to the realization that in order to have

565
00:42:05.159 --> 00:42:09.840
great software, you sometimes need to
have a resource model for it, right,

566
00:42:09.840 --> 00:42:14.039
so that it can provide the services
people need to make a living.

567
00:42:14.840 --> 00:42:21.079
Yeah, like con and it's reasonable
to do so. And arguably like Octane's

568
00:42:21.079 --> 00:42:24.519
about to get better because it's got
the full attention of Sean Walker, and

569
00:42:25.440 --> 00:42:30.159
you're also going to get As people
pay for this product, they're going to

570
00:42:30.159 --> 00:42:34.000
put new pressures on you as well, and that will shape the product also,

571
00:42:34.039 --> 00:42:37.880
it'll make the product better. That
definitely happened in DNN. So as

572
00:42:37.880 --> 00:42:42.000
soon as we had a commercial license, then there were certain types of companies

573
00:42:42.320 --> 00:42:45.159
that maybe had been toying with the
idea of using it. But then they

574
00:42:45.199 --> 00:42:50.639
became real users and they they don't
want to share their ideas about how to

575
00:42:50.639 --> 00:42:53.199
make the product better in a public
form, so they would like to have

576
00:42:53.239 --> 00:42:58.000
a private place right to interact with
you. And so a lot of great

577
00:42:58.039 --> 00:43:01.159
ideas came through those channels, right
yeah, and they were real ideas that

578
00:43:01.199 --> 00:43:06.119
could be put into the field.
Like this is no speculation. This is

579
00:43:06.199 --> 00:43:07.840
you know, not just dashing an
issue. It's like, Okay, we've

580
00:43:07.880 --> 00:43:12.159
gone this far with your product.
Here's the walls we're hitting. How do

581
00:43:12.199 --> 00:43:16.800
we get past these? Exactly?
Yeah, just like any commercial software product,

582
00:43:16.840 --> 00:43:21.760
right, they get better based on
the usage and based on the feedback

583
00:43:21.760 --> 00:43:24.480
that you get from the community.
And you don't always get the full feedback

584
00:43:24.519 --> 00:43:28.400
in an open source project. A
lot of people are just driving by.

585
00:43:28.719 --> 00:43:30.679
They'll use it, they'll run into
a wall, and then they won't tell

586
00:43:30.719 --> 00:43:34.840
you that they don't. They just
move on. Yeah, yeah, yeah,

587
00:43:34.920 --> 00:43:39.360
next thing. So yeah, it's
interesting. The financial commitment is an

588
00:43:39.400 --> 00:43:45.400
interesting element of engagement. You know. I've certainly run into that on the

589
00:43:45.519 --> 00:43:49.840
ht box side, where giving away
the software is as much a problem as

590
00:43:49.880 --> 00:43:53.920
a benefit, because it's hard for
people to value free software. Yeah,

591
00:43:54.119 --> 00:43:59.920
it's the same as with your conference
activities. To a free conference versus a

592
00:44:00.039 --> 00:44:02.920
paid conference, you get a whole
different type of attendee. I get it.

593
00:44:02.960 --> 00:44:07.159
You had fifty percent fall off,
right Like, so you know you've

594
00:44:07.199 --> 00:44:10.360
gone and gotten food through sponsorship and
then half of it doesn't get eaten when

595
00:44:10.519 --> 00:44:14.000
when things are free, like in
some ways, I'm like, at least

596
00:44:14.239 --> 00:44:19.400
charge one hundred bucks enough that people
will show up, right just because of

597
00:44:19.480 --> 00:44:23.719
you know that kind of pain.
Um, yeah, I'm I'm with you.

598
00:44:23.800 --> 00:44:29.039
It's like money is also an expression
of intent. It is. It's

599
00:44:29.039 --> 00:44:31.760
like, if you're gonna have a
you know, a party, and you

600
00:44:31.960 --> 00:44:35.880
put an event right thing out there
something like that, and you want to

601
00:44:35.960 --> 00:44:39.400
charge money, don't say, you
know, twenty dollars at the door or

602
00:44:39.519 --> 00:44:44.320
ten dollars at the door, because
people will reserve a spot, you'll go

603
00:44:44.400 --> 00:44:47.119
buy all your food and party stuff, and then nobody will show up because

604
00:44:47.199 --> 00:44:52.480
they didn't have any commitment in any
skin in the game ticket not enough.

605
00:44:52.760 --> 00:44:54.760
Well, sell tickets ahead of time. Just don't say bring the money at

606
00:44:54.760 --> 00:44:59.920
the door, right Yeah. I
learned that the hard way too, Yeah

607
00:45:00.880 --> 00:45:02.239
yeah, yeah. And again it's
like, how do you get the commitment

608
00:45:02.280 --> 00:45:06.519
from it. The real the real
question is how the product ultimately gets shaped

609
00:45:06.559 --> 00:45:09.440
and things have changed, Like I
gotta think there's areas of development that you

610
00:45:09.480 --> 00:45:15.320
wouldn't do unless you had the commercial
aspects, just because they invariably have an

611
00:45:15.320 --> 00:45:19.440
expense, right, like the old
cloud proxy thing. Like and I'm an

612
00:45:19.480 --> 00:45:23.519
admirer of the home Assistant open source
project and how they transform themselves because it

613
00:45:23.639 --> 00:45:29.719
became apparent they needed a cloud proxy
and charging people five bucks a month for

614
00:45:29.760 --> 00:45:34.559
the cloud proxy change the whole dynamic. It brought a lot of money to

615
00:45:34.639 --> 00:45:37.079
the equation because it made and it
made a huge difference there, Like it

616
00:45:37.119 --> 00:45:40.239
doesn't have to be a complicated thing, but it's also a thing that is

617
00:45:40.360 --> 00:45:46.159
not free because it can't be operated
for free, and that sort of just

618
00:45:46.360 --> 00:45:51.440
shapes the equation. Now. It's
like your customer relationship changes, the opportunity

619
00:45:51.440 --> 00:45:55.599
space changes, the expectations change,
and generally for the better if you're prepared,

620
00:45:57.000 --> 00:45:59.239
Like I have every confidence in you, Sean. We've don't showed it

621
00:45:59.280 --> 00:46:01.239
a long time, You've been down
this road before, but I think a

622
00:46:01.239 --> 00:46:06.679
lot of maintainers looking for I really
want to do this project as a living

623
00:46:06.800 --> 00:46:09.039
just don't have an idea of what's
going to happen to you right when you

624
00:46:09.079 --> 00:46:14.840
turn when you switch commercial, right, yeah, Yeah, And it is

625
00:46:14.840 --> 00:46:22.280
a matter of thinking about creating a
real business around it and and what's entailed

626
00:46:22.320 --> 00:46:23.280
in doing that. And I guess
you're right A lot of a lot of

627
00:46:23.320 --> 00:46:27.960
maintainers are just developers who have always
just worked for other companies, yeah,

628
00:46:28.000 --> 00:46:30.679
and don't have any insight into,
you know, the business aspects of that.

629
00:46:31.519 --> 00:46:35.199
Yeah. And I would have to
say even when I got like when

630
00:46:35.199 --> 00:46:37.480
I transitioned in Dot and Nuke,
I was pretty naive, right too,

631
00:46:38.400 --> 00:46:43.840
all that was involved. It was
a lot. It was also very early

632
00:46:43.920 --> 00:46:46.320
days, like open source wasn't really
a thing in the in the Microsoft community

633
00:46:46.400 --> 00:46:51.199
when you guys were first headed down
that like that was part of the problem,

634
00:46:51.280 --> 00:46:54.760
I thought, and you make mistakes, Yeah, yeah, it was.

635
00:46:58.119 --> 00:47:02.039
It wasn't a friendly environment towards open
source at all, definitely from Microsoft,

636
00:47:02.079 --> 00:47:05.440
although there was certain pockets, right, Like there was always the folks

637
00:47:05.440 --> 00:47:08.800
like Scott Guthrie, that team that
was very pro open source, right,

638
00:47:08.800 --> 00:47:13.039
and so they're the ones who sponsored
gotten that knuke great in the early days,

639
00:47:14.239 --> 00:47:19.920
Hanselman and Hack and Connery and like
the Ninja Army. Yeah, yeah,

640
00:47:20.079 --> 00:47:23.800
they transformed the company kind of from
the inside out, right, Yeah,

641
00:47:24.079 --> 00:47:27.559
some ways. You know, someday
I might actually finish the book that

642
00:47:27.599 --> 00:47:30.840
explains a lot of that stuff.
It's a very interesting set of forces,

643
00:47:30.920 --> 00:47:35.000
Like Richard, I am to come
there and like, babysit you to write

644
00:47:35.039 --> 00:47:37.760
this book. Do I need to
bring some whiskey? I think I need

645
00:47:37.880 --> 00:47:45.440
riddle it actually, But you know, there's this great moment and I've never

646
00:47:45.480 --> 00:47:51.119
fully written this part out where leadership
has figured out that it's essential, and

647
00:47:51.400 --> 00:47:53.519
there's folks down in the trenches that
have figured out that it's essential, but

648
00:47:53.559 --> 00:47:57.800
the folks in the middle still haven't
gotten it yet. And there's this sort

649
00:47:57.840 --> 00:48:00.639
of pressure. How do you push
in, Like you don't want to dictate

650
00:48:00.679 --> 00:48:02.639
from on high, You wanted to
come from grass roots, but they were

651
00:48:02.679 --> 00:48:06.960
resisting all that time. Like this
is this fascinating moment where it's like,

652
00:48:07.239 --> 00:48:09.519
you know, two thirds of you
guys are on the same side. You

653
00:48:09.639 --> 00:48:15.599
just don't know. Interesting, but
that seemed to happen when Satya kind of

654
00:48:15.719 --> 00:48:21.880
came in right that maybe it was
coincidental that had happened at that time,

655
00:48:21.880 --> 00:48:24.880
but that seemed to be there was
a big shift that happened. Yeah,

656
00:48:25.159 --> 00:48:29.920
we definitely then the leadership was in
that space. And one would argue that

657
00:48:30.199 --> 00:48:35.159
that Bomber realized that he was an
obstacle to the new company and so needed

658
00:48:35.199 --> 00:48:37.840
to move on too. But this
really comes down to the shift of the

659
00:48:37.880 --> 00:48:42.599
cloud, because the shift of the
cloud means I just want workloads and if

660
00:48:42.599 --> 00:48:45.840
some of them are open source whatever, Right, We're not a Windows companymore,

661
00:48:45.840 --> 00:48:49.519
We're a cloud company. And so
you know, and you look at

662
00:48:49.519 --> 00:48:52.079
it now, like forty percent of
there were cloathes or Linux. Yeah,

663
00:48:52.280 --> 00:48:55.719
because who cares? They make their
own flavor or Linux. For crying out

664
00:48:55.719 --> 00:49:00.119
loud, there's like half a diven
different flavors of Linus you can download from

665
00:49:00.119 --> 00:49:07.199
the Windows Store. The Windows Store
at a different time it is from when

666
00:49:07.199 --> 00:49:09.679
we started. I was actually talking
to my brother yesterday because and he worked

667
00:49:09.719 --> 00:49:17.559
with me in DNN Corp. And
we got a lot of partnership value from

668
00:49:17.559 --> 00:49:22.159
Microsoft in like the twenty like two
thousand and nine through twenty and twelve era

669
00:49:22.559 --> 00:49:28.639
because they were still fixated on competing
with Linux and Php and WordPress, you

670
00:49:28.719 --> 00:49:31.000
know, all of those, yes, and they wanted to showcase that there

671
00:49:31.000 --> 00:49:36.039
were options available on Windows, like
native options, right. Dot Nuke was

672
00:49:36.039 --> 00:49:40.559
one of those options, and so
we got a lot of marketing visibility as

673
00:49:40.559 --> 00:49:44.440
a result of that. Right,
But yeah, that is not the world

674
00:49:44.440 --> 00:49:46.239
we're in anymore. No, not
at all. Right now, it's embrace

675
00:49:46.320 --> 00:49:51.159
everyone, which is great. Well
I'm not saying that's a bad thing.

676
00:49:51.360 --> 00:49:54.559
And also trying to interoperate too,
That's all part of it is like can

677
00:49:54.559 --> 00:49:57.800
we all work and play well with
each other? Like in some ways the

678
00:49:57.800 --> 00:50:01.079
operating systems just kind of become irrelevant. I don't care. Just can you

679
00:50:01.159 --> 00:50:05.880
can you consume my Jason feter or
not? You know? That's what that's

680
00:50:05.880 --> 00:50:10.440
what as matters. I had the
surreal experience of having this conversation with my

681
00:50:10.480 --> 00:50:16.039
wife which culminated in her admitting she
didn't know what the operating system was,

682
00:50:17.039 --> 00:50:21.960
you know, and and I think
most users don't know Windows. What's Windows?

683
00:50:22.239 --> 00:50:23.960
Kind of a it's a good day, isn't it? Yeah? Because

684
00:50:23.960 --> 00:50:28.199
it is a releavant. Well,
what's what's Windows? Windows? You know?

685
00:50:28.360 --> 00:50:30.039
The operating system? What's that?
I mean? Is that the my

686
00:50:30.119 --> 00:50:35.159
tabs? Or is it the things
on my desktop? Is that Windows?

687
00:50:35.320 --> 00:50:39.840
Yeah? You know, it's hard
it's hard to know. Yeah, you

688
00:50:39.840 --> 00:50:44.480
know that desktop Windows. If you
weren't around you know, and you didn't

689
00:50:44.519 --> 00:50:50.280
understand what part of the technical terms
the hardcore Mac users that's Windows. Yeah,

690
00:50:50.320 --> 00:50:54.679
that's true. I love telling this
story when I when I was younger,

691
00:50:54.960 --> 00:50:59.280
um, because I was a PC
guy in this Mac guy came up

692
00:50:59.280 --> 00:51:02.519
to me, was learning programming stuff. What what are these things called files?

693
00:51:05.119 --> 00:51:07.920
What's a file? You didn't know
because you know his environment was draggy,

694
00:51:07.960 --> 00:51:13.199
droppy and documents and whatever. Well, that's dial the norm. Most

695
00:51:13.239 --> 00:51:15.159
people don't know where they're stuff stored
anymore because it just gets stored and they

696
00:51:15.159 --> 00:51:19.159
can find it when they need it. Yeah. The idea that lives on

697
00:51:19.199 --> 00:51:22.920
a Google drive or a one drive
or any of those. How many Who

698
00:51:22.159 --> 00:51:28.920
doesn't matter? Who makes good hard
disk hierarchies anymore? Right, Yeah,

699
00:51:29.079 --> 00:51:32.960
nobody sort of thing. Yeah,
even when I had folders to Google Drive

700
00:51:34.039 --> 00:51:37.679
or something like that, I don't. I don't make folders and subfolders and

701
00:51:37.679 --> 00:51:39.639
stuff. I just make documents because
you can just find him by searching.

702
00:51:40.119 --> 00:51:43.840
Yeah, it doesn't matter, It
doesn't matter. On the on the topic

703
00:51:43.880 --> 00:51:45.280
of books, So you've been working
on a book a long time, Richard.

704
00:51:45.519 --> 00:51:50.800
Yeah, but um, have you
noticed that there seems to be a

705
00:51:50.880 --> 00:51:54.679
lot more technical books coming out again? Like it felt like I thought books

706
00:51:54.679 --> 00:51:59.960
were going away, but I keep
seeing more and more announcements on things like

707
00:52:00.119 --> 00:52:05.119
LinkedIn about people writing books. I
think the publication costs have dropped enough now

708
00:52:05.280 --> 00:52:08.480
that they the then minimum number of
sales for it to be worthwhile for the

709
00:52:08.480 --> 00:52:13.519
publisher is small. Well, when
you say publisher, are most people self

710
00:52:13.559 --> 00:52:16.159
publishing? Now? Some folks are, But the drive you're seeing right now,

711
00:52:16.199 --> 00:52:21.199
it's like I get a lot of
messages from different publishers that now have

712
00:52:21.320 --> 00:52:24.360
new engines and are keen to find
authors of things. Yeah, I mean

713
00:52:24.360 --> 00:52:29.039
I most likely will self published the
history of dot net. Yeah, I

714
00:52:29.079 --> 00:52:31.079
hadn't really excited. I think it's
become pretty clear that most people just want

715
00:52:31.119 --> 00:52:36.360
the audiobook anyway, I want the
coffee table book with the glossy photos and

716
00:52:36.400 --> 00:52:39.639
everything, totally. Yeah, they
reaction to Really, nobody's going to read

717
00:52:39.679 --> 00:52:44.159
the physical book. What they want
is to spine in their video shop behind

718
00:52:44.199 --> 00:52:47.400
them, right that it says history
down, that's what the library. Yeah,

719
00:52:47.599 --> 00:52:50.880
and then it may be on their
kindle and it might be you know,

720
00:52:51.000 --> 00:52:52.960
in there and on their phone.
Yeah, and that's really what's going

721
00:52:53.000 --> 00:52:57.719
to happen, and that and the
director's commentary, I'll tell all the ridiculous

722
00:52:57.760 --> 00:53:05.079
stories of trying to assemble the stupid
Yeah. All right, well, where

723
00:53:05.519 --> 00:53:07.159
where are we going next? Here? Sean? What's what's next for you?

724
00:53:09.679 --> 00:53:15.800
Like? So this release for dot
at seven obviously coming up this month,

725
00:53:15.840 --> 00:53:20.119
but then moving towards course dotin at
eight. There's a lot of changes

726
00:53:20.320 --> 00:53:24.119
coming with Blazer, a lot of
interesting possibilities with this new server side rendering

727
00:53:24.159 --> 00:53:28.840
model, right, So I'm trying
to wrap my head around that because there's

728
00:53:28.880 --> 00:53:34.760
some things that we did in Octane
which are you know, pushing the envelope

729
00:53:34.760 --> 00:53:37.840
a little, Like, for example, we don't use the default Blazer router.

730
00:53:37.119 --> 00:53:42.480
We have our own custom router,
and there are you know, certain

731
00:53:42.519 --> 00:53:46.320
dependencies that have kind of emerged over
time that are dependent on the default routers.

732
00:53:46.320 --> 00:53:51.159
So we have to figure out how
to reconcile those differences to unleash this

733
00:53:51.239 --> 00:53:58.320
new functionality. So how have you
found the process of updating Blazer projects or

734
00:53:58.360 --> 00:54:01.800
any project for that matter. M
one version of dot net to the next,

735
00:54:01.800 --> 00:54:06.440
and I don't mean dot Net Windows
Framework. Um, you know,

736
00:54:06.559 --> 00:54:12.400
done Core from say done or three
to five to six to seven? How

737
00:54:12.480 --> 00:54:15.159
many of those have you done?
And have you found them as easy as

738
00:54:15.159 --> 00:54:17.199
everybody says they are. Yeah,
so I've done all the full sort of

739
00:54:17.440 --> 00:54:21.960
you know, version upgrades, and
it's been seamless, to be honest,

740
00:54:22.360 --> 00:54:27.880
like, and that's pretty amazing considering
that Octane is a pretty large codebase at

741
00:54:27.920 --> 00:54:31.000
this point. UM. But like, for example, moving from six to

742
00:54:31.079 --> 00:54:36.800
seven was like just changing the references. That's there was not a single breaking

743
00:54:36.880 --> 00:54:40.440
change. Wow, And yeah there
was, and I think even from five

744
00:54:40.519 --> 00:54:46.960
to six it was like very minimal
animal yeah, yeah, yeah, So

745
00:54:47.400 --> 00:54:52.760
Microsoft's done a very good job at
that um And in fact, it's it's

746
00:54:52.800 --> 00:54:57.559
interesting because when I talk to other
folks that are in other ecosystems like Angular,

747
00:54:58.480 --> 00:55:04.679
especially Angular, they seem to be
really frustrated at the breaking changes that

748
00:55:04.760 --> 00:55:08.679
happened constantly in every release. Right, So this is a real advantage I

749
00:55:08.719 --> 00:55:13.800
think for Blazer, certainly, Angular
one to two was the most painful,

750
00:55:13.840 --> 00:55:16.320
I think, wasn't it. I
think lately it's been super painful even with

751
00:55:16.760 --> 00:55:22.239
recent versions. Jeez, what are
they out at sixteen? Like this should

752
00:55:22.280 --> 00:55:25.199
be smoothed that by now, but
I would argue that Blazer being such a

753
00:55:25.280 --> 00:55:30.320
young product, it would be more
likely to twitch more. Agreed, But

754
00:55:30.360 --> 00:55:35.639
I think you're also dealing with a
very experienced team that does know how to

755
00:55:35.760 --> 00:55:38.320
smooth a lot of this. Yes, I was going to say that,

756
00:55:38.440 --> 00:55:43.079
you know, when Steve Sanderson had
that first demo, you look at the

757
00:55:43.119 --> 00:55:45.960
first demo, not a whole lot
has changed in the component model since that

758
00:55:46.159 --> 00:55:51.239
very first demo he did at NDC. Granted it was pretty simple, but

759
00:55:51.360 --> 00:55:53.400
I mean, and things have been
added to it, but it still kind

760
00:55:53.400 --> 00:55:57.480
of looks the same, and the
underlying cobase has been completely changed, but

761
00:55:57.559 --> 00:56:00.039
they have not moved away from the
core meta. Yes, I don't know

762
00:56:00.119 --> 00:56:02.960
the Blazer United is even on your
radar, you Sean, because it's not

763
00:56:04.119 --> 00:56:07.760
really Yeah no, that's what I
was talking to about the servers, Yeah,

764
00:56:07.840 --> 00:56:12.599
because I think they're moving away from
that United name. Yeah, it's

765
00:56:12.639 --> 00:56:17.400
like a United concept now it's going
to be yeah yeah, yeah, But

766
00:56:17.480 --> 00:56:22.400
yeah, I'm excited about that because
like in a in an application like Octane,

767
00:56:22.440 --> 00:56:29.239
there are certainly pages where there is
just content that could be rendered and

768
00:56:29.280 --> 00:56:32.760
not necessarily anything that's interacting, and
that's a perfect candidate for server side rendering.

769
00:56:34.400 --> 00:56:37.880
Yeah, so yeah, I think
it's a good fit. Yeah.

770
00:56:37.880 --> 00:56:39.960
Why I push that stuff to the
client, you'll get you'll get good results

771
00:56:40.199 --> 00:56:45.400
without doing that. So just it's
just the ability for you as the manager

772
00:56:45.440 --> 00:56:47.880
of that CMS to go through today, how that can be server that's best

773
00:56:47.880 --> 00:56:52.840
client, you know, and so
on and yeahs and that should produce better

774
00:56:52.880 --> 00:56:55.280
performance of the application in general because
it doesn't have to render things twice.

775
00:56:55.599 --> 00:57:00.840
Yeah. Yeah. And it's to
be interesting. Yeah, it's going to

776
00:57:00.880 --> 00:57:05.159
be. It's a good ride.
And do you think people are finally gotten

777
00:57:05.199 --> 00:57:08.559
past the idea that this is the
next silver Light Yeah? God, thank

778
00:57:08.599 --> 00:57:13.559
god for that. You still every
once in a while I still get some

779
00:57:13.639 --> 00:57:17.440
pushback on that and I have to
explain it all over again. Yeah,

780
00:57:17.840 --> 00:57:22.199
I mean people are still angry.
It's remarkable as long ago as it was,

781
00:57:22.599 --> 00:57:27.119
But that's because Microsoft has a history
of always building paths for developers going

782
00:57:27.119 --> 00:57:32.039
forward, and silver LIGHTY is just
glaring hole of except there where you did

783
00:57:32.079 --> 00:57:37.920
nothing. You basically abandoned us.
We're five or six years into this now,

784
00:57:37.960 --> 00:57:44.440
so it's pretty clear that there's like
a roadmap. Yeah, And of

785
00:57:44.440 --> 00:57:47.639
course the difference between the plug in
model and web assembly is remarkable. And

786
00:57:47.960 --> 00:57:52.719
you know, the thing is is
that maybe the real thing about silver Light

787
00:57:52.760 --> 00:57:57.199
to what would have prevented that was
making it in the first place, because

788
00:57:57.239 --> 00:58:00.039
at the time, the plug in
model was the only way to do it

789
00:58:00.519 --> 00:58:05.320
in the browser, and it wasn't
secure and it wasn't safe. And should

790
00:58:05.360 --> 00:58:07.800
they have known that, you know
that, I don't know. Yeah,

791
00:58:07.840 --> 00:58:10.800
they were competing for against flash,
right, like that was what they're right,

792
00:58:10.880 --> 00:58:15.920
we're concerned about it, and it
got transformed into something more. But

793
00:58:16.039 --> 00:58:19.599
I mean, you know, that's
in twenty ten. In April, it

794
00:58:19.719 --> 00:58:24.320
was the way to build enterprise out
and by November it was nowhere, basically

795
00:58:24.679 --> 00:58:29.639
disappeared, but not even announce just
yeah, there were no sessions at PDC

796
00:58:29.960 --> 00:58:31.960
like that was a thing. But
that's also when they were freaking out about

797
00:58:31.960 --> 00:58:35.639
what would become win A, so
they were all pretty locked out. I

798
00:58:35.679 --> 00:58:37.159
mean, it was a very bizarre
time. I don't expect to be repeated,

799
00:58:37.159 --> 00:58:40.119
No, I don't. I don't
see that happening again. But I

800
00:58:40.119 --> 00:58:43.920
mean, look at the differences in
Blazer too. Ye open source right,

801
00:58:44.239 --> 00:58:46.760
like Microsoft could walk away from it, but the code ain't going to disappear

802
00:58:47.079 --> 00:58:55.440
and everybody uses everybody embraces web assembly, everybody even Safari. Yeah finally,

803
00:58:55.519 --> 00:58:59.880
but yes, and all of that
is true. I still think a lot

804
00:59:00.000 --> 00:59:04.000
out of the folks that came up
are coming out of web Forms are enamtor

805
00:59:04.039 --> 00:59:08.559
Blazer because it's the all C sharp
experience. Y Yeah. It's surprising how

806
00:59:08.599 --> 00:59:15.360
many web forms applications are still out
there yep. And millions don't have I

807
00:59:15.440 --> 00:59:19.000
don't think really a good path forwards. No, I just wonder how many

808
00:59:19.000 --> 00:59:22.480
of them are no longer buildable.
Why, like the companies depend on them,

809
00:59:22.480 --> 00:59:24.519
but yeah, the code basis,
they don't have a working de environment

810
00:59:24.519 --> 00:59:28.440
for We did a new version of
an app for that was a web forms

811
00:59:28.480 --> 00:59:31.440
app for a customer and when you
know, I said, so, so

812
00:59:31.599 --> 00:59:36.360
what's your timeline? He's like,
well, I'm not so sure this is

813
00:59:36.360 --> 00:59:40.159
gonna make it through the winter.
Like you know, it's running with duct

814
00:59:40.199 --> 00:59:45.760
tape and bailing wire crashes often,
and you know, we may not see

815
00:59:45.760 --> 00:59:47.639
it towards the end of the couple
of months. There's a couple of assists

816
00:59:47.639 --> 00:59:52.000
admins that have written a whole bunch
of scripts to keep rebooting things or restarting

817
00:59:52.400 --> 00:59:55.760
repairing stuff and so forth, and
they're all tired. Yeah I know,

818
00:59:58.400 --> 01:00:00.519
yeah, I feel sorry for the
people and had to deal with that stuff

819
01:00:00.599 --> 01:00:06.519
back then. Now it's a kickwalk
compared to that. I still keep running

820
01:00:06.519 --> 01:00:08.840
across dot at nukes sites out in
the wild. In fact, like my

821
01:00:09.000 --> 01:00:13.960
local municipality where I live, they
have a dotinet nukes site running their public

822
01:00:14.039 --> 01:00:20.119
utilities site still and probably a vintage
site like A four like probably yeah,

823
01:00:20.239 --> 01:00:23.039
yeah, so well, any this
the thing is you find these little nooks

824
01:00:23.039 --> 01:00:29.000
and crannies of unmaintained software that the
company has a dependency on there, you

825
01:00:29.039 --> 01:00:32.320
know, way out of date on
versions, probably don't have a working dev

826
01:00:32.400 --> 01:00:35.920
environment, more that they couldn't build
it if they even wanted to, much

827
01:00:36.039 --> 01:00:39.119
less that you'd have any chance I'm
doing. Do you have an upgrade path

828
01:00:39.320 --> 01:00:45.000
for dot net nuke users to get
their content running and octane. Not a

829
01:00:45.000 --> 01:00:49.679
automated one, but I believe there
could definitely be one created because, like

830
01:00:49.679 --> 01:00:53.559
I said, the data models are
very similar, so the data would move

831
01:00:53.599 --> 01:00:57.920
across. But the apps, like
if you have custom modules that you wrote

832
01:00:58.039 --> 01:01:00.480
for of course web forms, they
would have to be rewrit shirtleaser components.

833
01:01:01.039 --> 01:01:05.199
No, we do way to do
that. Yeah, well, congratulations man,

834
01:01:05.239 --> 01:01:07.719
I mean I'm hoping we'll you'll help
me back to talk about how the

835
01:01:07.760 --> 01:01:15.800
commercialization side is going on and the
land mines you haven't seen yet. I'd

836
01:01:15.800 --> 01:01:20.159
be happy to be back you two, Sean, take care and thanks for

837
01:01:20.239 --> 01:01:45.280
listening, and we'll see you next
time. I'm dot net Rocks. Dot

838
01:01:45.280 --> 01:01:49.679
net Rocks is brought to you by
Franklin's Net and produced by Pop Studios,

839
01:01:50.039 --> 01:01:54.320
a full service audio, video and
post production facility located physically in New London,

840
01:01:54.360 --> 01:02:00.960
Connecticut, and of course in the
cloud online at pwop dot com.

841
01:02:00.239 --> 01:02:04.719
Visit our website at d O T
N E t R O c ks dot

842
01:02:04.719 --> 01:02:09.119
com for RSS feeds, downloads,
mobile apps, comments, and access to

843
01:02:09.159 --> 01:02:14.840
the full archives going back to show
number one, recorded in September two thousand

844
01:02:14.880 --> 01:02:17.320
and two. And make sure you
check out our sponsors. They keep us

845
01:02:17.320 --> 01:02:22.760
in business. Now go write some
code, see you next time. You

846
01:02:22.880 --> 01:02:23.199
got a Dan

