Friday, August 15, 2014

If These Index Finger Could Talk

You hate war to win it; you love your enemy to destroy him - Bean (Shadows in Flight)

My nerd podcast (The Incomparable)did a follow up to their video game episode with a computer game episode where they talked about the most meaningful computer games of their life. I wrote previously about my console games and a hole occurred in between the original Nintendo and the Playstation 2. That hole wasn't because I stopped playing games, it was because I played computer games. Here is a fun game to play on this one, see if you can name the game from the screen shot!

My computing started with an Apple IIe. What a beautiful computer it was and what amazing things it could do. I think it came with a stock Apple game that was like Space Invaders where you used the Open Apple and Closed Apple to shoot two different guns at on coming aliens. I can't remember.

The first computer game that capture my imagination was Lode Runner. You played a little man that needed to collect barrels and you could dig left or dig right into the bricks. You could use this to dig down or to try and trap and kill enemies. What truly captivated me about this game was that it came with a builtin level editor. You could build you own levels. I remember spending huge amounts of time trying to build the most difficult level possible that was still beatable and sending my brother against it. How many tried would it take him to beat it? You could build a maximum of 256 custom levels - it seemed like a bizzarely arbitrary number as a kid.

When I was in sixth grade I went on my first ski trip without my parents. As any good child would, I broke my leg. It was an impressive break. A spiral fracture of the tibia and fibia; I was told to keep my leg horizontal, because dangling it vertically would stretch out the fracture and slow the rate of healing. I got home from Tahoe, leg in a cast, with almost any movement causing me excruciating pain, and my parents had bought my brother a new computer game and a JOYSTICK! Wings of Fury was amazing. It was my first WWII game and you were a pilot who had to take of from a aircraft carrier, destroy stuff, protect the carrier for enemy planes with torpedeos, and just be awesome. It was amazing. Because we bought a joystick (something we previously only had on the Atari), I knew this was the future of gaming. The Nintendo's d-pad was nothing in comparion to the glory of this. I spent two weeks out of school at home - and I played A LOT of Wings of Fury. Almost six months later I had a birthday party and one of my friends beat my highscore... by FIVE TIMES! So I engaged in an epic quest to outdo him. I never did. Sad ending to this story.

The first fantasy role playing game I played was Bard's Tale. This is when I learned what it meant to "max out" a character, especially through game flaws. I found a boss battle that I could repeat if I just brought a new disposable character into my party and then just kept doing it over and over again until everyone was 999th level with 9999 hit points. Fantastic, right? So good. I loved the Bard's Tale games and beat most of them. I even got the Bard's Tale Constructor Set - and I tried building a few different scenarios, but never really had friends who wanted to play test that stuff.

So you want to be a hero? This was a pretty darn cool point and click adventure game. One of many in a long line of these games. I played through this game time and time and time again, eventually getting to the point where I had straight 100 in all of my stats with a multi classed fighter/thief/wizard.

Oh man, Myst. In 1993 I was running IBM OS/2 as my operating system. A better DOS than DOS; a better Windows then Windows, and a better OS/2 than the last one. I had 8 MB of RAM, and I think Myst technically took 16 MB, but OS/2 had this magical thing called Virtual Memory. The real game I played was "how do you get Myst to work in OS/2?" Did the game load? Yes! Wait no sound! Search forums, work on INI files, get drivers. SOUND! Wait! Video isn't playing?!? More work! I played very little of the actual game of Myst, but I sure spent a lot of time playing with my OS configurations.


I loved Wing Commander I, II, and III. The whole trilogy. Each iteration of the game was amazing! Even in the very first one, how you performed in each mission affected future missions. Your Wingman could be killed in action which affected the story line. There was a tree graph where each mission could be a victory/failure and affected what the next mission would be. You could beat the last mission and yet lose the game. WHAT?!? Amazing! The sequel improved storyline and game play and then came #3, where the cut-scenes had full video and real actors. Luke Skywalker! Biff Tannen!?! It had 4 CDs and cost $4 million to make. This game had way higher production value than the movie which came later. Space flight war - where are more games like this?

I really loved the movie Dune. I didn't really get it, but I knew it was cool. I think it's still my favorite David Lynch movie. So I bought the game because I knew how cool the movie was, and I loved the game. I seriously loved this game. Who was I to know that it would be the first real-time strategy (RTS) game that would spawn an entire genre of games. All I know is that I loved this one.

I am amazing at X-Wing Versus Tie Fighter. I enjoyed Tie Fighter. I enjoyed Descent. I LOVED X-Wing Versus Tie Fighter and I am amazing at it. I used a cheapo joystick and some amazing keyboard shortcuts. I played the X-Wing (cause) and would set all four lasers on simultaneous fire - swoop in behind my opponent until they were point blank and then fire, Fire, FIRE! BOOM! Once I had locked on you, it was over. Many of my friends would eject to prevent me from getting the kill - JERKS! I miss this game.

