NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
Microsoft open-sources “the earliest DOS source code discovered to date” (arstechnica.com)
jmward01 2 days ago [-]
It is rare that I say this but, thanks MS! Arguably just as, if not more, important is the BASIC that they wrote. That was what they actually wanted to do. DOS just got them the contract with IBM. For decades MS was really a developer tools company with a side biz of writing operating systems and other misc software. They also open sourced that BASIC code too [1].

[1] https://opensource.microsoft.com/blog/2025/09/03/microsoft-o...

ramon156 1 days ago [-]
I dont think I've ever seen a commit that says "49 years ago". Damn.
RobotToaster 1 days ago [-]
Not quite as old, but brl-cad is still in active development and has commits from 1983. https://github.com/BRL-CAD/brlcad/graphs/contributors?all=1
pletnes 1 days ago [-]
nextaccountic 12 hours ago [-]
Even the README here is (erroneously?) timestamped as 1978 https://github.com/microsoft/BASIC-M6502

Which is unlikely since it seems to be written by AI

chungy 8 hours ago [-]
Files in Git don't have timestamps, only commits do. It got swept up when `git commit --date=...` was run.
nextaccountic 7 hours ago [-]
oh I see. proper archeology would be to have more commits then
mapM 15 hours ago [-]
It's funny that the .gitignore is marked as being from 49 years ago ...
formerly_proven 1 days ago [-]
zymhan 16 hours ago [-]
I was confused by the short commit history, and then I checked the branches.

I love that someone went to this effort.

steve1977 1 days ago [-]
I remember when I realized I had been using Microsoft all along through my Commodore 64.
jimt1234 23 hours ago [-]
The Commodore 64 got me started in computers, back when I was in grade school. Countless late nights programming in BASIC. All this time I never knew BASIC was licensed from Microsoft. Thanks!

"Commodore licensed BASIC from Microsoft in 1977 on a 'pay once, no royalties' basis after Jack Tramiel turned down Bill Gates' offer of a $3 per unit fee, stating, 'I'm already married,' and would pay no more than $25,000 for a perpetual license."

https://en.wikipedia.org/wiki/Commodore_BASIC

gerdesj 19 hours ago [-]
I still have my C64 (it only needed some capacitors replacing a few years back) from about 1984ish but for me it was just a games machine although I did type in an awful lot of machine code from books later on.

I still remember the ADSR (attack, decay, sustain, release) thing and low pass, high pass and band pass for sound and have some unlikely memories about graphics primitives too for a middle aged bloke!

My original Quickshot II still works. You might bear in mind Daley Thompson's Decathlon was popular in the UK back in the day and it was designed to destroy joysticks.

My C64 now has a USB interface ...

1 days ago [-]
vee-kay 1 days ago [-]
What's interesting is that Microsoft BASIC itself was derived from BASIC-PLUS which itself was derived from Dartmouth BASIC (which evolved into a structured programming language called SBASIC (Structured BASIC). But the popularity of Microsoft BASIC, actually halted the standardisation of SBASIC as an ANSI standard.

https://en.wikipedia.org/wiki/Microsoft_BASIC

The Altair BASIC interpreter was developed by Microsoft founders Paul Allen and Bill Gates using a self-written Intel 8080 emulator running on a PDP-10 minicomputer.[1] The MS dialect is patterned on Digital Equipment Corporation's BASIC-PLUS on the PDP-10, which Gates had used in high school.

https://en.wikipedia.org/wiki/Dartmouth_BASIC

Dartmouth BASIC is the original version of the BASIC programming language. It was designed by two professors at Dartmouth College, John G. Kemeny and Thomas E. Kurtz. With the underlying Dartmouth Time-Sharing System (DTSS), it offered an interactive programming environment to all undergraduates as well as the larger university community.

Dartmouth also introduced a dramatically updated version known as Structured BASIC (or SBASIC) in 1975, which added various structured programming concepts. SBASIC formed the basis of the American National Standards Institute (ANSI) "Standard BASIC" efforts in the early 1980s.

In contrast to the Dartmouth compilers, most other BASICs were written as interpreters. This decision allowed them to run in the limited main memory of early microcomputers. Microsoft's Altair BASIC is one example: it was designed to run in only 4 KB of memory (interestingly, it was delivered on paper tape).

Kemeny became involved in an effort to produce an ANSI standard BASIC in an attempt to bring together the many small variations of the language that had developed through the late 1960s and early 1970s. This effort initially focused on a system known as Minimal BASIC that was similar to earliest versions of Dartmouth BASIC, while later work was aimed at a Full BASIC that was essentially SBASIC with various extensions.

But by the late 1980s, tens of millions of home computers were running some variant of the MS BASIC interpreter. It had become the de facto standard for BASIC, which eventually led to the abandonment of the ANSI SBASIC efforts.

Kemeny and Kurtz, however, decided to continue their efforts to introduce the concepts from SBASIC and the ANSI Standard BASIC efforts. This became True BASIC.

https://en.wikipedia.org/wiki/True_BASIC

There are versions of the True BASIC compiler for MS-DOS, Microsoft Windows, and Classic Mac OS. At one time, versions for TRS-80 Color Computer, Amiga and Atari ST computers were offered, as well as a UNIX command-line compiler.

After several years of inactivity, as of February 2026, the TrueBASIC website is officially closed.

