blog
history
projects

profiles
about

California Dreamin'

2010.04.14 in personal

A Summer Job

Good news! I've been offered (and have accepted) an internship position at Qualcomm in San Diego for the summer. It's an excellent offer, including relocation to and from California, housing for the summer (sharing a 2-bed 2-bath apartment with another intern), and various other things.

I'm not totally sure what I'm going to be working on (I'll talk more about that in the future, if I can), but it sounds like I'm going to be writing C for some manner of embedded platform for a mobile device, which sounds like fun! I'm really happiest in C anyway, so that works out well for me.

One thing that I was a bit worried about was Amy's graduation: she's finishing high school this summer, and I'm going to be just over 3,000 miles away. My parents decided that they'd fly me home for graduation, in any case, so that I wouldn't have to miss it!

A New Machine

Apple finally announced new MacBook Pros yesterday; I'll write more when it gets here, but thanks to Mom and Dad and Vivian and Margaret, there's one headed my way! I got the 15" with the Core i7, the 7200 RPM 500GB disk, and the 1680x1050 display (a much-needed upgrade from 1440x900, but not the resolution I wish it could be...). I'm planning on — at some point over the summer — swapping the rarely-used optical drive for an Intel SSD, depending on how Matt's experiments with said drive go over the next few weeks (I expect drooling to ensue). I just have to remember to take my external optical drive to California with me!

Anyway; it's got a name, but I'll share that later, when it gets here.

Typeline

2010.04.06 in typography

Some silly thing I made in Flash (I'm so sorry, world!) for Typography...

Some of these are a bit of a stretch, but I needed it to fit!

Tim and Carol in NYC

2010.03.30 in personal

About three months ago, She & Him announced a few tour dates for their then-unreleased second album, the aptly-named Volume Two. I was scanning the list, noticing a severe lack of "Albany", "Boston", or "Burlington", when two dates in New York City caught my eye. The Bowery Ballroom - March 29th and 30th, they said. I asked Amy if she could go, but - being a Monday, a school day - she wasn't going to be able to pull that off.

Once I got back to RPI (in late January), I asked Carol (and Nate) if I could steal her for a day at the end of March. She managed to get a day off from work, and we got tickets to the concert and various forms of transportation. Getting concert tickets was a bit of a pain — the internet has made it very easy for scalpers to immediately consume the entire supply of tickets, especially to very small shows like this — but we eventually got it all sorted out.

As March drew to a close, it became clear that the 29th was going to be a disgustingly rainy day, both in NYC and Troy. "Oh, well," we said as we boarded a Megabus nearby the local Amtrak station — we were determined to make something awesome of the day, regardless of the weather.

We rode, chatted, and tried to nap on the top level of the double-decker bus all the way to Penn Station, getting in at just after 1 PM. After getting out and getting oriented, we meandered up Seventh Ave., heading in the general direction of MoMA, one of our potential plans for the few hours we had before the concert. On the way, we decided that food might be nice, and stopped at a small Chinese place called Ginger's which Carol spotted. The food was surprisingly good for a Chinese place, and we moved on, satisfied.



After a filling lunch, the subway seemed like a good option — in addition, we knew we were going to need to figure out the MTA so we could get to the concert on time. In retrospect I'm very glad we did this, as it turns out they made the horribly unfortunate choice (unlike Boston's MBTA) of putting maps after you've gone through the ticket machines, which through me off significantly.

The subway eventually put us relatively close to MoMA (ordinarily this would have been walking distance, but the rain coupled with the fact that we only had a single gigantic awkward-for-tight-NYC-streets umbrella with us led us to opt for the subway). We got down to the museum, only to spot enormous lines of people with the exact same idea. Walking through the lobby observing the crowds only cemented my belief that we'd never get in if we waited there. So, we gave up on that idea — we'll be back another day — and headed towards another classic NYC museum: the Metropolitan Museum of Art. Carol had been to the Met before, but noted that there was so much to see that she'd happily go again; I've never managed to visit either, myself.

Heading towards the Met, we walked through the puddles and mud up Fifth Ave., past many sights I've seen a few times before — Trump Tower, the iconic Apple Store, FAO Schwarz, etc. — up to Central Park. We decided that the umbrella would be less painful in the park, which seemed relatively empty, so we left the road for the somewhat-depressingly-wet park walkways.

I should note now that while it may seem like we shouldn't have been having a good time, between the weather and the crowded museum, we were actually having a lot of fun just enjoying the city and hanging out and looking around and chatting and such. As you'd expect!



The walk through the park was greatly improved by the various flowers just starting to pop out of the ground — it's pretty clear spring is on it's way, even if we have a month of rain ahead of us. We eventually got to the seemingly completely deserted Met, only to read the sign stating that they're closed on Mondays. I feel like I actually discovered this the last time I was in NYC, but I'd forgotten until we got there. I suppose that this somewhat explains the ridiculous lines at MoMA, but was rather unfortunate for us; we managed to spend a few hours wandering the city with our plan of getting inside out of the rain for a while continually falling down around us.

We decided to forego that plan and head (by subway, thank god) to Times Square and wander around some more (a pretty reasonable NYC backup plan, I guess!), which went well. I don't think Carol was particularly entertained by my reluctance to enjoy the various crazy stores (Hershey's, the M&M store, Toys R Us, etc.) around there, but nobody ever is! Oh, well!



