How'd you like to listen to dot net rocks with no ads? Easy?
Become a patron for just five dollars a month. You get access to a
private RSS feed where all the shows have no ads. Twenty dollars a month.
We'll get you that and a special dot net Rocks patron mug. Sign
up now at Patreon dot dot net rocks dot com. Hey Carlin Richard here.
As you may have heard, NDC is back offering their incredible in person
conferences around the world. DC Porto is happening October sixteenth through the twentieth.
Go to dc porto dot com to register and check out the full lineup of
conferences at NDC conferences dot com. Hey Covidhagen, it's dot net Rock holy
Craft. Must be forty thousand people in this room. Yeah. So the
person who came in late, I was reminded of that Danish comedian Victor Borga.
Do you know who he was? Yeah, of course you do,
because he's in your country. So he was doing a performance and somebody came
late and he says, where'd you come from, madam? And she says
California. He goes, I came from Gobenhagen. I was here before you
anyway, we aren't here with April Edwards iss dotting at rocks. We're gonna
be talking some gid hub and some DevOps and all the juicy stuff that goes
along with it. But first we have this little thing we do called better
no framework. Alright, funny when you got so everybody's familiar with CHATCHYPP right,
pretty sure of course, And have you guys messed with it? Don't
raise your hand because it's a radio show. Giving a round of applause if
you mess with gpt A right again, All right, now clap again.
If you've seen pseudo lang? What's a pseudo lang? Oh? This is
so cool. I get to show you something good, good and new.
So pseudo lang is it's sort of a spec of a language that you can
use to create prompts to chat GPT. That's more like programming a programming language,
so pseudocode obviously for expressing ideas, pseudo lang is like a language.
And when you use this to express ideas and prompts to chat GPT, it
understands it better than if you were to type the English equivalent, right,
because because let's face it, as programmers, we can be very expressive with
code, and so you can use that same idea. And basically this guy
created pseudolang as a spec by talking with chat GPT and trying different things and
seeing what worked best. And so it's not really a formal spec, but
there is a GitHub repo that talks about how to create prompts with this pseudo
lang and it's very, very powerful, and I've been using it with Brian
McKay on the ai Bot Show, which is a new YouTube show that I
do, and it's just amazing, just amazing. So one of the quotes
from this guy, from this article that I linked to, he says lms
were already extremely useful. In twenty two, a study geth hub found that
Copilot shaved fifty five percent of the time off a project task assigned to ninety
five people forty five years in copilot and the rest without. In other words,
even before LM, pseudocode languages is like pseudo lang, lms are already
making a huge impact on developer productivity, and we all know that. But
this guy, instead of trying to invent his own language from Dargon from scratch,
he fed some specs into GPT four like your task is to invent a
pseudo language for prompting GPT four. It should be obvious enough that the GPT
does not need the language specification to interpret the language. Please share the specification
supply justifications for the features you include to which GPT four responded. Pseudo Lange
Specifications for GPT four prompting pseudo language a simple and intuitive pseudo language design specifically
for prompting GPT four. The goal is to provide an easily understandable and interpretable
structure that can be used to communicate with the GPT four AI model. So,
in other words, you can do a lot with just using the JSON
format to structure ideas and prompts when you're creating a prompt for GPT four.
But if you use pseudo lang and I'm going to create a link for it
on the page, you can take that to a whole nother level of specificity.
Specificity specific is the work that's conversity specificity. So anyway, it's very
cool and you should check it out at eighteen sixty five, which is the
show number, dot pop dot em or just Google being pseudo lang. It's
sud oh see what they did, simonsto. Yeah, just you know,
look at that and check it out, and it's very cool and I'm glad
I got to show it to you. Awesome. Yeah, So who's talking
to us today? Richard Grant The comment off a show seventeen ninety, the
one we did back in April twenty twenty two with Chris Klug when we were
comparing different infrastructure as code solutions. So that was terraform FICEP PULLUMI like we
sort of got around them. The spectrum on that particular one in this comment
comes from Devin Gobel, who says, my hot take on DevOps is that
too many practitioners start off with rigid, preconceived notions of what they want to
do. This is normal since our decision making is always going to be shaped
by our scars. Yeah old thing. Yeah. However, it helps to
approach DevOps technology. Has any technology with an open mind start by looking at
whether or not the out of the bucks functionality is sufficient, and if not,
why are the scars running the show. Pretty sure, there's always going
to be some amount of custom work it needs to be done, but if
our first step is always to start figuring out how to get the pipeline to
run a custom Bash or Powershall script. You're probably doing it wrong. You
aren't that special. That's great. If the can features can get you most,
if not all, the way there, you should start with those.
They almost always are going to provide decent error handling, logging, and parameter
checking, especially if their first party offerings. Keep in mind that there are
going to be differences between Greenfield and lifted shift that might still require some extra
work. I like to think about it like any cloud project. If step
one is to create an Azure VM and install a sequel server, you're probably
doing something wrong. Yeah, yeah, I mean you can't argue with the
fact that you should really take advantage of the two. Like I've talked to
folks who've done customizations for SAP that at the end of it, go that
was a mistake. Would have been easier to change our workflows to fit what
SAP did than to make ASAP do what we wanted it to do, and
many other examples of technology before that. Sure, and it's just you know,
why are you reinventing the pipeline. There's a bunch of good tools out
there that will help you just follow what they can do. You remember rational
rows absolutely that comes to mind for some reason. I'm not sure what.
I don't know, what I don't know. That's his old pay no question.
So, Devin, thank you so much for your comment and a copy
of music Cobuy. It's on its way to you. And if you'd like
a copy of Mused to go buy, read a comment on the website at
dot net rocks dot com or on the facebooks. We publish every show there,
and if you comment there and everybody on the show, we'll send you
a copy of music Cobuy. And you know, you can follow us on
Twitter or ax or whatever the frick they're calling it these days. But but
we're having fun on Mastadon right now, and I've just gone on Blue Sky.
But there's so many of them that if you just go to Carl Franklin
dot com you can find all my social media and he's at Rich Campbell everywhere
pretty much everywhere, Yeah, pretty much every Yeah, Rich Campbell at Mastadon
dot social and more camps. So send us a tuote or a tweet or
whatever you like or Facebook message. We'll read it. That's all we're going
to reply, but we will read it. We must see something mean about
it. No we will not mock you, that's for sure anyway. All
right, let's introduce our guest, April Edwards. April is a senior developer
advocate and DevOps practice lead at get hub, specializing an application transformation and DevOps
ways of working. Her focus is to take customers on a journey from legacy
technology to serverless and containers where code comes first, while enabling them to take
full advantage of DevOps practices. In april spare time, she spends time outdoors
hiking, skiing, or scuba diving. She is also triathletes. It tries
pretty hard. It's really good on that elliptical. Tomorrow competing in Ironman and
half Ironman triathlets. Old Craft Welcome, April Edwards. Give it up.
I've heard of that, Yes, a small name. Yeah, people have
heard of it some of the time. But that's a fairly new role for
you. Yeah. Six months in I was at Microsoft. I was a
cloud advocate, cloud developer advocate. Before that, I was an engineering I
was technical pre sales. I've kind of done a lot at Microsoft, but
made the shift over to geth hub. So you went from caring about Azure
to caring about geth hub. Because the two don't get along. Right,
Oh they do now now I'm just lobbing the balls up today. I'll catch
that. Not No, I think I had been working GitHub for some time.
I worked with Azure DevOps as a product. I worked in Azure,
I worked in other clouds. When I was at Microsoft, I actually actively
spoke about the other clouds a lot, which surprised people because the reality is
our customers are in on prem GCP aws Manager, They're not in one clouds.
I really get the sense. Nobody's in one cloud. No, every
every customer has to fly requirements, they have to spread there. The way
we do workloads in the cloud now is completely changed to having data centers,
a little physical data centers as much you know, active active as we used
to. Now we use active active clouds. So yeah, I moved over
because I was working on with gethub. It's the cool kid on the block
and I want to be cool, so I moved. All right, you're
cool before get up. So what's cooler as your DevOps or get hub actions?
Get hub actions? Obviously obviously I actually six months ago I would still
say get hub actions. What's cooler is get hub actions. You can automate
anything. So as your pipelines, as your develops is cic D continuous integration,
continuous deployment get hub actions, you can automate whatever you want. You
can automate your PowerShell scripts, your Bash scripts, your SAP deployments. I
don't want to get near those, but you can. I'm just not gonna
be the one tell you how to do SAP deployments. But you can deploy
stuff. But you can automate anything from within your pository, in your environments
with the geth hub action. So would you say that get hub users are
a little more I don't know. I don't want to make it any here.
Are they more tactical than Azure users who tend to be more a little
bit higher up on the food chain? What's the story there? I would
say everyone is equal. That's a very very you know correct. Everybody's equal.
Everybody's equal. I think we love everyone at gith hub. We use
the word developer, which we're trying to figure out how what do we call
people? Right? Right? I believe everyone is a developer, whether you
work in ops, your programmer, everyone's on the conversation on run ass.
It's like we're all writing code. But okay, but I kind of tend
to think and correct me if I'm wrong here, and maybe you guys can
chime in. The geth hub crowd is a command line crowd. Always has
been wrong, wrong, wrong, wrong, and still wrong. Stop you're
wrong? What do you guys think? How many people think I'm right?
He works for Microsoft? We ignore him? Okaycast Yeah, what's wrong with
that? I'm sorry? I get no. I think. I think.
I think a lot of us started in the cloud, spinning up a new
workload, spinning up a virtual machine, and looking at data center migrations.
But that's just one element. I used to work with. Customers are like
our data center contract expired, we want to go to Azure? What can
we do? But then we work with customers that were refactoring their applications and
then moving those to the cloud and doing all sorts of different processes. I
think Azure has traditionally been easy to get started with click ups. I hate
that phrase like that, I hate it, but yeah, it's it's it's
it's the cool phrase for management. And that's how Azure started. Because it
was easy you get started Azure. You'd deploy something and you could actually download
the template, so you always deploy something with click ups and then figure out
how to automate it because it is easy to get started Azure. But I
think get hubs started as a source code repository. So it's where we ran
code, it's where we store code, it's where we host open source projects.
We being the world developers programmers. I remember the original tagline, it's
social coding, right, like you were bringing social me the concepts to writing.
Kind I kind of think you're making that point for me. Does anybody
agree? Are you just afraid to say? So, what's going on here?
Did I just parachute in from another plan? You did? And I'm
just not to argue with you, but like, have you seen the issue
manager in Visual Studio twenty twenty two for the geth hub be like, holy
man, that thing's good. Yeah, absolutely, I think it's come along
way. It's how we communicate, it's how we write code, it's how
we share code. But what we're seeing now GitHub is a platform. It's
not just a source code appositible. It's not social get anymore is a full
deliverable platform, and it is the cool place to work because a we have
the best swag best stickers. Right, guys, that's a funny looking cat
and it's just awesome. I mean, I use it. I'm you know,
I'm not persuasion. I am a huge gethub fan and I have probably
in my account. I mean, I create a replisitory for repos to the
point or not. It used to be the destination you just put your code
there, but now it's a journey. It's a long journey. And then
we're talking about AI. AI underpins everything we do now and get up.
How do we make a better developer? I have a really cool pie chart
that I show in my talks now that shows like what we do in our
day jobs. We spend time in meetings and probably half our time is waiting
on other people. I think we're waiting on other people to do stuff,
access to things, do things, approvals, red tape, and we're not
actually running code. So how do we enable a lot of circling back?
Oh, a lot of circling backs, a lot of community, and it's
people tapping you on the shoulder, right, yeah, pushing it to move
faster. I'm sure there's a Viva plugge. It would tell me how often
I say, hey, just circling back on this. That's a lot of
emails. I don't like Viva. I've turned it off, tells me I'm
in too many meetings and I need more focused time. We've turned into office
space here. Yeah, okay, So what were you saying before I completely
distracted everything? I don't remember. You have not even there, not anymore.
Yeah, it's really something. But we get back to the platform play,
it's like, yeah, you check your code in, But then when
we get back to the action thing, it's like, then, I'm bunch
of things happen. Well before you check your code in, let's go before
that. Sure, how do you check code in? How do you do
it today? Ah? Yeah, it depends on what I'm working on.
Sometimes I've checking in through It's either through studio code or through studio depending on
the project. So using get yeah to push your code up right? Yeah,
Windows, and you're using an ID which is visual Studio visual Studio coup.
Sometimes I use the command line say pretty rarely for me, how do
you write your code? Let's start there, so we're starting to focus on
the developer experience, not where you're putting your code. How are you writing
your code? So that can be your ide what you don't use an no
pad? Oh do I have no pad? Horror stories? You want to
talk about scars? That a battle scars. I was with a customer within
this century, within the last couple of years that used notepad plus plus Wow,
and the time lost writing code was a name. Yeah, I was
scarred. I'm still scarred. I still talk about it's still traumatized. I
can't let it go, but it's it's But we're bringing that experience closer to
you. Yeah. So if you use your ID, VS code or visual
studio, we have extensions. We have plug it. Right when I was
learning GET, we didn't have this extension where I could click the button and
do a pull request from me from vs code. Holy crap. I discover
that like a few months ago, and I'm like, oh, I don't
like it. It's too it's too slick. I like to fight GET.
I like to have I like to have merge conflicts and merge bombs. I
know I want to fight. If I'm not cursing, I'm not doing it
exactly. But no, we're bringing that more to the developer experience, and
we've come out with GitHub code spaces now that is hosted an Azure. By
the way, this shows the geth Hub and Microsoft Azure partnership. So we
host an Azure. You have your compute a secure development environment. So when
you're ready in your ID or using a PC or Mac, I use both,
right, you have both, but you got to set both up.
Yeah, so what's your time to get started? So we talked about that
developer time, right, Yeah, I want to look at one of your
repositories. How much time am I going to spend getting started on your project?
Yeah? Easy? I mean I've used I used the PC for the
most part. I pushed the repository to get and if there's like an Alley
program or whatever that's going to run on a Mac or iOS i down,
you know, I clone it on the Mac boom, run it dot Net,
run on the device, simulator, whatever, as long as you have
compute, that run works great. Yeah. So I started to get hub
six months ago. When you started to get up, they give you a
new computer, as hopefully every company does. They gave me a MacBook prompter.
She let me buy it with my own Are you a big boy?
Now? I feel great? That's good. It's good for you. She's
that's good. How you got divorced about five So anyways, kid, have
bought me a MacBook Pro and I do a lot of cloud native development.
I remember getting my new MacBook Pro opening up and going, I've worked on
Max. I've worked on Max. It's it's been more than probably ten twelve
years that I've worked on a Mac as my daily driver. And I'm like,
if I'm going to do this, I'm gonna spend a week and do
this. And just even with cloud native development, the things I had to
get set up on my Mac, I got too frustrated, went back to
my PC. Yes, because it's easier for me. And I was not
ironic because the Mac used to be like the droppy clicky clickoffs. Thang right,
it used to be you talked to a Mac using They're like, what's
the file? They don't know what a file is because they just dragging stuff
around twenty If you're going to do anything in the Mac, you've got to
use a command line. M Yeah. But in twenty twelves, the last
time I owned a Mac personally or use it for a work or personal Nothing
has changed that Mac in eleven years. Nothing, Whereas my surface has a
touch screen. It has all sorts of cool features. I can do multiple
screens on my Windows, and because I have my four K monitors at home,
I can do all my like tiles and Windows eleven and it is amazing.
And screen of Death every Tuesday. I don't get one every Tuesday.
Now I get it like once a month. For the record, I'm on
the dev build still at Microsoft, and I get one of I'm sorry,
I mean, And not to complicate the whole topic here, because when we're
going to publish a few this sweet few weeks or now we're like literally yesterday
announced they're shutting down Visual Studio for Mac. Yeah. Really, I missed
that. I was. I was here at the conference enjoying myself too much.
Visual Studio code is basically the thing. Well, they're gonna push code
spaces probably and the dot net dev kid. You. I mean, there's
solutions, but it is you know, sometimes there's just too many solutions.
Yeah, I guess I think that's an overwhelmingly amount of solutions. Yeah,
that's the usual problem. Right, It's like you almost have paralysis because there's
too many choices. But that's the answer to everything. Attack When someone asks
you what solution. You say it depends. Yeah. Nice. So let's
take a little poll. How many people used to get it to command line
and clap Wow, I'd say that's a third of the room. And how
many people would rather use it in visual studio? Visual studio clap, that's
peer significantly here. Yeah, absolutely, yeah, and them are just happy
to be here. Well, I thought there was beer. I'm with you.
The command line because the thing is is that the command line, once
you know what those commands are, it's reliable. I've had I mean,
I love visual Studio, but there are times when I do something visual studio
goes on. It's hard to be easy. It's hard. It's too it's
you have no control, right, you don't know. It's like driving a
manual our versus an automatic, right, it's an automatic transmission that any of
us can write a rebase command out of our heads, like we do have
to go look at it. I have a cheat cheat at home. Yeah,
because I just go I've done this, where is it? Because I
have a goldfish memory without Yeah, I will fully admit it. And I've
never had a goldfish What does that mean? It just has like every fifteen
second, it's always have that kind of a memory because I like Dori from
finding Email. Yeah pretty much. Yeah, I just I like life moves
on. I fixed a problem, I moved on. I'm on another project
and I forget how I solve that things, so I write it down.
I write a blog. That's how I remember. So I'm a Blazer developer,
well not a only do a lot of Blazer and sometimes it will just
hang when you go to run it, and it will tell you there's an
error, but it won't tell you what it is. Dot Net build at
the command line, you always see what the problem is. You always see
a visual studio hasn't caught up to it. That's their problem. But dot
in a build will always tell you what the error is. Anything that produces
an error log file is my friend. Yes, yeah every time. So
I'm big fans of command line. So well done. You What world are
we in? How did this happens? AB developer, I was mister dragon.
I learned VB many years ago and I don't use it anymore. It's
one of those languages we learned in school or I had to use for something.
Never touched it again. They're just just some memories that are far fonder
than real unless you work with Excel. Yeah, I guess a VBA is
still his VBA is one f twelve quick click aways to this day. My
goodness, how many access programmers. No, but you're right, though,
we have come a long way. Yeah, well it's come full circle.
Yeah, really is circles round? I started with a command line doss.
Anybody remember that? I started with doss? Yeah, and before that and
got into the UI, and then now I'm back to the command line.
Pretty much, it's come full circle. It's certainly more repeatable for what it's
worth, but it still begs the question, like how do we split all
this work out? Like it's all get hub things all the time. What
isn't it good at? There's there's some holes. Well, we're still growing,
right, We're in like our almost like our angsty teenage years, I
would say, like we have massively grown. We're trying to fit into our
clothes. But we're taking the enterprise feedback from our customers. So we are
often make a squeaky noise and call it a voice. I think we have
a pretty loud voice. At this point. We were looking for enterprise feedback.
We look for feedback from the community. We want that feedback. That
seem to be the area of growth is trying to figure out how to be
better enterprise yes, vendors, Yes, yeah, absolutely, and that's so
before. So this is fun. When I started to get Hub, my
actual job title was Senior Enterprise Advocate and our focus was enterprise customers. That
was our target space. We got reorged, as any good Microsoft entity does,
and we're not really Microsoft, but it's like we've we've embraced that culture
of reality. Yeah, but it's cool. You know. I love a
good reorg and I have a new management chain and it was for the better.
Great folks, some of them are sitting here to day, which I'm
very happy to be working with. And now we're cloud developer advocates. We
do the same thing, just different job title, right, but I focus
a lot on the enterprise customers. And our customers go to us and say
we need these features, we go back to the product groups. So that's
what advocates do. We are We're the in between. We're the gopher between
the product group and you the community, you the enterprise. So how do
we make more enterprise ready? We need that feedback, so we get to
see what's coming down the pipeline from the engineering teams. Those are things I
can't tell you about, but I can tell you, like, what do
you need to see? And I can be like, yeah, it will
be on a roadmap. Yeah, we're aware of it. We can have
those conversations, those NDA conversations, but we need to be more enterprise ready,
and that's what we're trying to do. We're trying to be adults.
Yeah. Yeah, I mean I'm the guy who often pust the enterprise hat
on because it's like, I would really like to know the bill of materials
from the open source perspective of all of the projects in my enterprise, because
that's actually a fairly tough thing to figure out. Right now, you know,
who knows how many projects you have? Hey, I acquired a couple
of companies along his way, so it's not all sitting in one set of
repositories either. But having it over you to say, hey, i've been
reading news about log for j just how many projects are using that? Right?
You know that's a that that you folks are in a place to tell
me a lot about what my developers are actually works bombs, Yeah, anybody
use that s Bombs, billow Materials. Wow, okay, you need to
google that tomorrow. That's b O M Software bill Materials. It's a list
of all the dependencies and their dependencies that you are using in your project,
so that when a log for J comes out, you know some news about
you can tell, Okay, what are we depending on? Is log for
J in that tree anywhere? Very important for you to do that well.
And the other way to look at that from an enterprise perspective is how many
teams are going to stop shipping features because you're now going to focus on getting
that thing patched up properly or get it out of there right. So we
have some pretty good built in tools. Yeah, so we've got depending one
I love, dependent on probably depend on what my email all the time.
It works at the project level. It does. It works the project level,
and you can see exactly what dependent it does exact what says on the
tin. It shows that the dependencies you have in your project opens up an
issue and you can determine is this a false positive and then you can put
it in as something you need to address in your project or is it high
priority, medium priority, low priority, and then you know as a developer,
I'm going, do I need to be aware of these things? I
don't know are they important to us? Because trying to manage all these open
source packages, all the dependencies we're consuming, I have it a clue.
Do you think of especially organizations with turnover or organizations that are growing with new
people in junior devs senior debvs are going, how do we handle this?
And especially because there may be a project that you've taken the dependency on that's
fine at the outset, then they get sold to some other company and that
company decides to make that malware and that just happened. Or if you're Hashi
Corp. And change your open source licensing model and piss off everyone in the
community, that's a whole other story. No one would do that. Yeah,
you know. Yeah, Again, we get back to dependent on it's
created at the project level, where because problematic is when do you disrupt a
sprint? Because the issues that large it tends not to be the developer's decision.
That's an an architects level are higher and we don't have visibility there,
like we're kind of counting on this is going to be reported on Patia.
We stopped working on working on because dependent what saying this as opposed to,
oh, I have an overview. You're all are focused on that, right
like you. All of your other deadlines are pushed back while we deal with
this issue. But that, you know, when I think about an enterprise,
enterprise type features like that's a good one, absolutely make a huge difference
for folks. Yeah, we're coming. We're coming in with more dashboards,
more visibility at fross, multiple repositories, multiple projects. That is coming.
That's a good one. That is absolutely coming. And I'm gonna up for
one moment for this very important message. Two or nine and we're back.
It's dotting at Rocks. I'm Richard Cabell. Let's call Franklin here with our
friend April Edwards, and we're at the covid Hagen Developers Festival in front of
an enthusiastic throng of viewers and good beer. April's gonna explain how she's gonna
solve the crisis and open source with geth hub tooling. Yes, soul,
Well, that's why they invented beer. There you go. Beer is answer
beers, all of the answers without a dough. Yes, I mean without
a doubt open source is thriving. It is a massive I think that the
stat I saw the other day was ninety percent of organizations consume open source in
their applications, only they'd all contribute. Yeah, well so this is this
is tough. How many of you in the audience contribute open source? Clap
clap clap? Yeah, like ten percent. Yeah, it's scary, So
let's I'm gonna be honest. So I stand on stage, I do live
demos, and people are watching me code. That is the scariest thing for
all of us when people see how vulnerable we are because we're not good at
something. We're not as good as the person next to us. I'm okay
saying I am a crap developer or I'm good at certain things, but I
don't I don't do this every day. I spend most of my time in
meetings, so my skills are rusty, right, and I'm sitting here talking
to you all about stuff. But we all have different strengths and weaknesses,
and sometimes we just have bad days, we have bad moments. But it's
scary to put yourself out there into the open source community, and it's something
we probably don't encourage enough. Is to say, look, pick a project
you love, pick a passion. Start small, like Rome was not built
in a day. We do the same thing with develops. Pick something small,
pick a small issue that you need to fix in your organization, or
pick something small in an open source project, ask questions, and if that
community in that open source project is not inclusive and inviting, screw them,
move on. Just don't waste your time. But it's the same thing in
life. If you have friends that are not nice to you and inclusive,
get off that playground, go find another one. I mean, we learned
this in kindergarten, so it's being an adult a it's okay to be wrong,
be it's okay to put yourself out there and see us as a learning
experience. We don't do enough of that, and it's it's scary, like
I don't want people to see like my really bad hold on. I do
the whole time. I put my code up on stage and on videos like
yeah see it. But this is why I use the tools like Copilot to
help fix my code. I use rubber ducks I got I got rubber ducks
all over the world. I have rubber ducks per time zone. So when
I'm traveling, I'm like, which rubber duck is going to be away?
But your duck isn't exactly. I'm going to be jetlagged and exhausted, but
my rubber duck's gonna be awake and they're gonna help me fix my problem.
Tell you my wife is my rubber duck. Wow, oh oh wow,
it's awesome. I literally just need someone to talk to. And I've tried
the wall, I've tried an actual duck. I just need to look at
someone, yack. I just want someone to talk to. That's it.
I just need someone to go, yeah, you're off base, or actually
you know you're on the right track, or I don't have a clue,
and I just need to talk it out to myself. How many times have
I'm writing something to stack overflow and by the time I finished writing it out
in a way that won't immediately get crucified, I've actually already figured the problem
out. I don't use stack overflow anymore. I use GitHub copilot check and
actually bing the bing Enterprise chat phenomenal. Yeah, it's written on some show
titles, some descriptions. For me, recently, it's answered my questions.
My new rubber duck. Wow, my rubber duck, my real life rubber
ducks are upset, and it's certainly more accepting than the moderator for stack Overflow.
Yes, I mean search, don't don't ask. Yeah, bang chat
enterprise will not judge you. Yes, it is fantastic because I can't have
feelings, I can't duplicate. You don't get that on bang chat. So
I want to give a shout out to Jonathan Gallaher speaking of contributing to open
source projects, which I consider dot rocks an open source projects. Sure right,
we do this whatever. It became the first one hundred dollar patron patre
Patreon dot rocks dot com. Jonathan Gallaher, Let's get him around with applause,
because that's the other contribution possibility too, is that companies actually contribute some
some funding. Yeah. So, do you know who the largest contributor is
to open source in the world, any mean contributor, financial, all the
above. Who's one of the largest contributions of Microsoft? Absolutely? So when
I speak to these very Linux focus, very dev heavy, Microsoft's useless.
Yeah. Hi, we're one of your biggest contributors to the CNCF open source
projects. So we have was a week. Sorry, don't work for Microsoft
anymore. Microsoft has four different contribution models that they do. So one might
be financial, one might be backing a project, one might be adding resources
to a project, or bring in a project in house and developing it.
So really good examples in the cloud native space. How do you like?
Yeahs doing a lot of good in the world, right, I mean they're
not the Microsoft days of old. They're the kinder, gentle er tech giant.
But anyways, and when Microsoft acquired geth hub, they did that to
be closer to the open source community and the developer community. They were also
a massive consumer of geth hub at the time. It's like gehub was incredibly
important to the organization. At the point at which the acquisition went through,
they were I think they were the single largest entity working I think the co
so some extent, thank Scott Guthrie and still hack for that, can't we
Yeah, sure, there was a lot of Yeah, who's here to nights?
It's like, what am I, Chuck Liver? You had everything to
do? Yeah? Yeah, well they were, they were certainly in all
the places. But yeah, it takes a lot of moving parts to make
those sorts of things happen, and I remember when it went down and it
leaked on a Friday that it was going to be announced on a Monday,
and you had a few people screaming the sky is following, I'm running to
get lab and folks going, you know, get lab runs on Azure,
right, Yeah, but there's also this question of like who else would you
rather have a choir of them? Yeah? Yes, you know, I
think at the time I was, I was a Microsoft FT and I was
like, Okay, this is interesting, this is cool. Now being on
the other side the fence as a gethhub employee, there are people at get
hub that are just like, we operate very independently, and I want to
be very clear about that, like I am I am paid by get hub,
not by Microsoft. We work together on stuff, we integrate our products,
but we are so separate. And we have people getthub that are like,
we want nothing to do with Microsoft still, right, Yeah, but
they kind of give us money to do things. Yeah, they're funding the
platform to be amazing. Yeah. Well that was the first thing that happened
once the acquisition went through, is like you started charging less, did we?
Yeah? Yeah, price, So actually this is a great one about
copilot. So when Copilot was announced as a paid for product twenty one,
yes, twenty twenty one, people went in the community. I was around
a bunch of GitHub stars and community folks that went ballistic like, oh,
it's ten dollars a month. I think it's ten dollars a month, ten
bucks a month, And I'm like that's like that's like a two coffees,
Like how much? But also a great point, how much GPU power do
we put behind the engine to power copilot? Do? Yeah? Do you
think we're making money at ten dollars a month if you're actually using this thing
routinely? Because that compute costs money? Does does? But I love the
fend that a gethub came up with the name go pilot because it's the best
name. Yes, because it just is that perfect complication that says, you
know, you're still a pilot, right, That's why we call your AI
pair programmer. Yes, And that pair programer doesn't care if you fly into
a wall. It doesn't that's going to be up to you to deal with.
You're still in full control. Yeah. Should we have a little history
lesson here? Code plex Do you remember code? Yeah? SI? So
that sort of was the precursor to get Well, they were totally separate products.
They were, ye, I mean, and Coplex was more like source
Forge. Yeah. I guess you're right, yea with a little source repository
for open source projects. But what was Microsoft helping them out? Yeah?
Microsoft created CodePlex. Yeah they I don't remember. Yeah, And and part
of the reason for that was that they weren't particularly welcome anywhere else. Uh,
And they did that was very much Guthrie who was on the mindset of
I have to get out of this eighteen to twenty four month cadence of shipping
studio. And so, I mean, first thing up there was the jax
tool kit, right, which didn't really have a home, and they didn't
want to wait another year to put it out there. So let's let's put
it there. And then you know, look at things like h NBC,
NVC iterated up there. Why did Microsoft be using j Query in twenty ten?
Because when they started talking about doing a dom tree, a navigator for
NBC and writing their own the community went, are you crazy? There's j
Query that's all we're using, Like, don't write one. And ultimately silver
Light, you know, and it's gone. And that's when we remember we
did a seminole dot net Rocks episode in Tennessee. Yes, Paul, has
software development gotten too complex? And this was around the point right before you
Get was created, Yeah, which is twenty eleven. Yeah, so I
think we did that show in like two thousand and nine, so we had
we'd had a couple of years of them just putting code in places. Blog
posts the latest get the latest silver light on on Scott Guthrie's blog, but
there was no date on it, so do you know it's really the latest?
It was in furious. It was that frustration. It is like you
you had, you'd built it up with this particular set of tools, and
you're trying to get somebody else to build a work on it, and just
trying to find all the right versions of stuff just become impossible. It was
Phil Hack who got the Newcat project, Yeah, to actually have a package
manager from this history lesson full circle. Phil Hack and Rob were instrumentally did
everything. Yeah, Get the only reason we're all still alive today. Well,
okay, but you guys were the open source warlords, you know you
got You guys made it impossible for Microsoft too. They were Scott Guthrie's ninja
army. Ninja army there. Yeah, that's that's what I meant to say.
But but you guys brought the attention of open source to Microsoft through your
actions. Yeah, and I'm really sorry I picked that back. What did
they what did you call them the what and the Hybernate Mafia? Yeah,
they call them the m Hybernofia. That weekend they got a better name.
It was. It was tough love, but man, everybody's so much better
for it. Well, they weren't wrong, No, they weren't. They
were just there. We could argue about their methodology. That's not polite way
to say it, but you have to be confident to do that. Oh
yeah yeah they weren't. Well confidence and close there's their cousins. No,
it was it was the moral arguments that got on your nerves. Yeah,
like you're a bad person for not using open so yeah that was annoying.
Yeah yeah, but there's still people out there today that you're like, if
you're not an open not using open source, you're not cool. Yeah,
well this wasn't you're not cool. This is like you should burn in hell.
Yeah. Oh I've been told up too. I was just trying to
be polite. I've been living in England too long. I've I've been brought
up on British manners now oh lovely. But in the meantime, like open
source has permeated everything we got there, and even Microsoft stopped making everything itself
and supporting projects that that took care of that problem. Jake Querry being one
of the originals. Like when Jake Querry showed up in Studio twenty ten,
We're like, what bacon powder? Yeah you really did? You just put
an open sourd project into into your commercial products that you're going to provide tech
support for. Oh yeah, crazy times. Now they've open source everything on
gethub. Every product group has an open source not every product, almost all
products have an open source repo on gethub. Yeah everything on there's a whole
Azure repost for stuff that isn't specified, but yeah you can get to pretty
much. Not Azure is plumbing, right, Like, it's definitely tooling.
It's open source. The tooling is open source, the products, the resources.
So when I tell these stories about over source that Microsoft's like, don't
think they aren't still filing patents. It's just for only certain classes of code.
Yes, the stuff you're not going to find out gets Someone was very
upset with me recently though, why hasn't GitHub open sourced X for GitHub?
And I said, because there's security reasons why we can't do that. Yeah,
you know, there are legit security reasons why I can't open source everything
and get hub right. I think you're making a case for not every piece
of code should be open source. Absolutely, how strange? Yeah, weird?
Yeah, I mean we deal security compliance all the time. I mean,
if you're a consumer and you're going my data is exposed or there's been
an issue because we've exposed something, how does that make you feel you're not
going to trust the platform? Yeah? But and I don't think that's the
only reason that you keep something closed source. Certainly security is part of it,
but there is a concept of proprietary secrets, and you know what is
the secret Sauces organization, and those are assets that are worth protecting. Yes,
Hey, does anybody in the audience have a question for April. It's
it'd be a shame for the last many minutes if you had a question you
couldn't answer. Anybody, have anything you want to contribute to the conversation anyway.
Yeah, throw your hand up if you have something going on, but
we're just blurred it out. Yeah, And well, are there any new
and exciting features waiting to give Hub? There are lots of amazing features coming.
What I'm allowed to talk about the whole other story. What I can
say is get hub Universe is coming in November early November, and we're gonna
make a load of announcements. I can tell you that a lot of features
we have been talking around in AI are coming. There's some great new features
that have been released recently, like larger get hub hosted runners, actions runners,
so you can run bigger projects, bigger workflows. There's some great stuff
around enterprise stuff around like v neet peering. There's gonna be some cool stuff
coming in code spaces, all of its public on the roadmap. So that's
what I say. Go there. That's all the stuff I can talk about
anything else. Also, you know, I think priorities change within organizations have
happened at Microsoft and their product groups, happens at geth hub. If there's
a issue in the world, we have to kind of adapt our roadmaps a
bit. But anything we can talk about on a roadmap, So definitely have
a search engine review of the get up public roadmap. Have a look see
what's coming. But common universe, there's gonna be some really cool stuff.
Anyone else, Rob, You've gotta You've been sitting there so quiet and so
peaceful. You must have something to canture you. You're sitting here drinking his
beer, having a good time. Well at least he's having a good times,
good time. Anyone else speak great up? Yeah, any chance that
get up actions can be triggered vice events to Azure gavos. Yes, So
currently you can integrate GitHub ac actions from Azure DevOps from your code repository.
Where that is tricky is coming back, so you can you can have your
code in Azure DevOps and then run from a GitHub Actions workflow pipeline. So
you can just go into the marketplace and get up actions and sink them through.
I have quite a few demos. I used to do that several years
ago before all the cool stuff that's happened with geth hub. When I was
at Microsoft. I did stuff and as your DevOps and then did a deploy
into with actions. So you can definitely run your actions in terms of specific
triggers. If you're trying to do stuff within the in the Azure DevOps project,
if you will, we have documentation on different things you can hook in.
So maybe you want to hook in your this is going the other way,
your Azure DevOps boards into your GitHub repository. There's ways to do that.
What you can't do is hook in your Azure DevOps repose into GitHub.
The reason being data residency currently, so that's going to be your biggest limitter.
Yeah, I was just trying to figure out what's to split there,
Like, do I want to kick off Azure DevOps, populate my boards,
maybe run a set of tests. Is that I'm at a certain point with
the code, then push to get up and kick off the actions to the
deploy. You can run your test with an action as well. Right,
you can absolutely run your test with actions. I certainly know I cannot use
AZR DevOps and just do all of this through actions. The question is is
zerological place to do both? I think it depends what are you trying to
test? What are you trying to do from a pull request check in.
Quite often in the lob of teams I've worked on, we've done it from
Azure deevops, but there might have been specific packages we want to consume in
GitHub from the GitHub actions piece, we'd run it from actions. Yeah.
I's also thinking from a security context perspective, like being inside of AZR DevOps,
you're in the tenant, Like, there's a few advantages there for being
able to absolutely so if you have some data requirements staying within Azure deevops as
you're way to go currently. Now, the other argument, the flip side
to this is if you have stuff in your code base that shouldn't be exposed
wise it in your code base. Yeah, you know, so that's the
flip side of it. But if there's a data residency requirementhich we have a
lot of customers still have, they might have to run stuff from Azure deevops
in those pipe and then kick off an action. Yeah. I'm thinking more
about in the bill process or again in a test suite things like that,
where I want access to the Azure tenant to do a bunch of that stuff.
It's easier to do it from Azure DevOps it is. But there is
a feature coming hint, hint, hint around private v nets for GetUp actions
when we might learn about such a thing. Yeah, well, I'm actually
supposed to be writing a blog about it. I don't know when the release
date is. They keep moving it. Yeah, I think it's soon.
If not now, I should know. But we got a conference I'm in
like this tunnel load. I should have written this blog, like a couple
of weeks I supposed to be. We're not publishing for a few weeks.
It may well be out. It's probably, it's probably out by now.
It's fine, but there's gonna be a lot of stuff around private v net
connectivity to actions and other actions. Better access back into the tenant, back
into your Azure subscription right right, or on prem because a lot of people
run get up enterprise server or as your devop server. Yeah, that's all
of the canon worms like, actually, you're not you'ren't in the cloud at
all. Yeah. So here's a hypothetical for you. Say I'm traveling and
I'm jet lagged, and I'm in a foreign country, say Denmark, and
I it's late at night and I've had a few beers, and I go
back to my hotel room and I check in. I create a repo with
some code. It's a private repo on GitHub. But I've included in my
configured file and API key in a password or something like that. What do
I do? Delete the repo, get rid of it by my at risk
for that ever becoming crawled by by you know, co pilot or anything else.
So private repository. Now you ask several questions on that, so I'm
to start the first one. Never put a password in a repository, private
or private or public. Never do it. Never. Never did you hear
that people never put a never passwords live or for life, not just for
Christmas. I will talk about Uber till the day I die, because they
literally keep doing this private pository, put a password in their power trus recently
recently they did this in twenty seventeen. They've done it again recently. They
just haven't learned stop putting flipping passwords. So there are ways to get passwords
out of repositories. You can delete the repository, yeah, that's one thing
to do, But if you actually need to keep the repository, there are
open source tools that can scrub it. Trufle Hog is one of them.
There's one called truffle Hog truffle Hog, and there's another one called see something
and I can't remember the acronym, but that can do it. So those
are like the quick tools. You can open up a case with geth hub
to remove it. The other thing you can do is have geth hub Advanced
Security enabled. You can do secret scanning within your repository and we'll find That's
like, yeah, but it's already there, So here's them when you check
in it. We'll hold on that. We'll find it once it's in the
repository. So you've already made the the oopseis and you already get your hands
slapped to be taken out back and shot. But we're not gonna do that
because we're in Copenhagen and guns aren't allowed. Of course nobody wants and your
wife might miss you, so you don't want to actually take you. This
is hypothetical and he done it, but we've all done We've all put passwords
in stupid places like we have all done it. We put it in a
plane text file somewhere. It's like, oh, no, none, I'll
find this over here. Oh my god, we've been expected. So the
biggest Sony Sony's had any Yeah, a lot of banks in the US have
had it I can. I have a list of financial institutions that have many
times that I've gone through done you know, doing a search like that and
found like all of the ss L keys sitting in a root folder. So
it was you nice, We'll take you up back to the easiest thing in
the world, right, but we'll just trying to get SSL up. You
unpacked the thing, you leave in the folder it was in, you deploy
it, and you never clean up the mess. Yeah, we we've all
done it. We're under pressure, we forget and we move on. Yea.
So truffle Hog is a good thing to just run against all your repositories
or is there something else built in to get Is that built in to get
out? No, it's it's an open source tool. You can actually open
up a case with gethub and we can scrub it. Or will you tell
me what repositories have the junk in it so I can remove the job.
I don't actually know the exact process, and it changes if you're an enterprise
customer versus a private pository. So there's a support agreement level agreement. So
what I would say is get an open source tool, run your repo,
take out the junk, but turning on things like you have advanced security doing
things like secret skinning. But it's already there. So we have another tool
called push protection, And if anyone watched my session yesterday, I went to
run it and I didn't. It didn't catch my secret because we found a
bug. Let's say we found a bug in it. But push protection can
find certain secrets and it will stop that from even getting into your repository.
So I went to push my code up. That will stop it going.
So you got two kind of areas you got I've put in my repo.
How don't I get rid of this solution? But that's growing, It's just
not it doesn't. It doesn't service every use case. It doesn't excuse you
putting paths. Just don't do it. Do it. We have getub secrets.
We have we have getub secrets in every POSITIY put your secrets in the
secrets. Okay, that's what it's for. And someone asked me the other
day about getub secrets. It's like, well, if I want to share
it with a manager, and I'm like, absolutely not. No one can
see the secret ones. You should also learn how to use the getting our
file that's kind of an obvious solution, isn't it use a GID ignore file.
That's another great there's lots of things as human behavior, but as the
app setting is just kidding in as I mean, I'm mostly working on cloud
stuff these days. It's like, look, you just use keybolt from the
get go set up key bolt and yeah, put whatever you want in the
GitHub set because it's all just doing is referring back to the keyhole. And
key bolt is great because if you have this, you rely on that key
or a pike or password in several projects. Yeah, change place is easy
to shut down and you never ever ever leak a secret though. Ye,
but the problem with the keybold is you have to set up correctly. Yeah,
with a gith hub secret, you just put the secret in and you
don't have to configure anything, right, So it's easy to set up in
your repository in your workflows, all right, random applies. How many developers
here love security? Really? Wow? Really you really do? Are you
lying? It's a lot of live Yeah. It is like after nine and
you're asking these guys. They're just agreeing with you. It's just like,
yeah, I think security is like taking your medicine. We have to do
it, we need to do it, but it's not something I love.
We're like handcuffing a developer, you know, when they're trying to write code.
It's I think you're lying. Oh, there's a question, question,
So to repeat the question, which is a great question. By the way,
what feature that you're allowed to talk about? Are you most excited about
that you love to tell people about and you just you just can't wait to
tell people all about it, you know. I don't think anything excites me
that much. But hypothetically, there are two things that I love a little
excited man. Two things that I love. I love code spaces because I
have three devices in my office and one is like for video audio production like
you guys are doing, once for my daily driver, and the other ones
my Mac which is in corn and collects us. But I can work from
different machines and I use a GitHub codespace. Now. The other thing I
love about a GitHub code space it's secure. I can get the exact configuration
I need known this faffing about with like all the packages and install So I
love code spaces. It's there, it's ready to use. We're adding features
to it. But actually at Universe, we're going to announce a lot of
cool stuff around AI, around copilot. So you mentioned Universe, what is
that for those announces You have Universes like the equivalent of Microsoft IG Night.
It's our big conference where we're gonna show all the cool stuff coming out this
year. It's first week of November. I want to say it's the eighth
ninth before ignit. It is the week before at Night, So I will
be in San Francisco giving a talk on a very specific topic around getub copilot
chat, some new features what I can talk and we've already announced this,
so we have getub Copilot. Chat is part of a thing we call gethub
copilot X. It's our vision for copilot. So it's not just you know,
you go into copilot and tab through all your options. Chat. I
can actually talk to right now, I want to say, I can.
Actually we have voice coming so you can talk to it. Not everyone can
type, right A lot of us might have some accessibility requirements, so speak
is really important. Or I'm just lazy and like talking to my machines.
I don't have to type it out because I can talk better it anyway,
Yeah, pretty much Yeah, that's true. That's true. It's I wasn't
saying nice things. Yeah, well no, I'm sorry. That is physically
impossible. You're a pilot. But see this is great because it doesn't have
emotions, so you can say whatever you want. So we're gonna have a
lot of announcements around getub Copilot, around docs which will help you write better
documentation, which does excite me because while all of you raise your hands for
security, how many of you love writing documents and documentation for projects? Clap
sorry, clap. Yeah, it's a couple. That's a much smaller number
than before. It's going to help with a lot of our daily stuff.
We also have the ability to open up poll requests with gethub Copilot, and
that's cool because when you open up a code a poor question, you're just
trying to push your code. You're like, gotta gotta go, gotta go,
get this over the line. We don't think about someone has to read
this and figure out what the heck our poor question is actually doing. And
we're terrible at writing details sometimes a long documentations. Those lunch language onels are
good at writing a summary. Oh they are. Oh my god, I
don't have to write much on my own anymore. Well, it's a good
starter for ten, so I use it as a starter for ten, and
then I add to it. But it gives me a starting point, and
then it summarizes what you're doing. You will also tell you if you don't
have enough code coverage and you need to write more tests for your code,
that it often reminds you of changes you've forgotten about too. Yeah, I
forget about what? Yeah, because if you've made a few changes in a
PR which for a couple of days on something, Yeah, stuff just fades
away. And it's even better if you suit line. See what I did
put the good callback? Yeah, call back. That's good. That brings
us to almost to the end. But I guess I'll ask you the question,
what's in your inbox? What's thanks for you? What's in my inbox?
I don't know. What's a black hole? When you leave here?
When I leave here, I'm going home for four days and then I'm flying
over to the US to do a half iron man. Oh wow, Yes,
those crazy traffl on things I have cool? It is, it is
cool. I'll let you know after I finish. Yeah, let me get
to the finish line. I am doing quite a bit of conferences. But
my big things that are coming that will excite everyone. I'm doing a new
show at GitHub. We're calling it fifteen Minutes to Merge. It's going to
be replacing my previous once they replacing, that's not the right phrase. It's
a brand new show Gethub about gethub enterprise level products, but for you to
developer. You the consumer. So we're gonna want your feedback. We're gonna
want you guys to watch it, give us, let us know how it
is and what other topics you want to say. That's one of my big
things. And the other thing is I've kind of been writing a book.
Yeah. I don't know if you've written a book. It is it's hard.
Yeah, yeah, okay, you don't count. This started off as
a blog and it's get for the I Pro, Get for ups teaching,
Get for the I Pro because they're the ones that are not using gethub inherently
or get or need to understand it. So that start off as a blog
video series, but I've actually been asked to turn it into a book.
So I'm trying to figure out how to write a book. So the blog
series is easy. The videos are easy for me that the book thing scares
the snot out of me? Are you doing it manually? You're using AI
to help. I'm actually writing it manually. No, Aia boom, Yes,
because I want it to be me. I don't want it to be
It's gonna have my name on it. So that will be co written with
a very important power show person, very awesome power show person. Jas No,
no, not James. I can think of a few bolks. What
would this over there? Yeah, we'll talk about later. So, yeah,
I got I'm writing on the really the the I T pro audience that
really needs us to help them embrace it. And then the new new show
talk about that. I'm running for sure you will, Yeah, I believe.
Well, yeah, hey, thanks for thanks for having me talking.
This is great and I didn't I've learned so many new things tonight. Did
you all right? How about a big hand for April ad words? I'll
see you next time I talk. Dot net Rocks has brought to you by
Franklin's Net and produced by PLoP Studios, a full service audio, video and
post production facility located physically in New London, Connecticut, and of course in
the cloud online at pwop dot com. Visit our website at dt n et
r ocks dot com for RSS feeds, downloads, mobile apps, comments,
and access to the full archives going back to show number one, recorded in
September two thousand and two. And make sure you check out our sponsors.
They keep us in business. Now go write some code. See you next time.