BobbyTables2 1 days ago [-]
Ah, the good ol’ “Embrace, Extend, … Extinguish”
JJOKOCHAA 5 hours ago [-]
lmao
dboreham 1 days ago [-]
Nit: the pdp-10 is generally considered a mainframe not a minicomputer.
verst 20 minutes ago [-]
They had a working PDP-10 at the Living Computers Museum (since shut down by Paul Allen's estate). Definitely a mainframe. That thing takes up an entire room.
nananana9 1 days ago [-]
I cannot describe to you how jealous I am of the fact that back then writing a few thousand lines of assembly was what it took to launch a successful software company.
curiousObject 1 days ago [-]
>writing a few thousand lines of assembly was what it took to launch a successful software company.

Yes, but that assembly was not DOS, and it wasn’t easy.

Microsoft purchased the DOS code, they didn’t write it. Of course, they did develop and modify DOS. But that was a clever (and lucky) business deal, not a technological accomplishment.

The real beginning of Microsoft was earlier, with Allen, Gates and Davidoff writing the Altair BASIC interpreter. That was a serious achievement.

They had never seen the computer they were writing that assembly code for. They did not even own any computers. It took them 8 weeks on a university computer they were not supposed to be using for that

“Altair agreed to meet them to possibly buy a BASIC interpreter… Gates and Allen had neither a BASIC interpreter nor even an Altair system on which to develop and test one. However, Allen had written an Intel 8008 emulator that ran on a PDP-10 time-sharing computer. Allen adapted this emulator based on the Altair programmer guide, and they developed and tested the interpreter on Harvard's PDP-10.

The finished interpreter, including its own I/O system and line editor, fit in only four kilobytes of memory, leaving plenty of room for the interpreted program. In preparation for the demo, they stored the finished interpreter on a punched tape that the Altair could read, and Paul Allen flew to Albuquerque to meet with Altair…

While on final approach into the Albuquerque airport, Allen realized that they had forgotten to write a bootloader to read the tape into memory. Writing in 8080 machine language, Allen finished the program before the plane landed. Only when they loaded the program onto an Altair and saw a prompt asking for the system's memory size did Gates and Allen know that their interpreter worked on the Altair hardware.”

https://en.wikipedia.org/wiki/Altair_BASIC

BobbyTables2 1 days ago [-]
Imagine if the University had sued for their share of the IP and that was created using their resources…

It’s funny because I thought Jobs/Wozinak got their initial funding from selling phreaking boxes. And more recently, Anthropic engaged in criminal copyright violations with only a slap on the wrist.

Feels like a common theme of every “great” company having its origins from a “boost” resulting from criminal activity. (After all, that’s where the money is!)

Just imagine the criminal penalties possible for pirating and selling one copy of a movie or making one long distance phone call with phreaking.

areweai 1 days ago [-]
In the case of Microsoft, I'm not seeing it.

Being born into a 1% household and understanding the asymmetric upside that having the money and the time to speculate is far more significant than the civil and criminal legal violations on the way.

The most common way to go from one-percenter rich to .001% rich is to already have enough wealthy people generating capital in your personal network that you can raise capital on sweetheart terms to buy the labor of people who don't.

Then you sell it at a massive premium and repeat.

I think it's empirically dubious to identify the UW mainframes as the secret sauce instead of "being able to ask your mom for a meeting with the chairman of IBM followed by asking her for 80,000 dollars ASAP."

If the original creators of DOS were born into a wealthy family and on a first name basis with the chairman of IBM, do you think they would've sold it to Gates?

Trying to attribute the tech business "founding crime" feels like displacement for what is perfectly legal and accepted cultural practice.

azinman2 21 hours ago [-]
I think you overstate the power of money. Of course it helps. But it’s far from everything. Just look at the number of rich kid fuckups or CEOs with poor backgrounds. It’s just one component that smooths risk and occasionally provides a starter network, but it’s not everything.
stuaxo 9 hours ago [-]
Having money doesn't mean you will do anything, but not having it can stop you doing all sorts of things.
p_j_w 20 hours ago [-]
>CEOs with poor backgrounds.

What's the percentage here?

JJOKOCHAA 5 hours ago [-]
roughly 50% i guess
0x20cowboy 19 hours ago [-]
.
areweai 19 hours ago [-]
Well of course. To be a CEO from a poor background, you need to work your ass off making wealthy friends early.

That's why going to an elite school is such a lifeline for people from bottom quartile backgrounds. Getting the opportunity socialize with people born at the top and be treated as a peer in an institutional environment is invaluable. That alone is worth the price of admission.

It doesn't have to be your parents, but it has to be someone with money who already knows you, trusts you, and feels like you identify with them and their interests.

Of course, you could also work your way up slowly and prove your mettle through decades of dedicated service to your employer. But I'm not sure how you'd be able to build that long track record of likability and trust to be able to raise millions based on work history when that entire history is a 3 month internship.

One can't even blame the VCs. If you're investing in things that are often partially fraudulent by design...

...do you want the getaway driver for the pump-and-dump to be a family friend you've known a long time, or a stranger that might not be a good "culture fit" for what the valuation game often becomes?

watwut 11 hours ago [-]
> One can't even blame the VCs. If you're investing in things that are often partially fraudulent by design...

I mean, we can blame them from systematically investing in things fraudulent by design.

watwut 11 hours ago [-]
> Just look at the number of rich kid fuckups or

I mean, rich kid fuckup still end up pretty good, unless they are full on addicts who committed robbery. And even then they get much better and qualified defense layer - ending with much lower punishment. But normally, they get a pretty good job through parents network and somehow muddle through.

> CEOs with poor backgrounds.

Statistically, upward mobility is low these days, people stay where they are born. So, I think that statistically there are not that many of those.

derangedHorse 6 hours ago [-]
> followed by asking her for 80,000 dollars ASAP

What real life example is this from?

lostlogin 23 hours ago [-]
We need a better system. We tried communism and that was shit, so this is the least bad system we have.
JJOKOCHAA 5 hours ago [-]
It would be difficult for us as humans to get a better system. we are too chaotic
areweai 21 hours ago [-]
Because things are the way they are, things will not stay the way they are.
999900000999 18 hours ago [-]
Automation makes full employment detrimental if not outright impossible.

Say before tractors it took 100 men to farm enough for 1000 people.

With tractors 20 men can farm for 1000.

With automation 1 man can farm for 1000 if not significantly more.

Open Source Robo Communism is the way to go imo. Sure a handful of engineers have to maintain the robots, and build new ones. And a few jobs will remain human only.

But we could easily get to 80% of the population being free to make art and dance

r14c 21 hours ago [-]
We didn't try communism as far as I know. We hunted it down and murdered it in its cradle if I'm reading the CIA declassified archives correctly.
3240957042358 17 hours ago [-]
Communists having killed of 100 to 140 million people is sufficient reason to hunt them down.

But unfortunately there are still plenty of useful idiots, the same kind that propped up Mao, Pol Pot and Stalin.

r14c 16 hours ago [-]
We kill people all the time, what's the difference? Isn't it a sovereign nation's prerogative to do whatever they want? That said, it is our prerogative to be nosy and violently mess with other people's affairs too so..
lostlogin 16 hours ago [-]
> Communists having killed of 100 to 140 million people is sufficient reason to hunt them down.

How many have democracies killed?

It’s not like-for-like but how do we compare?

r14c 15 hours ago [-]
I would read that meta study. Especially if they verify and compare methods.
Scroll_Swe 2 hours ago [-]
Why is every HN thread glazing communism now?

Are people that broken nowadays?

boo hoo I dont have the new iphone the moment it release.

Bish I was on PS1 until 2004.

Ask East Germans, Poland, Lithuania, Lativa, Estonia etc if communism or capitalism is better. I'll wait. :)

bluecheese452 20 hours ago [-]
The Russian empire tried communism. It was better than what they had before or since.

The Chinese tried communism. It worked far better for them than what they had before.

ThrowawayR2 11 hours ago [-]
The Iron Curtain was a real thing, as was the Berlin Wall. Successful social and economic systems do not need to execute their own citizens for attempting to escape.
rfrey 13 hours ago [-]
In the opinion of the champaign socialists in the West. In the opinion of people who lived under that regime... Not so much.
cyberax 14 hours ago [-]
> The Russian empire tried communism. It was better than what they had before or since.

No, it was not better. Quite objectively.

BobAliceInATree 20 hours ago [-]
Stanford had shares in Google because they had the rights to the PageRank algorithm.

They sold their shares in 2005

https://www.latimes.com/archives/la-xpm-2005-dec-02-fi-calbr...

19 hours ago [-]
stuaxo 9 hours ago [-]
Superhans: "The secret ingredient is crime."
dboreham 1 days ago [-]
See also Airbnb and Uber.
9 hours ago [-]
yokoprime 1 days ago [-]
To be fair, i think you needed a cutthroat businessman leading the company. Which i guess is more or less the same today
justsomehnguy 1 days ago [-]
This too but early MS to their employs was closer to a hipster SV vibe coding in a coffee shop a decade ago.
themafia 24 hours ago [-]
> a cutthroat businessman leading the company

I'm sure his family connections aided him significantly.

greenbit 1 days ago [-]
And for such simple processors and systems no less! No descriptor tables to deal with, no memory management to configure. These days it takes a little processor inside the main processor, just to get things started. Those were golden times.
embedding-shape 1 days ago [-]
Replace Assembly with TypeScript/Rust/Go/whatever and as long as the idea is good and useful, same thing applies today.
risyachka 1 days ago [-]
Except the competition was essentially non existent and no one would copy your product with llm in a day
uluyol 1 days ago [-]
What makes you think there was no competition?
embedding-shape 1 days ago [-]
The "competition" never been just a different codebase, that's one of the smallest pieces you'd have to actually build if you want to build a product people actually want to buy and use. The magic is basically all around it, multiplied by the code, but you really must have every else down pretty tight before the codebase even start mattering. But once it does matter, it matters a lot, hence the difficult balancing.
Andrex 21 hours ago [-]
My take-away is kind of the opposite. You literally have to be the right person in the right place at the right time.
1 days ago [-]
Scroll_Swe 2 hours ago [-]
I find younger zoomers say this a lot and even to me in my 30s "oh you had it so easy!" because they think the knowledge today, we would have had back then. This is false.

Loser today, you would have been a loser back then too.

avadodin 1 days ago [-]
More than a few people would rather die in poverty than put in the effort today even if you offered to time-machine them back with their finished product.
gnabgib 2 days ago [-]
Discussion, on the source, at the time (79 points, 24 days ago, 19 comments) https://news.ycombinator.com/item?id=47957494

Or on the GitHub clone (162 points, 15 comments) https://news.ycombinator.com/item?id=47946813

locusofself 2 days ago [-]
wow, they had to OCR it back in from paper printouts

> This source code is old enough that it hadn’t been stored digitally. “A dedicated team of historians and preservationists led by Yufeng Gao and Rich Cini,” calling itself the “DOS Disassembly Group,” painstakingly transcribed and scanned in code from paper printouts provided by Paterson. This process was made even more difficult because modern OCR software struggled with the quality of the decades-old printout.

FarmerPotato 2 days ago [-]
I'd like to hear more about what works in OCR of dot-matrix fonts.

I've been able to OCR letter-quality printer output to 97% (mostly Os and Xs problems).

But it seems that machine-learning text-recognition is also now biased to reject computer code because it doesn't look like human language.

ndiddy 1 days ago [-]
There's a writeup here from one of the people on the team about the work it took to go from the listings to source code. http://cini.classiccmp.org/recoveryblog.htm

> With less-than-satisfactory OCR output, I resorted to a process I used many years ago when converting scans made of old Commodore ROM dumps printed on a Commodore 1515 dot-matrix printer. The process relies on the ASCII OCR output having the same repetitive errors. "B" and "8", "S" and "5" are good examples, as are "l" and "1", and "O" and "0". There are many other similar single-character errors and, when working with x86 code, there are similar errors with instructions like "MOV". This process naturally works better if the output file is monolithic rather than single-page OCR conversions because you can do substitutions across the entire converted printout and not 75 separate files.

> The next formatting hassle was the spacing. This required repetitive substitutions of a descending numbers of spaces to tabs (i.e., replace 8 spaces with a tab, 7, 6, etc.). Then if you want to return it to fixed spaces (which is likely how the original printer printed it -- spaces and not vertical tabs), you can. For pure re-creation work, spaces produce absolute column formatting while tabs can move around depending on the program displaying the file.

> Once you run thought the 15 or so common global substitutions and tab conversion, it's a lot easier to work with the file to fix formatting and perform other cleanup. This is then followed by a line-by-line comparison against the original printouts. Overall I'd say the conversion output quality with this method is very good.

FarmerPotato 1 days ago [-]
Hmm, doesn't say anything about what OCR tools they used.

I've got a 4" stack of wide-carriage COBOL. I guess it's two revisions of the same system so I only need to scan the newer half. Its probably from a TI Omni 810.

On the other hand, I've got 100 pages of code printed in compressed font by someone wanting to make sure that 80+ char lines fit within margins. So a lot of words just don't come out at all. A frequent error is "A" becomes "H", "O" becomes "U" because the top dots aren't "attached".

And columns of line numbers starting with 0001, or hex? The most confounding thing is OCR that thinks 00 is a sideways 8, and that dominates the uniform block, so it tries to interpret the whole column as sideways text. In another situation, it interprets two stacked lines (each starting with 0) as one line starting with 8 and it just goes off the rails.

So I've been working with automatic skew correction, then clipping it into rows, in order to get each line of text isolated from the surrounding context. When I do that, I get better results, but it is not great either.

I'm considering going all-in on training a new recognizer on snippets. For that, I'll be constructing "The Set of All As" and so on.

accrual 1 days ago [-]
Pretty interesting. I wonder if a whitelist against certain columns in the output could help, e.g. this column can only contain valid x86 instructions (e.g. MOV is allowed, M0V is not), this column can only contain hexadecimal (1 is allowed but never "l"), etc. Probably more work than it's worth given the final line-by-line comparison that happens anyway.
embedding-shape 1 days ago [-]
Boring reply perhaps, but I've had wild success with adding even a tiny LLM afterwards to do "fixups" over OCRd text, works great for the typical O/0 issues and similar, just pass it the scrambled OCRd text together with the text around it, and even dumb and tiny 7b models running on CPU do a pretty fine job.
bob778 1 days ago [-]
ABBYY has a specific module for dot matrix printouts so I’m surprised it was a struggle for them but every document is different
WalterBright 1 days ago [-]
I've recovered some ancient software I wrote via scanning in listings I found among my dad's papers.
SoftTalker 2 days ago [-]
Yet another case where text printed on paper outlived any digital storage.
jshier 2 days ago [-]
Seems like it was never digitally stored in the first place, and the printed text was barely readable due to age. Not really a big win for paper.
SoftTalker 2 days ago [-]
Well it had to have been on disk or tape at some point. It wasn't all typed in by hand every time they needed to build a new version.
debesyla 1 days ago [-]
unless they used punch cards
Sharlin 1 days ago [-]
Punch cards are still a form of digital storage, mind.
wongarsu 1 days ago [-]
Also a form of storing things on paper
accrual 1 days ago [-]
Reminds me of an old fortune cookie message or meme, something like "digital data is made from analog parts".
andsoitis 1 days ago [-]
> unless they used punch cards

For MS-DOS?

WalterBright 1 days ago [-]
Not likely. Punch cards disappeared around the end of 1976.
greenbit 1 days ago [-]
I remember seeing stacks of cards being carried into/out of the university "computing center" in the mid 1980s, on more than a couple of occasions. Though in retrospect, these were probably just old programs that had been in various professors offices since the mid 70s, being taken to get read into some disk in the mainframe.
MomsAVoxell 1 days ago [-]
We still learned how to use them in the 80’s high school computer classes, mostly because we had a balance of CP/M plus card-reader/early DOS machines, eventually .. in the labs. Rich kid schools had Apples though, and some of them also had card readers for BASIC ..
greenbit 1 days ago [-]
"[..] card readers for BASIC"

Finally, a sensible use case for BASIC's "READ" and "DATA" commands. Learning BASIC as a kid on a micro, it always struck me as an odd way to get input into a program. Sure, with INPUT, you'd have to hand enter your input every time, but baking into the program meant that you'd have to edit your program any time you wanted to change anything.

But with a card reader, you could "cut the deck". Keep the program cards, and then just stack on whatever set of data cards you wanted.

From this vantage point, in the 21st century with our flying cars and what not, it seems really quirky that back then, even your data could be a tangible thing.

MomsAVoxell 1 days ago [-]
Indeed, we still pay homage to the era with terms such as the stack, pushing and popping, and all kinds of things .. i remember we had fun inserting random infinite loops in other students cards on occasion until we all realized we could just have marked “finished” stacks with an X across the spine, and also to ease sorting, and so on .. i would mark certain sub-routines with different color markers on the spine too, just to see a budget for how much computing time i expected to be billed for, and so on and on .. lots of valuable hands on came from the card-based computing, its a lost art ..
SoftTalker 1 days ago [-]
My firt job out of college in the early 1990s was at an equipment manufacturer who was still using them. They had a big chart on the wall titled "punch-card elimination" and a line trending down, but it wasn't at zero yet.

My work there was all new code and didn't involve any of that, however.

BubbleRings 16 hours ago [-]
I learned COBOL in college at UNC-W on punch cards in 1980.
fortran77 1 days ago [-]
My college used them for PL/I and IBM Assembly language programming classes until 1982. Cards were used well into the mid-80s.
Anonyneko 1 days ago [-]
We still used them in the university as late as in 2010...

...as writing paper.

WalterBright 1 days ago [-]
I threw out all my punch cards. Wish I'd kept at least a listing!
genxy 1 days ago [-]
I find punch cards being used in old engineering books I buy from the 60s.

Maybe write them again?

conorcleary 5 hours ago [-]
Punch* 'em again
zargon 2 days ago [-]
The idea that it never existed digitally is obviously untrue. Likely poor wording in the author's part. They probably meant something like, so old that a printout is all that survived (which sounds vaguely like not being digital to someone in an era so far removed from a time when programs were/could realistically be printed.)
WalterBright 1 days ago [-]
Having printouts were necessary when:

1. you were using a DECwriter dot matrix printer as a terminal

2. using an ASR-33 teletype as a terminal

3. using punch cards or paper tape

4. using a glass tty that could only display 24 lines

5. when you did not have a remote terminal, and wanted to spread your code out on a table and debug it

tankenmate 1 days ago [-]
Brings back memories of desk checking
fc417fc802 2 days ago [-]
> a time when programs were/could realistically be printed

Really depends on the program. Source code is often quite manageable. Even artifacts aren't always as large as you might expect. Busybox on my system weighs in at 1.9 MiB or alternatively 928 KiB with zstd maxed out.

But I don't really see a point to printing any of it. A situation that might require the printouts is likely to largely preclude the continued existence of modern electronics, the ability to replace batteries, or even a connection to a reliable electrical grid.

zargon 2 days ago [-]
Yeah, that's why I tried to include both categories. Even for programs that are small enough to be printed, we just don't do it any more. I could have worded that part better myself.
onion2k 1 days ago [-]
Early versions of some things, MS Basic being one example I think, were baked into ROM. One of the best innovations that Paul Allen came up with was adding software hooks to the code so bugs that were found later could still be patched.
irishcoffee 2 days ago [-]
How did they print it then, I wonder?
bryanrasmussen 2 days ago [-]
They had some old German guy with a big beard, and two interns, running some sort of big contraption that looked like a medieval torture instrument, and the interns would run and put letters in a row and then the old guy move a massive letter and in the end out came a bit of paper with source code on it.
irishcoffee 21 hours ago [-]
I appreciate the subtle sarcasm, I did not consider a printing press as an option!
eipi10_hn 1 days ago [-]
Where can I buy this printer?
wheybags 1 days ago [-]
Humbrechthof, Mainz, Germany ofc.

(https://en.wikipedia.org/wiki/Humbrechthof)

7bit 1 days ago [-]
One has to be pretty ignorant and dismissive to claim that this is not "a big win for paper".

First of all, that comment is weirdly out of place. The quality and longevity of paper is not the topic.

Secondly, there are fragments of paper with writing as old as 2,000 years.

Thirdly, paper you look at and see the writing. With digital documents, you need the technology to read the medium and then you need to know how the information was encoded onto the medium, before you even arrive at the same level with paper, where you can start to decide the actual writing.

Paper has brought us where we are today, and given us what we know about the past. Don't be so ignorant and dismissive.

petcat 2 days ago [-]
> struggled with the quality of the decades-old printout.

barely

It sounds like this printout has deteriorated badly and was barely readable.

Sharlin 1 days ago [-]
If it was your standard issue cheap dot-matrix printout, it may not been particularly legible even back then.
justsomehnguy 1 days ago [-]
Even if the printer itself was fine it doesn't imply the ribbon was wet enough.
1 days ago [-]
wpnx 15 hours ago [-]
I got it up and running in dos box - it still runs smooth as butter: https://github.com/phyous/DOS-1.0
5 hours ago [-]
dang 2 days ago [-]
Recent and related:

Microsoft open sources DOS 1.00 on 45th anniversary - https://news.ycombinator.com/item?id=47957494 - April 2026 (19 comments)

userbinator 2 days ago [-]
I wonder how long it'll be before they release the source for the earliest Windows versions. The fact that they still have the source for this very old DOS at least gives hope that they also do for old Windows.
GaryBluto 2 days ago [-]
The day they would make Windows 2000 codebase open source (or source available) would be the day I could die happy (although I'd probably be long dead anyways by the time there's a glimmerof chance of it happening). What a beautiful, smooth-running operating system it was.
fredoralive 4 hours ago [-]
I suspect Windows 2000 (and NT based stuff in general) is too near to modern Windows to be (officially) released. DOS is long dead, but modern Windows still uses the NT kernel and Win32 and so on, and they probably don't want to give an official peek behind the curtain, even if it's an over a quarter century old version.
ndiddy 1 days ago [-]
They will never release the code for anything that new because at that point, there's tons of licensed third-party code and the codebase is so large that going through everything to verify ownership would not be feasible. The code to NT 4 and XP have been leaked though.
ThrowawayB7 21 hours ago [-]
And what would you do with the Windows 2000 source? It's 32 bit x86 code and the driver model for Windows has changed significantly since those days so it wouldn't run on modern x86-64 hardware anyway. Maybe it would run in a VM but I wouldn't care to bet on it.
userbinator 20 hours ago [-]
Port it to 64-bit, obviously; the NT kernel has already been ported to a few non-x86 architectures.
spijdar 17 hours ago [-]
Making Windows NT 64-bit is very different from porting it to a 64-bit CPU. Case in point, the NT 4 (and Win2K) releases for the Alpha CPU were technically 64-bit (so far as the CPU lacked a "32-bit mode") but were functionally 32-bit, with all pointers truncated to 32-bits.

Further case in point -- the AXP64 port (64-bit Alpha) of NT didn't have the ability to run 32-bit Alpha software. If you want that, you have to develop WoW64. So in this hypothetical "port Win2k to 64-bit processors", you would need to create WoW64 from scratch. Alternatively, rebuild a lot of software which is old enough to run on Win2k but also aware of 64-bits.

Or take the AXP approach and literally treat AMD64 as a strange 32-bit CPU, not unlike the x32 port for Linux. At that point you have no binary ABI compatibility with any Windows port, and will need a custom compiler port, and compile all executables from scratch.

unleaded 8 hours ago [-]
thank god the 2003 source leaked too!
optymizer 2 days ago [-]
Agreed. It's still my favorite Windows version.
NitpickLawyer 1 days ago [-]
Wasn't there a 2000 source leak a while ago? I remember some exploits coming out after the leak.
toyg 1 days ago [-]
Yes but it could not be legally used by anything.
avadodin 1 days ago [-]
OP said source available was acceptable. not even asking for compiler access which is also widely available.

Windows has always been more than modular enough for any repurposing and there were licenses that were not tied to specific hardware so you could use them even today.

Which is to say no one is stopping you from building a COPILOT.VBX for VisualBasic 3.0.

londons_explore 2 days ago [-]
There is a mostly complete leak of it...
greenbit 1 days ago [-]
Except for "the hive". Remember the hive? Sort of an alternate registry, in addition to the actual registry. Granted, it was pretty invisible, until it got corrupted.

I had a win2k machine that was my daily (at home) that was fine until idk about 2006, at which point something happened (muons?) and it would go into some kind of panic state just after bringing up the desktop. Hive corruption. I tried on and off for a couple of years to repair it, no luck. It wasn't just about the files on the HD, it was easy enough to transplant the drive and read/write anything, it was that I really liked the way I had the environment configured. Sure, it was all kind of moot, but it became a kind of personal windmill to resurrect this old thing. In the end, I booted an XP CD in it, and selected 'upgrade', and voila, it was Duncan Idaho, back from the dead.

Anyway.. loved win2k, but not a fan of the hive.

chuckadams 1 days ago [-]
The registry is a collection of individual database files known as hives.
justsomehnguy 1 days ago [-]
I think you are mistaking the registry for the registry.

https://devblogs.microsoft.com/oldnewthing/20030808-00/?p=42...

greenbit 23 hours ago [-]
You know, that's possible, I wouldn't be surprised. This was 20 years ago. I only recall a sense that the w2k system seemed more complicated than XP in that area.
WalterBright 1 days ago [-]
It shouldn't be hard to disassemble it.
teamsolid 2 days ago [-]
I am sure that there is a lot good material to take inspiration and learning even from the early Windows 3.11.
mycall 2 days ago [-]
Do a deep dive into how OS/360 formalized to having DOS.
SoftTalker 2 days ago [-]
/s ?
AlecSchueler 2 days ago [-]
Pretty sure it's a bot or simple karma farming operation.
protocolture 2 days ago [-]
I imagine its not far off. I get the impression they are almost done with windows as a platform.
throwaway27448 2 days ago [-]
They waited a couple decades too long for this to be of interest.
acomjean 1 days ago [-]
Interesting story of how MS got into the operating system business. IBM wanted the CPM operating system, but Digital Research wouldn’t sign ibms NDA… really a pivot point in computing history.

From “Triumph of the Nerds” tv transcript:

https://www.pbs.org/nerds/part2.html

Jack Sams (IBM) was looking for a package from Microsoft containing both the BASIC computer language and an Operating System. But IBM hadn't done their homework.

Steve Ballmer: They thought we had an operating system. Because we had this Soft Card product that had CPM on it, they thought we could licence them CPM for this new personal computer they told us they wanted to do, and we said well, no, we're not in that business.

Jack Sams (IBM); When we discovered we didn't have - he didn't have the rights to do that and that it was not...he said but I think it's ready, I think that Gary's got it ready to go. So I said well, there's no time like the present, call up Gary.

Steve Ballmer: And so Bill right there with them in the room called Gary Kildall at Digital Research and said Gary, I'm sending some guys down…. Treat them right, they're important guys.

bragr 1 days ago [-]
Eh, basically all facts in this story are disputed by all sides. Aside from general gist that there was some meeting that didn't go well.
chuckadams 1 days ago [-]
Whether Kildall actually blew IBM off at that meeting or not, what was definitely the case was that CP/M didn't have a 16-bit version ready to meet IBM's schedule, and that's what ultimately took them out of the running.
acomjean 21 hours ago [-]
If you watch the documentary it’s an interview with the people who were there. There might be some discrepancy but I think the IBM guys were being honest about how it went down. The doc is on the Internet archive and worth a watch.

You get the idea that it wasn’t some brilliant business strategy by Microsoft, the deal for the operating system wasn’t that good for them initially.

From the transcript: https://www.pbs.org/nerds/part2.html

Jack Sams (IBM):

Gary had some other plans and so he said well, Dorothy will see you. So we went down the three of us...

Gordon Eubanks Former Head of Language Division, Digital Research: IBM showed up with an IBM non-disclosure and Dorothy made what I...a decision which I think it's easy in retrospect to say was dumb.

Jack Sams: We popped out our letter that said please don't tell anybody we're here, and we don't want to hear anything confidential. And she read it and said and I can't sign this.

Gordon Eubanks: She did what her job was, she got the lawyer to look at the nondisclosure. The lawyer, Gerry Davis who's still in Monterey threw up on this non-disclosure. It was uncomfortable for IBM, they weren't used to waiting. And it was unfortunate situation - here you are in a tiny Victorian House, its overrun with people, chaotic.

Jack Sams: So we spent the whole day in Pacific Grove debating with them and with our attorneys and her attorneys and everybody else about whether or not she could even talk to us about talking to us, and we left.

………. Bill Gates: Digital research didn't seize that, and we knew it was essential, if somebody didn't do it, the project was going to fall apart.

Steve Ballmer: We just got carried away and said look, we can't afford to lose the language business. That was the initial thought - we can't afford to have IBM not go forward. This is the most exciting thing that's going to happen in PCs.

Bill Gates: And we were already out on a limb, because we had licensed them not only Basic, but Fortran, Cobol Assembler er, typing tutor and Venture. And basically every - every product the company had we had committed to do for IBM in a very short time frame.

teamsolid 2 days ago [-]
It is wonderful how early years of modern computing was brilliant. We treated machines as they really are: machines. Performance, creativity, science..., all possible to make a 386 machine work. Nowadays is all about libraries, virtualization, [bad] code over [bad] code over [bad] code..., I dont like it.
dhosek 2 days ago [-]
I sometimes think that my mental model of a computer is still an Apple ][+ with 48K of RAM leads to my writing better code.
WalterBright 1 days ago [-]
While I did a few 10 line programs in BASIC in high school on punch cards, when things really started was a freshman class on semiconductors. The class started with diodes and quantum mechanics, then onto transistors, then flip flops, then registers, then ALUs. Then it was on to designing/building a digital clock (which never worked right), and later designing/building/programming single board computers (6802 chip).

It was fun knowing everything about a computer. That's long gone!

stevesimmons 1 days ago [-]
And mine is a Commodore Vic-20 circa 1981, with 3583 bytes of free RAM. Programmed in 6502 assembler. Can't get much closer to the CPU than that.
aenis 1 days ago [-]
For a very long while now, we had programmers who never understood any low level concepts at all. They have started with js or python, and never looked 'down'. There are no limits to monstrosities they will consider normal.

Linus Torvalds, a few months ago, said something to this effect when discussing AI coding tools. That his (also, mine) generation was lucky to have started with low level stuff and managed to retain the understanding of the whole stack - and kids these days don't get that. Good luck acquiring this level of feel for computers, algorithms, data structures today, when a kid's first experience with coding will be a seemingly genius chatbot.

charcircuit 1 days ago [-]
>and managed to retain the understanding of the whole stack

No one understands the whole stack. There is too much specialized information.

aenis 2 hours ago [-]
I mean, depends on what one means by 'understands'. Here is my definition of having understanding of a full stack:

I am nearly 50, started with computers when I was 7. I did sort of everything -from wiring individual transistors together into custom logic circuits, assembly on various platforms, drivers and other kernel level stuff on dos and then windows, low level networking, higher level monolithic systems design, infrastructure management, various storage systems, various compute implementations, obnoxious types of software defined networks, security stacks - from hardware based attestation through identity/role management in multi-cloud environments, higher level distributed systems and finally i am a cto for a large-ish company and do a lot of enterprise architecture.

I also dabble in hobby programming on various things, building custom firmwares for chinese electronics, building frontends and backends for side projects, I have built a js framework or two just to understand state and rendering stuff, and of course now i am dabbling with local LLMs, because thats the new thing that can be learned.

I am sure there are lots of people with similar experiences in my age bracket (I am 48) - who had a lot of exposure to all levels in the stack. Sure, I was never particularly good with anything I mentioned, but thanks to a mix of diverse work experiences and absolute, uncompromising love of learning new computer things, I think I do have a fairly good understanding of what happens in computer systems, big and small. Now, could I design, say, a modern ELB properly, no, but I do understand the networking stuff enough to at least outline the design and key elements of the system without asking a friendly LLM. No such luck for kids these days, I am afraid - they will be actively shielded from having to learn stuff the hard way.

Sharlin 1 days ago [-]
Even assembly is a high-level language relative to what’s actually going on inside a modern CPU.
aenis 2 hours ago [-]
Ya sure, but diminishing returns there. Programmers these days lack the most basic abstractions - and don't understand how interrupts work and what is the main difference between parallelism and concurrency, or how to calculate the memory or computational cost of a given algorithm, because - chances are - they never implemented any algorithm to begin with. I'd say this is a bigger problem than not being able to brag about having implemented complex silicon :-)
goodpoint 1 days ago [-]
DOS and brilliant in the same sentence...
jug 1 days ago [-]
While oldest source of it, note that the 86-DOS v0.1-C binaries are even earlier (and v0.34 has also been found) than this v1.00 source and can be downloaded and used in an emulator. :-)