At this point it was getting late — time for dinner, and to find our way to the Bowery Ballroom for the show. We decided to combine these things; the Bowery is smack dab in the middle of the Chinatown/Little Italy region, so we once again went underground and found ourselves in a new part of the city. After a short bit of looking around, we found (by found, I mean the guy standing outside the door managed to entice Carol to come inside with his descriptions of various dishes, while I was fussing with my phone trying to find things with Yelp) an excellent little Italian place, Paesano's, which served fabulous — if somewhat overportioned &mdash food. I don't think either of us came close to finishing our dinners, but we certainly both agreed that they were excellent, and were impressed that food wasn't the problem that it usually is on trips like these. The atmosphere there was nice, too... the waiters were really nice, and totally on their game the whole time. I'd definitely recommend it, if you happen to end up in the area.

Seven thirty eventually rolled around, and it was time to head over for the show, which started at 8 (or so I thought). We found the Bowery with no problem; it took us a minute to determine whether or not we could go inside, as there were tons of people standing around (apparently waiting for others). After making our way through the real-life-gigantic-scary bouncers, we found ourselves in a dimly lit room filled with the sort of crowd that frequents these sorts of things. I'm not totally sure how to describe them, but if you'd been there, you'd know exactly what I mean.

It turned out that the show didn't really start until 9:00, so we stood inside the ballroom for an hour, chatting and observing the crowd. Eventually the starting band came on — the super-hippie harmony group The Living Sisters. While it was clear that they were technically-competent and actually all had quite excellent voices, Carol and I were in agreement that it wasn't something we'd buy and listen to on our own. Still, they certainly entertained us... maybe nod in the way they'd hoped, but I suppose it was worth something!

It was at this point that we realized we had a serious problem — She & Him still hadn't come on at 9:30, and our train out was at 10:50, 20 minutes from where we were. We spend a good part of the intermission IMing and texting everyone from school trying to find someone who knew someone who lived in NYC, looking for a couch to crash on (there was no way I was going to leave without my concert!). After quite a bit of semi-panicked chatting, I decided to let Mom freak out, and sent her a text asking if she had any ideas. Luckily, I CC-ed Amy, who — after a bit of searching — found a bus company who had a 12:01 AM bus to Albany. Success!

If it hadn't been for Amy, we would have ended up camping out in Penn Station or the 5th Ave. Apple Store, neither of which would have gone over well with the staff, I suppose.

As it was, we only got to see about half of Zooey & Matt's show, but it was enough to make me very happy — it was exactly what I was hoping for, and I had a great time! Zooey is still adorable in person, they all sang/played very well, and thankfully played a mix of songs from both Volume One and Volume Two. You could tell when a song was from Volume One, as the whole crowd was able to sing along; Volume Two came out like a week before the concert, and nobody's really familiar with it (except for In The Sun, which was released as a single) yet!

