Ioctl
September 20, 2012 8:38 PM   Subscribe

The TTY Demystified. History of the TTY and interrelationships of modern TTYs,Jobs and SIGs.
posted by Ad hominem (71 comments total) 48 users marked this as a favorite
 
If you've ever mucked around in a UNIX tty driver, you know it's some of the oldest, most convoluted code in the system. Apple fucked up their tty code a couple years ago and still haven't fixed it. Try it out:

504 ~$ cat
^Z
[1]+ Stopped cat
505 ~$ fg
cat
cat: stdin: Interrupted system call
506 ~$


That shit is completely broken.
posted by ryanrs at 8:45 PM on September 20, 2012 [12 favorites]


Most people don't know or use fg or bg in modern times. Some of the more archaic uses not mentioned in the article are the fact root can echo to any tty, dropping mysterious text into any terminal, and devices can be connected to ttys and can be called(!) using the CU command. In Linux, two machines can be linked via serial cable and called on ttys using cu.

Definitely one of the oldest and most interesting parts of unix. All the strange uses reflect almost the entire history of modern computers.

Another odd factoid is the unix command tip which connects a TTY over a modem is named after, or perhaps for the same reason as, the green wire in standard telephone cable, always called tip ( the red wire is called ring).
posted by Ad hominem at 9:05 PM on September 20, 2012 [3 favorites]


Most people don't know or use fg or bg in modern times.

Despite having use linux for 5 years before, I didn't learn that bg or fg even existed until I had to write a shell for a class assignment.
posted by azarbayejani at 9:10 PM on September 20, 2012


Most people don't know or use fg or bg in modern times.

I must use fg a couple hundred times some days of the week. It's still pretty standard shell vernacular, I think.
posted by brennen at 9:13 PM on September 20, 2012 [9 favorites]


Also, my next noise project is totally going to be named SIGHUP.
posted by azarbayejani at 9:15 PM on September 20, 2012 [4 favorites]


As a deaf person, not the TTY I was thinking of.
posted by desjardins at 9:15 PM on September 20, 2012 [11 favorites]


All you job control deniers better learn or else some old guy with a beard and suspenders is going to make fun of you.
posted by ryanrs at 9:17 PM on September 20, 2012 [19 favorites]


This: Most people don't know or use fg or bg in modern times. surprises me. I know I was using fg and bg not long after I started using Linux, though I can't remember how I found out about them. It's possible the dorm's linux guy told me about them (and "&" for backgrounding jobs), I guess? I wish he'd told me about nohup.

root can echo to any tty, dropping mysterious text into any terminal

The system is going down for system halt!
posted by kenko at 9:18 PM on September 20, 2012 [3 favorites]


I've written directly to the tty of a hacker who was trying to install an IRC server on my linux machine. He had just gotten in via an exploit in BIND (ugh). I told him to GTFO, and he did. Then I took the host down for a complete wipe.
posted by ryanrs at 9:22 PM on September 20, 2012 [6 favorites]


...and then Solaris leaves you stranded on the razor-sharp coral, broken and weeping, awash in the rough surf as yuo try to configure a bank or two of modems. Until you find the illicit tty daemon, the one you're not supposed to have in a SRV4 environment...

I have no idea what it's like now. I just use "screen" in MacOS X to get into the console ports of various security appliances these days.
posted by Slap*Happy at 9:24 PM on September 20, 2012


It's still pretty standard shell vernacular, I think.

True, although there are an increasing number of people who use Linux and other Unix-based systems (esp. MacOS) who don't use the traditional shell at all.

However, I don't think that's an argument in the slightest for neglecting those subsystems (as Apple has done), since one of the benefits of Unix even when wrapped in a proprietary GUI is that you have a powerful, predictable, and traditional text-based interface available if you ever need it. And it's my experience that eventually, most users will eventually find a task that's much easier done that way than through the GUI, but before that point tend to underappreciate it.

devices can be connected to ttys and can be called(!) using the CU command. In Linux, two machines can be linked via serial cable and called on ttys using cu.