https://arstechnica.com/gadgets/2024/01/the-oldest-known-ver...

miohtama 10 hours ago [-]
At this stage, was Microsoft already a well-established company if they had money and resources to contract and then license the 86-DOS?
fredoralive 4 hours ago [-]
Yes, Microsoft had established themselves as supplier of BASIC interpreters to most of the US microcomputer manufacturers. There initial contact with IBM was to provide a version of Microsoft BASIC for the new computer.
imoverclocked 2 days ago [-]
Time to find vulnerabilities!

I remember in the naughts, coming across a dos machine that was quite out of time… even for the university basement it was living in next to a pile of lead brick. Its only job was to run an instrument via an home-built ISA card and write data out to 5.25” floppies.

What uses would this code have in 2026?

yjftsjthsd-h 1 days ago [-]
It's a single user OS that runs everything in ring zero by design. I'm not sure, definitionally, that it can have security vulnerabilities. I... guess maybe code execution on exposure to an untrusted floppy disk filesystem?
aflag 12 hours ago [-]
Even then, what would that accomplish in most systems? That same disk would most likely be the only permanent storage available to the system when it's inserted. Maybe if you've got two drives and have two floppies inserted at the same time?
imoverclocked 11 hours ago [-]
DOS systems often had hard drives. Also, floppy virus propagation is possible (aka: Sneakernet.)

