Ask Slashdot: What Are Some Things That Every Hacker Once Knew? (ibiblio.org)
Open source guru Eric Raymond turns 60 this year, prompting this question from an anonymous reader:
Eric Raymond's newest writing project is "Things Every Hacker Once Knew," inspired by the day he learned that not every programmer today's knows the bit structure of ASCII. "I didn't write it as a nostalgia trip -- I don't miss underpowered computers, primitive tools, and tiny low-resolution displays... In any kind of craft or profession, I think knowing the way things used to be done, and the issues those who came before you struggled with, is quite properly a source of pride and wisdom. It gives you a useful kind of perspective on today's challenges."
He writes later that it's to "assist retrospective understanding by younger hackers so they can make sense of the fossils and survivals still embedded in current technology." It's focusing on ASCII and "related technologies" like hardware terminals, modems and RS-232. ("This is lore that was at one time near-universal and is no longer.") Sections include "UUCP and BBSes, the forgotten pre-Internets" and "The strange afterlife of the Hayes smartmodem" (which points out some AT commands survived to this day in smartphones). He requests any would-be contributors to remember that "I'm trying to describe common knowledge at the time." This got my thinking -- what are some that every programmer once knew that have since been forgotten by newer generations of programmers?
Eric Raymond is still hard at work today on the NTPsec project -- a secure, hardened, and improved implementation of Network Time Protocol -- and he promises donations to his Patreon page will help fund it. But what things do you remember that were commonplace knowledge "back in the day" that have now become largely forgotten? Leave your best answers in the comments. What are some things that every hacker once knew?
He writes later that it's to "assist retrospective understanding by younger hackers so they can make sense of the fossils and survivals still embedded in current technology." It's focusing on ASCII and "related technologies" like hardware terminals, modems and RS-232. ("This is lore that was at one time near-universal and is no longer.") Sections include "UUCP and BBSes, the forgotten pre-Internets" and "The strange afterlife of the Hayes smartmodem" (which points out some AT commands survived to this day in smartphones). He requests any would-be contributors to remember that "I'm trying to describe common knowledge at the time." This got my thinking -- what are some that every programmer once knew that have since been forgotten by newer generations of programmers?
Eric Raymond is still hard at work today on the NTPsec project -- a secure, hardened, and improved implementation of Network Time Protocol -- and he promises donations to his Patreon page will help fund it. But what things do you remember that were commonplace knowledge "back in the day" that have now become largely forgotten? Leave your best answers in the comments. What are some things that every hacker once knew?
Watch Casey Muratori's Handmade Hero, where he codes a game live on Twitch from scratch with no 3rd party libraries.
His entire effort is fueled by his desire to educate the next generation of developers with an understanding of how computers *actually* work, which is something he feels is both important and has been lost.
https://handmadehero.org/
Stick a hot soldering iron through the upper-left hand corner of your 720K floppy and now you've doubled the capacity.
Hexadecimal: what it is, why it is and how & why it evolved from octal.
That, and why real computer scientists often confuse Halloween w/ Christmas: 31 Oct = 25 Dec.
Error: NSE - No Signature Error
(Yes, they existed - especially in the mid-1980s) all knew:
- Interrupt 18 to force a reboot
- The memory range which was set aside for the display, and which you had to write to in order to do graphics (non-hackers used libraries but hackers mostly went for embedded assembler to try and squeeze a little more speed out for graphics work)
- The hex number for every one of the 16 colors a CGA display could show (Sierra Online took it a step further in the AGI engine and invented an early precursor of the scene-bumpmap which allowed their pseudo-3D adventure games to work by using a map-image where depth was indicated by color allowing characters to walk in front or behind objects). Unlike a true bumpmap it didn't specify height for lighting, it specified distance from the screen for movement. It allowed the Y axis to double as a Z axis
- How to read/write from the parallel port
- How to write to the PC-speaker's memory address to play sounds
- How to access extended memory
All things that went by the wayside when Unix and Win32 became available on the PC platform, acting like you are root all the time became frowned upon, libraries became the normal way of doing things, memory wasn't artificially limited to 640K. Some of the legacies of this era lived on rather longer than you'd think. As late as the early 2000's the best way to run most games on Linux was still using SVGALib - which wrote directly to video memory and didn't require resources for X, but in an age before the DRM driver in the kernel SVALib meant you had to run your game as root. I still played Quake2 that way ! The way SVGALib worked was simply a slightly larger memory region using the exact same techniques that we had used in the 1980s.
Unicode killed the ASCII-art *
The "control characters" have their own special position in ASCII, as the codes below the space character: 0x00 through 0x1F.
Yet, for some reason, there is one more sort-of control character outside that range: DEL, which is 0x7F. This bit of lore is actually from before my time, but I know why.
People used to actually use paper-punch machines to punch input tapes. What could you do if you mis-punched? There's no good way to fill in holes you didn't mean to punch, but you could go back and punch more holes. ASCII is a 7-bit standard and DEL is all 7 bits set. So, if you hit the wrong key on the punch, you could hit DEL and it would punch out all the rest of the holes, making 0x7F or DEL, and the paper tape reader would simply ignore any DEL characters it saw.
Oh, I guess anyone who can use Wikipedia didn't need me to find this out.
P.S. I didn't actually know why the carat notation for DEL is ^?, but Wikipedia explains that as well. Neat!
lf(1): it's like ls(1) but sorts filenames by extension, tersely
The zero page on e.g., a 6502 consisted of the first 256 bytes in memory, so the address of any byte therein was only a single byte in stead of two. Access therefore was faster on that page than of all other parts of memory.
The Apple II was my first computer. I bought it when I was thirty, in 1979. I then was an art historian, looking for new ways to administrate art collections. It really changed my life
Paai
I'm seeing a plethora of 6, 5 and even 4 digit userids post here for this one. Good to see we ain't dead yet...
WDD1100 jumpers, ABit dual CPU mobos w/ peltior plates.
My Yellow card, Abend Aid was an amazing help when looking at 40Meg bal360 dumps.
Trips over to the data center to nail down the last couple slashes for some JCL
Late afternoon games of snipes on Novell 2.15 networks
Using that 3270 terminal/XT PC in my cubical farm nest - SNA and IPX/SPX
programming the Gigi keyboards to mess with others in the college computer labs
replacing miles of coax with Cat5 as a sign of the change of times.
Now I get to sit on the porch here in sunny south Georgia and chat with other old timers. TV studio eng, Packet radio guy,
and so many others. The poor kids of today don't really understand how good we had it.
Eh, networking multiple Amigas together at a copy-party...
Nobody had any special hardware. But we had a bunch of serial and parallel cables, and every Amiga had a serial and a parallel port. So we'd daisy chain them serial-parallel-serial-parallel...
Then there was no real networking software, but there was the contents of the computer connected over serial or parallel seen as an extra "disk drive" with its volumes seen as directories.
So, you want to copy a file to that guy three computers over to your left? The guy to your left connects to you over serial, so open the 'drive' that stands for serial link, and you're on his computer. Then open the 'parport' directory and you're two computers over. Open another 'serial' and you're with access to the computer you wanted :D
45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2