All episodes

Episode 89

Don't Stare at the Sun

0:000:00

Show notes

In this episode, Mike and Steve are joined by guest Joseph Cooney to discuss a variety of tech topics and some lighter fare. They dive into the advancements and challenges with .NET Core 2, the aesthetics and functionality of SpaceX's new spacesuit, and the humorous side of sports betting.

Topics

  • Guest Joseph Cooney's insights on .NET development
  • .NET Core 2 and its impact on development
  • The practicality and style of SpaceX's new spacesuit
  • The whimsical world of sports betting with a focus on the McGregor vs. Mayweather fight
  • Musings on Microsoft's evolution and its current direction in the tech space
Show transcript

Hey guys, it's time for another episode of Space Welders, episode 89, recorded Friday 25th of August, 2017. Don't stare at the sun with your hosts, Mike Wise and Steve Rogers. And Steve, we have a guest, finally. My eyes, they burn.

He didn't, he wasn't staring at the sun. In fact, we're in Australia, so that's not really irrelevant. Well, I just stay inside all the time, so. But anyway, we've got Joseph Cooney with us in the space station.

I like Steve. It's good to have you here. Hi, Joe. So, Joe, what's happening?

What's new in Joseph's world? Well, I guess I totally agree with the idea of not staring at the sun regardless of what country you're in. I think that's definitely good advice. Just trying to think of what interesting stuff I've been doing lately.

A bit of consulting, a bit of looking at .NET programming, a bit of machine learning. You're going to take us through some new things in tech today, this week. I'll get you started. So, yeah, well, I'll just explain, Joseph.

I've known Joe since 2007, where we met. And Joseph is the creme de la creme, the premier, the man you go to when you want to know about WPF and everything Microsoft. In fact, you were a Microsoft evangelist or an MVP. So, yeah, I was a WPF MVP for about seven years.

Unfortunately, Microsoft kind of maybe I think what was the words they used? Their focus had changed. Did you graduate? Yeah.

So I kind of. They hand out those MVPs in the bottom of cereal boxes, don't they? Yeah, it's like the gold star award. You just open it up, you send in five box tops and you get an MVP.

Isn't that how they worked? No, no, no, no. That's not belittling. You've got to do a lot of work to be an MVP.

I mean, five box tops. There's a lot of self-promotion. That's not something to sneeze at. There's a lot of self-promotion.

A lot of self-promotion goes into those things. Yeah. But you're famous for running classes, getting it. And when I first met you up on the stage, telling us all about the kind of like new features that was in XAML at the time, how beautiful XAML was or is the golden boy of XML declarative user presentation and things to see and do inside of that.

Obviously, with the death of Flex and Flash and those technologies and Silverlight having a hard time and obviously Windows Phone having a hard time. Is it still relevant, do you think, with how JavaScript and HTML are progressing? Well, for me personally, I've kind of, I mean, I still do work on projects with WPF, but my focus, like Microsoft, my focus has definitely changed the web. I think HTML5, Canvas and SVG, JavaScript kind of maturing as a language, all those things together mean that you can deliver really rich experiences through the web browser now.

So the need to, you know, all the security issues, I guess, as well with rich client apps running as the user on a PC that they have to download, the whole cross-platform thing. Yeah, so my interest in WPF has kind of waned a bit, hence my updating my WPF website has kind of dropped off the face of the earth and, you know, I'm sort of more in the web front end now. But I think that's kind of like, so say all of us really, because we've kind of joined the ranks of web developers and we often spend our time differentiating ourselves from the PHP, the dirty PHP, kind of throw a website out, you know, not very much money being spent, kind of, what do you call that? Like the premium hug experience, you know, there's that funny picture on the internet of the guy holding up the sign saying free hugs and then there's the $5 premium hugs, we're the sort of premium hugs of the web development world, aren't we?

Yeah, we give premium offers. I just think, yes, of course, how we've matured over the last 10 years and where technology has most certainly gone, obviously, with advent of cloud technologies and trying to work out how to leverage work or push workload into the cloud and have that work friendly with on-premises technologies. Also, I think architectural approach and our kind of maturation or experience in the market as well, like we're, you know, I think I'm now 24 years of doing IT, much like yourself, we've been sort of long time and must have learned something. Surely that's worthwhile to customers?

I would hope so, yeah. I guess it's coming up on like 18 years for me. So yeah, it's, it seems on the one hand, it seems like the more things change, the more they stay the same, but you do kind of hope that with each iteration, we sort of deliver more things quickly and more quickly and more easily than what we did in the previous generation. And so hopefully we don't have to relearn some of those lessons each time we sort of turn the handle.

I think the tool chains and obviously supporting technology has really advanced, but I definitely think that there hasn't been much advance, like you could argue, well, Agile, but not in terms, Agile is probably doing more as an advertising campaign to management types. Because it seems like we're forever tweeting about, you know, experiences where we've been in a room with somebody who isn't au fait with the technology or don't talk to him, you know, you're technical, you won't be able to explain business to them. But kind of what we're seeing out in the market are technical people who start businesses becoming, you know, super rich and that sort of thing, through that explosion, it's kind of like the opposite way around these days. But, you know, we're always in a room with some kind of manager type, right?

Yeah, the sort of classic PHP deal. But anyway, I won't go, I won't go the Scott Adams direction because I know that's a bit of a hot topic. Yeah, the typical pointy haired boss who has crazy expectations about what technology can and can't do and seems completely oblivious to what's actually going on. Do you think you spend more time describing technology than doing technology?

Is that our lot in life? I don't know. Steve, what do you, you've been pretty quiet. What do you think?

I'm just, I don't feel qualified. You're talking about 18 years, 15 years, I'm coming up on eight. That's enough. Enough to have, surely it's enough to have severe opinions about things which can't be changed.

We did an episode where we tried to work out, you know, why do projects fail and, you know, it's really about, you know, no plan survives first contact and also setting expectations and also different types of beliefs, I guess, which basically manifest in well-documented psychological phenomena, shall we say. So basically people are set in their ways and ideas and they tend to have these self-beliefs that generally, you know, foil projects constantly, which obviously makes it difficult. Like as a senior person, you tend to be in projects and you're explaining and massaging customer expectations versus the timeframe for something to deliver. And the actual deliverable itself is what we spend a lot of our time.

I don't know. I don't know if it's that. You've been mine. Are projects always like this?

And I said, you said, yes, it was fantastic at the beginning of a career to be told that. I would set your expectations. I don't think it's necessarily that. It's people wanting things and not, it seems like a lot of people, and this goes beyond development in general, it's the larger issue of people not listening or not being able to have their opinion changed in the face of overwhelming evidence to the contrary.

And you see it in everything. And it's, you know, if you have five of your developers saying something's going to take three months to do and the customer says, I want it in one month, how can you, you can't, you can't turn that around and then it will fail because they say, after a month, it's not done. And we said, well, we never said we could do it in a month. You said we could do it in a month.

We never agreed to that. And it's the same with anything else. It's the same with science and skepticism and all of the rest of that goodness. There's some powerful cognitive biases come into play, don't they?

Like this confirmation bias, which kicks in. There's this thing called the backfire effect where you try and convince something of someone and it ends up having the complete opposite effect to what you were trying to convince them of. That tends to happen if you're a bit more aggressive in your trying to convince them. So if you approach someone and say, you're wrong, they're going to dig their heels in.

But looking at, say, like Death of Flash, for example, or, you know, I wouldn't say decline of MXML, but of XAML, I should say, because it's used quite regularly and in various circumstances. But I don't find myself convincing people of technological choices as much. I kind of see that there are other sources out there that have already done my job for me. I think that's something that I find quite regular now.

I think it's really convincing people of delivery. It's almost like the outcome has homogenized to a point where the choice of technology doesn't matter as much as it used to. Yeah, it's just implementation. It used to be really important what you used, if it was going to be .NET or Flash or Flex or XAML or PHP or ColdFusion, you had very strong camps just for the choice of technology.