It was a different era entirely; Writing a TSR was a right of passage. Sometimes just getting something to work without having any other motive was enough to do it.

A clever and small TSR might keep a copy of itself in memory and not require two floppies in the case of no hard drive. In comparison to today’s standards, it’s amazing what we did with 640k (or less!) of ram.

aflag 10 hours ago [-]
My friends and I didn't have hard drives. But maybe we were just poor. But fair, you could infect another disk if you just switched disks. No need to have both connected at the same time.
greenbit 1 days ago [-]
Look closely, you'll notice there's no network interface. The only vulnerability in a system like that is physical access by malicious individuals.

About the worst mal-ware it can have is a boot sector that installs a "terminate, stay resident" (TSR) that copies itself onto any floppy that gets inserted.

FarmerPotato 2 days ago [-]
To see what decisions they made. Like any historical document. Aim to understand the people of the time.
danborn26 1 days ago [-]
Fascinating piece of computing history. Preserving early DOS source code gives a lot of context to the structural choices that stuck around in x86 architecture for decades.
9dev 1 days ago [-]
At some point, we'll probably have a new field in history for digital archeology, and I'm really envious for those future historians! They'll be getting to sleuth around old datasets, trying to reconstruct the history of computing, understand long-forgotten file formats to preserve data, use statistical methods to analyse binary backups, and trace for specific documentation versions to crack old encryption formats...
EvanAnderson 1 days ago [-]
The term "programmer-archaeologist" was coined by the author Vernor Vinge in his 1999 "A Deepness in the Sky"[0] (a pretty great read and definitely recommended) and the field is arguably a real thing now[1].

