Six Colors
Six Colors

by Jason Snell & Dan Moren

This Week's Sponsor

End users aren't your enemy! Kolide gets users to fix their own device compliance problems–and unsecure devices can't log in. Click here to learn how.

By Jason Snell

Applications Folder: Past meets future

In the fall of 1988 as a new freshman at UC San Diego, I put my high-school newspaper skills to use and volunteered to edit copy for the Revelle College newsletter. This being a serious, science-focused school, the editor instructed me to go to the first floor of the Applied Physics and Mathematics building and get a Unix account, after which he would teach me the basics of editing stories using something called vi.

Learn Unix and vi so you can edit stories for a college newsletter? Talk about overkill. But I was excited to have an excuse to get access to the university computer system, and so I got an account and learned the ins and outs of vi. The next year I moved on to my university-wide newspaper, where we much more sensibly used Macs and Microsoft Word, and my Unix skills remained frozen in time.

Funny how things turn out. What I learned in the fall of 1988 to edit a college newsletter has turned out to be a set of valuable skills that benefit me to this day. When Mac OS X arrived, build atop a Unix layer, I discovered that all my vaguely-remembered skills from more than a decade before were suddenly useful again. (I can edit text in vi in my Mac’s Terminal app to this very day. But I don’t.)

It also turns out that, in all the intervening years, there’s been no operating system that could shake the utility of Unix for things like running a servers on the Internet. Which is why the server that runs Six Colors and The Incomparable is a Unix server. Whenever I need to update software, upload files, or do anything else to configure that server, I end up at a command-line interface that’s not that different from the one I learned on more than thirty years ago.

Back then, if I wasn’t in a cold computer lab in the basement of the Undergraduate Library, I was dialing in to a bank of modems in a terminal program on my Apple II. The tool I use to access the command line has changed a lot in the intervening three decades, even if it’s ultimately still a Unix system: These days I can do it from an iPhone or an iPad. (Yes, those are computing products still made by Apple, but from entirely different epochs.)

This is a long way of saying that I really get a kick out of connecting to Unix systems, these dinosaurs of computing, from tiny little touch devices. I use Panic’s Prompt 2 to connect to my server directly from my iOS devices. There’s nothing like troubleshooting server errors from a table at a bar on an iPhone. I don’t recommend it, but it’s amazing that it’s even possible.

But the bulk of my connections to my server are file transfers, uploading images or podcasts. For that, I used to use Panic’s Transmit for iOS, which has sadly been deprecated. Now I use a combination of tools. For some tasks, I’ve built a Shortcut that directly uploads a file into the proper directory and places its resulting URL on my Clipboard. For more complicated transfers, though, I’m now trying out two different apps, both of which integrate remote servers directly into the Files app. File Explorer is a server browsing app with Files integration, and Secure ShellFish dispenses with the browsing interface and relies entirely on Files to manage uploads and downloads.

With either tool, putting a file on my remote Unix server is just as simple as copying a file to iCloud Drive or anywhere else in the Files interface. My only complaint is that transfer statuses in the Files app are pretty opaque, so it can be hard to tell if your file is still uploading or if it’s stalled out. Transmit was great at that.

Finally, since our iPhones and iPads are based on the same foundation as macOS, it means that beneath the surface they’re running a variation of Unix too. Wouldn’t it be great to get access to that subsystem, just as you can by opening the Terminal on the Mac?

Well, Apple doesn’t want you getting your grubby hands on its pristine device underpinnings, so forget that. Instead, here’s iSH, an app under development that encomasses an entire emulated unix system on iOS. That’s right, iSH emulates an Intel processor running a Unix variant called Alpine Linux, and gives you the ability to install and run Unix software and even read and write files to the Files app. It’s both brilliant and ridiculous, and it makes me wish Apple would find a way to let us have a real Terminal on iOS as well.

But either way, it’s nice to put the skills I earned in the fall of 1988 to use more than 30 years later, on computer systems beyond the scope of anything we imagined back then. A command line on a touchscreen? Why not. 1988, meet 2019.

Search Six Colors