Embedded - 373: Docker! Docker! Docker!
Episode Date: May 13, 2021It’s another Elecia and Chris episode and this time we cover handling hourly work when the task doesn’t neatly divide into hours, using Docker (and Conda and Virtualenv) for development, growing t...he podcast, overdoing conference talks, and trying to find a new laptop. Phew! The Embedded Online Conference is coming up the week of May 17th 2021, and Elecia’s talk will be Buried Treasure and Map Files (Note: the coupon code is still valid and mentioned early in the episode. Elecia will also put up a copy of her talk on YouTube after some time.)
Transcript
Discussion (0)
Hello and welcome to Embedded. I am Elysia White here with Christopher White. This week
it's just us.
Good evening.
It's afternoon.
Evening somewhere.
How are you?
I'm okay.
Just okay?
Yeah.
Okay. Yeah. Okay.
Yeah.
What do you want to talk about?
Eight things.
Eight things and a sub thing.
That's what the list looks like to me.
Okay, which one do you want to start with?
Let's start with the most timely one, I guess, which is the conference.
So the Embedded Online Conference is coming up quickly, assuming you are listening to this when it drops.
It is May 17th through the 20th, and I will be speaking on the 20th.
We've already recorded that.
So you're not really speaking on the 20th, You're speaking on the 10th or the 9th.
But there's a live Q&A after the sessions.
You can also get the 2020 sessions.
And embedded.fm works as a coupon for $100 off,
although you really should have signed up when we talked about it with Jacob months ago when it was cheaper.
Sure.
So there's your talk, and then there's a bunch of other
talks, and what other stuff is
going on? Helen Lai is going to talk about
open-source
hardware.
Kate is going to talk
about Zephyr,
the operating system.
Colin
Afflin is going to talk about the
$5 security wrench wrench i think he's going to tell
us horrible stories about how anybody can get into our embedded systems if they just have a wrench
some small cheap device that's going to be terrifying anybody can get into anything they
want if they have it well Well, I mean, because his
chip whisperer is pretty expensive.
Right. And so now
if there's a small
thing... I'm just saying I'm not going to be terrified.
I refuse to be terrified. That's fine.
Because you can't even buy chips anyway,
so nobody can break into them.
See, that would have been a really good talk.
Like, where did all the chips go?
Apparently it's not only supply that's the problem, there's an increase in demand.
So, we're just hosed about getting chips.
Buy them early, buy them often, sell them quickly.
Or as early as three months ago.
Yeah.
There were a bunch more talks that sounded interesting.
I probably should have pulled it up.
But, yeah, it should be a good conference i don't know if there's a networking social aspect to it yet probably if i read the website all the way through i would know that
it's celebrating 50 years of the microprocessor which which seems... That's Gansel's speech. Seems like not enough years, somehow.
There's a talk about
the Mars Perseverance software.
Oh, yeah.
People were very excited
about that.
Jack Gansel's talking
about the microprocessor
at 50.
Yeah, a bunch of talks.
RTOS stuff.
Wow, this is a lot of stuff.
Last time I looked at it,
there wasn't quite as much.
Modern C++.
Yeah, this is a lot jeez
there's like a hundred talks here
did you all come to listen
to Christopher surf the web
there's demos of things like the Julescope
and such
it should be good
and really we all need a break from work
I don't work anymore that is not true i do is i
hit tail dash f and i watch the text scroll by and hope that a number that starts at one will
eventually reach 30 000 so i can run another script to turn that into a png and then i can
look at that png compared to a different png and say, eh, these kind of look similar, so I guess I didn't break anything.
That actually brings up a topic not in the list of eight that you asked me, and I have
been kind of waffling over the last few days.
How do you build time?
It's right there.
That's number eight.
Oh, all right.
Sorry.
But yes, let's discuss this how do you build time when you're waiting for something long to happen or this week i have
clients who are in the field testing my code and it makes me crazy because I really want to test my code. I don't want them to do it.
But I'm on call.
And they're on Eastern time, so I'm on call starting at 6 a.m. my time. And basically, I try to respond within 10 seconds, and my phone comes with me everywhere.
But how do you build weird time like that i think you you had the the
suggestion of between not billing anything at all and billing something is would you be doing what
you're doing if you weren't uh working for this working for this client right now so in your case
it's kind of hard because you're just on call. So do you keep track of like, do you start the clock as soon as you get a new Teams message and then stop it when you've answered the question?
I mean, because sometimes that's in the document.
Here's the result.
But, you know, so I would say for that kind of thing, an hour a day of just here's an hour of retainer basically for this
time and then everything you normally do on top of that um but it is tough and like you like you
said getting up at six okay would you be getting up at six normally so no so no but i sure was glad
i did because they pinged me at 6 20 i didn't have't have coffee, but at least I let the dog out.
I mean, so I'd probably bill between 6 and 7 because you're forcing me to be awake for an hour that I normally wouldn't be. It's tough. And you know, you want to be ethical. But on the other
hand, when you're billing on an hourly basis, you can't really bill on an inconvenience basis,
right? Like something could be extremely inconvenient for 15 minutes, right? And so how do
you bill for that? It's very strange. And like the thing I'm doing, it's like I have to check
on something occasionally. And I don't really feel like I can be doing anything else right now
because I got multiple branches and I'm making changes to neural network models. And so I have
a couple of changes in the hopper,
but I'm making changes that I want to test as I go,
because I don't want to make six changes
and then have something diverge and then be like,
okay, which one of it was it?
Which change caused things to diverge
in a way I didn't want to?
So I can't really make progress
until I get the results of this test back,
and then I'm going to do it again with another change.
And so, yeah, I'm just not billing that much this week because I'm forcefully...
Because walking by looking at the computer in the kitchen isn't actually work.
Right. I'm just forcefully moving slowly.
And, well, that's just the way it is.
There's other things I could potentially be working on,
but I'm not in a headspace right now where I feel like I can multitask a lot.
So I don't want to go off and work on a subprice. There's a distinct project I'm working on for this
client. I don't want to go work on that because as soon as this is done, I'm going to be back on
this. So it's hard. I don't have a good answer except to basically try to be honest and say,
well, I'm just not billing that much.
And, you know, I'm billing like a minimum of an hour, hour and a half for the stuff that I'm not really counting
because I don't want to click a stopwatch every hour for two minutes, right?
So, but it's really different from salaried work, right?
Because you wouldn't feel this way if you were in the office and the main thing you had to work on, you had to wait a day to get a response back. What would you do normally?
I would probably use that time to education time. Because I think the company probably would like me to be better educated. And so I would have that time.
And that feels fine, right?
But as consultants, we can't build that.
We can't build that.
So, yeah, I mean, I spent this week doing some other stuff for myself, but that means I'm not getting paid.
So it's kind of awkward well and as soon as they messaged me this morning i went to my computer responded
to them and then kicked off um a bunch of other things that i'm working on which kind of like
yours requires attention pretty often and so i was helping them and then whenever they didn't
need help i would go and do the next step and then wait for them to need help. Yeah, so? So, I mean, when we talked about this before with your training, I suggested you do other
things for them.
Because that's usually if I have a long compile time, or there's a long download time, or
there's a unit test, an egregiously long test that we run sometimes, I usually, that's usually when i write the documentation yeah yeah
but that didn't really work out for you this time i'd have to make something up right now
because there's no documentation really pending and some other stuff is too early for that kind
of thing so yeah it's i'd have to make something up, and that feels just as wrong as kind of charging for things that I'm not really doing.
So, yeah, I'm not going to—I don't want to make up work for an hourly client, because that feels like theft of a kind.
Unless it's truly useful.
Like you're saying, if you have documentation to do, if you have stuff to do that's pending, that's—'s yeah that's the time to do that stuff but i'm kind of out of that so yeah it's tough and
it's probably a conversation we should have with the client to be to be honest
uh and i expect this one would be fairly you know easy It would probably be more easygoing than we are.
But on the other hand,
I just feel like that's a thing that we have to decide what we're comfortable with.
Yeah.
And for the on-call stuff,
I realized that while I may be spending five minutes answering questions,
I only walk away for a minute before I have another five minutes. Yeah, I only walk away for a minute
before I have another five minutes.
Yeah, that's the thing.
And your brain is still
churning in the background.
Oh, yes.
The number of times I've walked back
and said, wait a minute,
you know there's an easier way to do this.
Hourly work is very strange
because there's been times when
I haven't been able to let go
of a problem in my head.
And so...
Yeah, do you charge them for showering?
Do I charge for the walk I took
where I solved the problem?
Yeah.
Yeah, I do.
Because I was thinking about their problem,
you know, just because I didn't have
a computer in front of me or a pad or paper
doesn't mean I wasn't doing work.
So, yeah, I mean, with that,
the danger is, you know,
the jokes about lawyers, you know,
the line item I crossed the street
to say hello to you, but
it wasn't you, $100. So you just have to kind of use common sense, I think.
Yeah. Try to do what you would want done if you were the client.
Yeah.
Let's see. That actually brings to mind something you said.
You couldn't work on another piece of that project, but I wanted help on
Docker for a client.
And you just read up on Docker.
Well, I more than read up on it.
I kind of taught myself enough of it to get by for a minute.
Okay. enough of it to get by for a minute. Okay, so Docker has been presented to me as a virtual machine,
and it has been presented to me as an alternative to virtual env,
which is just another environment.
Yeah, there's more of a continuum.
Yeah, so tell me where I'm wrong.
People who use Python are probably
familiar with virtual env,
which is a way of setting up
kind of a
little bubble
in which you can install Python
modules, and they live in that environment.
And then you can switch to a different
environment that has a different set of Python modules.
And this gets to a problem with
Python, where there's lots of versioning and requirements
issues.
So you might have one project that needs one set of things and another project that needs
a completely conflicting set of things.
And if you're just installing them in your system or even as a user, you would quickly
find that that's just not tenable.
And also the virtual AMP makes it easier to send it to someone else because you do the freeze command
and suddenly you have all the versions you need.
Yeah.
So with VirtualAMP, you create a new environment
and then you do pip install of all the stuff you want
for the project and then you've got that.
So the way that works is basically
it creates a directory in your home directory
where it installs all that stuff
and then it points everything to that when you switch.
But it just works with python so if you were to install something else a set of c libraries or a new version of python that would still be
in your system and outside that apt-get is with your system, and pip install is with the virtual
AMP.
Yeah, although
apt-get, yeah.
I'll get to
that.
So with
virtual AMP,
like if you
wanted five
different versions
of Python, with
virtual AMP,
they'd still be on
your system.
So you'd have to
install them
system-wide, and
if there was any
conflict there,
you'd be in
trouble.
A step beyond
virtual AMP is
conda.
Conda is just like virtual env, except it takes care of more stuff. And there's a whole repository
associated with it. So with conda, you can create a new environment and then specify,
I want Python 2.7.4. And it'll go grab that and put that in the environment and so each time you create a new
environment with conda you can specify a different python and it'll grab it and then when you activate
the environment you can you switch pythons and it grabs the one you want so that's pretty cool
because that solves some other problems and you can also do all the pip installs from a conda
environment but you can specify other things you that you want installed too i remember at fitbit we used conda and it installed say all the gdb jtag scripts and stuff
and executables and the seger stuff and so when you activate in the environment you got
the right gcc you got all it was great so you can do more stuff with conda but that's still
running on your system.
And there can be conflicts where if it doesn't find something,
it reaches for a system version of it.
So if you've installed,
if you've pip installed something,
there can be a situation
where you pip install it system-wide,
activate either your virtual
or your conda environment,
and it doesn't find it if there's
a conflict it'll grab the wrong one which i mean there there are ways around that yeah yeah and
the nice thing with conda is you can make a yaml file which has all the stuff and then hand that
to somebody and it'll create the environment the same way download all the things um but conda has
an installer with it so you can install with it, so you can install stuff
through Conda, you can install stuff through PIP
in your Conda environment,
and you can go back and forth with that.
The nice thing about installing with Conda
is you can specify versions
down to the point version.
So you can say, I want
NumPy
20.1.1, and I want
blah, blah, blah. You could do that for virtual imps.
That's true, yeah.
Trust me, I know.
I'm installing some pretty old software right now.
So that's the one thing I don't really understand,
is I think they're reaching from different places sometimes.
And I think Conda sometimes has a, like,
give me everything that I, give me a set of things.
There's like a canonical set.
So you grab one thing,
and it grabs a whole bunch of different Python
stuff.
Docker is a step
beyond that.
And beyond that is virtual machine. So let's go with
virtual machine first.
Yeah, well, virtual machine is what it sounds like.
It's a complete
computer
with virtual hardware, hard drives,
virtualized graphics, virtualized device drivers
running on your computer using hardware support and the CPU is called hypervisor stuff. And that,
that for all intents and purposes, that's a completely separate computer from the computer
you're running it on, even though it's using all three sources. So in that sense, you install
Windows to that, or you install Ubuntu to that, and it boots up and you can even see it's using all its resources. So in that sense, you install Windows to that
or you install Ubuntu to that and it boots up
and you can even see it booting through the fake BIOS and all that stuff.
So it's a complete computer environment separate from your computer.
And that's the heaviest way to create an environment
that's sealed off from your system environment.
It's not a bad way necessarily to create a build environment.
No, I've done that all the time.
Because you can clone it and everybody gets the same thing.
Yeah.
You have IP address weirdness, but maybe DHCP through that.
That's usually not a problem.
Yeah, I've done that at companies
where there's a canonical Windows VM and you go grab it
and it's got AIR and all the crap you need
and everybody runs it on their Macs for some reason
because nobody has a Windows machine.
So Docker was not exactly a mystery to me,
but it was an annoyance for a long time.
People kept throwing it at me like,
oh, you can solve this with Docker,
Docker, Docker, Docker.
I've heard that so many times
and I tried it on Windows early on.
Let's just say that wasn't pleasant.
Yeah, most of my experiences were something similar.
And somebody threw it at me at a company. Here's the Docker for the development environment. I was like, oh my god, this is so, how do I, what is this command line
even, it's a complicated command line to start it. And I don't even know where I am when I start it.
What is this thing? Because you end up with like a root shell sometimes if you do the command they
give you. And like, why am I compiling in a root shell?
It just didn't make any sense.
So long story short,
a thing for the client we're working with
required me to use Docker.
Somebody sent me a thing for a development environment
and I deployed it and used it.
Didn't really understand how to use Docker.
I just followed their readme.
I was like, okay, this works, great.
But there were still questions I had about Docker.
In the course of setting some other stuff up
on our local machine,
I needed to install a new version of TensorFlow.
But the new version of TensorFlow
required new NVIDIA device drivers
and a bunch of other stuff
which would break your environment.
And so I ended up creating a new Ubuntu install on a separate disk,
and I still had trouble with getting the right versions of NVIDIA stuff.
And so I finally looked it all up, and NVIDIA says, use Docker.
This is our new supported way of having the right requirements
and dependencies installed and
drivers system and sort of the drivers yes uh i think the drivers are part of the container somehow
but anyway um so i said fine i'll do it your way and in the course of doing that i finally just
went to the docker site and some other places and I read about the damn thing and tried to answer the questions I had.
So I'm now a rank amateur
instead of an idiot
on using Docker. But I got it to work
and it's working and I understand it a little bit
better. And the difference between all
these other things is Docker
is closer to the virtual machine side of things.
It doesn't share anything
with your system unless you tell it to.
And when you create the
environment, it goes and grabs everything
it needs for that environment. So you can start
a new container. Container is
the word for the thing that's
running. Like virtual machine is a virtual machine
containers. Yeah.
So you say base it on Ubuntu
and it'll go grab a base Ubuntu
install, put that in the container
and then you can add other stuff later.
And then you run those containers
and when you execute the Docker
command to start a container
you give it the command you want it to run.
If you give it bash, you get to log
into the container as root and it comes
up and you can shell around. If you give it
start Jupyter notebook it just does that and there's no interactive shell at that point
so it's nice in that it can do some more system y system level kinds of things than condor virtual
so for example the tensorflow thing if I need to have something that deals with GPU
at a different version than maybe I have on the system,
I can do that.
I can grab the base Docker container from NVIDIA
for a specific version of TensorFlow with GPU.
It'll go grab that, install the stuff it needs,
and then I can install my particular development environment
on top of that.
But you're running code that is native to the processor you are on.
Unlike a virtual machine where you may not be running code,
like if you have a Windows virtual machine in Mac.
That's still the same CPU.
It's the same CPU, but it's, I don't know.
It's not emulating.
It's not really emulating.
Virtual machines do not emulate.
That's why they're fast,
is because there's support in the CPU
to just partition things off,
but they're still running native instructions.
But they are partitioned.
Yes, and Docker's partitioned.
Oh, okay.
When you start it up,
it by default doesn't have access
to the rest of your file system.
You have to kind of bring other, you have to kind of map in
directories if you want them to be seen.
So it is partitioned and kind of sandboxed off.
Virtual machines are pretty slow.
No, they're not.
On my computer.
I don't know why that is.
I mean...
Virtual machines have never been fast for me.
I have never had a performance issue with a virtual machine.
I'm using VirtualBox. Are you using something better?
Yes. I usually use Parallels.
I used VMware Fusion in the past, and it was similar performance to Parallels,
but it had other problems.
But they shouldn't be slow.
I mean, the reason they're slow usually is you don't give them enough RAM,
or you don't give them enough CPU cores.
I mean, I gave it more than half of my computer.
Yeah, how much does your computer have?
Well, I believe that's topic number six.
Yeah.
If you have eight gigs, then four gigs is probably not a lot for a...
I have 16. Thank you very much.
I don't know.
I've never really had an issue with performance.
Okay.
But I've also never run a VM on Windows.
Wow.
Blame it on Windows.
That's the other thing with Docker.
My experience with Docker was not great on Mac early on.
It was terrible on windows
but part of the reason for that is the support for docker the system level support to make docker
work is really well tied into linux and i think it's fairly well tied into mac now but i don't
know that it's good or has ever been good on Windows because they probably have to jump through some hoops
and do more of a VME kind of thing to make it work there.
I could be completely wrong with that,
but my experience with Windows is that
a lot of the things you want to do are not as easy or performant,
especially if you want to use the GPU in a Docker container.
I just log into an Ubuntu machine.
Yeah, and that's the other option if you've got it.
Or reboot to Ubuntu.
But the problem I'm having is I made an Ubuntu to do the work I needed
and tried to install the things I needed,
and then somebody said, well, you have to use a container for that.
It's like, why can't I just install your stuff?
Nope, nope. This is how we're doing it from now on because everybody yells at us too much, I guess.
So one of the things that confused me about Docker is that there are more steps than usual.
Yes, yes, yes.
Because if I do a virtual env or a conda, I basically say, start my environment.
Yes, but you still built one before that no the first time
let's talk about it from the first time yeah like i'm putting together a base system now where i
virtual end i build my virtual end and then i pip install a bunch of stuff and then at the end
um i can give other people the list of requirements. But I have to install all this stuff.
And maybe Pip would install all of it in a perfect world.
But right now I'm just building up what I need.
Okay.
Conda works similarly, but I don't know if...
So with Conda you can write a YAML file that has all the stuff you need.
And when you build the environment for that, you hand it to it.
Yeah, like the requirements.txt from VirtualAmp.
Does it actually work?
I bet VirtualAmp works for most people.
But with Condor, you can also export it.
So if you've got an environment, you can say, export this environment, and it'll create a YAML file.
So if you want to install stuff by hand, and then...
Okay, so we start out with a text file.
And in Docker too, you start out with a text file.
Yeah.
And then you decide you're going to start using this container.
Well, there's a long step in Docker first though,
a lot longer than...
Even though Conda will install stuff from YAML,
you have to have the Docker file with some sort of base.
Okay.
Otherwise, it's just an empty, it's like an empty computer.
So you can say like from Ubuntu in the Docker file, and that's all.
And it'll grab, they have their own repository system too.
I don't quite understand that or where there's alternatives to point with anyway.
I think I had to do something to get the NVIDIA ones, like set up a new apt key or something. quite understand that or where there's alternatives point with anyway.
I think I had to do something to get the NVIDIA ones,
like set up a new apt key or something, but yeah,
you have to do that with virtual input too. So anyway, with Docker, you're building a real kind of a real system.
So you need to have a basis for it and that that'll go off and grab that and
install that stuff. And then you have to,
it's better to install the things you need
from that Dockerfile description
than to do it by hand,
because this is an area I'm still fuzzy on,
is the persistence of the images,
of the persistence of the container.
That's where I was headed.
Yeah.
So once I finished my virtual env or my conda, anytime I want to be in that environment, I type the magic numbers key, magic incantation.
Yeah.
And now I'm in that environment and I can compile or whatever I need to do.
Yeah.
And I get access to my drive.
Yeah.
And I'm just, it's like it changed all my paths
basically is what i think yeah yeah um but in docker you build it and then you have a container
you have an image okay you have an image yeah so what's the difference between image and container
container is the actual is an instance of the running image. Okay. So you create an image, and what that does is it loads up a container
and then executes the commands in the Docker file to install stuff,
and then it saves the image off and gets rid of the container that it did that in.
Okay.
So you just have an image, which is like a virtual hard drive, I guess, with all the stuff.
And then when you want to start a container based on that image, you actually do a different command.
It starts it up, loads that image.
So you can have five containers running off the same image.
But I don't think they're sharing the same backing store file system kind of thing.
So as soon as you leave your container or exit it, that's it for it.
It stops existing.
This part really boggles my mind.
Well, this is an area I'm fuzzy on, as I said.
I think there's ways to get around that.
I think there's other ways to do it.
I think there's probably ways to write to an image
and then write to the image while you're in a container and have that persist.
So people who know how to use Docker, feel free to yell at me.
Quit shouting at your radios.
But yeah, so there's a lot of ways to do it.
I was just trying to get to a point where I understood enough to do the things I needed to do.
But this whole, you can start an environment and it doesn't persist.
Yeah.
That happens when I use Google Colab.
Right, yeah. and it doesn't persist. Yeah. That happens when I use Google Colab. Right.
Yeah.
And it happened when I was using AWS machines.
Yeah.
And I think that was one of the things I didn't understand because I would get everything installed
and now I was finally ready to run
and they would charge me if I left it the way it it was and i'm like but it took me an hour and
a half to set it up yeah you can't charge me for both and um and that's why we have a house server
but so the containers don't persist and you have to figure out how to get your persistent
information into you can map a directory.
So you say, on your computer, there's home projects or something.
You can map that into your container as projects or home projects or something.
And then when you come in your container, that directory's there,
and anything you write to that passes through as it normally would, and you're great.
Now, you have a Mac, and I have a Windows.
Yes, I have a Windows.
If you wanted to give me a Docker,
would you give me the Docker file, or would you give me the image?
I don't know the answer to that question.
Oh, I would give you the Docker file, because the image is large.
Because it's installing a base of stuff for an OS.
You wouldn't want me to hand you four gigs worth of stuff.
And I don't know if it would work cross-platform like that.
That was my question.
Okay.
So you can see how it would be useful.
You can hand somebody a Docker file.
And you can include other stuff alongside the Docker file.
Let's say you've got a bunch of.debs to install particular versions of something,
or some RPMs if you're on Red Hat,
or a zip file or something.
So if you've got particular tools
that aren't easily downloadable
as a set of shell script commands
while you're building the image,
you can include those alongside,
and then you can kind of unpack those
and install them from the file local
file system into the docker image so if you had a particular version of ross or something that
had been modified right that you need um you could include that alongside it yeah ross is special
robot operating system but yeah um so so it's very useful because you can have this completely self-contained thing
with all the stuff you need that's installed,
and it's not going to have a dependency mismatch with anything else on your system.
That's the thing.
So if you need 14 different versions of GCC for some god-awful reason,
you can have them in different containers,
and you don't have to have 14 GCCs on your computer
and they never see each other
and they never see each other
but even if they all used the same
program for something
maybe they all use the same version of Make
you have 14 different
you have 14 different instances
of Make installed as well
and so you
you do have some
disk space overhead oh sure yeah yeah yeah no i mean the whole premise of stuff like this is
disk is cheap and network is cheap i mean because all of that downloading is network must be free
and disk is free yeah so um and i you know i used it some in that ml class too they had a docker thing and
i kind of remember now that i used that but um so the hard thing about docker for me is
it's conceptually weird the user interface is not particularly friendly it has a lot of jargon
containers images that don't really say much about what they are.
A container certainly doesn't sound like a running thing to me.
Yeah, a container is a box. It sounds like the image.
Image and container are interchangeable in my mind.
The command line is weird.
Everything is very command line.
I'm sure there are GUI tools to manage this stuff, but I haven't really looked at them.
So it's just kind of a off-putting
when you start using it and then there's weird stuff like you know when you bash into your
container it's your root which makes me feel weird and you you have to do things like if you don't
want root spamming files all over your shared directory you have to map your user id as part of the command line which is an ugly
unixy you know option so it's just stuff like that it's just like yeah this is you know it's
it's fine i understand this all but i don't i guess i guess as i get older i get more irritated
with people wanting me to learn things that came came out wrong. I get more irritated with, what's the sentiment here?
With the people who feel like
it doesn't matter how it looks
because I understand how it works.
It's almost a form of gatekeeping.
I'm going to make this so complicated,
you won't understand it.
And then once you do,
you'll be part of my tribe.
I need this car to drive
because I have a job that requires me to drive somewhere.
So I have to transport myself in this car.
But I also do not want to have to adjust the timing on the car.
Yes.
You know, and deal with the spark plugs.
Some people like that.
I don't.
So I want, you know, I want an automatic transmission car when I'm commuting because I don't want to drive a Lamborghini and try to shift gears when I'm going 20 miles an hour on a freeway for two hours. It's not very much fun.
Times with Lamborghini would be awesome.
Right. Well, Docker's never a Lamborghini as far as I'm concerned. But
that's how I feel about some of these things. It's like, here's a whole other thing you have
to learn. And this isn't my job. My job is to, right now,
is to make neural network model modifications and test them.
In order to do that, I had to spend three days
learning how to make a container system work
and the ins and outs of it,
and enough of it that I didn't run into a lot of trouble,
which means I had to learn more of it
than just the example tutorial stuff, is I guess what I'm saying. A lot of times you can get by with stuff like this
with, you know, the how-to guide that's a page long and here are the major commands. I didn't feel like
that with Docker. I felt like I had to dig a little deeper because I had to understand some of the
command line options and the jargon and some other things to make sure I wasn't using it wrong.
Because I did use it wrong several times,
just because I didn't know what the hell I was doing.
So that's kind of an irritant.
I don't feel that way with virtual machines,
because virtual machines is like,
well, okay, here's this program,
here are the options and dialog boxes,
you can add in or not add in what hardware you want.
It's all kind of intuitive if you know how a computer works.
And then you start it up and it's another computer i have to learn anything else it's you
know the same garbage i've dealt with i've dealt with for a hundred thousand years um and virtual
and vinconda i did feel a little bit intimidated by them at first but they're so simple there's
not a lot you can really do with them. Once I started thinking of them as basically path changers, which isn't what they are.
Well, to some extent it is, but yeah.
They do install their version of stuff to their local areas.
But it is kind of just, okay, if I just changed all my paths.
You could do the same thing with Chirrut, basically, if you really wanted to.
You could build your own condo
or you could build your own virtual lab
in an afternoon with some shell scripts
if you were so inclined,
which is, again, like building your own car engine.
I don't want to do that.
I want to see what's going to happen to my code.
Yes.
So this is the sort of area where I feel like
if there's a tools person at your company, this is the sort of thing they should be helping to make easier and do.
Because it's extremely powerful and it can solve a lot of problems.
Especially on like, you know, when you're doing embedded stuff, the tools are weird and there's just version issues.
And for me, I'm fixed on a set of tools.
And I cannot change because i have units
in the field and i have to make them interchangeable and you can stick that definition for that set of
tools somewhere else and then always get back to it if you need to and get back to that exact thing
which is great for like people who work in medical space and things where it's like we need to freeze
this set of things around this version we produced because the FDA or whoever's going to
want us to be able to prove that we can, you know, rebuild this exactly the same way. So it makes a
lot of that a lot easier, but, you know, there's a bit of a learning curve to deal with it. So I'm
tentatively taking steps to being in favor of Docker, but i'm not happy about it yeah so if you are the tools person
at your company realize there's a reason people are are running away every time you say docker
it's kind of complicated if you don't know and it's not pretty it's not friendly it's not one
line here it all works and on linux it's a little bit it's gonna sound weird but it's a little
bit easier to deal with because it feels like a linuxy thing it feels like another shell here's
another no well but the commands they're just as ugly as all the other commands when i installed
on a mac i think i had to install it on my mac to do the build environment for the company
a couple years ago i installed this menu bar bar thing and this Docker thing that sits there.
And when I, you know, all this crap,
it's like this whole infrastructure to run.
And it's like, what is all this stuff?
And when I finally,
I actually just uninstalled it from my Mac
because I was getting,
I realized it was still there.
There was no uninstall.
I had to go through in a shell
and go to the library
and a whole bunch of subdirectories and delete like 50 files by hand to uninstall it.
So that was not cool.
Linux is a little bit better about that, but I did not appreciate that.
And that was one of the things that turned me off on it.
It was like, here's this giant infrastructure and all I want to do is run a container.
I don't care about your support for, you know,
stuff in the cloud.
There's Docker and then there's
the whole world of Docker
which is much, much bigger and people,
you know, there's stuff happening in data centers where
containers and images are
moving around between systems
and blades and I don't know what those people do.
Well, that's kind of what's happening
with AWS. Yeah, exactly. Well, that's kind of what's happening with AWS.
Yeah, exactly.
Enough about that.
It's interesting.
And if you have an unsolvable kind of tools versioning
and requirements problem,
it might be something that can solve that pretty quickly
once you get used to it.
And I'm sure people are just screaming at me like,
you're an idiot, this is super easy.
Where do you want to go to next on this list?
Oh, God.
I don't know.
You had this stuff about the podcast introspection stuff.
Oh, yes.
Okay, so we have mentioned that we are doing more social media in an effort to grow our audience, which
is kind of weird. We're definitely not marketers. I don't know if you've noticed that. But it's
hard to do promotion. It's hard to do self-promotion. And I really do believe in the show. I think
that it has helped people. And I think that it has helped people stay in engineering.
And I hope that it has been informative and entertaining and amusing
while also helping people get into engineering.
If for nothing else, the handful of people who have talked to us about jobs they got
or career changes they made they were happy about because of the show
makes it all very worth it but i'd like to help more people yeah and i don't know if we should
say but you know our audience is kind of plateaued for a while but some of that's because of the
pandemic i think because nobody's commuting i think there's two things happening but yes i think
pandemic didn't help.
It is possible everybody's bored of us, which is totally fine.
If you all leave, we'll stop doing this.
Title.
Okay.
So, our social media person sent us some questions.
And many of them are unanswerable, but I wanted to go over some questions. And many of them are unanswerable,
but I wanted to go over the questions
just so that we can kind of baseline what we want.
They asked for a new survey,
which we haven't done since episode 200,
to ask people what they'd like to see more of or less of.
And if they want to see more Instagram, Twitter, LinkedIn, Facebook stuff.
I think the answer to that is probably not really.
I think most of the people who are our current audience are into the show and listening to the show.
But that's, I don't know the actual answer to that,
but that's just my guess.
She asked me to provide a list of goals,
which I kind of already had and then prioritize them.
And so the first one was get more listeners.
Cause that's, that's a measurable metric.
We may not know exactly how many listeners we are, but we can average over downloads per show.
Yeah.
And this can be specific numbers, but for me it's always 10% or 5% or whatever makes sense in growth numbers.
But how do you do that?
Yeah, and the question is, have we saturated the people who would normally find us through the means that we use?
Twitter.
Twitter or doing more conference talks or blog posts or, you know, stuff like that,
which we haven't really been doing a lot of.
No, we haven't been doing that sort of outreach.
So, you know, just finding people,
people finding the show organically through searching through the podcast
directories or whatever, I don't think that's really viable anymore.
There's so many podcasts out there.
Yeah, there's a lot of podcasts and, you know, ours is fairly niche.
So, yeah. So, I think we have to try different things
that maybe we haven't tried or don't know how to do.
Which is why we have a social media person now.
The second priority was
promote STEM diversity.
And they argued for STEAM diversity.
Sure, whatever.
How do you feel about STEAM versus STEM?
The A is for art, if anybody's not.
I don't have strong feelings.
Okay.
There's enough people doing arty things with technology that I think it's fine. I mean, certainly our show and the guests we have tend to occasionally have an art bent,
and I would feel weird leaving that out deliberately as what we're promoting.
I like the A in STEAM surrounded by the other letters.
I like the technology and art can draw more people to science, technology, engineering, and math.
But I don't think we're ever going to have a painter on the show who is just doing...
If Bob Ross was still alive, you would have him on the show.
I totally would.
So I just demolished your argument right there.
Yeah.
And then we asked Robert Lang on the show and only talked to him about origami.
What am I saying?
Of course.
With respect to this, what positive outcomes can you already point to that you would like to continue in order to promote esteem diversity? steam diversity well several people who have been on our show
went on to be extremely famous people
and I'm sure it was all about us
Janelle Shane
I'm not taking credit for any of that
more seriously
well I don't know I mean we get
feedback from people
all the time that the shows helped them in various
ways or
inspired them to do something
so I think that's great
but I'm not quite sure that that's what's being
asked
positive outcomes you can point to
with regard to promoting steam
diversity we get emails occasionally i mean yeah so that's what i'm talking about i mean we do
promote steam diversity because we do have a lot more women on the show proportionally than there
are necessarily uh in engineering because i i do work
on that and i i do try to find people who are not not necessarily the normal engineer that we think
of yeah i don't know interest and engage people in steam. This is so hard.
Yeah.
So,
I mean,
I don't know how to answer some of these questions and I don't know what the
goal of answering some of these questions is like,
what,
what is going to be done with the answer to,
um,
do you have examples of outcomes?
Is that going to be put into an ad?
Because we can't do that with some of them.
They're private.
So,
um, yeah. the last question.
What is the best way to measure progress for this goal?
No idea.
Yeah, exactly.
No idea.
So interest and engage people,
one option would be to catalog the episodes by different categories
and direct people, different interests, make playlists, all the artists.
Yeah, I think making playlists and... All the artists, all thelists, all the artists. Yeah, I think making playlists and...
All the artists, all the basics, all the very technical ones,
all the engineering advice career ones.
Yeah, that is a great idea is having some intro packs.
Because people do reach to the...
I mean, we still get emails about people finding mistakes in episodes five years ago, right?
It's like people are listening to the older episodes, which is great.
And so maybe it would be helpful to say,
hey, if you're interested in this topic,
here's half a dozen episodes
that you might find interesting.
I don't think that's going to drive much new listenership.
I guess the idea there was to promote it
to other communities.
Yeah.
Okay.
If we have an artist playlist,
then we can promote it to more of an artist audience.
Sure, sure.
Or a musician audience.
Okay.
She asks if one of my goals is to widen the guest base
with more famous guests.
I'm iffy on that.
Famous guests, some of them can be good.
Some of them can be merely famous.
Okay, so famous guests, they fall in two categories.
Either they are perfect guests and they have everything together.
Or they don't care about the show and wonder why we're bothering them.
Yes.
And it's really hard for me to know which is which.
We often don't know until minute two of the podcast.
Well, no, because usually I do get a sense of
whether or not they respond to my emails.
Well, yes, there's that.
But there's, yeah, it's just really tough
with the famous guests.
And what is fame?
And they don't tend to bring much in.
We get a bump of the stats
when we have a very popular guest that lasts for a week.
And then we revert to the mean.
So we're not getting long-lasting people from that.
And when we do ask people what kind of shows, what are their favorite shows?
Because that was one of the ones that I did have in the last survey.
Yeah.
Like every show was listed by somebody
yeah i know even shows we weren't really proud of or we didn't think worked yeah somebody like
i know people say they like it when we talk to each other um but yeah so it's it's kind of weird that we can't say who's famous because it depends on who's listening.
I will say that I think one of the solutions is to be more visible.
And that's hard because neither of us like, I mean, literally visible, go where the people are on YouTube.
Because I think a lot of the, where people are looking
for stuff these days is not podcasts.
It's like YouTube and stuff.
So I don't know what kinds of things we would put there, or even if we would want to do
that, but I do think finding areas outside of the podcast to be visible such that the
podcast itself gets more visibility is perhaps the way to do it.
But I don't have a good roadmap for how to do that.
Go to more conferences.
Bleh.
Go to...
We love conferences.
Sorry.
I mean, there's the Embedded Online Conference.
It's one of the reasons I'm presenting.
Yeah.
Supercon's fun, although it's very exciting, which is kind of exhausting.
I mean, the last year has not been great for conferences.
There's going on other podcasts, which sometimes works, I guess, maybe.
I think that's been okay.
We just don't do it very often.
It's certainly where we got our initial listenership from crossover from the Amp Hour.
Yeah.
But I don't know that...
Yeah, I don't know. So if anybody has any ideas or would like us to just stop worrying about this, that's fine. Um, but yeah,
it's, it's, it's a challenge, you know, like all promotion, it's a challenge because it's both
feels, feels gross. And on the other hand, you know, you, you want to be reaching more people if you feel like
you're doing something that's worthwhile and that's helping people
or that people enjoy
and you feel like more people should
see it and you know
we had a fair amount of growth for a few years
and then it kind of stopped
I mean
we have a great audience both in terms
of size and in terms of people
part of the question is why do we want a bigger audience?
And mainly it's so I don't have to work anymore.
You know, having people support more on Patreon was one of the questioned goals.
And I was like, yeah, as long as they continue to pay for you, it's fine.
Yeah, not a big deal.
So we're going to continue thinking about this.
I mean, we've talked about other things like having different sub podcasts,
you know, just to,
yeah, she had that on the list,
but unfortunately it was the week I was preparing my conference talk and I was
like, no, no more things can happen.
Right.
Right.
Um, so that's fine.
Okay, I'm declaring that topic well and truly discussed.
Okay.
What do we got next?
Do you want to talk about map files?
What would you like to talk about map files,
given that you're going to talk about map files in your conference talk?
Oh, right.
I can't really give this talk right now.
I mean, I don't know because it's 40 minutes long. Well, no, I was going to go over the highlights, but
yeah. Okay, well, maybe we'll talk about the map files
later. I think we should talk about it after you've released it
publicly, if I'm allowed to say that that's a thing that happens. Yeah,
I'm expecting, so the slides's a thing that happens. Yeah, I'm expecting...
So the slides will go up when I give my talk.
But that will have a huge component missing
because there's times where I look at files.
And then I think we'll release it
less than a month after the conference.
Okay.
I'm hoping June 1st,
but I'm not sure when it's going to happen for sure.
It's only a couple of weeks after the conference.
Yeah.
So it's,
it's kind of.
And you're going to stomp on my Kickstarter.
So.
Oh,
well then maybe.
I'm totally kidding.
I like the overlap at all.
So you're really going to do the Kickstarter June 1st?
Oh God,
no,
I haven't picked a date.
Oh.
I mean, somewhere around there, we got some stuff to do the Kickstarter June 1st? Oh, God, no. I haven't picked a date. Oh. I mean, somewhere around there.
We got some stuff to do before then,
but I'm hoping to start it in June-ish, June-ish time frame.
And this is for your album?
Yeah, for the 12AX7 album.
So, yeah, most of the prep work is done, kind of.
We got to do a video, you know, a campaign video,
although some musicians didn't do those those or they did ones which were.
It was hilarious.
I said, do you want to watch a movie this afternoon?
It was Sunday or something.
And he said, well, I have to watch some Kickstarter videos.
And then during the movie, I'll sketch out what we're going to do.
And like 10 minutes later, he's watched some and he's like, some of these people don't have them.
Some of them just play music for two minutes solid.
Six minutes.
Six minutes solid.
There's nothing about their campaign.
It was just a live performance in like a room.
I was like, I don't understand.
Anyway.
Suddenly it became much easier.
The bar was lower.
So I worried about that a little bit less.
But anyway, I don't want to talk about it too much.
Speaking of the bar being lower. and you what you know what my conference presentation yeah okay so
my plan with my conference presentation really was never to have be ahead it was to give it as a
puppet frog that was a joke i wasn't gonna have anything on the screen. You would have done it if people had let you.
That might be true.
But I was just going to, you know,
voiceover and computer screen record.
It would have been easy.
That's not a conference talk.
That's a webinar.
That's a webinar from 1998
before they had cameras.
That's not true.
I gave a webinar and did just that in like 2010.
I don't think that's what they're expecting for conferences, though.
Okay.
So the next option would have been, you know,
a webcam of me in the corner with just my head and the slides.
I mean, I suspect that's what most other people are going
to do yeah if i was going to really go above and beyond i might actually light myself you know so
people could see me and i wasn't backlit like i am in the yeah but you would alert yourself with
like a usb plugged in led lamp yeah but it's a circle so it doesn't like have spots two inches wide
okay so i wasn't allowed that you're acting like i forced you to do this
well every time i turned around the bar was a little higher i had been researching exactly
okay so suddenly we have like 10 foot by 10 foot green screen. It's just a sheet really that he hung up.
False. The green screen had been purchased prior to your conference talk ever being a thing because I needed it for my music videos.
Okay. We have a green screen and I'm going to stand in front of the green screen.
Yep. And I'm going to give him my talk.
And he asked me if I wanted a teleprompter where we would have gotten a
teleprompter.
I don't know.
And I probably should have said yes,
because I do look down a lot.
I was going to make one.
I have a very large monitor and I was going to put it on a stand.
And then suddenly we have these umbrella light things.
It costs $50 for the whole set.
And a whole bunch of new Logic plugins.
I already had those before.
I don't think you had all of them.
And so my, and then.
And the camera, the DSLR and everything I already had.
We did have all that, yes.
And so suddenly I'm spending a day, instead of, you know, a t-shirt while I narrate my slides that nobody's going to see, I have to dress up.
Because people are actually going to see me.
And then there's the question of they're going to see all of me.
Or just, you know, the shoulders and stuff.
And,
and now with the green screen,
I appear to be floating on the slides.
Floating.
If I wanted to make you float,
I could have done that.
And on the version where we're releasing,
I get to be a hologram,
including the stripes with the Star Wars stripes.
I'm not convinced that's what we're doing yet but okay it may be
yeah um where's all this headed i'm just saying you set the bar i feel like you're
setting high expectations that probably the video doesn't meet it It was, yeah. Every time I turned around, he raised
the bar on the video.
And since he did all the video work,
I can't really complain.
I just, you know, I don't like some things
and I don't want them to
exist. Those things are
audio that sounds bad and video that looks bad.
And so,
you know, I made sure
to get you good sound. And you did and and and to to make
the video look good i don't understand the complaint here my only my only complaint is
that i was expecting something very low-key and i ended up with something very professional and
polished well okay next time we'll do it with the puppet. I mean, you even, we even have bloopers, which we might release.
I haven't edited those yet, but those are hilarious.
Okay.
But to be fair, and the sacrifice I have made,
my laptop's hard drive is three quarters full with just your presentation video
crap. And I cannot wait until it is released and done so I can free up the 275 gigabytes
of video. Man, what is going on with video? It takes a lot of space. And every time I like
blinked, it just grabs another 50 gig for some reason well and every time I watched the
video more stuff was added to it so like the first time you know there's just me and the slides and
then there was like me and transitions into different slides you know so they were all very
smooth and then there was a part where I said the wrong thing. And then there was a bubble that corrected what I was going to say.
And then there was music added at the end.
Yeah.
Yeah.
You still haven't said anything about the dinosaur that tromps your head off after the credits.
I haven't seen that yet.
That's not there.
It was pretty cool.
Thank you for doing it.
I mean, yeah.
I know you did it so you could learn how to use Logic for your music video
I know how to use Logic
Final Cut
I'm sorry, oh and it wasn't Logic plugins
it was Final Cut plugins
okay, so yeah
video, also
watching yourself on video
for hours
oh my god, that was awful
I mean, I don't even like to listen to myself.
Not in your defense.
You did listen to it, watch it at half speed a bunch,
which I think is probably not healthy.
Two-thirds speed, because I was trying to get a snapshot,
but every time the screen happened, my eyes were closed,
or I looked completely demonic.
And then if you play it at two-thirds speed, I sound so extremely drunk.
It's pretty funny.
And if you say it played at 2x speed, it's pretty good.
I mean, that was the speed I think everybody should listen at, is 2x.
All right, well.
Anything wrong with the video, it falls in my lap.
No. No, no, seriously. Well, anything wrong with the video, it falls in my lap.
No.
No, no, seriously.
I mean, you did a great presentation, and if there's problems with it, it's in the production.
Do you think people are going to be mad about the pirate jokes?
That there aren't any?
Yeah.
I was. There is one, but only in the slide any? Yeah. I was.
There is one, but only in the slide deck.
Yeah.
Okay.
So we did get an email from Suku saying it was very refreshing to hear another engineer's honest professional pain from the last time you and i talked i feel the industry has too many people trying to make things look easy so they can look more talented or more senior
i think this was a compliment no it's a compliment i take it that way okay you know i i wish people
realize that computers and everything to do with them are awful and terrible and spiky
and pointy and they hurt and it's unpleasant for most
of the time and it's only offset by that hit of dopamine you get occasionally when something works
when you haven't ruined it subsequently by typing a different command
but yeah i i if people have the impression that things are easy or fun, then...
Some things are fun.
I feel like they're doing it wrong.
No, fun, yeah.
Things are fun.
Yes, things are fun.
But every fun thing is preceded by something...
Darker.
Painful.
Or after doing the fun thing, you switch on to a new thing that is not fun until you go through the pain.
I mean, yeah, there's a lot of fun to be had
and sometimes solving problems is cool.
The difference between solving problems that are cool
that I find fun and the problems I don't find cool.
I don't really know what the difference is,
but there's a lot of times
where I can't stop solving something
because I'm so into it.
But there's a lot of times where it's like, I have because I'm so into it. But there's a lot of times
where it's like I have a problem
and I'm like,
this has just got to stop.
I hate this.
And I don't know what the difference is.
But I think maybe it's stuff like
if I'm solving what I feel is a puzzle,
that's something like,
not mathematical in nature,
but I'm trying to create something
that hasn't been done before
and I don't know how exactly to do it or to piece the things together to make it work,
versus struggling with something that already exists,
and I'm trying to kind of hammer into doing what I want, like a new tool or something.
It's like setting up continuous integration or getting the right install for a stupid tool chain or
something like that those are puzzles too but i find those just drive me completely insane and i
hate them whereas trying to solve a math problem or or something or make some new piece of software
do something cool that's the fun bit yeah and i like it when the hardware does what I tell it. Yeah.
Or when it's optimal in some way.
But yeah, the tools actually is a big weakness for me too, because I just don't...
I know some people are interested in making sure that the continuous integration works.
And I think it's important.
I really do think it's important. I really do think it's important. And I think that setting up the test system is very important, but it is the least fun thing.
I think that's maybe not a great example for me because, I mean, if that was my goal to
get continuous integration working, I can kind of foresee feeling pretty good about
that once I got it set up.
But I think it's when things are in the way.
Yeah, the in the way.
The in the way and it should have just already worked.
Yeah.
If I type install GCC, I don't want to still be there 20 minutes later trying to get LVM
installed properly.
Right.
Or the TensorFlow stuff I was arguing.
This is, I think, what he was talking about.
But the TensorFlow stuff I was talking about,
I was like, I need to get this so I can run my code.
Yeah.
And I cannot run my code
because some other organization has decided
not to make it easy to make the tools work.
And that's the kind of thing where
I cannot get into the puzzle-solving mindset
because I know there's a solution,
but the solution sucks.
And it's not going to be a solution
that's something that can be shared anywhere.
It's like, I solved this,
now everybody can have it solved
because in another week,
there'll be a different version
and everything will be broken in a different way.
So it's that kind of stuff where it's like,
okay, I got to fix this brittle thing to move on.
But it's not a lasting solution to anything.
I haven't done anything new for the universe.
I've just...
It's not even likely to work for that long
because it is brittle.
I've made a bridge out of grass
across this chasm
and it's going to fall down next week,
but I had to get across the chasm
and I'm not dead,
but, you know,
that's all I can say about the problem.
Yeah, anyway.
So, yeah, that's...
How much time do we have?
We've got as much time as you want.
How much time have we already talked?
More than an hour and less than two.
All right.
Then I'm not going to talk about Python.
You want to talk about laptops real quick?
If you really want.
You need a new laptop.
Yes, I need a new laptop.
Yours is bubbled up again.
So my battery expands
and then my mouse stops clicking.
I can still move it around the screen.
Because you're pushing onto a battery
that's full of toxic gas with your mouse.
I mean, if you want to look at it that way.
Yeah.
And so we got a new battery before, and that
worked for 18 months. And
now we have a new battery again,
but he wants me to get a new computer.
But if I get a new computer, I have to install every damn
thing. Oh, right, because it's Windows.
I'm sorry.
See? Yeah, see, with Macs, I never have to do right, because it's Windows. I'm sorry. See? Yeah, see,
with Macs, I never have to do that, because I just
transfer from the old one to the
new one. I think this one has files on it
from 2006.
Hmm.
You can't do that sort of thing with Windows?
I think there's something,
but... Yeah, but it's just a pain.
Anyway, but your computer's like six years old,
and it's getting kind of odd in yours.
So I looked for new computers and that led me down the rat hole of processor, GPU, all of the parameters.
All the new stuff too that I haven't been paying any attention to. And then I decided I really needed a better GPU.
But then I realized the most important thing about my laptop
is that it cannot run its fans all the time.
Quieter is better.
And then I found a 17-inch one that probably has fans that run too loud.
But it was really cool.
But then I realized that it was basically a desktop computer if you
wanted to move it around yeah which i mean i don't move my laptop that often the dell xps 17
it's not i don't know how big that one actually is because it has no bezels
so it might not be terribly bigger than a 15 A lot of people complained that it was enormous and heavy.
And so I remember the
days of having the HP
OmniBook or the Sony Veo and they
were just so small and cute.
But then does my iPad
fit that need?
I don't know.
You can't run TI's Code Composer
on an iPad. No, but
can I really code on a 13-inch screen anymore
unless I actually get reading glasses?
I don't know.
Yeah, the screen stuff's highly personal.
I used to only program on my computer screen,
and now I have the external monitor,
and it's like I can't work without it.
It's weird.
Depends on what you're doing,
how much stuff you've got to reference.
So I need a windows machine
it just that that's a requirement um i need it to have at least 16 gigs of ram but i think 32
because i do actually have problems running virtual machines um and compiling at the same time
and it cannot be a Lenovo
because I destroy their screens very quickly.
Sorry, their keyboards very quickly.
They're just not compatible with me.
What are my other specs?
Quiet.
I really, really want quiet.
You don't care about the screen,
but I don't believe you.
You said you didn't care if it was low resolution,
but I don't believe you. You said you didn't care if it was low resolution, but I don't believe you.
I think if you saw a 1920 by 1080 screen these days on the normal screen sizes,
you'd notice it was not very pleasant.
Okay, so apparently I need a 4K screen?
There's something around there, yeah.
I don't really care too much about battery life.
I mean, it's got to last a couple of hours hours but it doesn't have to last for 16 or anything well the trouble with ones that have bad battery life is they blow through the batteries quickly i'm looking at you computer
because they're you know they they go through more cycles than one that
lasts longer but mine's almost always charged which I guess isn't a great stay for it.
Which is actually why it explodes, but yes.
Yeah, so I mean, if people have laptops they love,
and the very quiet being the primary requirement.
I think I'm going for very quiet over GPUs.
I really, really wanted an NVIDIA 2080,
but I can get that outside of my computer, and that means it's going to be more pleasant to use my computer.
It is true that 85% of the time I'm using my computer, I'm just typing something.
And yet, I still do need the processing power to run a virtual machine and some compilers.
Oh, and Chrome and Slack, because apparently they take a lot.
But no worries about them.
I should just install them. Uninstall them.
Yeah.
Yeah, I'm sure you're really excited to hear my laptop woes um i definitely am very able to go
through the whole parametric chart yeah but then you ended up with i want either a 13 inch or a
17 inch which was kind of i felt like your chart well and it didn't lead you to a conclusion it's
really hard with the whole i want it to be, because that's not something that's listed in the specifications.
No, it's usually in the reviews, and the reviews are like,
okay, well, what do they do?
And the reviews are, I mean, one will say it's quiet,
and one will say it's loud,
and everyone will say that Dell's quality sucks.
But my Dell has been okay for me.
I mean...
Yeah, except for the battery. It's been pretty good.
After the Lenovo keyboard crises of...
I don't know what you did to those things.
I was so happy to get the MacBook Pro.
Even though I was running Windows on it,
that keyboard was just awesome.
I liked the aluminum.
Get him on Mac and run ARM Windows in a VM.
No, I can't.
Probably wouldn't work very well.
No. No, because I'd run ARM Windows in a VM, and then I would try to run VirtualBox Ubuntu in a VM on top of that.
No, he'd run Parallels.
That's not really a solution I've had.
I've managed to make stuff work doing that,
but there's still some corners that things just aren't built for ARM.
Turns out, even in the Linux world, it's like, oh, can't get that.
The vendor didn't bother to compile an ARM thing.
I mean, I found that for TX2 as well.
Or the NVIDIA TensorFlow stuff, they only build it for their arm.
All right, we've kept everybody long enough.
Well, thank you for chatting with me, and thank you for producing.
Thank you, all of you listening, for listening and for being great listeners.
If you'd like to contact us, show at embedded.fm,
or hit the contact link on embedded.fm.
And now some Winnie the Pooh to leave you with.
So Eeyore stood there, gazing sadly at the ground, and Winnie the Pooh walked all around him once.
Why, what's happened to your tail?
He said in surprise.
What has happened to it? said Eeyore.
It isn't there.
Are you sure?
Well, either a tail is there, or it isn't there.
You can't make a mistake about it, and yours isn't there.
Then what is?
Nothing. Let's have a look, said Eeyore, and he turned around slowly to the place where his tail had been a little while ago, and then finding that
he couldn't catch it up, he turned around the other way until he came back to where he was at
first, and then put his head down and looked between his front legs and at last said with a long sad sigh, I believe you're right. Of course I'm right, said Pooh.
That accounts for a great deal, said Eeyore gloomily. It explains everything. No wonder.
You must have left it somewhere, said Winnie the Pooh. Somebody must have taken it,
said Eeyore. How like them, he added after a long silence.