Whereas nowadays you can basically get the same outcome regardless of the technology you use one way or the other. As evangelists, though, like Joseph, who out there with technology, we're out there campaigning for technology for it to win because it's something that we enjoy. For example, UX and UI, like the Scott Barnes's of this world as well, there's such debate and heated interest about how, even to now, how user experiences convey the functionality or affordances for delivering capability to people. But no one's really talking, you know, obviously we've got React and .

. . Well, the arguments sort of become more academic, rather than . . . so people would argue about the UX concepts of a thing, rather than saying you have to use LESS or you have to use SAS.

You would never see someone arguing for LESS over SAS because basically they're the same thing. It's kind of like, oh, it's going to be a web page, right? Or it's going to be in Swift, right? Or it's Xamarin.

Yeah. What else? What are you currently using? That?

Okay, we'll use that. That's the TIL chain that you're using. Or what do I know the best? That?

Okay, we'll use that. Maybe it's the coalescing of the TIL chains is really . . . and obviously, you know, because there's homogenization .

. . Things we come across the platform certainly help. The fact that you're not . . .

if you're on Windows, oh, it's .NET. If you're on Mac, it's whatever Mac uses, that Emoji one. You have to rewrite everything in Emojis. Yeah, I'm just highlighting a point.

Like back in 2007, there's Joseph on a stage who's chanting to the quiet . . . Developers, developers, developers! The rings in my ears, Joe.

I thought you looked familiar. Yeah, I thought you looked familiar. I actually made a Developers, Developers, Developers t-shirt, which I printed up and wore for quite a while. It's pretty fancy.

You can get it out for special occasions. You can get that on the Space Welders store, if you like. I think that was eclipsed by Leon's Star Wars shirt, which is now . . .

that's sort of burnt into everyone's mind. He's got an awesome Big Data . . . Big Data, that was the best one.

I love Big Data. I love Big Data. It's . . .

for those who are listening, it's a picture of Data, the robot from Star Trek. Star Trek The Next Generation, Mike. And even . . .

And he's not a robot. He's an android. Well, and he's rather chubby. God!

He's a very chubby . . . He's got a very high fat face or whatever filter on . . .

Yeah, so, I mean, Leon's a genius of that kind of thing, so . . . Because it sort of . . .

it was interesting because it sort of strikes you as you kind of understand the horror of it, and yet the joy of this . . . you don't know whether you like it or not at the same time. It's like this sort of potato Jesus meets .

. . yeah, pop culture. It's amazing. Speaking of androids, Steve, this week they dropped android .

. . wait for it . . . wait for it .

. . Oreo. Mmmmmmm. Does that mean you get to open it up and scoop out the delicious innards?

It was the greatest non-event on Google ever. There were so many news outlets waiting to leap onto this . . . Well, it just sort of happened, didn't it?

I think people were expecting it to be released at the same time as the Pixel 2's announced. Let me enumerate what they've had. So they've had Cupcake, they've had Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean in fact, KitKat, Lollipop, Marshmallow, Nooga, or Nooga . . .

Nooga. Nooga. If you're posh. And now Oreo.

I'm surprised they've gone . . . I'm assuming Oreo is a trademarked name. Yeah, well it is.

They've called out . . . And they're using it. I think KitKat was the same.

KitKat was the same. They just did a joint venture with Nestle or whatever. And they're using it. It must be, I don't know who does Oreo, Hershey's maybe, but they're using it on all their advertising on the site.

Like they have a little . . . the Android man with an Oreo cape on or some . . .

And it's working because I'm hungry right now. I am. Well, I mean, Oreos aren't that good. Yeah, I'm starving.

So this week in mediocrity, so it brings two times faster boot up, minimizes background activity, autofill, remembers app logins, picture in picture. Picture in picture is pretty interesting. It has been on iOS for ages. Well, notification dots, instant apps, Google Play, improved battery life.

And of course . . . Mike, you're skipping the most important thing. Sorry.

Sixty new emojis. I don't know why. Joe, because . . .

Because I can't tell you the number of times I've wanted to send . . . let's pick one here. I don't even know.

How do you describe that face? Who face? A burrito to somebody. Burrito man.

There's the emoji movie, of course. I'm in the demographic. I'm not even there yet. But Joe, Joseph's in the demographic.

Have your kids seen that? No. Apart from the poop emoji, which is, you know . . .

That's just . . . well, isn't the poop emoji voiced by Patrick Stewart in the emoji movie? Begrudgingly, yes.

I did see some promo stuff, yeah, where he looked very unhappy. Must have been a big paycheck. Yeah, he was. Well, having to do all the premieres and with TJ Miller in it.

AF. Someone who was going to a court appearance. Dressed very posh, but very upset. I must have .

. . I have to do this. I'm contractually obliged. My Star Trek royalty checks have dried up.

T.L. Grey. Hot. T.L.

Grey. Hot. Patrick Stewart will be pleased, though. His team, Huddersfield, have been promoted to the Premier League this year.

So he's got that going for him. I forget. You're a massive soccer fan, too. I am a bit of a soccer fan.

Football, Mike. Football, sorry. Football. That's the only way to say it.

Football. Football. Yeah, you watch the football. Football.

How is the Australian League doing? Where are we at? Sports. Sports.

Cuter sports. Watch our listenership plummet. We're right in the core demographic here. Yeah.

Well, there's that big boxing match coming up this weekend, as well, where . . . Oh, my God. I have to read you.

This is slightly off topic. The bets. Continue with what you were saying, but as I look up the bets for this boxing match, because they are spectacular. So Australia does have a soccer team.

We do. Well, there's several. We're about to play Japan, in Japan, I think, in a couple of weeks, to try and secure our spot in the 2018 World Cup in Russia. If Japan's still there.

Well, yeah. And if Russia . . . if all that diplomatic stuff.

So FIFA, the world soccer governing body, has more members than the UN. So I don't know if Russia . . . if the World Cup being in Russia will kind of help world peace, or .

. . I don't know. Maybe the UN could just kind of, like, be absorbed by FIFA, and we just start giving money to the UN, and it just becomes all, like, bribery and corruption. It'd be about the same level of corruption, wouldn't it?

Surely it's perfectly corrupt. That's what you want. Yeah. And basically, you can't have a .

. . we can't have a war because . . . If everybody in an organization is corrupt, then it's fine.

Yeah, 2018 is . . . It's like late capitalism for government. Yeah, exactly.

If everyone is taking payments, then it's like nobody is, you know? And the IOC, that . . . if those three organizations could just be merged together .

. . FIFA, IOC, and the UN. Yeah. Yeah, I think so.

With a space agency twist, that'd be awesome. But if they were wearing spacesuits, Steve, what kind of spacesuits would they be wearing? Well, let me . . .

first, Mike, let me read to you some of these bets for the boxing match, since we're on the topic of sports, because I think you would appreciate some of these things having written user-entered data, because I believe on Sportsbet, you can basically put a bet on for anything, and they'll take your odds. Oh, right. So currently, this is Conor McGregor versus Floyd Mayweather, because I watch a little bit of UFC, so I have some interest. Conor McGregor's at 450 to win, by the way, so put your bets in now.

But if you think, let's say, the winner will do a shoeie in the ring post-fight, it's $101. What? What's that? Neither of them are Australian, so I don't think the shoeie's got a good chance.

Yeah. Mayweather to walk out with someone wearing a South Sydney Rabidows jersey, it's $101. Donald Trump to enter the ring at any point wearing his red Make America Great Again hat. If you bet on that one, you'll get a $101 return.

Wow. I'd take that over to South Sydney. I think that's going to work. For $11, there's money to rain down onto the ring at any point after the completion of the fight.

And $9 for McGregor to punch the referee for any circumstance. How did these get in here? I'm pretty sure people can just bet on anything. So you can walk up to...

So this would be like the free entry field, right? You log on and you're like... Can you upvote these? I don't know how they determine the odds.

There has to be an upvote system. It's got to be like Reddit where you can just sort of upvote. Donald Trump to come on at any time. $151.

