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,679
up now at Patreon dot dot net
rocks dot com. Hey Carlin Richard here.

6
00:00:24,039 --> 00:00:28,480
As you may have heard, NDC
is back offering their incredible in person

7
00:00:28,559 --> 00:00:33,960
conferences around the world. DC Porto
is happening October sixteenth through the twentieth.

8
00:00:34,240 --> 00:00:38,280
Go to dc porto dot com to
register and check out the full lineup of

9
00:00:38,320 --> 00:01:03,920
conferences at NDC conferences dot com.
Hey Covidhagen, it's dot net Rock holy

10
00:01:03,000 --> 00:01:10,959
Craft. Must be forty thousand people
in this room. Yeah. So the

11
00:01:11,040 --> 00:01:14,239
person who came in late, I
was reminded of that Danish comedian Victor Borga.

12
00:01:14,280 --> 00:01:15,799
Do you know who he was?
Yeah, of course you do,

13
00:01:15,879 --> 00:01:21,159
because he's in your country. So
he was doing a performance and somebody came

14
00:01:21,280 --> 00:01:23,159
late and he says, where'd you
come from, madam? And she says

15
00:01:23,439 --> 00:01:27,079
California. He goes, I came
from Gobenhagen. I was here before you

16
00:01:29,879 --> 00:01:32,879
anyway, we aren't here with April
Edwards iss dotting at rocks. We're gonna

17
00:01:32,879 --> 00:01:34,920
be talking some gid hub and some
DevOps and all the juicy stuff that goes

18
00:01:34,959 --> 00:01:40,319
along with it. But first we
have this little thing we do called better

19
00:01:40,359 --> 00:01:53,959
no framework. Alright, funny when
you got so everybody's familiar with CHATCHYPP right,

20
00:01:55,239 --> 00:01:57,519
pretty sure of course, And have
you guys messed with it? Don't

21
00:01:57,599 --> 00:02:00,840
raise your hand because it's a radio
show. Giving a round of applause if

22
00:02:00,879 --> 00:02:07,480
you mess with gpt A right again, All right, now clap again.

23
00:02:07,599 --> 00:02:10,439
If you've seen pseudo lang? What's
a pseudo lang? Oh? This is

24
00:02:10,479 --> 00:02:14,639
so cool. I get to show
you something good, good and new.

25
00:02:15,280 --> 00:02:19,560
So pseudo lang is it's sort of
a spec of a language that you can

26
00:02:19,719 --> 00:02:25,680
use to create prompts to chat GPT. That's more like programming a programming language,

27
00:02:25,680 --> 00:02:31,520
so pseudocode obviously for expressing ideas,
pseudo lang is like a language.

28
00:02:31,520 --> 00:02:36,560
And when you use this to express
ideas and prompts to chat GPT, it

29
00:02:36,719 --> 00:02:40,280
understands it better than if you were
to type the English equivalent, right,

30
00:02:40,319 --> 00:02:45,000
because because let's face it, as
programmers, we can be very expressive with

31
00:02:45,080 --> 00:02:50,159
code, and so you can use
that same idea. And basically this guy

32
00:02:50,280 --> 00:02:57,360
created pseudolang as a spec by talking
with chat GPT and trying different things and

33
00:02:58,280 --> 00:03:01,319
seeing what worked best. And so
it's not really a formal spec, but

34
00:03:01,400 --> 00:03:07,199
there is a GitHub repo that talks
about how to create prompts with this pseudo

35
00:03:07,280 --> 00:03:10,879
lang and it's very, very powerful, and I've been using it with Brian

36
00:03:10,960 --> 00:03:14,919
McKay on the ai Bot Show,
which is a new YouTube show that I

37
00:03:15,000 --> 00:03:19,680
do, and it's just amazing,
just amazing. So one of the quotes

38
00:03:20,840 --> 00:03:25,000
from this guy, from this article
that I linked to, he says lms

39
00:03:25,039 --> 00:03:32,560
were already extremely useful. In twenty
two, a study geth hub found that

40
00:03:32,719 --> 00:03:38,280
Copilot shaved fifty five percent of the
time off a project task assigned to ninety

41
00:03:38,280 --> 00:03:42,520
five people forty five years in copilot
and the rest without. In other words,

42
00:03:42,840 --> 00:03:46,000
even before LM, pseudocode languages is
like pseudo lang, lms are already

43
00:03:46,000 --> 00:03:51,719
making a huge impact on developer productivity, and we all know that. But

44
00:03:51,960 --> 00:03:57,479
this guy, instead of trying to
invent his own language from Dargon from scratch,

45
00:03:57,879 --> 00:04:02,439
he fed some specs into GPT four
like your task is to invent a

46
00:04:02,479 --> 00:04:06,919
pseudo language for prompting GPT four.
It should be obvious enough that the GPT

47
00:04:08,120 --> 00:04:13,439
does not need the language specification to
interpret the language. Please share the specification

48
00:04:13,560 --> 00:04:19,480
supply justifications for the features you include
to which GPT four responded. Pseudo Lange

49
00:04:19,839 --> 00:04:28,240
Specifications for GPT four prompting pseudo language
a simple and intuitive pseudo language design specifically

50
00:04:28,360 --> 00:04:32,040
for prompting GPT four. The goal
is to provide an easily understandable and interpretable

51
00:04:32,040 --> 00:04:36,759
structure that can be used to communicate
with the GPT four AI model. So,

52
00:04:38,199 --> 00:04:42,000
in other words, you can do
a lot with just using the JSON

53
00:04:42,160 --> 00:04:47,120
format to structure ideas and prompts when
you're creating a prompt for GPT four.

54
00:04:47,439 --> 00:04:50,399
But if you use pseudo lang and
I'm going to create a link for it

55
00:04:50,480 --> 00:04:56,240
on the page, you can take
that to a whole nother level of specificity.

56
00:04:56,680 --> 00:05:02,120
Specificity specific is the work that's conversity
specificity. So anyway, it's very

57
00:05:02,160 --> 00:05:06,360
cool and you should check it out
at eighteen sixty five, which is the

58
00:05:06,399 --> 00:05:12,279
show number, dot pop dot em
or just Google being pseudo lang. It's

59
00:05:12,439 --> 00:05:17,079
sud oh see what they did,
simonsto. Yeah, just you know,

60
00:05:17,120 --> 00:05:19,680
look at that and check it out, and it's very cool and I'm glad

61
00:05:19,720 --> 00:05:23,439
I got to show it to you. Awesome. Yeah, So who's talking

62
00:05:23,480 --> 00:05:26,519
to us today? Richard Grant The
comment off a show seventeen ninety, the

63
00:05:26,560 --> 00:05:30,360
one we did back in April twenty
twenty two with Chris Klug when we were

64
00:05:30,399 --> 00:05:35,639
comparing different infrastructure as code solutions.
So that was terraform FICEP PULLUMI like we

65
00:05:35,720 --> 00:05:40,199
sort of got around them. The
spectrum on that particular one in this comment

66
00:05:40,399 --> 00:05:43,680
comes from Devin Gobel, who says, my hot take on DevOps is that

67
00:05:43,759 --> 00:05:46,879
too many practitioners start off with rigid, preconceived notions of what they want to

68
00:05:46,920 --> 00:05:50,959
do. This is normal since our
decision making is always going to be shaped

69
00:05:51,000 --> 00:05:56,639
by our scars. Yeah old thing. Yeah. However, it helps to

70
00:05:56,680 --> 00:06:00,800
approach DevOps technology. Has any technology
with an open mind start by looking at

71
00:06:00,839 --> 00:06:03,160
whether or not the out of the
bucks functionality is sufficient, and if not,

72
00:06:03,319 --> 00:06:09,360
why are the scars running the show. Pretty sure, there's always going

73
00:06:09,399 --> 00:06:11,519
to be some amount of custom work
it needs to be done, but if

74
00:06:11,560 --> 00:06:14,399
our first step is always to start
figuring out how to get the pipeline to

75
00:06:14,480 --> 00:06:18,639
run a custom Bash or Powershall script. You're probably doing it wrong. You

76
00:06:18,720 --> 00:06:25,480
aren't that special. That's great.
If the can features can get you most,

77
00:06:25,519 --> 00:06:27,759
if not all, the way there, you should start with those.

78
00:06:28,160 --> 00:06:30,639
They almost always are going to provide
decent error handling, logging, and parameter

79
00:06:30,720 --> 00:06:33,920
checking, especially if their first party
offerings. Keep in mind that there are

80
00:06:33,959 --> 00:06:39,120
going to be differences between Greenfield and
lifted shift that might still require some extra

81
00:06:39,160 --> 00:06:42,600
work. I like to think about
it like any cloud project. If step

82
00:06:42,639 --> 00:06:46,399
one is to create an Azure VM
and install a sequel server, you're probably

83
00:06:46,399 --> 00:06:51,199
doing something wrong. Yeah, yeah, I mean you can't argue with the

84
00:06:51,199 --> 00:06:55,240
fact that you should really take advantage
of the two. Like I've talked to

85
00:06:55,240 --> 00:06:58,560
folks who've done customizations for SAP that
at the end of it, go that

86
00:06:58,720 --> 00:07:01,360
was a mistake. Would have been
easier to change our workflows to fit what

87
00:07:01,519 --> 00:07:05,199
SAP did than to make ASAP do
what we wanted it to do, and

88
00:07:05,279 --> 00:07:09,879
many other examples of technology before that. Sure, and it's just you know,

89
00:07:09,959 --> 00:07:13,120
why are you reinventing the pipeline.
There's a bunch of good tools out

90
00:07:13,160 --> 00:07:15,720
there that will help you just follow
what they can do. You remember rational

91
00:07:15,800 --> 00:07:18,519
rows absolutely that comes to mind for
some reason. I'm not sure what.

92
00:07:18,639 --> 00:07:23,000
I don't know, what I don't
know. That's his old pay no question.

93
00:07:23,319 --> 00:07:25,360
So, Devin, thank you so
much for your comment and a copy

94
00:07:25,399 --> 00:07:27,439
of music Cobuy. It's on its
way to you. And if you'd like

95
00:07:27,480 --> 00:07:29,639
a copy of Mused to go buy, read a comment on the website at

96
00:07:29,680 --> 00:07:31,759
dot net rocks dot com or on
the facebooks. We publish every show there,

97
00:07:31,759 --> 00:07:33,800
and if you comment there and everybody
on the show, we'll send you

98
00:07:33,839 --> 00:07:38,319
a copy of music Cobuy. And
you know, you can follow us on

99
00:07:38,360 --> 00:07:42,800
Twitter or ax or whatever the frick
they're calling it these days. But but

100
00:07:43,519 --> 00:07:46,199
we're having fun on Mastadon right now, and I've just gone on Blue Sky.

101
00:07:46,279 --> 00:07:48,680
But there's so many of them that
if you just go to Carl Franklin

102
00:07:48,720 --> 00:07:54,600
dot com you can find all my
social media and he's at Rich Campbell everywhere

103
00:07:54,639 --> 00:07:57,680
pretty much everywhere, Yeah, pretty
much every Yeah, Rich Campbell at Mastadon

104
00:07:57,759 --> 00:08:01,680
dot social and more camps. So
send us a tuote or a tweet or

105
00:08:01,680 --> 00:08:05,680
whatever you like or Facebook message.
We'll read it. That's all we're going

106
00:08:05,720 --> 00:08:09,720
to reply, but we will read
it. We must see something mean about

107
00:08:09,720 --> 00:08:15,920
it. No we will not mock
you, that's for sure anyway. All

108
00:08:16,040 --> 00:08:20,279
right, let's introduce our guest,
April Edwards. April is a senior developer

109
00:08:20,319 --> 00:08:26,079
advocate and DevOps practice lead at get
hub, specializing an application transformation and DevOps

110
00:08:26,079 --> 00:08:31,120
ways of working. Her focus is
to take customers on a journey from legacy

