Small applications like Dave's 3KB Retro Notepad can consume hundreds of megabytes of RAM due to Windows system components, DLLs, and runtime overhead that are loaded when the application runs, not just the application's own code. This demonstrates that executable file size and RAM usage are fundamentally different metrics, as the operating system loads additional system libraries and components that contribute to memory consumption regardless of the application's own code size.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
Why Does a 3K Notepad Use 502MB of RAM? | Shop Talk
Added:Hey, I'm Dave. Welcome to Shop Talk, where we curate the week's best questions from all of the episodes we put out in the last 7 to 14 days in this case cuz we missed one week. We were both on vacation, but we're back now.
Glenn, what are we celebrating our return with? What's our first big question?
>> Ooh, the first big question, Dave. You did that Dave's Garage thing just before we took our one-week hiatus on a boat building that little might What do you call it? The >> Retro Notepad?
>> Retro Notepad. You have the teeny tiny one. So, the Tiger Beast says, "Hey, Dave, why does it use 502 mega RAM? The Windows 10 Notepad uses like 1.2. Come on."
>> Yeah, that's a bug. I got a fix for it on my machine. It's actually a bug in the DTE code that I picked up from from Matthew, but somebody reported it in the comments and he right away went and fixed it and sent me the patch. I just had to check it into the source code.
>> Okay.
>> So, yeah, sorry about that, but it's fixed.
>> There was Let's just say there was more than one person who noticed.
>> Yeah. A good catch, by the way. And you probably saw that in Task Manager. You'd think I would have saw that, but I didn't.
>> I was just going to say the funny thing is that's exactly right. So, you do this this Retro Notepad, they pull it up, the first thing you do is fire up Task Manager, and they're just squealing on you like like wildfire. So, pretty neat.
And then François Letourneau says, "Interesting." He says, "How much memory does the app require to run with all the DLLs?"
>> That I don't know because we just picked a number and it was a big number and it turned out to be a very big number.
So, the number is now smaller.
I don't know what it is.
>> So, what's the So, this error then that was in a piece of code that you picked up to use inside your little Retro Pad then?
>> Yeah, so the lineage is I wrote the original little tiny Windows app that was just a box with menus and Hello, world, right?
>> Right.
>> And then Matthew Power took that and added the edit control, made it into an editor. And in doing so, he introduced a bug that caused it to take 500 megabytes of memory.
And then I took my code and I based it on his most recent version, so I picked up that bug. So, RetroPad has the same bug as DTE, which he fixed in both. So.
>> Yeah. You don't happen to know how much RAM it's using now then?
>> No, I don't.
>> Okay. Okay. Yeah, but that'll get checked in in the next week or two and then people can report back to you on that.
>> Substantially less. How's that?
>> Yeah. And then Felice Nalin sort of called Not called you out but she's got a bit of a tone. She's like, "Why use Crinkler? It's a pointless cheat for something this small. Yeah, it makes the EXE smaller in terms of disk usage but it adds startup time and will not make the RAM usage better."
>> Yeah, but it makes it smaller and that's the whole point. Small as you can make it, baby.
>> Okay. Yeah, so she says it's just a waste of load time in this case but I guess that wasn't the goal so >> I mean, how how long does it take your uh 4 or 5 GHz CPU to unpack 4K of code that's compressed into one page? Not very bloody long, I would say.
>> Okay.
Uh that makes me want to jump ahead here to a question where maybe I pulled it out. Someone made a maybe it'll come up. Someone made a comment, "Well, how how come it takes so long to load? It takes like a second or two and Notepad fires up instantly."
>> It's probably paging in that 500 megabytes of memory that it needs to touch.
That wouldn't surprise me.
>> There you go. There There's your problem.
Uh Nalin Nalin, "So, how would this Notepad clone be if you had to write all of what you called from the OS?"
>> Well, you could write the whole operating system that way, right? You would just keep on writing until you had all the pieces. Yeah. And that's probably how OS/2 was written in large measure because I think it was all mostly assembly language. I don't know about the window manager and presentation manager. That could have been C for all I know but or Pascal or Delphi. I don't actually know the history of that.
But uh much of OS/2 was assembly language, so it can be done.
>> Uh and Mark Parker says, "Dave, is your code for Tiny Notepad in C or x86 assembly?" Says, "In one of your screenshots, you showed some assembly instructions, yeah."
>> Yeah, it's all in assembly.
>> Okay, whole thing. Excellent. Ozzani as Indogan. Uh "Hey Dave, I wonder why you didn't use invoke macro of modern uh MASM but moved and pushed everywhere?"
Says, "That would have created a more readable code and I don't think the binary size would go up, actually."
>> No, it would have made the same code.
I'll try to remember. I don't remember invoke being available with the assembler I was using at first.
>> Mhm.
>> And uh but it's MASM, so you'd think it would have it. No no good answer there.
I would say you could do it either way.
I'm used to the push and jump, but >> Uh that's a good answer.
>> That's just the way I've always done it, so >> Rick KF. "Is it possible to achieve a binary size nearly as small using C instead of ASM?" Instead of assembly? So I wonder if similar techniques in C could keep it under 4K.
>> Yeah, there are some There's still a lot of tricks with the loader that would be harder to do in C or less readable to do in C, I think.
>> Okay.
>> So I could see writing about 2/3 of that thing in C.
And you could make it If you wrote your C very carefully, you could probably make it as small. But there are a number of tricks going on in there in the code and um but then you've got the optimizer on your side if you're writing in C, so you could try both ways.
>> So I mean, it's anytime you switch around, I mean, it's tradeoffs and little spots here and there and yeah.
>> Yeah, well, the beauty of it is it's open source, so you could try it, right half of it in C, and see if you can get it smaller or the same size, and then it's >> Yeah.
>> check that in as a fork and >> Yep. And then Paul Addy sort of I think sort of jumps in and says, "Is there any need nowadays to code in pure x64 assembly language?
>> Not really, no.
>> Yeah, okay. Yeah, so he said with the code to solve a particular problem written in C++ written just as fine as a human could write it in native X86 assembly.
>> Well, if you want to write this in 3K, you're probably going to want to do it in assembly language. Is there often call to do that? No, there's not. So >> Uh Zerax uh off-topic question for you, Dave. Is it possible in your opinion to program a whole router to run in assembly? Would it fly? I really hope you can answer my question. Have a nice day.
>> Sure.
And I bet some of the oldest routers might have been written in assembly like the original deck switcher you know, the original uh ethernet switches. Maybe they were C, but being embedded firmware, I bet they were probably you know, written in assembly language for whatever CPU was in them at the time.
So yeah, it's possible for sure. I don't know if there's a much benefit to it, but there's it's certainly possible.
>> Okay.
>> Hey, I was just thinking if you're not already subscribed to Dave's Attic, now is a good time to go click the subscribe button because I'm reminding you to do it now. And if you're anything like me, you won't remember to do it anytime later based on memory. So uh we'd appreciate it if you'd subscribe to the channel. Get you here next time when we have an episode and we'll see you then.
Bye-bye.
>> Okay.
Uh I think we're going to get into a few people asking about different add-ons and things that could or could be done.
So there's a whole bunch of yeah, lots of people, lots of ideas. So curious to see how these go.
Uh Erdahl Goklu, uh I'm curious. The only recent feature on the default notepad that I like Oh, this is yeah.
Is the tab feature.
He says, "How much would it cost size-wise to add that to this tiny notepad?"
>> Yeah, it wouldn't be too bad if you used Windows property pages and you >> Yeah.
>> made each one an instance.
It would take it would add code to it.
It It would have blow past the 4K barrier, I don't know, but it would add some code to it for sure.
>> Okay.
>> But it's not as you don't have to do everything from scratch because there is a property tab page or a property page and tab control all built into Windows ready.
>> Yeah, and then Cam Four Dance again. I remember lots of people talking about they hated that feature in the new Notepad. And yet, Cam Four Dance says, "How about a tapping version of it?
What would that be like? I'm not a programmer, just sort of a long-time watcher, first-time poster. So, there you go, Cam Four, got your question answered.
>> Yeah, I have never used a tab feature of Notepad, so I guess I'm not a fan or haven't missed it.
>> Yeah, and I've I've started using Notepad a little bit recently and sort of an all right, every time I pop it up it's got like the last thing I had in it.
>> That I don't like. I just want a new Notepad every time I start.
>> Yeah, I if you want to put the tabs there, but just don't pop it up with the most recent thing I had cuz I'm like, no, that's what I'm Oh, right. Yeah, a couple little goofy things like that. Um I guess you know, you don't need to get used to that. Just change it.
Smithcraft, how many bytes to add a character word count?
>> I don't know. You'd have to have try it.
And the way we would structure the code, everything is in like an if def basically. So, if defined add word count feature.
And then if your variable is defined, then all the code for that feature is there and adds the feature. And if it's not, it still works just without your feature.
And so, we've got a number of ala carte features, so you can add any features you want and people can turn them off and on independently. So, as long as you write it so that it only, you know, that it works both ways whether enabled or disabled and doesn't grow the binary by any appreciable amount when it's turned off, then you can add pretty much anything you want.
>> And the royal we is you and Matt then, right?
>> Uh No, the royal we is everybody that's not me.
>> Okay.
Well, you said we have it with the the if def in it.
So, that we is that just you or that's >> That's just me, I guess. That's in my version.
>> Okay. Okay. okay, okay. David Steinberg says very interesting experiment, but one question. Windows 11's version of Notepad had auto save. In my opinion, the biggest improvement, um it's needed.
Does yours include it? And if not, how large would Notepad be without feature added?
>> It does not include it, and I don't know. You'd have to add it and then find out how many bytes it took to add it cuz >> I think that's a a commonality with all these questions. Everyone's cuz it cuz you did it under 4K, so like, oh, if we add this feature, can we still stay under that?
>> Yeah, they're all trying >> you can. I mean, I've had to move on to other projects, so I can't go back and spend weeks adding more features to RetroPad, but that's why I checked it all in so the world can run with it from there. So, have fun with it.
>> Yeah, and the 4K's a neat a neat initial size constraint, but it could be RetroPad under 6K, and then you can add more features.
>> we've got the feature structured, because you can do them a la carte, you can probably have your pet feature and the rest of base Notepad and still keep it under 4K, ideally.
>> Yeah.
Um and channel zero says, I can't code anything better than the basics, so I only have a very um basic understanding of what you're talking about.
Would it be possible to add spell check to this? There's another, yeah.
>> Yeah, but a dictionary is going to be a large file.
>> Right.
>> So, that's unavoidably big.
>> Okay.
Uh and then we got some other suggestions here for other stuff. Johan Wilkerson says, but Dave, we really want regex. Think you can get that in by next week?
>> No, nobody needs to know regex anymore.
It's all AI.
I spent spent a lot of time in college learning regular expressions just to have AI come along and say, I got it, Dave.
>> Let me let me take this one for you, yeah.
Dr. B934, any chance of a dark theme for these old eyes?
Uh or sorry, for these old eyes with the left leftover bytes? So, okay, I found the switch in the code at line 49.
>> Yeah, it I already there.
>> That was I think there were two people that made that request and I think they both found it, so.
>> Good.
>> That was pretty neat. Uh Iana Butler, "Original Notepad was poor because of two things. Unix line endings, slash n is slash n isn't enough, and one level of undo. Far too restricted to be of actual use for code editor. Possible to handle these and stay within the 4K 8K?"
>> Well, you know my answer. We'll know when you add it and then find out how big it is when you do.
>> Tell us.
>> Yeah. Um I don't know. Again, it was never intended to be a code editor. That's why it doesn't have multiple layers of undo, but >> Okay.
Uh Mimi 8505, "How does it handle large text files with some over 10 megabytes?
The old old Notepad struggles with that stuff."
>> Anything that it's basically the same as the old Notepad, so anything the old Notepad would struggle with. 10 megabytes, probably I don't know.
I'm not sure how they handle really large documents in the >> edit control.
>> Okay.
>> But I've never really seen it struggle, but I've never tried to put a 10 megabyte file into an edit control, so.
>> Yeah, and then Velos says, "The only problem with these versions of Notepad is that it can only open files up around 1 gig. Is there a way to fix that?"
>> Yeah.
>> Rich your manifesto more more brevity.
>> Yeah, don't use Notepad if your file's more than a gig. Suggested, yeah.
>> There you go.
>> It's got to be some other tools that you can use that.
So, Jacques Ben Simon, "Cool project and fun video. Curious about something. All the way through Windows 10, Microsoft-based Notepad on an edit control. What drove your choice of a rich edit control for Tiny Retro Pad?"
>> Uh it gives the fonts, for one thing.
There were some other features and that that's probably a question best to direct to Matthew. Maybe he can answer it in the comments.
I know he initially used edit and then he moved to rich edit and I forget.
There was a reason and I know he wrote it down and I read it, but now I don't remember what it is.
>> Okay. Well, Jacques says, "I'm wondering if it accounts for the inconsistent behavior of tabs in the text as they don't seem to correspond to a fixed number of characters and line up differently depending on the font even if mono-spaced."
>> No, I didn't notice that.
>> Uh and then uh Harold Smith says, "It doesn't work with Unicode files. Only ANSI is supported?"
>> Yes.
>> Okay.
And that's by design?
>> Yes.
>> Okay.
>> It's just easier. So, it's smaller.
>> Yeah, that's right cuz that's what this issue was all about. Hello hell, incredible achievement. However, at its current state, it has some issues.
The file is not saved at all if the name of the new file contains Cyrillic characters. Cyrillic characters inside a document are replaced with question marks, which makes me think that it's not If the document is not defined as text when saving, it could be because there's no font as a default in fonts.
>> I don't know. It could be that the conversion of whatever's going on with Unicode to multi-bytes or whatever's going on there behind the scenes is not doing what you expect, but I don't support It doesn't support Unicode or extended characters really at all.
So.
>> Yeah. Um Starring Broad Daylight, does your Tiny Retro Pad use memory-mapped files to circumvent those annoying file in use errors?
>> No, but it might behind the scenes because the edit control is actually what's handling the file. So.
>> Okay. And then he says also, "Can you make it look like a contemporary Windows app rather than a Windows 3.1 app?" I guess that's a Yeah, that's not the point of it, right?
>> Right.
>> It's to be a tiny most basic simple thing.
Tim the Win, thank you for the accessibility honorable mention.
Uh he says, "For platforms as old as Win32, does accessibility come as default? Like do you need a separate framework to make a program accessible to assistive technologies?"
>> Not usually. You can code accelerators into your menu items with an ampersand.
So, for example, the file menu has ampersand f i l e. And that tells it that the f is special, so that when you hit the menu key and then f, that means file.
And then o will be the open, and s will be save, and a will be save as or something like that. It could be anywhere in the letter in the word, but >> Oh, okay. So, yeah, he says I'm I'm not a programmer, but assuming that accessibility is somewhat bolted on after the fact. So, he wonders how that integrates with the rest of the Windows platform as a whole.
>> I've always done it from the beginning.
Um >> Yeah.
>> Not something I go back and add at the end. So, it's always something I design and code in from the beginning, and it's pretty easy to do in Windows, which is why I do it, I'm sure.
>> And so, that that's something you did. Was that sort of a standard Windows approach during your time there 20 years ago or yeah?
>> Yeah. Task Manager has all similar accelerators, so you don't need the mouse for anything, and >> Okay.
>> Or you shouldn't.
>> Yeah. And then Lester of two evils, I think more broadly sort of says like, why did Windows abandon this programming mode if it's so efficient and effective?
>> Takes a lot longer to add features.
And people crave features.
>> Right.
>> So, if your next operating system came out and it was 2 years later and it was like 10% smaller, it's hard sell.
>> Yeah, that doesn't bring them out for the for the upgrade pack, right? Michael Hull has a question about concerning compatibility. He says, this has always been my issue with Microsoft. Yes, I'm a Mac guy, but the compatibility argument says, why does Microsoft on one hand cling to compatibility for 30 plus years in the past, and then on the other hand cut off support for some of the not so old processors. He says, he just sort of finds that odd.
>> I'm sure it's market size.
When you're talking about compatibility going back 30 years, you're talking about for all computers ever made almost.
And when you're saying they abandon a particular CPU, uh it's because it doesn't support features needed by the latest version of Windows. So, at some point they're making the trade-off like for secure boot and things like that where it's just like, "Yeah, we're going to have to move forward in order to make the experience more secure for everybody."
And I'm not you know, those decisions are made above my pay grade, so >> Yeah, and the compa- the backward compatibility thing's more of a an application compatibility as opposed to a hardware compatibility, right?
>> Yeah, but he's right. Like why go to all the work of supporting old software if you don't want to support old hardware?
Well, they do support old hardware, but not for the newest systems. So, >> Yeah. Okay.
Okay.
Uh Peter Moore said I'd uh I'd love to hear your take on Win RT sometime.
To me, that is the root of almost all modern bloat and all around evil in Windows.
>> I know nothing about Windows RT. I've never run a Windows RT app. I have never seen it. I heard about it, but I was kind of on a Mac mostly at that time and >> What is the RT? Oh, that's the one for the like the the their touch pad or something, was it?
>> No, it's a it runs on the Windows desktop, but it also ran on the touch pad or the surface.
>> Okay. Okay. Right.
>> for road and track.
>> Oh, yeah. That's what we talked about.
Yeah. Yeah, road and track. Yeah.
>> Yeah.
>> Yeah.
I think we went off on that once before, so Puff the Magic Dragon.
Can you imagine what our computers today could do if we still built our apps as optimized as we did 20 years ago?
>> Yeah, they'd have like 1/4 of the feature set, but they would be lightning fast. I mean, you could if you if that's fine with you, you could install Windows XP on a disconnected system and it is super snappy. You don't want to take that baby on the internet or anything, but >> Cyrus Gaming, what are the philosophy differences between Windows and Linux in regard to being a platform for applications? Do the various Linux distributions cover the gambit from your description of Windows to the radical opposite or is the focus more narrow?
>> I think the biggest difference between the two of them, I mean they're they're both doing the same basic job, but well Linux is going to be stream and file based where Windows is going to be object based.
And that's probably the biggest fundamental difference between the you're going to be exposed to as a programmer.
As a user, shouldn't matter really. I mean the user experience should be the same on should be consistent across the systems and probably the same between systems.
It rarely is unfortunately, but >> Mr. Capacitator How about getting different AIs to produce the same sort I think the retro notepad and see which one gets closest to this small size or maybe even beats it.
>> Yeah, I could also have them race prime sieves or something. Have each AI write its own prime sieve.
>> That's yeah, that's a neat little thing too.
>> Yeah.
>> Claude versus Fable or no, Claude versus Fable. Fable versus GPT-6.
>> Yeah.
>> 5 6 soul. That's what it is.
>> There you go.
I guess I have to put that on my list.
Yeah.
>> Yeah, remind me later.
>> I should create a list somewhere actually. That's a on my to-do.
Put that on me.
Zabola Hey Dave, love all your videos.
I'm curious how you managed not to fall into surrendering all your mental capacity to AI.
And what do you think of AI?
>> Uh I love it actually. It allows me as an experienced programmer to command a I don't want to say a team of bot programmers cuz it's really I don't use bots much except when I'm paying the big bucks for Fable.
But uh even having our super talented intern who turns things around really quickly is kind of what it's like.
>> Yeah.
>> And I don't know. I just I find it really empowering.
And it's not like yeah, the things I used to do 3 years ago can be done by AI now, it turns out. So, you don't need me to do it anymore. So, I would lose my job if I weren't doing more better and more interesting things as me plus AI at this point. So, you want to grow with it as opposed to hide from it, I think.
>> It's a skilled helper that still needs supervision.
>> Yeah, and it it's well, it's really a tool and it's how well you wield it.
>> Yeah. Casey AEC, uh oh yeah, there's I think two folks mentioned this. I I tried to download it from GitHub. My whole computer Windows Defender is certain it's a virus. Says, "Why? It's not registered."
>> It does some tricky stuff. It goes in, patches its own loader table, does stuff that viruses and worms might do if they were trying to be sneaky, and it's trying to be sneaky, but it's being sneaky for size reasons, not for concealment reasons. So, but it is doing stuff that would be kind of sketchy for a normal program to do.
>> Okay. And then uh BK Nesheim says, "Google Chrome found a virus in the get zip file. Is that correct or a false positive?"
>> False positive.
>> Okay. So, it's just because >> checked in a virus, but it was clean when I put it in there.
>> Yeah. So, it's just because of this tiny program that's trying to do some pretty fancy stuff >> Yeah, it goes in and blows itself and it self-modifies and it patches up the loader table and the thunks and the loader entries and stuff and it Those are all things that a virus might do to your application.
>> Right.
>> So, when it sees it doing it to itself, it's like, "Uh this looks weird."
>> It flips some flags and it goes, "Whoa, whoa, whoa." Yeah. And then uh Silja Mäki-Kyyny says "Bonus challenge. How much telemetry and Copilot features can you top up until you reach the 4K limit?"
>> Enter your credit card number into this box. We'll make it brief.
>> Yeah.
>> We'll only go for lunch on it once.
>> Yeah, give us your credit card number, Silja, and then we'll we'll give it a whirl.
Maybe try it out twice. Roger P, uh why don't you put your PCB designs uh on the PCBWay open source community area where others can buy them. You sort of give people an easy place to get your boards and provide a lot of income for your autism interest. So, win-win for everyone.
>> Yeah, I'm not good about sharing the PCBs cuz I don't know what this is just a Gerber files and a bomb like a XLS of parts. See, I don't know what to share.
I don't know enough about PCBs. I'm kind of the design it, lay it out, click order PCB from menu.
>> That's the extent of your expertise in that.
>> Yeah. Yeah. But I'm sure if I stretch my horizons a little bit, I can get it to work. So, I will try to do that.
>> Cool.
Uh Newbie McNewbie Newberson Uh I'd really like to see a series on how to connect to a CAN bus and read and interpret the data coming off of it. Any chance of you doing that one?
>> If only I had CAN modules.
>> Is that like those showed up 2 days ago or what?
>> Today, I think. I got a box of them.
Wow.
>> Oh, okay.
>> So, those allow me to connect an ESP32 to a CAN bus high low. So, I want to do a couple. I don't have a handy ECM to talk to.
You know, like a computer to talk to. I don't want to blow up my car. So, I'm just going to have a couple CAN bus ESP32 modules talking to each other, I think, to show how it works.
>> Could you Can you go to like an auto wrecker and pull a couple of ECUs or something off of a car?
>> I was going to. I just don't You don't I don't have the main harness to power the thing up and then figure out which wires are are which. So.
>> I'll look in the magic cupboard and see I know I have some ECMs. I just don't know if I have anything with a wiring harness.
>> Yeah. Would that um change the capabilities or capacity to cuz I think the last time you were doing there was two things you were trying to do something with the Range Rover.
I think you were also trying to do something with your M3 on the canvas stuff and sort of hit a bit of a limit on each of those.
>> No, in those case that was different.
So, those were using commercial or, you know, third-party canvas modules. I want to build the actual module this time to talk to the two-wire canvas.
>> Oh, okay. Okay.
And it's cuz Eric Bash said that oh, you can definitely use the ESP32 for listening and writing to the canvas. He says he's working on it right now. So, he must have the same um units that you have. He says he's using ESP32 C6 and then a special something or whatever for his project.
Yeah, that SN65HVD230 or whatever he says, yeah.
Yeah.
>> Or as I call them, the thing that ChatGPT told me I needed. Yes.
>> There you go. Yep. He says he recommends that ESP32 C6 that's got two can controllers and very good power save settings.
>> That's nice. I haven't yet ever used a C6, so.
>> Yeah, he says everything of course integrated in Home Assistant, so.
>> Very cool.
>> Barry S, regarding the oil in your Lincoln, says it needs a higher zinc content because of the flat tappet lifters.
>> That is correct, sir.
>> Yep. Most synthetics do not have enough causing the lifters to wipe out the cam.
Ask me how I know. Oh, I bet I know why you know.
>> Hang on one second. I'll be right back.
>> You going to go to a flat tappet lifter or what?
>> That's why I use ZDDP in all of my flat tappet cam engines. Glug glug glug. No, don't drink it.
>> So, his next sentence is have you tried adding ZDDP in the oil for your flat tappet vehicles ring cam failures. There you go.
>> What I'm not running right now is a lead substitute or lead additive in the fuel, so which could be hard on the valves if I I'm not towing or going up mountains, but >> Yeah, that can be done though, right?
You can get an additive.
>> Yeah, >> I've got to find a good one.
>> Is it an actual lead additive or something?
>> know. I want real lead or something or something equivalent to it. So, >> Yeah, yeah, yeah. Try not to lick your fingers after anything, but Well, not too much.
>> it.
>> Yeah.
>> Remember those shampoo ads? It's got beer in it, but don't drink it.
>> Oh, yeah. That's right.
>> Cuz I was going to drink the shampoo.
Then you told me not to.
>> Oh, sorry.
>> remember what the brand was, but >> Yeah.
>> Let me get a clip of the ad and stick it in here.
>> Mhm, clean. I mean really clean. And it holds any set I want.
>> New beer enriched shampoo, Body on Tap, gives your hair super body, super hold.
>> Brewed with 1/3 real beer.
>> Wow.
>> But don't drink it. Just shampoo.
Whether I roll it, pin it, curl it, or blow it dry, it gives my hair super body, super hold.
>> And the shine of your life. It's the beer shampoo that does it in three body-building formulas.
>> That's body.
>> On Tap.
>> Uh Sudlow.
Uh can we call it DavePad and campaign for it to be installed by default?
>> Uh I don't know. There's probably a DavePad out there already somewhere by somebody.
>> DaveWPad, DavePLPad, yeah.
>> There you go. DavePLPad. That makes no sense to me.
>> There you go. The faster version of Notepad.
>> DavePlad.
Without the I, yeah?
>> Yeah.
>> Yeah. And then the people would think it was a Mac product if it had an I in it, right? So, >> There you go.
>> Yeah.
Uh non-linear sound.
Uh oh, here we go. Dave, may I give a suggestion?
>> Mhm.
>> And he's going to cuz I'm going to read it right now. How about making a couple of videos where you introduce the Windows way of programming classic UI using C or assembler including topics like needed structures, libraries, how to make your life easier while concentrating on creating uh performant applications.
It says, "It should include topics like layout, standard controls, data loading and exporting, maybe asking the OS for general purpose information that's being displayed on your UI."
I see that a lot of engineers would like to code classic Win32 UI, but don't dare or avoid due to the apparent complexity of the APIs.
>> I did do an episode where I start with the very basics like how to open a window, how to register a window class, how to then call create window with that window class, and it was originally in C, so eventually it went to assembly, but the the first attempts were at C. So, that's actually a pretty good reference for how to do a really basic Windows application. It doesn't get into the control layout or UI design or anything like that. It's strictly how to open a window very simply in C.
>> And that was on Dave's Garage like 3 years ago >> or 4 years ago, yeah.
>> Okay. Okay. Do you remember what it was called? I can maybe pull up a link to it or something.
>> reads about small programs.
>> I saw that. You put something out on Twitter about the the Dave Cutler interview.
>> Oh yeah, the role I gained 40 lbs or 50 lbs to play.
>> Yeah. Yeah. We call that your raging bull face, right? Yes.
Except De Niro did it the other way, didn't he? He got like super fit, filmed all that, and then packed on the weight to do the heavy. Yeah.
>> I guess it wrecked his metabolism and he had trouble losing it.
>> Yeah.
>> All kinds of stuff.
>> I wonder if uh what's-his-name, Batman, had the same uh who are we talking about who's the Batman that was in The Mechanic?
>> Uh Christian Bale.
>> Christian Bale. Yeah. Yeah. That Mechanic movie where he like shed all of his weight except for his bones and skin was to wreak some havoc on his body.
>> uh Matt Damon had some mental side effect issues from losing all the weight for the role he had before Saving Private Ryan. He plays a anorexic soldier, I think, or a soldier with AIDS or a soldier who's wasting away from something, anyway.
>> Wow.
>> Yeah. That's why I declined all those roles. I just didn't want to impact my metabolism. Like, I'm not going to sacrifice that, so >> Well, I figured for Dave C, it was worth it, you know.
>> That's right.
>> I ate my way into it.
>> Uh the bilge bumper Dave, uh would you like to show us what programming simple application for the Amiga 500 is like with tools from the '80s?
Said the OS said some API features and the contrast between what the OS could do for a program back then and what modern OS's do sounds neat to look at.
>> It does. I should probably leave that to one of the like Hans Beta Hans Beta.
>> You know who I mean.
Uh and you know, other Amiga enthusiasts. I don't want to step on their toes too much, cuz I don't think there's broad appeal across that. You know, there'd be some people would remember the Amiga, but it's going to be a pretty small audience, so >> Yeah.
>> I got to steal their thunder.
>> There you go. Leave it to them. Crazy screwdriver Uh his question for this week's attic is Is an Amiga worth a couple videos? She basically made you who you are now, career and after all and all after all. Do you have old hardware willing to play with the UAE for fun and giggles?
Back then, um were you were also exact compressor Back then, there were also exact compressors that did funky stuff to the overlay of the screen.
Says if you ran several PDPs, isn't Amiga your midway point? Beautifully explained wisdom nuggets like always.
Keep it up, sir. Oh, they called you sir, just like on your vacation. Yeah.
>> There you go.
I keep saying there you go. I got to stop saying that.
>> Yeah.
>> Uh I do have an Amiga. I've got a 500 and a 2500 HD.
And I think I kind of remember struct intuition base pointer equals open library struct intuition base and so on and so forth. Yeah, I think I remember enough of the code I could probably do it.
Let me ask around and see what people say for interest. Or if you know, if you if you want to see it, let me know in the comments. If we see tons of like, "Yes, Dave, do an Amiga episode." then then I know.
>> Yeah. When did you transition from the Amiga to >> 95 or after I moved to Microsoft. I still used an Amiga at home for a lot of internet stuff.
>> Until I got uh NT >> sucked into the Microsoft microcosm or whatever.
>> Yeah.
>> Whatever. Yeah.
>> Converted.
>> Yeah.
Converted.
Oh, uh David Batchy says, "Hey Dave, as usual, thanks for the great video. I have a suggestion for another video.
What about the clipboard? We use it all the time, but who has the idea? When was it first added to Microsoft products?
How does it work under the bonnet? Uh how does it keep programs from accessing data belonging to others? I hope others may like to learn about this simple but useful feature."
>> It's a good idea. Um I believe the the guy that just invented copy paste just passed away in the last month or two, I think.
>> There you go.
>> I forget his name, unfortunately, but uh that would be the origins of copy paste, and the clipboard is basically the repository for it to go across apps and so on and so forth. So, yeah, that might be an interesting topic. And I wrote an app called Clip Tracker years and years ago that >> Right.
>> does a whole bunch of clipboard stuff, so >> Yeah. Yeah.
>> So, I can get that running again somehow.
>> And Mac just changed the way their clipboard history works, and it's irritating me, so boo brother Mac.
>> Boo brother Mac.
Boo brother Quartz.
>> Boo brother Quartz, yeah.
Boo brother Quartz.
John Gallanes uh is that a beer bottle opener around Dave's neck?
>> No.
>> And you know what I'm saying? And United Penguins said, "Hey Dave, cool necklace.
What is it or what does it represent?
Sorry, I got distracted by the shiny necklace and had to ask."
>> I don't know. It was my my My mom gave it to me. My mom's in hospice. My dad passed away like 30 years ago, and uh it was a piece of jewelry she found that she had given to him, and so she gave it to me to to wear. And I don't know what it is, what it represents. It could be something really weird for all I know.
So, if you know from the appearance, let me know. I'm not wearing it currently, or I would show it to you, but >> Yeah, and there was another person uh in another comment I remember said, "Oh, it like that thought it was cool sort of a um a bit reference, like a one and a zero."
Which I guess it's sort of like a >> was an off button, like the power button on the >> Yeah, yeah.
Yeah. Or the logo for The Incredibles, maybe. That's That's what it is.
>> go. There you go. It's going to electroshock me every time I say it now.
>> What's that? Oh, okay.
>> There you go.
So, we're playing a drinking game. Every time Dave says, "There you go."
>> That's That's the title for this episode.
>> There you go. Yeah.
>> Oh, we're down to the last question, Dave. Um and it's Blake McK- Blake McKringelberry.
>> Okay, then.
>> We don't We don't ask questions. We just read the names. Um I thought that was a neat way to close it off. He says, "Your tenure is much different in this video than in others.
And I think it's because the 4K challenge is tickling your brain, and you're getting significant amount of joy from it."
>> I did really enjoy that one, yes.
>> Yeah. He says, "If you were interviewing people from an for an engineering position, would you prefer hiring someone of lower skill and higher programming joy, or higher skill and lower programming joy?"
>> Can it be both?
That's my >> Yeah.
>> deep answer, but you can't take somebody that doesn't have the skill set, but you can take somebody that's smart and loves coding, and they will learn more.
>> Yeah.
>> If somebody's already working at the limits of their intellectual capacity, and they're not very good, but they love it, that's a good hire potentially for certain roles, but it depends what the role is and how advanced you need that role. But, yeah. Enthusiasm and and find people that actually code cuz they love coding is a big deal. So.
>> Yeah, I mean I I don't That's not my area, but if you don't have some joy in what you're doing, it's like >> Right.
>> If you're skilled and don't have joy, who we we must really need the skill that the skill you have must be really important cuz >> Well, there was there was a bunch of layoffs at Microsoft lately, and there was a fellow at Microsoft that was posting in our old old-timers group, and I won't I wouldn't have learned anything, so I hope this is an okay, but he was saying that he's, you know, been there 30 years or something, got laid off, but he doesn't have a PC at home, so he's got to go get one now.
And what should he get? I'm like, how can you like work at Microsoft and not have a computer at home? That's weird. I mean, I guess you get enough at work maybe, but for me it was always like I'd come home and work on more stuff, so.
>> And he was a like he wasn't like a Microsoft employee >> He could have been a >> a janitor or something or yeah.
>> No, we we don't could have been an HR or something where they're not using computers all day and not a computer person. They you know, had it been an engineer, that'd be more concerning, I guess.
>> Yeah.
Intriguing. Yeah.
Anyway, Dave, so we were off for a couple weeks. There was a lot of lot of detail questions on that uh that retropad that you did, but a lot of interest, and uh we're back in our regular schedule now, so.
>> All right. Well, make sure you subscribe to Dave's Attic here, and make sure that way you will see us again if this is your first episode and even if it's not.
Sometimes things fall off the radar if you're not subscribed, so give us a subscribe and a like, and we appreciate that, and we'll see you next week right here in Dave's Attic. See you then.
Ta-da.
>> Did you just restart recording?
>> Yeah, just in case we say anything clever.
>> Oh, okay. I just saw the countdown again. I thought, I hope that wasn't the first countdown, you know.
>> Okay, let's do it for real this time, folks.
>> Yeah, yeah, yeah, enough practicing.
>> I'm going to film in the camera.
>> Hey, you almost said film that time. I think you did say film, actually.
>> Film?
>> Just one syllable, yeah.
>> Film.
>> Film.
>> Film.
>> Film. Film.
>> Go to the cart.
>> Fill her up.
>> Lord of the tools two-pieced in >> Lord of the tools?
>> That's what it's called. Oh, I thought that's who they were addressing it to.
>> Uh you're off the ship. You're not sir anymore. Now we'll just call you Lord of the tools.
>> That's me.
>> And if you want to be old-timey, you can be Lord O the tools.
>> Lord Okay, well how do you go to the cart?
Go to cart.
Proceed to checkout.
Continue to checkout.
Oh, maybe I do need something else. Hang on.
Ford blue spray paint.
She's going to blow. She's going to blow.
Uh whoops.
Me so stupid. Me so dumb.
That's >> D'oh!
>> You know that one episode of Simpsons where Bart, I think he's trying to get attention because he's got a baby sister or something they're flashing back and he's he's got a pot on his head and he's walking around banging another one and he's like, "Oh, I am so great. Oh, I am so great. Everybody loves me. I am so great."
I love that. And then I always do the when I make a mistake, I'm the "Oh, I am so dumb. Oh, I am so dumb. Everybody hates me. I am so dumb."
>> Is that your uh your self-emulating mantra?
>> Yes, that's my uh failure failure song.
What on earth is going on here?
What the hell are all these?
>> What's uh what's happening or what's not happening?
>> Well, sir?
>> None of your business. Just leave me alone.
>> Trying to run Robotron here. It's >> Oh, okay.
>> right.
>> Trying to think but nothing's happening.
What What you talking about, Willis?
>> Oh, well.
>> Oh, well. That's it. You just give up like that?
>> Yep.
I don't know what's wrong with it.
No, I bet I know what's wrong.
>> PEPCAK?
>> Something's really broken.
>> Oh, really? In your Robertron code?
>> I don't know what's wrong with my code, but machine's acting funky delic.
It's like running at 10% of the speed here.
>> Oh, snap.
That's what, 90% too slow?
>> Reboot.
Pseudo reboot.
All right.
>> Su su studio.
>> Oh, I guess that's >> That's my furnace in front of me.
>> In the stu stu studio.
Turn off your furnace.
Oh, you don't have your furnace on. You have your air conditioner.
>> How's my audio? Everything good?
>> Yes, sir.
This thing on?
>> Ooh, yep.
I probably broke it. Does it still work?
>> Yep. Mine still work, too.
>> Yep.
All right.
>> I can see you. I can hear you. It hasn't glitched.
We'd be good to go.
>> I think we're recording as far as I can tell.
>> My shirt has a pocket. Yours doesn't.
>> I got no pens, so.
Apparently, I ordered a shirt.
>> Mhm.
Ooh, Marvin.
Nice.
>> Marvin the Martian.
>> That's awesome.
That was one of the $21 ones or whatever?
>> I think so, yeah.
>> That's nice.
>> It's actually not a bad shirt.
>> Yeah, that's good. Excellent.
All right, full throttle please on that question.
That's actually Gazoo, isn't it?
Yeah, Gazoo is Dum Dum. That's right.
Marvin the Martian is I'll vaporize you.
All right, here we go.
>> Yes, sir.
>> Hey, I'm Dave. Welcome to I got to do my me me me me mo.
>> Yeah. Hi, I'm Dave. Welcome to the Psych.
>> This little chair will be waiting for one of you and a rocking chair for another who likes to rock and a big armchair for two to curl up in.
All next time, right here on Shop Talk.
Related Videos