[0] https://en.wikipedia.org/wiki/A_Deepness_in_the_Sky

[1] https://en.wikipedia.org/wiki/Software_archaeology

9dev 21 hours ago [-]
Thank you for the recommendation! I'm definitely aware of many initiatives into that direction, but I'm still curious when it'll invariably arrive as a real discipline not in computer science, but humanities.
giobox 1 days ago [-]
This field already is alive and well in the gaming community. Games companies are notorious for not spending money on keeping their old code around, which is why it's been at the forefront of digital archaeology efforts a lot of the time to preserve the industry's history.

I'd also throw the wayback when machine and the internet archive into this bucket.

OrangeMusic 9 hours ago [-]
Wait this is from April 30th. Pretty sure this was posted on HN then.
22 hours ago [-]
dang 1 days ago [-]
Related ongoing thread:

Microsoft's 6502 BASIC is now Open Source (2025) - https://news.ycombinator.com/item?id=48257058

lesser-shadow 1 days ago [-]
[dead]
danborn26 24 hours ago [-]
Looking through the source is a great reminder of how constrained early computing was. It's amazing how much of this architecture still influences modern systems.
gxd 1 days ago [-]
THANK YOU!

Can we now have all the Infocom games owned by Activision (which is yours) now? Pretty please? I know the source is available, but we'd like them with a MIT license (including the manuals, artwork etc).