111
00:08:31,199 --> 00:08:35,519
technology to serverless and containers where code
comes first, while enabling them to take

112
00:08:35,559 --> 00:08:41,159
full advantage of DevOps practices. In
april spare time, she spends time outdoors

113
00:08:41,240 --> 00:08:46,399
hiking, skiing, or scuba diving. She is also triathletes. It tries

114
00:08:46,440 --> 00:08:52,919
pretty hard. It's really good on
that elliptical. Tomorrow competing in Ironman and

115
00:08:54,039 --> 00:08:58,399
half Ironman triathlets. Old Craft Welcome, April Edwards. Give it up.

116
00:09:03,480 --> 00:09:07,879
I've heard of that, Yes,
a small name. Yeah, people have

117
00:09:07,919 --> 00:09:11,000
heard of it some of the time. But that's a fairly new role for

118
00:09:11,039 --> 00:09:15,320
you. Yeah. Six months in
I was at Microsoft. I was a

119
00:09:15,320 --> 00:09:18,639
cloud advocate, cloud developer advocate.
Before that, I was an engineering I

120
00:09:18,679 --> 00:09:20,600
was technical pre sales. I've kind
of done a lot at Microsoft, but

121
00:09:22,440 --> 00:09:24,440
made the shift over to geth hub. So you went from caring about Azure

122
00:09:24,480 --> 00:09:28,200
to caring about geth hub. Because
the two don't get along. Right,

123
00:09:28,279 --> 00:09:35,799
Oh they do now now I'm just
lobbing the balls up today. I'll catch

124
00:09:35,840 --> 00:09:41,639
that. Not No, I think
I had been working GitHub for some time.

125
00:09:41,679 --> 00:09:43,960
I worked with Azure DevOps as a
product. I worked in Azure,

126
00:09:43,000 --> 00:09:46,360
I worked in other clouds. When
I was at Microsoft, I actually actively

127
00:09:46,399 --> 00:09:50,039
spoke about the other clouds a lot, which surprised people because the reality is

128
00:09:50,080 --> 00:09:54,360
our customers are in on prem GCP
aws Manager, They're not in one clouds.

129
00:09:56,000 --> 00:09:58,840
I really get the sense. Nobody's
in one cloud. No, every

130
00:09:58,919 --> 00:10:01,919
every customer has to fly requirements,
they have to spread there. The way

131
00:10:01,919 --> 00:10:03,840
we do workloads in the cloud now
is completely changed to having data centers,

132
00:10:03,879 --> 00:10:07,799
a little physical data centers as much
you know, active active as we used

133
00:10:07,799 --> 00:10:11,000
to. Now we use active active
clouds. So yeah, I moved over

134
00:10:11,039 --> 00:10:13,279
because I was working on with gethub. It's the cool kid on the block

135
00:10:13,279 --> 00:10:16,399
and I want to be cool,
so I moved. All right, you're

136
00:10:16,519 --> 00:10:22,960
cool before get up. So what's
cooler as your DevOps or get hub actions?

137
00:10:22,519 --> 00:10:28,559
Get hub actions? Obviously obviously I
actually six months ago I would still

138
00:10:28,559 --> 00:10:31,919
say get hub actions. What's cooler
is get hub actions. You can automate

139
00:10:31,960 --> 00:10:35,159
anything. So as your pipelines,
as your develops is cic D continuous integration,

140
00:10:35,159 --> 00:10:39,080
continuous deployment get hub actions, you
can automate whatever you want. You

141
00:10:39,080 --> 00:10:43,039
can automate your PowerShell scripts, your
Bash scripts, your SAP deployments. I

142
00:10:43,039 --> 00:10:46,679
don't want to get near those,
but you can. I'm just not gonna

143
00:10:46,679 --> 00:10:48,080
be the one tell you how to
do SAP deployments. But you can deploy

144
00:10:48,120 --> 00:10:52,679
stuff. But you can automate anything
from within your pository, in your environments

145
00:10:52,759 --> 00:10:56,440
with the geth hub action. So
would you say that get hub users are

146
00:10:56,600 --> 00:11:00,440
a little more I don't know.
I don't want to make it any here.

147
00:11:00,720 --> 00:11:03,759
Are they more tactical than Azure users
who tend to be more a little

148
00:11:03,799 --> 00:11:07,279
bit higher up on the food chain? What's the story there? I would

149
00:11:07,279 --> 00:11:11,840
say everyone is equal. That's a
very very you know correct. Everybody's equal.

150
00:11:11,960 --> 00:11:16,039
Everybody's equal. I think we love
everyone at gith hub. We use

151
00:11:16,120 --> 00:11:18,480
the word developer, which we're trying
to figure out how what do we call

152
00:11:18,519 --> 00:11:22,600
people? Right? Right? I
believe everyone is a developer, whether you

153
00:11:22,600 --> 00:11:26,559
work in ops, your programmer,
everyone's on the conversation on run ass.

154
00:11:26,600 --> 00:11:31,720
It's like we're all writing code.
But okay, but I kind of tend

155
00:11:31,720 --> 00:11:33,159
to think and correct me if I'm
wrong here, and maybe you guys can

156
00:11:33,200 --> 00:11:37,519
chime in. The geth hub crowd
is a command line crowd. Always has

157
00:11:37,559 --> 00:11:45,000
been wrong, wrong, wrong,
wrong, and still wrong. Stop you're

158
00:11:45,039 --> 00:11:46,840
wrong? What do you guys think? How many people think I'm right?

159
00:11:50,120 --> 00:11:54,600
He works for Microsoft? We ignore
him? Okaycast Yeah, what's wrong with

160
00:11:54,639 --> 00:11:56,919
that? I'm sorry? I get
no. I think. I think.

161
00:11:58,559 --> 00:12:01,759
I think a lot of us started
in the cloud, spinning up a new

162
00:12:01,759 --> 00:12:05,080
workload, spinning up a virtual machine, and looking at data center migrations.

163
00:12:05,480 --> 00:12:07,200
But that's just one element. I
used to work with. Customers are like

164
00:12:07,200 --> 00:12:09,759
our data center contract expired, we
want to go to Azure? What can

165
00:12:09,799 --> 00:12:13,919
we do? But then we work
with customers that were refactoring their applications and

166
00:12:13,919 --> 00:12:16,279
then moving those to the cloud and
doing all sorts of different processes. I

167
00:12:16,279 --> 00:12:20,159
think Azure has traditionally been easy to
get started with click ups. I hate

168
00:12:20,159 --> 00:12:26,960
that phrase like that, I hate
it, but yeah, it's it's it's

169
00:12:28,000 --> 00:12:33,039
it's the cool phrase for management.
And that's how Azure started. Because it

170
00:12:33,080 --> 00:12:37,600
was easy you get started Azure.
You'd deploy something and you could actually download

171
00:12:37,639 --> 00:12:41,279
the template, so you always deploy
something with click ups and then figure out

172
00:12:41,279 --> 00:12:43,600
how to automate it because it is
easy to get started Azure. But I

173
00:12:43,639 --> 00:12:50,399
think get hubs started as a source
code repository. So it's where we ran

174
00:12:50,519 --> 00:12:52,360
code, it's where we store code, it's where we host open source projects.

175
00:12:52,360 --> 00:12:56,120
We being the world developers programmers.
I remember the original tagline, it's

176
00:12:56,159 --> 00:13:01,960
social coding, right, like you
were bringing social me the concepts to writing.

177
00:13:01,039 --> 00:13:05,559
Kind I kind of think you're making
that point for me. Does anybody

178
00:13:05,600 --> 00:13:07,320
agree? Are you just afraid to
say? So, what's going on here?

179
00:13:07,519 --> 00:13:11,240
Did I just parachute in from another
plan? You did? And I'm

180
00:13:11,279 --> 00:13:15,960
just not to argue with you,
but like, have you seen the issue

181
00:13:16,000 --> 00:13:20,200
manager in Visual Studio twenty twenty two
for the geth hub be like, holy

182
00:13:20,279 --> 00:13:24,399
man, that thing's good. Yeah, absolutely, I think it's come along

183
00:13:24,399 --> 00:13:26,559
way. It's how we communicate,
it's how we write code, it's how

184
00:13:26,559 --> 00:13:31,000
we share code. But what we're
seeing now GitHub is a platform. It's

185
00:13:31,039 --> 00:13:33,639
not just a source code appositible.
It's not social get anymore is a full

186
00:13:33,799 --> 00:13:37,039
deliverable platform, and it is the
cool place to work because a we have

187
00:13:37,039 --> 00:13:41,960
the best swag best stickers. Right, guys, that's a funny looking cat

188
00:13:41,200 --> 00:13:43,799
and it's just awesome. I mean, I use it. I'm you know,

189
00:13:43,799 --> 00:13:48,879
I'm not persuasion. I am a
huge gethub fan and I have probably

190
00:13:50,080 --> 00:13:54,000
in my account. I mean,
I create a replisitory for repos to the

191
00:13:54,000 --> 00:13:56,600
point or not. It used to
be the destination you just put your code

192
00:13:56,639 --> 00:14:01,000
there, but now it's a journey. It's a long journey. And then

193
00:14:01,039 --> 00:14:03,279
we're talking about AI. AI underpins
everything we do now and get up.

194
00:14:03,559 --> 00:14:07,799
How do we make a better developer? I have a really cool pie chart

195
00:14:07,840 --> 00:14:09,000
that I show in my talks now
that shows like what we do in our

196
00:14:09,080 --> 00:14:13,159
day jobs. We spend time in
meetings and probably half our time is waiting

197
00:14:13,159 --> 00:14:16,519
on other people. I think we're
waiting on other people to do stuff,

198
00:14:16,519 --> 00:14:20,039
access to things, do things,
approvals, red tape, and we're not

199
00:14:20,080 --> 00:14:22,039
actually running code. So how do
we enable a lot of circling back?

200
00:14:22,519 --> 00:14:26,600
Oh, a lot of circling backs, a lot of community, and it's

201
00:14:26,600 --> 00:14:28,559
people tapping you on the shoulder,
right, yeah, pushing it to move

202
00:14:28,639 --> 00:14:31,639
faster. I'm sure there's a Viva
plugge. It would tell me how often

203
00:14:31,679 --> 00:14:35,320
I say, hey, just circling
back on this. That's a lot of

204
00:14:35,320 --> 00:14:37,840
emails. I don't like Viva.
I've turned it off, tells me I'm

205
00:14:37,840 --> 00:14:39,679
in too many meetings and I need
more focused time. We've turned into office

206
00:14:39,679 --> 00:14:46,240
space here. Yeah, okay,
So what were you saying before I completely

207
00:14:46,240 --> 00:14:50,080
distracted everything? I don't remember.
You have not even there, not anymore.

208
00:14:50,320 --> 00:14:54,399
Yeah, it's really something. But
we get back to the platform play,

209
00:14:54,440 --> 00:14:56,799
it's like, yeah, you check
your code in, But then when

210
00:14:56,799 --> 00:15:00,320
we get back to the action thing, it's like, then, I'm bunch

211
00:15:00,360 --> 00:15:03,240
of things happen. Well before you
check your code in, let's go before

212
00:15:03,279 --> 00:15:05,200
that. Sure, how do you
check code in? How do you do

213
00:15:05,240 --> 00:15:07,360
it today? Ah? Yeah,
it depends on what I'm working on.

214
00:15:07,440 --> 00:15:11,200
Sometimes I've checking in through It's either
through studio code or through studio depending on

215
00:15:11,240 --> 00:15:16,039
the project. So using get yeah
to push your code up right? Yeah,

216
00:15:16,200 --> 00:15:18,279
Windows, and you're using an ID
which is visual Studio visual Studio coup.

217
00:15:18,320 --> 00:15:22,559
Sometimes I use the command line say
pretty rarely for me, how do

218
00:15:22,600 --> 00:15:24,399
you write your code? Let's start
there, so we're starting to focus on

