9, 23, 25, 26, 29, 33, 35, 39 & 46

The days of our years are threescore years and ten; and if by reason of strength they be fourscore years, yet is their strength labour and sorrow; for it is soon cut off, and we fly away.
— Psalm 90:10

There is no safety in the threefold world; it is like a burning house, replete with a multitude of sufferings, truly to be feared, constantly beset with the griefs and pains of birth, old age, sickness and death, which are like fires raging fiercely and without cease.
— The Lotus Sutra

9

When I was nine years old, I borrowed a collection of Star Trek stories from my dad. It included this one, wherein William Shatner, Leonard Nimoy and DeForest Kelly all end up in the 23rd century owing to some sort of freak transporter accident.

That was a pretty exciting premise to me. Since I knew that I was living in the 20th century and that Star Trek was happening in the 23rd century, I could do the math to figure out how long I had to wait to see it all for myself.

23rd century – 20th century = 3 centuries, pretty much.

So if it was 1977, then I was looking at having to wait around until 2277. I grabbed dad’s Commodore calculator (it looked like this) to help with the next part:

2277 – 1968 = 309 years.

So, dad being in seminary at the time and our family being church-going anyhow, I had some idea that some people lasted a pretty long time. Methuselah had a pretty good run. Hadn’t Noah made it to 900? Needed to check with mom, though.

Yes, she explained, people in the Bible lived a long time, “but we get threescore and ten years now.”

I knew how much a score was because Abraham Lincoln was my hero.

So …

1968 + (20 * 3) + 10 = 2038

and 2277 – 2038 = not even close, really.

Further away from now than last year’s bicentennial had been from the first Independence Day.

I just wasn’t going to make it.

21

My favorite grandfather is dying of a brain tumor. Mom goes down to Texas, hoping to make things right, but all she does is get in the way of the t.v.

23

I don’t think what I experienced was a “death trip,” exactly. I just remember that things got pretty morbid some time around dawn. I was in the tv room at the house in Indianapolis, looking out at the parking lot behind the back yard. Cody and Kevin and Bill were riding bikes in the morning fog, gliding in and out of view.

24

Hudson was so stupid and inept. They made him my buddy and told me if he didn’t make it out of basic, it’d be my fault.

The last week, we were out in the field under a tree. It was raining and Hudson had fucked something up and all he could do was cry. All I could do was put my arm around him and tell him it’d be fine.

25

Jump school seemed like a good idea. It never really occurred to me to feel frightened during the day, but every night I dreamed of falling and falling with no parachute. My subconscious mixed it up by letting me ride a mattress into the dirt one night.

26

The team’s up on the Richmond site outside of Taejon. It’s an old building behind a gate. We’ve put up the mast and we’re on the network. The team chief asks us what we’d do if the balloon went up. Oh … I know this one:

“We take our defensive positions and the one on radio watch burns the SOI and takes an axe to the COMSEC gear, then we all defend the site.”

The team chief says, “you do that. I’m gonna run my ass down the hill before it gets shot off. They won’t bother with soldiers anyhow. They’ll just dial us in and light us up.”

and

I arrive at Ft. Bragg the week a major in my brigade had a bad landing, broke his leg and the bone severed an artery. He bled out on the drop zone before anyone could find him and help him. I don’t know if he knew what was happening.

29

That last nine months I was on jump status, I was pretty sure each jump was going to kill me. If you could be on jump status, though, you were supposed to be on jump status. That’s how it was. The sergeant major would cut your wings off your chest in front of everybody otherwise.

33

They aspirated a lump in my throat on a Wednesday, the doctor fucked off on vacation before the labs came back on Thursday, and nobody would tell me anything until the next Tuesday.

It was fine.

35

Ben. He stirs some things up.

39

“I mean,” says my friend, “FORTY. Aren’t you freaking out?”

“I just don’t, I guess.”

It wasn’t a question for me though, was it? In retrospect, I regret the answer.

46

Here we are.

I still don’t.

Some days, I feel naive or clueless and I think to myself that I might be wrong, and that I might be giving the wrong answer on a cosmic test.

Some days I think, “you’ve taken advantage of a number of opportunities to consider it.”

Mostly I think we’re born in a house that’s on fire, and there’ll be a moment between flame and ash.

We’ll need to have been kind.

My Totalitarian Impulse

Carsten Dominik from 2008:

What people miss when they are new to Org-mode is this:

Don’t try to set up the “final” task managing system from the start. Because you have no idea yet what your system should look like. Don’t set up many TODO states and logging initially, before you actually have a feeling for what you working flow is. Don’t define a context tag “@computer” just because David Allen has one, even though you are sitting at a computer all the time anyway! Start by creating and managing a small TODO list and then develop your own system as the needs arises. I wrote Org-mode to enable this development process.

Yeah. That’s a tough impulse to battle.

I’ve been working on an “o.k. to take a small sliver of my 40 hours a week, best worked on over the weekend” analytics project, so I’ve been doing all the coding for that in Textmate. I don’t have the time to get Emacs into shape as my development environment.

I also made one of my personal goals for the quarter to pick something from among OmniFocus, Things, TaskPaper, Evernote, note pads, notebooks etc. to manage todos, and then stick to it no matter how much something about it irked me, and no matter what cool automation thing for something I didn’t happen to be using turned up on Pinboard or Twitter.

So I stripped my .emacs.d down to the point that it’s pretty much just an org-mode delivery mechanism, and fiddled around just enough to get mobile org working. (Yes, that.) There’s just no time to worry about picking the One True Tool for all tasks. Consequently, Emacs for me is pretty much the world’s most overpowered todo list manager. That’s cool!

I’m still using Evernote for most capture and as a ‘net inbox, but I just can’t make its reminders/todo system work for me for checklists, and about two days ago it hardlocked on my iPad and hasn’t really recovered despite numerous force-quits and a complete iPad restart. I should just delete it from the iPad, but I’m feeling stubborn: I want it to work through whatever has it in a funk or, having failed to do so, signal to me that I really don’t want to put as much weight on it as I have.

