Apple’s $13k operating system (2013)
cnet.com
cnet.com
VR, AR, and Blockchain currently miss this value by a wide margin. If you think about it, that’s absolutely bonkers. Take VR/AR - a tech literally meant to create new worlds, remove the need to physically mold space into form a la Disneyland/world, and has become ultra portable where the supporting infrastructure is now all in headset…
But where is the absolute vital need? VisiCalc wasn’t just convenient (by replacing literal square feet of paper with a digital screen - removing the time to draft a new sheet), it was essential to financial survival for basically everyone (one error in a 100 cell, hand calculated budget could kill a company or lop net worth, or being able to add 100 cells in 1/10th the time could reveal opportunity , this is the age of “balancing a checkbook”).
So even with VR/AR’s infinite space, how does it keep companies from dying and create new possibilities? The current state of the art as described here was Disneyland and extreme training environments — but how do those things make or break companies? Oil and gas literally uses an MBA four grid system to triage accidents… they already have a relatedly equal solution for training: handle the errors.
Long winded way of saying I love this article and look for opportunities like this in everyday life.
Whining on HN is virtuous, though?
Internet was ”nowhere” in 1990. Now it’s everywhere.
There was no big bang. Change was in a way quite slow - zoom in, track it on weekly or monthly basis and you likely missed it happening. There was also ups and downs, negative predictions, legal hurdles, dotcom bubble burst, companies came and died.
There was also very few (if any) obvious things Internet could improve immediately. Things like ecommerce revolution required many, many small steps.
The creation of the World Wide Web and the graphical browser is what really made the Internet explode in popularity. When I came back to college in fall 1994 there were a lot of web sites and search engines to find sites. The ability to edit a text file and add more HTML links made it so easy to use and create.
Relying on the luxury of continuous, near-instant type-checking and so forth, I read this and want to hang my head in shame.
The untold story behind Apple's $13,000 operating system - https://news.ycombinator.com/item?id=15632674 - Nov 2017 (20 comments)
JavaScript and Brendan Eich may be considered modernish-day.
Say the size of the OS was 10kB. That's about 4000 lines of assembler code.
About 100 lines (cards) of code per day.
Apple DOS 3.3 usually lived in $9600-$BFFF, which was the top of the semi-standard 48K RAM Apple II. So the whole thing was 10,752 bytes. That included a LUT to assist with disk nibble-byte conversions, I/O routines to read, write, and enumerate files and text streams, and a disk initialization routine.
The cold boot code lived in 256 bytes of ROM memory-mapped to $C600-$C6FF on the Slot 6 disk controller. It generated another copy of the LUT, read the first few sectors of the disk to a temporary RAM location, and jumped to it.
Every disk had to be at least partially readable by this 256-byte bootstrap code. This was why every disk-based copy protection scheme on the Apple II was doomed; disassemble what it read, and learn the scheme's secrets.
The original DOS was slow because it did an extra buffer copy while processing 256-byte sectors. Lots of people produced aftermarket fast DOS versions that removed the large initialization routine and replaced it with smarter in-place reading/writing code. This allowed the system to be ready to read or write the next interleaved sector on a track, rather than having to wait for the disk to complete a full rotation. I remember Diversi-DOS and DavidDOS. The video game Sheila included a fast DOS as well; my high school friends and I extracted it from the game and used it as our "daily driver" DOS.
Various routines in DOS 3.3 became de facto APIs. So you'd see random programs JSRing to $Axxx to do something with the disk. You could also send text commands to DOS 3.3 through this brilliant pair of hooks that let it intercept characters to/from the screen. I think the print routine was $FDF0 or thereabouts. Crucially, Applesoft BASIC used those two hooks, so BASIC was DOS-integrated that way.