Mike Tyson brings a tiger to the fight. I love that. I love that. I saw someone got banned from Twitter recently for making sexual innuendo about that Toby the tiger from some breakfast cereal thing.

I saw that. I'm not quite sure what that was about. Apparently free speech, it only goes so far. So the biggest bet, this is outside odds, but you're going to walk away with a good cash flow.

If this happens, $501. So for every dollar you bet, if this happens, you'll get $501, either fight her to walk out with Kim Jong-un. So this is on, I believe, 11 a.m. Sunday in Australia time.

So get your bets in now. Fabulous. You know what's fabulous is I'm looking at SpaceX's space suit. So if you had your own space company, Joseph, would you have your own space suit?

I think so. I like the look of what they've got there. I think something more Boba Fett probably would have. It looks good, but it could be more badass, you know, like something from Destiny maybe.

Still pretty cool. I quite like the 2001 spacesuits myself. There's no nice and bright and colorful. There's no area to click stuff on.

Like where do you store your, you know, your loot? Where's your inventory? In your backpack. Ah, yeah.

It could have a backpack. Clearly. Like when you kill all the space aliens and pick up their loot. Weapons.

Weapons. Yeah. You need to store it in your backpack. Yeah.

I mean, he's seated. It could be stored, stowed in the overhead locker or the seat in front of him. There's no way to put your sidearm. This is a launch suit, Mike.

So your seat and tray table. This is a launch suit, Mike. This is a launch suit, Mike. This is a launch suit, Mike.

This is a launch suit, Mike. This is a launch suit, Mike. This is a launch suit, Mike. This is a launch suit, Mike.

This is a launch suit, Mike. This is a launch suit, Mike. This is a launch suit, Mike. This is a launch suit, Mike.

So your seat and tray table will be in the upright and locked position. So your seat and tray table will be in the upright and locked position. But you spilled coffee on this. So it would be tragic.

Because all that white leather. You don't have coffee while you're launching. You've got to wait until you're in cruise and the seatbelt sign has been disconnected. Anyway, so Elon's recently out a picture of the, the first space X space suit.

It might be the last suit you wear, depending on the success of the mission. Very good. It had, he had a couple of versions of this. I think it was Boeing.

We talked a while ago, last year, they released some. They were going to put the Dragon capsule with Spam in the capsule and fly it up. Well they released some concepts of space suits last year that we talked about that looked cool. And this looks kind of similar.

So they're obviously sticking with it. To me it looks like, it does actually look like you're going to hop on a motorcycle and drive away. But I mean, obviously it's going to protect you from radiation. No, I don't think so.

It's a pressure suit. It's a pressure suit. It's not a, it's not a spacewalk suit. So you wear it in the capsule.

That's what I was talking about launching, Mike. Come on, keep up, keep up. That's not, that's not developer wear. Developers don't wear that.

How would that, how would developers go up in this thing? You wear it during the launch and re-entry in case there's a depressurization situation of the capsule. You don't wear that for your spacewalk because it's not thick enough. All right.

So that's not sort of, I can't wear that by the poolside. Unless it's like the pool of passengers that's inside the ship, you could wear it then. Right. But it's not your, you can't wear it walking down the space red carpet.

You need a bulkier over, you'd wear another suit over the top to walk down, the main spacewalk suit to walk down the space red carpet. And as you get to where all the photographers, the space photographers are, you take off your, your larger spacewalk suit and hand it to the space valet so all the space photographers can take your space pictures before you walk to the space premiere of your new space movie. I hope it's not space clingy either, because you don't want that rubbing on your thighs at any old time. Because, you know, you'd be chafing like crazy at every space chafing.

Well, I don't know what the, what the materials are. Is it like that microfiber material that goes like, and you walk? I was expecting sort of carbon fiber something. That'd be very uncomfortable.

Yeah, well, something a bit more. But it's, it's not actually a mock-up. So he's now actually got a real space suit. So this, what a time to be alive is now.

And the director of NASA recently said it's probably the most active time in his career in terms of space exploration and also space transport, I guess. We've yet to see Jeff Bezos with Amazon do his thing, do much with Amazon, Joe? So I have a few things in the AWS and, but yeah, not, not really going into low earth orbit or anything with them yet. But, you know, sometimes my, my current ventures are sort of like pre-revenue.

So it could all change. That's where you want your ventures to be. That's where you get your revenue. That's where you get your investment from.

It's pre-revenue. Once you get revenue, it's over. You may as well get, once you start getting revenue, you give up. It's like, it's like the opportunity, the possibility.

If I learn anything from Shark Tank. Oh yeah, that's true. Yeah. I did hear that Australia has a thing called the Tingalpa Space Program or Tingalpa Space Agency.

I can't quite. We've had a number, actually. That's just people doing like pressurized soft drink bottles and shooting them 20 feet into the air. So it's in early stages.

All right. It's run by Mentos then. Yeah. So it's the Mentos.

They're working on their liquid rockets. They must be worth at least a few mil. I think so. You got to encourage innovation, of course, don't you know?

Speaking of innovating, just this week is .NET Core 2 having been released. And everyone who's just updated to .NET Core 1 goes, what? What the fuck? All those libraries that I wanted to use, but I couldn't.

Oh, let's talk about libraries. Okay. So, you know, you previously remember that we used to have a thing called DLL Hell. But obviously, with what, you know, in Java land, years and years ago, we had Maven and, you know, Project XML, which defined where to get the libraries.

I believe Maven still exists. I believe Maven is still around. Maven 2 is around. And it's a great idea.

You basically build in dependencies. And then when you build or compile, it downloads the dependencies and then builds with them as it's building your thing. It's MPN. It's a precursor to MPN.

And many other package managers that never work properly. Okay. So, we started off building in ASP.NET Core, the first version. And then they were very, like, non-committal about the names.

And then over time, obviously, they've gotten better with, like, each release and the names. But, you know, have you experienced this, Joe, in your work? So, I haven't actually written anything that targets .NET Core 1 or 2 yet. But I have been following it with some interest because I guess the idea of being able to run cross-platform, having it all open source, is kind of interesting to me.

Now that .NET Core 2 has been released, I am contemplating porting a few things to it so that I can run them. I think the hot tub is warm. It's time to jump in, right? Yeah.

Unfortunately, some of the libraries that I would need are not there, but I think they're available in source form elsewhere. So, I might try and compile them for .NET 2 and see how I go. But, yeah, it's certainly an interesting option. I guess I'm finding myself more and more in love with the command line for doing, you know, deployment and all sorts of things.

Like, the Linux way of SSHing into a box and doing stuff on the command line is very enticing, rather than having a stupid GUI for something that's really just a server, and that's all it is. So, yeah, I think I will eventually move all my stuff to .NET Core 2, and any time I can target it going forward, I will. But, yeah, there's certainly still a lot of things that aren't quite there for me yet. But, you know, I'm an optimist.

But one of the interesting things is about, so in .NET Core 2, and it's open source, dear listeners in the cubicle, in the car, or getting to work, there's a number of operating systems that it does support. But I think more importantly to say about .NET 2 is it's going to be more successful at targeting 64-bit architectures, simply because they've changed the JIT over to, it's got a really weird name, it's RY something. RyuJIT. RyuJIT.

And it's been around since... Is that from Street Fighter? Yeah, Ryu, I don't know. It's Ryuken, isn't it?

Ryuken. Or Hadouken. Windows... I don't know.

Right, yeah. One of them. One of them. But you've got, in the Linux flavors, or the Linux flavors, depending on how you pronounce his name.

Linux. Linux, Linux. You've got your Red Hats, your Fedoras, your Debians, or Debians, your Ubuntu's, your SUSE's, your Tizen's, your Mac OS, of course, so that'd be the Darwin's, but then you've got... Your Butchers, your Bakers, your Candlestick Makers.