Thursday, August 14, 2014

A Tale of Three Headsets

Different headphones suit different needs. - Marco Arment

I own a lot of headsets and I keep buying more. I'm not looking for optimal audio quality, I'm buying and testing them because I want to find the optimal functional feature set and there doesn't seem to be a one-size fits all headset for me.
Requirements?

  1. I travel on the train and in the car and take a lot of phone calls. I want a headset for my phone that has the best noise-canceling microphone around.
  2. When I work from home I spend all day on phone/video conferences using my computer. I need a headset that works with my computer and is rock solid.
  3. I listen to Podcasts, Audiobooks, and iTunes radio while I'm out and about on the train, at the mall, etc. It's got to be low profile and stereo - when I use the earbuds that came with my iPhone, the cord gets snagged on drawer knobs, door handles, and other randomly annoying things ripping the buds out of my ears.

VXi BlueParrott Xpressway II with Xtreme Noise Suppression - this thing is a fantastic bluetooth headset for my phone and has the most amazing noise-canceling microphone I have ever found. I was walking down the San Francisco street talking with Mrs.Chaos as a huge truck went rolling by. I couldn't hear anything; I couldn't hear her. I kept talking. When it passed I asked how well she could hear me. The answer? "I didn't even know there was a truck going by. You sounded fine." I approve of their trademark for "Xtreme Noise Suppression(TM)."

The Xpressway brags about it's ability to multi-plex between multiple devices and I thought this was going to be something that would work for both my phone and my computer, but in practice it didn't work well with my computer at all. I don't know why I could never seem to get it to consistent connect via bluetooth to the computer and stay connected. It would show "connected" in the Mac menu bar, a call would come in, and then it would disconnect. I found my best bet was to start listening to Pandora on my computer through the headset, make a call, and then pause Pandora and that worked decently, but even then I couldn't always get Pandora to stream through and that doesn't work at all for incoming calls.

Logitech Jabra BH410 USB Headset - So I decided for use on my computer I wanted something rock solid with a wire that ran from the computer to the headset and got this Logitech headset. There's nothing fancy about it; it just works. I don't need noise canceling in my home office. I am still considering getting a fancier wireless headset, but haven't yet. Most of my calls are video conferences, so I can't get up and walk out to the kitchen to get coffee without people noticing and asking where I'm going.

This combo of headsets worked okay for me, but when I would head out in public I felt like the biggest dork wearing my Xpressway. That thing has a gigantic boom mic - which is great for conference calls, but not stylish at all. I went looking for the bluetooth equivalent of Apple earbuds to wear when my primary goal is to listen to Podcasts, Audiobooks, music, etc.

Jarv NMotion - I just got these things are they are just want I wanted. The fit snugly into my ears, there is a little cable that drapes around the back of my neck, and I wear them all the time as my earbud replacements. They are seriously nice. I still have some muscle memory when I'm use my phone to avoid the dangling cable connecting my earbuds, until I remember I don't have a dangly cable anymore.

That's where I am with earbuds these days. I am still hoping eventually their will be some other single wireless option that will work rock-solid with my computer and my phone for phone calls - but until that time I'll settle for two.



Tuesday, August 12, 2014

Balloon Mania

The odds must be against anybody being able to fly around the world in a balloon on the first attempt. - Richard Branson

This kid is such a "chick magnet" (sorry, I put it in quotes to try and make it less offensive), I wish I were single!

I was out at the mall with mini-Chaos pushing around the stroller when we rolled in by a store that had a bunch of balloons tied to an a-frame out front. He stopped and started reaching up towards them and coo'ing, "ooh... ooh... OOH!!!!!" My only response is to talk back, "Do you like the balloons? They float. That's pretty cool."

One of the nice ladies who works at the store saw/heard the excitement and brought a balloon out for mini-Chaos. Do you know what is better than a balloon tied to an a-frame in front of store? A balloon tied to your stroller! HAPPINESS EXPLOSION. This kid could hardly contain himself and he started stomping, "ooh"ing, and general freaking out at the amazing gravity-deifying magic trick that was now his. I'm not sure balloons, with their gravity defying awesomeness, help the learning process. Somethings fly, but you do not.

Monday, August 11, 2014

Sushi Regular

I don't want more friends; I want deeper friendships. - Huensao
It's nice to be a regular. When you head somewhere and it's just as comforting as home--that's a great feeling. When I lived in the bay area there was a great coffee house (Zocalo in San Leandro) which was a common stomping ground and working from home, I was a regular.  Tim (the owner) was a former Apple Evangelist and all around great guy who often chatted me up.  I loved when he would grab my iTunes library and start pumping anime music into the cafe.  Everyone there had a special treat.
These days, we're making Mini-Chaos into a sushi regular downtown, because Mrs.Chaos loves the sushi!  Every week (ish) we roll in (ha!), the staff talks about how adorable he is, and he gets to eat edamame and being generally cute. I hope he is learning to enjoy it, cause this kid is going to get to eat a lot of sushi in his life.