219
00:15:24,519 --> 00:15:28,120
the developer experience, not where you're
putting your code. How are you writing

220
00:15:28,120 --> 00:15:31,320
your code? So that can be
your ide what you don't use an no

221
00:15:31,399 --> 00:15:33,759
pad? Oh do I have no
pad? Horror stories? You want to

222
00:15:33,759 --> 00:15:39,360
talk about scars? That a battle
scars. I was with a customer within

223
00:15:39,399 --> 00:15:43,840
this century, within the last couple
of years that used notepad plus plus Wow,

224
00:15:45,039 --> 00:15:48,519
and the time lost writing code was
a name. Yeah, I was

225
00:15:48,559 --> 00:15:50,960
scarred. I'm still scarred. I
still talk about it's still traumatized. I

226
00:15:50,960 --> 00:15:54,320
can't let it go, but it's
it's But we're bringing that experience closer to

227
00:15:54,320 --> 00:15:58,080
you. Yeah. So if you
use your ID, VS code or visual

228
00:15:58,080 --> 00:16:00,320
studio, we have extensions. We
have plug it. Right when I was

229
00:16:00,399 --> 00:16:04,000
learning GET, we didn't have this
extension where I could click the button and

230
00:16:04,039 --> 00:16:07,320
do a pull request from me from
vs code. Holy crap. I discover

231
00:16:07,399 --> 00:16:10,360
that like a few months ago,
and I'm like, oh, I don't

232
00:16:10,360 --> 00:16:14,360
like it. It's too it's too
slick. I like to fight GET.

233
00:16:14,519 --> 00:16:17,679
I like to have I like to
have merge conflicts and merge bombs. I

234
00:16:17,679 --> 00:16:19,679
know I want to fight. If
I'm not cursing, I'm not doing it

235
00:16:19,919 --> 00:16:23,159
exactly. But no, we're bringing
that more to the developer experience, and

236
00:16:23,159 --> 00:16:26,200
we've come out with GitHub code spaces
now that is hosted an Azure. By

237
00:16:26,200 --> 00:16:30,600
the way, this shows the geth
Hub and Microsoft Azure partnership. So we

238
00:16:30,720 --> 00:16:33,440
host an Azure. You have your
compute a secure development environment. So when

239
00:16:33,480 --> 00:16:37,679
you're ready in your ID or using
a PC or Mac, I use both,

240
00:16:37,759 --> 00:16:38,240
right, you have both, but
you got to set both up.

241
00:16:38,440 --> 00:16:41,720
Yeah, so what's your time to
get started? So we talked about that

242
00:16:41,759 --> 00:16:44,000
developer time, right, Yeah,
I want to look at one of your

243
00:16:44,000 --> 00:16:47,039
repositories. How much time am I
going to spend getting started on your project?

244
00:16:47,120 --> 00:16:51,320
Yeah? Easy? I mean I've
used I used the PC for the

245
00:16:51,320 --> 00:16:55,240
most part. I pushed the repository
to get and if there's like an Alley

246
00:16:55,240 --> 00:16:57,399
program or whatever that's going to run
on a Mac or iOS i down,

247
00:16:57,679 --> 00:17:00,840
you know, I clone it on
the Mac boom, run it dot Net,

248
00:17:00,960 --> 00:17:06,119
run on the device, simulator,
whatever, as long as you have

249
00:17:06,119 --> 00:17:08,079
compute, that run works great.
Yeah. So I started to get hub

250
00:17:08,079 --> 00:17:10,680
six months ago. When you started
to get up, they give you a

251
00:17:10,720 --> 00:17:15,000
new computer, as hopefully every company
does. They gave me a MacBook prompter.

252
00:17:17,200 --> 00:17:19,039
She let me buy it with my
own Are you a big boy?

253
00:17:19,079 --> 00:17:23,640
Now? I feel great? That's
good. It's good for you. She's

254
00:17:27,720 --> 00:17:33,359
that's good. How you got divorced
about five So anyways, kid, have

255
00:17:33,440 --> 00:17:37,480
bought me a MacBook Pro and I
do a lot of cloud native development.

256
00:17:37,480 --> 00:17:41,039
I remember getting my new MacBook Pro
opening up and going, I've worked on

257
00:17:41,079 --> 00:17:42,720
Max. I've worked on Max.
It's it's been more than probably ten twelve

258
00:17:42,799 --> 00:17:45,279
years that I've worked on a Mac
as my daily driver. And I'm like,

259
00:17:45,279 --> 00:17:47,839
if I'm going to do this,
I'm gonna spend a week and do

260
00:17:47,839 --> 00:17:49,079
this. And just even with cloud
native development, the things I had to

261
00:17:49,119 --> 00:17:52,640
get set up on my Mac,
I got too frustrated, went back to

262
00:17:52,640 --> 00:17:57,119
my PC. Yes, because it's
easier for me. And I was not

263
00:17:57,200 --> 00:18:03,000
ironic because the Mac used to be
like the droppy clicky clickoffs. Thang right,

264
00:18:03,000 --> 00:18:04,759
it used to be you talked to
a Mac using They're like, what's

265
00:18:04,759 --> 00:18:07,640
the file? They don't know what
a file is because they just dragging stuff

266
00:18:07,640 --> 00:18:11,559
around twenty If you're going to do
anything in the Mac, you've got to

267
00:18:11,640 --> 00:18:14,079
use a command line. M Yeah. But in twenty twelves, the last

268
00:18:14,079 --> 00:18:17,359
time I owned a Mac personally or
use it for a work or personal Nothing

269
00:18:17,400 --> 00:18:21,799
has changed that Mac in eleven years. Nothing, Whereas my surface has a

270
00:18:21,839 --> 00:18:23,279
touch screen. It has all sorts
of cool features. I can do multiple

271
00:18:23,279 --> 00:18:26,799
screens on my Windows, and because
I have my four K monitors at home,

272
00:18:26,000 --> 00:18:30,000
I can do all my like tiles
and Windows eleven and it is amazing.

273
00:18:30,079 --> 00:18:33,480
And screen of Death every Tuesday.
I don't get one every Tuesday.

274
00:18:33,559 --> 00:18:36,920
Now I get it like once a
month. For the record, I'm on

275
00:18:36,960 --> 00:18:40,799
the dev build still at Microsoft,
and I get one of I'm sorry,

276
00:18:41,039 --> 00:18:44,839
I mean, And not to complicate
the whole topic here, because when we're

277
00:18:44,880 --> 00:18:48,039
going to publish a few this sweet
few weeks or now we're like literally yesterday

278
00:18:48,079 --> 00:18:51,839
announced they're shutting down Visual Studio for
Mac. Yeah. Really, I missed

279
00:18:51,880 --> 00:18:53,359
that. I was. I was
here at the conference enjoying myself too much.

280
00:18:53,599 --> 00:18:57,680
Visual Studio code is basically the thing. Well, they're gonna push code

281
00:18:57,680 --> 00:19:02,160
spaces probably and the dot net dev
kid. You. I mean, there's

282
00:19:02,240 --> 00:19:06,000
solutions, but it is you know, sometimes there's just too many solutions.

283
00:19:06,079 --> 00:19:08,000
Yeah, I guess I think that's
an overwhelmingly amount of solutions. Yeah,

284
00:19:08,079 --> 00:19:11,200
that's the usual problem. Right,
It's like you almost have paralysis because there's

285
00:19:11,200 --> 00:19:15,000
too many choices. But that's the
answer to everything. Attack When someone asks

286
00:19:15,000 --> 00:19:18,079
you what solution. You say it
depends. Yeah. Nice. So let's

287
00:19:18,119 --> 00:19:21,519
take a little poll. How many
people used to get it to command line

288
00:19:21,559 --> 00:19:26,160
and clap Wow, I'd say that's
a third of the room. And how

289
00:19:26,160 --> 00:19:30,920
many people would rather use it in
visual studio? Visual studio clap, that's

290
00:19:30,960 --> 00:19:34,839
peer significantly here. Yeah, absolutely, yeah, and them are just happy

291
00:19:34,880 --> 00:19:40,359
to be here. Well, I
thought there was beer. I'm with you.

292
00:19:40,440 --> 00:19:45,359
The command line because the thing is
is that the command line, once

293
00:19:45,440 --> 00:19:48,559
you know what those commands are,
it's reliable. I've had I mean,

294
00:19:48,599 --> 00:19:52,759
I love visual Studio, but there
are times when I do something visual studio

295
00:19:52,759 --> 00:19:56,880
goes on. It's hard to be
easy. It's hard. It's too it's

296
00:19:56,960 --> 00:19:59,480
you have no control, right,
you don't know. It's like driving a

297
00:19:59,559 --> 00:20:03,359
manual our versus an automatic, right, it's an automatic transmission that any of

298
00:20:03,440 --> 00:20:06,079
us can write a rebase command out
of our heads, like we do have

299
00:20:06,119 --> 00:20:08,599
to go look at it. I
have a cheat cheat at home. Yeah,

300
00:20:08,599 --> 00:20:11,599
because I just go I've done this, where is it? Because I

301
00:20:11,640 --> 00:20:15,559
have a goldfish memory without Yeah,
I will fully admit it. And I've

302
00:20:15,599 --> 00:20:18,839
never had a goldfish What does that
mean? It just has like every fifteen

303
00:20:18,839 --> 00:20:22,720
second, it's always have that kind
of a memory because I like Dori from

304
00:20:22,720 --> 00:20:25,920
finding Email. Yeah pretty much.
Yeah, I just I like life moves

305
00:20:25,960 --> 00:20:27,559
on. I fixed a problem,
I moved on. I'm on another project

306
00:20:27,559 --> 00:20:30,440
and I forget how I solve that
things, so I write it down.

307
00:20:30,480 --> 00:20:33,559
I write a blog. That's how
I remember. So I'm a Blazer developer,

308
00:20:33,599 --> 00:20:37,759
well not a only do a lot
of Blazer and sometimes it will just

309
00:20:37,000 --> 00:20:40,720
hang when you go to run it, and it will tell you there's an

310
00:20:40,799 --> 00:20:44,000
error, but it won't tell you
what it is. Dot Net build at

311
00:20:44,039 --> 00:20:47,759
the command line, you always see
what the problem is. You always see

312
00:20:48,000 --> 00:20:51,799
a visual studio hasn't caught up to
it. That's their problem. But dot

313
00:20:51,799 --> 00:20:53,559
in a build will always tell you
what the error is. Anything that produces

314
00:20:53,599 --> 00:20:57,039
an error log file is my friend. Yes, yeah every time. So

315
00:20:57,079 --> 00:21:02,160
I'm big fans of command line.
So well done. You What world are

316
00:21:02,200 --> 00:21:07,359
we in? How did this happens? AB developer, I was mister dragon.

317
00:21:07,559 --> 00:21:11,519
I learned VB many years ago and
I don't use it anymore. It's

318
00:21:11,519 --> 00:21:14,640
one of those languages we learned in
school or I had to use for something.

319
00:21:14,920 --> 00:21:17,400
Never touched it again. They're just
just some memories that are far fonder

320
00:21:17,440 --> 00:21:19,039
than real unless you work with Excel. Yeah, I guess a VBA is

321
00:21:19,079 --> 00:21:25,119
still his VBA is one f twelve
quick click aways to this day. My

322
00:21:25,200 --> 00:21:32,319
goodness, how many access programmers.
No, but you're right, though,

323
00:21:32,599 --> 00:21:34,319
we have come a long way.
Yeah, well it's come full circle.

324
00:21:34,480 --> 00:21:38,319
Yeah, really is circles round?
I started with a command line doss.

325
00:21:38,720 --> 00:21:45,039
Anybody remember that? I started with
doss? Yeah, and before that and

326
00:21:45,319 --> 00:21:48,279
got into the UI, and then
now I'm back to the command line.

327
00:21:48,400 --> 00:21:52,960
Pretty much, it's come full circle. It's certainly more repeatable for what it's