Yeah, your FreeBSD's are yet to come. So you can't, for the FreeBSD's, like myself, I'm a BSD person, that is still yet to happen. But the big news is that, obviously, supporting ARM32 and also 64-bit better, because we're moving to a new JIT. Does that mean they're eventually going to release a Visual Studio that runs 64-bit?

But if you, well, if you're using Framework 64, Framework 4.6, you're using JIT. No, I mean the Visual Studio executable itself. Do you really want Visual Studio taking all that memory, Steve? Like, as a 32-bit...

I mean, it takes it all, it takes as much as it can now anyway. I may as well allow it to take the rest of it. Maybe it'll actually work quickly when Reshelf is installed. Between it and SQL Server, you know, it's just like, you know, those two will just take...

Well, SQL Server at least gives it up, generally. It takes it all. It's like, just in case, I'm going to take all of this, and then you can ask for it if you want. And I'll maybe give you some.

I guess it's a database. Give it back afterwards. Having RAM is generally a good thing for databases. That's old school thinking.

So, yeah, the new 64-bit JIT is supposed to be good. I know, like, back in the day, because I'm old, I get to say that. But back in the day, I think the 64-bit JIT in the .NET, like normal .NET, often had a lot of, like, weird bugs and stuff in it, and it wasn't as well supported. So it's good that they're making 64-bit kind of first class.

Yeah, so most of us would probably be sitting on 4.6 or moving up to 4.7. So you already have the Ryu JIT sitting inside of there. So it has been around for R-Y-U-J-I-T is how it's spelled. But it does improve a lot of things.

So you've got SIMD support, which is Single Instruction Multiple Data, which is... And I'll put a link. I often talk about Bisquit or this very esoteric C++ developer. He's put out a recent set of videos.

There's three to watch. It's really interesting where he performance tunes a Mandelbrot, a real-time Mandelbrot generation. I think Steve knows about Mandelbrots. Yeah.

When a point of C in a complex plane, like C1, B, C, Z, plus C, and Z2 is Z2 squared plus C, and Z3 is Z2 squared plus C, if the series of Zs always stay close to Z and never trend away, that point's in the Mandelbrot set. There we go. There's a song about that. There's a song about that.

By the guy that did the song for Portal. They teach it at school. We'll get to talk about kids and tech. But that's your Mandelbrot set.

So what happens is that Mr Bisquit takes you through what's in... It's your classic fractal. Yeah. When you switch on the compiler options in GNU C++, and you can see the difference in how different architectures work with SIMD and so on for improving performance with vectors and various other sorts of array structures.

But it's how it basically goes from IL to assembler, and whether or not it uptakes certain technologies. For example, SSE2 or your AVX2, which is... That's all what sort of processor you use. Back in the day, we used to be really interested in what our processors used to support.

I remember my 48633 had a CoPro on it, and it could support certain things. But another interesting thing is the garbage collection is going to be better. What does it mean? Because the garbage collects whenever it feels like at the moment.

Yeah. I saw they'd sort of done a better job of decoupling the garbage collector from all the other bits of the CLR. So you can kind of plug in different garbage collectors if you wanted to, hypothetically. And I saw a guy had an interesting article recently where he basically had sort of like the do nothing garbage collector.

So you can just kind of see what the garbage collector is doing for you by... If you sort of effectively turn it off, you can see how much memory you're allocating. This is something I really wanted to do a long time ago when they released that shared source ROTA source code, but yeah, it was all too tightly coupled together, and I am not a very good programmer, but it's sort of cool that they've decoupled it now. That is really interesting because often a lot of bugs that you find with memory allocation, like you'll be sitting there scratching your head, you go on and download like a RedGate tool or, you know, Stevie...

Yeah, we had this issue where we had a memory leak. And we found it in SQL Client somewhere and we can't touch it, but it wasn't collecting for a reason. I don't even remember. Memory leaks are awful to debug, especially ones that only come on after like two days of continuous running.

But you've got the garbage collector is also influencing all of your metrics as well. Well, it's worse when everything kind of interacts together and you'll have some memory that's allocated and isn't able to be deallocated by the garbage collector and nothing happens and it just gets worse and worse and worse and you're trying to work out and you run like... RedGate's got a pretty good memory testing tool, but it's not perfect. It kind of shows you the types that there's a lot of in memory and you can take snapshots and see the differences, but you really need to know your code base backwards and you need to know how it actually works.

Basically, you need to do a primer course on how memory works to be able to debug a memory leak. Just because something's holding onto memory doesn't mean that's bad and it was all... Well, even within core CLR, within CLR itself, you have to understand how the threading impacts everything and then how app domains work inside of threading and how much memory it allocates. Well, I mean, single threading is bad enough, but you have 30 or 40 threads and they each have their own bits of memory and they cross-thread and...

Oh, here's another one, Joe, while you're here in the space station. I think we fixed it just by putting usings everywhere and nulling everything and garbage collects everywhere. Bashed it with a hammer and nuked it from orbit. Joe, you have to step in and say it's tradition to tell us what your favorite ORM is.

Are you sort of promiscuous on your ORMs? I'm a fan of the Buddhist one. Dapper? Dapper?

Yeah, I have a soft spot for Dapper. I'm kind of just... I command just ADO.NET. I like to write...

I like to know what SQL code's being executed. So yeah, when I have a choice, I just tend to not use one, which is kind of old-fashioned, but I just have too many problems. Entity Framework does weird stuff. I guess maybe I've been burned a long time ago and just kind of went...

The new one, EF Core's not too bad. It has the same problem that it just will run a query and you don't know what query it's running. And there's tools, again, Redgate has a SQL query tool, and it will actually tell you what queries it's running, and you realize how shit the queries that Entity Framework runs are. Like, it's so easy just to do a whole big, long lambda link expression.

They should have done link to SQL and just run it like that. Well, it's basically what it is, down under the covers. So it's really easy just to do .where, x.that, .any, .includes, .contains. It's the moment that you do toList and then it goes from iQueryable and then actually...

As soon as it collapses, the waveform is when it runs the query. So depending on how much stuff you've loaded onto the query tree, the query expression, at a certain point, it just can't, and it depends on your database provider, but it just can't convert what you've asked into a SQL query. So at that point, it will literally do select star from every table that you need and do the filtering on the server. And it doesn't tell you that it's doing that, and it's not evident that it's doing that.

So all of a sudden, you'll realize my query is taking forever, generally when you deploy it, because when you're developing locally, it doesn't take that long. And then you realize that it's getting all of my 30,000 rows when I'm just trying to filter, do a .contains on one index column, but because SQL doesn't have a native contains method, it just gets everything and then filters it in .net, which was one of the reasons we were having a memory leak, was it was getting all of the records and doing it. So in EF Core 2, it has a fromSql method, so you can give it an old school SQL query and it will convert it into the object model and then return it, and it will automatically parameterize it. It will automatically strongly type it on the return.

So if you need performance, you can tune your queries. Which is kind of what Dapr does anyway, right? Yeah. The issue I have with a lot of these things like Entity Framework and .net and MVC, you see all these tutorials and they're all great and it looks fantastic.

And you're using two tables that have one foreign key and you have one page in your application. But as soon as, you know, real applications don't have two tables. They have like 20 or 30 or 40 and they have permissions and they have multiple foreign keys and they have self-referencing foreign keys and indexes and required and not required and different data types. And your application has many different pages and different repositories and you have three different data contexts and you just, it seems like all those people build it.

They do their test, which is odd. It works with two tables a year ago. And then as soon as you try to scale these things, it makes it really difficult. And people just go, oh, just turn this thing on.

Yeah, it doesn't work when you have that many things. Can't you just do that? I say this because the release schedule for the roadmap for Core 2 and NetStandard, so I was wanting to have a quick chat about NetStandard. So they've put Core 2 out now, but they're looking at Core 2.1 first quarter of 2018.

So EF Core 2 is sort of tracking along the same sort of schedule plus ASP.NET Core. I think Hanselman does an excellent job with their ASP.NET standups on YouTube. And I think the openness now is better than ever. I don't know.