I've seen some pretty neat "lights out management" stuff put together using nothing more than the TTY subsystem, in places that use commodity hardware without dedicated LOM ports. The simplest setups just run serial lines from each machine over UTP back to a central console, which is just a machine with a whole bunch of serial port cards in it. That machine just logs into any machine it wants over serial, meaning they don't have to have SSH or any other remote access tools enabled. Unfortunately, I think some modern distributions don't enable serial login by default, meaning you need to configure each machine (or make a custom image with it enabled).
posted by Kadin2048 at 9:28 PM on September 20, 2012 [2 favorites]


All I know is, fifty years in the future people will still sometimes have to run stty erase ^H for no discernible reason.
posted by vanar sena at 9:56 PM on September 20, 2012 [18 favorites]


Oh god, 'cu'. I do not miss 'cu' (or 'tip' or 'stty'). I haven't had to mess with disabling control characters in ages...

I do, however, have issues with people who use 'screen' when redirection plus '&' will do. :-)
posted by smidgen at 9:57 PM on September 20, 2012


desjardins: As a deaf person, not the TTY I was thinking of.

Sorta. TDD and the TTY described in this article share the very same historical roots.
posted by zsazsa at 10:02 PM on September 20, 2012 [1 favorite]


I do, however, have issues with people who use 'screen' when redirection plus '&' will do.

mosh + byobu is the best thing going. I've got a remote Ubuntu virtual server doing lots of interesting things - one byobu "window" is running irssi, connected to my favourite IRC channel, one is torrent software, one is an instance of R. On my Macbook I've got iTerm running full screen, using mosh to connect to the remote server.

So I open up my laptop, and there on the screen is my IRC channel - I never leave it, but I can carry my connection to it around with me wherever I go. I haven't logged off from this shell in months.
posted by Jimbob at 10:05 PM on September 20, 2012 [3 favorites]


I want mosh to be awesome. I really do.... but the requirement to open a thousand UDP ports (60000-61000) in order to use it just really rings loud security alarm bells.
posted by jaymzjulian at 10:12 PM on September 20, 2012