328
00:21:52,960 --> 00:21:57,440
worth, but it still begs the
question, like how do we split all

329
00:21:57,480 --> 00:22:02,319
this work out? Like it's all
get hub things all the time. What

330
00:22:02,480 --> 00:22:06,200
isn't it good at? There's there's
some holes. Well, we're still growing,

331
00:22:06,359 --> 00:22:10,279
right, We're in like our almost
like our angsty teenage years, I

332
00:22:10,319 --> 00:22:12,039
would say, like we have massively
grown. We're trying to fit into our

333
00:22:12,079 --> 00:22:15,960
clothes. But we're taking the enterprise
feedback from our customers. So we are

334
00:22:17,240 --> 00:22:21,079
often make a squeaky noise and call
it a voice. I think we have

335
00:22:21,079 --> 00:22:25,160
a pretty loud voice. At this
point. We were looking for enterprise feedback.

336
00:22:25,200 --> 00:22:26,400
We look for feedback from the community. We want that feedback. That

337
00:22:26,799 --> 00:22:30,359
seem to be the area of growth
is trying to figure out how to be

338
00:22:30,359 --> 00:22:34,640
better enterprise yes, vendors, Yes, yeah, absolutely, and that's so

339
00:22:34,839 --> 00:22:37,079
before. So this is fun.
When I started to get Hub, my

340
00:22:37,160 --> 00:22:42,480
actual job title was Senior Enterprise Advocate
and our focus was enterprise customers. That

341
00:22:42,519 --> 00:22:48,279
was our target space. We got
reorged, as any good Microsoft entity does,

342
00:22:48,319 --> 00:22:51,319
and we're not really Microsoft, but
it's like we've we've embraced that culture

343
00:22:51,319 --> 00:22:53,759
of reality. Yeah, but it's
cool. You know. I love a

344
00:22:53,759 --> 00:22:56,559
good reorg and I have a new
management chain and it was for the better.

345
00:22:56,960 --> 00:23:00,599
Great folks, some of them are
sitting here to day, which I'm

346
00:23:00,680 --> 00:23:03,240
very happy to be working with.
And now we're cloud developer advocates. We

347
00:23:03,279 --> 00:23:04,400
do the same thing, just different
job title, right, but I focus

348
00:23:04,440 --> 00:23:07,519
a lot on the enterprise customers.
And our customers go to us and say

349
00:23:07,640 --> 00:23:11,000
we need these features, we go
back to the product groups. So that's

350
00:23:11,000 --> 00:23:14,880
what advocates do. We are We're
the in between. We're the gopher between

351
00:23:14,920 --> 00:23:17,759
the product group and you the community, you the enterprise. So how do

352
00:23:17,759 --> 00:23:18,920
we make more enterprise ready? We
need that feedback, so we get to

353
00:23:18,920 --> 00:23:22,839
see what's coming down the pipeline from
the engineering teams. Those are things I

354
00:23:22,880 --> 00:23:23,720
can't tell you about, but I
can tell you, like, what do

355
00:23:23,759 --> 00:23:26,599
you need to see? And I
can be like, yeah, it will

356
00:23:26,640 --> 00:23:27,880
be on a roadmap. Yeah,
we're aware of it. We can have

357
00:23:27,920 --> 00:23:33,079
those conversations, those NDA conversations,
but we need to be more enterprise ready,

358
00:23:33,119 --> 00:23:34,240
and that's what we're trying to do. We're trying to be adults.

359
00:23:34,559 --> 00:23:38,079
Yeah. Yeah, I mean I'm
the guy who often pust the enterprise hat

360
00:23:38,119 --> 00:23:41,880
on because it's like, I would
really like to know the bill of materials

361
00:23:41,920 --> 00:23:45,279
from the open source perspective of all
of the projects in my enterprise, because

362
00:23:45,319 --> 00:23:48,480
that's actually a fairly tough thing to
figure out. Right now, you know,

363
00:23:48,640 --> 00:23:52,119
who knows how many projects you have? Hey, I acquired a couple

364
00:23:52,119 --> 00:23:53,720
of companies along his way, so
it's not all sitting in one set of

365
00:23:53,720 --> 00:23:57,240
repositories either. But having it over
you to say, hey, i've been

366
00:23:57,240 --> 00:24:02,240
reading news about log for j just
how many projects are using that? Right?

367
00:24:03,680 --> 00:24:07,920
You know that's a that that you
folks are in a place to tell

368
00:24:07,960 --> 00:24:11,799
me a lot about what my developers
are actually works bombs, Yeah, anybody

369
00:24:11,880 --> 00:24:17,440
use that s Bombs, billow Materials. Wow, okay, you need to

370
00:24:17,480 --> 00:24:21,839
google that tomorrow. That's b O
M Software bill Materials. It's a list

371
00:24:21,960 --> 00:24:26,240
of all the dependencies and their dependencies
that you are using in your project,

372
00:24:26,599 --> 00:24:30,319
so that when a log for J
comes out, you know some news about

373
00:24:30,799 --> 00:24:33,119
you can tell, Okay, what
are we depending on? Is log for

374
00:24:33,200 --> 00:24:37,000
J in that tree anywhere? Very
important for you to do that well.

375
00:24:37,039 --> 00:24:40,480
And the other way to look at
that from an enterprise perspective is how many

376
00:24:40,480 --> 00:24:44,680
teams are going to stop shipping features
because you're now going to focus on getting

377
00:24:44,720 --> 00:24:48,039
that thing patched up properly or get
it out of there right. So we

378
00:24:48,119 --> 00:24:51,200
have some pretty good built in tools. Yeah, so we've got depending one

379
00:24:51,319 --> 00:24:55,079
I love, dependent on probably depend
on what my email all the time.

380
00:24:55,200 --> 00:24:56,720
It works at the project level.
It does. It works the project level,

381
00:24:56,759 --> 00:25:00,599
and you can see exactly what dependent
it does exact what says on the

382
00:25:00,599 --> 00:25:03,799
tin. It shows that the dependencies
you have in your project opens up an

383
00:25:03,839 --> 00:25:06,960
issue and you can determine is this
a false positive and then you can put

384
00:25:07,000 --> 00:25:08,839
it in as something you need to
address in your project or is it high

385
00:25:08,880 --> 00:25:12,359
priority, medium priority, low priority, and then you know as a developer,

386
00:25:12,400 --> 00:25:15,960
I'm going, do I need to
be aware of these things? I

387
00:25:15,000 --> 00:25:18,000
don't know are they important to us? Because trying to manage all these open

388
00:25:18,039 --> 00:25:22,079
source packages, all the dependencies we're
consuming, I have it a clue.

389
00:25:22,240 --> 00:25:25,799
Do you think of especially organizations with
turnover or organizations that are growing with new

390
00:25:25,799 --> 00:25:29,319
people in junior devs senior debvs are
going, how do we handle this?

391
00:25:29,440 --> 00:25:33,319
And especially because there may be a
project that you've taken the dependency on that's

392
00:25:33,359 --> 00:25:37,079
fine at the outset, then they
get sold to some other company and that

393
00:25:37,119 --> 00:25:41,079
company decides to make that malware and
that just happened. Or if you're Hashi

394
00:25:41,160 --> 00:25:42,920
Corp. And change your open source
licensing model and piss off everyone in the

395
00:25:42,960 --> 00:25:49,240
community, that's a whole other story. No one would do that. Yeah,

396
00:25:51,680 --> 00:25:53,079
you know. Yeah, Again,
we get back to dependent on it's

397
00:25:53,119 --> 00:25:57,119
created at the project level, where
because problematic is when do you disrupt a

398
00:25:57,200 --> 00:26:00,599
sprint? Because the issues that large
it tends not to be the developer's decision.

399
00:26:00,680 --> 00:26:06,519
That's an an architects level are higher
and we don't have visibility there,

400
00:26:06,519 --> 00:26:08,599
like we're kind of counting on this
is going to be reported on Patia.

401
00:26:08,640 --> 00:26:11,920
We stopped working on working on because
dependent what saying this as opposed to,

402
00:26:12,000 --> 00:26:15,079
oh, I have an overview.
You're all are focused on that, right

403
00:26:15,119 --> 00:26:18,279
like you. All of your other
deadlines are pushed back while we deal with

404
00:26:18,319 --> 00:26:22,000
this issue. But that, you
know, when I think about an enterprise,

405
00:26:22,200 --> 00:26:26,759
enterprise type features like that's a good
one, absolutely make a huge difference

406
00:26:26,759 --> 00:26:30,599
for folks. Yeah, we're coming. We're coming in with more dashboards,

407
00:26:30,680 --> 00:26:34,759
more visibility at fross, multiple repositories, multiple projects. That is coming.

408
00:26:34,799 --> 00:26:37,200
That's a good one. That is
absolutely coming. And I'm gonna up for

409
00:26:37,240 --> 00:26:45,279
one moment for this very important message. Two or nine and we're back.

410
00:26:45,279 --> 00:26:48,680
It's dotting at Rocks. I'm Richard
Cabell. Let's call Franklin here with our

411
00:26:48,680 --> 00:26:52,880
friend April Edwards, and we're at
the covid Hagen Developers Festival in front of

412
00:26:52,880 --> 00:27:03,599
an enthusiastic throng of viewers and good
beer. April's gonna explain how she's gonna

413
00:27:03,759 --> 00:27:07,599
solve the crisis and open source with
geth hub tooling. Yes, soul,

414
00:27:08,759 --> 00:27:14,240
Well, that's why they invented beer. There you go. Beer is answer

415
00:27:15,359 --> 00:27:18,720
beers, all of the answers without
a dough. Yes, I mean without

416
00:27:18,720 --> 00:27:21,680
a doubt open source is thriving.
It is a massive I think that the

417
00:27:21,720 --> 00:27:25,799
stat I saw the other day was
ninety percent of organizations consume open source in

418
00:27:25,799 --> 00:27:30,000
their applications, only they'd all contribute. Yeah, well so this is this

419
00:27:30,039 --> 00:27:32,920
is tough. How many of you
in the audience contribute open source? Clap

420
00:27:33,039 --> 00:27:37,920
clap clap? Yeah, like ten
percent. Yeah, it's scary, So

421
00:27:37,000 --> 00:27:40,440
let's I'm gonna be honest. So
I stand on stage, I do live

422
00:27:40,440 --> 00:27:42,279
demos, and people are watching me
code. That is the scariest thing for

423
00:27:42,319 --> 00:27:45,400
all of us when people see how
vulnerable we are because we're not good at

424
00:27:45,440 --> 00:27:48,680
something. We're not as good as
the person next to us. I'm okay

425
00:27:48,720 --> 00:27:52,640
saying I am a crap developer or
I'm good at certain things, but I

426
00:27:52,680 --> 00:27:53,880
don't I don't do this every day. I spend most of my time in

427
00:27:53,920 --> 00:27:56,720
meetings, so my skills are rusty, right, and I'm sitting here talking

428
00:27:56,759 --> 00:28:00,400
to you all about stuff. But
we all have different strengths and weaknesses,

429
00:28:00,400 --> 00:28:03,119
and sometimes we just have bad days, we have bad moments. But it's

430
00:28:03,160 --> 00:28:06,279
scary to put yourself out there into
the open source community, and it's something

431
00:28:06,319 --> 00:28:08,720
we probably don't encourage enough. Is
to say, look, pick a project

432
00:28:08,720 --> 00:28:12,720
you love, pick a passion.
Start small, like Rome was not built

433
00:28:12,720 --> 00:28:15,240
in a day. We do the
same thing with develops. Pick something small,

434
00:28:15,480 --> 00:28:18,720
pick a small issue that you need
to fix in your organization, or

435
00:28:18,720 --> 00:28:22,039
pick something small in an open source
project, ask questions, and if that

436
00:28:22,119 --> 00:28:26,319
community in that open source project is
not inclusive and inviting, screw them,

437
00:28:26,559 --> 00:28:29,279
move on. Just don't waste your
time. But it's the same thing in

