Some years ago, I (GLS) was snooping around in the cabinets that housed the MIT AI Lab’s PDP-10, and noticed a little switch glued to the frame of one cabinet. It was obviously a homebrew job, added by one of the lab’s hardware hackers (no one knows who).
You don’t touch an unknown switch on a computer without knowing what it does, because you might crash the computer. The switch was labeled in a most unhelpful way. It had two positions, and scrawled in pencil on the metal switch body were the words ‘magic’ and ‘more magic’. The switch was in the ‘more magic’ position.
I called another hacker over to look at it. He had never seen the switch before either. Closer examination revealed that the switch had only one wire running to it! The other end of the wire did disappear into the maze of wires inside the computer, but it’s a basic fact of electricity that a switch can’t do anything unless there are two wires connected to it. This switch had a wire connected on one side and no wire on its other side.
It was clear that this switch was someone’s idea of a silly joke. Convinced by our reasoning that the switch was inoperative, we flipped it. The computer instantly crashed.
Imagine our utter astonishment. We wrote it off as coincidence, but nevertheless restored the switch to the ‘more magic’ position before reviving the computer.
A year later, I told this story to yet another hacker, David Moon as I recall. He clearly doubted my sanity, or suspected me of a supernatural belief in the power of this switch, or perhaps thought I was fooling him with a bogus saga. To prove it to him, I showed him the very switch, still glued to the cabinet frame with only one wire connected to it, still in the ‘more magic’ position. We scrutinized the switch and its lone connection, and found that the other end of the wire, though connected to the computer wiring, was connected to a ground pin. That clearly made the switch doubly useless: not only was it electrically nonoperative, but it was connected to a place that couldn’t affect anything anyway. So we flipped the switch.
The computer promptly crashed.
This time we ran for Richard Greenblatt, a long-time MIT hacker, who was close at hand. He had never noticed the switch before, either. He inspected it, concluded it was useless, got some diagonal cutters and diked it out. We then revived the computer and it has run fine ever since.
We still don’t know how the switch crashed the machine. There is a theory that some circuit near the ground pin was marginal, and flipping the switch changed the electrical capacitance enough to upset the circuit as millionth-of-a-second pulses went through it. But we’ll never know for sure; all we can really say is that the switch was magic.
I still have that switch in my basement. Maybe I’m silly, but I usually keep it set on ‘more magic’.
1994: Another explanation of this story has since been offered. Note that the switch body was metal. Suppose that the non-connected side of the switch was connected to the switch body (usually the body is connected to a separate earth lug, but there are exceptions). The body is connected to the computer case, which is, presumably, grounded. Now the circuit ground within the machine isn’t necessarily at the same potential as the case ground, so flipping the switch connected the circuit ground to the case ground, causing a voltage drop/jump which reset the machine. This was probably discovered by someone who found out the hard way that there was a potential difference between the two, and who then wired in the switch as a joke.
So, I’ve got an idea in my head (well, where else would it be?) about comparing open source to magic. That still needs a while to brew in my wizard’s cauldron, so stay tuned or set a remembrall to come back and check some time in the future.
But wait, don’t go yet! One of the common ideas in open source is “release early, release often”, so I’m putting up my thoughts now, in advance of weaving them into a more magical narrative. This post may have bugs, annoyances, and a few swear words, but rest assured if it breaks you can keep both pieces. Oh, and feel free to cringe at the titles, taken from popular songs - because what’s more magical than music?
How could I possibly resist throwing this in?
On with the show…
Freedom is the Right of All Sentient Beings
Optimus Prime
Humans love novelty. Some people want to try new foods, see new places, or find new ways to use their coffee maker. I’m all three of those. And a geek who loves cartoons. But I also love finding new ways to use (and sometimes often break) my computer.
My PC, after one too many blue screens of death
But after using open-source systems for so long, going back to Windows or macOS is jarring. I just don’t have the freedom to customize it the way I want. In the words of a great philosopher “Freedom (to futz around with your desktop settings) is the right of all sentient beings”:
I want the freedom to completely reconfigure my workspace, with whatever look and feel works best for me. That might mean working in a bare-bones green on black terminal,
spinning around a cubic desktop with compiz, or something that looks like it crawled out of the age of 80s cartoons itself. And I can mix and match bits of them as I see fit.
Like every classic cartoon bad guy, Windows wants to limit my freedom to do what I want. Freedom to change the position of my taskbar or swap out my wallpaper is barely freedom at all. For true customization I’d have to yank out the desktop shell and replace it with a third party alternative. Pretty, but not great for stability.
The Mac is similar. I can choose from two themes, and I’m limited to the standard WIMP (Windows, Icons, Mouse, Pointer) interface. No tiling with i3m or PaperWM for me.
My current setup is a stripped-down GNOME desktop with PaperWM that I mostly use for running a terminal emulator and web browser. It’s fully keyboard-driven, uses arcane key bindings (thank you Vim!), and is almost perfectly tailored for my needs. Going back to one of the standard operating systems makes me feel like typing with boxing gloves on.
Okay, so Popeye wasn’t technically an 80’s cartoon, but that’s when I watched it. And it took me until not long ago to realize that the spinach stuff? Total fiction. I know, I feel as betrayed as you do.
Like Popeye, open source is what it is. It does what it claims to do (or fails trying if it’s buggy). Don’t believe what it says on the tin? Take a look at the source code on GitHub or work with a company like FossID to search vulnerabilities for you.
Back when I was a struggling student surviving on ramen and mince and cheese pies, I sure as Hell didn’t have any spare funds to throw at the latest Windows upgrade or (Heaven forbid) buying a Mac. I was stuck with what I had, or what I could download.
Then I saw a computer magazine in a local shop. It was one of those ones with CD-ROMs stuck to the front, offering the latest and greatest demos, shareware, and full versions of out-of-date software. And in this case, something called Knoppix Linux. For about 5 quid, I could not only get a new operating system, but one that came preinstalled with an office suite, programming IDE, graphics editor, and more. And I could share it with my friends for free!
Gnome 1.0: This was my first Linux desktop, back in the day
For a penniless student like myself, this was the only way I could’ve got my grubby little hands on all of these shiny goodies. Pirating really wasn’t an option on a 56k baud modem, and this was before torrenting was really a thing.
Open source software has the potential to continuously improve, and be driven by the needs of the users themselves. Sure, you could say that Windows 10 is an improvement on Vista, but there are definite downsides like ads clogging up your Start menu and your telemetry being reported back to Microsoft.
Where do you want to go today? Uh, not there...
You don’t like the direction in which your desktop environment is going? If enough users feel the same way, you can get together, fork it, and take it in a new direction. The MATE Desktop crew did just this with the Gnome codebase - they didn’t like the vision for Gnome 3.0, so took the 2.0 code and built their own version out of that. Just imagine trying to do the same thing with Windows or MacOS (admittedly, Gnome and MATE are desktop environments rather than full-blown operating systems like Windows, but that’s the beauty of it. Because it’s an open ecosystem, things are more modular. One system can have multiple desktop environments built in many different ways.)
Margaret meant this in more of an activism context, but the same holds true for open-source hardware and software. Many of the world’s biggest software projects are open-source, and contributed to by millions of developers. Billions of people around the world use them every day, often without ever knowing:
[Web server OS]
[DNS]
[Browser]
[Android]
Live Long and Prosper
Again, not exactly an 80s cartoon, but I saw Star Trek: The Animated Series in the 80s and its message of peace and understanding inspires me to this day (well, if I’m being honest, Star Trek’s message as a whole, not just TAS)
The thing about a lot of closed-source software is that it doesn’t live long, and this can lead to a downfall in your prosperity. Just think about the most popular word processing software in the world? What happens if the owner goes out of business?
I’m not talking about Microsoft Word. I’m talking about WordStar, the dominant word processor of the 1980s. Thousands of users, including George R. R. Martin (from Game of Thrones fame) were left in the cold when it was abandoned. They’d invested time and effort into learning this system, and now what? Over time, operating systems deprecate old functions and old software “rots”. Now the only way to run that once powerful program is to install Linux and DOS emulator on top of that. Otherwise all of those .ws files you spent hours, days, and years on, are if not completely inaccessible, a total PITA to work with. It’s kind of ironic that now the only way to work with closed software like WordStar is via an open source system.
Now, how would that look in the modern day? Microsoft is way bigger than just Word, so let’s look at a smaller company that makes productivity tools: What would happen if Adobe went under?
You’d be stuck with your existing versions of Adobe software while the rest of the world marched on. After a while, operating systems will deprecate enough legacy code that old apps won’t run any more. I haven’t tried running Photoshop 1.0 on Windows 10, but I can’t imagine it would be easy
Even sooner than that, Adobe’s license activation servers would go down. Since Adobe Creative Suite is Software as a Service (SaaS), it relies on these servers to verify you’re a paying customer. No server means no verification means you’ll either have features restricted or you’ll be locked out completely
What happens then to all your PSD and AI files? You might be able to do something with them in Inkscape or GIMP, but there’s not 100% compatibility
If you want to keep moving forwards, you’ll need to learn a new piece of software. Goodbye muscle memory and interface familiarity!
Illustrator? I barely knew 'er!
What happens if an open-source project goes under? If enough people care about it they can fork the code and keep it going themselves, just like MATE did.
This is the quote that always springs to mind when I think of what open source has done for me personally. I got started with coding back in the bad old days of MS-DOS 5.0 and QBasic. I have fond memories of editing the physics in the Gorillas game to make the bananas fly where I wanted, and trying to build a Zork-like text adventure without initially realizing the sheer amount of object interactions I’d have to deal with.
Other kids got Donkey Kong. I had this monstrosity instead. via Gfycat
Gorillas came with Qbasic, and the code was available to view and edit. But really it (and BASIC itself) are just toys. I really got into programming with Python, and the open community has been so educational and helpful in building what I want, whether it's a terminal-based WeChat client, a tool to translate and summarize long PowerPoints from a professor, or a website to help hospitals get protective equipment more easily.
Because I was building on open code bases (or in some cases, just open APIs and SDKs), I could see the magic for myself. The more popular programming languages and frameworks have extensive documentation and YouTube tutorials created by the community that helped me get running quickly, and by sharing the code myself, others helped me test it, fix bugs, and make it even better.
Script_buddy has done it again. Kirk and Spock drinking beer and having awkward conversations about airports. You can cut the sexual tension with a knife. It’s a perfect slashfic.
I’m still not quite sure how much of this output is from the Star Trek stuff I’m feeding in to script_buddy, and how much is it just riffing on material from the Internet Movie Scripts Database (which it’s been pre-trained on). I’ve written a script to create a more structured version of the Star Trek data and will try feeding that in over the next few days.
Now, without further ado:
Starting text:Kirk to Spock
The Script
Kirk sits at his desk. In response to Spock’s question, which seems at first confused, he takes a sip of water from a paper cup he’s putting away.
KIRK I’m thirsty.
SPOCK I’ll be on my way now.
He nods, then looks at the desk again. It’s empty.
SPOCK (CONT’D) (to himself) Oh. Damn.
Spock walks over to the kitchenette.
KIRK I guess we’re ready for dinner.
He picks up a bottle of beer from the fridge.
INT. KIRK’S KITCHENET.
Spock walks in the kitchen.
SPOCK (to himself) I’m all out of beer! I’m done!
He goes to Kirk as he’s sitting up. The doctor is about to say something to Kirk when, with faint surprise, he looks at the fridge and finds a bottle of Budweiser on the shelf.
INT. KIRK’S KITCHEN.
Spock sits down, with a beer in hand.
SPOCK (continuing) That’s beer. Budweiser. For you.
He takes a sip of it.
KIRK I’ll have it back soon.
Spock goes to the fridge and pulls out a bottle of Scotch Malt whiskey from under the counter. Kirk drinks.
SPOCK (continuing) I hope you haven’t had it yet.
INT. HALLWAY.
Holly walks down the hall with another drink.
HOLY There must be some kind of a mistake here.
Holly returns the drink.
HOLY There’s a mistake on the hall.
EXT. LOS ANGELES AIRPORT
Kirk and Spock make a quick detour across the airport.
INT. KIRK’S KITCHEN.
Spock returns to the desk, and pulls a chair from a nearby chair.
SPOCK (continuing) I think we might get out of here.
Spock hands Kirk a plastic bag with his jacket inside.
KIRK (laughing) We must really have been in a long line of students at the airport.
SPOCK (continuing) We could still go back…
KIRK (to himself) Of course we could.
SPOCK (continuing) …to the hotel.
KIRK (worried) We may have to wait a few more days to be deported.
INT. AIRPORT TICKET SALES CLUB.
An usher enters the window.
AIRSOVEREIGN May we help you with your boarding pass?
KIRK No sir. I’m very anxious to go.
Spock leaves the usher to the reception desk and exits on the tarmac.
INT. KIRK’S KITCHEN.
Spock sits down in front of Kirk.
KIRK (continuing) I’m sorry if that was a bit awkward.
SPOCK (continuing) I’m just a little anxious. We just need to talk about the flight. I could always make it back later.
KIRK (after a moment) I’d much rather.
Spock hands Kirk a plastic bag with his jacket inside.
INT. KIRK’S KITCHEN.
Holly enters the kitchenette with a soda.
HOLY (continuing) The flight…that was just an accident.
Today, many of the above technologies are still in their infancy, and I’m not confident we could re-create an episode of say, Star Trek, that would fool anybody. But we can create a janky knock-off just for the hell of it. Think of it as like B-4, the less bright younger brother of Lieutenant Commander Data.
Now, if we’re creating a TV show, the first thing we need is a script. I used script buddy v2, a film script text generation tool. It was a pain in the ass to get it up and running (I’m looking at you pip install torch and your not being able to find a version on Pypi that clearly exists) but I got there in the end. It’s even got a pretty graphical interface:
I haven’t yet fine-tuned it for Star Trek (that’ll be for a future post), but here’s what I got when I used “Space: the final frontier. These are the voyages of the starship Enterprise. Its five-year mission: to explore strange new worlds. To seek out new life and new civilizations. To boldly go where no man has gone before!” as the starting point:
Star Trek: The Ruth of Kahn (Yeah, that’s the title I’m giving it)
Space: the final frontier. These are the voyages of the starship Enterprise. Its five-year mission: to explore strange new worlds. To seek out new life and new civilizations. To boldly go where no man has gone before!
(MORE)
EXT. SPACE (MATRIX) - DAY
The Enterprise is being launched out of the planet’s atmosphere in a massive solar flare. It reaches the vast emptiness of space. It’s mission is complete: to boldly go where no man has gone before.
SIGNS. THE ENTIRE PLANETARY IS NOW A GLASS.
SIGNS. The ship RISES INTO SPACE!
A huge cloud of dust streaks by them, blocking their view. As the ship rises in space, their view is blocked by clouds of dust. The entire planet is now a shiny, glassy mirror of the stars.
And now they begin to make their way to the surface. The clouds now obscure the view of the ship.
JUMP CUT TO:
THE DUST has cleared. A small, primitive human city is visible. The two of them are in the center. On the roof of the building.
JUMP CUT TO:
TIGHT SHOT of the rooftop, as they approach a very long-legged woman in her late 20’s. The two of them walk up to her, and talk for a moment.
TIGHT SHOT. The woman turns her head and smiles, and a smile spreads across her face.
JUMP CUT TO:
INT. DANCE STUDIO - NIGHT
CLOSE SHOT on RUTH, a young girl from the audience, a perfect version of RUTH. She’s singing in a low-rent country style. She makes her way up the stage towards the audience.
And as the last bars die down, she starts to sing again. And again. And again. And again. And then we
FLASHBACK ON them as she stops. and looks down at her hands, as if looking at a mirror.
FLASHBACK ON RUTH as she is getting up and talking to the crowd. And finally looking at her hands. And the next bars, and
the next, and the next and the next.
TIGHT SHOT. RUTH is getting more and more excited about the music and the act. She gets up and starts to sing again, which is then interrupted by:
THE ENTIRE PAST - DAY
EXT. JUPITER TWO - DAY
We see the Enterprise through the sun. RUTH is walking along the beach towards the ship. We see the ship and see her smile. She looks right at the crowd. There’s a very large number of people there, including a very young HONEY.
And now they’re on the ship. She stops, to get closer to her ship. There’s a lot of activity up front, as they take their seats and the audience get’s the chance to
lick their lips and dance. The music is still high.
And now we FLASHBACK, as she notices a man sitting alone on one of the decks. She walks over and sits down beside him. He looks very bored.
And now they start to dance. She’s a very good dancer. RUTH is smiling a lot, and she does a lot of hip moves. Her audience is very supportive, giving her credit for having a good time. This is a big moment for the audience.
Finally she hits the end of her swing.
FLASHBACK:
RUTH is dancing very close to the door where the audience was waiting. As she pulls up her seat belt, she sees:
HONEY
She sees that she’s going to be there for the whole time, and there’s a very large number of people waiting to see her.
HONEY
Hi. I’m looking forward to being here all day.
FLASHBACK:
The audience is completely silent, they’re just watching her dance. There’s a lot of noise from the people who have tickets. It’s quite a sight.
FLASHBACK:
And HONEY looks up at the entrance. It’s filled with people from the audience, many of whom are dressed very different. And they start to cheer for her.
HONEY
Oh my God. Thanks.
(MORE)
EXT. JUPITER TWO - DAY
She goes to the door.
JUPITER TWO - DAY
A beautiful view of the ocean.
FLASHBACK:
CUT TO:
A very large view of the ocean.
FL
Thoughts
I mean it’s not great, and it’s not Star Trek, yet but it’s not completely bad: