When I saw that Guardians of the Galaxy 2 was being made, I realized that all Marvel properties could now be made into movies, and the Marvel Cinematic Universe could live forever.
So I made a bot for it, that tweets things like -
Every time I make a Twitter bot I feel bad because why am I making art (?!) on Twitter and also aren’t there real people pouring their souls out onto the internet still and I’m just excreting out the same one-line joke over and over again forever digitally.
Created with a Sierra AGI picture resource to PNG converter that now includes the ability to bit shift, swap, and manipulate the input to create glitched output.
This weekend’s project was creating a Twitter bot based on the content of early Sierra adventure games.
It’s already way better than anything I’ve ever tweeted on my own.
A 3D Animated Adventure
Currently it’s tweeting out things based on a language model created by extracting the text from the MS-DOS versions of King’s Quest, King’s Quest II, King’s Quest III, Leisure Suit Larry, Police Quest, Space Quest, and Space Quest II.
Why those games? I own and have played (in most cases repeatedly) each of them. To me they share a certain “Sierra sensibility.” The improvements to the parsers, writing, and systems means the later games are more advanced and differentiated but also don’t have quite the same house style.
And they all use the same early AGI system so I could extract the text (relatively) easily. I didn’t get around to figure out how to parse out text from the later SCI games.
I was afraid I might have to do Real Computer Science but luckily there’s a community that reverse engineered the Sierra AGI formats years ago and made their work available.
I relied on some AGI utilities by Lance Ewing to do the hard work of extracting the resources of the old games into readable formats. In particular, I used XV3 and VOLX to extract the LOGIC files out of VOL files.
(Note: I wanted to include a few more AGI games, in particular Gold Rush and King’s Quest IV but the strings don’t seem to be in the LOGIC files in these later games, maybe due to internationalization schemes, or maybe because I’m extracting them wrong.)
After extracting the LOGIC files I used SHOWLOG to decrypt them into readable text.
This was slightly more complicated than it needed to be because these are DOS utilities, and I didn’t want to try and revamp them to be POSIX compatible and recompile them to work on OS X, so I ended up writing some scripts to create DOS BATCH files to do the hard work for me in a DOSBOX session. (Probably could have just re-booted into Windows but, whatever.)
The text is (mostly) hardcoded into these logic files. I wrote some python scripts to pull the message text out and reformat them a bit, leaving me with a few giant text files of strings from the games.
Some good stuff from it already:
The interesting possibility of Apple’s HealthKit and the various other solutions isn’t the easy monitoring of data itself but the correlation of that with the rest of our lives already documented digitally.
Things like the intersection of blood pressure and heart rate to approximate stress levels cross referenced to your calendar and phone’s GPS - that’s the possibility of being able to look back at the past and see where the moments were that caused us stress or joy, the things that are most helping and hurting.
How much does checking your email actually quicken your pulse?
What was the impact of the second coffee that afternoon?
What will it mean to measure these things in a way that is much more accessible and actionable - thinking of it not as health or fitness or quantified self but as they way to listen to our bodies tell us about our commutes or jobs or interpersonal interactions or dietary habits or hobbies in a way we can’t as easily ignore.
Numbers and graphs and charts that are irrefutable.
I managed to get a string to properly synchronize across Mac, iPad, and iPhone and I’m going to take that as a victory.
Apple’s entitlements files are basically a form of magical realism in software.
- iPad Air
- GCW Zero
- 3DS XL
- iPhone 5S
- Samsung Galazy S5
- HTC One
- Nexus 5
“Four phones. I don’t need four phones. Three phones is already too many phones,” I thought.
So I narrowed it down to three phones.
“Three phones — still too many phones.” I put another back.
“Which games do I really need? Am I even going to play Phoenix Wright? Do I need the 3DS?” I closed the bag and decided it was close enough.
Stress packing is a thing, right?
Life is hard and full of uncertainty and on top of that I’m expected to decide what devices to pack and not pack? Why. I don’t want to decide.
Stress packing is kind of like the real life equivalent to grabbing everything in an adventure game because you might need it later. Except in real life that’s not going to help solve problems.
There should be an adventure game where you can pick everything up but none of it is useful. That would be an interesting game.
And sometimes cats.
How did I miss this? Why didn’t anyone explain this to me over the past 20 years?
A few things I’ve been doing to create a more usable work environment in OS X.
Remove Notification Center From Menubar
I find notification center annoying. To remove it entirely from the menubar -
$ launchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist
Also annoying, also able to remove it.
$ defaults write com.apple.dashboard mcx-disabled -boolean true $ killall Dock
Run A Tiling Window Manager
I’ve started to use (sometimes) a tiling window manager. This can take a little bit of ramp-up time and getting used to, and may feel a bit claustrophobic at times but overall I’m liking it for task-centric computing work.
Remove Drop Shadows
If you’re using a tiling window manager things generally look better without drop shadows. I’ve been using toggle-osx-shadows to turn them off.
“Who are you going to pick?”
“Holographic projections of my imaginary friends.”
“How’s that going to work?”
“I don’t know. I’ve got time to hack something together.”