Thanks, Steve

Steve Jobs’ passing has caused me to reflect on just how much of my life is directly or indirectly influenced by his work. Although the first computer we had in the house growing up was an Imsai 8080 (you may not recognize the name, but you’ve seen one in War Games with Matthew Broderick), the first computer that was “mine” was an Apple ][. My dad bought a used one for me for Christmas when I was 11 or 12, meaning it was already a couple of years old. But at the the time, a computer could be two years old and still be state of the art. That computer stayed on my desk through high school, and it’s still in a box in my mom’s garage. I got online, on BBSes, for the first time on that computer, using a modem and an I/O card that I think cost my dad about $20, and which were so generic we had to write our own “drivers” (I’m not sure that’s what we called drivers back then, but that’s what they were) to get them to work at all.

At the time, Wozniak was more of an idol to me than Jobs, being the geeky hacker who made it all possible. I didn’t have anything against Jobs of course, but to a kid like me, the Woz was the awesome one. As an adult, I see how important Jobs really was in actually getting that computer onto my desk. I have no doubt that Woz would have made the same computer with or without jobs, and then sold a few dozen as kits to people around Silicon Valley.

I jumped ship to Amiga when that came out. I never had an early Mac. But when I got to college, there was a room full of NeXT computers, so once again I was using Jobs’ creations. Although we had Sun workstations too, the NeXTs were my favorite. I even used them remotely for homework when dialing in by modem from home during the hours the lab was closed (and occasionally when it was open, probably annoying whoever was sitting at the console, most likely wondering why things were so slow that day!), because no one said I couldn’t, and I got a whole machine to myself that way rather than sharing time on the Sun server we were “supposed” to use.

Out of college, my first professional game industry job involved writing the network layer for Close Combat, which ran on both Macs and PCs. That was the first time I really used a Mac, and I actually hated it, but that had a lot to do with how non-standard the network stack on pre-OS X Macs was, since that’s what I was mainly dealing with. Also, the machine I had was a prototype on “loan” from Apple, which I believe my boss eventually told Apple they lost because they didn’t want to spend money on a new one. It had a flaky video connector I had to prop up with a book, and I seem to remember I had the case off of it due to heat problems too. But I never held that against Apple, just my boss, it was not a production machine after all.

My next experience with Apple was inheriting the iBook my dad bought not long before he died. It was his first Apple product since he’d bought me that Apple ][, and I think his favorite computer he’d had in a long time. That was right after OS X had come out, and like me, he’d spent a lot of years on Unix systems. Although I didn’t use that computer as “intended” very much, I did use it as a little low power mail server for a few years, and the few times I did use it like a Mac made me realize Apple was definitely on to something. It was just a little underpowered for actually running OS X. But it was only a few more years before I had a PowerBook of my own. Plus an iPod a couple of years after those came out. I’ve had at least one Apple product in daily use ever since. Right now, there are four within arm’s reach (MacBook, iPhone, iPad, AppleTV remote!). There is almost never a moment I’m without my iPhone. Even if I was using Android phones, I’d still have a lot to thank Steve for.

So although there are significant gaps in there, I think it’s safe to say that I’ve used Jobs’ various products daily for the majority of time I’ve been using computers, and I’ve spent a lot of time on computers. There are other tech industry figures I might admire more than Jobs, but none that have had anywhere near the impact on my life that he did, nor will there ever be anyone else who can match his influence.

Here’s to the crazy ones.

Tags: , ,

Sunday, October 9th, 2011 Uncategorized 1 Comment

I see what you did there

Today’s project was this little python script. This runs on a Mac, but goes out and grabs the sqlite database from a system that’s running Boxee, finds anything that’s been watched in Boxee in the last two days, then talks to iTunes and marks things watched there as well. This is so if we watch something on Boxee, the blue “unplayed” dot will also go away on the AppleTV in the other room.

Next project, I suppose, is doing the same thing in reverse: letting Boxee know when we’ve watched something on the AppleTV. That’s only possible with the old AppleTV right now, the new one doesn’t even sync the watched flag with iTunes any more. I hope they will add that in an update, but the rental model is their main push right now, not helping me out with my crazy setup.

This requires appscript and tvnamer for Python. tvnamer is a great Python module that is able to parse filenames and turn them into structured TV episode data. It’s often used in conjunction with tvdb_api to get descriptions, banners, etc. in media center applications based on nothing but filenames. I have another project that does just that, but today’s script only needs tvnamer.

This is the first time I’ve used the applescript binding for python, I was happy to see how easy it was. Applescript itself is an awful language, hurray for not actually having to write any! It’s also the first time I’ve used sqlite in a program, though I’ve messed with other programs’ databases by hand before.

› Continue reading

Tags: , , , , , , , ,

Saturday, October 9th, 2010 Uncategorized No Comments

iTunes Expressions

iTunes smart playlists are actually fairly complex boolean expressions (since iTunes 9, previous versions were not as robust). This page describing iTunes library management contains more text than the entire Lua 3.0 manual! (I’m cheating here, Lua is on v5.1, and the manual is more than twice as large these days, but the point still stands). Via dropdowns and text boxes you’re practically writing SQL WHERE clauses when creating a smart playlist.

Yet for all that complexity, there is STILL no way built into iTunes to make a Smart Playlist that can precisely select between High-def and standard-def TV Shows and movies.

My compromise is making a playlist that selects shows between 20 and 31 minutes that are greater than 500MB, and shows 39 minutes or longer that are greater than 900MB. Those numbers aren’t very precisely chosen, but they seemed to work properly for all but one episode in my library, there was one hour long episode that says it’s “HD” but is only 600MB, I ignored that one, but it illustrates why this is such a bad solution. There are standard def shows that are nearly 600MB in my library too.

The compromise some people come to is manually adding an HD Tag to the composer, description, comments, or some other field, but the whole point here is that I’m trying to avoid manually doing anything to differentiate them. I could just as easily add all the HD videos to a dumb playlist, and then select on that playlist in a smart playlist.

I’ve had this frustration for at least a year, since we first got an Apple TV. When, when, when will Apple fix it? Or if they have, then when, when, when someone on the internet figure out how to do it?

Since the thing I wanted this playlist for is already an Applescript that’s iterating TV Shows from a playlist, I suppose the “solution” in this case is to make the Applescript able to differentiate. The filename actually has an “(HD)” in it for HD episodes, and Applescript does have access to filenames, but iTunes proper can’t select on filename contents.

On the other hand, the horror of having to actually write more than a few lines of Applescript caused me to write just enough to be able to call out to a python script instead. So there’s a whole ‘nother rant about crappy Apple “programming languages” right there. I do realize that Python can use Applescript interfaces directly, but then it’s harder to just Download a script that almost does what I want and fix the parts that don’t.

Tags: , , , , ,

Sunday, May 16th, 2010 Uncategorized No Comments

Today is gadget day

The new MacBook Air was announced today.  “We” promptly ordered one, which really means I can actually have my MacBook Pro back in about two weeks.

But that’s not why it’s gadget day.  I posted a while back about the conditions under which Honorary Gadget Girl could drop the “Honorary”.  I have been remiss in not posting that she got an  iPhone for Christmas and so has not been Honorary for a month.  But today she met the other condition as well.  There’ll be “music” in the “air” tonight.

I’m so glad my Mom knows about this blog.  Hi, Mom!

Tags: , , , ,

Tuesday, January 15th, 2008 Uncategorized No Comments

iPhone Line

I just posted photos from the iPhone line on Friday.  This was at the Fashion Island Apple Store.  It was a lot of fun, the people in line were awesome, and Apple sent around bottled water and coffee all day, and ice cream bars once.  Plus since I got there around 9:30 AM, I got a spot that was in the shade all day.  There was a window of a couple of hours where everyone got lucky like that.  Earlier or later and I would have roasted.

Sure, it turned out I probably could have just gone and bought one on Saturday at some Apple stores (there are four Apple stores in a 20 mile radius, it’s a little nuts around here), but I think that one did sell out that night, and it was like a big party.

Tags: , , ,

Wednesday, July 4th, 2007 Uncategorized No Comments

Posting from iPhone

Only took 13 calls and 46 hours, but it works now. Whew.

Tags: , ,

Sunday, July 1st, 2007 Uncategorized No Comments