Meanwhile, my org files live in Dropbox and I’ve been enjoying using it again, and slowly layering on the capabilities, just as that quote from Carsten Dominik suggests. This morning on my commute in it was nice to realize I hadn’t done a mobile org sync but was still be able to open my org files in the Dropbox app and read them (because they’re always human-readable plain text, even if Emacs makes the plain text behave magically.)

Send the Current iTunes Net Radio Track to Evernote

I like to listen to ‘net radio stations like SomaFM and KCRW’s Eclectic 24. Sometimes I hear new stuff and don’t want to take the time to make a note of it. This little script captures current ‘net radio track info from iTunes and sticks it in an Evernote note with an embedded source URL of the current stream:

I used to have an rb-appscript that did this with Things. Here’s that in case you feel like fiddling with stuff living on borrowed time:

As with just about every little one-off script I write, I use FastScripts to hook it up to a keyboard shortcut. Pretty sure there are better (free) ways, but I’ve had a FastScripts license for years. I think you can get the same effect creating an inputless service with Automator that just runs the Applescript, then assigning a keyboard shortcut to it.

Making Evernote My Single Source of Truth

Restless today, but with no will to work on anything long, and with an abiding sense of frustration about all my little inboxes.

Spending some time observing how I do things when I’m not thinking about them much taught me that I go to Evernote pretty quickly for just about everything. It fills the space VoodooPad used to, before the iPhone came along and made “must do mobile” so much more important to me.

For instance, Evernote is where:

  • every expense receipt
  • every whiteboard session
  • every quick, ad-hoc note-taking session in front of a computer
  • every web receipt

goes.

Once something is in there, it’s searchable (including handwritten stuff). And like the old Emacs Remembrance Agent, it’s continually updating a list of notes related to what I’m looking at or writing in it.

Evernote has been getting smarter and smarter over time, too. Some time in the past several months I snapped a picture of a whiteboard during a meeting and noticed that Evernote had named the note for the title of the meeting I was in from my calendar.

It’s also got free clients for iOS, Mac and Windows (and the web interface doesn’t appear to be terrible, but I’ve never forced myself to use it for long).

It always feels a little risky trusting a company with something this important, but I kind of do. Evernote has definitely had a few screwups here and there, but the application itself continues to improve. It doesn’t feel like any worse a bet to me than many other applications, and it feels considerably more substantial to me than a lot of other cloud offerings. It’s also possible to get all the data kept in it back out should it ever prove to be headed in the wrong direction.

So I’m going to experiment with making it my single source of truth for a while, just to see how it goes.

Making It a Place for Actions

I’ve tried making general todos fit into Evernote, and it has a reasonable facility for making that work:

If you use cmd-shift-t in the text of a note, you get a checkbox. Then if you search Evernote for todo:true, you get a list of notes with unticked todo boxes. You can drag that search into the shortcuts in your sidebar, and you’ve suddenly got all your todo lists in one place.

That’s pretty good for when you’re sitting in front of Evernote specifically and you’re making a list. The thing it doesn’t really do for you is to turn things from the outside (e.g. bookmarks, email messages) into actions. You can sort of hack that in by editing a note created from an outside source and adding a single checkbox to it.

But that hasn’t really satisfied, and I was trying to use Evernote as a system of notes within folders, and that didn’t feel quite right. So I’ve been hobbling along with either Things or OS X Reminders or legal pads. As much as I’m not a super big fan of GTD as a religious movement, though, I completely get the value of a single source of truth. Because I put so much stuff in Evernote already, I’d like it to be where things can not only become records — things I want to get at and read later —but also actions.

What’s keeping me from that? Not much. Evernote’s a pretty decent inbox. It just needs a few things to make it better, it comes with an awesome AppleScript dictionary, and it has decent integration with ifttt.

So here are some ways to mix all that up and make Evernote a fairly complete inbox/action list.

Working With Paper

I like working on paper, but I don’t like living in paper. I hoped for the longest time that I’d be able to use my iPad as a notebook, but until something better than “draw words with your finger” or “use a stylus the size of an end of a hotdog” comes along, it won’t feel quite right.

I also don’t like dragging my laptop all over the office for meetings where I can get by looking things up on the iPad or jotting notes on a legal pad. Evernote’s all about that: I just snap pictures of my notes in its special document mode and it captures them fine (and even labels them with the name of the meeting I’m in from my calendar).

Working From the Desktop

From the desktop, the Evernote Clipper provides a decent tool for getting things into Evernote.

The clipper can be invoked with ctrl-cmd-n for typing in a quick note. Much like Notational Velocity, the first line becomes the title of the new note. The clipper can also be used to capture files ( cmd-c to copy the file, ctrl-cmd-n to invoke the clipper, cmd-v to paste the file into the clipper).

So that’s as good a way as anything to capture todos and things you want to act on when you’re right in front of the computer.

Working With Email

Lots of actions start life as emails, so I’m always curious about the ways a new tool can capture email in a way that helps me keep the information, but also get back to the original message (for followups).

There are a few ways to deal with email and Evernote:

  • Set up an email address with Evernote to which you can send/forward email messages to turn them into notes. I don’t like the way the resulting notes look (they’re forwarded, so they’re a little harder to parse). That’s still an option if you’re mobile and want to make sure you’ve captured the message.
  • Set up a ifttt recipe that turns any starred email into a note. The formatting isn’t great (linebreaks are removed) and there’s no link back to the mail. Not recommended.
  • Select all the text in the message, copy it, then use the Evernote clipper. This is pretty good, and if you’re using Apple Mail you usually get a link back to the message in the Evernote URL field (making it possible to recall the original message within Mail.app). The one downside to this is that it takes a few keystrokes.
  • Recommended: Select the message itself from the message list, copy it with cmd-c, then paste it with the clipper (ctrl-cmd-v). This copies the message text into the note, nicely formatted, and you get a link back to the message in Mail.app.

If you’re a Mailplane user, by the way, you can also use its Evernote integration to capture messages. It provides a link back to the webpage version of the Gmail message (not, sadly, the Mailplane version).

Working With Bookmarks and RSS (especially when mobile)

So, a few years ago I wrote this thing called panopticon. It was meant to help tackle the problem of turning everything I liked, starred, flagged or saved into an actionable todo item for later review. It knew about:

  • flagged email messages
  • new Evernote notes
  • new delicious bookmarks
  • flagged NetNewsWire items

