Vista Normal

Hay nuevos artículos disponibles. Pincha para refrescar la página.
AnteayerSalida Principal

Fitting a Spell Checker into 64 kB

27 Marzo 2025 at 02:00

By some estimates, the English language contains over a million unique words. This is perhaps overly generous, but even conservative estimates generally put the number at over a hundred thousand. Regardless of where the exact number falls between those two extremes, it’s certainly many more words than could fit in the 64 kB of memory allocated to the spell checking program on some of the first Unix machines. This article by [Abhinav Upadhyay] takes a deep dive on how the early Unix engineers accomplished the feat despite the extreme limitations of the computers they were working with.

Perhaps the most obvious way to build a spell checker is by simply looking up each word in a dictionary. With modern hardware this wouldn’t be too hard, but disks in the ’70s were extremely slow and expensive. To move the dictionary into memory it was first whittled down to around 25,000 words by various methods, including using an algorithm to remove all affixes, and then using a Bloom filter to perform the lookups. The team found that this wasn’t a big enough dictionary size, and had to change strategies to expand the number of words the spell checker could check. Hash compression was used at first, followed by hash differences and then a special compression method which achieved an almost theoretically perfect compression.

Although most computers that run spell checkers today have much more memory as well as disks which are orders of magnitude larger and faster, a lot of the innovation made by this early Unix team is still relevant for showing how various compression algorithms can be used on data in general. Large language models, for one example, are proving to be the new frontier for text-based data compression.

Booting a Desktop PDP-11

23 Marzo 2025 at 11:00

Ever heard of VENIX? There were lots of variants of Unix back in the day, and VENIX was one for the DEC Professional 380, which was — sort of — a PDP 11. The 1982 machine normally ran the unfortunately (but perhaps aptly) named P/OS, but you could get VENIX, too. [OldVCR] wanted to put one of these back online and decided the ST-506 hard drive was too risky. A solid-state drive upgrade and doubling the RAM to a whole megabyte was the plan.

It might seem funny to think of a desktop workstation that was essentially a PDP-11 minicomputer, but in the rush to corner the personal computer market, many vendors did the same thing: shrinking their legacy CPUs. DEC had a spotty history with small computers. [Ken Olsen] didn’t think anyone would ever want a personal computer, and the salespeople feared that cheap computers would eat into traditional sales. The Professional 350 was born out of DEC’s efforts to catch up, as [OldVCR] explains. He grabbed this one from a storage unit about to be emptied for scrap.

The post is very long, but you get a lot of history and a great look inside this vintage machine. Of course, the PDP-11 couldn’t actually handle more than 64K without tricks and you’ll learn more about that towards the end of the post, too.

Just as a preview, the story has a happy ending, including a surprising expression of gratitude from the aging computer. DEC didn’t enjoy much success in the small computer arena, eventually being bought by Compaq, which, in turn, was bought by Dell. During their heyday, this would have been unthinkable.

The PDP/11 did have some success because it was put on a chip that ended up in several lower-end machines, like the Heathkit H11. Ever wonder how people programmed the PDP computers with switches and lights?

UNIX Archaeology Turns Up 1972 “V2 Beta”

Por: Jenny List
20 Febrero 2025 at 19:30

In 1997 a set of DEC tapes were provided by Dennis Ritchie, as historical artifacts for those interested in the gestation of the UNIX operating system. The resulting archive files have recently been analysed by [Yfeng Gao], who has succeeded in recovering a working UNIX version from 1972. What makes it particularly interesting is that this is not a released version, instead it’s a work in progress sitting somewhere between versions 1 and 2. He’s therefore taken the liberty of naming it “V2 Beta”.

If you happen to have a PDP-11/20 you should be able to run this operating system for yourself, and for those of us without he’s provided information on which emulator will work. The interesting information for us comes in the README accompanying the tapes themselves, and in those accompanying the analysis. Aside from file fragments left over from previous users of the same tape, we learn about the state of UNIX time in 1972. This dates from the period when increments were in sixtieths of a second due to the ease of using the mains power frequency in a PDP, so with a 32-bit counter they were facing imminent roll-over. The 1970-01-01 epoch and one second increments would be adopted later in the year, but meanwhile this is an unusual curio.

If you manage to run this OS, and especially if you find anything further in the files, we’d love to hear. Meanwhile, this is not the oldest UNIX out there.


PDP-11/20 image: Don DeBold, CC BY 2.0.

❌
❌