640 k ought to be enough for anyone.
(Misattributed to) Bill Gates, 1981
If you need to know, Wolfenstein 3D is a 24-year-old game that pioneered a genre nowadays known as first-person-shooters. I installed it last weekend, triggered by a high dose of nostalgia caused by reading The Masters of Doom. (Thanks for the book recommendation, Robert!)
The zipped shareware version of the game has size of 692,526 bytes. Yes, bytes! Roughly 676 kilobytes. Unzipped, the game takes double that size, 1,409,981 bytes. Roughly 1.34 megabytes.
I started DOSBox and in parallel, out of curiosity, Windows Task Manager. Once started, DOSBox quickly reached 71,824 kilobytes of RAM. I loaded Wolfenstein 3D and like in good all days, almost in tears, I proudly announced that “I am Death incarnate”.
The run through the Castle Wolfenstein started. Room after room, door after door, bullet after bullet I was running through the maze eating turkey dinners and dog food on my way to the next level.
And the DOSBox started asking for more memory, jumping from those 71,824 kilobytes to 72,904 kilobytes where it settled.
No matter how many enemy soldiers, secret rooms or other surprises were behind the next door I opened, the memory consumption didn’t go any higher.
The Task Manager is not the best way of measuring the memory consumption, I know. Especially in this case. But for the purpose of this strong impression I would say that it’s safely to assume that my nostalgic run through the Castle Wolfenstein took 72,904 - 71,824 = 1,080 kilobytes of memory. One megabyte, roughly.
There was a lot in that one megabyte.
3D walls on left and right, with doors and suitable decorations.
Enemy soldiers shooting at me.
Actually, plenty of enemy soldiers shooting at me at the same time.
German shepherds jumping on me.
Vast empty rooms with less going on.
The famous turkey dinner ready for picking up.
Not to mention hidden treasures.
And all that consuming exactly 1,409,981 bytes on my hard drive and roughly one megabyte of RAM.
It happened that I recently installed Atom as well.
Atom is a text editor.
Obviously, you can edit text in it.
It supports auto-completion.
And has find and replace.
And has an integrated file system browser.
Syntax highlighting, although not being directly advertised on the homepage, is also there.
Now how cool is that!
Here is a glimpse on the mentioned “right out of the box” features that you’ll get after downloading and running Atom.
Not much, compared to the 3D walls with doors and decorations and enemy soldiers and German shepherds and vast empty rooms and turkey dinners and hidden treasures and plenty of other surprises waiting for you in the Castle Wolfenstein.
Still, the zipped Windows version of Atom required me downloading 89,397,644 bytes of data. Once unzipped it ate 263,518,515 bytes of my hard drive. That’s roughly 263 megabytes or 187 Wolfenstein 3Ds. For a text editor.
And it gets even worse.
Once started Atom spanned five (!?) processes consuming altogether 152,172 kilobytes of RAM. That’s roughly 150 megabytes. And I even didn’t start writing anything! Neither auto-completing, nor browsing the file system in the integrated browser!
Honestly, I was afraid of typing a single “a” in that “untitled” file opened by default.
150 megabytes… For what? Plain text editing and auto-completion?
I couldn’t stop wondering how many more enemy soldiers and walls and vast empty rooms and turkey dinners John Carmack would have put into Wolfenstein 3D if he has had 150 megabytes of RAM at his disposal. To quote John:
It happened also that I recently downloaded The Complete Works of William Shakespeare.
There is a lot in Shakespeare.
Romeo and Juliet. Antony and Cleopatra. Hamlet. King Lear. Titus Andronicus, just to mention few I know. Julius Caesar is also there if I remember well. Than Othello. And the Merchant of Venice. A Midsummer Night’s Dream. And all those kings Henrys and Richards.
And then, there is a lot in each of those plays.
I watched a premiere of Othello in Gavella. So, there is that guy Othello secretly marring Desdemona. And than the other guy Iago who hates Othello but Othello is not getting it. And then they all go to Cyprus with plenty of other people. And then Iago gets pretty creative in canalizing his hate toward Othello. And than comes the intermezzo because the play is way too long. And than after the intermezzo plenty of other things happen before everybody dies.
Later in the theatre’s hallway some lady was complaining that Gavella actually shortened the plot!
What I’m trying to say is - there is a lot in Othello. And not only in Othello. In Romeo and Juliet as well. And in Antony and Cleopatra for sure. And in Hamlet. In 1987 Adrian Hilton, pictured below, acquired a Guinness World Record for longest theatre performance. He was reciting the Complete Works of Shakespeare non-stop for 110 hours and 46 minutes. That’s 5 days of reciting. Without sleep!
All those “a lot”s combined together, downloaded from Project Gutenberg and saved in a plain text file take exactly 5,560,736 bytes. 5.5 megabytes, roughly.
Let me stress this fact once again. The Complete Works of William Shakespeare takes only 5.5 megabytes in plain text.
Recently I was forced to install the newest Windows update. And like after each update I ran out of space on my C drive. Corporate laptop, corporate C drive. I have very less control over it. This time it reached - literally - 0 kilobytes free.
I have no clue how Windows survived reaching zero kilobytes free. Outlook didn’t, by the way.
And so I started TreeSize Free to see where I could save a gigabyte or two. Which reminded me of the trick I did last time when the C drive run out of space. I moved all my local OneNote documents to the E drive. That saved my apparently 17,797,901,002 bytes of data and helped me live in peace for a few months. 17,797,901,002 bytes of data. That’s 17 gigabytes. Or 3200 times more than Shakespeare.
I wouldn’t say anything if there was something in those 3200 Shakespeares. But there is literally nothing in my exactly six OneNote notebooks. Nothing! My diary, surely less eventful than Othello alone, some high level company’s visions, minutes of meetings and short memos. Altogether roughly of a size of A Midsummer Night’s Dream and King Lear combined. At best. Still, for whatever reason, OneNote needs 3200 Shakespeares to store it.
To quote Carmack again:
Back to the “Bill’s” Quote
I’ve said some stupid things and some wrong things, but not that. No one involved in computers would ever say that a certain amount of memory is enough for all time. […] Meanwhile, I keep bumping into that silly quotation attributed to me that says 640K of memory is enough. There’s never a citation; the quotation just floats like a rumor, repeated again and again.
Bill Gates, Did Gates Really Say 640K is Enough For Anyone?
C’mon Bill, even if you did say it - so what? It’s neither stupid, nor wrong, nor silly. 640K is obviously enough for plenty of things. For escaping from Castle Wolfenstein for example. Or carrying a good portion of Shakespeare around. After all, it’s not about how much resources our computers have. It’s about how we use them. Efficient usage makes them sufficient. Inefficient usage makes them insufficient.
My strong impression is telling me that we, as programmers, can do a much better job in keeping all those gigabytes of RAM and terabytes of hard drives sufficient enough for the time being.
Despite the mentioned 150 MB I like Atom. And Brackets even more. And I’m looking forward finding some time for trying out Light Table. But for some strange reason, I always write my blog posts in the only editor that “is trying to reduce the world carbon dioxide emissions”. The good old Notepad++ :-)
If you made it this far, chances are you might like my next blog post as well :-) Should I let you know when it's out?