438
00:28:29,319 --> 00:28:32,279
life. If you have friends that
are not nice to you and inclusive,

439
00:28:32,799 --> 00:28:34,200
get off that playground, go find
another one. I mean, we learned

440
00:28:34,200 --> 00:28:37,480
this in kindergarten, so it's being
an adult a it's okay to be wrong,

441
00:28:37,599 --> 00:28:41,519
be it's okay to put yourself out
there and see us as a learning

442
00:28:41,559 --> 00:28:44,839
experience. We don't do enough of
that, and it's it's scary, like

443
00:28:44,960 --> 00:28:48,440
I don't want people to see like
my really bad hold on. I do

444
00:28:48,480 --> 00:28:49,920
the whole time. I put my
code up on stage and on videos like

445
00:28:51,000 --> 00:28:53,240
yeah see it. But this is
why I use the tools like Copilot to

446
00:28:53,240 --> 00:28:56,559
help fix my code. I use
rubber ducks I got I got rubber ducks

447
00:28:56,559 --> 00:29:00,279
all over the world. I have
rubber ducks per time zone. So when

448
00:29:00,279 --> 00:29:02,759
I'm traveling, I'm like, which
rubber duck is going to be away?

449
00:29:03,119 --> 00:29:06,079
But your duck isn't exactly. I'm
going to be jetlagged and exhausted, but

450
00:29:06,119 --> 00:29:07,279
my rubber duck's gonna be awake and
they're gonna help me fix my problem.

451
00:29:07,400 --> 00:29:14,359
Tell you my wife is my rubber
duck. Wow, oh oh wow,

452
00:29:15,240 --> 00:29:18,839
it's awesome. I literally just need
someone to talk to. And I've tried

453
00:29:18,880 --> 00:29:21,960
the wall, I've tried an actual
duck. I just need to look at

454
00:29:21,960 --> 00:29:27,759
someone, yack. I just want
someone to talk to. That's it.

455
00:29:27,839 --> 00:29:30,559
I just need someone to go,
yeah, you're off base, or actually

456
00:29:30,559 --> 00:29:33,200
you know you're on the right track, or I don't have a clue,

457
00:29:33,240 --> 00:29:34,480
and I just need to talk it
out to myself. How many times have

458
00:29:34,599 --> 00:29:38,599
I'm writing something to stack overflow and
by the time I finished writing it out

459
00:29:38,640 --> 00:29:41,799
in a way that won't immediately get
crucified, I've actually already figured the problem

460
00:29:42,000 --> 00:29:45,119
out. I don't use stack overflow
anymore. I use GitHub copilot check and

461
00:29:45,319 --> 00:29:51,839
actually bing the bing Enterprise chat phenomenal. Yeah, it's written on some show

462
00:29:51,839 --> 00:29:53,920
titles, some descriptions. For me, recently, it's answered my questions.

463
00:29:53,920 --> 00:29:56,480
My new rubber duck. Wow,
my rubber duck, my real life rubber

464
00:29:56,519 --> 00:30:00,839
ducks are upset, and it's certainly
more accepting than the moderator for stack Overflow.

465
00:30:00,920 --> 00:30:04,799
Yes, I mean search, don't
don't ask. Yeah, bang chat

466
00:30:06,079 --> 00:30:08,680
enterprise will not judge you. Yes, it is fantastic because I can't have

467
00:30:08,680 --> 00:30:11,960
feelings, I can't duplicate. You
don't get that on bang chat. So

468
00:30:12,079 --> 00:30:17,920
I want to give a shout out
to Jonathan Gallaher speaking of contributing to open

469
00:30:17,960 --> 00:30:21,680
source projects, which I consider dot
rocks an open source projects. Sure right,

470
00:30:21,720 --> 00:30:26,839
we do this whatever. It became
the first one hundred dollar patron patre

471
00:30:27,519 --> 00:30:32,240
Patreon dot rocks dot com. Jonathan
Gallaher, Let's get him around with applause,

472
00:30:34,319 --> 00:30:38,799
because that's the other contribution possibility too, is that companies actually contribute some

473
00:30:38,799 --> 00:30:42,039
some funding. Yeah. So,
do you know who the largest contributor is

474
00:30:42,039 --> 00:30:48,039
to open source in the world,
any mean contributor, financial, all the

475
00:30:48,079 --> 00:30:51,920
above. Who's one of the largest
contributions of Microsoft? Absolutely? So when

476
00:30:51,960 --> 00:30:56,880
I speak to these very Linux focus, very dev heavy, Microsoft's useless.

477
00:30:56,000 --> 00:30:59,960
Yeah. Hi, we're one of
your biggest contributors to the CNCF open source

478
00:31:00,119 --> 00:31:02,640
projects. So we have was a
week. Sorry, don't work for Microsoft

479
00:31:02,640 --> 00:31:06,279
anymore. Microsoft has four different contribution
models that they do. So one might

480
00:31:06,279 --> 00:31:08,200
be financial, one might be backing
a project, one might be adding resources

481
00:31:08,240 --> 00:31:11,440
to a project, or bring in
a project in house and developing it.

482
00:31:11,519 --> 00:31:15,119
So really good examples in the cloud
native space. How do you like?

483
00:31:15,960 --> 00:31:18,160
Yeahs doing a lot of good in
the world, right, I mean they're

484
00:31:18,200 --> 00:31:22,279
not the Microsoft days of old.
They're the kinder, gentle er tech giant.

485
00:31:23,759 --> 00:31:27,000
But anyways, and when Microsoft acquired
geth hub, they did that to

486
00:31:27,039 --> 00:31:30,880
be closer to the open source community
and the developer community. They were also

487
00:31:30,920 --> 00:31:33,880
a massive consumer of geth hub at
the time. It's like gehub was incredibly

488
00:31:33,920 --> 00:31:37,400
important to the organization. At the
point at which the acquisition went through,

489
00:31:37,440 --> 00:31:41,480
they were I think they were the
single largest entity working I think the co

490
00:31:42,240 --> 00:31:47,119
so some extent, thank Scott Guthrie
and still hack for that, can't we

491
00:31:47,359 --> 00:31:52,960
Yeah, sure, there was a
lot of Yeah, who's here to nights?

492
00:31:56,799 --> 00:32:00,920
It's like, what am I,
Chuck Liver? You had everything to

493
00:32:00,920 --> 00:32:05,599
do? Yeah? Yeah, well
they were, they were certainly in all

494
00:32:05,599 --> 00:32:07,480
the places. But yeah, it
takes a lot of moving parts to make

495
00:32:07,480 --> 00:32:10,240
those sorts of things happen, and
I remember when it went down and it

496
00:32:10,319 --> 00:32:13,839
leaked on a Friday that it was
going to be announced on a Monday,

497
00:32:14,200 --> 00:32:15,680
and you had a few people screaming
the sky is following, I'm running to

498
00:32:15,720 --> 00:32:20,119
get lab and folks going, you
know, get lab runs on Azure,

499
00:32:20,240 --> 00:32:24,759
right, Yeah, but there's also
this question of like who else would you

500
00:32:24,880 --> 00:32:29,599
rather have a choir of them?
Yeah? Yes, you know, I

501
00:32:29,599 --> 00:32:31,599
think at the time I was,
I was a Microsoft FT and I was

502
00:32:31,640 --> 00:32:35,119
like, Okay, this is interesting, this is cool. Now being on

503
00:32:35,119 --> 00:32:37,640
the other side the fence as a
gethhub employee, there are people at get

504
00:32:37,680 --> 00:32:39,079
hub that are just like, we
operate very independently, and I want to

505
00:32:39,079 --> 00:32:42,880
be very clear about that, like
I am I am paid by get hub,

506
00:32:42,880 --> 00:32:45,519
not by Microsoft. We work together
on stuff, we integrate our products,

507
00:32:45,519 --> 00:32:49,039
but we are so separate. And
we have people getthub that are like,

508
00:32:49,160 --> 00:32:51,920
we want nothing to do with Microsoft
still, right, Yeah, but

509
00:32:51,960 --> 00:32:54,519
they kind of give us money to
do things. Yeah, they're funding the

510
00:32:54,519 --> 00:32:58,200
platform to be amazing. Yeah.
Well that was the first thing that happened

511
00:32:58,240 --> 00:33:00,480
once the acquisition went through, is
like you started charging less, did we?

512
00:33:00,640 --> 00:33:04,160
Yeah? Yeah, price, So
actually this is a great one about

513
00:33:04,160 --> 00:33:07,920
copilot. So when Copilot was announced
as a paid for product twenty one,

514
00:33:08,200 --> 00:33:12,119
yes, twenty twenty one, people
went in the community. I was around

515
00:33:12,119 --> 00:33:15,200
a bunch of GitHub stars and community
folks that went ballistic like, oh,

516
00:33:15,279 --> 00:33:17,480
it's ten dollars a month. I
think it's ten dollars a month, ten

517
00:33:17,519 --> 00:33:22,400
bucks a month, And I'm like
that's like that's like a two coffees,

518
00:33:22,799 --> 00:33:25,960
Like how much? But also a
great point, how much GPU power do

519
00:33:27,000 --> 00:33:30,720
we put behind the engine to power
copilot? Do? Yeah? Do you

520
00:33:30,720 --> 00:33:34,759
think we're making money at ten dollars
a month if you're actually using this thing

521
00:33:34,839 --> 00:33:38,519
routinely? Because that compute costs money? Does does? But I love the

522
00:33:38,559 --> 00:33:43,720
fend that a gethub came up with
the name go pilot because it's the best

523
00:33:43,799 --> 00:33:46,759
name. Yes, because it just
is that perfect complication that says, you

524
00:33:46,839 --> 00:33:51,480
know, you're still a pilot,
right, That's why we call your AI

525
00:33:51,839 --> 00:33:54,519
pair programmer. Yes, And that
pair programer doesn't care if you fly into

526
00:33:54,559 --> 00:33:59,119
a wall. It doesn't that's going
to be up to you to deal with.

527
00:33:59,319 --> 00:34:00,839
You're still in full control. Yeah. Should we have a little history

528
00:34:00,920 --> 00:34:06,160
lesson here? Code plex Do you
remember code? Yeah? SI? So

529
00:34:06,559 --> 00:34:10,039
that sort of was the precursor to
get Well, they were totally separate products.

530
00:34:10,239 --> 00:34:14,679
They were, ye, I mean, and Coplex was more like source

531
00:34:14,800 --> 00:34:17,760
Forge. Yeah. I guess you're
right, yea with a little source repository

532
00:34:17,840 --> 00:34:24,639
for open source projects. But what
was Microsoft helping them out? Yeah?

533
00:34:24,679 --> 00:34:29,880
Microsoft created CodePlex. Yeah they I
don't remember. Yeah, And and part

534
00:34:29,880 --> 00:34:32,599
of the reason for that was that
they weren't particularly welcome anywhere else. Uh,

535
00:34:32,639 --> 00:34:37,679
And they did that was very much
Guthrie who was on the mindset of

536
00:34:37,800 --> 00:34:42,079
I have to get out of this
eighteen to twenty four month cadence of shipping

537
00:34:42,159 --> 00:34:45,239
studio. And so, I mean, first thing up there was the jax

538
00:34:45,320 --> 00:34:49,239
tool kit, right, which didn't
really have a home, and they didn't

539
00:34:49,239 --> 00:34:51,760
want to wait another year to put
it out there. So let's let's put

540
00:34:51,760 --> 00:34:54,480
it there. And then you know, look at things like h NBC,

541
00:34:55,199 --> 00:35:00,239
NVC iterated up there. Why did
Microsoft be using j Query in twenty ten?

542
00:35:00,400 --> 00:35:04,519
Because when they started talking about doing
a dom tree, a navigator for

543
00:35:04,840 --> 00:35:08,360
NBC and writing their own the community
went, are you crazy? There's j

544
00:35:08,599 --> 00:35:14,920
Query that's all we're using, Like, don't write one. And ultimately silver

