WEBVTT

1
00:00:01.000 --> 00:00:04.759
How'd you like to listen to dot
net rocks with no ads? Easy?

2
00:00:05.320 --> 00:00:09.400
Become a patron for just five dollars
a month. You get access to a

3
00:00:09.480 --> 00:00:14.240
private RSS feed where all the shows
have no ads. Twenty dollars a month.

4
00:00:14.240 --> 00:00:18.399
We'll get you that and a special
dot net Rocks patron mug. Sign

5
00:00:18.480 --> 00:00:23.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.