I’d run it at the end of each day, it’d turn all the stuff into Things todos (with a panopticon tag for easy review), and I’d get a handy tickler list full of stuff I’d seen or had been interested in that I could then either turn into a proper action (or get back to at a later time).

I wrote it in rb-appscript, which was a fine decision at the time: I could automate the interrogation of desktop apps for whatever I was interested in without having to write AppleScript. Apple has since deprecated the APIs rb-appscript depends on, so there’s no point in going back to it for anything I expect to be using in another three years.

However, Evernote has an API and it talks to ifttt just fine. ifttt is purpose-built for this sort of automation. So I don’t really need Panopticon anymore. I just need to use services supported by ifttt, and that’s not a problem at all: I moved to pinboard a while back, and I do my RSS reading with tools that use Feedly as the backend. So I can make ifttt recipes that turn pinboard bookmarks and favorited Feedly items into Evernote notes and dump them into a folder of their own for easy review.

A Mobile Digression

That probably seems a little roundabout, and it is. But it helps with the mobile use case: Moving content around in iOS still completely blows. The built-in share tools involve email or social media, and you have to context switch for everything else. With pinboard and Feedly, however, bookmarks and starred items are usually just a tap away from Mobile Safari, Mr. Reader or Reeder, so ifttt makes it a breeze to capture things from those apps into Evernote on a mobile device.

Probably the real answer here is to start using Android devices. I read the ridiculous workarounds Apple enthusiasts come up with to make it easier to share/act on content in iOS using apps like Drafts, then I think about how unique and completely awesome OS X’s services API is, and I feel very sad. Android completely kills iOS in this area.

Special URL schemes aren’t really an answer here, either. Apps should be able to register as receivers with a global service broker, then be available to every other app that can share the kind of data they’re set up to process. The current system of “hope that the developer of app A agrees that app B is pretty cool and deserves a space on the share menu, or else that they provide a way to peck in a special URL scheme in their configuration tool” is stupid and broken.

Anyhow, ifttt makes it pretty painless to work around all that: Just set up a recipe and accept that the results won’t be instantaneous, but that if you star something on the train, it’ll be in Evernote by the time you finish the walk from Union Station to the office.

And From the Command Line

I recently found Geeknote, which provides a command line interface to Evernote. You can designate the editor you prefer to use (e.g. vim or Emacs) and create notes from the shell. Alternately, you can pipe output into Geeknote and turn it into Evernote notes.

My current use case is weekly analytics reporting: I built an analytics framework in Padrino that I currently use most via the command line and Ruby scripts. It’s dead simple to do this when I need to generate a new report:

ruby recent_posts.rb|geeknote --title 'Recent Posts - 2013-10-12'

and get a new Evernote note with the last 30 days worth of stats.

But What About the Action-ness of This Stuff?

So, that’s all toward getting things into Evernote in a readable format for later review. And I briefly noted that there are ways to make todo lists in Evernote. That doesn’t quite get us to the actionability of these things.

Earlier this year, Evernote introduced reminders. With reminders, you can take a note, append a reminder to it, and optionally assign a due date to it. At that point, it becomes sort of special: It appears in the reminders list for a given notebook where it can be marked as completed. If it gets a due date, you can get alerts via Evernote itself or email.

The UX on this isn’t really ideal yet. Evernote hasn’t yet wired up a keyboard shortcut to turn a note into a reminder, so you have to manually click a link in the UI, then click another link to add a date. It’s a little better in the mobile app, where you can bring up a dedicated reminder view and then create new reminders from there.

Still, you can do some good things with reminders. For instance, if you select more than one reminder in the special list Evernote provides at the top of each notebook, Evernote presents an option to “Create a Table of Contents Note.” Click that, and the resulting list of reminders appear in a new note with links to each reminder. Change the title of the note to something like “Todo:” then press cmd-shift-d to auto-insert the date into the title, and you’ve got an action list for the day.

It would be nice, though, to be able to make notes into reminders without having to reach for the mouse, or do several clicks, so I wrote a quick AppleScript to help with that:

I bound the script to a keyboard shortcut in FastScripts, and now it’s possible to select a batch of notes, press ctrl-cmd-r, and turn them all into reminders with a due date of one day from now.

Systemitzing

So, all that goes toward getting things into the inbox. There are a few ways to think about organizing it all beyond that.

I’m leaning toward tagging items with project names, then dragging project tags in and out of the shortcut bar as I work on them/complete them.

The reminder list at the top of any list of notes always reflects the organization of the main note list, whether it’s based on a tag, a folder or search results. So putting the “freelancers” tag in the shortcut bar means that when I click on that link, I’ll get a list of every actionable note tagged that way at the top of the window, then all the not-necessarily-actionable notes (research material, for instance) also tagged that way at the bottom.

Elephant Graveyard

Here are some things I’ve thought about and/or tried and/or even used for a while, and why I don’t care to use them:

  • OmniFocus: Way too heavy, and its sense of “notes” is too bolted on for my tastes. There are ways to improve the way action item notes present, but I prefer Evernote’s rich text editor. Also, Omni Group is going to be holding its hand out for OmniFocus 2 and OmniFocus 2 for iPad shortly.
  • Things: Slow development (goes toward not really trusting the developers), and it has been crashy recently.
  • TaskPaper: Too simple, and a little crabby when it comes to tabs/whitespace. Also not great for capture of anything more than simple text. I’m also not fond of the author’s meandering development pace.
  • Notational Velocity (or whatever that Markdown-centric fork is): Seems fine, but I don’t get the impression you can leave it open on one machine then open it on another without risking some confusion or corruption. Don’t think it’s good for much more than simple text, doubt it’s good for capture.
  • org mode: I think I’ve been clear on this.
  • VoodooPad: Capture isn’t quite right on the desktop, and it doesn’t have a super useful mobile app.

Wishlist