I remember Leon sort of bemoaning that, saying, well, you know, surely I'd rather just sort of see it completed. in front of me and then use it. Yeah I guess you're kind of seeing inside the sausage factory a bit aren't you? You're kind of seeing things that you were probably happening before but you weren't privy to.

Now it's happening out in the open. Sometimes you don't like the result but at least you were kind of there for or you can follow along and see what the thought process was behind the decision. Yeah I don't I can't really think of any things that have happened recently that I absolutely hate but you know it's I think I think openness and transparency is good so I'm kind of a fan. Means you can find solutions to things that aren't documented at least.

That's true you can kind of work out what's behind that. I mean from the mono point of view there's obviously going to be the mono camp but the the way that we come together on this you know we have a way forward is standard and everyone working towards two standard libraries I guess. I know that for mono Unity just said well you know we've got I think they support 4.6 framework as their base as their base level as an experimental version inside of Unity 2017. For a long time they haven't they've been stuck on like an older version of the .NET framework haven't they?

Yeah well I've recently also seen Eclipse the Java guys not as in the Sun but as in the IDE tool. It's just as painful to your eyes if you look at it. Just as painful. I was just sitting like if you think Visual Studio is awful you go to Eclipse double-click and wait half an hour.

They yeah so they've now got a an IDE for C Sharp development so and you know C Sharp now is a very very popularized because of those three .NET developers that love Eclipse are going to be very excited. Them and the guys from the Rider team. Yeah I haven't tried Project Rider have you guys had any I mean I generally am a big fan of the stuff that JetBrains do so I'm keen to give it a go but I just haven't had time lately. Any thoughts?

Yeah I'm trending towards more Roslyn so for me Rider feels like JIDE for C Sharp. I'm sure Rider too will have Roslyn involved. That's what it felt like when I used it huh? I'm sure Rider too will have Roslyn.

Because I've used IntelliJ for a long time and I had used JIDE for a long time it felt like coming home but I was just writing C Sharp instead of say like Java or something so I I quite enjoyed it from that point of view because it had the same feel to me but it did the problem is then it did the same shit that it does in Visual Studio for me when I let ReSharper take over to some extent so I had that I had that problem. We were very close to giving up ReSharper with Visual Studio 2017. Very close. But it just didn't quite have the same the Roslyn capability especially for navigation just needs to move a bit further forward.

