Embedded - 164: Heatsink in a Shoebox (Repeat)
Episode Date: November 30, 2018Christopher White resurrects an Apple ][+ with his brother Matthew White. This is a show about the software Christopher and Matthew wrote when they were kids and the hardware they wrote it on. Matthe...w's favorite fictional robot (we should have asked): Venus Probe from Six Million Dollar Man. We did ask about his favorite fictional computer and there is a video for that too. Apple ][+ Wiki Timex Sinclair Z81 Wiki Eric Schlaepfer's Monster 6502 Grant's 6502 Computer Kerbal Space Program for the Apple ][ Elecia got to $42 in Lemonade Stand by the end of the show Matthew's Nebula Wars and Eye of Eternal Death BASIC games circa 1982 and 1981 respectively. If you feel like it, you can try out an Apple ][ in your web browser, with tons of disks available at the Internet Archive or in a Javascript Emulator. Elecia's book is Making Embedded Systems.
Transcript
Discussion (0)
Welcome to Embedded. I'm Elysee White. I'm here with Christopher White. This week, we
had planned to talk amongst ourselves, generally about listener questions, as I've been a poor
correspondent lately. However, I kept adding questions about Christopher's latest hobby
project, and then wondered if his partner in crime and brother, Matthew
Waite, would like to contribute.
And here we are.
It's going to be a show about the software Chris wrote when he was six and the hardware
he wrote it on.
Probably mostly about the software Matthew wrote when I was six.
Hi, Matthew.
Hello.
Now, before we get properly started, I do want to answer one listener question.
This one's from Jason.
I'm going to read it out. Hi guys, been listening to your show since May and it's always great.
Okay, this is me. I love that. Thank you, Jason. You're very good about explaining concepts that
are new to some people. I'm starting my first post-college job as a software engineer doing
embedded work. Are there any books for embedded that are a must-haves?
For instance, object-oriented programmers
always have a copy of Design Patterns by GOF.
Are there equally important books for embedded software design?
Your podcast is great.
How should we answer him?
You can just plug your own book.
I think that's totally appropriate.
Okay, so Jason, I wrote a book.
Shockingly, it's called Making's called making embedded systems which is what
this podcast used to be called i guess it was more on the nose then and um yeah design patterns for
great software is the subtitle so i think the whole design patterns is part of it and it's for
hardware engineers looking to write software that's more reusable that's better and for software for software engineers, looking to write things closer to the hardware, exactly what you're doing.
And so I think, yeah, you should buy my book, maybe.
If you like the podcast and how I explain things.
Yeah.
Okay.
Matthew.
Hi, Matthew.
Hello.
It's good to talk to you. Thank you for being on the show.
Likewise. My pleasure.
Other than knowing Chris for all his life, could you tell us about yourself?
Well, I teach math during the day, and I play guitar in clubs and bars at night. That's pretty much my life.
Pretty standard.
Yeah, truly.
You are a professor of mathematics at Cal Poly San Luis Obispo, right?
Yes, that's correct.
So it's teaching some math.
Yeah, actually, I mean, you know, it's mostly, most of our teaching load is calculus.
But, you know, in a typical quarter, I'll have two calculus classes to teach and then one
upper division or graduate course. Yeah, it's three classes a day, four days a week, which is
a heavy teaching load for a university, but I don't think it's that bad. And that's kind of the
job. And at night, you play guitar. How many nights a week do you play guitar? Well, with the band I'm playing with right now, a band called Rumble,
it's anywhere from three to five nights a week. I mean, it's been kind of crazy. And
for the last two weeks, I've kind of had a miniature vacation from it, which
maybe later I'll tell you about because it kind of drove me crazy to have a vacation.
But coming up in a week or two, I just go back about because it kind of drove me crazy to have a vacation. But coming up in a week
or two, I just go back to this killer schedule of playing guitar till two in the morning and then
getting up early and going in and teaching math almost as early. Yeah, so it's a lot of nights
a week, but it's good. And you were the guitarist and frontman and sometime singer of Ballistic Hats.
Yeah, that's right. That was our original Roots Rock, rock and roll school, Link Wray style band that we had. And actually, if we're plugging things, Ballistic Hats has a gig on August 20th. So if you're in San Luis Obispo, we're up at the poorhouse. Come see us. But yeah, that was more of an art band.
The band I'm in now is a cover band.
And
so the disadvantage
to a cover band is you play cover songs, but
the advantage is you get to play all the time
because that's what people want.
But yeah.
Okay. All that aside,
we're going to do Lightning Round
where we ask you short questions and hope you give us short answers.
And sometimes if we are behaving properly, we won't ask you for why or how or more information.
Very good.
Christopher?
Rebels or empire?
Empire.
Favorite physical constant?
E. Beer or constant? E.
Beer or wine?
Beer.
That's easy.
Science, technology, engineering, or math?
Math.
Favorite fictional computer?
The one that was on Wonder Woman in the 70s. Oh, my God.
I can't remember its name, but it looked like this toy we had where
you could put these little plastic lights of different colors in and make patterns on them.
It was basically just a box with lights on it. Light bright. Thank you. Yeah. It looked like
a light bright. In fact, I think I kind of made a fake version of it out of the light bright that
we had. Yeah. That's my favorite computer. Yeah. Country or Western?
Western. What do you listen to on your commute?
I don't. In fact, if you play music live a whole lot, I kind of enjoy just utter silence in the car.
So I don't listen much at all when I drive.
Least favorite planet?
Most favorite?
Least favorite.
Least favorite is Mercury.
Yeah, that right on the top.
Clearly we know what Matthew thinks about when he's in the silence of his car.
Beach or mountains?
Beach.
Favorite guitar or pedal?
Both.
I'm going to ask him both.
Oh, okay.
So favorite guitar and favorite pedal.
Yeah. both i'm gonna ask him both oh okay favorite guitar and favorite pedal yeah um my favorite
pedal is an mxr clean boost of all things which is kind of inside baseball favorite guitar is a
lot harder um because it just depends on when you ask me that as of today right now it's my
nashville 6120-1960 again because it saved my life at a wedding last week.
But ask me again in a week, and I'll have some other opinions. It saved his life because there was a flash flood, and it was big enough that he could row it.
Yeah, and actually, if you use the Bigsby the right way, it kind of works like a paddle wheel.
What kind of a mic are you using?
Right now?
Yeah.
KSM32, sure.
All right, all right.
Well, let's get to the point of this show.
Wait, has that ever happened before?
A couple of weeks ago, Matthew, you brought Christopher something because, you know, along with a whole bunch of our old five and a quarter inch disks of programs that we had written back in early 80s.
Sometimes the late 70s.
Yeah, I guess that's probably true.
It's hard for me to remember that far back, but yeah.
And Chris, what did you do with said Apple II Plus?
Well, the goal was to recover some of that stuff
because it's kind of a bizarre little time capsule
of what we were doing when we were kids.
And so I spent a lot of time trying to get it working
and then even more time trying to get the data off the old disks
and look at some of those very old programs that both of us had written,
which is a very strange experience.
I mean, it's, you know, everybody digs up old pictures they drew as a kid or something.
The story I wrote in middle school about something.
Somehow computer programs, I don't know,
maybe it's because we all continue to use computers our whole lives.
Seeing the earliest examples of us interacting with them
is really a strange experience.
So it had a lot of problems.
It had a bad RAM, which took some time to figure out.
How did you determine the RAM was bad?
Well, it kept having errors when I was downloading,
so back up a little bit.
So old computers don't have a lot of interface ports
like modern computers.
They don't have serial ports.
They don't have parallel ports necessarily.
They don't have just about anything except floppy drives,
and floppy drives are very old,
so they may not be working right.
So I found some software called adt pro which is apple data transfer pro i think it's a program somebody put together and basically its job is to download a little bootstrap program so
you can transfer data on off and on and it'll do it through various ways and the only way i had available was through the cassette port and old computers of this vintage used to have little audio output ports that went
to a tape deck a cassette tape deck and you would save and load programs off the cassette tapes which
almost never worked on the actual computers if anybody remembers there are people out there going what is a cassette tape
yeah well you know that's you google it
so yeah this this program would actually take the output of a mac that the audio output into the
tape cassette input of the apple and it was super reliable because it was no longer talking over
cassette tape it was you know digital audio straight through so that that actually worked but once i got the program downloaded all kinds of
things were going wrong and so i started downloading data and looking again comparing
in an emulator what the data should look like in ram versus what i was getting and then i figured
out that only one bit was getting changed and And then I did a bunch of research
on how the RAM worked on the Apple II,
and it turns out each chip is responsible for one bit.
That's so crazy.
Of a byte.
So I found which one it was and replaced it,
and all that stuff worked.
That was a long story.
No, no, that was good.
Gave me time to go over and get your set of diskettes.
Which are actual floppies.
I mean, it's been a long time since
that floppy symbol in in the save programs actually involved floppies
so um yeah so these discs there's a variety of stuff in it and i had forgotten how much you
had done matthew because there were all these weird things you did. Yeah. I spent too much time on that thing.
Well, what is Global Software Program Maker?
I have no idea.
I think I had this notion when I was a kid that I was going to make a program that wrote
programs.
Well, it's funny because you have another one here that's Global Software Presents Machine
Language Disk.
Yes.
So, clearly Global Software was your first company.
I was five.
It's not even spelled correctly.
No, no, it's not.
Yeah, we both had software companies.
It was just what we did because, you know, you would get these professional, quote-unquote,
disks from companies like Muse Software, which published Silas Warner's original Castle Wolfenstein,
or Broderbund Software, and they made Alien Rain. And it all looked very professional.
And I think the Alien Rain disc, Christopher, actually said on it, machine language, 48k.
That was like, they actually told you what they wrote the program in, so you'd be impressed.
And then they copy protected it.
So you couldn't read it anyway.
And so I think we, we looked at that and said, Hey, we're going to do that too.
And yeah, we, I think I was.
It all seems so possible and easy.
Well, except it wasn't.
Except it wasn't.
Yeah.
It was tractable somehow.
Well, that computer and people who use computers today probably would be flabbergasted by this, but that computer came with a full set of paper manuals.
If I recall correctly, the complete schematics.
Yes, that's correct.
In fact, I have the original books here, and you do.
It has a complete fold-out schematic of the entire machine.
And a significant portion of the entire machine and a significant
portion of the the code the operating system code yep that's right the rom is all disassembled
and if you think about apple today and and apple you know 35 years ago and saying well
you know do you know that apple's first computer came with was basically open source
and people would wouldn't believe you but it was because there was no other
way to learn either i mean they had a bootstrapping problem right it's like how do we get people to
learn to to use this thing they've never seen this before and so matthew how did you learn to use it
did you actually sit down and read the manual or did you play games and then decide you wanted to
go further what it was weird so um I'll back up just a little bit.
Christopher, I don't know if you'll remember this,
but when we got the computer,
we lived in this kind of larger 1970s style track house.
And it was one of these floor plans they designed back then
where there was this kind of pretentious little bar
for you to sit at, you know?
And in there was where my dad's stereo was
and we weren't allowed to go jumping around there or whatever. But I mean, my parents didn't use it for a bar.
But one day my dad brought us both down there and the Apple II was in there in boxes.
I remember this.
Very sophisticated boxes. And he says, well, this is a computer and someday
you will learn to use it. And someday maybe you will learn to program it.
And, you know, he just kind of stared at it for a minute and said, okay, whatever.
And then what happened was, you know, he set the whole thing up, you know.
And that was in the days when you had to ground yourself really carefully when you put your interface card in.
You had to do it yourself.
You still have to ground yourself.
People are constantly reminding me that I still have to ground myself.
Okay, well, maybe I'm just sloppy when i deal with electronics um we had to it the original one came with a 13
sector versus the then the then modern 16 sector dosk we had to replace the proms for that uh
anyway he did all that set it all up and then i think the first thing i played was lemonade stand
yeah god yes you and i know about lemonade stand yeah so i played that and i said god i got to figure out how to make this work and so then i just started i started programming from there Yeah, in the very early 1980s.
I mean, you had those books.
And if you wanted to get another book, well, you'd have to get your mom to give you a ride up to the one store in Orange County that carried any better computer books.
And then you'd have to ask them very nicely to buy it for you.
And it cost $25, which is a lot of money then.
And they may or may not do that.
It's very hard to get information.
So that's both a good thing and a bad thing because,
well, it's bad because you can't just learn stuff fast,
but it's good because you can experiment and try to figure out how to do things
by reading code that you can get.
Or I guess the other thing was, is I didn't know anybody else who programmed.
I mean, there was one other kid in the school
who had a TRS-80 Model 1,
which was a very different system, obviously.
And we didn't talk a whole lot,
but none of the adults had computers.
Nobody knew anything about it.
So it was hard to figure things out,
but that made it kind of fun.
So yeah, I don't know how,
I really don't know how we learned after that, Christopher. So yeah, I don't know how, I really don't know how we, we learned after that,
Christopher.
I mean,
I don't know what you remember,
but it seemed like we spent a lot of time experimenting.
Honestly,
there was a lot of experimenting.
There was,
there were a lot of magazines besides the books.
I remember getting magazines and the magazines would sometimes have listings.
That was the way you got a lot of software was you had to type it in,
but that came like once a month or something.
Uh huh.
Yeah.
And it was so hard. I remember, and that's probably how I learned to type it in. But that came like once a month or something. Uh-huh. Yeah. And it was so hard.
I remember,
and that's probably
how I learned to type
is just typing
these dumb programs
in from magazines
and copying them.
So wait,
you actually learned
to type correctly?
Probably mostly correctly.
Oh,
because I just still
do use two fingers
and I learned that
on the Apple.
It works great.
Type or shark.
Type or shark
is the best thing.
Yeah,
but that's modern. Yeah yeah but it teaches you to um
yeah typing stuff in from listings and then uh you know in those early days i don't really
remember i guess there were a lot of example programs that came with the dos discs um and
then there was the books but other than that that, I remember, you know, you said convincing our parents to buy us books.
I remember browbeating mom to buy me a $12 introduction
to microcomputer graphics, which I still have.
It's upstairs.
And it was, you know, $12 in 1980 was,
I don't know what it is now, but probably $30 or $40.
Well, and it has matrix math in it
and some pretty complex ideas.
Yeah, it was way, it was way,
it was pointlessly over my head,
but there were some things that I could do,
but,
but it was stuff like that.
I want to come back to,
to the schematic thing for a second,
but before that,
you mentioned dad setting it up and then us using it.
I think you kind of left out the part where he was kind of,
there's no way your dad would have left you alone to use it.
Right.
Oh, I was not allowed to touch disks, you know,
because you might accidentally touch the exposed region
where the read head goes.
Eventually, I got my own disk that I could use.
And I don't know what the rules were for you, Matthew, but...
It's the same idea.
What I wanted at some point was we had two disk drives.
So we were, I mean, it's truly a luxurious Apple.
You got to give them credit.
Oh, yeah.
No, I think that whole thing was...
It was the top of the line Apple II, and that was a flagship machine in that era.
You talk about 12 bucks being a lot, try 2,500.
Yeah.
I mean, that's a huge amount of money in the era.
That was a car.
Yeah, basically.
Oh, yeah.
In fact, Cal Worthington could have sold you a car for a lot less than that matter i saw him on tv trying to do that every day sure um
but uh well what i wanted to do was make the second drive work and i needed a second disc
for that and i mean i he was he you know and i gotta give my dad a break because you know basically
i and this probably you know was partly what happened to you. I'm a crackpot, and whatever idea I'm having, two-thirds of the time, it's completely nuts.
And see, that's one of those cases, Alicia, where I don't cuss even though I kind of want to.
Anyway, so I wanted a second disc.
I took a long time before he would give me a second five-and-a-quarter-inch disc so i could at least figure out how to make
the second drive work uh and he was very suspicious what do you want that for what you don't need that
for what do you want that for you don't need that um and uh later on i actually hooked up the cassette
tape recorder to it also because i wanted to know how that worked and he was furious and really i
remember playing with that and it must have been after he really was against it he didn't want me
doing it.
And he was like, well, that thing's going to send it a bad signal or something.
It was truly hilarious.
He was very conservative.
But he actually did let us do whatever we wanted after a while.
Yeah.
I mean, he relaxed.
Well, you know, it's that first phase of this thing is really, you know, none of us understand it.
None of us understand how fragile it is and it's
incredibly expensive yeah and it turns out having brought it back to life these things are not that
fragile no i mean apparently not it's still works for the most part one of the disk drives still
works the i mean apart from one ram chip everything else it's i'm just amazed that something that has
sat for so long well this was a RAM chip that was replaced early on.
Yeah, a whole bunch of the RAM was replaced early on.
Yeah, we had a bad RAM at one point.
That was when you took it to one of these random shops that they had.
I think it was called the Wabash Apple.
Yeah.
Wabash?
Yeah, it was the big dealership.
I mean, you went to a computer dealer the way you went to a car dealer back then.
Given the prices, that sort of makes some sense.
Chris, you were going to say more about schematics.
Oh, I was just saying as I was fixing it and rereading stuff that I used to know and looking at the board itself while taking it apart,
the amazing thing about these computers is you can almost visualize how they're built
just looking at them.
I mean, you can't do that with anything today
unless you've got a microscope
and you could decap a chip or something.
Even then, you don't know what you're looking at.
But this is, you know, the board is big.
All the chips are laid out in an array.
There's very few passive components.
You know, there's silkscreen around the RAM section.
It says RAM. Every chip is labeled for the most part, except a few logic things. very few passive components you know the chip there's silkscreen around the ram section says ram
every chip is labeled for the most part except a few logic things so you can actually see okay
well the data goes in here and it goes out here just looking at the computer and it's that's an
incredible educational thing and that was through necessity i mean that's how things were built back
then it wasn't that they were making it that way for any particular reason it's just how things were built back then. It wasn't that they were making it that way for any particular reason. It's just how things were done. But I feel bad for people who have to learn about computers
now because you don't, for the most part, actually see any of that. Even if you have an Arduino,
you may have pins labeled, but they're tiny labels and there's all this other stuff on the board that
you don't know what it does. All the's there. Well, and all the interesting stuff is on the inside of the chip.
Yeah.
Which you don't see.
And even an Arduino is probably a thousand times faster than this computer.
Poor computer.
But you can't replace just a single set of bits of RAM.
In an Arduino?
In an Arduino.
Because it doesn't work like that.
Oh.
Okay, so what games did you two write?
So I haven't got through all of my discs yet, so I'm not even sure.
I think I tried to write some very bad adventure games, text adventure games,
which if looking at the code, I think it's very, you know, printf this,
and then an if statement about go north, west, east, south,
and then, okay, then printf this if you go that way, that kind of thing.
I think I did a lot of graphic stuff
I remember I found some bouncing ball programs
you know
stuff like Arkanoid
but you know more like Pong
with one paddle
I never really successfully wrote
anything of the complexity that Matthew
did I think
well you showed me one of matthew's
program where it said push one two three four to choose things and then the first question was like
who do you want to be like oh god yeah right which one was that that was the adventure that's my
adventure game what was it called the dungeon of death no the eye of eternal death the eye of
eternal the eye of eternal death and that that And if anybody out there listening is going to think of writing that game, that is trademarked, man.
That is mine.
You have to credit me.
This was also, you know, the confluence of Dungeons and Dragons in this computer.
It can't be overlooked.
That's true.
But adventure games, the thing that you might not remember is that we used to, when mom would be shopping at Sprouse Ritz or whatever, they called that five and dime store down there by Thrifty's.
There was a Radio Shack next door, and we used to run in there and mess around with the TRS-80s they had on display that you could play with.
And there were generally adventure games you could play, text-based adventure games like that, was they were real popular on that so i think we
got the idea from doing that and and you know went back and tried to write them on uh and they're
actually they're kind of i mean it's a tricky thing for a kid that doesn't know that much about
computers to do because there's a lot of this you'd have to abstract the map and do it all right
and there's there's actually a lot of data to handle right um you know with all and lots of sentences and other things and i had no idea how to do any of that so i kind of gave up
on the adventure game genre really early uh and when i don't know about if you did more of them
or what i haven't found i know i did stuff but i haven't found a lot of things well then same
machine i mean the the games are a great way to understand state
machines yeah but i i'd never heard that word until probably college that's an example of
learning the other way yeah yeah i think it's interesting i think programming games is a really
good way i mean for for i mean i used to teach a class like this at cal poly during the summer for
um for high school kids and younger.
And what we would do is – what I would do is we'd bring them into a room and there'd be 14 computers there and they would program – they were Macs.
They would program in true BASIC, basically trying to recreate the Apple II environment minus the machine language that you needed for that.
And I'd set them off in pairs writing a game and my older kids would write asteroids with me.
And the younger kids would write Lemon lemonade stand or an adventure game.
And the ostensible purpose was to get them to learn some mathematics because when you
come down to it, that's the thing that's getting you more than anything else when you're trying
to do something like that.
But it's like a sugar pill around the medicine or something.
The kids would get so into it.
And I mean, I would walk out of teaching those classes and it would like I taught an entire quarter class in a day in terms of how much energy had been taken from me.
But it was all worth it.
So I think it's a great thing.
We were really lucky to have that when we were young to just have the opportunity to program anything we wanted.
Well, I got to play one of your games from then and it said choose one two
three four and you know like one was mongo the half elven yeah match and two was yeah anyway
and then it turned out you couldn't choose one two or three four you had to type in the whole name
i know and i just can't imagine
the string copy and compare that that really required when you talk about there's no string
copy no yeah there was no string copy no i didn't know any better see that's what i mean i didn't
really understand variables i didn't understand any of that kind of stuff i think that's actually
one of the very first things i ever tried to program and And I didn't, and I think I listed that.
I don't even think I knew to do multi-statement lines to save myself some memory.
I didn't know any of that stuff.
And yeah, I think if you looked at that code, you'd go, oh my God.
But it was a seventh grader or an eighth grader trying to teach themselves to program.
So, you know, that's my excuse.
But it was truly dumb, if that's what you mean.
I didn't say that it was dumb or bad.
Kind of cute in a dumb way or dumb in a cute way,
whatever,
but.
Done the most difficult way possible.
Yeah.
That's,
yeah,
that's maybe,
that's the best description.
But it was thought out.
It was a story.
It was a,
it was a deep Dungeons and Dragons adventure.
Yeah.
So, why now?
Why are you looking at these things this year?
Because, why did I decide to do this?
I have no idea.
There was something that prompted me.
I can't remember.
I mean, is it just because our house is bigger?
No, there was some particular reason.
Matthew cleaning out his garage?
Well, I mean, the final thing that pushed me to do it was realizing how old it was and the discs weren't going to survive much longer.
It's a shock they survived this long.
Which is proving to be the case. Some of them are not in great shape.
I don't know.
There must have been some sort of nostalgia
trigger that made me do it.
Stranger things.
No, no.
We got it before that.
So, yeah, I was just thinking about it.
I think I must have just been,
maybe I read something.
Probably I was reading about the 6502 for some reason. I seem to remember coming across something.
We saw the monster 6502 that's at the breakout board.
That was what started me thinking about it. Maker Faire built a 6502 out of transistors. Oh my God. And it's,
it's quite large.
It's a,
I don't know,
18 inches by 12 inches.
It's a,
it's a normal size,
full PCB panel.
And he's got LEDs all around it so you can see what it's doing.
And it runs at full speed.
It's incredible.
That is amazing.
But yeah,
I think that got me thinking.
And then,
and then I,
you know,
eventually realized that it was
getting probably not
not getting
better sitting there
no definitely not, not in our garage
so the ultimate goal is to get as much of this data
off and archived as possible so we can
just run it in an emulator because
you can now run an Apple II in your web browser
oh yeah I've already started playing
lemonade stands
it runs on your phone your Android phone or whatever can now run an Apple II in your web browser. Oh yeah, I've already started playing Lemonade Dance.
It runs on your phone, your Android phone or whatever. It's just JavaScript.
That's the one that's the easiest
to use, but there's some more sophisticated ones.
But then, you know,
it just has a time capsule.
Having that stuff and looking through and, okay,
to a certain extent, it's where
did I come from? Because I've been using computers
constantly since then.
And it sort of defined my existence in a lot of ways.
So what did you write?
And have you looked at both the game aspect and the code?
What do you mean by that?
There were many questions there.
What did you write?
I wrote stupid stuff.
My attention span
i'm learning was very short even then so well to be fair there is some age gap between you and
matthew yeah well the big age yeah it's true so matthew you're i haven't got i haven't got the
other computer that i haven't got the other computer that should have more stuff from
when i was pre-teen and teen but um i have lots of little programs where I think I was trying
to figure stuff out.
And you were really actually five or six.
Yeah.
Barely reading, really.
Yeah.
It's true.
Yeah.
I think he was-
Barely reading?
How dare you?
No, I mean, you mentioned that bouncing ball program.
You typed that in by hand from reading it out of the Apple manual.
Yeah.
One of them, yeah.
And you were a little kid.
I mean, yeah, you were you were a little kid i mean yeah
you were five or something i mean who does that at five years old but then i have one disc i have
one disc that's full of assembly language programs that i must have done around that age uh unfortunately
they aren't working i have to figure out why yeah that's so you always have to write so that when
you debug your code 40 years later but you can't with machine language there were no comments you
just entered the op codes and then you saved the ram there's nothing so if you don't understand
what you were doing tough matthew's showing me one thing he'd done he couldn't figure it out
because it had this loop this inner loop and then an outer loop but the inner loop did something
that didn't make any sense it was decrementing a register uselessly well no it's decrementing
a regular register use usefully but the register hadn't been all right right initialized so it was decrementing a register uselessly well no it's decrementing a regular register use
usefully but the register hadn't been all right right initialized so it was like well how do you
and then it was doing a brain a comparative comparative branch afterwards and like this
is insane you you you decrement the y register and then you branch on whether it's zero but you
didn't know what it was to start with that's insane but it works we eventually kind of figured
out it didn't matter the first time the first time it would do however many and the next time through it would be a 255 and then for my
life i could not figure that out now i mean i was way smarter then but whatever okay so chris you've
looked at some of your projects and they were small yeah and you say they were dumb but they
were they were pretty good for five years-year-old. They were pretty darn good. How has your
software engineering and coding style
changed in the intervening
meeting? Not at all. It's basically
the same.
Yeah.
I think most people would agree that there's
not been a lot of improvement.
Well, you do spell the word guesses right now.
That's because it has, you know, auto
correct. Correct.
You don't have to spell anymore.
Thank God for me.
What is the funniest thing you've found so far?
Oh, God.
The funniest thing.
Some of the file names are a little hilarious.
Because when we're learning to type,
we get frustrated with having to type a lot.
So I have several dozen programs that are just
look like the cat walked across the keyboard like asdf asdfg i'm not sure what's going on there
things called even more recent program the whole sentence with five exclamation points which kind
of goes against the whole hating to type thing because there's no auto completion or partial
matches on this old computer you had to type it exactly right the no auto-completion or partial matches on this old computer. You had to type it
exactly right the whole way.
So that was pretty dumb. I'm not sure what that
program does. I haven't looked at it yet.
But it was recent. It was great version control
there. Well, that's the other
thing is a lot of, you could see
trying to do that in some of the
file names. It's like this and then that same
name with some extra letter tacked on
and
yeah, just seeing some of the spelling mistakes and the way file names it's like this and then that same name with some extra letter tacked on and um
yeah just seeing some of the spelling mistakes and the the way we wrote sentences to command
people to do things like giving menu options it was all there's all sort of a weird hokiness about
it well there's there's always the light of nostalgia there what are you planning on doing
next with it i need to get everything off of it so i'm you planning on doing next with it?
I need to get everything off of it.
So I'm going to take one pass with it
in its existing state with all the disks I have,
try to get as many as I can,
and then I'm going to try to repair it further,
which means probably getting the disk drive
working better by calibrating it.
I have some other methods for getting data off it,
serial and Ethernet,
that I'm going to try.
Wait a minute, it can't have had Ethernet.
Not then.
Oh, okay.
There's always people making things now.
Retconning of hardware? That doesn't seem right.
Then after that, I don't know. I think I might take the Ethernet card and put it on the Internet.
I had a lot of stupid ideas for projects um i kind
of wanted to figure out how to make an interface so the really cool thing about this and i've said
it once but i'm going to say it again is you can understand it and because you can understand it
you can see yourself doing all kinds of things like making a custom interface board to go to
something else like christmas lights or i don't know make a spy interface board to go to something else
like Christmas lights
or I don't know,
make a spy interface board
and have it interface to something modern
just because.
Kerbal space program on that computer
would be even better,
especially if you do the green.
Well, I mean, even just the interface,
you can actually run it somewhere else.
I think somebody already did this.
I have to find it,
but I think somebody already did this. It's pretty find it, but I think somebody already did this.
It's pretty cool.
But there's lots of hardware projects,
like just seeing,
you know,
taking a scope to it
and seeing how the signals work
and tracing it all the way through
and understanding it.
Because there's no hope of doing that
for a modern computer
unless you're,
you know,
in a lab somewhere.
I almost want to encourage people,
don't get an Arduino.
Go on eBay,
buy a computer from the early 80s.
Figure it out, learn to program on it.
Because you can do everything.
We did get a listener email this week
with somebody who asked what projects for newbies.
And I think he was expecting me to, say,
use an Arduino to control your washing machine or something.
I don't know.
And my advice there is always find something that amuses you to no end and do that.
Because the amusement value will get you through those baffling points or the simple drudgery of having to clean the RAM chips.
Yeah, they need cleaning.
And I'm highly motivated because I want to recover this stuff before it's gone.
Well, and Matthew is there saying...
Where is it? Where's the next disk? Hey, try this disk.
Yeah, I really, really feel strongly about this because as I work with this,
I'm remembering how I learned and the things I
learned and how applicable they are to embedded systems because, you know, there was assembly
language, there was timing stuff, there was, you know, you had control of all the signals,
you had direct control of the entire computer. You could understand how the video subsystem worked
and, you know, play game. People did all sorts of hacks to it. I mean, some of the video game program writers
did amazing things because
they had nothing. It's like, okay,
we have sound
except all the sound is
you read one location
in memory and that's mapped to click the speaker
once. And they went
from that to speech.
How did
they do that?
That's incredible.
Because they didn't know they couldn't.
And that is, yes, okay, I get that.
And the understandability of it,
and the fact that you're understanding the smallest pieces,
the atomic pieces, and now half the time,
if you are using an Arduino and and a motor controller your program is
only five lines long and your wiring is something you picked up off the internet and sure maybe you
go beyond that but initially it's all lego blocks yeah and there was stuff like that for the apple
and a lot of people i mean there was logo right yeah the turtles yeah and most people didn't need
to do what we did, but we were bored.
No, but you could have fun.
And there was that whole discovery thing, too.
Like, for example, if you loaded Integer Basic into your language card, you got a different version of the monitor than you had with AppleSoft.
And that different version of the monitor, and the monitor, if people don't know, was this built-in thing for directly accessing memory.
It was basically a disassembler.
Basically a disassembler where you could do some data entry.
Well, there was a little miniature assembler in the integer basic version.
So if you were willing to give up being able to deal with floating point arithmetic for a little while, then you got an assembler for free.
No comments and no labels, but that's okay.
And there was all this different stuff that you could find inside the monitor ROM,
little routines that you could run.
And the same thing was true with the DOS.
You could get a book that told you what the locations were.
It was so much fun to find all that stuff and modify it however you saw fit.
So this is a good point to ask you.
So at some point, you went from writing little games and stuff
to really hacking at the system.
I recall you wrote some weird things.
So you wrote this thing to obscure your disks
so that nobody could read them.
Yeah, that was my project in the ninth
grade um and is that the ad thing that's that's dos yeah well i had this whole idea well here's
what it was you you buy the good like i told you you buy alien rain and it says machine language
48k and so the light goes on in your head says okay if i want to write a game that's that good
and actually castle wolfenstein was really the gold standard christopher with the speech
synthesis and everything.
And this is one of the greatest games ever.
And speaking of playing it on an emulator,
I've been playing it for the last couple of days
and I like it just as much as I did in 1981.
It's a little too addicting.
Anyway, long story short was to do that kind of thing,
you had to be good at machine language,
both for speed and for getting access to all this stuff.
So I had built this whole system.
I'd actually written an assembler for myself very badly.
Yes, but most people can't say they've even written a very bad assembler.
Yeah, this one was a gold star.
This one was, he would take the cake for bad, but I had one.
And so this whole system I had built around it.
And then the other thing was, is these games always came with copy protection.
So I just started to think about how you would do that.
And I learned how to make the reset key automatically reboot your disc because that was the thing you could do on an Apple. You could hit reset and it would supposedly put you into basic
right away. But to keep people from pushing reset to list or disassemble their game, they would
remap the reset key to just reboot the disc. So I figured out how to do that. And then I started reading about DOS and I had another book that had a lot of detailed information about it. And I recoded some stuff so
that you couldn't just read the catalog or get information off of it easily. You'd have to
actually know a lot. And I don't know what got me into that, but I, oh, and I made it so that
the hello program could be a binary program instead of an AppleSoft program.
I don't know what got me into that, but it was kind of hacking, I guess.
Well, there was this whole culture, I remember, at school of people passing around disks and cracking them.
So there were, and making disk destroyers.
Which school?
The disk destroyer I made.
That's right.
Yeah.
The school we both went to.
Yeah.
So like elementary and middle.
Elementary and middle high school. both went to. So like elementary and middle. Elementary and middle high school.
So yeah, by a certain point, a lot of people had apples,
and that school had purchased a whole raft of quote-unquote apples.
They were actually Franklins.
Franklins, yeah.
Which were clones of apples that Apple somehow let them do.
No, no, they sued them and shut them down about a year after the school got those computers.
I think. Yeah, and then people were passing around games and figuring out how to crack them and i don't know where they were getting this stuff maybe they had modems back then and
we didn't or something but um but yeah there was this whole culture of breaking copy protection
and making your own copy protection and making things that would destroy people's discs for some
reason yeah and because you because you could directly access,
the way the disk drives work on the Apple II,
Wozniak's genius was to take a lot of the cost out of the disk drives
by pushing it to software.
So disk drives back then had complicated controller hardware.
They had lots of stuff for indexing and figuring out where they were.
And they needed to make a hard disk drive
a floppy disk drive that would cost them a hundred dollars in parts which was unheard of and everybody
thought they were crazy and he said went away for a few months and he figured out okay i'm going to
do all this stuff in software and have minimal electronics to drive the to drive the actual disk head and do all that operation.
So the upside of that is you could do a lot of things to alter how disks were written and read by altering the software that the computer came with.
And of course, you had it all available to you to do that.
So people would make disks that you just couldn't access because the sectors were off a little
bit or because they changed how the disk was laid out
and DOS wouldn't work because it was running something they'd written.
So you could do these incredible things.
That hacker ethic still exists,
but it's much more sophisticated now in doing other stuff.
You're frowning at me.
I'm not.
It's cloudy in Lemonville. Oh, you're playingowning at me i'm not i'm it's cloudy in lemonville oh you're playing lemonade stand
don't worry it'll be sunny soon that's you're paying attention to me oh no she's those those
games they're addictive uh did you really ask your parents to bring you another computer when
they drive across the country i did yes so i the successor, I browbeat them to buy me a
new computer in the late 80s, I think it was. Yeah, it was after I went to college. And this was,
so Apple had a bit of an identity crisis in the 80s. Jobs hated the Apple II after a certain
point and went off to make the Mac. And Wozniak was still, I think, involved in pushing the Apple
II side of things.
And so there was this battle between both sides of the company about which way it was going to go.
So for a while, both kinds of computers were available. And there was one final Apple II
made called the Apple IIgs, which was kind of like a ridiculous Apple II because it
had sound synthesizer chips. It had, you know had megabytes of memory if you wanted.
It had a 16-bit processor instead of 8-bit.
It was much faster, but it could run all the same stuff the old Apple II could.
So the main reason I want that is to get whatever software I wrote for that
and to have a backup machine that I can potentially pull old disk stuff off
if this one doesn't work for some reason.
So, yeah, another project.
And Matthew, you had another computer as well.
A Timex Sinclair...
1000.
Yeah.
So, Clive Clive, I don't know how you say his name, Sinclair.
Clive, I think.
Clive, yeah, okay. He is a British fella, and he tried to make computers that were truly affordable for people.
And so we were talking about how expensive apples were.
So he made a machine called a ZX80, which was followed up by another machine called
the ZX81.
And what they were is they were Z80-based machines
with just four chips on them.
And the British version came with just 1K of RAM.
And they had a membrane keyboard,
and they cost $100,
which was still a lot of money then,
but was a lot cheaper than anything else you could get.
And so they were,
I guess they were manufactured in could get and so they were i
guess they were manufactured in scotland but when they were introduced to the united states
either it might have been a second iteration they were the timex sinclair 1000 instead of the zx81
and they came with 2k of ram built in instead of 1k so um my summer of my eighth grade year i wanted
to what i really wanted was a Z80. I
wanted to program a Z80. Why? Because it was this cool processor. I mean, it acted like a 16-bit
processor, even though it was an 8-bit processor. They were 4 megahertz instead of 1.023 or whatever
the 6502 was. It wasn't because most arcade games in arcades were running Z80s. I didn't know that.
Okay. No, I had there and i'll tell you
what i don't know how you would have found that out then i mean that's probably true i mean i had
no idea what kind of hardware they had in in video game arcades but it all ran really fast and really
smooth everybody knew that anyway i just wanted the z80 so i could learn to do that and i also
just liked the idea of buying my own machine right uh you know dad of course was extremely against it and so the way
this ended up working is my parents were building a house and i got the summer job to go sweep up
all the construction mess earning a couple of dollars an hour to do it so i swept up dirt all
summer and i went when i was about 85 so it's just a few dollars away from being able to buy it
we went over to the house one day
and the painter had his old german shepherd had brought his old german shepherd onto the property
it turned out later this dog had bitten two people before and so mom had said well you're not going
to be allowed to go in there and sweep until the painter's done because i don't want you breathing
the paint fumes okay so we went over there and i'm walking through the hallways to see if the
paint's dry and this german shepherd runs up and bites me. Bit me on the back of the leg and
the front of the leg. Anyway, long story short was about three days later, mom finally said,
well, dad decided it's probably okay if you go ahead and get that computer even though you
haven't earned all the money. So, you know, my dog bite settlement was 15 bucks or whatever um
yeah so i ordered that and uh you know dad would see me programming it because of course it used
a cassette tape and he would say inferior as he walked by um but it wasn't all bad though so
eventually uh the a company called memo tech made uh ram packs for this because it had a single exposed interface jack on the back.
And so I got a 32K RAM pack for it.
And that was cool.
But the problem was the way this machine was made to keep costs down, where your 9-volt power supply went in, it went to a voltage regulator chip.
And the way they cooled that, they just stuck a heat sink on it okay and it was in this tiny little plastic container so
what happened is i'd put my memo pack on there for my 32k ram it would run for about five or six
minutes and then the screen would start filling up full of stuff and it took a i thought it was a bad ram
i kept calling the company trying to figure out what it was they said it was my power supply i
got a two amp power supply it happened even faster um finally what we figured out was happening and
i don't even know how i oh i think i got this from a magazine it was overheating because of that heat
sink yeah so uh dad actually helped me do this we took it apart unsoldered the uh
voltage regulator connected up some 22 gauge wire we put the voltage regulator and its heat sink
in a shoebox and ran the 22 wire back into it and it never overheated again it worked great
um so i heat sinclair had never figured on having 32k attached to it um well i can't remember if
that was s-frame or d-ram on that thing it must have been oh god i don't know well one of the
problems i'm having with the apple is and i you mentioned nine volts going in all this voltage
regular stuff is uh i wanted to do a little bit of fooling around with the RAM chips since I had some spare now and make like a little RAM chip tester with a little microcontroller and just learn how to, you know, bang the signals on the chip to drive it.
The problem is all these old chips have ridiculous power requirements.
Like each RAM chip needs plus five, minus five and 12.
Wow.
And which, you know, is actually hard to come by in the modern era.
Yeah, sure.
Yeah.
I thought maybe a PC power supply would do it, but it turns out they don't have, it didn't have a negative.
My disk supply will do it.
Your disk supply is a boat anchor.
Well, yeah.
Anyway, the thing about the Timex machine that was cool,
there was actually some pretty interesting software you could get for it.
I had an assembler for it,
so I could do a little bit of Z80 assembly language.
That was cool.
But the really neat thing is I had ZX4th.
Now, I don't know if you do know what fourth is.
You guys will know.
Everybody knows.
It's a stack-based language, which for a ninth grader is insane.
I mean, the syntax of that language, I still don't think I understand it.
But I learned to write some little fourth programs.
I mean, we couldn't get that on an Apple easily.
I mean, it's pretty inside baseball stuff, but you could get it for that little machine.
It was a cool machine.
It was fun.
Yeah, I remember that machine
because I always wanted to play it
because it was something different.
And you had it.
So, and it had some different games.
Yeah.
It had a flight simulator.
It had a flight simulator.
I knew you would remember that.
Just stupid.
No, it was fun to land.
Come on.
But it had, I mean,
there was basically no graphics.
It was...
Hey, you could see the lights on the runway. It was a runway and a line for the horizon,
if you were lucky, and that was it. And I remember fighting with that thing because,
as you said, it had the cassette port. And the hit rate for getting the program off the cassette
was probably about 35%. So, I would spend hours trying to get the flight simulator to load it
sometimes. And it just wouldn't work a lot of the time. But yeah, God.
It was very sensitive to volume.
It was, you had to really, really dial in the volume on the tape recorder carefully.
This whole show sounds like we had to walk up both ways, doesn't it?
Well, no, because it was really fun.
I mean.
It's true.
And there was, I mean, there was nothing to compare it to.
No.
Well, as somebody whose main form of computer interaction came from free hours in the library,
yeah, you guys don't really sound like you were under a lot of hardship here.
Oh, no, that's what I was trying to say.
I just, I mean, compared to somebody who's grown up on an iPad.
Oh, my goodness, that would be so different.
Yeah.
You know, it's not even in the same league.
I mean, I set my phone down on the Apple II Plus
when I'm working on it sometimes,
and I just stare at these two things next to each other,
and my brain just kind of shuts down
because it doesn't make any sense.
They aren't even that far apart in years.
They aren't that far apart in how they work.
They still work the same way.
It's just it's scaled up and with additional complexity.
But the fundamentals of how DRAM works, that's the same way. It's just scaled up and with additional complexity. But the fundamentals of how DRAM works, that's
the same. The fundamentals of how a CPU
works, that's the same. That's the thing that's
baffling, is all this persisted.
Even though, I mean,
yeah, it's ridiculously simple and the computer
we have upstairs is probably a billion
times faster and I'm not kidding.
That's the graphics computer that runs the VR system.
Yeah.
It's, you know. Apart from the GPU,
which is a novel architecture to a certain extent,
the rest of it's
all kind of evolved
over the years
in a very step-by-step way.
So iPads are a good thing
to talk about because
it is an easy way to interact with computers.
But it's not the same sort of interaction.
No.
This being able to take it apart and to program.
I mean, you could program Swift on an iPad.
There's no reason why you can't program on an iPad.
Right.
But I don't know that it is causing the same level of both nostalgia-inducing.
I don't think anybody is going to care about iPads in 35 years.
Not the same way, probably.
Not the affection you feel for this computer you have strewn about the room.
It was my friend.
Yeah.
Exactly.
So how do we help people have that interaction so that they go into hardware and software. Yeah.
So first thing we do is have a violent dystopic revolution that undoes the last 35 years of technological development.
And I think we'll be there.
I think it'll be fine.
That's all we need.
No, I think, I mean,
apart from my suggestion of going and buying one of these things,
which you can do. I mean, it from my suggestion of going and buying one of these things, which you can do.
I mean, it's weird.
The market for these is crazy.
Some of them go for a few hundred dollars and some of them are thousands.
Probably depends on how pristine they are.
But you can pick up an old Apple II for probably $100, $200.
Or a Commodore 64, same chip.
Or any of these other things.
TRS-80s.
TRS-80s.
TRS-80s. TRS-80s. TRS-80s.
But if you don't want to do that,
I think you can buy the... I don't know.
I mean, you can do...
I want to say you can do the Arduino
and microcontroller route
because that really is the closest.
Well, Raspberry Pi and BeagleBone
allow you to play with more things.
They allow you to make more games
and to play more games on them.
They're just Linux computers
with additional signals out.
I don't really feel like they're even spiritually close at all.
The way that they're close is that your dad buys one and says,
don't touch it, that's dangerous.
Don't touch it, you'll break it.
Nobody's going to say that about a $5 Raspberry Pi.
Yeah.
That's the other thing.
I mean, Raspberry Pi is $5.
They're disposable. five bucks they're disposable
i think they're a little more than that but yeah there are some oh right the zero came out
yeah okay um okay well let me answer it a kind of roundabout way by saying some of the other
projects that i'm thinking about doing um i promise i will not let him list everything this
time no actually it may just be one.
It may just be one.
One of them is to build a minimal 6502-based computer.
And
you know, from scratch.
And it turns out I found some other people who have done similar things.
It's not that hard.
You can do it in eight chips.
Well, and the 6502 is special because it is
a thoroughly understandable
processor.
Yes.
I mean, the MSP430 from TI is a nice line.
It's pretty simple.
It's not too complex.
But you can't have the whole processor in your head at one time.
How many registers does the MSP430 have?
Exactly.
It has a lot.
I mean, Chris Vack has been writing posts on how to get that working,
and he ended up having to take three weeks to turn on an LED
due to a button press because you have
to start explaining
what's a pull-up resistor
and what's a GPIO
port and how do you change the direction
and the style
and it gets really complicated.
I don't think this is going to make it any easier though because
6502 is an actual microprocessor
it's not a microcontroller.
So it needs all the support hardware.
It needs clocking.
It needs all the weird voltages.
But it's outside, so you can see all that.
Yeah.
Yeah.
Well, it only got like five actual registers in there.
I mean, the only 16-bit register is the program counter, and you won't care about that anyway.
Well, there's only one real register.
Oh, is that right?
Yeah, the accumulator.
The other registers are indexes. Yeah, right.
X and Y.
Your flags
register, and that's it. I think I've explained the
entire processor in the last sentence.
Yeah, pretty much. And it has a very
simple instruction set. Very simple.
But, yeah, I
don't know what to suggest to get the similar feel,
and maybe it's just not possible. You know know but get an emulator and fool around you know get an emulator and play
you know the thing that's going to be hard with this though i mean it there was a certain thing
of it of the particular era it it's not just the machine or its simplicity or its you know
construction brilliance or any of that it was just the era when it was too
because it was so incredibly new for for us i mean nobody had anything like this and all of a sudden
it was here and so there was this whole sense of wonder to it that when everybody's walking around
with a huge computer in their phone now it just doesn't i don't know how you'd recap the spiritual part
of it would be really hard to redo i think um the closest thing i can think of right now is vr
and it's a very small community and the people who are excited about it are super excited about it
yeah um you know people are making really small programs that other people are really enjoying
that are very simple but it's just because the experience is so new and novel
that that's okay.
Oh, you have this little blocky thing
where you throw things around
or you play, you know, Pong.
One of my favorite games I just got is Pong, ping pong.
And you're in like a loft apartment
that's beautifully rendered and you play ping pong.
And it's like, oh, I remember Pong from the 70s
and had a similar feeling,
but now it's perfectly rendered in 3D and it's like oh i remember pong from the 70s and had a similar feeling but now it's
perfectly rendered in you know in 3d and it's a virtual environment there's this very strange
juxtaposition of oh we're at that again but nine billion times more sophisticated yeah i don't know
i think that there's a lot of nostalgia associated with it so it's hard to separate that out but i
do think it's a different kind of education doing it this way, having done it that way,
than what you can do today without really thinking about it and planning how you're going to learn.
You had a lot more experiential learning with this.
I mean, when we first met,
you were always way more willing to touch the hardware than I was.
And most of my learning came from books and theory
and reading about things.
So this was a different path.
I think they're both good paths.
It's just you can have different paths
to getting into engineering.
Although that does bring me back
to one more question from Matthew.
Why aren't you a software engineer?
You know, that's actually a really good question.
Let me tell you.
No, here's how I'm going to answer that.
So, you know, I told you I had to play this wedding a week ago.
And the thing about it, it was about a five-minute gig for me.
Now, it was a terrifying gig because it was you know i'm playing
a girl down the aisle and their parents have spent tens of thousands of dollars whatever
but you you know the young woman very well i know the young woman very well but don't know any of
the other people there and it's this big deal so so i had that gig and but but i didn't have any
other gigs for the until last night uh for the last two weeks
and all last week i was telling my wife god i don't feel well i don't know what's wrong with me
i am you know i think i i'm you know maybe i should go to the doctor i mean my energy levels
down i just i just feel bad what i don't know what's wrong and and i really just didn't physically feel well for like a week. And I couldn't figure out
what it was. And about three minutes into the gig last night, I went, Oh, I know what's wrong.
And basically, I feel great today. I feel awesome. And it's just because I was on stage for two
hours. And so I mean, I think, I think the thing is, whatever you do, it just has to be whoever you are. And the thing that makes you high or makes you feel like yourself. And for me, that ends up being guitar without it being a value judgment on anything else that anybody does. That's just what it is for me. And I don't really feel like I get a lot of choice about it. For other people, it's something else. So I think, you know, I tried a bunch of different careers on the way towards this, obviously. You were a software engineer for a while.
I was a software engineer and it didn't really suit me, you know. And I think the thing is that
the kind of wonder that was there with the Apple II when I was young was never there when I was
working for a company. It just wasn't. It was a job where I sat and worked for
eight hours a day. And now part of that's the era too, because I had to wear a tie and go in
and be there at certain hours. You were an East Coast software engineer.
Yeah, it was not like working for Apple or doing the kind of stuff you two guys do. I mean,
totally different experience. Oh yeah, ours is totally fun all the time.
We cannot contain our excitement about the stuff we do every day. It's literally we have to be told to stop working because we'll just never stop.
Yeah, but you're not wearing a tie.
Oh, I wear all kinds of things. have to wear a tie and you know and i can just remember getting home from from work from doing
that and just just feeling spent you know anyway so it it just didn't work for me in that environment
and and maybe i just didn't do the kind of projects that would have made me happy i don't
know i should have probably been a game programmer if i was going to do that but well you were
working on like simulations of power plants or something yeah i did i did uh simulations for co-generation plants
real exciting stuff um and then i did an instrumentation program for a company that
was making um dat drives back in the very early 90s to try to figure out how to make them proper
control software uh digital audio tape it was like storage backup tapes yeah it was right
right so it was basically a glorified vcr on a miniature scale that you know would would would
actually could store a whole gigabyte on a tape or something which was a big deal back then
as a backup for your hard drive for businesses um so I had very kind of dry stuff, nothing really.
Well, I feel like we'd be remiss if we didn't mention your actual first software engineering job.
Which was that?
Where you wrote the grade database for the school for $5 or something.
No, I got $100.
$100.
And just to explain that error to you, do you know what I did with that $100?
You spent it on, I'm not going to say, because that's probably not safe for family.
Oh, no.
I bought a TRS-80 color computer, too.
16K.
They were on sale that year for $99.
And I went and bought them. How did his profit back in?
Just like I'm doing a lemonade stand. What I wanted to hear is how the school managed to convince somebody to write their entire system for $100.
Okay, well, they didn't offer to pay me.
What happened was –
Oh, my God.
No, no, no.
So, my math teacher that year was a guy named Mr. Bell, and his job was to run to –
My cross-country coach.
So, what they used to do when they did report cards, every teacher had to fill out one of these
in triplicate things by hand for each student with the name, the grade, the semester average,
the effort grade, and the comments.
And so they at some point asked one of the teacher's husbands who taught at UCI to write
them a program to do this on the Apple because they had all these Franklins.
So he wrote one in a weekend. Now, this is a little bit inside baseball too, I guess,
but what he actually did, he didn't put a lot of time or thought into it, I guess, he used what was called a random access text file to store all the student data. And the upshot of that was to access a given student for their grade information required the
disk drive to actually physically access the disk. And so the problem with this was when there's
hundreds of students and it had to keep accessing over and over again, Mr. Bell could not get the
program to print out the school's report cards without the disk physically failing. So what he was doing was copying the disk and running it simultaneously on all 16 of
the school's computers, hoping that just one disk would work.
And he ended up staying up all night.
And so he was complaining to me and I said, well, I can do this.
I'll write you a new program that'll do it right.
And I had no idea what I had bitten off.
And so I said, well, the secret to this is just to load all the students' data into memory at once.
And it never occurred to me to sit down with a calculator and say, how does that work with 48K of RAM?
Anyway, that is what I ended up ultimately doing.
But I mean, it was a huge project for me to figure out how to get it to run.
But it did run but it did
it did run and they used it for five or six years i think maybe longer maybe longer and
eventually they i wasn't there anymore because i was off in college but it took me months to do that
um but uh and so that's one of the that's one of the things i'm hoping you're gonna
recover the rest of yes just so i can I, it was a huge project though.
Yeah.
That was my first job.
Yeah.
I got a hundred bucks for it.
They,
the teachers took up a,
like a collection amongst themselves and gave me a little card,
which I have somewhere.
And I was,
yeah.
I remember when I finished it,
we were going on a ski trip up to mammoth.
I don't know if you'll remember this,
but I, I had finally run correctly. it we were going on a ski trip up to mammoth i don't know if you'll remember this but uh i i
had finally run correctly uh and done like all the semester gpa honor roll computations and all
that correctly like two days before we left on this trip or maybe one day i think i actually
had to go in and help the day before we left. And I think I slept from Southern California all the way to Lone Pine in the back of the car before I finally, I was just so tired because I just never slept.
Because they used to pull me out of class to have me come try to fix whatever thing I'd broken.
I was just, you know, I had no idea what I was doing at all.
How old were you with this?
16.
16.
Oh, the things.
Yes.
So, kids, if you want to see what it was like, go watch War Games.
Oh, yeah.
Would you like to play a game of chess?
All right. I think it is time to get back to our weekend.
And for Christopher to get back to taking discs off of this.
Yeah, come on, man.
I'm waiting for the rest of those.
Chris, do you have any more questions?
Questions?
Comments?
Comments?
Taunts to your brother?
I just, I feel like we've only scratched the surface.
Well, how many hours do you have?
I think you guys should go back to phone for a while and then maybe we'll talk again when you've got some more things off.
Grab some beer and we can sit around and talk all day.
Matthew, do you have any last thoughts you'd like to leave us with?
Yeah, just do what you want.
That's my last thought.
All right.
That's a good one, actually.
That's a really good one.
Our guest has been Matthew White, a guitar player who teaches math during the day.
He's a professor of mathematics at Cal Poly San Luis Obispo, the frontman of the Ballistic Cats, and guitar player for Rumble.
Thank you to Matthew for being here.
Oh, thank you for having me.
And for letting Christopher out of your jail long enough
to write some software.
Come on.
Thank you to Christopher for producing and co-hosting.
And of course, thank you for listening.
Hit the contact link or email us, show at embedded.fm
if you'd like to say hello.
Now, as usual, I have a final thought to leave you with. Actually, I have three here that I have to choose between,
and they're all really good. Ah, let's go with Mark Twain from Puddenhead Wilson. So this is a
real Mark Twain quote. Adam was but human. This explains it all. He did not want the apple for
the apple's sake. He wanted it only because it was forbidden. The mistake was in not forbidding the serpent.
Then he would have eaten the serpent.
Embedded FM is an independently produced radio show that focuses on the many aspects of engineering.
It is a production of Logical Elegance, an embedded software consulting company in California.
If there are advertisements in the show,
we did not put them there
and do not receive any revenue from them.
At this time, our sole sponsor remains Logical Elegance.