Which isn’t to say Evernote is perfect. Here are some things I wish it could do:

  • Use Markdown for notes or …
  • at least use styles on top of structured text. I’d like to be able to designate a level 2 heading or a level 3 heading instead of fiddling with physical styles
  • Provide an outline mode inside notes. It doesn’t have to be much, but being able to collapse or expose lines in an outliner would be pretty handy
  • Provide wiki-style linking (you can link to notes now, but it’s a drag and drop operation)

More XCOM Notes (or: $20 should buy you a less bumpy ride)

Xcom 600

So, previously.

I finished XCOM for iOS last night and have a few more things to round out my notes. First, a brief thought on expectations for mobile games.

I used to have a Nintendo DS and I played it a lot. I kept it at my desk during work and used it to take mini breaks. Economically, it felt like a pretty good deal: I waited to buy most titles until they moved to the value tier of $14-$20, and I bought games that offered a lot of replay value. I stuck with the DS until I got my first iPhone and it stopped making sense to keep two gadgets around for casual gaming.

My favorite games on the iPhone were a lot simpler than my favorite ones on the DS. Tiny Wings is a good example, as are Wurdle, Canabalt, Flight Control, and Strategery The games I was buying were priced to match their complexity—usually $1 or $2—and they were easy to pick up and put down.

When the iPad came out, I started buying games that matched the most involved ones I had for my Nintendo DS in complexity. These games tended to come in at $5 to $7. One thing I noticed, though, was that games started having more issues. The iPad offered nice graphics hardware and a display big enough to support a lot more information, but memory management became an obvious problem: I’d end up having to reboot before playing some of the more ambitious iPad games, and a number of them would crash while trying to load a cut scene or change screens.

Being a relatively price-sensitive buyer, I wasn’t too bothered by this: I was getting better graphics and more complexity than I usually got on Nintendo DS titles that cost four or five times as much, and the occasional crash was tolerable. It also seemed that game developers were using early buyers as a massively distributed beta program. Relatively expensive games with issues would get fixes fairly quickly and things would seem to smooth out.

XCOM is the first premium priced game for iOS that I’ve ever bought: $19.99, which just looks incredibly extravagant as I type the numbers, even though it’s a faithful reproduction of a game that retailed for over twice as much on desktop. Consequently, my expectations are a little higher in terms of game play and stability.

Game play isn’t disappointing at all: I found it engrossing and a lot of fun, and I got a lot of hours of play out of the most basic level and easiest settings. I wanted to start all over again the second I was done because there was so much I could do better. However …

… it’s terrible in terms of stability.

After almost two weeks of play on my iPad mini, I would say that it’s not only a good idea to reboot before playing, it’s practically mandatory. Crashes occur frequently otherwise, usually as the game transitions between cut scenes or screens, but sometimes right in the middle of battle. The game has a lengthy (close to 90-second-long) intro you can’t skip until close to the end. It’s supposed to keep you occupied during a long load, and the soonest you can stop it is at around 1:15.

So crashing means a lot of sitting and rewatching that intro, plus redoing any steps you took in the minute or so before the crash. The game does save your progress automatically, and usually restores you to the last screen you were on before the one that crashed on you, or pretty close to the last turn you took before it crashed in a combat sequence.

Rebooting isn’t a guarantee things will be awesome, either: On the flight home from vacation, it crashed within five minutes of starting on a rebooted iPad.

That’s pretty awful for a game that’s running close to three times the price of most premium games on the platform. And it’s laden with long cut scenes and indulgent transition effects. If you’re the type to pick up your iPhone or iPad for a quick game break, XCOM is not very accommodating.

Yeah, But What About the Game?

So, when you get to play it, what do you get?

Some pretty neat stuff I didn’t touch on previously.

I liked the character class system. Each soldier specializes after their first mission:

  • Heavy: Able to use rocket launchers and heavy weapons. Additional skills include the use of suppressing fire, extra damage against mechanized targets and more.
  • Support: Able to use medical packs for healing more often, able to revive critically wounded soldiers (instead of merely stabilizing them).
  • Sniper: Able to use long-range weapons, gain attack bonuses for getting elevation advantages over enemies, and able to use a special weapon-disabling shot (which is great when you’ve accidentally stranded a soldier out in the open and need to buy them a round to seek cover).
  • Assault: Able to use turns more efficiently, get automatic reaction fire if an enemy unit moves too close, and gain damage bonuses for close-in combat.

There are lots of ways to experiment with the mix of each 4-6 solider team on a mission. I tended to prefer going heavy on assault-class soldiers as the game progressed, because their weapons become more and more lethal and their movement abilities make it easier to move in close and guarantee a kill if they work in pairs.

The tech tree is a lot of fun and adds quite a bit to the game. Weapons and armor progress as you learn from alien technology. There’s a pretty nice jump suit you can build relatively late in the game that makes snipers a lot more formidable, since they can create their own elevation advantage and negate enemy cover. There’s also a stealth suit that’s perfect for assault teams running point.

It’s also possible to create automated weapons platforms (“Shivs”) that work really well for running point in the narrow confines of a downed enemy ship. As human characters move up through the ranks, you want to do more to protect them since their advancement allows you to build bigger teams and gain other advantages (such as bonuses that help wounded soldiers survive hits that would otherwise be lethal). Sending a Shiv in ahead of the team helps flush and soften up hiding opponents before risking the humans. You can also develop hover-Shivs that can go in a little ahead, then float above the action providing reaction fire to anything that comes out of cover.

Finally, very late in the game, soldiers can be tested for psionic abilities. If they test positive, they get a psionic skill tree that allows them to use telekinetic attacks and even take control of organic alien units for several rounds.

The game also mixes things up a little by providing several different mission types throughout the game:

  • Alien abductions: usually staged in urban settings, this is the most basic tactical encounter. Lots of buildings and vehicles for cover, and when high explosive or energy weapons come in contact with things like gas pumps or cars, the resulting explosions injure anything in the area.
  • UFO crashes/landings: usually staged in wilderness areas, with lots of varied terrain and cover from rocks or trees, then close-in fighting within the downed craft.
  • Escort missions: usually in either cities or building complexes, with a player-controllable civilian character who can’t do anything besides run or duck
  • Terror missions: usually in cities or around complex buildings with a lot of civilians who have to be rescued from an alien contingent. Sometimes downed civilians return as shambling alien zombies, so there’s extra pressure to rescue them quickly before they can be turned and make saving the rest even harder.