Yeah navigation and refactoring are the two that vanilla Visual Studio just doesn't do quite as well as ReSharper. I'm not even really aware of what I don't know where Visual Studio stops and ReSharper starts it's just kind of my default to install it but yeah like I use navigation like ctrl shift T to go to a type alt backslash to go to a file or the other way around type in a file yeah there's the alt ctrl RR name refactoring there's a lot of Stockholm syndrome going on here you know when you do that when you create a new file and you need to change the name like straight away because you got it wrong I think and you do ctrl RR to name refactor and then it like starts scanning every file and you're like what are you doing yeah I know and then it says do you want me to redo this as a link expression that's the classic oh that's always fun that's great that's just that's just enjoyable I come for the refactoring and stay I come for the navigation for the navigation the Visual Studio inbuilt equivalent of the go to file is just not it's like a they have like an omnibox like it's a it's it's the same search box to search in a file and search every file and search all the types in a solution and to switch between searching types you type like a letter like you type T space and then the thing you're searching for or F space and then the thing you're searching for and it will change the type of thing that it's searching why search just it's just not in Microsoft's DNA like we've seen SharePoint we've seen Ding we've seen Visual Studio search even the Windows search is not you know it's faster to find something on the entire internet than it is it's faster to go to the internet download WinGrap which is no longer available though I don't think WinGrap works with Windows 10 way out of the problem man well with the new you can probably do grep in the command line can't you now the um or PowerShell it's probably in PowerShell there's probably a PowerShell equivalent of grep I'm sure so but where do you where do you think we're at with Microsoft at the moment do you think they're in a I think they're in a much better place um because of Apple's dominance or rise or whatever you want to describe it but also having Amazon to compete with um you know and so there's very clear direction about where you should be going right yeah I think competition in all those like I think they're kicking a lot of goals with the Azure's um as a platform against AWS you know they've got smart a lot of smart people working on those things and yeah I think Apple like they can't rely on their monopoly anymore on the desktop they have to actually sort of compete and release good things so I think that's been like there's a lot of there's a lot of healthy competition happening in a lot of places that we're probably benefiting from and I think they're releasing probably better better products as a result um I don't I'm not sure like numbers wise how you know they're as a business how they're going but sort of as a as a customer they're fine yeah I think that Windows monopoly's got a lot of legs and yeah I you know I think I I sort of like the new Microsoft the open Microsoft the one that's you know releasing um you know showing those roadmaps of things and like having people in the conversation I like that a lot more than just kind of stuff appears and you kind of suck it up um I think the old Microsoft as an MVP on WPF they did try to engage people sort of in people sort of in you know in a more limited way to try and get feedback and stuff like that but often by the time you were sort of they were eliciting feedback from you it was kind of like too late in the release cycle to to make meaningful change or I think that's what I'm driving at here is is it why have an MVP when you've got open source I can just read it for myself and then I can be a part of the conversation like you see Scott Hanselman trying to get to that point with uh you know they've got uh how to contribute to open source projects what's the etiquette um where are they what's GitHub all about um you know this sort of thing this behavior is is is great because then but the alternative then is that you don't really need a fleet of evangelists uh you know selling the the good oil yeah hopefully it becomes a little more self-sustaining and I think there's been some contributions that people have made to various parts of the ASP.NET Core web hosting stuff the little web server that they have for that I can't quite remember but some good performance wins that sort of community people have made rather than core Microsoft folks um contributing to that code base so that's good in terms of like I guess there's this occasionally I feel some tension between sort of like if a community person if everyone in the community says we should go this way and Microsoft still go actually no we're going this other way like it sort of it feels like they've got a foot in both camps still like they're they're open but ultimately they still get to say you know get stuffed yeah well we're going this way yeah Katana's which you referenced then is the web server um so it's been spanked hard inside of Azure like it handles millions and millions and millions of transactions but the majority of the kind of thinking for that happened outside there was a uh game company and an intelligent programmer who demonstrated how to really scale katana and that's it's built on a library called libuv which is also open source for doing you know large amounts of sockets work yeah which is I think what like node.js and things like that uses the same thing so that's we're kind of coming back to you know everyone everyone's sort of coming back to the left pad which is the big difference like why is c-sharp so popular that everything's there you don't have to it's not like you don't need to pull in all those in you know modules to uh to do that left padding of the strings yeah you could just you know write an extension if you really need it in c-sharp so i mean it's such an exciting language so hey joe um anything exciting that's uh coming out of the sausage factory that's not very well put but uh that we can expect to see from you gracing your web page so i've been working on this thing called api map for a little while it's api-map.com um it's sort of trying to use machine learning to make integration analysis a bit better and so if that sounds like the kind of thing anyone would be interested in please uh please drop me an email or get in touch so yeah basically just tries to improve data mapping in the integration space and provide a bit of a sort of web gui for doing that so we um this is you recently presented at api days on this what how did that go what was that all about um yeah so api days is a conference in sydney it was it was a nice nice little event and you know i was basically just talking through my approach with people so um the approach itself is i'm sort of at the stage where i'm trying to build something useful and sort of like bootstrapping the use of it by using i guess what you would call an expert system type approach where you basically just code a bunch of heuristics into the the application itself and then you sort of weight those heuristics you know and tune them by hand or you know based on your intuition you know as the me the developer of it i tune them by hand and you start getting like pretty reasonable results fairly quickly and then hopefully that becomes useful enough for people that they can start using it and get results that are that help them so it's like you know you've if you see a jd edwards um purchase order uh xml give up or it it says oh i've seen that before yeah how i think it should should work yeah if you're trying to turn a purchase order that looks like this into a purchase order that looks like that or take maybe an address from a purchase order and put it into a shipping system or something like that address uh so where do you stand on addresses uh we we've been debating this steve and i we've also there's uh plenty of posts and github repositories that talk about addresses of of the horror of addresses um yeah they're they're generally pretty they're a good example of all the things that can go wrong with the data structure that anyone can really understand because there is a lot of things that can go wrong um i mean this the software project that i'm working on at the moment um had a fascinating address related error just yesterday so there was there's a road out in sort of like um the lockier valley called black duck creek road and we were having some problems arising from an address issue to do with that so we hop on the mapping system and have a look and yeah there's sort of two black black duck creek roads that run in parallel with about probably a hundred meter gap between them and they're both they're very windy and they sort of like join and then separate again and it's that's basically just hell on earth for a developer who's trying to write a software system that has to deal with addresses because you know how do you deal with ambiguity in that situation it just makes me want to sort of take up something else drinking yeah certainly cause for uh a bit of head scratching and you have situations where the government will like gazette certain roads to be created but they don't actually exist there's other roads that do exist but aren't gazetted and you know there's i think australia is also like shifting slightly um i think some of the maps that you know the gps surveying that's been done is up to like 20 meters off or you know more we talked about that a little while ago that they were readjusting but yeah it's like two meters north or something to account for continental drift yeah which is like a couple of centimeters a year something like that to the north yeah and we're only just a big earthquake away from jumping a little bit more if it seems like a like like dealing with dates and times it just seems like one of those kind of hard problems for developers to to grapple with forever just have a free text field and people can just enter whatever they want well ultimately validation i'm sure that someone knows what their address is we don't need to validate their address is correct yeah and how how would we even do that like it's if a human is going to look at whatever was typed in that box and take some action then i i think that's probably the right thing to do because there's there's just that or you have a system where you just cater for a kind of fallback where you can just say other and just type in something just type in a good yeah be done yeah issue everyone a menu you just get a good it's straight in the dna right easily on to uh to maintain a master record of goods issued no it's it's like yeah that's right we could do a bitcoin thing where we have you know one big giant tree of good i saw an interesting talking about dna i saw an interesting thing where someone had created an exploit for a dna sequencer by injecting stuff into the dna that was being sequenced that would cause the sequencer to like to basically you know be like compromised like a dna injection vulnerability didn't they do that on like an episode of ncis or something where there was code on bones that they then scanned into their system and it allowed the person to hack into their computer system because they scanned in code that then ran that then compromised their system i think that might have been the same episode they had two people typing on the same keyboard at the same time okay i'll write a vb app to solve that problem yeah yeah that was csi apparently they have like hollywood writers for tv shows like crime procedural crime dramas have like uh competitions amongst themselves to write the most ludicrous uh tech stuff that makes it into the episode so that's why for a while there between like csi ncis law and order you had like this one upmanship of just utterly ridiculous technology uh stuff including the zoom and enhance and like oh there's a reflection on that guy's eyeball quick zoom enhance oh look there's a there's a backwards print of the of the license plate reflected in a puddle reflected in the guy's eyeball from the flash yeah we've got him but um so continue on so you've kind of got like a smart automapper but better or a heuristic based yeah a heuristic based automapper that i'm hoping i'm sort of in the bootstrapping phase of people using it now where hopefully they get some benefit from using it but as more people use it i'm going to sort of switch it over to using more pure kind of machine learning techniques to create you know better ways of rather than me just like tuning heuristics in a sort of um rule-based kind of way it will be so it's like if you see l name then it will become last name yeah and i guess i'm i'm looking at bringing like synonyms for words and it currently looks at a lot of sort of structural things data types the name obviously has a lot of sort of signal in it but you know once hopefully once people start using it a bit more it can get smarter as it as it goes i think this is how skynet starts that's all right as long as you've got the um kill humans flag to false you should it should have an adversary read only it could have an adversarial attack where you put the bible into it and then you get like some you know fuck off crazy names out the other side ezekiel i love i love the markov chains that are trained on the bible and deepak chopra train like trained markov oh there's a deepak chopra generator and it's impossible i think every so often it will put up a real one and you just you can't tell the difference yeah it's ridiculous adversarial adversarial attacks are a very popular way of confusing ais basically like if you've got one image and another image and you put noise into it um that means that you know they'll it basically confuses synoid on how to compute and then basically the the graph falls over and it produces the wrong result so a lot of people do a lot of work to try and answer that that question within the domain that they're researching so this is so much fun um i love you know it'd be really interesting like if you kind of can go read some like you would snoop a network you would study uh data structures that are being transferred that are recognizable for example in either json format or xml format there'll be plenty of networks out there but even so you could be generating code to basically um babel fish the the shit out of it to be able to build some kind of an understanding of what's moving on the network yeah and certainly i guess the other aspect that i'd like to explore one day is maybe like a reverse engineering like looking at stuff going in looking at stuff going out on the network as you say and then figuring out well this is how this transformation is being applied does that you know is that right um you know where and and data provenance as well like you know we have this bit of data over here where did it come from um it's there's i'm sure there's other people looking at this kind of thing but i think it's not really done that well overall as an industry like there's a lot of i spend a lot of time um you know looking at go to definition in visual studio and then tracing through well well who's actually setting this property on this thing and then spending a lot of time um at doing that kind of analysis and then obviously once that data leaves your little system in the in the vast enterprise ecosystem you kind of don't know where it's being transformed and where it's going so looking to solve some of those problems i think another one is uh transactional information if you're building uh data warehouses for example um they they do use a lot of schema information to understand roll up and one of the biggest problems like it in oracle it used to be great we had all of this technology and tools to put in front of managers which is ridiculous because you you should pre-create what they need to know and give it to them and then have that as a kpi rather than giving them a drag and drop tool to combine you know you know, interplanetary numbers. You've got to have the ad hoc reporting capability, Mike, that's very important. And then have confirmation bias about that number, and then, you know...

You can't have pre-generated reports. You need to be able to adjust the report until you get the numbers that you want. Because of statistical... that comes back to basic statistics.

So you just have, like... Yeah, as long as the number is what you want, who cares how it was generated? So previously, before you used to build cubes and things, you'd just have something generate or run the query, and then have a bunch of dimensions, and you would present a user interface that let someone kind of surf how they wanted to see it, and they'd say, oh, group by, and I want this sorted by sales, by state, by person, or something like that. But when put into a more complex scenario, it always never worked.

I've seen hundreds of millions just wasted on that idea. But you're quite right, like, we're always looking for schemas of things to tell us how to explain what is it, or how we should treat it. Hmm. Bit of a digression again here, but...

So Blade Runner 2, I thought Deckard was a replicant in the first one. Spoilers! God! So, how...

and don't replicate... I haven't looked at any of the trailers or read anything online about it, but just the whole premise of it strikes me as odd, because if he's a replicant, don't they, like, die after a couple of years anyway? So how can he be... There were some replicants which didn't have the kill...

Was he, like, a new version replicant? I've only seen Blade Runner once. Well, he was a replicant built... Well, the theory is that he was a replicant built to chase replicants, and he was particularly good at his job, so that's why we know...

So he was, like, Arnie in Terminator 2. Yeah. Yeah. Before Terminator 2.

Before Terminator 2, yeah. No, the T-800 in Terminator 2 was a Terminator that was chasing Terminators. Chasing Terminators, yeah. Oh, yeah, yeah.

By the way, James Cameron, he's bringing out a 3D version of that, which is retro. Well, it's been 25 years. But he's also going to do more movies, and... Well, I'm sure.

Because every movie he makes makes, like, $50 billion. Yeah, that's true. Yeah. Sounds like a good business to be in.

Yeah. Apparently the latest Blade Runner trailer you should not watch. The ones up until now have been okay, but apparently the latest one I saw someone basically say on Twitter, don't watch it because it gives away the plot. All right, they all die.

Yeah. Yeah, so obviously having AI interpret your data and the future of AI, are you kind of worried like Elon Musk and the gang? I don't know. Elon's obviously a very smart guy, and so I don't want to discount anything that he says, but other people that know a lot about this kind of thing, who I also trust, seem to think it's still...

