Shawn_Clabough:
Hello and welcome to another episode of Adventures in.NET. I'm Sean Claibor, your host, and with me today, we have some new co-hosts to introduce to you. So we've got three brand new co-hosts, but you might recognize them named if you've been listening to our episodes in the past. So let's start out with just a brief introduction, and then we'll get into more details. So let's go start with Christian. Why don't you introduce yourself?
Christian_Wenz:
Yeah, sure. Hi, Sean, and hi, the listeners. Excited to be on board. My name is Christian Wenz. I live in Munich in Germany. I do mostly web stuff and web application security for the letter topic. I've been a guest to Adventures in.NET before. I am a Microsoft MVP since 2004 for, well, I think originally ASP.NET, but now it's just developer technologies. I love doing web applications and work with a lot of companies. I'm always excited to see what's up in.NET world and what's up in the web world. I hope to learn a lot of things during the following months
Shawn_Clabough:
Yeah,
Christian_Wenz:
on
Shawn_Clabough:
that's
Christian_Wenz:
Adventures
Shawn_Clabough:
great.
Christian_Wenz:
in.NET.
Shawn_Clabough:
Good, good. OK, Adam, you want to go next?
Adam_Furmanek:
Sure thing. Hello, everyone. I'm so glad to be here. And I also already mentioned I was a guest once. I'm a software engineer with like 15 years of experience nowadays, done a lot of stuff back and front and other various technologies, but I was also doing like, different work, tons of public speaking, actually also a book writer, wrote one book about.NET platform and the other book about Always learning, always enjoying debugging stuff, learning everything behind the scenes, and going very deep low level. So looking forward to what new I can learn here. And I hope you enjoy me being on this podcast.
Shawn_Clabough:
Good, good. All right, Mark, I think you're in a special group. I think you were on this show a couple times.
Mark_Miller:
Yeah, I'm in the special group.
Shawn_Clabough:
Hehehehe
Mark_Miller:
It's the special group. That's the one I'm in. Kids, my name is Mark Miller. I've been writing code for about as long as I've been alive, I think, and it's a pretty long time. I'm gonna, I think I'm passing four decades of code writing. And, and it's been kind of crazy. I've started with, I remember punching in like hexadecimal code for a Z80. And my monitor was a LED display. And I remember, you know, in a, I was, I was in high school at the time, but I was taking college courses. It was a college course I was taking. And I remember they called me the whiz kid because I was creating a video game with my LED display, you know, by having the, the little, uh, the parts of the LED display chase the lights around that sort of thing. I was working on that. And now we're at a point where essentially the robot overlords are ready to say, hi, Mark. Go sit in the corner now, we got this,
Shawn_Clabough:
Yeah
Mark_Miller:
right? So that's how long I've been coding. I work at DevExpress. I am leading the CodeRush team. CodeRush is a developer tool. I've been actually focused in working on developer tools for probably about 30 years, 20 to 30 years I've been focused on that, as well as good design, that sort of thing. So I'm like, you know, I'm fascinated about the how do we make the best possible interface, the best possible UI so that the people that are using this can get what they need to done with the least amount of effort, the least amount of thought, that sort of thing. I'm just that process is an obsession for me. And I'm also like like the other hosts. I'm totally here to learn because I. accomplish everything using brute force and ignorance. Those are my tactics, and that's how I get everything done. And so I'm here to totally learn from our future guests and the co-hosts as well.
Shawn_Clabough:
All right, cool. That's kind of funny, Mark, that you mentioned WizKid because one of my best friends and actually one of my groomsmen in my wedding back in the days, he was a writer on an Apple II hacking magazine and his column was called WizKid. So
Mark_Miller:
Nice.
Shawn_Clabough:
that was Kind of funny there.
Mark_Miller:
That's
Shawn_Clabough:
So
Mark_Miller:
awesome.
Shawn_Clabough:
yeah, I've been doing programming about as long as you. I think I wrote my first program probably 1980, and it was on a TIRS-80
Mark_Miller:
Yeah.
Shawn_Clabough:
computer. And we had black and white televisions as our monitors and cassette tape drives and things like that.
Mark_Miller:
Yeah, yeah, we did the, I did all those things too. I was there, I had a TRC 80.
Shawn_Clabough:
Yeah,
Mark_Miller:
That's
Shawn_Clabough:
yeah.
Mark_Miller:
it, and we're still here kids.
Shawn_Clabough:
Yeah.
Mark_Miller:
Try to make
Shawn_Clabough:
Yeah.
Mark_Miller:
us leave, you can't do it.
Shawn_Clabough:
Yeah. So my I've told the story a few times about the first computer I actually owned was a Terracid color computer that had four K of RAM. So I wrote a hangman game and I could only fit 25 words in it before it started crashing on me.
Mark_Miller:
Yeah, I wrote Super Blockout, I think is what I called it. It was like Breakout, but it had a square in the middle. And when you move the paddles one way, everything went clockwise. The four paddles went clockwise to the other side. So it was this kind of like really cerebral game that nobody wanted to play. There were balls all over the place, bricks everywhere. And yeah, I remember that same experience. It took me about, I want to say about four months of exploring before I got the sense, the really strong sense, that what I wanted to do was beyond the capabilities of the machine, right? Just like you're describing as well, that 4K limit, right? Yeah. So yeah, that's that. Yeah, we were there. Sean and I were there, kids. We'll tell you what it was like back in the days, the dinosaurs.
Shawn_Clabough:
Yeah, and then in high school, we finally got some Apple IIs. And so that was all the rage in high school. and applied to Microsoft. And this was probably 1985, 1986. And so it took me all day to find where Microsoft was at to go in and fill out an application because I, you
Mark_Miller:
Oh, you did
Shawn_Clabough:
know,
Mark_Miller:
it. You did it in person.
Shawn_Clabough:
well, yeah, that's how you could do it. So, you know, I figured it was, you know, probably a. 20 mile drive from where I was at. So I drove up there and I, back then you didn't have Google maps or anything like that. So I used the yellow pages. So I just looked up in the yellow pages, what their address was. And so I went to that address and it says, sorry, we have moved. We're now at that. So I go to that address and it's sorry, we have moved. We're now at that.
Mark_Miller:
Wow.
Shawn_Clabough:
And so I finally found them and it's actually where the current campus is in
Mark_Miller:
Yeah. Yeah.
Christian_Wenz:
Nowadays, it's a whole infrastructure. It's like Disneyland, right? So all
Adam_Furmanek:
Well,
Christian_Wenz:
of that.
Adam_Furmanek:
at
Christian_Wenz:
And
Adam_Furmanek:
least
Christian_Wenz:
this
Adam_Furmanek:
it was
Christian_Wenz:
is a.
Adam_Furmanek:
good. It was in Seattle area, not in Albuquerque, right? Because I think that's where they started initially.
Christian_Wenz:
But it's crazy. I love the yellow pages story you just told, because I've been in comparable situations, right? But nowadays, so we're recording this in 2023, it's unimaginable that these things ever happen because we are so used to having technology at our fingertips.
Mark_Miller:
Right.
Christian_Wenz:
I mean, just things like Google Maps, right? Or the other competing piece of software. I so rely on that, right? When traveling somewhere, I mean, I don't even plan ahead often, because I know, hey, I have a maps app on my mobile phone, and that will bring me to my target. I will be able to order a ride via my mobile phone, right? So I don't have to look up the number of... whatever the taxi provider or the local taxi company know. It's just, you know, I don't have to prepare because when I'm there, everything can work out. Even public transportation, I mean, when we are recording this, I'm three days away before actually flying to Redmond or to Seattle and going there and I mean, I just, I booked this on really short notice. because scheduling was a bit tricky, but the amount of time I spent on preparing this is minimal. And I feel kind of bad because that makes me nervous that I missed something obvious or I'm there and I'm lost or something. But no, it just won't happen. I just will be there and then get a ride somehow and then I'll just be there. And compare this to, I think, the first time... I personally was in the United States, was, I don't know, 25 years ago maybe, probably even longer, almost 30 years. Back then, you know, I prepared travel books. I don't remember how I booked a hotel. Probably I called somewhere in the middle of the night and booked it. But nowadays, you just go there. It's a luxury in a way, right?
Shawn_Clabough:
Yeah, it'll get you there, but it might take you on a weird path every once in a while. It's like,
Christian_Wenz:
Absolutely,
Shawn_Clabough:
why is it taking
Christian_Wenz:
absolutely.
Shawn_Clabough:
me this way?
Christian_Wenz:
Isn't that the story of the man or the lady who booked a flight to Sydney? And I think they wanted to go to Sydney in Australia. But isn't there also the Sydney written with an I in British Columbia? And so she was wondering why she was flying to the West and not to the East. And something like that.
Adam_Furmanek:
I remember when I was in preparatory school and geographic class and we were to provide like geographic coordinates for various cities. One of them was Sydney. So I found Sydney in the US and my teacher, she was okay only when I was reading this coordinates, but when she realized it's unlike the west side, not the east side that was,
Christian_Wenz:
Yeah.
Adam_Furmanek:
well, that's kind of weird.
Christian_Wenz:
Yeah. I was just looking it up, right, to see whether I was wrong. So actually there are several Sydney's with I, one in Montana, one Nebraska, there's one British Columbia. There might be even more, right? So yeah. So this
Shawn_Clabough:
Yeah, the...
Christian_Wenz:
could happen. This could still happen.
Shawn_Clabough:
The...
Mark_Miller:
It did to me.
Adam_Furmanek:
Yeah.
Mark_Miller:
I like I booked a ticket to see I thought to San Jose, California But
Christian_Wenz:
Oh,
Mark_Miller:
it was
Christian_Wenz:
I
Mark_Miller:
not
Christian_Wenz:
know where
Mark_Miller:
San
Christian_Wenz:
the story
Mark_Miller:
Jose,
Christian_Wenz:
ends.
Mark_Miller:
California It was not
Christian_Wenz:
But the other San Jose is pretty nice, I've heard. I've never been there, but I mean, Costa Rica, right? So, not
Mark_Miller:
Yeah,
Christian_Wenz:
bad.
Mark_Miller:
it's not bad. Well, it's okay.
Christian_Wenz:
Okay.
Mark_Miller:
Other parts of Costa Rica are really nice. San Jose itself is a little bit of a mix. It's
Christian_Wenz:
It
Mark_Miller:
got
Christian_Wenz:
does
Mark_Miller:
both
Christian_Wenz:
have
Mark_Miller:
positives
Christian_Wenz:
the airport,
Mark_Miller:
and
Christian_Wenz:
right?
Mark_Miller:
negatives. What'd you say?
Christian_Wenz:
It does have the airport at least, so I mean...
Mark_Miller:
It does have the airport. I got an airport. I don't know why everybody's upset.
Shawn_Clabough:
So yeah, Sydney BC, you know, it's got some great skiing in the area, but I don't think the same can be said for Sydney, Australia.
Mark_Miller:
Right. Yeah, speaking of this, I remember I was at a conference, speaking at a conference in Sydney, and I booked my ticket so I would arrive like within 24 hours of my talk. And they rescheduled my talk without telling me to be two days earlier. And I, something like that. And I remember I'm like getting on the plane and I'm seeing all these notifications coming up saying, where's Mark? Mark's not at his talk. And I'm like, what? What's going on? I'm about to fly 13 hours to Australia. And is my talk all done? And I'm trying to figure out if I should get off the plane or not. And ultimately, we decided that, well, I learned that they had rescheduled me essentially without telling me, I believe, or at least without me receiving that information. But they said, well, we'll do it. do it for the regular time, but in a different room. And you're okay to, you're good to go. And as I get that, they close the door on the plane and I'm like going to Australia, whether I like it or not. So yeah, there's, you know, still some mix ups that can happen even with cell phones and stuff like that, right? Communication, email.
Christian_Wenz:
See
Adam_Furmanek:
What
Christian_Wenz:
you
Adam_Furmanek:
always
Christian_Wenz:
next time.
Adam_Furmanek:
amuses me with Australia is whenever I go there, like I find that international calls from Australia to the US is for free. But if I want to text someone from the US, I need to pay. I never understand why this way. Like I would expect text to be free and calls to be paid, but it's the opposite when I go there.
Mark_Miller:
That's interesting.
Christian_Wenz:
Our younger listeners probably keep asking themselves, okay, what's a text message? Is that, what's that? Exactly.
Adam_Furmanek:
Yeah, it's like a native WhatsApp in your mobile phone.
Mark_Miller:
We're using native WhatsApp kids. Don't give us a trouble. Don't yell at us.
Adam_Furmanek:
But
Shawn_Clabough:
Yeah.
Adam_Furmanek:
on
Shawn_Clabough:
Yeah, I'm.
Adam_Furmanek:
the same note, I'm from Europe originally, and we never used MMS, so multimedia text messages. But when I went to the US and when I moved there to live, I learned that MMS is quite popular. Even when you go for public events or whatever, you register over that. I always believed in Europe that is that standard, no one ever really considered it seriously. But in the US it's like completely the opposite. So native built-in works like a charm.
Christian_Wenz:
I think depending on where you are, I think either sending or receiving MMS might cost a little bit, which may prohibit its use. But yeah, I mean, if you refuse to install a messaging app on your phone, then if you want to send an image or an emoji, then MMS is all you got.
Adam_Furmanek:
Yeah, yeah. And once I was actually trying to implement this talking a little bit technical, like I was super surprised to learn that at least in Android world, there is not like standard API in your mobile phone, send MMS, receive MMS, nothing like this. Every single application we're talking about, like a Google texting application or Signal or whatever, they need to implement that on their own. So this is completely like, even though it's standard, all devices implement it like completely differently and definitely not compatible way.
Shawn_Clabough:
So a question, when did we all first get into.NET? Have we all been since the 1.0, 1.1 days, or are there some of our, Adam, I'm looking at you, even though our guests can't look at it, you seem younger, so have you been in it for 20 years?
Adam_Furmanek:
Younger but still bold as some
Shawn_Clabough:
Hehehehe
Adam_Furmanek:
of us on the scale. My first.NET was actually around time, NET 4, I believe. I mean, I was using.NET 2 as well, but generally it was around 2008, 2009. So.NET 4 was already around, Visual Studio 2010, that was a blast. But that's when I'm talking about that professionally. Like personally, before getting to the enterprise and the industry, I was doing some older.NET. I even recall Visual Studio even before it was called Visual Studio, etc. But yeah, professionally standard around version 4. But to make it a little more interesting, I think it was like three, four years ago, I tried to actually install.NET 1.0. on like Windows 10 to see whether it still works. And yes, it does. The hardest part to do that was actually to find all the installers, right? All the installation files to get that working up and running. But once when I went through that, it was working pretty nice. Don't recommend that though, but still a little bit of history.
Christian_Wenz:
I mean if you see how many Windows based applications are still running on Windows 10 or even 11 well 11 is a bit harder But still it's it's the backwards capabilities. It's quite amazing actually. Yeah, I started I started early on and as I mentioned I did Or I focused on on web technologies and I did that early on And so if you look at the technologies, the auto server technologies around these days, I think the market leader is PHP and then second place is ASP.NET Core and others follow, which we won't name here, of course. And PHP, the predecessor of ASP.NET, ASP, Active Server Pages, they are from the same year, from 1996 and... I started working with both early on, right? And I mean, in the beginning, they actually were quite similar, but then eventually ASP stopped evolving and PHP ate their lunch. And then it was because I always want to have like one alternative, I always tried to use technologies that are mainstream because then it's easier to build a team, right? It's easier to find help, information, documentation. But I still wanted to have a look at the top two in the market. So when the first beta of.NET came out in, I think, 2000, was it 2000? I, of course, looked at it and I was super disappointed. Also when.NET 1.0 came out, also when 1.1 came out. Because from a web perspective, that was, I don't want to say embarrassing, but it was... in an infant stage. I still remember that back in the days, they had this idea that the web framework was deciding what kind of browser the client was using. And there were two types of browsers. I think one was, I don't know if it was the term they were using, but I think it was something like upscale browser or not. there was only one upscale browser according to ASP.NET. You can all guess which browser that was. And the browsers that had a significant market share, and maybe arguably better, they were considered not upscale browsers. So they got like limited feature set, things were rendered differently. It was a mess. It was a mess. And I mean, I probably wouldn't be sitting here if they didn't change gears for... the 2.0 release of ASP.NET and the.NET Framework, because then they made it cross-browser. In hindsight, I think that was paramount for the success of the technology. I think that and when they started providing an MVC Framework, which was an initiative of one developer originally, and they offered that as well as an- alternative to the web forms approach. Yeah, and so from then on, so these were my first versions and the more stable and mature the versions got, the more involved I got. And I'm still very happily using PHP as well, because it's still a great framework, a great language, has evolved also massively during the last 27 years. but still love what ASP.NET Core is offering. And I'm pretty happy with my technology choices from back then, especially if you look at some of the other frameworks that were hip in the late 1990s or in the 2000s. And some of them, they just ceased to exist or just proved to be a technology that's not future proof. They put it that way.
Shawn_Clabough:
Yeah, Christian, I didn't mean to say you weren't young. I mean, you're definitely younger than Mark and me. So, yeah.
Mark_Miller:
Ha ha.
Christian_Wenz:
Who knows, who knows, we'll need to talk about that in the next episode or something.
Shawn_Clabough:
But for future episodes, you're gonna have to shave your head. Ha ha
Mark_Miller:
I'm thinking
Shawn_Clabough:
ha.
Mark_Miller:
the same thing.
Christian_Wenz:
I'll consider it.
Mark_Miller:
There's some serious asymmetry, Christian.
Christian_Wenz:
But I mean, can't we do anything with KI? Like a mid-journey, like give me Christian with a bald head or something? I mean,
Shawn_Clabough:
Get
Christian_Wenz:
there
Shawn_Clabough:
one
Christian_Wenz:
must
Shawn_Clabough:
of those skin
Christian_Wenz:
be something.
Shawn_Clabough:
caps, you know,
Christian_Wenz:
Yeah.
Shawn_Clabough:
skin
Christian_Wenz:
Yeah,
Shawn_Clabough:
caps.
Christian_Wenz:
yeah, yeah,
Shawn_Clabough:
Yeah,
Christian_Wenz:
yeah.
Shawn_Clabough:
you go.
Christian_Wenz:
We'll find something. You'll find something.
Shawn_Clabough:
Yeah, I remember back then ASP and then to.NET. NET was actually ASP plus is what
Christian_Wenz:
Yeah,
Shawn_Clabough:
it was
Christian_Wenz:
yeah,
Shawn_Clabough:
originally
Christian_Wenz:
yeah, yeah, that was
Shawn_Clabough:
proposed
Christian_Wenz:
the code
Shawn_Clabough:
as,
Christian_Wenz:
name, right,
Shawn_Clabough:
yeah.
Christian_Wenz:
of ASP.NET, yeah. But I mean, I would rather call it ASP minus, but you know, X post, you can always easily say something like that, right, but yeah. But you know, as I did a lot of ASP before, I mean, and I have to give credit, my credit is due, right? So I loved ASP. And why did I love ASP? Because that was probably, and I have to be honest here, that was probably last technology that I completely grasped because it was, I think, six objects with 36, if I recall correctly, properties and methods. I knew... probably 34 of them, right? So I just knew those things plus the VBScript syntax, that's it, right? Nowadays, I'm so relying on IntelliSense or auto-completion and the documentation because I mean, how many classes do we have in.NET now? Is it five digits, something like that? How should I even need to know all of this, right? So of course, productivity went up greatly when I compared the ASP.NET Core productivity with the ASP productivity from back in the day. So even the ASP.NET 1.0 productivity, but still, I mean. Back in the days, I knew everything about the technology. Nowadays, I know what I'm working on and I have to research the rest if there's something new. And that's why I think both Adam and Mark stressed that before we're always learning, right? That's why I'm always excited about podcasts like this because there's always new perspectives and new things to learn because nowadays it's impossible or at least I haven't met a person yet who... could actually pull it off to really know everything in and out about a complex framework or technology. And, I mean, especially with.NET, there are so many different aspects. So I think there will be plenty of stuff to talk about in the coming months.
Adam_Furmanek:
Nothing that I could
Shawn_Clabough:
So Adam,
Adam_Furmanek:
publicly
Shawn_Clabough:
did you actually
Adam_Furmanek:
admit
Shawn_Clabough:
build
Adam_Furmanek:
that
Shawn_Clabough:
anything
Adam_Furmanek:
is running
Shawn_Clabough:
with
Adam_Furmanek:
in
Shawn_Clabough:
the
Adam_Furmanek:
production.
Shawn_Clabough:
1.0
Adam_Furmanek:
Let's
Shawn_Clabough:
that you got
Adam_Furmanek:
believe that
Shawn_Clabough:
installed
Adam_Furmanek:
it never happened.
Shawn_Clabough:
or did it work?
Adam_Furmanek:
I was actually using some ASP Classic also, I think, when I
Shawn_Clabough:
Did
Adam_Furmanek:
joined
Shawn_Clabough:
you
Adam_Furmanek:
my
Shawn_Clabough:
find
Adam_Furmanek:
first
Shawn_Clabough:
out
Adam_Furmanek:
company.
Shawn_Clabough:
that there's no master
Adam_Furmanek:
So that
Shawn_Clabough:
pages
Adam_Furmanek:
was very
Shawn_Clabough:
in that
Adam_Furmanek:
old
Shawn_Clabough:
1.0?
Adam_Furmanek:
dinosaur-ish stuff, way older than I used to be at the time. So yeah, I was doing some of that, mostly in the maintenance mode though, but still developing some new screens, adding features for the clients. So yes, these things were running. I hope they are not in production anymore, but well, that was banking finance sector. So... you never know what's actually running behind the scenes, especially that at that time, we are using like IBM mainframes. And one of the interesting thing about IBM mainframes is that they had completely different character encoding. We're all used to Unicode and they were running Epsedic. Funny thing about Epsedic, I come from Poland. And when it comes to currency, which you have typically under digit four on your keyboard. And similarly in Epsedic, there was like one character Findi that was representing Polish currency. However, this character does the we were migrating stuff from IBM ZOS mainframe to, let's say, decent Windows based dotnet thing. Hope these things do not work anymore. They were migrated to something decent nowadays.
Christian_Wenz:
I mean, isn't it a life someone tells you, okay, this is just a prototype, you know, we'll eventually replace it by something serious? For me, that's always a warning sign that I have
Adam_Furmanek:
In
Christian_Wenz:
to
Adam_Furmanek:
this
Christian_Wenz:
be
Adam_Furmanek:
case you can always
Christian_Wenz:
super
Adam_Furmanek:
take your
Christian_Wenz:
diligent
Adam_Furmanek:
Cobble code
Christian_Wenz:
with the
Adam_Furmanek:
and run
Christian_Wenz:
technologies
Adam_Furmanek:
it on cobble.net
Christian_Wenz:
and approaches I'm using, because that thing will potentially be around for a decade, right? If they of course say, yeah, you know, we do it the right way and we have to use best of breed and the latest stuff, then... Unfortunately, chances are that this might see the day of light, but not for long.
Shawn_Clabough:
I was just going to ask you, has anybody written anything in none of the main.NET languages
Adam_Furmanek:
Yeah.
Shawn_Clabough:
like VB, C sharp or F sharp? So I remember Cobalt.net being, you know, in the early days they were doing that and I never did it.NET. I did it in college as a class. But
Christian_Wenz:
It's still around, I help an enterprise getting rid of it at the moment actually. And yeah, I mean, it's still running, but it's just hard to get people experience with it. And so that's, I think that's the mainstream point I previously made, right? So if you have something that a lot
Adam_Furmanek:
Well,
Christian_Wenz:
of people are
Adam_Furmanek:
speaking
Christian_Wenz:
using, then
Adam_Furmanek:
about F sharp,
Christian_Wenz:
it's maybe easier
Adam_Furmanek:
I
Christian_Wenz:
to
Adam_Furmanek:
always
Christian_Wenz:
find some
Adam_Furmanek:
miss
Christian_Wenz:
help.
Adam_Furmanek:
that actually
Christian_Wenz:
Maybe the
Adam_Furmanek:
Scala
Christian_Wenz:
only exception
Adam_Furmanek:
dropped
Christian_Wenz:
or...
Adam_Furmanek:
support for.NET.
Christian_Wenz:
big exception in the.NET
Adam_Furmanek:
Initially Scala
Christian_Wenz:
space at the
Adam_Furmanek:
language
Christian_Wenz:
moment at
Adam_Furmanek:
was
Christian_Wenz:
least,
Adam_Furmanek:
supporting both JVM and
Christian_Wenz:
please tell me
Adam_Furmanek:
the
Christian_Wenz:
if you
Adam_Furmanek:
CLR.
Christian_Wenz:
disagree, is
Adam_Furmanek:
They
Christian_Wenz:
F sharp,
Adam_Furmanek:
dropped CLR
Christian_Wenz:
which
Adam_Furmanek:
because
Christian_Wenz:
I think is pretty
Adam_Furmanek:
well, they
Christian_Wenz:
amazing.
Adam_Furmanek:
couldn't get higher
Christian_Wenz:
But still, I think
Adam_Furmanek:
kind
Christian_Wenz:
if you compare
Adam_Furmanek:
of types
Christian_Wenz:
the number
Adam_Furmanek:
to
Christian_Wenz:
of,
Adam_Furmanek:
work well and generics
Christian_Wenz:
numbers of C
Adam_Furmanek:
and
Christian_Wenz:
sharp
Adam_Furmanek:
all the
Christian_Wenz:
developers
Adam_Furmanek:
magical
Christian_Wenz:
and
Adam_Furmanek:
features.
Christian_Wenz:
F sharp developers, it's
Adam_Furmanek:
But
Christian_Wenz:
a
Adam_Furmanek:
still.
Christian_Wenz:
huge,
Adam_Furmanek:
I remember
Christian_Wenz:
huge
Adam_Furmanek:
10 years
Christian_Wenz:
gap.
Adam_Furmanek:
ago,
Christian_Wenz:
And maybe
Adam_Furmanek:
I
Christian_Wenz:
that
Adam_Furmanek:
wanted
Christian_Wenz:
gap
Adam_Furmanek:
to even
Christian_Wenz:
is
Adam_Furmanek:
implement
Christian_Wenz:
too
Adam_Furmanek:
my
Christian_Wenz:
huge.
Adam_Furmanek:
custom compiler from Scala to NET platform, but then I hit exactly the same. Whoa, that's not that straightforward as is used to look at the tutorial books. But maybe one day, Adam Furmanek's compiler will see the world publicly. Not coming soon, but not going to happen soon. But anyway, F sharp is similar case. I mean, personally, that's obviously my personal case. Or really functional generic. programming is what is stopping this language from really getting its prime time.
Shawn_Clabough:
Yeah,
Adam_Furmanek:
Well,
Shawn_Clabough:
I keep waiting
Adam_Furmanek:
in
Shawn_Clabough:
for
Adam_Furmanek:
the meantime, you can watch
Shawn_Clabough:
hoping
Adam_Furmanek:
his
Shawn_Clabough:
for
Adam_Furmanek:
talk
Shawn_Clabough:
Richard
Adam_Furmanek:
on YouTube
Shawn_Clabough:
Campbell to have his book
Adam_Furmanek:
about history
Shawn_Clabough:
finally
Adam_Furmanek:
of.NET.
Shawn_Clabough:
come out
Adam_Furmanek:
Pretty
Shawn_Clabough:
so we
Adam_Furmanek:
enjoyable.
Shawn_Clabough:
can kind of learn these inside stories about the early days of.NET and everything along those lines. And you know, and I think we had him on the show a couple of years ago when he was writing his book and it's still not ready. I know I listened to his podcast on a regular basis and he's still working on it. But
Christian_Wenz:
Yeah,
Shawn_Clabough:
so
Christian_Wenz:
I
Shawn_Clabough:
he's
Christian_Wenz:
spoke
Shawn_Clabough:
a
Christian_Wenz:
to
Shawn_Clabough:
busy
Christian_Wenz:
him a while
Shawn_Clabough:
guy.
Christian_Wenz:
ago and yeah, I'm still anticipating that. So we should back him again. So Mark, what spot? Yes. Yeah, but still the book, I mean, so many interviews and details. I know how much work has gone into that project. So that I think that will be a great read. But yeah, let's talk about it when it's there. So Mark, what was your first.NET version?
Mark_Miller:
I think it was 2002. And I think it was,
Christian_Wenz:
Okay, so 1-0 final.
Mark_Miller:
I want to say it's 1.0 is what I think it was.
Christian_Wenz:
Or one, yeah, one of the two, yeah.
Mark_Miller:
Yeah, yeah, I was in Las Vegas in an apartment that we rented and we were rotating developers in and out of that apartment because we were porting Code Rush, which had been written for Delphi, or Delphi depending on where you are. over to.NET. And basically I had sold DevExpress on the idea that we run an apartment there and we have devs working there essentially full time and we also have them working remotely but they swap in and out of that location. So I'm there full time and just pushing everybody really hard. And that's... That's how we started building CodeRush. And I remember comparing Delphi to C Sharp. And I remember writing Anders Heilsberg's name on the whiteboard. And every time I was mad about something that wasn't quite perfect in C Sharp yet, I'd write that underneath his name. And I'd be like, here's, you know, we need, there's no static virtual functions in C Sharp. Why not? Why not, Anders? What's going on? I remember at one point Dustin Campbell, who was one of those devs, he's actually working for Microsoft now. But he was in there with me and we'd always joked about, Anders was on my list and I was going to go get him. He's listening to a.NET conference live and Anders is taking questions and then he hears my voice in the audience asking the question. And Justin's like, oh no, Mark's in the same room with Anders. Oh no, he's going to get him. But everything's okay. Anders is all right. He's not unharmed and we're here. But yeah, that was my first experience, right? So right pretty much from the beginning. And you know, I actually think... So I've essentially worked with two languages primarily, like lived in two languages, Pascal and C Sharp. And my impression though is that... the advances that C Sharp, the language itself, has taken in, say, the last eight years have been really significant, have really changed how you can interact with it, and in ways that I think really help developers. So you can write the same code with fewer characters, for example. You can express things in much more simple, easier to way. read ways of doing that. These are things that were fundamentally changed in the language, right? If you look at how the language starts, when it started, I'm pretty sure there were no generic methods, right? Generic methods came, I want to say, three or four years into it, I want to say something like that, right? And so to me, the fact that they are essentially carefully, the team seems to be carefully reinventing the language almost. Right? Reinventing parts of the language every few years. Right? They're really, I feel like they are, that team is led by some of the smartest, most introspective developers that I know. I think they're really, really doing an impressive job on the language. So, yeah, as a guy who's sitting in the C-sharp vehicle, I'm loving the new things that are coming in. Right? That they keep coming in and the pace that they're coming in at.
Shawn_Clabough:
Yeah, we had Mads Torgerson on one of her shows and we talked about the history of C-sharp and where it's going and things like that. So yeah,
Mark_Miller:
You have matches?
Shawn_Clabough:
the pace is really, really picked up. It's almost hard to keep up with what's being implemented and what's new and it's like, okay, do I wanna use that or where do I use it and all that kind of stuff. So
Mark_Miller:
Yeah,
Shawn_Clabough:
the pace
Mark_Miller:
Mads
Shawn_Clabough:
is something.
Mark_Miller:
is amazing. That guy is like, you know, one of the proud I want to say he's the most one of the most underrated developers there. Nobody knows just how good Mads is, but he's better than everybody thinks. That's kind of where it might that's that's my take on Mads. Mads is really brilliant smart and quiet about how brilliant and smart he is, right? Yeah, he's great.
Shawn_Clabough:
So did Code Rush start out as a personal project or was it a company that you were working for at that time?
Mark_Miller:
No, it was, so I had my own company called Eagle Software, and we created two products. One is called the Component Developer Kit, and the other was called, we called it React, but it was a component testing. But they were both focused on creating components, custom UI components for Delphi. And so there were just tools that allowed you to do common things that you do in building components all the time. And then I started looking at this idea and playing with this idea of making it really easy to integrate design patterns with your code. Right. So that you would say, I want to use this design pattern and it would find the parts of your code to kind of hook in. Up to that point, I had not used the editor from Borland. I'd use a third party editor, but I realized that this design patterns tool that I had envisioned was going to really require that you use the editor from Borland. And I was like, which is now in Barcadero, but I was like, yeah, their editor is not good. It's really problematic. In order to lay the foundation for creating this design patterns implementing tool, I'm going to have to first fix the editor and bring it up to speed. And so Code Rush started as an add-on for Delphi. And it was essentially a personal product to bring Borland's Delphi up to speed so I could write code as fast as I could think. Because up to this point, there'd been this distance between ideas and what my fingers are typing out. The ideas would be leading and I would be desperately trying to catch up. with those ideas. So that's how CodeRush started. I never implemented the design patterns tool. I never ultimately implemented it, and it was kind of like a really big idea that was hard to do. But CodeRush, you know, kind of speaks for itself, especially when there's a big discrepancy between the host IDE and what CodeRush can do. And in the beginning, that discrepancy was large. Now, as we're moving forward and you're starting to see AI come in and making suggestions inside Visual Studio, there's areas where Visual Studio is actually getting better than Code Rush in some ways. Where I'm like, I'm like, okay, well, I don't think we're gonna touch that feature, because that's gonna take five people and a lot of time, and Visual Studio's already got a head start, so they got it. You know, that sort of thing. So, yeah, that's how it started. It was basically, I was writing code rush for me and selling it.
Shawn_Clabough:
So has everybody kind of seen previews of Copilot X? You know, kind of what you're talking about there, having chat GPT, right? Right in Visual Studio and being able to, you know, analyze your code and hopefully write all my unit tests for me.
Mark_Miller:
Yeah, I've not seen that. I've seen Co-Pilot and I've seen the stuff built in to Visual Studio, but I haven't seen what I would call beyond that next gen. I've always thought that next gen version comes from, well, maybe two things. One is more training, right? More training, a broader sense of what's happening, and kind of also, I think, a sense of being able to hook in more contextually with the code around. That's kind of where I, you know, that's kind of where I think that's one of the two things for next gen. And then the second component of it is kind of a, I guess what I would describe as a contextual kind of hook. Where you say, I'm going to grab some code and hit a key, and based on what I grab, I want you to infer what I want to do. So it's not just contextually seeing where I'm hitting enter on a line, going down to an empty line, and basing everything on what the line comes before. I want to be able to grab something and say, go for it. And that's a, from my perspective, an open area, an opportunity, I'm expecting the Visual Studio team to figure that out and get there. And I'm not sure if I'm gonna want to actually try and race them to get there. know, on that particular piece. But it is... But from my perspective, that's huge because you can get greater certainty based on what I select when I say go with training. Then I can just by hitting enter on a line and then you guessing what I want to try and do. So anyway, that's kind of, you know, future of what's coming. But yeah, the... We actually played with CodeRush this idea of writing test cases for you. And we put some effort in there, no AI effort in it. But we were doing things, and I forget exactly what it was, but it was something in the effect of while you were debugging, stepping through the code, seeing the values that were coming in to a method and then saying, I want to build a test case with these values coming into this method right now. And so it would take those values, it was right, you would create the test case for you. It wouldn't change the code yet because it can't, because you're debugging, right? And so it would store all that. And then when you stopped debugging, it would generate all the methods for you that you would create it during the time. And it was kind of okay. It wasn't brilliant, you know what I mean? But it was kind of okay, but it was certainly better, it was better than having to go do that all yourself. You know, so it's kind of a, you really. You know, getting a good feature is hard. You know, and a good feature, you know, what I mean by good feature, a good feature that is universally providing value. You know, no harm to anyone, universally providing value, easy to use, generally accepted as, yes, this is the right way to do things now, and it didn't exist before, right? An innovative new feature that's hard to do. And this... description of what we tried to do with the You know building the test cases for you is kind of like a it's like a poke Into the box of just a let's poke a stick in the box and see if we can get close to Something that's useful and we kind of do it and we come back and we say okay. What's going to be useful is Something much harder to make than what we tried to do and so we just kind of left it there We just kind of said, okay. Well we'll kind of just leave that and we're not going to push too hard in that space. But sometimes, like, I just finished creating a feature, and I should say too, by the way, that CodeRush is free. It's not, so I'm not promoting anything right now other than the work, right? But we created a feature for jumping to any point on screen in the fewest keystrokes possible. And essentially, you can get anywhere on screen in about three or four keystrokes. And we looked at this problem so hard that we created... The feature is called Jum Codes and what it does by the way is you hit a shortcut and over every token on screen it will put a one or two character code. Maybe three if you have a really tiny font or something like that. But it will put codes up there. But we looked at keyboard layouts for QWERTY, Dvorak and Colmap. And when we put the jump codes up, we make it so that the pieces you're likely to hit to go to, for example, the first token on every line, it's only one, generally only one shortcut away. And that line token, that first one, is first of all, we're going to use all the keys on the home key first, on the home row first. So you don't have to move your fingers up one row or down one row to get to it, right? And so we looked really, really hard at that problem, to the point that we said, we're going to need an option that says, what keyboard layout do you have, Cordy, Dvorak, or Comac? Because it's so important to us. We're in this land of what my wife likes to call diminishing returns, where you work really hard for just the smallest incremental benefit. But the end result on this whole thing is you get a feature that's kind of you nod your head when you realize how hard it's the features working to make it easier for you to get there. That sort of thing, right? And that's kind of, to me, right, I like, that's in contrast to the test case thing where we had this big idea, we put a stab out there, we tried to do it, and we came back and said, okay, you know, it's going to take a lot more work, and then we can have this maybe little idea, but we put a lot of effort into it. And we come back and we nod our heads and we say, this is it. We've kind of come up with the fastest, most efficient way to move anywhere, in your code, that you can see, any place that you can
Adam_Furmanek:
I'm
Mark_Miller:
see.
Adam_Furmanek:
just waiting for
Mark_Miller:
So
Adam_Furmanek:
the
Mark_Miller:
it's not
Adam_Furmanek:
days
Mark_Miller:
bad. I
Adam_Furmanek:
when
Mark_Miller:
mean, up until we start
Adam_Furmanek:
we'll
Mark_Miller:
using
Adam_Furmanek:
be able to
Mark_Miller:
vision
Adam_Furmanek:
plug Chatt
Mark_Miller:
tracking,
Adam_Furmanek:
GPT or CopilotX
Mark_Miller:
which is also
Adam_Furmanek:
or
Mark_Miller:
another
Adam_Furmanek:
whatever
Mark_Miller:
thing that
Adam_Furmanek:
into like company's wiki
Mark_Miller:
I'm playing
Adam_Furmanek:
confluence
Mark_Miller:
with in my mind.
Adam_Furmanek:
and whatever
Mark_Miller:
How do I
Adam_Furmanek:
knowledge
Mark_Miller:
get there just
Adam_Furmanek:
base
Mark_Miller:
by
Adam_Furmanek:
we
Mark_Miller:
looking
Adam_Furmanek:
have,
Mark_Miller:
at it?
Adam_Furmanek:
so that finally
Mark_Miller:
Reliably,
Adam_Furmanek:
all the internal
Mark_Miller:
accurately
Adam_Furmanek:
search
Mark_Miller:
to the
Adam_Furmanek:
engines
Mark_Miller:
character.
Adam_Furmanek:
will
Mark_Miller:
Right, when vision
Adam_Furmanek:
become
Mark_Miller:
gaze
Adam_Furmanek:
obsolete.
Mark_Miller:
tracking software
Adam_Furmanek:
And I'll just ask
Mark_Miller:
is
Adam_Furmanek:
the bot,
Mark_Miller:
not that
Adam_Furmanek:
hey,
Mark_Miller:
accurate,
Adam_Furmanek:
how do I do
Mark_Miller:
right?
Adam_Furmanek:
that?
Mark_Miller:
How do you make it
Adam_Furmanek:
And
Mark_Miller:
more
Adam_Furmanek:
it will
Mark_Miller:
accurate,
Adam_Furmanek:
be always up to date
Mark_Miller:
right?
Adam_Furmanek:
with all
Mark_Miller:
But
Adam_Furmanek:
the
Mark_Miller:
these
Adam_Furmanek:
documentation,
Mark_Miller:
kinds of problems
Adam_Furmanek:
all the
Mark_Miller:
I
Adam_Furmanek:
code,
Mark_Miller:
love.
Adam_Furmanek:
everything
Mark_Miller:
I
Adam_Furmanek:
else.
Mark_Miller:
love being
Adam_Furmanek:
That's
Mark_Miller:
in the space
Adam_Furmanek:
going to be
Mark_Miller:
where
Adam_Furmanek:
amazing.
Mark_Miller:
we have a problem and the criteria is fastest, least amount of effort,
Adam_Furmanek:
Yeah, let's build
Mark_Miller:
most
Adam_Furmanek:
that.
Mark_Miller:
efficient. What is the answer to that question? What is optimally the most efficient way to get from point A to point B?
Shawn_Clabough:
Yeah, I'll put a link to Copilot X in the show notes so people want to check that out if they haven't seen the preview of it. It's looking pretty cool. All right.
Mark_Miller:
I love it. That's a great idea. Let's build that.
Christian_Wenz:
Yeah, I think for many of the standard tasks, having
Adam_Furmanek:
That could
Christian_Wenz:
one
Adam_Furmanek:
be
Christian_Wenz:
of those
Adam_Furmanek:
like
Christian_Wenz:
systems
Adam_Furmanek:
a modern
Christian_Wenz:
or a similar one
Adam_Furmanek:
rubber duck
Christian_Wenz:
can
Adam_Furmanek:
kind
Christian_Wenz:
be helpful.
Adam_Furmanek:
of thingy
Christian_Wenz:
I mean,
Adam_Furmanek:
that
Christian_Wenz:
that
Adam_Furmanek:
we would
Christian_Wenz:
might always
Adam_Furmanek:
be doing
Christian_Wenz:
be the legal
Adam_Furmanek:
TDD
Christian_Wenz:
issue, right? So
Adam_Furmanek:
with ChatGPT on
Christian_Wenz:
is
Adam_Furmanek:
the side.
Christian_Wenz:
the code
Adam_Furmanek:
I mean,
Christian_Wenz:
that
Adam_Furmanek:
ChatGPT generates
Christian_Wenz:
was generated
Adam_Furmanek:
like
Christian_Wenz:
based
Adam_Furmanek:
next
Christian_Wenz:
on the
Adam_Furmanek:
unit
Christian_Wenz:
previous
Adam_Furmanek:
test.
Christian_Wenz:
knowledge of the
Adam_Furmanek:
Obviously
Christian_Wenz:
system,
Adam_Furmanek:
you run
Christian_Wenz:
is that
Adam_Furmanek:
the code,
Christian_Wenz:
somehow licensed?
Adam_Furmanek:
it's read, and then you follow
Christian_Wenz:
But
Adam_Furmanek:
RGR,
Christian_Wenz:
yeah,
Adam_Furmanek:
you implement
Christian_Wenz:
I mean, just
Adam_Furmanek:
the business
Christian_Wenz:
the test
Adam_Furmanek:
code
Christian_Wenz:
case
Adam_Furmanek:
on
Christian_Wenz:
thing.
Adam_Furmanek:
your own and then
Christian_Wenz:
I love
Adam_Furmanek:
ChatGPT
Christian_Wenz:
the
Adam_Furmanek:
follows with another test for you.
Christian_Wenz:
unit test creation example, If there's probably one thing in development where the number is lower than it should be, at least
Adam_Furmanek:
Yeah!
Christian_Wenz:
in many
Adam_Furmanek:
Code
Christian_Wenz:
projects
Adam_Furmanek:
GPT, Code GPT.
Christian_Wenz:
I look at, it's the amount of unit tests. And depending on the system, it's sometimes trivial, but sometimes really hard to write them. But if that burden is done by some software, maybe even in interactive way, such as a mark laid out, that is just helpful. So for that I'm excited. Yeah, it doesn't necessarily even need to be JetGPT. We could have something that's specific for coding only, right? Who knows?
Mark_Miller:
Okay.
Christian_Wenz:
Go
Mark_Miller:
Guys,
Christian_Wenz:
GPT.
Mark_Miller:
I just realized we're gonna make a million dollars with this idea. We can't let the show get out. We can't publish
Shawn_Clabough:
Hehehe
Mark_Miller:
the show.
Christian_Wenz:
Exactly.
Mark_Miller:
It's...
Christian_Wenz:
So you see it tune in every week, right? It's a million dollars to be made.
Mark_Miller:
Million dollar idea every show.
Shawn_Clabough:
I've always dreamt of a tool where I could just point it at my class. It would detect the interface and it would try every possible combination of inputs into it. and try to break it for me, and then I would say, okay, I get this response from your class. Is that a correct response or not? And if it's not, then you either fix it or tell it that yeah, that's a correct response. So why do I have to write all these different combinations of unit tests if it could just detect it for me, try every character combination, code combination, null, links, all that kind of stuff, and just.
Mark_Miller:
Yeah, I like that. That's super interesting because one of the things that I've found sometimes in doing unit tests is I'll find a bug after I've built unit tests and I've built a feature, and I'll go back to the unit test and I'll realize, oh, I forgot about looking at this particular edge case value to pass in. It's kind of a fundamental idea, right? If I'm gonna expect, expecting numbers, what happens when I pass a negative one in, right? If I'm expecting positive ends. And if I forget to write a test case in that that handles that, then sometimes that can turn into a bug later on. And I kind of like this idea of this artificial intelligence entity going in looking at existing unit test cases and saying, oh, hey, here's a flag situation where you're passing in one, two, and three, but you're not passing in max int or whatever, max value. for or negative one, you're not passing in these kinds of things. Do you want to create those test cases for you? Here they are. Just click Add, and I'll just add them for you if you want.
Shawn_Clabough:
Yeah, because I mean, I know developers, they're writing unit tests just to get unit tests to pass what the known cases are. They're not writing unit tests really. So spending the time to get unit tests for those ed cases or things that might be in and it'll happen that they're not expecting.
Mark_Miller:
Yeah. No, it's hard to do, right? Unit tests are often hard to do, right? Sometimes to facilitate making unit tests, you have to create a more decoupled architecture or an architecture that allows maybe access in ways that weren't intended so I can go validate internal state, for example, right? So unit tests often require more thought, I think, to the architecture. However, I think your architecture is much more solid at the end of that. It's much more likely to release consistent, high quality updates again and again if you have a solid foundation. Right? So it's kind of essential. But the problem is that, you know, nobody... I feel like there's two things that planning teams don't allocate enough time for, and one of them is unit tests, and the second one is discoverability. It's just something that I feel like... we always now have pressure to answer these questions in a limited amount of time. Write these tests, implement discoverability in some way, and we're under pressure. And as a result, I think both of these kind of don't get as much love as needed to create a really high quality product.
Shawn_Clabough:
I concur, I concur. Well, I think we've gone for a good amount of time and I think people have really got to know the new hosts and hope they're gonna enjoy the shows that we've got planned for the future and they'll tune in. So I think we should start wrapping up. All right, so we'll move on to picks. I'll go first so that Christian doesn't steal my pick and.
Christian_Wenz:
Yeah, so we actually we have to explain it. So, so Sean, I were talking prior to recording today's episode and we kind of hinted at each other what our picks were. And it could be that it's the same. So please, Sean, you can go first.
Shawn_Clabough:
Okay, so my pick is gonna be the night agent. I knew it was gonna be that because it's so good. It was so good, you know?
Christian_Wenz:
I had a hard time getting used to the male main character because he's... Well, I don't want to spoil that much. And yeah, I don't want to steal that from you. So yeah, but
Shawn_Clabough:
Well no,
Christian_Wenz:
after
Shawn_Clabough:
I
Christian_Wenz:
I've
Shawn_Clabough:
mean
Christian_Wenz:
accepted
Shawn_Clabough:
it's a dual pick.
Christian_Wenz:
to endure him, I enjoyed the show
Shawn_Clabough:
Yeah, yeah.
Christian_Wenz:
a lot.
Shawn_Clabough:
So just kind of a little bit of background. It's kind of a low level FBI agent that sits at a desk in the bottom of the warehouse and answer the phone in case anything is going to happen. You know, this is all in little previews and and teasers for the show. So not giving anything away. And then, you know, one day the phone rings and he picks it up and then the adventure starts. It kind of reminds me a lot of kind of a Reacher type style of show. those types of things. So, yeah, but you know, we got into it one day and we don't typically binge watch shows, but we binge watched all these shows in two days. And my wife and I, and we both liked it. So we just couldn't, we couldn't stop watching. We wanted to find out what happened. So.
Christian_Wenz:
It was a
Mark_Miller:
one
Christian_Wenz:
good
Mark_Miller:
season
Christian_Wenz:
sh- Yeah.
Mark_Miller:
I'm sorry good
Christian_Wenz:
No, go ahead, you might mark all good.
Mark_Miller:
I'm just gonna ask it's one season you got one season to binge
Shawn_Clabough:
One season,
Mark_Miller:
okay
Shawn_Clabough:
yep. And they've already they've already renewed it for season two because it's so popular
Christian_Wenz:
Yeah. And I think it's, is it eight episodes? So it's really, so it's not an investment you're like in the earlier days when you heard, oh, that's a great new show. Okay, five seasons, every season has 24 to 26 episodes, which, you know, it's just an investment I can't make, right? But yeah, it's eight episodes each episode. I think it's eight. Was it 10?
Shawn_Clabough:
I think
Christian_Wenz:
No,
Shawn_Clabough:
it's
Christian_Wenz:
I thought
Shawn_Clabough:
10,
Christian_Wenz:
it's,
Shawn_Clabough:
10.
Christian_Wenz:
is it 10?
Shawn_Clabough:
I think
Christian_Wenz:
Is
Shawn_Clabough:
it's
Christian_Wenz:
it
Shawn_Clabough:
10.
Christian_Wenz:
10? Okay, then I'm mistaken. Sorry for that, but... Every episode is 45 to 60 minutes, most of them rather 45. So really it's an investment that is doable. But yeah, there will be a second season. So yeah, it was great to watch. And I think it's already in the Netflix top. I think Netflix has the distribution rights worldwide. And I think it's already in the top 10 for English language. shows so highly, highly successful. Yeah, so I would have had that pick, but I have actually a second pick. I think I started doing a few days ago, actually. I started rewatching the first three Indiana Jones movies because the trailer for Indiana Jones 5 came out and it was less strange-worthy than I expected it to be. So I think it could be a real solid movie. I loved the first three and, you know, a while ago I was rewatching From Dusk Till Dawn. And when I watched From Dusk Till Dawn, when it came out, I thought, oh, that's an awesome movie and Salma Hayek is in there. But apart from that, also great movie, great movie. And then I was rewatching it and oh, oh, I wouldn't say unbearable, but It didn't age really well. The Indiana Jones movies, they aged really well. I mean, I think the first two ones were, no, they were all from 1980s, right? 1981, I think was the first one, and then 1984, and then, no, 1989 was the third one. And they aged really well. They are still great movies.
Mark_Miller:
Yeah,
Christian_Wenz:
I have
Mark_Miller:
that's.
Christian_Wenz:
specific thoughts about the fourth one, but let's just skip that one. But the.
Shawn_Clabough:
I can't say that I watch the second one as much I do one and three.
Christian_Wenz:
Yeah, the third one I think is the best one. Because you know, just you know, of the riddle and it always makes me want
Adam_Furmanek:
I have something
Christian_Wenz:
to go to
Adam_Furmanek:
technical,
Christian_Wenz:
Petra and you know,
Adam_Furmanek:
not watching,
Christian_Wenz:
see
Adam_Furmanek:
binge
Christian_Wenz:
where
Adam_Furmanek:
watching
Christian_Wenz:
the climax
Adam_Furmanek:
whatever.
Christian_Wenz:
takes
Adam_Furmanek:
So
Christian_Wenz:
place, right?
Adam_Furmanek:
you probably all
Christian_Wenz:
Yeah,
Adam_Furmanek:
know
Christian_Wenz:
but they
Adam_Furmanek:
FFmpeg
Christian_Wenz:
aged really, really well.
Adam_Furmanek:
software.
Christian_Wenz:
I mean,
Adam_Furmanek:
Super
Christian_Wenz:
did you hear
Adam_Furmanek:
cool,
Christian_Wenz:
that?
Adam_Furmanek:
can
Christian_Wenz:
I think
Adam_Furmanek:
do anything
Christian_Wenz:
in
Adam_Furmanek:
you wish, crop,
Christian_Wenz:
the movie
Adam_Furmanek:
convert,
Christian_Wenz:
you liked the least
Adam_Furmanek:
re-encode,
Christian_Wenz:
of the first three, the Temple
Adam_Furmanek:
speed
Christian_Wenz:
of Doom.
Adam_Furmanek:
things up, slow
Christian_Wenz:
Wasn't
Adam_Furmanek:
them
Christian_Wenz:
that
Adam_Furmanek:
down.
Christian_Wenz:
the
Adam_Furmanek:
But
Christian_Wenz:
movie where
Adam_Furmanek:
do you know how to use parameters? You
Christian_Wenz:
Akihwan
Adam_Furmanek:
can always ask CharsGPT,
Christian_Wenz:
was playing
Adam_Furmanek:
but...
Christian_Wenz:
Shorty
Adam_Furmanek:
If you want
Christian_Wenz:
and
Adam_Furmanek:
to
Christian_Wenz:
he
Adam_Furmanek:
do
Christian_Wenz:
now
Adam_Furmanek:
it like
Christian_Wenz:
won
Adam_Furmanek:
in a nice
Christian_Wenz:
the Academy Award
Adam_Furmanek:
UI
Christian_Wenz:
for
Adam_Furmanek:
way,
Christian_Wenz:
Best
Adam_Furmanek:
there
Christian_Wenz:
Supporting
Adam_Furmanek:
is a thing
Christian_Wenz:
Actor
Adam_Furmanek:
which
Christian_Wenz:
this
Adam_Furmanek:
is
Christian_Wenz:
year?
Adam_Furmanek:
called,
Christian_Wenz:
Like
Adam_Furmanek:
it comes
Christian_Wenz:
40
Adam_Furmanek:
from Pazera
Christian_Wenz:
years later.
Adam_Furmanek:
software, which
Christian_Wenz:
That's
Adam_Furmanek:
is called
Christian_Wenz:
pretty
Adam_Furmanek:
free
Christian_Wenz:
amazing.
Adam_Furmanek:
audio video pack. It is like kind of a set
Christian_Wenz:
Yeah, yeah,
Adam_Furmanek:
of
Christian_Wenz:
that's correct.
Adam_Furmanek:
very
Christian_Wenz:
That's correct.
Adam_Furmanek:
thin
Christian_Wenz:
Yeah,
Adam_Furmanek:
UIs
Christian_Wenz:
so my pick
Adam_Furmanek:
on top
Christian_Wenz:
would
Adam_Furmanek:
of
Christian_Wenz:
be
Adam_Furmanek:
FM pack
Christian_Wenz:
rewatch
Adam_Furmanek:
that allows
Christian_Wenz:
Indiana
Adam_Furmanek:
you
Christian_Wenz:
Jones so
Adam_Furmanek:
to
Christian_Wenz:
that you
Adam_Furmanek:
pick
Christian_Wenz:
have
Adam_Furmanek:
your
Christian_Wenz:
all the backgrounds
Adam_Furmanek:
settings
Christian_Wenz:
and understand,
Adam_Furmanek:
and coding,
Christian_Wenz:
you know,
Adam_Furmanek:
et cetera, et cetera.
Christian_Wenz:
all of the cameos
Adam_Furmanek:
And under the
Christian_Wenz:
and
Adam_Furmanek:
hood,
Christian_Wenz:
whatever
Adam_Furmanek:
it just
Christian_Wenz:
they plan
Adam_Furmanek:
causes an FM
Christian_Wenz:
for
Adam_Furmanek:
pack
Christian_Wenz:
Indiana
Adam_Furmanek:
with
Christian_Wenz:
Jones
Adam_Furmanek:
all
Christian_Wenz:
5,
Adam_Furmanek:
the parameters
Christian_Wenz:
which I
Adam_Furmanek:
you
Christian_Wenz:
think
Adam_Furmanek:
have. You can
Christian_Wenz:
has
Adam_Furmanek:
also
Christian_Wenz:
a worldwide
Adam_Furmanek:
see the
Christian_Wenz:
release
Adam_Furmanek:
command line.
Christian_Wenz:
end
Adam_Furmanek:
So
Christian_Wenz:
of June
Adam_Furmanek:
it allows
Christian_Wenz:
2023.
Adam_Furmanek:
you to quickly convert whatever you need, however you need, et cetera, et cetera. I use it pretty often with like OBS. So whenever I record a video with OBS to FOV extension or format, then I can easily convert it with this thingy, merge with whatever else, et cetera, et cetera. So I recommend that works for me, hopefully it will work for you as well.
Shawn_Clabough:
Okay. All right, Mark, what's your pick?
Mark_Miller:
Well, my pick's gonna be hard for you kids to get to, I think. But I'll tell you, the best thing I've seen in probably the last two weeks was Hamilton in London at the West End. Victoria Palace is where they're playing. There were probably at least five actors, six actors in there, that each one of them could have held their own as a lead. in their own play. They could have done it. There were outstanding actors, incredible voices. I've seen Hamilton and heard the soundtrack. I've heard the soundtrack and seen Hamilton on Disney, the recorded version of it, many times. But seeing it in person, there was a higher level of comprehension, understanding what was happening, a deeper appreciation for the choreography, especially using the. the spinning circle in the middle really well done. It was the best thing I've seen. We recently I think it was just last weekend. We were over Easter weekend. We were in London. We'd seen four different shows. Hamilton stood out far and above all the other shows that were there. It was so good. So good. I strongly if you have a chance to see it live, I strongly recommend seeing it. Also the lead. I think he was better than Lin-Manuel Miranda in a number of ways. Lin-Manuel was great because he wrote it himself and he kind of owned it, but this lead that they had in London was incredible. Really well done.
Christian_Wenz:
Plus in London I think it's easier to get tickets, right? So I think
Mark_Miller:
Yes.
Christian_Wenz:
on Broadway it's still really tough or you have dynamic pricing and can pay up to four digits.
Mark_Miller:
Yikes. Yeah, that was not the situation in London.
Christian_Wenz:
Yeah.
Mark_Miller:
In London, we bought our tickets, I think about at least a month and a half in advance. So it was not, and when I tried to get in, we had tried to get tickets to Hamilton in New York City, and that just wasn't happening
Christian_Wenz:
Yeah.
Mark_Miller:
without, they were like a year away or something. That's how crazy it was. But it's
Christian_Wenz:
still
Mark_Miller:
really,
Christian_Wenz:
is.
Mark_Miller:
really well done. I appreciated it. My brain was lighting up. because the lyrics are coming so fast, really, really loving what they were doing there. Yeah. Yeah, my wife wants to take me to that. She wants me to go
Adam_Furmanek:
Thank
Mark_Miller:
to that.
Adam_Furmanek:
you.
Mark_Miller:
I'm just like, that
Adam_Furmanek:
It was a pleasure
Mark_Miller:
seems so
Adam_Furmanek:
to be here.
Mark_Miller:
boring to me. They're singing so slowly. I need a rap, Karen. I need a rap. That's what I tell her, but you know, I don't know. Hopefully she's not gonna be all like hearing what you just said, John. And she's gonna be like, they're closing. We gotta go, Mark. Like, oh God. Okay, that's a relief then. I guess we can't go.
Shawn_Clabough:
Alright, thanks guys. If our listeners have questions they want to reach out to the show, give us feedback, have suggestions of shows, things like that, they can reach me on Twitter I am at dot net superhero. Any last comments or that? Yep. Great. Stay tuned guys, and we'll catch everybody else on the next episode of AdventuresIn.net.