All in all, it was one of my favorite concerts, even considering the fact that I missed half of it (she covered a lot of the awesome stuff; I only really missed Sentimental Heart, my personal favorite)! I'm really, really glad I went, I'm glad I dragged Carol along with me (I'm not sure the whole day would have worked out as well/smoothly with just about anybody else), I'm glad we waited, and I'm glad it all worked out.

So, yeah, the concert was excellent! Hopefully at some point in the future I'll get to take Amy and stay for the whole thing :-)



Most of the rest of the evening went off without a hitch; we got to the bus just on time, having taken a taxi (some random people saw Carol's distress at trying to hail a taxi and got one for her; that's something I probably wouldn't have been able to pull off at all!) to the Port Authority Bus Terminal. Once on the bus, we realized that we should probably look up where it was going to, since it seemed unlikely to take us to the train station, where our car was. Indeed, the bus was destined for the Greyhound station in Albany, on the wrong side of the river (though only a mile from the car, it was 3 AM, not an ideal time to make that walk!)... back to AIM, searching for people at school who would still be awake at 3 AM!

Ryan had already been planning to stay up all night, so he came and saved us (for which we are eternally grateful!), shuttling us over the bridge to Carol's car. We got home at around 3:30, grabbed water, and promptly fell asleep (some more soundly than others, apparently).

All-in-all, it was an absolutely awesome day for all involved. We had a lot of fun, and perhaps we'll do something similar again (in a few months, after we've recovered from this trip!)...

A Miraculous Recovery

2010.03.23 in personal

Or, How I Baked My 400$ Logic Board In An Oven For Ten Minutes And Successfully Repaired It...

Take One

On one day nearly two years ago, one year after I'd acquired my current MacBook Pro, Kaylee, I opened the lid to a black screen. A black screen which stayed black, no matter what I tried to do. It was booting, though — using ioreg over ssh, I determined that it thought my video card (the now-somewhat-aging but still powerful NVIDIA 8600M) had suddenly become an integrated Intel X3100 — something which, barring the existence of gremlins or elves, had certainly not happened.

At that point, few people had heard of the NVIDIA 8-series solder failures. Approximately a week after my machine died, NVIDIA took a 150 million dollar hit to predicted revenue for that quarter to cover the fact that some of their mobile GPU lines were failing at "higher than usual" rates. Some people today believe that the entire 8-series was affected, even the desktop chips, but that the mobile chips failed at far greater rates because of the inherently more unfortunate thermal conditions within a laptop. It turned out that some of the solder connecting the GPU to the motherboard (or to the discrete card, in the case of the desktop chips) was of poor quality, developing cracks over time with repeated heating and cooling cycles.

I took my machine to Small Dog Electronics, who subsequently sent it to Apple for a logic board replacement. This was before Apple knew what was going on; before (almost a year, actually) the repair program was in place, so I convinced my parents (thanks, again!) to pay for the repairs.

Take Two

Fast forward to Saturday; almost two years after the first failure. Wake up Kaylee, no backlight. Power off, try again. Black screen, no backlight, but the disk sounds like it's booting just fine. I eventually managed to enable SSH (by pulling the disk out and attaching it to another machine) and noted that — once again — my video card reported itself as a Intel X3100. Grr...

This time around, I didn't really see repair as an option. While Apple now has a free repair program for this problem, I've beat my machine far beyond the point where any sane company would accept it for repairs even if I were to throw money at them. I didn't bother to even try. Besides, I'm really just waiting for new models and then I'm going to replace it, so it's hard to justify much effort to keep this machine alive.

On Sunday I stripped the MacBook Pro down, disconnecting everything from the motherboard, removing it, applying heat from a hairdryer and massaging the GPU... I figured, at this point, I've got nothing to lose, so I'll try it. I had to reapply thermal paste and reattach the heatsink, all that fun stuff. After reconnecting everything, no dice. I offered bits and pieces to other people (battery and memory are still useful), and put Kaylee in a box.



Monday rolled around, and my father pointed out that BGA solder doesn't actually melt at a temperature that you can achieve with a hairdryer, but that an oven at around 400°F should do it... so I decided that I'd try that as a last-ditch attempt.

Strip the machine back down, remove the motherboard again, throw it in the oven at 380°F for 10 minutes, wrapped in aluminum foil except for a small hole above the GPU.

Put it all back together, turn it on. The power light blinks... that's not right! I eventually realized that I forgot to put the RAM back in. Fix that, hit the power button again... GRAY SCREEN! And it booted, happily.

I still don't believe it worked — it's by far the most incredible and amazing repair I've ever performed, and I'm incredibly happy that it both didn't melt the CPU and actually managed to fix the GPU (I'm sitting here waiting for class to start, typing away on Kaylee...).