There’s just a ton of meat to the game. By the time all the possible soldier skills, tech enhancements, psionic abilities and mission types are thrown into the mix, there’s a lot of room for variation and experimentation on team composition and tactics.

So where does that leave the game overall?

I enjoyed playing it when it ran properly, and I’d love to start over again on a tougher level and see what I can do to improve my playing, but there’s no way I’m going to start it up again before I see an update come out. If you’re at all considering buying it, just wait until there’s a new release, then wait for another week or two to see if the most recent reviews for the new release are any happier about stability.

Reviewing XCOM for iOS

Courtesy Retrogamer.net

I bought a first-gen PlayStation a while after the platform had been out. The first while I owned it, I ran through the sorts of games that showed off what the hardware was good for: lots of eye candy, plenty of cut scenes, good use of the 3D hardware. About a year after I’d bought the machine, I walked into a mall toy store and found XCOM: UFO Defense — a port of the Microprose PC game — in the bargain bin for $9.99.

XCOM was the opposite of just about every other game I owned. It was turn-based, so there was no need for great reflexes. The graphics weren’t awful, but they looked a lot more like the bitmaps that had been brought over from a DOS game that they were. The sound effects were a little chintzy and repetitive. The game overcame all of that to create a really wonderful play experience.

XCOM is set in the near future, with Earth under attack by flying saucers. Game play is split into several discrete elements:

  • Planetary defense: maintaining a network of bases and interceptors that can bring down UFOs as they appear in the sky
  • Tactical combat: dispatching troops to downed UFOs and urban alien terror sites to battle the aliens using turn-based play
  • R&D: Taking the weapons and technology recovered during battle to develop increasingly sophisticated weapons, armor and tech to battle the progressively tougher aliens

As a young gamer, I came up on tactical board games: Steve Jackson’s Ogre, Battlesuit and Car Wars were all pretty big favorites. I found Ogre in particular endlessly fascinating, because it was so simple — you could learn the rules by heart in a couple of 30-minute playthroughs — yet so suspenseful. There’s a giant, cybernetic tank bearing down on your command post and you’ve only got so many troops and machines to throw at it. Battlesuit was an infantry-only sequel to Ogre that focused on individual troops, and it introduced the idea of panic to game play: Units could be taken from your control as they responded to battlefield stress.

XCOM recreated the pace of old-school tabletop war games. You had as much time as you needed to make a move and planning was important. Since it was played with a computer, it was able to manage things like fog of war much better than a tabletop game. Successful play depended not only on tactical success, but progression on the tech tree.

Despite its deliberate nature, the game was incredibly suspenseful. Each soldier in the tactical sequences had only so many movement or action points, so careful and thoughtful play was rewarded. With a little planning, you could hope to recover from a misstep, but sometimes you’d send a troop around a blind corner only to have them gunned down; then you’d sit and watch the fog of war settle back over that part of the map, wondering what had just got your guy. Sometimes units would come under fire and spook, running around out of your control and shooting at their comrades in a blind panic. It was possible to not pack along enough ammo, leaving soldiers without enough bullets to fight or progressively working their way down to sidearms and hand grenades in desperation as engagements went too long. Thanks to decent atmospheric sound effects, there was a sense of dread, suspense and tension.

I think the game struck me a little harder at the time, too, because I was stationed at Ft. Bragg. The game rewarded things I’d learned in training, like disciplined fire control and measured tactical movement. I was my unit’s training and operations NCO, so I liked the logistical parts, too. I sort of identified with the little soldiers I was sending into battle.

XCOM was pretty good on the PlayStation, but as a port of a PC game it had a few interface issues a mouse would have handled with no problem. The PC version was easier to play. Both were a little clunky when it came to outfitting troops with the equipment they’d need with each engagement, right down to packing along enough ammo.

Despite its simple looks, deliberate pace and interface issues, XCOM remains one of my favorite games. Sadly, its DOS heritage made it harder and harder to play over the years, unless you were willing to fiddle with the setup a lot. It eventually went on the short list of games I stopped being able to play well before I was tired of them. I can’t think of many others, and having managed to get emulators working for games I thought I would love once again I’ve learned that nostalgia is a hell of a drug.

The Return of XCOM

New xcom

So, after a few lackluster sequels then years of practical unplayability on modern machines, XCOM returned to PCs in 2012 and Macs earlier this year. The new version uses 3d graphics for more visual polish, but the underlying gameplay is pretty faithful to the original: Intercept UFOs to keep member nations of the XCOM initiative happy enough to keep funding your work, battle aliens in turn-based combat at crash sites and in cities, research alien tech to build more capable weapons and armor.

Some things are simplified. Soldiers are easier to outfit and you don’t have to manage ammo. Without the logistical burden, there’s no more “forgot to pack along enough ammo” frustration. Soldiers also specialize and gain abilities over time to make them more useful. Some become more proficient at combat medical stuff, some become better at close-in combat, some gain the ability to lay down suppressing fire with heavy weapons, some develop proficiency as snipers. As soldiers move up the ranks, the size of squads you can send into combat grows, too.

I imagine there are some who have been nursing along an original version of XCOM all these years, and I suspect some of those folks will not like this version for any number of differences I will have missed having not played the game for years. In some ways, I think the new XCOM was designed for people like me, who might remember the game with a lot of fondness but don’t remember a ton of low-level details: It feels streamlined and pared down. Some might read that as dumbed down, but I think the tradeoffs are acceptable. Yeah, it’s not as “realistic” to have troops with bottomless clips, but the gameplay moves along a little better.

Still, as happy as I was to have a playable version of XCOM again, I was a little disappointed just because I really don’t like playing games on desktop machines. It involves blocking out big chunks of time alone in my office, and since I’ve been working away from home again I don’t like being closed off from the family like that.

So last week, when the iOS version of XCOM came out, I ignored the relatively high $20 price tag and bought it on the spot: I might not have a lot of play time at home, but I’ve got an hour a day on the Max.

XCOM iOS