It's been a couple of years away for like three or four decades, so I just don't know that it's ever going to arrive. Like, I remember this female engineer had a post that she shared on Twitter where she said, you know, if you're ever worried about AI, I'm paraphrasing here, if you're ever worried about AI taking over, every time I upload a photo to Facebook, it asks me to tag my breasts as friends. You know, like we're not quite there yet. Maybe it's just Facebook's AI isn't that good.

Maybe Google would be all over that, but yeah. I have the weekly pleasure of sorting and folding clothes, and of course there are, and when you're in a house with, in my demographic, two young girls, daughters, you know, you've got... I like how you had to just confirm that. Two young girls in my house.

Daughters? I was actually doing this dot in my mind, but I tip out all of the clothes and the process is to, I do a separation thing and sort it and so I optimise my time as I would as a programmer about how I even fold clothes so that my lifestyle goes to that level. But I look at the socks and then I work out all the socks and I separate the socks out and I try to work out which of these are brothers. So I use a matching piece where I pick up one and move it across to each of the other socks so that they can, you know, because they're so close, they're like tiny little kitten socks and they've got a picture of a cat on it.

And then I'm trying to work out, is the sock inside out? So that's one of the problems. And is the sock upside down or is it facing the other way or is it faded? And so I have to match on that premise and I'm thinking, okay, it's a long way off.

We're not being taken. Once someone can sort my sock pile, I will think, mankind's fucked. Do you have a clothes folding robot that I've seen demoed? Not a sock.

You won't see a sock sorting robot is the future. If someone can do that basic task, forget Atlas, forget the dog, forget the thing with the funny hand thing that comes off the head, clampy thing from Boston Dynamics. Yeah, there were some videos that came out sort of this week, wasn't there, of a robot sort of doing a bad job of... He was trying his best, all right?

He was. But can he sort socks, Steve? Probably. No.

So we're safe. And if anyone just watch robot soccer, if you're at all worried about robots taking over, it's as a football fan, watch robot soccer and you'll realise just how far away that stuff is. So you're in the demographic as well, Joseph. So you've got kids much further progressed than I.

You're wanting those to become future programmers, future software developers. Is there a life for them beyond Windows X, whatever comes out next, and iPhone X, whatever comes out next? So we try to roll and have a few different bits of technology in the house. So we sort of have a bit of iOS, a bit of Android, Windows, Mac OS.

My daughter's laptop, I even tried to install Linux on it because it was having some driver problems and I installed Linux on it and she just kind of sent it back. You had a driver problem, so you installed Linux? I know, it doesn't make sense, but it was a lot more stable. These days, it's kind of good.

There's plenty of great distributions. You're not going to have driver problems and you're not going to have any drivers, so it solves it, I guess. She just sent it straight back. It's like, what is this shit?

She didn't say those words, but I could tell that's what she was thinking. Yeah, and I have tried to inculcate my children into programming with varying degrees of success. So I think Pixel Shaders was where I went to start with because I thought that was kind of fun and visual, but it didn't really work. I think then also changing the text on news.com.au using the developer tools in Chrome to basically say rude things about their friends was another angle that I took as a sort of gateway drug to HTML, but that didn't really work either.

I've had a bit of success recently with Swift Playground. That seems to be a pretty cool, fun, sort of like puzzle-solving app that is available on iOS. Have you done any of the Coder Dojo type of stuff? No, not really.

It's getting bigger in Brisbane. There's a couple around, I think. There's one in the city and there's one at a school or something. The school of which my kids attend, they've got Scratch.

They have a few different ones. Yeah, it's all Scratch and visual programming and things like that. Yeah. Yeah, I think they have done a little bit throughout their school time, and yeah, I think it's great.

It seems like one of those life skills that everyone should have a little bit of, and, you know, some people just kind of the mindset seems to suit how they think. And it's very hard to explain programming when you've been doing it for so long as well. I'm not sure if you guys have tried this where it's just so ingrained. You sort of start thinking about all the context that you need to try and explain, and you're there for hours and you have a stack overflow and you're just like...

Yeah, I start with the exception case, like if it's null already by the time I'm doing something. But obviously it's so ingrained it goes to every part of my life, the way that I clean the house, the way that I iron my clothes. I have a just-in-time methodology for when I iron my shirts. So I will have piles of moving things around my home, much to my wife's disappointment, and then try to, you know, optimize my life in that way.

But I'm so far gone. But you're right, there is a different mindset that we have. We also do an interesting thing where we have things that when we're thinking about something, which also stems to the name of the podcast, like you have your space helmet on to some extent, and inside of that world you're visualizing something. Like the programming mind always has to model something somehow.

Like you have to think about how is that modeled, and then how would I make it automated or how would I make it do my bidding sort of thing. Yeah, you're sort of like overlaying systems thinking on the top of just going to the shops or just every element of everyday life becomes this kind of modeling exercise and is this an is-er or a has-er relationship. And, you know, yeah, you can't really turn it off, unfortunately. And it also makes it very hard, like I said, to try and explain it to someone just from sort of first principles because it does become so ingrained and you've been doing it for so long that you just can't really not think that way.

But I think that the education, the stuff that people are doing now with stuff like Swift Playground and it sounds like there's other educational efforts that are going on, it is helping to make it more accessible to people and give them that earlier exposure. So it's good. We need, you know, the world is short of programmers, so. Yeah, I think we've come to the conclusion it's more, hopefully it's a creative experience as well, like the way that we kind of explain it's critical thinking that's part of it.

I also think there's something beyond there, which I'm talking about Julia Galiff last week, who tries to present with her Bayesian thinking and those sorts of things. But I think there's to some degree a creativity aspect as well, which will always be the human experience of it. It is also very difficult to explain programming to people who are non-programmers or who are so adamantly wanting to be non-technical, which is frustrating as well. Yeah, I think sort of sneaking up on kids by making it seem fun and seem like a game, you know, before they know it, they're writing little functions and things like that.

And yeah, it does seem to like that more creative fun aspect of it is definitely a good angle. And I know there's a lot of kind of hardware, sort of fun hardware hacking things for kids now as well, which is pretty cool. I think that sort of hooks into the Minecraft kind of scene. Yeah, that's something that hasn't really, I know other families are, you know, that's basically just Minecraft 24-7 where we're in a slightly different demographic.

So, yeah, we aren't in the throes of that, but I know it's definitely massive and it's probably a good way to get kids being creative and sort of hosting servers and stuff for themselves. You know, it's a great forcing function if you really want to get something working and you can't, you know, it's a great way to make people learn. So guys, it's time for some media. Joseph, you're in the house.

What have you been amusing to? Are you a Game of Thrones person? Silicon Valley? I don't really watch any TV shows at all.

Are you a cord cutter? Are you a free-to-air? I'm not really against it. You watch sports.

Yeah, I watch a little bit of football. Football. And I haven't, I've purposely not subscribed to any of those like packages that you can get because I think I would just spend all day watching that kind of stuff. My kids watch a lot of FIFA, so I sort of, I spend a bit of time watching them play FIFA as well, which is kind of fun.

In terms of actual media, I went and saw that Atomic Blonde. This might be kind of old news for you guys, but I went and saw that recently. What's that like? Yeah, I thought it was good.

It was sort of, it was very much like you could see the Jason Bourne sort of DNA coming through in that movie. There was a lot of scenes that were very reminiscent from the Jason Bourne movies, and I believe the director or whatever is from that, some of the Jason Bourne movies. I really liked it. The person I went and saw it with hated it, so I don't know.

I mean, Charlize Theron is a total badass in it, and yeah, I liked it. Very sort of gritty, violent, like hyper-violent. Some of the fight scenes, just blood everywhere. Sounds like John Wick.

I recently got to see John Wick, so I thought that was, I actually thought it was, it wasn't too bad. It was, it was, knew what it was. I've been told, I've been told, like, Atomic Blonde is good, but John Wick is just like a little bit better. I have not seen John Wick, so I'm sort of like, like I said, don't watch a lot of media, but I think I will check that one out based on that recommendation.