Things I'm Excited For, Early 2010 Edition

2010.03.07 in personal



There's all sorts of exciting things to think about right now!

First off, this is spring break, so I have a nice week to relax without too much worry about school stuff. Second off, it's also show week for Amy, so that means there's going to be an awesome Colchester Theatre Company production to partake in at the end of the week! Dad says the set is enormous, and Amy hasn't started worrying about things coming together as much as she usually does, so it should be excellent! Being home also means getting to see Kaitlyn for the first time since winter break, which should be awesome :-) All wonderful things!

Next, Carol and I are going to New York City (center of the universe!) in three weeks (on the 29th)! I acquired tickets to see Zooey Deschanel and M. Ward (as She & Him) at the Bowery Ballroom in Manhattan, and I'm super excited! I haven't been able to stop playing Volume One since I first heard it (shortly after (500) Days of Summer was released). I think we're going to go down early enough to also spend some time in NYC — it's always a treat to hang out with Carol, doubly so with her only being in Troy on weekends this semester!

Ah, yes, there's an Apple logo up there. There really ought to be MacBook Pros coming out... this is coming close to being the longest time between MBP/PowerBook updates ever (or at least since ~2002)... just when it's time to upgrade. Come on, guys! But that makes me even more excited to see what they're working on (I hope!)... Luckily Dad's display clamps seem to be holding Kaylee together for the time being, so my last post about this topic was a little premature.

And finally, games! I was excited for Supreme Commander 2, but that already happened, and didn't totally deliver on the excitement (I don't like it when they dumb down übercomplicated games after you've gotten used to the complication). Valve, however, most likely won't fail me, so I'm allowed to frantically anticipate the recently announced Portal 2 as much as I want to! Portal is one of my favorite games, and was actually my first WASD+mouse game (make whatever of that you will), so it holds a special place in my heart (and how could you not adore the companion cube? it even speaks to you!). On top of that, they seem to be hinting at (with awesome fake Apple ads) an announcement of — gasp — a port of Source and Steam to OS X, which would be totally awesome, especially with a new laptop to go with it!

EDIT: Valve officially announced Steam + Source for Mac, as well as the ability to play games you've purchased in Windows on OS X for free. Awesome! They never disappoint... except Ep. 3...

Slow Transition to S3

2010.03.07 in code and personal

I finished another part of my slow transition away from Dreamhost and on to Amazon's S3 for this site last night: I deleted everything related to this domain from Dreamhost. This meant setting up the Google App Engine proxy I've been thinking about for a while (which ended up being a just slight bit of horrific hackery upon shrub), and moving my DNS stuff back to the much-less-flexible 1and1 servers (which I get for free with my registration). This is a really ugly solution, because it adds another bounce for all HTML pages, but it still seems to be faster than Dreamhost, somehow.

It's mostly all working - unfortunately, GAE apps can't run on a naked domain, so the www is required now - any links to a subdirectory of hortont.com will redirect to the toplevel page. But I decided the temporary inconvenience was well worth the ~10$/month savings, so that's OK.