In terms of basic gameplay, the iOS port of XCOM is pretty much the exact same game as the desktop version, and it works very well as a mobile game. The turn-based play makes it easier to briefly set the game aside, and the move to touch-based interaction is pretty clean. In some ways, the iOS version has better controls than the desktop version. You can pretty much read my notes on old-school XCOM and desktop XCOM and apply them to the iOS version, which works on both the iPad and iPhone (though the iPhone controls feel a bit fussier because they’re very small and sometimes hard to hit with a fingertip).

There are some things I would definitely change about the mobile version, though.

First, there are a few lengthy cut scenes you just have to sit through. They’re designed to provide context and background to the game, but they’re really, really frustrating when you’re just trying to squeeze in ten or fifteen minutes of play, especially if you have to leave the game and come back, only to have the cut scene restart. There’s no way to tap through them, either. So if you’re the sort of player who runs through a game on progressively harder levels of difficulty, or if you like to restart now and then to apply what you’ve learned from games that don’t end so well, you have to sit through them each and every time.

There’s also some really, truly gratuitous interface clutter in the form of swooping, panning 3D effects when you’re trying to conduct research or other management tasks at the home base. You can’t just pick an area to work on (e.g. setting up research), you have to swoop around from room to room with sometimes painfully slow transitions. Rather than being allowed to “just play,” you have to endure eye candy that doesn’t really contribute to the experience. It feels inconsiderate. Some of this may be to mask load times as you move from area to area, but I think I’d be happier with a simple spinner and a little latency. The spinner says “getting there as fast as we can,” the transition effects say “getting there, but first sit through our designer being a little indulgent.”

Despite those issues, I’ve been playing the hell out of the game. It feels exactly like what I’ve been pining for since I stopped being able to easily run the original. I think it’s my favorite iOS game since the lovely Waking Mars. Super recommended for anyone who likes tactical gaming.

Nikon P7700

Ben at rest

So, vacation season is about here and I was thinking about my camera. I’ve got an 18-200mm zoom for it, but it’s huge, very soft, and the camera hunts a lot in low light (even just under canopy). I’ve got the standard 18-55mm kit zoom and a 35mm f/1.8 as well. They give me a decent range, but that’s a lot to tote around, so there’s a lot of bulk.

I’ve also got my iPhone 4S, and while it takes lovely pictures they’re not really satisfactory in odd lighting conditions: Not great dynamic range, it’s easy to blow out highlights, and it’s not a low-light champ.

I thought about the Canon PowerShot G-series, as I always do, but I was disappointed by the PowerShot G15: Canon’s always screwing around with that line, and this iteration they decided to drop the swivel display. Ergonomically, that puts you in smartphone territory. It’s not as easy to take pictures at odd angles (or close to the ground), it’s not as easy to get candids because you have to hold the camera up at face level instead of holding it at waist level and looking down into the preview. That’s a shame, because they continue to improve the sensor, glass and performance, but it was a Canon G5 that hooked me on swivel displays and I’ve expected that in high-end point-and-shoots ever since.

I’m also not super interested in other exchangeable lens formats just yet (though I’ve seen some lovely pictures coming from them and may consider them some day). So, since I’ve got a Nikon dSLR and a flash to go with it, I went looking for Nikon’s equivalent to the PowerShot G15. That’d be the CoolPix P7700.

Nikon CoolPix P7700