Sunday, August 10, 2014

AppleScript to JavaScript

No fate but what we make. - Sarah Connor (T2)

One of the things I love about OSX is that most applications are scriptable. They expose the ability to send AppleEvents and control various features of the application. In the older days, the way a menu interacted with the app was by sending AppleEvents, so using scripting, you could do anything that the menus could do. While the architecture is a little different today, developers know they need to make their apps scriptable to be real apps.

This means that I have a ton of scripts that do crazy stuff. Check Calendar to see if I'm in a meeting and then update my Adium IM status. Rip a movie from DVD, search The Movie DB, and then update the metatags. Check the temperature outside (Forecast.io) and inside (Nest) and send a notification to my phone (Growl) if my windows should be opened or closed. So slick.

While I love the fact that I can script all this, it's a sad that I have to use AppleScript to do it. The AppleScript language is one of those great ideas that just never quit became what it was meant to be. I talk a lot to people about the language - because I think it's an interesting case study of things gone bad.

OSX Yosemite is moving to replace AppleScript with JavaScript. Sweet. I know JavaScript! I tried to starting converting one of my simpler scripts (Set Adium status based on Calendar) and failed quickly. I don't know how to read Enums and there is NO documentation on this available yet. I've posted to StackExchange and Apple Dev Forums. I'll see if I get help

AppleScript:

tell application "Adium"
    if status type of global status is offline then
        log "offline"
    end if
end tell

JavaScript? (I can't make it work):

if(Application('Adium').globalStatus.statusType == ?????) {
    console.log("offline");
}
Application('Adium').StatusType("offline"); // error
Application('Adium').StatusType.offline;     // undefined
Application('Adium').StatusType.make({name:"offline"}); // error

Update: I solved it. Directly accessing the property gives you back the object reference such as AdiumRichText. If you put parenthesis at the end() then it calls the getter and coerces it into JavaScript objects:

if(Application('Adium').globalStatus().statusType() == "offline") {
    console.log("offline");
}

Anyway - this is COOL:

Saturday, August 9, 2014

The Bleeding Edge

We recommend installing OS X Yosemite Beta on a secondary Mac - Yosemite Installer

Upgrade Complete! Who cares about warnings? I've upgraded all of my computers to OSX Yosemite Public Beta -- including my work computer. My company's IT department gave me a dirty look when I mentioned I was a having a couple issues. It went so well I upgraded my iPad to iOS8. It went so well I upgraded my iPhone to iOS8. Good decision? Or GREAT decision?

Back in the day I was always running 3-4 OS'es on my computer, beta versions of a dozen different major applications, and it was glorious. Somewhere along the line I ended up wanted stuff to just work? Maybe it was at the same time as my move to Apple, or maybe it stimulated my move to Apple. All I know is that recently I've been running Chrome Developer version and the Webkit nightlies and I figured... LET'S DO THIS!

I'm not crazy - I did full backups. Realistically 90% of my job is done through cloud services and the last 10% is backed up onto Google Drive and Dropbox. If my laptop was destroyed tomorrow, it would have almost no impact to my productivity. So - upgrade away! From time to time my laptop goes into Kronn Hunter Mode ala Area 51, but that just makes it's cooler.

Tuesday, August 5, 2014

Sorry Marco; You're Pretty Cool

It's not arrogance if you really are better than everyone. - Jordanism #1
There is this phenomenon where a person is in the right place at the right time, gets incredibly lucky, and attributes success to their personal amazingness. The majority of business books are case studies on this: get incredibly fortunate and then attribute success to your particular way of working (getting up at 5am, GTD, etc). Being smart and a hard worker helps so that when you are in the right place at the right time you can take advantage of that opportunity, but that whole right place/time thing is really the important part.
Marco Arment is one of the developer "celebrities" I listen to a lot, and I thought he fell into the bucket of being lucky and full of himself (tl;dr - he doesn't). I've heard him talk before and the impression I had gotten was of a guy who thought he was too smart for college (dropped out), managed to serendipitously get in at the ground level as Tumblr was being built and learned to be amazing through his own amazingness. He launched Instapaper being very lucky to be first to market in a new medium (iOS) and thus succeeded again.
Marco just launched Overcast (which I love) and I listened to him do the promotional rounds on so many Podcasts. I realized something: the guy understands how incredibly lucky he is. He mentioned he had a leg up by being born a white male in America and that getting to be at Tubmlr as it exploded up was luck AND that he felt lucky. I have no doubt he worked really, REALLY hard, but it made me feel good to hear him talk about both the hard work AND the lucky opportunities.
The other thing is that Marco convinced me he probably is a rockstar developer. Hearing him talk about the work that he put into Overcast, the low level audio stuff, the server side configurations and controls, totally impressed me.
The overall summary is simple: Sorry I was biased; Marco, you're pretty cool.