Also, links from more than 8-10 months ago are completely invalid now (I had a bunch of redirects, before, but they're gone now too in the shuffle). But that's OK, too. Really, who keeps around links to my blog? All of the internal links should be valid... I guess the big issue is things subscribed to RSS feeds with the naked domain. (I've already fixed a few random things I've found with this... I should check on Planet Gnome and stuff, too...)

I just have to move Carol and Matt, and then everything will be great - I've spent less than a dollar over the course of 2 months or so of S3... excellent!

I expect to find things broken over the course of the next few days... if anyone else runs into anything, let me know!

The proxy code is on Github.

Sheeple, One Semester In

2010.02.26 in code

Last semester, during RCOS, I started working on a contact-management application for GNOME (Seed is mostly in maintenance mode, at this point), called (for lack of a better name, at the moment) Sheeple. I keep a carefully-organized, constantly-updated address book, so I spend a bit of time in whatever contact-management program I'm using, so this is something that matters a good bit to me personally.

The de-facto application for managing contacts on GNOME at the moment is, of course, the behemoth personal-information-management suite, Evolution. Evolution has a long history, and is a large codebase, written by a lot of people, over a very long time. It also looks a little bit outdated:



Not a pretty sight. Not to me, anyway, not in 2010, when my alternative is:



Another fundamental difference between the two is in their editing functionality. Address Book provides the ability to edit contacts inline; Evolution requires you to edit contact information in an overly-limited (while it can store more than four email addresses per contact, you can only edit four in the editor window... what!?) separate window.



I decided to start working on a more Address Book-like application for GNOME. After a bit of deliberation, I decided to have it backed by Evolution's evolution-data-server, so that people's contacts would transition over smoothly. This might have been a mistake, because the EDS API isn't beautiful, and there are very few complete, working bindings, but I've made it mostly work.

It's written (mostly - the EDS-related code is straight C, unfortunately) in Vala. It's my first Vala program, so it's been a learning experience — Vala seems nice, though there are a few bugs (I've reported one glaring bug which was acknowledged, though it hasn't been fixed yet), and some bindings are a little sketchy.

During the development, I discovered that Nokia was developing libosso-abook (for Maemo), an address book library that provides a lot of the functionality that I was planning for libsheeple. Unfortunately, libosso-abook is currently closed-source. Not cool, Nokia... Anyway, if they open-source it (it's under consideration, at the moment), I'll probably ditch most of libsheeple and base the Sheeple UI on top of that, because it's a ton of annoying code already done.

After the end of last semester, I had the following:



Lots of things are broken, but it's something. I don't have working syncing yet, and I believe writing back to EDS is broken at the moment (so no persistence of changes!), but those are things I plan on working on this semester...

There are slides and stuff available, too.

Punkin'

2010.02.19 in personal

In September of 1997 — long before I can really remember — Vivian and Margaret adopted two then-very-young kittens, Peanut, and Punkin. Over the course of the last 13 years, we've visited them more times than I can possibly count, quickly becoming good friends.



Punkin was always the more friendly of the two. Peanut was often skittish, hiding from deluges of affection which his brother would take rather in stride and return tenfold, every single time.

While we all certainly love Punkin, Peanut, and their adopted sister Troi immensely, it's not — by any means — a stretch to say that Punkin was first in most people's hearts, if only because of his ridiculous capacity for affection.



Unfortunately, he was also first to get sick. A few years back, he developed diabetes; Vivian and Margaret have since given him insulin twice a day and continued to provide a wonderful home and all the love he — or anyone — could possibly want.

Punkin had to be put to sleep yesterday, due to various complications from his diabetes. It was a sad day for everyone — this has been very hard to write — but as he leaves us we can keep in mind all of the incredibly adorable and fun times we all shared with him during the last decade. He was certainly my closest animal friend by far, and may always be. He will be missed by all, and never forgotten.

Goodbye.

Typography : Computer Modern

2010.02.05 in school and typography



A little something I made for our first Typography project: the double-slit experiment out of Computer Modern characters. Click on it to view the rest of the project...