545
00:35:15,039 --> 00:35:19,000
Light, you know, and it's
gone. And that's when we remember we

546
00:35:19,079 --> 00:35:22,639
did a seminole dot net Rocks episode
in Tennessee. Yes, Paul, has

547
00:35:22,679 --> 00:35:28,000
software development gotten too complex? And
this was around the point right before you

548
00:35:28,159 --> 00:35:30,199
Get was created, Yeah, which
is twenty eleven. Yeah, so I

549
00:35:30,239 --> 00:35:32,880
think we did that show in like
two thousand and nine, so we had

550
00:35:34,000 --> 00:35:38,320
we'd had a couple of years of
them just putting code in places. Blog

551
00:35:38,400 --> 00:35:44,159
posts the latest get the latest silver
light on on Scott Guthrie's blog, but

552
00:35:44,280 --> 00:35:45,800
there was no date on it,
so do you know it's really the latest?

553
00:35:46,199 --> 00:35:50,320
It was in furious. It was
that frustration. It is like you

554
00:35:50,320 --> 00:35:52,480
you had, you'd built it up
with this particular set of tools, and

555
00:35:52,519 --> 00:35:55,159
you're trying to get somebody else to
build a work on it, and just

556
00:35:55,199 --> 00:36:00,519
trying to find all the right versions
of stuff just become impossible. It was

557
00:36:00,760 --> 00:36:04,440
Phil Hack who got the Newcat project, Yeah, to actually have a package

558
00:36:04,480 --> 00:36:09,719
manager from this history lesson full circle. Phil Hack and Rob were instrumentally did

559
00:36:09,800 --> 00:36:15,000
everything. Yeah, Get the only
reason we're all still alive today. Well,

560
00:36:15,039 --> 00:36:20,039
okay, but you guys were the
open source warlords, you know you

561
00:36:20,159 --> 00:36:23,880
got You guys made it impossible for
Microsoft too. They were Scott Guthrie's ninja

562
00:36:23,960 --> 00:36:27,719
army. Ninja army there. Yeah, that's that's what I meant to say.

563
00:36:27,800 --> 00:36:32,280
But but you guys brought the attention
of open source to Microsoft through your

564
00:36:32,360 --> 00:36:37,599
actions. Yeah, and I'm really
sorry I picked that back. What did

565
00:36:37,599 --> 00:36:42,760
they what did you call them the
what and the Hybernate Mafia? Yeah,

566
00:36:42,840 --> 00:36:45,679
they call them the m Hybernofia.
That weekend they got a better name.

567
00:36:45,679 --> 00:36:49,440
It was. It was tough love, but man, everybody's so much better

568
00:36:49,480 --> 00:36:52,360
for it. Well, they weren't
wrong, No, they weren't. They

569
00:36:52,360 --> 00:36:57,880
were just there. We could argue
about their methodology. That's not polite way

570
00:36:57,920 --> 00:37:00,880
to say it, but you have
to be confident to do that. Oh

571
00:37:00,960 --> 00:37:07,719
yeah yeah they weren't. Well confidence
and close there's their cousins. No,

572
00:37:07,960 --> 00:37:10,800
it was it was the moral arguments
that got on your nerves. Yeah,

573
00:37:10,840 --> 00:37:15,199
like you're a bad person for not
using open so yeah that was annoying.

574
00:37:15,360 --> 00:37:17,519
Yeah yeah, but there's still people
out there today that you're like, if

575
00:37:17,519 --> 00:37:20,920
you're not an open not using open
source, you're not cool. Yeah,

576
00:37:21,039 --> 00:37:23,519
well this wasn't you're not cool.
This is like you should burn in hell.

577
00:37:23,679 --> 00:37:25,360
Yeah. Oh I've been told up
too. I was just trying to

578
00:37:25,360 --> 00:37:30,840
be polite. I've been living in
England too long. I've I've been brought

579
00:37:30,920 --> 00:37:36,000
up on British manners now oh lovely. But in the meantime, like open

580
00:37:36,079 --> 00:37:42,679
source has permeated everything we got there, and even Microsoft stopped making everything itself

581
00:37:42,719 --> 00:37:46,639
and supporting projects that that took care
of that problem. Jake Querry being one

582
00:37:46,679 --> 00:37:50,159
of the originals. Like when Jake
Querry showed up in Studio twenty ten,

583
00:37:50,159 --> 00:37:53,760
We're like, what bacon powder?
Yeah you really did? You just put

584
00:37:53,760 --> 00:37:59,599
an open sourd project into into your
commercial products that you're going to provide tech

585
00:37:59,599 --> 00:38:04,199
support for. Oh yeah, crazy
times. Now they've open source everything on

586
00:38:04,199 --> 00:38:07,159
gethub. Every product group has an
open source not every product, almost all

587
00:38:07,159 --> 00:38:13,000
products have an open source repo on
gethub. Yeah everything on there's a whole

588
00:38:13,039 --> 00:38:15,639
Azure repost for stuff that isn't specified, but yeah you can get to pretty

589
00:38:15,679 --> 00:38:17,880
much. Not Azure is plumbing,
right, Like, it's definitely tooling.

590
00:38:17,920 --> 00:38:22,320
It's open source. The tooling is
open source, the products, the resources.

591
00:38:22,840 --> 00:38:25,199
So when I tell these stories about
over source that Microsoft's like, don't

592
00:38:25,280 --> 00:38:30,840
think they aren't still filing patents.
It's just for only certain classes of code.

593
00:38:30,960 --> 00:38:32,519
Yes, the stuff you're not going
to find out gets Someone was very

594
00:38:32,559 --> 00:38:36,960
upset with me recently though, why
hasn't GitHub open sourced X for GitHub?

595
00:38:37,000 --> 00:38:40,880
And I said, because there's security
reasons why we can't do that. Yeah,

596
00:38:42,000 --> 00:38:44,639
you know, there are legit security
reasons why I can't open source everything

597
00:38:44,639 --> 00:38:47,199
and get hub right. I think
you're making a case for not every piece

598
00:38:47,239 --> 00:38:51,400
of code should be open source.
Absolutely, how strange? Yeah, weird?

599
00:38:51,639 --> 00:38:53,239
Yeah, I mean we deal security
compliance all the time. I mean,

600
00:38:53,480 --> 00:38:57,679
if you're a consumer and you're going
my data is exposed or there's been

601
00:38:57,679 --> 00:39:00,599
an issue because we've exposed something,
how does that make you feel you're not

602
00:39:00,599 --> 00:39:02,559
going to trust the platform? Yeah? But and I don't think that's the

603
00:39:02,599 --> 00:39:07,960
only reason that you keep something closed
source. Certainly security is part of it,

604
00:39:07,000 --> 00:39:10,800
but there is a concept of proprietary
secrets, and you know what is

605
00:39:10,840 --> 00:39:15,079
the secret Sauces organization, and those
are assets that are worth protecting. Yes,

606
00:39:15,639 --> 00:39:17,480
Hey, does anybody in the audience
have a question for April. It's

607
00:39:17,599 --> 00:39:21,559
it'd be a shame for the last
many minutes if you had a question you

608
00:39:21,599 --> 00:39:24,760
couldn't answer. Anybody, have anything
you want to contribute to the conversation anyway.

609
00:39:24,960 --> 00:39:28,239
Yeah, throw your hand up if
you have something going on, but

610
00:39:28,840 --> 00:39:31,920
we're just blurred it out. Yeah, And well, are there any new

611
00:39:31,960 --> 00:39:37,480
and exciting features waiting to give Hub? There are lots of amazing features coming.

612
00:39:37,519 --> 00:39:39,559
What I'm allowed to talk about the
whole other story. What I can

613
00:39:39,679 --> 00:39:44,519
say is get hub Universe is coming
in November early November, and we're gonna

614
00:39:44,559 --> 00:39:47,159
make a load of announcements. I
can tell you that a lot of features

615
00:39:47,159 --> 00:39:51,519
we have been talking around in AI
are coming. There's some great new features

616
00:39:51,559 --> 00:39:55,079
that have been released recently, like
larger get hub hosted runners, actions runners,

617
00:39:55,360 --> 00:40:00,079
so you can run bigger projects,
bigger workflows. There's some great stuff

618
00:40:00,119 --> 00:40:05,039
around enterprise stuff around like v neet
peering. There's gonna be some cool stuff

619
00:40:05,039 --> 00:40:08,199
coming in code spaces, all of
its public on the roadmap. So that's

620
00:40:08,199 --> 00:40:10,920
what I say. Go there.
That's all the stuff I can talk about

621
00:40:13,119 --> 00:40:15,639
anything else. Also, you know, I think priorities change within organizations have

622
00:40:15,639 --> 00:40:19,960
happened at Microsoft and their product groups, happens at geth hub. If there's

623
00:40:20,079 --> 00:40:22,960
a issue in the world, we
have to kind of adapt our roadmaps a

624
00:40:23,000 --> 00:40:27,239
bit. But anything we can talk
about on a roadmap, So definitely have

625
00:40:27,360 --> 00:40:30,920
a search engine review of the get
up public roadmap. Have a look see

626
00:40:30,960 --> 00:40:34,639
what's coming. But common universe,
there's gonna be some really cool stuff.

627
00:40:35,760 --> 00:40:39,000
Anyone else, Rob, You've gotta
You've been sitting there so quiet and so

628
00:40:39,039 --> 00:40:43,639
peaceful. You must have something to
canture you. You're sitting here drinking his

629
00:40:43,760 --> 00:40:45,400
beer, having a good time.
Well at least he's having a good times,

630
00:40:45,920 --> 00:40:52,599
good time. Anyone else speak great
up? Yeah, any chance that

631
00:40:52,199 --> 00:40:57,519
get up actions can be triggered vice
events to Azure gavos. Yes, So

632
00:40:57,599 --> 00:41:02,400
currently you can integrate GitHub ac actions
from Azure DevOps from your code repository.

633
00:41:04,320 --> 00:41:07,000
Where that is tricky is coming back, so you can you can have your

634
00:41:07,000 --> 00:41:13,119
code in Azure DevOps and then run
from a GitHub Actions workflow pipeline. So

635
00:41:13,159 --> 00:41:15,519
you can just go into the marketplace
and get up actions and sink them through.

636
00:41:15,800 --> 00:41:17,159
I have quite a few demos.
I used to do that several years

637
00:41:17,159 --> 00:41:21,320
ago before all the cool stuff that's
happened with geth hub. When I was

638
00:41:21,320 --> 00:41:22,679
at Microsoft. I did stuff and
as your DevOps and then did a deploy

639
00:41:22,719 --> 00:41:27,519
into with actions. So you can
definitely run your actions in terms of specific

640
00:41:27,559 --> 00:41:31,480
triggers. If you're trying to do
stuff within the in the Azure DevOps project,

641
00:41:31,519 --> 00:41:35,239
if you will, we have documentation
on different things you can hook in.

642
00:41:35,320 --> 00:41:37,760
So maybe you want to hook in
your this is going the other way,

643
00:41:37,719 --> 00:41:43,960
your Azure DevOps boards into your GitHub
repository. There's ways to do that.

644
00:41:44,199 --> 00:41:47,719
What you can't do is hook in
your Azure DevOps repose into GitHub.

645
00:41:49,320 --> 00:41:52,960
The reason being data residency currently,
so that's going to be your biggest limitter.

646
00:41:53,039 --> 00:41:55,079
Yeah, I was just trying to
figure out what's to split there,

647
00:41:55,119 --> 00:41:59,679
Like, do I want to kick
off Azure DevOps, populate my boards,

648
00:41:59,719 --> 00:42:01,840
maybe run a set of tests.
Is that I'm at a certain point with

649
00:42:01,880 --> 00:42:05,599
the code, then push to get
up and kick off the actions to the

650
00:42:05,639 --> 00:42:07,239
deploy. You can run your test
with an action as well. Right,