Things it has going for it:

  • 28-200mm 35mm equivalent. That’s plenty of reach.
  • Lens stops to f/1.8 at the widest angle, which is not bad at all. Great for available light shooting.
  • Hotshoe that’ll work with my existing flash (so I can bounce instead of using the built-in flash)
  • Full control: aperture priority, full manual, shutter priority, program mode, auto mode
  • Manually adjustable autofocus point (better exposures and sharper focus than if you lock focus then frame with a center autofocus point.
  • Good ergonomics: It’s easy to access a number of controls with a few knobs and an on-screen menu

It can also shoot in RAW mode, which is something I’m sort of waffly about. But a bit more about that.

Comparing to my Nikon D5000

My dSLR is a Nikon D5000. Prior to this one, the last dSLR I owned was a Pentax K100d. The Nikon is pretty nice, especially when I use its 35mm f/1.8 prime lens and the external flash.

I used to be dogmatic about using RAW mode to shoot, but the D5000 takes very nice pictures using its “fine” JPEG mode and there have been very few times I’ve been unable to recover a shot due to the things I usually want to correct using RAW software: white balance and blown out highlights. So for a while I shot in the cameras RAW+JPEG mode (one JPEG exposure, plus one RAW “just in case” exposure) and then I eventually just went to JPEG.

My first outing with the P7700, I shot JPEGs and was somewhat disappointed. I made the mistake of shooting mostly in program mode because I wanted to try out all the setting overrides (so I have to own some of the exposure issues), and that left me with some shots that with blown out highlights that were hard to recover. Didn’t help that I was shooting waterfalls: That’s a lot to deal with and you have to expect to spend some time in Aperture or whatever trying to either pull stuff in shadows back out, or dealing with blown out highlights.

My second outing, I shot in RAW using the camera’s auto mode a lot of the time and got much better results. That was less because the pictures were great out of the box and more because I could use Aperture to do a little retouching. Still not perfect, but as good as I have patience for, and I was very pleased with a few exposures that I think rivaled anything I’d get out of my 18-200mm “walking around” zoom on the D5000.

There was a lot less worry, too. The P7700 is very small (4.7″ by 2.9″ x 2″, think “not as wide as a dollar bill, a bit taller”) so it was easier to push it around to my back on its strap for climbing over rocks or logs, and easier to keep it there. The D5000 with its big zoom is very heavy and bulky and it’s hard to keep out of the way for quick climbs. That makes the P7700 a lot nicer for hikes.

The P7700 isn’t a full replacement for the D5000: It’s definitely slower and its single lens can’t match the full range of the few lenses I’ve got for the D5000. But it takes better pictures than a phone with not a ton more bulk, so it’s a fine walking around camera that’s less obtrusive than a full dSLR.

Black Rapid Snapr 20

I still feel better having some sort of case or cover when I’m out on a hike. With my D5000, I’ve typically used neoprene cases. Shopping around Pro Photo Supply, I found that Black Rapid makes a line of point-and-shoot shoulder straps with integrated cases. I bought the Snapr 20.

It has a novel design that allows you to attach a sliding strap to its shoulder strap, then attach the camera to the sliding strap. You can stow the camera in the case but quickly pull it out of the end when you’re ready to shoot, sliding the camera up into position while the case stays at your side. So you get the availability of a shoulder strap with an extra layer of protection for the camera. Less worries about knocking it against a rock or having it tumble out of the case and fall to the ground if you don’t completely secure the opening. It has two side pockets that are spacious enough to hold an extra battery and the rapid charger, so it’s a great little package for multi-day trips.

So, I’m going to hold on to the D5000. It’s a good camera and I prefer to rely on it when I feel like dealing with the bulk and want to increase the number of keepers in a given set. I’m really looking forward to using the P7700 more for walking around, bike rides, and day/weekend trips.

Not so much after all

IMG 0782 1

I’m not going to say the whole Octopress thing was a bad idea. It was a fine idea. It was just a fine idea premised on the notion that it might be fun to manage a blog with git, and that did not prove out. The whole build process is a drag, mobile blogging wasn’t something I felt like working out, and the whole “make a new post, go to it in the filesystem, edit it, remember the thing in the YAML frontmatter to toggle its liveness if you’re not done” wasn’t cool.

I’ve got a few entries to bring back, but they were more bloggy than densely informational, so I don’t think anyone’s attached to them but me. I mostly worry about people being able to find the entry about converting Mail notes to Evernote notes, because four years later, people keep finding it and appreciating it.

IMG 0785 1

Also the org-mode one one, because it really seems to make people happy.

And I’ve been thinking about pie diplomacy a lot lately.

Hey, let’s make it about something more than how the blog is run:

  • contemplative photography
  • ukulele

I did contemplative photography on my last visit to Las Vegas. I have never played a ukulele.

The contemplative photography thing sounds enticing, because I’m working outside my home and have four walks a day where building in an extra ten minutes to get to the Max stop could yield some nice results.

The ukulele thing sounds enticing for no reason I’ve managed to hold down and inspect.

IMG 0739

Things We Can’t Hear

I have had luck remembering to do things when I’ve written them down and made them public, so here we go on this one:

Hey! I’ve had a pretty good last couple of weeks. I was interested in this position elsewhere in Puppet, so I applied for it and I got it.

There was a writing sample to be submitted, which wasn’t hard to write—writing is a thing I can do! So I sat down in the library one afternoon, reviewed my source material, wrote an outline (that’s how you know I’m serious), put on the headphones, loaded up this playlist I’ve got that starts with “Teen Age Riot” and builds from there, and did my best to burn the thing down. The whole time, there was a lot of “is this the right thing to do? Is this what you want to do over and over for a while?” The last time I had to complete an exercise to get an interview, it’s worth noting, I realized right in the middle that I really didn’t like what I was doing after all so I stopped and apologized to the recruiter and that’s how I came to be at Puppet at all. “Writing,” said the recruiter, “is what really lights you up, isn’t it?”

Yes. Writing lights me up. Or, rather, it takes me out of right now, which makes me pretty happy.

Anyhow: Wow, it was hard to decide I was done, save my work, and mail it off to HR. I felt pretty good about the angle I came up with, I felt good about the tone, I felt good about the flow, but mailing it off was to say “this is me at my better, maybe best.” What would be more awful than thinking I was shredding with a Fender and being exposed as a mildly ridiculous keytar soloist?

So next I had to give a presentation. That was hard, too, but less from preparation: Once I knew what the hook was, it was pretty easy to get that out onto slides. I had ten years doing the thing I was presenting about, I care about it a lot, and I’m pretty sure I’m right about most of what I think. At least, right enough that if someone were to say, “please stop there. We can’t hire you for this position because your opinions are not correct,” I’d be pretty o.k. with not being hired because that would make me a bad fit.

The hard part wasn’t even giving the presentation. A few things went wrong, I got off track, and I missed a few of my talking points. That was o.k., because by the time I was past the first slide I was feeling pretty religious about the whole thing, and that counts for something. And I was at Ft. Bragg during the anti-PowerPoint interregnum, so my sense of presentations in general is that they are not the point of themselves and so can go pretty wrong provided you keep a map of the terrain in your head.

The hard part was being done and having to ride the train home, because I felt pretty spent. I’d just had religion for an hour, after all.

Then I had to just sort of stew for a few days, and that meant bracing for maybe not turning out to be the guy they were looking for. I don’t know if my way of preparing for that is great, because it involves modeling a number of responses to getting bad news in a variety of forms and also feeling sort of bad for the person who has to deliver the bad news and hoping that I’ll be able to put them at ease so they can deliver it with minimum discomfort.

Anyhow, I did get the job, and that was pretty great. Some of my soon-to-be new team came by my desk when they got the word and said some very nice things. In fact, I’ve been hearing a lot of nice things about myself, which is where we get to the thing that is most hard of all and why I’m writing at all: It’s very hard to hear those things, I don’t know where that comes from, and I know I don’t like it so I think I should figure out how to make it easier to hear them.

How do you do that? It feels like there are a lot of knots to untangle. Nigel, my boss until I transfer to the other side of the building, says it sounds like impostor syndrome, which is totally not a DSM thing but feels pretty apt when I read about it. An ex-boss says I’m just habitually hard on myself. I have a very dear old friend who spends a lot of time asking me why I get like that. I don’t have a single answer. I guess I could point to some adult-era biographical facts that make pretty good sense and perhaps point toward adopting habits of thought that are not conducive to positive self regard. I guess I could point to some childhood biographical facts that might similarly create a way of thinking that aren’t great.

But Al shared with me an interesting Buddhist parable she heard at the zendo about a man who’s wounded with an arrow and refuses to remove it and stop the bleeding until he can figure out why he was shot in the first place.

When she told me the story, I did what I do, which was to say “well, that’s fine but I think I’d need to know more about his particular situation before deciding whether he wasn’t perhaps doing the right thing.”

I think she was right to tell me that story, though. The “whys” might be interesting, but I don’t think I need therapy so much as I need, perhaps, a bit of reason and some faith in my coworkers. I haven’t told you much about them. They’re pretty great. I wrote this a little while back:

There are lots of bright people working really hard to solve interesting problems. [...] Moreover, people there are very generous with their knowledge. There’s a lot of it, and sometimes it’s delivered very quickly in large packages you don’t so much receive as hope not to be crushed under, but it’s generously delivered all the same. I don’t get that creepy “don’t want to tell you because information is currency” vibe at Puppet. I get a “you need to know this because everyone wants everything to be better” vibe.

That is still true, and there’s more good to say than that. It’s a good place, and a good place to work. I like being in the kitchen on a Monday morning, listening to laughter from people who enjoy each other and haven’t seen each other for a few days. I like the way the Friday all-hands melts into people enjoying a beer with each other before heading home. I like how just about everybody seems so goddamn thoughtful and intent on solving whatever problem is in front of them. I could go into a lot of specific likes, too, but don’t want to embarrass anyone. It’s enough to say it’s a good place, and a good place to work, and it’s full of people who are talented and thoughtful.

So writing that down helps get a fingernail under the knot, and it was a little hard because I hate talking about good things that have happened to me: I don’t want to come off like I’m bragging or crowing. But it’s written down and it’s true. It’s a good place, a good place to work, and it’s full of people who are talented and thoughtful, and they picked me. Even if I’m having a hard time having a lot of faith in myself, I’ve learned over the past six months to have a lot of faith in them, and I believe that should be enough.

Not Advocatist, but …

I have this idea I’d like to work on some time:

MacRumors has this nifty buyer’s guide that tells you when it’s a good idea to be thinking about an upgrade because a given product family is due. If you take a look at the top, there’s some tidy, consistent markup:

There’s a table (class = buyerstable) and number of data cells with lists (class "buyerslist"), each of which contain list items (with classes of red, green and yellow) wrapping the name of each product family.

So … Nokogiri:

#!/usr/bin/env ruby 

require "rubygems"
require "nokogiri"
require "open-uri"

interesting_products = ["iPad", "iPhone", "iPad Mini", "MacBook Air"]

url = "http://buyersguide.macrumors.com"

doc = Nokogiri::HTML(open(url))

doc.search('ul.buyerslist').each do |bl|
  bl.search('li.green').each do |product|
    if interesting_products.include?(product.text)
      puts product.text unless product.text.include?("Gazelle")
    end
  end
end

So, it seems to me there’s a programmatic way to tell if interesting things might be about to happen in Apple’s product lines. Do I care because I’m interested in knowing the best time to upgrade my Apple products?

No!

I care because most Apple writers become insufferable when there aren’t new products for them to fawn over. They delve into bitter, weird little obsessions, spend their time gloating over nits they have successfully picked, and do weird shit like call out Paul Thurott (whom I have met and is a nice guy who gave me a funny Microsoft mug when I was a Linux columnist) and Rob Enderle (who is an absurd thinker whose main contribution to the world of consulting is the productization of trolling). In other words, Mac writers, given no new stuff to talk about, become as bad as the things they hate, just like Nietzsche says people will.

So it occurs to me that if you’ve got a programmatic way to see if product changes are coming, you’ve got a programmatic way to see if the Mac people have anything worth reading. So if you’ve got an RSS reader that can programmatically turn subscriptions on or off, you’ve got a programmatic way to ignore people who become annoying on reasonably predictable cycles. Alternately, maybe something like grapi would do the trick by talking to Google Reader directly (meaning your changes show up on all your devices).

More Precise Annoyance Removal

But what about feeds that are good most of the time, but have annoyances embedded in them? Kind of a nice NetNewsWire feature is the ability to make any script that returns a valid feed into a subscription. I used the example code from the Ruby 1.9.3 RSS library to make a simple script that reads in a feed, skips the stuff that matches a pattern, and then adds the remainder back to a feed:

#!/usr/bin/env ruby
require 'rubygems'
require 'rss'
require 'open-uri'
require 'sanitize'


url = 'http://rss.macworld.com/macworld/feeds/main'
scrub_pattern = /(the\ week\ in|macalope)/i
title = "Scrubbed MacWorld"
author = "Mike's RSS Scrubber"

scrubbed_items = []
open(url) do |rss|
  feed = RSS::Parser.parse(rss)
  feed.items.each do |item|
    title = item.title
    unless item.title.match(scrub_pattern)
      scrubbed_items << item
    end
  end
end

rss = RSS::Maker.make("atom") do |maker|
  maker.channel.author = author
  maker.channel.updated = Time.now.to_s
  maker.channel.about = "http://www.ruby-lang.org/en/feeds/news.rss"
  maker.channel.title = title

  scrubbed_items.each do |scrubbed_item|
    maker.items.new_item do |item|
        item.link = scrubbed_item.link
        item.title = scrubbed_item.title
        item.description = Sanitize.clean(scrubbed_item.description)
        item.pubDate = scrubbed_item.pubDate
    end
  end
end

puts rss

This clears out a lot of MacWorld’s “second bite at the apple” (heh) roundup posts, and the Macalope, who is dull.

It occurs to me that maybe the overarching project here is to define a set of feeds I have an uneasy relationship with in a simple YAML file, like:

---
title: Some Mac Dude's Feed
shortname: some_mac_dude
url: http://somemacdude.com/rss
scrub: /somepattern/

Then genericize the script above so a simple Sinatra service can serve up feeds from an endpoint, like http://mph.puddingbowl.org/feeds/some_mac_dude. Then they’re scrubbed, available to Google Reader, and I can build the “is this blog going to irritate me when Apple’s not rolling out new product” logic into the app.

Say! We can also add tags!

---
title: Some Mac Dude's Feed
shortname: some_mac_dude
url: http://somemacdude.com/rss
scrub: /somepattern/
tags: 
    - mac
    - coffee
    - children

And set up an “annoyance” endpoint on the Sinatra app that can add and destroy annoyances from the feeds served. Then a little mobile app to manually toggle annoyances on and off as they occur to me.

Gosh, Mike …

Yeah, I know, o.k.? I know.

© Michael Hall, licensed under a Creative Commons Attribution-ShareAlike 3.0 United States license.