S02E11 1h 10mSeason 2

Sponsor Message
This episode of The .NET Core Podcast is brought to you in part by RJJ Software
RJJ Software is dedicated to helping you to realise your company’s digital potential through innovative solutions using the latest technologies.
Utilising the latest in .NET and cloud technologies, we can help you build the solution to your business needs, on time and under budget.
We have world class experience in cross platform development using the latest iterations of the Microsoft technology stack. This includes .NET Core; SQL Server; and Azure. Is Azure not your thing? That’s fine, because we have experience with AWS, GCP, Linode, and Digital Ocean, too.
We know what it means to have to be able to iterate quickly, and how important DevOps practises are when it comes to remaining Agile. As such, we have experts in the major build and release pipelines: from Azure DevOps to AWS, from Netlify to TravisCI, AppVeyor, and everything in between).
So get in touch today at RJJ Software, or check the show notes for a link.
Episode Transcription
Hello everyone and welcome to THE .NET Core podcast - the only podcast which is devoted to:
- .NET Core
- ASP.NET Core
- EF Core
- SignalR
and not forgetting The .NET Core community, itself.
I am your host, Jamie “GaProgMan” Taylor, and this is episode 43: How Do You Even Start with Josey Howarth. In this episode Josey Howarth actually interviewed me on how to get started with .NET Core. Some of you may know Josey from her work on the Documentation Not Included podcast, as a GitKraken ambassador, or from her company Love Sudo. It was quite a lot of fun to be on the other side of the interview, after having been the interviewer for a year and a half; it was also a lot of fun to be able to go “back to basics” (as it were) and provide some information on how to get started with .NET Core.
So let’s sit back, open up a terminal, type in dotnet new podcast and let the show begin.
The following is a machine transcription, as such there may be subtle errors. If you would like to help to fix this transcription, please see this GitHub repository
Jamie
Josey
Jamie
Josey
Jamie
Josey
Jamie
The perfect example I can give is a friend of mine once had a Raspberry Pi set up as a Home Theatre PC. And he didn’t do Linux, but he’d asked me to come round and see if I could maybe help him back it up and stuff like that. Because he was gonna install the update, he was very worried about, “what happens if the update fails?” And we sat there and I said to him, “Ok right. Here’s a USB; plug it into your laptop; live boot into a Linux distro; I’ll talk you through the process of backing it up.” We took the SD card out of the Raspberry Pi, because you can only access the partitions which have the operating system installed on the SD card through non-Windows because Windows can’t address it. So okay, we’ll plug that in and get that running, and I said
Ok, right. We’ll do a bunch of commands to see where everything lives. We’ll craft the command, bewteen us, in a different window, and I’ll sanity check it, then we’ll run it. Because if we get it wrong, it’ll wipe your computer.
So we built the command, and I said, “OK. It’s sanity checked. But give me a minute, don’t run it yet because I have to nip to the bathroom.”
Josey
Jamie
Josey
Yeah, I’m actually here for one purpose, and one purpose only Jamie.
Jamie
Josey
Jamie
Josey
Jamie
Josey
Sudo Nimh as a pseudonyms. I also go by Darth Securitas, because I am utterly unamused by people’s practises when it comes to security. And that is because I am a bit of a fiend, which is why a friend nicknamed me Darth Securitas. I’ve also been nicknamed a rogue verbal alchemist because I am great at words - not really, but for some reason someone thought it was funny. So it’s kind of dug and stuck. But for me, I have been involved in technology since I ripped apart my mother’s stereo when I was like two and a half, trying to find the tiny people in it.And that was a long time ago. We don’t ask people who are as old as I am their age, because honestly, at this point I’m older than most people think I am. And it doesn’t really matter anymore.
But my day to day life is literally managed services for websites; web hosting; I do development/design. I mainly work in WordPress; I mainly work on nGinx; PHP; mySQL; Maria, sometimes. Is it Maria? Or is it mongo? This is what happens when you catch me so late in the day. It’s an M base gosh darn it, and that’s what I’m going to stick with. But like, yeah, I basically work in that world now.
Now my history however, has me involved in things like application development using C# way, way back in the day. I actually was learning C# before came out properly, because they hit the universities. If you’re going to get any product out on the market, just so that you know for those of you who are currently crafting tools: hit the universities. You get the people who are learning a language, a tool set or anything else with your tool or language or what have you. You’ve got the market.
So a little bit of life lessons for people, you know. But I’ve been around the block a few times. And then I started doing a development podcast called Documentation Not Included for developers, where we talk about everything from consulting to freelancing; to development, which I say with a big sigh. But I love what I do.
Yeah, that’s that’s basically me. Mostly I am an uninteresting person who was here to grill Jaime about .NET Core.
Jamie
Josey
Jamie
Josey
Jamie
Josey
Jamie
the great time cast machine wibbley wobbliness.Josey
Jamie
Josey
Jamie
Josey
Josey
Jamie
Josey
Let me start with the most basic question. Now, you’ve probably said this before, but I want to know: what, to you, is .NET Core?
Jamie
Josey
Jamie
Josey
Jamie
.NET Standard is a standards document, which lists a bunch of API and methods, and all that kind of stuff - object types, and classes, and things - that you can expect a platform which implements the .NET Standard to have. now the .NET Standard isn’t like a thing that you download - I mean, you can download it, but it’s not anything you download to help you make applications. It is literally a document, and it’s kind of like how your language specification works. It’s the same sort of thing, except they call it standard, rather and specifications, which is bit of a misstep, in my opinion.
So .NET Core originally started as a subset of .NET Framework. It has now become a completely separate animal because .NET Framework is kind of… How do I put it? I don’t want to confuse people like an early episode of the podcast did. .NET Framework is essentially “done” in bunny quotes, in that it is finished, there’s not going to be new features added to it, but there are going to be security updates. And it is going to be supported for the length of the windows, kernel, because the Windows operating system requires .NET Framework to be installed, and present, for it to work. So it’s a very Windows centric sort of enterprise-y thing, and it is required. So if you know anyone with the Windows 10 device, then they have .NET Framework installed.
Josey
Jamie
Josey
Yes, sorry had interrupted Interject that.
So Going back to what I was saying, one of the things that you have made mention of in your explanation is one of the biggest deterrence I have for wanting to get into using just this framework. Well, technically speaking, several other frameworks as well. And it literally comes down to the whole concept of, “well, it’s slightly complicated,” and that’s literally what it is.
Let me ask you this. Who wrote this .NET Standard, this document?
Jamie
Josey
Jamie
Jamie
Josey
Jamie
Josey
Jamie
Jamie
Josey
Jamie
So over the past 5, 6, 7 years is being moving and turning very slowly. So one of the big portions of the what people consider is .NET is called MVC, or ASP .NET MVC. Now ASP .NET MVC is a completely separate thing; It can be added into your - I’ll go into a world of these mean in a moment, but the point of driving towards is that: whilst the .NET Framework was entirely close source, at the time that they developed ASP .NET MVC completely open source. And so you could literally downloaded the source code in C++ and run it on your machine, and you know, compile it, and do all this kind of stuff. And it was entirely open source; which started this short, slow amble, I guess, towards open source. Like I said, the beginning of that oil tanker turning. It started that off.
But yeah, there is a big history of people, I don’t want to say mistrusting Microsoft, because I think that’s unfair term. But the displacement off 100% trust; a lack of trust with Microsoft because it’s a close source. And I feel like it’s both justified and slightly unfair.
Josey
I could very easily play the cynic and say that [they are] getting involved in the open source community with the intent to drive what can and what cannot be actually used. Or basically figure out a way to eat up every resource possible within the open source community before killing it off.
There are people who believe that. But to me as much as you know, we can pick any soapbox we want and stand on it. It comes back to one thing, and that is the barrier to entry. I would love to get into understanding my co-host Chris better, by being able to speak half of his language, which is .NET Core. Am I able to do that right now? Not easily.
Perfect example: In preparation for this show, I decided to look up things like .NET Core versus things like, you know, PHP, whatever. But just simply .NET Core. When I went to look for information about .NET Core, you know what came up?
Jamie
Josey
Jamie
Josey
It’s like, “come on.”
All of us can speak from this when we’re talking about technology that we’re using or things that were investigating. We know that we have to do our own due diligence. We have to make certain that whatever we’re looking at is actually valuable and viable. I can’t begin to tell you how many Angular tutorials I ran across had it had security flaws in them.
Josey
But there’s so many steps in the development cycle and trying to find the information that is applicable to get started. It just seems like, um what’s a good analogy since you are Mr Analogy man? A good analogy would be: It’s a bit like being a drop of die being dropped into an ocean.
Jamie
Josey
But how? How does one even begin to get started? I know, thanks to you, that Microsoft has now implemented a sort of lesson video introduction, thing on their learning website. But, you know, there’s different types of people who are gonna be looking to get involved in this. There’s the people who are crossing over from either other frameworks or they’re looking to expand their knowledge. Like, you know, I know somebody in the WordPress world right now who wants to completely leave everything PHP and go into things like Angular and all that other stuff, but they have no clue how to get started in this .NET Core anything. And then you have other people who have, like almost zero to limited knowledge at all about programming in general. Therefore, you know they’re not going to bring with them the habits that another language would say have them bring with them. So it’s a little easier, in my opinion, to teach those people if they can find the right resources.
But like, how? How and why should I even bother?
Josey
Jamie
Josey
Jamie
Josey
Jamie
But its Java.
Josey
Jamie
Josey
Jamie
Josey
Jamie
Josey
Jamie
Josey
Okay, so let me boil this back. What you’re saying is that that .NET Core pretty much allows you to build your app - it makes difference whether you’re doing a web app or an actual application itself. And it doesn’t matter what platform it is, as long as they’ve got the framework installed - which is pretty much a guaranteed download from Microsoft in some way, shape or form. And in the right framework, therefore can make use of whatever libraries you make calls on for dependencies.
It’s a good thing.
And that’s basically what makes .NET Core so fancy is the fact that it, it’s basically, for lack of a better term, a container that lets your app run without using containers in the form of docker. Or like - I hate the world of IT. But I love it so much, you know, terminologies.
Jamie
Josey
So what, you’re basically tell me, let’s pretend I know bugger all about anything. And that’s always a good way to start with me ‘cos yay.
You’re telling me that whatever I develop where I have .NET Core as the foundation for my app, it will run anywhere. So I don’t have to sit there and go, “I need to import this particular library if it runs on this or that.” Like you can just build it and it will work as long as they’ve got .NET installed. Is that what you’re telling me?
Jamie
Josey
It is the fact that it is the foundation for an app. Because I could only think of two platforms that do that .NET and Java. Like those are just the two that come to my mind like I can’t think of anything else that is really that free.
I mean, one could jokingly say PHP but thats a completely different type of thing. Because that still has its issues. Depending upon whether you’re trying to run that on IIS, nginx, or whatever. But my point is: it’s .NET Core and Java for the two big foundational parts of the stack. Would you agree?
Jamie
Josey
Jamie
Josey
Jamie
Josey
I just want to know How would I get started in a way that gives me information that is not completely dated? Or, you know, “this only works on version 2, not version 5.6,” which is the latest release thing. Or my favourite one is:
When you go to download this, please be aware that the website might have changed and the download version may have changed. You can click on this button to download the version that reflects what we’re using in this tutorial. Don’t mind the fact that some of the changes that have happened in the last you know, six months since I wrote this tutorial and are showing this material to you have drastically changed everything.
Where do I start?
Jamie
Josey
main.c.Jamie
Josey
Jamie
Josey
Jamie
The way the compilation tools support those two languages and a language called VB, which is based on BASIC. So it supports all of those, so it needs to know where all of the files are so that it can start the compilation process.The problem is that .NET Framework uses a project file which has XML-like syntax. And when .NET Core 1.0 came out, they said, “Let’s change that a little bit and see if we can get away with simplifying it by using JSON.” So in .NET Framework land you have
project.csproj - which stands for C# Project - and in .NET Core land in version one, you have project.json. Taking away the fact that it’s XML vs JSON, the formatting and contents of those two files are wildly different.Josey
Jamie
project.json and moved everything back to the XML type of project file. And the problem with that is, everything that’s written for 1.1, the code still works, but when they say, “Make sure you have this line in your project.json,” you then have to figure out some kind of arcane wizardry to convert that from the JSON lines into the XML lines. So even in V1, before we even got started, there was this huge sort of issue of, “But this works in version 1, but it doesn’t work in version 1.1.” So there’s a lot of complication around that, I guess, in that initial set up. But they’ve moved completely away from that. And if anyone is still using version 1.0, why? And secondly, there is a command line bunch of arguments you could pass into your build tool that will convert from project.json over to the sort of XML format. Now, it is XML, but it’s not horrendous XML. Like most of the people who implement XML, and it’s not the bad implementation of XML is a relatively good one.But yeah, but on your point of, “how do we get started?” I would say, “you don’t even have to install anything. Just go over to try period dot period net.
Josey
try dot ml, which has absolutely nothing to do with it.I will jump in here and say, you’re telling me that I should go to try full stop dot full stop net andn or for people in America: try period dot period net
Jamie
Josey
Jamie
Josey
Jamie
dot.net is a Microsoft domain that the own for .NET things, because you can’t have period net can you? Because that’s not gonna work, is it?Josey
Jamie
Josey
Jamie
Josey
succeeded true, diagnostics null, runner exception null.Jamie
In this page, you can take the code that is written out for you - on my screen, it’s Fibonacci stuff - you hit “run” and what happens is the code that is inside of your browser will then be compiled, inside your browser, then run in a .NET environment inside of your browser. So you don’t even have to install anything because it’s all there, in your browser.
Josey
Jamie
Josey
Okay, so the first thing you say is basically to play around with it and to see what it actually is.
Jamie
Josey
Okay. So if I wanted to build something, or I wanted to you then take myself to the next level, like, “I now have a foundation. But what do I do with it?” Like great. I can have people installed .NET every time they you know, install my app.
Jamie
And what happens is when you run the app, the app will go, “where’s my .NET Core at?” It will start by looking where you started from, and then we’ll travel up. So I mentioned travelling down before, so if you imagine, like, the file system is a tree right with the root of your drive at the very top of the tree, and all the leaves and nodes represent all the directories, right? And when I said before, “we look down the path,” we start in the directory and we look all the subdirectories. Well, what .NET Core does is when you’ve run an app, they will look in the directory where the app lives for a runtime that it can use. And if it can’t find one, it will go up a directory to the parent directory and look there and then up another level to the parent or it all the way until it gets to the root of the drive. And then it will go into known places. So we’ll look in programme files. We’ll look in your user bin area - if you’re on a unix, I guess.
There is on Windows, there is a defined path for
C:\Program Files\Microsoft\DotNet, I think. And on UNIXes and Linuxes. I think it’s less usr/bin/dotnet. Bu because you can run the app anywhere it has the ability to travel up and down the file system looking for a runtime which matches. But it will use the path first. It will say, “I am here, is there one here? Is there one in the path? Right okay, travel up on.”Josey
Jamie
Josey
Jamie
So if you’re familiar with Angular or Vue and linting, and things like that in JavaScript, what you can do is you can say, “I’ve pulled in this 12 megabyte library, but I’m only using this one API. So recompile this DLL, this library, only with the code that I’m using.” So if I’m pulling in, there’s a big library in .NET called JSON.NET, which helps you two serialise in deserialise into JSON and .NET types into .NET types and classes, so you can serialise and deserialise very easily. Problem is, that library itself is 20 megabytes. But if you only deserialising JSON into a known type, you only need 50, 60 kilobytes of library. So what you can do is, if you’re only using this one method, it will recompile the entirety of that library with just that one method; so instantly you can see that particular library becomes 95% smaller.
And then because .NET Core is written in .NET Core the compiler can do that to itself. So the compiler could do that to the runtime. So then what originally was 130 megabytes can then drop down to 50, 60, maybe even 40 megabytes. But the problem is that .NET stuff allows you to use a thing called reflection to load in things at runtime that you didn’t explicitly say were there. So if you do this tree shaking in ahead of time competition, then you use reflection, [and] you then try to call something which isn’t there, and the whole system blows up.
But yeah, you can ship the entirety off the bits of .NET Core that your app needs with your binary. This wasn’t available in .NET Framework, because .NET Framework is all tightly coupled. The whole thing is very couple to itself. Whereas .NET Core is designed, from the ground up, to be entirely modular. So you may only require the logging aspect of it, or you may only require the configuration aspect of it. And because of that you can say, “I want just .NET Core and logging,” or “I want .NET Core and the web stuff and the Xamarin stuff,” so the mobile app stuff, “and I want configuration, and I want this,” and it will give you all of those things when you hit Compile.
Josey
Jamie
Josey
Okay, so what I’ve basically gotten so far then, is that I need to understand that .NET Core is simply a runtime environment that can run anywhere.
Jamie
But then you go one step further, and you realise that Samsung have released a series of electronic devices, TVs, fridges, smartwatches, that all run on the Tizen operating system.
Josey
Jamie
Josey
Jamie
Josey
but wait, there’s more
Okay.
Jamie
You ever heard of the videogame engine Unity?
Josey
Of course I’ve head of Unity. Go on.
Jamie
So you could push your button and, essentially, import it into a Unity game and have it running on the Nintendo Switch, or the PlayStation, or the Xbox, or a PC runnning Windows, or anything that Unity targets. So, yeah, it really does run anywhere.
Josey
Jamie
Josey
You know, you have actually convinced me to put the time in to find the resources. And that’s how limited our time is in today’s day and age, whether it’s the companies we run; the clients we work for; the companies we work for; family; entertainment, and all the other things that go with it. You’ve actually convinced me to put time aside to dig into this, and find the proper resources to learnt this. And that’s saying something.
Now, Whether or not this progress beyond just in initial, “interesting, I kind of get it now.” We’ll see; because for me, and I’m sure this is the same for a lot of people, when learning something, I need to have a project. I can’t just go, “OK, I pressing a button, and yay I can do the Towers of Hanoi.” Yay, bubble starting. Don’t even get me started on sorting algorithms. Oh my God.
But that means nothing to me. To me, it’s the practise application of things that matters. Now I have several projects sitting around part done, in quite a few different languages because time; lack of drive; be realistic laziness. You know those kinds of things, but there has to be a spark that keeps me going. And I think what might keep me going on this, and we’ll have to do like a check-in in the future - if people care to have me back, or if they’re bored with me, they could let me know - but if in the future we do a check-in again and it could be, “Well, what did you do with the information? Did you actually study it, learn it? Or are you a proper convert?” I mean, it’ll be interesting to see what happens, but the fact is, I now actually want to put time aside. It’s not just, “it’ll be kind of cool thing to do when I, you know, have a moment.” It’s now, “where can I fit this learning process in?”
And that is a bigger step than I think anyone could have gotten. I mean, Chris. I love my co-host, but my goodness, he has like .NET Core is his thing, it’s his baby. And he has tried to explain it to me. And I probably didn’t ask the right questions, because when he and I talked, and we talk dev and everything, and all over the place. Because he’s enterprise, and I’m not right. So there is, like, this slightly different mind set between the two of us, which works great for show, but not necessarily for the sit down educational process.
But you’ve literally convinced me with this show to learn. And now you do realise that I’m going to be on your case when I’m like, “what? What? My resource is here?”
Jamie
Josey
Jamie
Josey
Don’t make me use JSON. But anyway,
Jamie
project.json thing. It was a nice experiment, but it didn’t really go anywhere. And it got too complicated, because then the build tools - there’s a tool called MSBuild, which is what is used to sort of bootstrap the building process - MSBuild got inherently, stupidly complex because it had to support both the XML and the JSON built project types.Josey
Jamie
Josey
But I wonder if this is why so many games for Xbox are starting to be backwards compatible. This whole in the gaming industry with consoles, it’s all about like, “Oh, no, the PlayStation five is coming. Does that mean that anything from PlayStation four is backwards compatible or not?” Like all of the the gaming issues. But Microsoft seems to be a lot further ahead along the trend, and I’m wondering if because of .NET Core.
Jamie
Josey
Jamie
Josey
Jamie
So you could still run Creative Suite two as it was first released, the vanilla version of it, on your Windows 10 machine; because those hacks are still present in the kernel and they need to be sort of transported across for every subsequent release of the Windows kernel. So what I’m getting at is that Windows is so backwards compatible because it is entrenched in that enterprise arena. I mean you’ll know yourself, Josey. When a company comes to you and says, “we need to upgrade our fleet of computer hardware, but we need to make sure the applications still work.”
Josey
So these resources: perhaps we should let the viewers hear them. Not just me.
Jamie
Josey
Jamie
But learn.microsoft.com is a completely rebuild of the entire system. I mean, he actually has tracks the you could follow for .NET Core. So you are complet newb, and people like Scott Hanselman and Kendra Havens - a number off prominent Microsoft educators and outspoken prominent Microsoft people - take you through going from, “I know nothing about .NET,” to “I have a website open running.”
Some of videos are very much a case of, “let’s go all the way back to basics and say, you know, this is a source file on this is a namespace,” and some of them jump straight into the deep end with, “you have your website up and running. And we’re gonna add middleware, and a bunch of things to do stuff.” So there’s the progression is what I’m saying. It doesn’t just go, “part one: you know nothing,” “part two: draw the rest of the owl”. It’s very much a case of learn this; learn learned; learn this.
Some of them are a bit slow, but they are designed for everyone to sort of follow along. And they and they are supported by Microsoft. With that, there is docs.microsoft.com - so that’s docs period microsoft period com.
Josey
Jamie
So the documentation is always up to date now. On each page there’s a drop down for which version of .NET Core you’re playing with; it will always assume the vLatest that is in long term support, but it lists all of them. So if you go to one of the pages now, I think it should say .NET Core 3. And then there’s a drop down and it’ll say, .NET Core 3, .NET Core 2.2, .NET Core 2.0, .NET Core 1 - although it’s not really supported anymore. So you can say, “I’m actually supporting an old app that runs .NET Core 2.1,” which is still long term support, even though .NET Core 3’s out. And you could say, “I have this project which is running [on] this, and I need to know how to do this.” So that’s always really useful. You can always read the docks.
Another really useful thing, but only once you’ve started playing around with .NET Core, and if you have a background in .NET Framework - or .NET classic, or .NET Full Fat as I call it - is apisof.net. Which allows you to search for a type; an API; or a class; or a namespace, and it will tell you which versions of .NET support that. So it’ll say, “.NET Framework supports it from 4.2; .NET Core supports it from 2.0; Mono supports it from this particular build number, Xamarin and Unity and all of these”. It will list which versions of what things support that API. And it will also list if, for instance, it only has partial support; it will say, “this class is implemented. But these two API aren’t, so you can’t use everything,” so that helps you if you’re migrating a Framework app to core; or a Framework up tro Mono; or you’re messing about and chopping and changing between the two; or between the three: to Mono, to Xamarin, to all of these different platforms. You can see which versions of what support which APIs. That’s a really, really horrendous way of saying it, but I think you get what I mean.
Josey
Jamie
So I would go with those two. There are a number of Pluralsite courses. If you have Pluralsite, I do have it. But I’ve forgotten the names off some of the people. I can always put some links in the show notes, but that’s a paid service. So that’s something that you would have to obviously go out and pay for.
Josey
Jamie
Josey
Jamie
Josey
Jamie
I would say learn.microsoft.com and docs.microsoft.com first, and then for more of a sort of theoretical grounding - if you really want to get into the nuts and bolts - .NET Core in Action. He does go through it a certain piece of certain velocity, because the Manning inaction series is all about going from no knowledge to, “I have something that is built.” So it does sort of make a number of small leaps but explains those leaps after you’ve… leapt to them? Is that correct?
Josey
Out of curiosity, why that particular the guy on the cover?
Jamie
Josey
Jamie
It’s explained in the publisher notes or whatever. It’s an interesting story as to what the image is. They don’t explain why I think they’re literally just go, “we haven’t used this image yet.”
Josey
Josey
Jamie
Jamie
But yes on that page there are a number of videos. Some of them are episodes of this show, because there are people who legitimately like to consume podcasts via YouTube; so let them do that. But in there there is a playlist of live streams. One of them, I believe, is me going through, “I have no code,” all the way up to, “I have a built application,” in about two hours. You talked about implementing certain algorithms? Well, I implemented Fizz buzz entirely in .NET Core using TDD.
Josey
Jamie
Josey
[I’ll] get to be ah, really good manager who got their MBA in business management instead of programming, development, or working their way up the stacks and going, “you’re not doing it right.” “I don’t even know what I’m doing. Go away.”
Wait, wait. Let me use all the buzz words and all of our ducks in a row and, you know, have all of the hymn sheets. It’s in the same book or something.
Jamie
Josey
Jamie
Josey
Jamie
Josey
Jamie
Josey
Other than that, I have to bring this up only because I am an incredibly proud ambassador for Gitkraken, which is a visual get client. So I try to bring them up were I can. I don’t bring it up on DNI because we have a certain philosophy where, you know, we try not to push technologies, but it’s not my show. So I get to push. But yes, I’m an ambassador for Gitkraken, and I highly recommend it. And for people who may listen to this for the, “why should you learn something?” or “how do you even get started?” That is really a good title for this episode: “How do you even start?”
I highly recommend also getting involved in your you know, the visual side of things with Gitkraken for git because, oh my gosh. If you ever I wanted to really see how it all links together in a very pretty interface, then you definitely want Gitkraken.
Plus, I mean, come on. Their mascot is Keith. Keith is this adorable, like octopus type, kraken and monster thing. And I absolutely love Keith, and They designed Keith version for Ada Lovelace, actually on my recommendation. Which I hold very near and dear to my heart - one of the first female programmers.
Yeah, Other than that, the things that I find interesting in life are reading. Reading, and development; and just learning actually. The biggest thing I want to say if if anyone actually listens this far, you know, reach out to me on my Twitter at @joseyhowarth, and just say hi.
I want to meet more and more people. It is hard for me to leave the house right now, so having my developer community online.
Josey
Jamie
Josey
so send me security things I want. And I want to know the security side of things too.
Jamie
Thats’s a really complicated way of explaining what it is, but yeah, so we would be interested to see what you think about that. It’s all just strings at the end of the day, but yeah.
Josey
Jamie
Josey
Jamie
Josey
Jamie
Josey
Jamie
Josey
Thank you so much for having me on. Thank you so much for being willing to face the firing squad of one who just is literally looked into and then got fed up with it. And then just said, “blugh”
Jamie
Josey
Jamie
Josey
Jamie
Josey
Jamie
Josey
Jamie
Josey
So yeah, hold me in .NET Core accountability.
Jamie
Josey
Jamie
The above is a machine transcription, as such there may be subtle errors. If you would like to help to fix this transcription, please see this GitHub repository
Wrapping Up
That was my interview with Josey Howarth. Be sure to check out the show notes for a bunch of links to some of the stuff that we covered, and a full transcription of the interview. The show notes, as always, can be found at dotnetcore.show.
And don’t forget to spread the word, leave a rating or review on your podcatcher of choice, and to come back next time for more .NET Core goodness.
I will see you again real soon. See you later folks.
Useful Links
- Josey Howarth on twitter
- Documentation Not Included
- Love Sudo
- The waffling Taylors
- source of the oiltanker analogy
- try.dot.net
- Fibonacci
- The Meadow Project
- Netduino
- Towers of Hanoi
- learn.microsoft.com
- academy.microsoft.com
- docs.microsoft.com
- apisof.net
- .NET Core in Action
- Jamie’s YouTube Channel
- TDDing, Fizzing and Buzzing
- this is the video where I go from no code to Fizz buzz with TDD
- Fizz buzz
- TDD
- Enterprise Fizz buzz
- Gitkraken
- Ada Lovelace
- OWASP recommended security headers
- OwaspHeaders.Core
- This is the NuGet package that I created
- twitch.tv/dnistream