PS: a couple of them could be harder, like Shogun, but it's okay to skip these.

okandship 1 days ago [-]
readable plain text plus boring metadata still ages better than most clever archival systems
xandrius 1 days ago [-]
In this case a paper printout.
rvnx 1 days ago [-]
I’m sure this is better software than Windows Millenium Edition
1 days ago [-]
chorlton2080 21 hours ago [-]
This is nearly a month old
theanonymousone 1 days ago [-]
I'm wondering whether ReactOS can exploit Claude et. al. to their fullest and "recreate" Windows 2000/95. I may donate some tokens for that cause.
CursedSilicon 1 days ago [-]
That sounds like a terrifying legal minefield that they would not want to tread
theanonymousone 1 days ago [-]
Is it not safe to assume Window source code is not present in the LLM training data?
happycube 3 hours ago [-]
There are repos on github. Which, technically, means you can download Windows source from Microsoft. Just not legally.
xandrius 1 days ago [-]
Slap a fair use on it and call it a day.
rvnx 1 days ago [-]
> Anthropic offers a formal copyright indemnification policy for its enterprise customers using the Claude API. The policy protects businesses from copyright infringement claims arising from authorized use of Claude or its generated outputs

So just claim it is Claude

greenbit 1 days ago [-]
What's that phrase, "derivative work" or something?
leni536 1 days ago [-]
But surely anything the LLM outputs is clear of licensing requirements /s