I miss the days when the bell character rang a bell :(
posted by fallingbadgers at 10:16 PM on September 20, 2012 [2 favorites]


I feel like pouring out a 40 oz for W. Richard Stevens.
posted by benito.strauss at 10:18 PM on September 20, 2012 [4 favorites]


fallingbadgers, if it doesn't exist, it sounds like a kickstarter project - a USB bell
posted by jaymzjulian at 10:18 PM on September 20, 2012 [1 favorite]


fallingbadgers: "I miss the days when the bell character rang a bell :("

I finally have a rainy day project for the rotary phone we've had sitting around in the house for the past half century, so thank you.
posted by vanar sena at 10:20 PM on September 20, 2012 [3 favorites]


It is like reading about buggy whips. Apparently you still need a buggy whip to drive that Linux automobile.

I'm sorry but I'm not nostalgic about this stuff at all, and I actually find it somewhat horrifying to think that tty exists somewhere in the bowels of my Android phone.
posted by eye of newt at 10:30 PM on September 20, 2012 [1 favorite]


While I'm proud for having learned to debug sendmail configuration files, which is roughly equivalent to teaching yourself Linear B, all that time I spent trying to make modems and UNIX serial communications in general work correctly feels like time spent pointlessly breaking rocks in a prison gang. I have no nostalgia for that stuff.
posted by LastOfHisKind at 10:32 PM on September 20, 2012 [1 favorite]


Ok, you unix peeps might still use job control but nobody who uses OSX uses it (except for the 2 people who will drop into the thread and say they use it 10 times a day)


That is what is so fascinating. It has existed in one form or another in perhaps the majority of hosts on the internet, and now every machine running OSX since the late 60s.

God knows what was in NT, could have been half of VMS in there.
posted by Ad hominem at 10:36 PM on September 20, 2012 [1 favorite]


Sorta. TDD and the TTY described in this article share the very same historical roots.
There is also the TTY relay service, including the enigmatic (to me at least) speech-to-speech relay, where the relay operator simply repeats what you say. It is mainly used for bizarre forms of pranking.
posted by Ad hominem at 10:41 PM on September 20, 2012 [1 favorite]


I remember seeing a teletype number on my dad's business cards when I was a kid. That is the extent of my interaction with this technology.
posted by me3dia at 10:51 PM on September 20, 2012


I feel like pouring out a 40 oz for W. Richard Stevens.

I spent many an early teen hour pouring over Advanced Programming in the UNIX Environment and the various volumnes of TCP/IP illustrated.

I should get something like Solaris-x86 running right now, get back to my roots. I have a Sparc sitting sitting on my desk at work, but I don't want them finding me there tomorrow AM hunched over the keyboard doing stupid TTY tricks on it when it is supposed to be running Perforce.
posted by Ad hominem at 10:55 PM on September 20, 2012 [1 favorite]


Ok, you unix peeps might still use job control but nobody who uses OSX uses it (except for the 2 people who will drop into the thread and say they use it 10 times a day)

To be fair, is, I assume most (I said most, ohai outliers!) people just use OSX as a mac rather than as a unix - I'd wager that most OSX users don't even know that the BSD subsystem exists, except in the same sort of abstract way that windows users know that cmd.exe is where tech support tell you to run ipconfig for no reason.
posted by jaymzjulian at 11:07 PM on September 20, 2012


I actually find it somewhat horrifying to think that tty exists somewhere in the bowels of my Android phone.

I can't imagine the freak-out you're going to have when you find out about mitochondrial DNA.
posted by benito.strauss at 11:08 PM on September 20, 2012 [14 favorites]


I actually find it somewhat horrifying to think that tty exists somewhere in the bowels of my Android phone.

For a fun day, you can actually install terminal or connectbot on your android phone, and get a tty shell where you can do stuff - you can then install the rest of a real linux distro (debian, ubuntu, fedora) and use your phone as a real linux box. It's kind of.... honestly disturbing the first time.
posted by jaymzjulian at 11:16 PM on September 20, 2012 [2 favorites]


To be fair, is, I assume most (I said most, ohai outliers!) people just use OSX as a mac rather than as a unix

You are probably right, I am just used to rails dev types who are always going on about the command line. I meant they don't use it. I am probably in the minority in thinking of OSX as unix with a really nice windows manager.
posted by Ad hominem at 11:17 PM on September 20, 2012 [2 favorites]


You are probably right, I am just used to rails dev types who are always going on about the command line. I meant they don't use it. I am probably in the minority in thinking of OSX as unix with a really nice windows manager.

Oh man, as a greying-beard unix type (I'm only in my thirties, not fifties!), I assure you one of the most frustrating thing in the world is watching those guys attempt to fling a commandline... omg. It's like watching your grandmother* user a computer.

It's like http://xkcd.com/763/ but with unix...

* (your grandmother may vary)
posted by jaymzjulian at 11:20 PM on September 20, 2012 [3 favorites]


For a fun day, you can actually install terminal or connectbot on your android phone, and get a tty shell where you can do stuff

I was using mine last night to diagnose SD card errors.

For years what I wanted from the future was an affordable phone with an ssh client so I could fix server issues from a nightclub, now I have it I no longer have a job where I'd need to do this and I can't remember when I was last in a night club.
posted by tallus at 11:28 PM on September 20, 2012 [10 favorites]


TTY non! RTTY si!
posted by Devonian at 11:30 PM on September 20, 2012


Ad hominem: "I feel like pouring out a 40 oz for W. Richard Stevens.

I spent many an early teen hour pouring over Advanced Programming in the UNIX Environment and the various volumnes of TCP/IP illustrated.
"

You really shouldn't. Getting books wet tends to ruin them.
posted by Joakim Ziegler at 11:52 PM on September 20, 2012 [5 favorites]


I am probably in the minority in thinking of OSX as unix with a really nice windows manager.

I'm with you. For a long time, Windows was my general-purpose graphical OS, and Linux was something for being geeky in, and running my website. Since I got a Macbook six months ago, I'm loving it. It's pretty, it works well, it can run commercial software, but I can fire up a terminal and be geeky in it as well! I've got to the stage now, when forced to use Windows in my office, that I'm depressed and pissed off that Windows doesn't even have an ssh command built in. The most useful thing Microsoft could do, as far as I'm concerned, is get rid of cmd.exe and replace that whole part of the system with something decent. How do people who use Windows machines for development, and as servers do it? Honestly? When you can't just ssh into them and muck about?
posted by Jimbob at 11:56 PM on September 20, 2012 [1 favorite]


he most useful thing Microsoft could do, as far as I'm concerned, is get rid of cmd.exe and replace that whole part of the system with something decent.

Powershell has been around for a while now like, five years? And jscript for scripting was decent right back to windows 2000 (forget vbscript :)).

I mean, I'm a linux weenie tho... so yeah. There's that. But I work on windows servers as 50% of my work life, and yeah, powershell is actually pretty good.
posted by jaymzjulian at 12:10 AM on September 21, 2012 [1 favorite]


Well, you can SSH into windows if you really want, there quite a few options. I am a basic kind of guy and I administer less than 20 windows servers, so I use RDP for my work, but the sysadmin pros manage them, apply patches, make sure I don't break them. They have pretty sophisticated remote management and monitoring setups. There is a cmd.exe replacement from MS,Powershell, that most developers and sysadmins use.

In a way, Windows betrays its roots as an OS that had very wide rollouts, tens of thousands of desktops as opposed to single or a small cluster of servers. It is easier to administrate in aggregate. It has stuff like Active Directory Group Policy Objects and WMI.
posted by Ad hominem at 12:12 AM on September 21, 2012


Hmm never tried Powershell, I guess that's the answer.

If I ever had any need or desire to use Windows as a server...
posted by Jimbob at 12:14 AM on September 21, 2012


I suggest the addition of a "UNIX" tag.

Powershell was needed a decade ago... those Redmond Weenies... at least they finally got around to it. I've seen some real dark, black magic used in the administration of Exchange environments...

C-Beams glittering and all...
posted by PROD_TPSL at 12:38 AM on September 21, 2012 [2 favorites]


It is like reading about buggy whips. Apparently you still need a buggy whip to drive that Linux automobile.

Sort of, but it's more like being the captain of an interstellar spaceship, falling through a wormhole, ending up on a planet where technology hasn't progressed much past the wheel yet with all your crew dead, and discovering you can easily pilot the thing home with a buggy whip.
posted by Dr Dracator at 12:40 AM on September 21, 2012


Wonderful stuff, thanks Ad hominem.

Ok, you unix peeps might still use job control but nobody who uses OSX uses it (except for the 2 people who will drop into the thread and say they use it 10 times a day)

Hello! I suspect I'm not that unusual in being a long-time Mac user who, when OS X came out, had a lot of 'Oh, shit, I can't fix this problem the way I would on OS 9' moments and spent hours reading basic tutorials on using the command line, most of which included stuff on job control.

The fact that all this stuff is so fascinating, has such a rich history and gives you so much control over your computer made it a lot easier to accept that Apple had just made everything I'd ever learned about using the Mac obsolete overnight!
posted by jack_mo at 1:56 AM on September 21, 2012


I miss the days when the bell character rang a bell :(

It still tolls for me.
posted by 3.2.3 at 4:52 AM on September 21, 2012 [1 favorite]


Kadin2048: Unfortunately, I think some modern distributions don't enable serial login by default, meaning you need to configure each machine (or make a custom image with it enabled).

Usually, you just need to uncomment a line in /etc/inittab; it's ready to go, just needs a hash mark removed, and you've got a serial terminal working. This may be harder with the newer init replacements, like upstart, but I don't know for sure.

It makes sense for it to be commented out, though. My current motherboard doesn't even have a serial port on the back. It may have one internally, but I don't think I even got a breakout cable to pull it to the back of the case.
posted by Malor at 5:35 AM on September 21, 2012 [1 favorite]


It is like reading about buggy whips. Apparently you still need a buggy whip to drive that Linux automobile.

Well, you don't really need to know or understand the infrastructure under the command line. In normal use, you just type commands, and get replies back. TTYs would probably only come up if you were doing something both complex and system-related (like, say, trying to hook up an old VT100 to your computer), and you wouldn't have to think about PTYs (the userspace equivalent) unless you were programming in C, or another lowish-level language.

Even a program like screen, which does all kinds of cool magic to virtualize PTYs and keep programs running if you disconnect, is almost entirely automatic. You think about screen, not TTY/PTY underpinnings. Under the hood, it's doing all kinds of wizardry, tracking state for each virtual console, so that you can freely disconnect and reconnect and get an accurate image of what's on the virtual screen, but you don't care about any of that. All the complexity is abstracted away, and mostly you just need screen -l to see your screen sessions, and screen -r to reconnect to one.
posted by Malor at 5:45 AM on September 21, 2012


Another odd factoid is the unix command tip which connects a TTY over a modem is named after, or perhaps for the same reason as, the green wire in standard telephone cable, always called tip ( the red wire is called ring).

One of my proudest moments around 1991 was getting Amiga Unix installed on my Amiga 3000 (stock system, not one of those fancy A3000UX beasts) & using tip to call out to BBSes. One of the developers had been a member of LOD; when he heard about my interest he passed along a copy on CD.

Yeah, I remember all this stuff. Did anybody else catch a shot of the computer screen at the end of the first episode of Revolution? It shows a slightly modified PPP script that was originally used to connect Linux boxes to a CompuServe dialup in the UK.
posted by scalefree at 5:54 AM on September 21, 2012


Some of my favorite sleepy time ambient music was produced by tuning my immense vacuum tube shortwave radio to a RTTY signal, turning the volume down low, and sliding sideways into sweet oblivion to the score of incomprehensible electronic communication twittering in the drifting fuzz of the ionosphere rising and falling to the whims of the weather in space.
posted by sonascope at 6:51 AM on September 21, 2012 [4 favorites]


Kadin2048: "I've seen some pretty neat "lights out management" stuff put together using nothing more than the TTY subsystem, in places that use commodity hardware without dedicated LOM ports. The simplest setups just run serial lines from each machine over UTP back to a central console, which is just a machine with a whole bunch of serial port cards in it. That machine just logs into any machine it wants over serial, meaning they don't have to have SSH or any other remote access tools enabled."

Yep. There are even purpose-built devices for this called serial servers. A lot of networking hardware also requires configuration via serial port (ostensibly for security, although a lot of that advantage disappears if you're going to wire everything together, but I digress). Similarly, a lot of places have racks of (non-IT) hardware without any sort of ethernet connection at all, so you do tend to see serial servers quite frequently in some industries.

My favorite (very recent) serial/TTY kerfuffle? A few years ago, the Long Island Railroad hooked up a serial server to a bunch of its equipment, and accidentally used a grounded RS-232 connector in one place. After a power surge, that one grounded RS-232 connector disabled almost all of the railroad's signaling equipment. Crazy stuff...
posted by schmod at 7:01 AM on September 21, 2012 [2 favorites]


Hello! I suspect I'm not that unusual in being a long-time Mac user who, when OS X came out, had a lot of 'Oh, shit, I can't fix this problem the way I would on OS 9' moments and spent hours reading basic tutorials on using the command line, most of which included stuff on job control.

I kind of suspect those of us who used OS 9 are a minority among current Mac users.

Which might explain the blank looks I get when I mention the loss of command-Y to eject. (It's been, what? 10 years? How do I still have enough of that reflex left that I try it occasionally?)
posted by hoyland at 7:23 AM on September 21, 2012


My first full-time job was working for a large department store that had a catalog division, and I transmitted catalog orders to main HQ via an ancient teletype machine that used paper tape. As I transcribed the order forms that had been taken over the phone, the keyboard would punch holes into the tape, which got pretty long as I typed. When I was done with my transcription of a batch, I would collect the coiled tape from the floor and then spool it in my hands in a figure-eight form. When I was ready to transmit, I'd stick one end of the paper tape into the reader, which would then start chugging along like a steam engine, and a set of pins would read the holes that were punched, and would transmit the information in some sort of signal of which I am still not sure. It was very loud!

This wasn't that long ago (relatively, at least): it was 1973, and I was just 18 years old. But I was using technology that was new when my grandma was in the workforce.
posted by The Sprout Queen at 7:47 AM on September 21, 2012 [1 favorite]


Amazing. I thought I understood all this stuff, bust really I just had a hazy notion built around the three or four things that I actually use. I had no clear idea of the precise relation between job control and terminal emulation and I never really understood the purpose of process groups and session leaders. Unix never ceases to baffle with its heady mix of grand abstraction and fussy detail. Makes you think anything is possible.
posted by deo rei at 8:09 AM on September 21, 2012 [3 favorites]


serial terminal is usually the console, which can be good to have, put out to USB->serial converters or otherwise.

(I'll betray my past 3 years doing embedded linux dev, where you live and die by the serial console and a lot of stty work to talk to other devices :/ )

Ad hominem - so, uh, where you work that you run p4 ? I miss working with the running man..
posted by k5.user at 8:12 AM on September 21, 2012


Jimbob: does that also mean that anyone who steals your laptop also has access to all your open SSH sessions?
posted by deo rei at 8:19 AM on September 21, 2012


While I'm proud for having learned to debug sendmail configuration files, which is roughly equivalent to teaching yourself Linear B, all that time I spent trying to make modems and UNIX serial communications in general work correctly feels like time spent pointlessly breaking rocks in a prison gang.

Huh; personally I feel the opposite. All my Sendmail knowledge has been rendered pretty much obsolete now that basically everyone's moved over to Postfix (thank god), and in retrospect I can't believe how much time I wasted on that crummy thing, or why people took so damn long to move to Postfix.

But the serial stuff still comes in handy occasionally... RS232 is still the lingua franca of the hardware world, for talking to not-really-smart devices like routers and managed switches, or PBX systems, random old peripherals... and because it exists at such a low level in Unix and Unix-like OSes, it's unlikely to go away or change significantly in the future. It's the sort of thing you can learn once and then get a lifetime of saving the day (or at least nerdy party tricks) out of.

I want mosh to be awesome. I really do.... but the requirement to open a thousand UDP ports (60000-61000) in order to use it just really rings loud security alarm bells.

I haven't installed it, but it does its magic using an SSH tunnel, right? So those ports don't need to actually be opened through any exterior firewalls; it's just using them for IPC, basically. (And using it as opposed to some other form of IPC so that you don't have to modify SSH.) That seems pretty benign. If a user has permissions to connect using ssh -X or ssh -D (on a non-privileged port), what mosh is doing isn't very different.
posted by Kadin2048 at 9:13 AM on September 21, 2012 [1 favorite]


Most people don't know or use fg or bg in modern times.

Are you kidding me? Can't say I use bg that much, but fg is in use all the time, every day. Edit file with vi. Realize I need to check something. Ctrl-z out, check whatever it is, fg back into vi.

All you job control deniers better learn or else some old guy with a beard and suspenders is going to make fun of you.

Er... that may just be me you're talking about, sonny...
posted by 43rdAnd9th at 9:47 AM on September 21, 2012 [2 favorites]


Definitely one of the oldest and most interesting parts of unix. All the strange uses reflect almost the entire history of modern computers.

It's like ontogeny recapitulates phylogeny for operating systems.
posted by grouse at 9:54 AM on September 21, 2012 [1 favorite]


I've written directly to the tty of a hacker who was trying to install an IRC server on my linux machine. He had just gotten in via an exploit in BIND (ugh). I told him to GTFO, and he did. Then I took the host down for a complete wipe.

Note to self: Write a daemon that tells every TTY to GTFO periodically.
posted by qxntpqbbbqxl at 10:13 AM on September 21, 2012 [3 favorites]


Ok, you unix peeps might still use job control but nobody who uses OSX uses it (except for the 2 people who will drop into the thread and say they use it 10 times a day)
I think there've already been more than two of us.
posted by fantabulous timewaster at 10:15 AM on September 21, 2012


It has existed in one form or another in perhaps the majority of hosts on the internet, and now every machine running OSX since the late 60s.

As I remember, only those systems on the Berkeley part of the tree had job control.
posted by Obscure Reference at 10:40 AM on September 21, 2012


After finally trying tmux I've never gone back to screen.
posted by Zed at 10:56 AM on September 21, 2012 [1 favorite]


Ah, but in the description of tmux:

lack of built-in serial and telnet clients

See, that's one of the more useful features of screen -- you can use it to drive a serial port, with full terminal emulation. AFAIK, it's only a tiny bit of extra code, and suddenly you've got all that virtual-screen goodness connected to another machine over a serial port. This is way better than that old piece of shit, Minicom.

I actually use this in my home network; I have a serial backdoor into my firewall, in case I screw up the ruleset, so I don't have to hook up a screen and keyboard. I think I've only used it once, but it was sure handy, and cost me all of $3 for the cable.
posted by Malor at 11:23 AM on September 21, 2012


I've never accessed a tty via serial port. I'm going to go shave off my beard now.
posted by Zed at 11:55 AM on September 21, 2012


I've never accessed a tty via serial port.

Modem counts.
posted by grouse at 12:05 PM on September 21, 2012 [1 favorite]


When I was in college, I had a linux box in my dorm room. My roommate did not have a computer. Someone sold me an old classic Mac for a dollar. I used a serial connection to make it into a terminal for my linux box, so we could both check our email at the same time.
posted by Galaxor Nebulon at 12:11 PM on September 21, 2012 [2 favorites]


I am probably in the minority in thinking of OSX as unix with a really nice windows manager.

exactly. WE EXIST.

i went to berkeley in the late 80s and early 90s, so i lived and breathed BSD. i was also always an apple II user from childhood and a mac user as well.

so i'm one of those people that totally loves OSX because it's a nice windowing system with lots of software available, sitting on top of a "real" OS. unlike linux, there's lots of commercial software available. don't get me wrong, i love linux, but OSX is the bomb, especially on a macbook air. doubly so when you add MacPorts.
posted by joeblough at 12:15 PM on September 21, 2012


Ad hominem - so, uh, where you work that you run p4 ? I miss working with the running man..

I'm a programmer in financial services in New York. The code in p4 is some sort of legacy code from two acquisitions ago that does some sort of analysis on mutal funds. We only use it a few times a year but I'm the designated keeper. Oddly, we are a Windows and VMS shop so I am the only one that knows UNIX at all.
posted by Ad hominem at 2:00 PM on September 21, 2012


so i'm one of those people that totally loves OSX because it's a nice windowing system with lots of software available

It's funny - after all these years of Linux, one of my chief interface gripes on a modern Mac is that I prefer a real window manager. Exposé was pretty sweet, and I sort of imagine that whatever they've developed in that space since that was the current thing is ok, but in terms of getting real work done I'd still rather use xmonad. Or, come to that, Window Maker ca. 2001 (irony's a bitch, ain't it?).
posted by brennen at 8:07 PM on September 21, 2012


Very helpful article.

I had to figure all that shit out by first FINDING paper copies of (thanks, USENIX!), and then reading the tty man pages. They were nowhere as clearly and comprehensively written as that article. The most important thing I learned was probably "stty sane", although I don't think that existed at first. Later at NeXT, it was easiest to just read the source, Luke.

We had 16 signals and we liked it. If it was good enough for Ken Thompson and Dennis Ritchie, it was good enough for us.

At NeXT I made modems work correctly with Mac-style RS-422, fixed some very expensive bugs in uucp (which we used to send email to field offices around the world!) then later made it relatively easy for NEXTSTEP connect to ISPs using first uucp, then SLIP, then PPP. I notice that the modem cruft still lying around OS X looks suspiciously similar to stuff I wrote. Ooh, looks like Internet Connect.app has mutated into /System/Library/CoreServices/Network Setup Assistant.app. I still kind of hate modems.

I definitely didn't leave the tty drivers broken. Does anyone want me to go back to Apple, figure out what broke, and fix it?
posted by Hello Dad, I'm in Jail at 3:39 PM on September 22, 2012 [11 favorites]


Hello Dad, I'm in Jail: you just made my day.
posted by now i'm piste at 6:59 PM on September 22, 2012 [1 favorite]


Apparently you still need a buggy whip to drive that Linux automobile.

I'll never understand why people equate less functionality with modern convenience. Power is convenient. Making sand out of sandcastles is not.
posted by DU at 5:01 AM on September 24, 2012


I'll never understand why people equate less functionality with modern convenience.

Does your car have a manual choke?
posted by benito.strauss at 9:34 AM on September 24, 2012


Does your car have a manual choke?

In this metaphor, the TTY stuff in a modern Unixlike system is not a manual choke; it's the fact that (as with the choke, throttle, separate starter interface, etc., in my '54 Chevy compared to the absence of same in my late-model Toyota) you pretty much don't have to think about the problem because it's handled for you.

If we're talking about job control specifically, that's not a manual choke. It's a clutch or something...
posted by brennen at 10:56 PM on September 24, 2012


« Older That'll do pig. That'll do.   |   It is impossible to imagine a finer association... Newer »


This thread has been archived and is closed to new comments