TOP 15 Data compression Interview Questions and Answers 2019 Part-2 | Data compression | Wisdom jobs
wisdomjobs
281 views•2019-06-28

CTS 158: 802.11w Management Frame Protection
ClearToSend
4K views•2019-02-04

NDSS 2019 Send Hardest Problems My Way: Probabilistic Path Prioritization for Hybrid Fuzzing
NDSSSymposium
496 views•2019-04-02

How realistic is Cities: Skylines?
CityBeautiful
159K views•2019-02-14

GUIs & TUIs: Choosing a User Interface for Your Python Project | Real Python Podcast
realpython
2K views•2025-04-04

The OSI Model - Explained by Example
hnasr
225K views•2019-05-12

Cloud Computing - Introduction
elithecomputerguy
98K views•2019-10-07

From Traveler's Dilemma to Dynamic Routing | Demystifying Networking
IITBombayJuly
5K views•2019-08-04
Trending

Gremlin Arrives… While Dorothy May Takes Another Step Forward
The-moons
10K views•2026-07-23

Playstation NO DISC/NO BUY Fight Is Over...
DavidJaffeGames
4K views•2026-07-23

Americans Confused in Australia for 17 Minutes Straight
IWrocker
17K views•2026-07-23

FURIOUS Raskin CORNERS DOJ over Trump DARK PAST!!!!
MeidasTouch
237K views•2026-07-23