Or would Microsoft like to argue otherwise in court?

leobuskin 1 days ago [-]
I've used Claude to fix/reconstruct & build leaked Win2k3 on Linux with original toolchain via Wine. This approach included full gdi sources reconstruction. I just don't know what to do with this, it's kinda difficult to "wash" on this scale
hulitu 6 hours ago [-]
Run it as your daily driver and trust your data to it. /s
hackerqwe 1 days ago [-]
More code that copilot can be trained on.
KellyCriterion 21 hours ago [-]
haha, rise your hand if you are getting old when reading this :-D
gnarlouse 1 days ago [-]
How about Microsoft fixes npm, github, and vscode
froyooh 2 days ago [-]
Back when it was all written by hand and optimized well.
2 days ago [-]
2 days ago [-]
1 days ago [-]
ardev111 15 hours ago [-]
[flagged]
xuzhenpeng 2 days ago [-]
[flagged]
Ayush_Khati1 15 hours ago [-]
[flagged]
patrickndaye919 1 days ago [-]
[dead]
embirdating 1 days ago [-]
[dead]
yangqing 12 hours ago [-]
[flagged]
Tanayk07 2 days ago [-]
[flagged]
dooosss 2 days ago [-]
Too little, too late.
signa11 2 days ago [-]
in the words of mr. mitch-hedburg “here, you throw this away“
TedDoesntTalk 2 days ago [-]
He could have sold those printouts instead of giving them away.
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 18:14:27 GMT+0000 (Coordinated Universal Time) with Vercel.