651
00:42:07,280 --> 00:42:10,599
you can absolutely run your test with
actions. I certainly know I cannot use

652
00:42:10,639 --> 00:42:14,719
AZR DevOps and just do all of
this through actions. The question is is

653
00:42:15,000 --> 00:42:19,320
zerological place to do both? I
think it depends what are you trying to

654
00:42:19,320 --> 00:42:22,320
test? What are you trying to
do from a pull request check in.

655
00:42:22,559 --> 00:42:24,079
Quite often in the lob of teams
I've worked on, we've done it from

656
00:42:24,079 --> 00:42:28,440
Azure deevops, but there might have
been specific packages we want to consume in

657
00:42:28,519 --> 00:42:32,559
GitHub from the GitHub actions piece,
we'd run it from actions. Yeah.

658
00:42:32,679 --> 00:42:37,719
I's also thinking from a security context
perspective, like being inside of AZR DevOps,

659
00:42:37,719 --> 00:42:39,599
you're in the tenant, Like,
there's a few advantages there for being

660
00:42:39,639 --> 00:42:45,199
able to absolutely so if you have
some data requirements staying within Azure deevops as

661
00:42:45,239 --> 00:42:46,960
you're way to go currently. Now, the other argument, the flip side

662
00:42:46,960 --> 00:42:51,039
to this is if you have stuff
in your code base that shouldn't be exposed

663
00:42:51,000 --> 00:42:52,480
wise it in your code base.
Yeah, you know, so that's the

664
00:42:52,480 --> 00:42:55,440
flip side of it. But if
there's a data residency requirementhich we have a

665
00:42:55,480 --> 00:42:59,519
lot of customers still have, they
might have to run stuff from Azure deevops

666
00:42:59,519 --> 00:43:01,280
in those pipe and then kick off
an action. Yeah. I'm thinking more

667
00:43:01,320 --> 00:43:06,320
about in the bill process or again
in a test suite things like that,

668
00:43:06,360 --> 00:43:08,880
where I want access to the Azure
tenant to do a bunch of that stuff.

669
00:43:09,159 --> 00:43:12,840
It's easier to do it from Azure
DevOps it is. But there is

670
00:43:12,840 --> 00:43:15,280
a feature coming hint, hint,
hint around private v nets for GetUp actions

671
00:43:15,360 --> 00:43:20,519
when we might learn about such a
thing. Yeah, well, I'm actually

672
00:43:20,559 --> 00:43:23,000
supposed to be writing a blog about
it. I don't know when the release

673
00:43:23,119 --> 00:43:25,639
date is. They keep moving it. Yeah, I think it's soon.

674
00:43:25,719 --> 00:43:29,079
If not now, I should know. But we got a conference I'm in

675
00:43:29,119 --> 00:43:34,480
like this tunnel load. I should
have written this blog, like a couple

676
00:43:34,519 --> 00:43:36,679
of weeks I supposed to be.
We're not publishing for a few weeks.

677
00:43:36,719 --> 00:43:37,880
It may well be out. It's
probably, it's probably out by now.

678
00:43:37,880 --> 00:43:40,760
It's fine, but there's gonna be
a lot of stuff around private v net

679
00:43:40,760 --> 00:43:45,800
connectivity to actions and other actions.
Better access back into the tenant, back

680
00:43:45,800 --> 00:43:50,039
into your Azure subscription right right,
or on prem because a lot of people

681
00:43:50,119 --> 00:43:52,039
run get up enterprise server or as
your devop server. Yeah, that's all

682
00:43:52,079 --> 00:43:54,559
of the canon worms like, actually, you're not you'ren't in the cloud at

683
00:43:54,599 --> 00:44:00,119
all. Yeah. So here's a
hypothetical for you. Say I'm traveling and

684
00:44:00,159 --> 00:44:02,559
I'm jet lagged, and I'm in
a foreign country, say Denmark, and

685
00:44:02,760 --> 00:44:06,760
I it's late at night and I've
had a few beers, and I go

686
00:44:06,800 --> 00:44:09,559
back to my hotel room and I
check in. I create a repo with

687
00:44:09,679 --> 00:44:15,599
some code. It's a private repo
on GitHub. But I've included in my

688
00:44:15,719 --> 00:44:21,159
configured file and API key in a
password or something like that. What do

689
00:44:21,199 --> 00:44:23,880
I do? Delete the repo,
get rid of it by my at risk

690
00:44:24,519 --> 00:44:31,599
for that ever becoming crawled by by
you know, co pilot or anything else.

691
00:44:32,000 --> 00:44:36,519
So private repository. Now you ask
several questions on that, so I'm

692
00:44:36,679 --> 00:44:38,320
to start the first one. Never
put a password in a repository, private

693
00:44:38,360 --> 00:44:43,360
or private or public. Never do
it. Never. Never did you hear

694
00:44:43,400 --> 00:44:45,360
that people never put a never passwords
live or for life, not just for

695
00:44:45,440 --> 00:44:53,960
Christmas. I will talk about Uber
till the day I die, because they

696
00:44:54,079 --> 00:45:00,599
literally keep doing this private pository,
put a password in their power trus recently

697
00:45:00,840 --> 00:45:02,679
recently they did this in twenty seventeen. They've done it again recently. They

698
00:45:02,719 --> 00:45:07,360
just haven't learned stop putting flipping passwords. So there are ways to get passwords

699
00:45:07,360 --> 00:45:10,280
out of repositories. You can delete
the repository, yeah, that's one thing

700
00:45:10,320 --> 00:45:14,000
to do, But if you actually
need to keep the repository, there are

701
00:45:14,119 --> 00:45:15,239
open source tools that can scrub it. Trufle Hog is one of them.

702
00:45:15,280 --> 00:45:22,880
There's one called truffle Hog truffle Hog, and there's another one called see something

703
00:45:22,920 --> 00:45:24,559
and I can't remember the acronym,
but that can do it. So those

704
00:45:24,559 --> 00:45:27,679
are like the quick tools. You
can open up a case with geth hub

705
00:45:27,719 --> 00:45:30,079
to remove it. The other thing
you can do is have geth hub Advanced

706
00:45:30,119 --> 00:45:35,960
Security enabled. You can do secret
scanning within your repository and we'll find That's

707
00:45:36,719 --> 00:45:38,719
like, yeah, but it's already
there, So here's them when you check

708
00:45:38,760 --> 00:45:43,119
in it. We'll hold on that. We'll find it once it's in the

709
00:45:43,119 --> 00:45:45,719
repository. So you've already made the
the oopseis and you already get your hands

710
00:45:45,719 --> 00:45:49,280
slapped to be taken out back and
shot. But we're not gonna do that

711
00:45:49,280 --> 00:45:54,159
because we're in Copenhagen and guns aren't
allowed. Of course nobody wants and your

712
00:45:54,199 --> 00:45:57,960
wife might miss you, so you
don't want to actually take you. This

713
00:45:58,000 --> 00:46:01,320
is hypothetical and he done it,
but we've all done We've all put passwords

714
00:46:01,320 --> 00:46:04,920
in stupid places like we have all
done it. We put it in a

715
00:46:04,920 --> 00:46:06,719
plane text file somewhere. It's like, oh, no, none, I'll

716
00:46:06,719 --> 00:46:10,039
find this over here. Oh my
god, we've been expected. So the

717
00:46:10,079 --> 00:46:15,760
biggest Sony Sony's had any Yeah,
a lot of banks in the US have

718
00:46:15,840 --> 00:46:19,719
had it I can. I have
a list of financial institutions that have many

719
00:46:19,760 --> 00:46:22,360
times that I've gone through done you
know, doing a search like that and

720
00:46:22,440 --> 00:46:27,400
found like all of the ss L
keys sitting in a root folder. So

721
00:46:27,440 --> 00:46:30,280
it was you nice, We'll take
you up back to the easiest thing in

722
00:46:30,280 --> 00:46:34,079
the world, right, but we'll
just trying to get SSL up. You

723
00:46:34,239 --> 00:46:36,639
unpacked the thing, you leave in
the folder it was in, you deploy

724
00:46:36,639 --> 00:46:37,679
it, and you never clean up
the mess. Yeah, we we've all

725
00:46:37,679 --> 00:46:40,320
done it. We're under pressure,
we forget and we move on. Yea.

726
00:46:42,360 --> 00:46:45,960
So truffle Hog is a good thing
to just run against all your repositories

727
00:46:45,079 --> 00:46:47,679
or is there something else built in
to get Is that built in to get

728
00:46:47,679 --> 00:46:51,239
out? No, it's it's an
open source tool. You can actually open

729
00:46:51,280 --> 00:46:53,800
up a case with gethub and we
can scrub it. Or will you tell

730
00:46:53,800 --> 00:46:57,360
me what repositories have the junk in
it so I can remove the job.

731
00:46:57,960 --> 00:47:00,639
I don't actually know the exact process, and it changes if you're an enterprise

732
00:47:00,679 --> 00:47:04,519
customer versus a private pository. So
there's a support agreement level agreement. So

733
00:47:04,599 --> 00:47:07,239
what I would say is get an
open source tool, run your repo,

734
00:47:07,960 --> 00:47:10,960
take out the junk, but turning
on things like you have advanced security doing

735
00:47:10,960 --> 00:47:14,320
things like secret skinning. But it's
already there. So we have another tool

736
00:47:14,360 --> 00:47:17,039
called push protection, And if anyone
watched my session yesterday, I went to

737
00:47:17,079 --> 00:47:23,639
run it and I didn't. It
didn't catch my secret because we found a

738
00:47:23,639 --> 00:47:27,159
bug. Let's say we found a
bug in it. But push protection can

739
00:47:27,199 --> 00:47:30,599
find certain secrets and it will stop
that from even getting into your repository.

740
00:47:30,679 --> 00:47:32,039
So I went to push my code
up. That will stop it going.

741
00:47:32,119 --> 00:47:35,000
So you got two kind of areas
you got I've put in my repo.

742
00:47:35,039 --> 00:47:37,320
How don't I get rid of this
solution? But that's growing, It's just

743
00:47:37,360 --> 00:47:42,159
not it doesn't. It doesn't service
every use case. It doesn't excuse you

744
00:47:42,239 --> 00:47:45,360
putting paths. Just don't do it. Do it. We have getub secrets.

745
00:47:45,840 --> 00:47:49,480
We have we have getub secrets in
every POSITIY put your secrets in the

746
00:47:49,480 --> 00:47:52,280
secrets. Okay, that's what it's
for. And someone asked me the other

747
00:47:52,320 --> 00:47:53,199
day about getub secrets. It's like, well, if I want to share

748
00:47:53,239 --> 00:47:57,239
it with a manager, and I'm
like, absolutely not. No one can

749
00:47:57,280 --> 00:48:00,159
see the secret ones. You should
also learn how to use the getting our

750
00:48:00,239 --> 00:48:04,639
file that's kind of an obvious solution, isn't it use a GID ignore file.

751
00:48:04,639 --> 00:48:07,239
That's another great there's lots of things
as human behavior, but as the

752
00:48:07,400 --> 00:48:10,159
app setting is just kidding in as
I mean, I'm mostly working on cloud

753
00:48:10,159 --> 00:48:13,480
stuff these days. It's like,
look, you just use keybolt from the

754
00:48:13,559 --> 00:48:17,920
get go set up key bolt and
yeah, put whatever you want in the

755
00:48:17,960 --> 00:48:21,760
GitHub set because it's all just doing
is referring back to the keyhole. And

756
00:48:21,880 --> 00:48:25,280
key bolt is great because if you
have this, you rely on that key

757
00:48:25,400 --> 00:48:30,960
or a pike or password in several
projects. Yeah, change place is easy

758
00:48:30,000 --> 00:48:34,840
to shut down and you never ever
ever leak a secret though. Ye,

759
00:48:35,119 --> 00:48:37,400
but the problem with the keybold is
you have to set up correctly. Yeah,