So then when you're coding and getting things done, what sort of music are you into? Are you SoundCloud or Spotify or something like that, or you've sort of got your own sort of hard drive of MP3s? I do, I do, I do have the Spotify's going, and I tend to jump around a bit in terms of genre. This is going to sound weird, but I quite like opera, especially I think because I can't really understand the language that's being spoken or sung.

I find it quite kind of relaxing in a way, because I don't really have to pay attention to it, and the music is good and the singing is good. Also, I'll sort of drop into a bit of like a run the jewels or something, a bit of rap from time to time. Hans Zimmer is pretty good value, although that can be kind of a bit sort of too emotional almost, if you will, like when it sort of really rises to a crescendo or something. But I tend to just kind of like choose a genre, listen to it for a couple of hours and then switch, sort of trying to hack my own attention to try and be as attentive as I can on the things that I'm supposed to be attending to.

So a normal day for you is get on in customer side or at home, get in front of the Visual Studio's hot stove and start stirring or a Word document that you had to crank out? Yeah, mostly I'm working from home quite a lot at the moment. So that's, as I'm sure anyone who's worked from home finds, your working day tends to kind of stretch out into being much longer than what it ordinarily would be. But yeah, sort of occasionally when I'm in the office, when I sort of go into a customer site, I tend not to listen to music that much.

But when I'm working from home by myself, I will listen to it. And yeah, mostly just kind of down in Visual Studio or looking at sort of stack traces or reading through logs or something like that. Yeah, I think one of the things that's the reason why we have a lot of media is I'm generally trying to find my groove on Spotify and then force my brain into finding something that's kind of simpatico or trying to keep me, I don't know whether it's attention or just switching that part of my brain that seems to then want to, I don't know, the world kind of disappears around me and I just get focused on what I'm doing in either coding or... Yeah, getting into that kind of flow state.

Yeah, I don't know what that is. I know that people say it's like alpha wave or something like that, but I think that that's very typical of software developers. It seems to be something that we all have in common is this ability to kind of block out the world and focus on the coding problem or the space, but you're also keeping track of things in your mind like it's up in the air at times. Often people ask me what programming is like and I relate it to truck driving because if you're sort of driving your big rig, you're kind of focused on the road.

And if someone comes up beside you in the window whilst you're driving and they ask some really weird question and you bark back and they don't understand why you're angry, it's sort of a similar thing. All your thoughts are in the air and they just plonk on the ground whilst they ask you something like, why is this button here? Can we discuss that matter that I've been wanting to discuss? Did you get that email I just sent you?

I know. Yeah, and I think part of it is also that you... Any little... If your build process takes too long or it just invites in that little attention thief and all of a sudden you're thinking, oh, while this is building, I'll just jump over and have a look at what they're saying on Slack or I'll have a look on Twitter or something.

And then before you know it, five minutes have gone and you're context switching back to what you were doing, but you have to reload all that context. Little irritations or when, I guess, tool chains don't work the way they should or you're kind of losing that flow state all the time or things are slow or you're working on Visual Studio in a remote desktop session and it's really slow. I know that's a pet hate of yours, Steve. You lose that flow state and you've sort of got to try and do as much as you can to keep hold of it.

I mean, I think there's so many things vying for attention these days, like all these massive companies that basically just make money off taking your attention and keeping it for as long as they can. It's sort of the biggest challenge. This is something I really find amazing with kids these days too. They're watching a video while they're doing their homework and I'm just like, man, that's like kryptonite for your attention.

What are you doing? And yet it seems to be the norm. I don't know. Maybe I'm a bad parent.

No. Our recent move is I've done it at an early age, but I've taken YouTube for kids off. I've previously had YouTube for kids on because we've got readers and book readers now. In Australia, the ABC puts out a really good app, it's Reading Eggs, and it's fantastic.

It promotes reading and it takes you through games and there's a level up and a scoring element to it and it's kind of got achievements and stuff like that. And I previously was competing with YouTube for kids and I just eliminated it off every device possible. There were tears, but it was worthwhile, I think, because it's just so hard to focus. There's so much trying to grab your attention.

And certainly, unfortunately, it seems like with more and more curriculum going online, it's harder to turn that hose off. You can't really ban YouTube once they get to a certain age because there's stuff that they need to do that uses it. Yeah, that's right. Previously, it was like it is a research tool and an entertainment tool.

focus and not to focus is difficult. Like even when I go home, my guilty pleasure is now sitting in front of Apple TV with the Reddit app on Apple TV and just looking at r slash r or some stupid garbage just to zone out. But it's kind of crazy. How deeply embedded technology is to our even entertainment, so it's it's kind of crazy.

Oh, anyway, a little blow up in a big nuclear explosion. Yeah. Get off my lawn. So Steve, if you wanted to stare at the welders or just come on, eyeball us in some way, how would you how would you do that?

Well, I would advise against it because you would instantly be blinded by us. But Joseph's wearing sunglasses. He's all right. And you've got to wear those really thick sunglasses for looking at the eclipse.

Right. The really dark ones like the welding glasses, as opposed to Trump, who just looked at it directly. Yeah. And was taken with a photo.

Yeah. Alternatively, head over to www.SpaceWelders.com where you'll find the show notes for this episode and all the other episodes. You'll also find the links to the stuff that we talk about. So you can play along at home, play the Space Welders board game.

There's no Space Welders board game. We should make a board game. Good idea. Board games are in.

Yeah. We should do it. It's like Jumanji style. Yeah.

Exactly. You will also find a link to our store where you can find some merch. If Mike sees you wearing a Space Welder shirt, he'll buy you a drink. I will buy you a drink.

You heard it here first. Or a Zune tattoo, I've heard. A Zune tattoo. A Zune tattoo.

If you see someone with that, come up to Mike in public, show him your Zune tattoo. I don't know what it will offer you. It's just random. It's the lucky dip.

That's the grab bag. Lucky dip. You can follow us on Twitter at Twitter.com slash Space Welders. There's Facebook.com slash Space Welders.

Mike's on Twitter. Twitter.com slash Michael underscore wise. I'm on Twitter. Twitter.com slash TheSkepticalDev.

Joe, how can people contact you? I'm at Joseph Cooney on Twitter. Great. And the website was api-map.com.

Is that all? Sure. If that's your only... How else can we get you, Joe?

jcooney.net is also my website. You can knock three times, say your name three times into a mirror, and you'll appear. You get a tattoo of a skull on your arm with a snake coming out of its mouth. And if it starts itching, that's a sign to come to me.

Turn around three times, throw salt over your shoulder, and then you'll appear. Like the Candyman, crossed with it. If you see a red balloon, run. Excited for it, Joe.

Towards the balloon. It's looking good. It was pretty scary. Now that I know it was Tim Curry, when I was a kid...

That makes it better. Well, when I see him now, I'm just like, ah, you're just Tim Curry in a clown suit. You know, the original It. He's not scary.

Skarsgård actually seems scary. Yeah. Which is a good thing. Back in the day, it was definitely scary.

There's some people out there that I know that are scarred. Clowns have been ruined for life. The first time I ever watched It, I think I was 12, so not a good age to watch it. And I watched it at night with my dad.

Well, that's the same age I watched. We watched it, and then we finished, and I went to bed. And you know the ending of It? It's like they all stick together, and they've got to hold hands and not go off by themselves.

Otherwise, they die. So we watched that. The movie finishes. He goes, okay, good night.

And my bedroom was at the other end of the house. So I'm like brushing my teeth by myself in a darkened house, going... You're dead. Finally, if you have any questions, comments, or feedback, just email us info at spacewalters.com.

So guys, thank you very much to having Joseph Kearney with us in the space station talking about tech and everything that we love. And yes, we'll be back with some more. So it's Mike out. Steve out.

Kearney out.

Don't Stare at the Sun · Space Welders