760
00:48:37,440 --> 00:48:42,079
with a gith hub secret, you
just put the secret in and you

761
00:48:42,079 --> 00:48:45,360
don't have to configure anything, right, So it's easy to set up in

762
00:48:45,400 --> 00:48:47,880
your repository in your workflows, all
right, random applies. How many developers

763
00:48:47,920 --> 00:48:53,400
here love security? Really? Wow? Really you really do? Are you

764
00:48:53,519 --> 00:49:00,039
lying? It's a lot of live
Yeah. It is like after nine and

765
00:49:00,280 --> 00:49:02,440
you're asking these guys. They're just
agreeing with you. It's just like,

766
00:49:02,639 --> 00:49:07,119
yeah, I think security is like
taking your medicine. We have to do

767
00:49:07,159 --> 00:49:08,079
it, we need to do it, but it's not something I love.

768
00:49:08,159 --> 00:49:15,119
We're like handcuffing a developer, you
know, when they're trying to write code.

769
00:49:13,199 --> 00:49:20,159
It's I think you're lying. Oh, there's a question, question,

770
00:49:21,239 --> 00:49:23,480
So to repeat the question, which
is a great question. By the way,

771
00:49:23,599 --> 00:49:28,119
what feature that you're allowed to talk
about? Are you most excited about

772
00:49:28,239 --> 00:49:31,960
that you love to tell people about
and you just you just can't wait to

773
00:49:32,440 --> 00:49:36,920
tell people all about it, you
know. I don't think anything excites me

774
00:49:36,960 --> 00:49:43,119
that much. But hypothetically, there
are two things that I love a little

775
00:49:43,159 --> 00:49:50,159
excited man. Two things that I
love. I love code spaces because I

776
00:49:50,559 --> 00:49:54,119
have three devices in my office and
one is like for video audio production like

777
00:49:54,119 --> 00:49:57,599
you guys are doing, once for
my daily driver, and the other ones

778
00:49:57,639 --> 00:50:00,000
my Mac which is in corn and
collects us. But I can work from

779
00:50:00,119 --> 00:50:02,519
different machines and I use a GitHub
codespace. Now. The other thing I

780
00:50:02,519 --> 00:50:06,519
love about a GitHub code space it's
secure. I can get the exact configuration

781
00:50:06,559 --> 00:50:09,679
I need known this faffing about with
like all the packages and install So I

782
00:50:09,719 --> 00:50:14,239
love code spaces. It's there,
it's ready to use. We're adding features

783
00:50:14,280 --> 00:50:16,559
to it. But actually at Universe, we're going to announce a lot of

784
00:50:16,559 --> 00:50:20,960
cool stuff around AI, around copilot. So you mentioned Universe, what is

785
00:50:21,000 --> 00:50:23,159
that for those announces You have Universes
like the equivalent of Microsoft IG Night.

786
00:50:23,239 --> 00:50:27,159
It's our big conference where we're gonna
show all the cool stuff coming out this

787
00:50:27,199 --> 00:50:30,119
year. It's first week of November. I want to say it's the eighth

788
00:50:30,239 --> 00:50:35,880
ninth before ignit. It is the
week before at Night, So I will

789
00:50:35,880 --> 00:50:38,519
be in San Francisco giving a talk
on a very specific topic around getub copilot

790
00:50:38,599 --> 00:50:42,719
chat, some new features what I
can talk and we've already announced this,

791
00:50:42,760 --> 00:50:45,239
so we have getub Copilot. Chat
is part of a thing we call gethub

792
00:50:45,320 --> 00:50:49,840
copilot X. It's our vision for
copilot. So it's not just you know,

793
00:50:49,880 --> 00:50:52,960
you go into copilot and tab through
all your options. Chat. I

794
00:50:52,000 --> 00:50:53,960
can actually talk to right now,
I want to say, I can.

795
00:50:53,960 --> 00:50:57,679
Actually we have voice coming so you
can talk to it. Not everyone can

796
00:50:57,719 --> 00:51:01,079
type, right A lot of us
might have some accessibility requirements, so speak

797
00:51:01,119 --> 00:51:04,480
is really important. Or I'm just
lazy and like talking to my machines.

798
00:51:04,559 --> 00:51:07,559
I don't have to type it out
because I can talk better it anyway,

799
00:51:07,480 --> 00:51:13,760
Yeah, pretty much Yeah, that's
true. That's true. It's I wasn't

800
00:51:13,800 --> 00:51:16,880
saying nice things. Yeah, well
no, I'm sorry. That is physically

801
00:51:16,920 --> 00:51:21,320
impossible. You're a pilot. But
see this is great because it doesn't have

802
00:51:21,400 --> 00:51:22,719
emotions, so you can say whatever
you want. So we're gonna have a

803
00:51:22,760 --> 00:51:28,280
lot of announcements around getub Copilot,
around docs which will help you write better

804
00:51:28,320 --> 00:51:30,719
documentation, which does excite me because
while all of you raise your hands for

805
00:51:30,760 --> 00:51:35,920
security, how many of you love
writing documents and documentation for projects? Clap

806
00:51:35,960 --> 00:51:38,679
sorry, clap. Yeah, it's
a couple. That's a much smaller number

807
00:51:38,719 --> 00:51:43,119
than before. It's going to help
with a lot of our daily stuff.

808
00:51:43,440 --> 00:51:46,280
We also have the ability to open
up poll requests with gethub Copilot, and

809
00:51:46,320 --> 00:51:50,119
that's cool because when you open up
a code a poor question, you're just

810
00:51:50,119 --> 00:51:52,199
trying to push your code. You're
like, gotta gotta go, gotta go,

811
00:51:52,239 --> 00:51:54,320
get this over the line. We
don't think about someone has to read

812
00:51:54,320 --> 00:51:58,000
this and figure out what the heck
our poor question is actually doing. And

813
00:51:58,039 --> 00:52:01,400
we're terrible at writing details sometimes a
long documentations. Those lunch language onels are

814
00:52:01,400 --> 00:52:05,079
good at writing a summary. Oh
they are. Oh my god, I

815
00:52:05,079 --> 00:52:06,920
don't have to write much on my
own anymore. Well, it's a good

816
00:52:06,920 --> 00:52:08,239
starter for ten, so I use
it as a starter for ten, and

817
00:52:08,320 --> 00:52:10,480
then I add to it. But
it gives me a starting point, and

818
00:52:10,519 --> 00:52:14,239
then it summarizes what you're doing.
You will also tell you if you don't

819
00:52:14,280 --> 00:52:15,840
have enough code coverage and you need
to write more tests for your code,

820
00:52:16,000 --> 00:52:20,599
that it often reminds you of changes
you've forgotten about too. Yeah, I

821
00:52:20,639 --> 00:52:22,840
forget about what? Yeah, because
if you've made a few changes in a

822
00:52:22,880 --> 00:52:25,119
PR which for a couple of days
on something, Yeah, stuff just fades

823
00:52:25,119 --> 00:52:30,119
away. And it's even better if
you suit line. See what I did

824
00:52:30,559 --> 00:52:32,280
put the good callback? Yeah,
call back. That's good. That brings

825
00:52:32,360 --> 00:52:36,920
us to almost to the end.
But I guess I'll ask you the question,

826
00:52:36,960 --> 00:52:38,679
what's in your inbox? What's thanks
for you? What's in my inbox?

827
00:52:39,400 --> 00:52:42,840
I don't know. What's a black
hole? When you leave here?

828
00:52:43,079 --> 00:52:45,320
When I leave here, I'm going
home for four days and then I'm flying

829
00:52:45,320 --> 00:52:47,360
over to the US to do a
half iron man. Oh wow, Yes,

830
00:52:47,719 --> 00:52:52,280
those crazy traffl on things I have
cool? It is, it is

831
00:52:52,280 --> 00:52:54,039
cool. I'll let you know after
I finish. Yeah, let me get

832
00:52:54,079 --> 00:52:57,960
to the finish line. I am
doing quite a bit of conferences. But

833
00:52:58,039 --> 00:53:00,239
my big things that are coming that
will excite everyone. I'm doing a new

834
00:53:00,280 --> 00:53:05,480
show at GitHub. We're calling it
fifteen Minutes to Merge. It's going to

835
00:53:05,519 --> 00:53:08,039
be replacing my previous once they replacing, that's not the right phrase. It's

836
00:53:08,039 --> 00:53:12,559
a brand new show Gethub about gethub
enterprise level products, but for you to

837
00:53:12,639 --> 00:53:15,840
developer. You the consumer. So
we're gonna want your feedback. We're gonna

838
00:53:15,840 --> 00:53:16,880
want you guys to watch it,
give us, let us know how it

839
00:53:16,920 --> 00:53:20,079
is and what other topics you want
to say. That's one of my big

840
00:53:20,119 --> 00:53:22,039
things. And the other thing is
I've kind of been writing a book.

841
00:53:22,400 --> 00:53:25,000
Yeah. I don't know if you've
written a book. It is it's hard.

842
00:53:25,280 --> 00:53:29,679
Yeah, yeah, okay, you
don't count. This started off as

843
00:53:29,719 --> 00:53:32,239
a blog and it's get for the
I Pro, Get for ups teaching,

844
00:53:32,280 --> 00:53:37,920
Get for the I Pro because they're
the ones that are not using gethub inherently

845
00:53:37,000 --> 00:53:39,599
or get or need to understand it. So that start off as a blog

846
00:53:39,679 --> 00:53:43,239
video series, but I've actually been
asked to turn it into a book.

847
00:53:43,280 --> 00:53:45,840
So I'm trying to figure out how
to write a book. So the blog

848
00:53:45,880 --> 00:53:50,000
series is easy. The videos are
easy for me that the book thing scares

849
00:53:50,079 --> 00:53:52,400
the snot out of me? Are
you doing it manually? You're using AI

850
00:53:52,480 --> 00:53:55,639
to help. I'm actually writing it
manually. No, Aia boom, Yes,

851
00:53:57,039 --> 00:53:58,639
because I want it to be me. I don't want it to be

852
00:53:59,159 --> 00:54:02,119
It's gonna have my name on it. So that will be co written with

853
00:54:02,239 --> 00:54:08,400
a very important power show person,
very awesome power show person. Jas No,

854
00:54:08,719 --> 00:54:12,679
no, not James. I can
think of a few bolks. What

855
00:54:12,800 --> 00:54:15,159
would this over there? Yeah,
we'll talk about later. So, yeah,

856
00:54:15,159 --> 00:54:16,960
I got I'm writing on the really
the the I T pro audience that

857
00:54:17,000 --> 00:54:21,000
really needs us to help them embrace
it. And then the new new show

858
00:54:21,119 --> 00:54:22,400
talk about that. I'm running for
sure you will, Yeah, I believe.

859
00:54:22,400 --> 00:54:25,599
Well, yeah, hey, thanks
for thanks for having me talking.

860
00:54:25,719 --> 00:54:29,599
This is great and I didn't I've
learned so many new things tonight. Did

861
00:54:29,599 --> 00:54:35,239
you all right? How about a
big hand for April ad words? I'll

862
00:54:35,280 --> 00:55:00,199
see you next time I talk.
Dot net Rocks has brought to you by

863
00:55:00,239 --> 00:55:05,480
Franklin's Net and produced by PLoP Studios, a full service audio, video and

864
00:55:05,519 --> 00:55:09,480
post production facility located physically in New
London, Connecticut, and of course in

865
00:55:09,519 --> 00:55:15,760
the cloud online at pwop dot com. Visit our website at dt n et

866
00:55:16,079 --> 00:55:22,639
r ocks dot com for RSS feeds, downloads, mobile apps, comments,

867
00:55:22,960 --> 00:55:27,199
and access to the full archives going
back to show number one, recorded in

868
00:55:27,239 --> 00:55:30,039
September two thousand and two. And
make sure you check out our sponsors.

869
00:55:30,199 --> 00:55:44,239
They keep us in business. Now
go write some code. See you next time.
