Celebratory Games!

| | Comments (0)

Hey! You! Come play some games at our new house! You'll get a sneak peak before the (soon-to-be-announced) housewarming party!

What?
Games. Board games, specifically.
Where?
Our house. Ping me if you need the address.
When?
Sunday, July 18th 1pm-9pm (yes, this Sunday.)
Why?
Because I'm no longer prime (in more ways than just one) and it'll be fun!

My apologies for the short notice, I've been working on a project that uses Facebook Events (*cough*movingtarget/half-assedAPI*cough*) and absent-mindedly created an an event for this party instead of our usual Pingg invite, thus missing a bunch of people.

If you're available, we'd love to have you! If not, it's my fault. Come to the housewarming instead.

Laid Up for a While

| | Comments (1) | Crossposted
A lot has happened in the last month…

First off, it appears that this information has been unevenly communicated. For that, I apologize. But I hope you agree that I had a good excuse. (At least at first.)

I’m still midway through writing a very long-winded, exhastive account (with its own summary) of what happened that nobody in their right mind would actually want to read. It’s stalled. This is getting ridiculous.

In the immortal words of Inigo Montoya: Let me ’splain. No, there is too much. Let me sum up.

I was hit by a car.

The evening of Friday, February 12th as I crossed the street (in the crosswalk, with the light) to catch a bus home, a car turning left onto Market from Montgomery struck me at slow speed.

My knee was broken (x-ray). Everything else was fine. (Specifically, a portion of the tibial plateau was sheared off.) I was, in many respects, very lucky.

It was a long, painful, and story-filled night.

After a long, disagreeable week, the following Thursday I had surgery to fix the (skeletal) damage (another x-ray). My ACL was torn but not repaired (I’m told that many people live full, active lives without one). My MCL was stretched rather badly.

I was (IMNSHO) discharged too early on Friday evening. I spent a harrowing night at home. Too harrowing to be story-filled. The less said about it the better.

The convalescent prescription from here is rather high-powered narcotics (which work most of the time) and no weight bearing on that joint for 10-12 weeks! After that, the real recuperation begins: 6-8 weeks of physical therapy and rebuilding.

The reason 10-12 weeks is two-fold: primarily, it’s to give the cartilage in my knee a break (ha!) to prevent it from deteriorating further. Secondly, it is also hoped that this break will also give the MCL a chance to tighten back up (at least a bit).

This greatly increases the chances of arthritis in my knee (but there is no way to predict if it will be symptomatic or not.)

I am definitely healing. I have good days and bad days with the pain, but it’s reassuring (after the fact) that I’m healing even on the bad days. I’ve regained quite a bit of mobility, but as of right now, I am still confined to the upper floor of our house.

The outpouring of support and well-wishes has been fantastic and overwhelming. Chiara, too, has been a saint to put up with so much. I am humbled by it all.

There is more I want to say, but this is already starting to get long, so I’ll save it for another post.

Authlogic

| | Crossposted
I have a project I call “Clubcar.” It had its genesis in my frustration at the pathological inability of a group of coworkers to chose a lunch destination, coupled with our general dissatisfaction with the day-to-day functioning of most other automated decision systems.

It was also a complex enough problem that it seemed a good way to learn Rails. Because it was my first Rails project I was as yet unfamiliar with many Rails idioms and practices. I reinvented a few wheels that really should have been patterns.

I am now going back and spending time cleaning up the code base and extending it to allow more than just the original group to use it, since several people have expressed interest in it.

One of the wheels I invented was authentication. Since a wider audience needs a much more robust authentication (and authorization, but that's a separate issue) system, now is a good time to rip out my simple implementation and use one of the off-the-shelf solutions with far more features, and far fewer bugs.

And here's the rub. By far, the most popular solution, acts-as-authenticated (and its REST-ful progeny: restful-authentication) are primarily code generators. The expectation is that you'll use them in a new project to generate the models, views & controllers that make up your authentication system. This has presented two problems, one practical, and one philosophical.

The practical: since my system already has all of these things, I tried to carefully shoehorn the generated code into my existing framework. It was a mess, I felt I'd painted myself into a corner, and the project stagnated.

The philosophical: while I was despairing and frustrated over the shoehorning, I began to wonder: why is the Rails community as a whole, which has “DRY” (“Don’t Repeat Yourself”) as a mantra so enamored with code generation? Even if it's not you writing the code, it is still repetition that makes the project harder to maintain, makes it harder to incorporate fixes and features from later version of the tool, and seems to fly in the face of not only DRY but good object-oriented design as well.

I set the project aside. In returning to it (now that I need to amuse myself on the train again occasionally.) I decided to once again look for alternatives.

I have stumbled upon Authlogic, a plugin that seems to be written by someone who shares my misgivings. It's also extremely well documented, highly configurable, and has a complete API for extension.

Fair warning: I haven't actually started moving my project to Authlogic, and I may yet find some fatal flaw. But I'm very much looking forward to trying it out, and if I do happen to find a flaw, perhaps I can patch it, and everyone using it can benefit immediately, not on their next project!

ETA: I just sent the author some fan mail, because it makes me that happy!

Horus 2002-2009

| | Comments (3) | Crossposted

There are far too many words for me to write here, and I’ll never get it out if I try to capture them all. Keeping it short: The candle that burns at both ends burns twice as bright, but half as long. Horus succumbed to chronic renal failure today. Hoka Hey, little man.

Quality Time with Pepper
Quality Time with Pepper, originally posted by Erik
Sleeping Horus
Sleeping Horus, originally posted by Chiara

On Some Level, We are Already Legal

| | Crossposted
Chiara and I are spending this weekend in Monterey / Carmel / Pacific Grove hammering out wedding details. To me this is poetic for on this day our relationship becomes “legal.”

18 years ago today, we had our first date. February 8, 1991 was the Snowball.

I don’t yet know if she realizes this fact, but I do know that she doesn’t expect me to remember.

Today will be fun!

ETA: She didn’t remember. I win! Off to taste some cake.

Not a Time For Gloating

| | Crossposted

For the past few months, I’ve hoped that this evening I’d have something about which to gloat. But since about this time last night, I’ve had the immortal words of the inimitable Terry Gilliam, as delivered by an understated Bobby D on a seeming endless loop in my head:

“Listen, kid. We’re all in this together.”

There are likely to be many on the side on which I’ve been standing who are looking to destroy those on the other side, as a manner of repudiating the thinking and damage done in the last eight years. I fully expected to be one.

This morning my realization that I wasn’t in that camp prompted me to remember a well-respected Republican admonishing:

“Why, madam, do I not destroy [my enemies] when I make them my friends?”

It’s going to take every one of us to roll up our sleeves, pull the wheel, and turn the Ship of State off the suicidal course on which it has been directed for the last 8 years.

Let it begin with me. Yes we can.

The Tick Escapes the Asylum

This afternoon I tendered my resignation. I leave behind a great group of people on the cusp of major to stratospheric success. It was a very hard decision, but my destiny lies elsewhere.

The top half of the page at left isn’t as true as it’s been in the past, making the decision all the more difficult. But the bottom half sings a profound truth.

I was not looking for a new gig. But a few kept landing in my lap that I couldn’t pass up. I’ve accepted the senior developer position at Emmet Labs, an early-stage social platform startup in San Francisco.

There are many reasons this excites me: learning a lot while working on interesting problems in a cool (metaphorical) space surrounded by fascinating (and occasionally famous) people in a dynamic and passion-driven environment. That’s where I thrive!

Obviously there are a lot of other, less exciting emotions tied to the coming and the going, but I feel the need to keep this entry short. Perhaps I’ll catalogue them in a future post.

...This time with 4 part harmony and feeling.

I’m putting together another all-abilities, all-ages, slow as molasses, stop & smell the roses bicycle ride over the Golden Gate Bridge on Sunday, June 22.

When:
Sunday, June 22th (next Sunday, not the day after tomorrow). My plan is to start at my house at noon or 1pm. If I’m riding alone, I can probably be at the bridge in 30 minutes, but connecting with people will modify that, and the schedule for this ride is necessarily a bit flexible. I’m also open to other ideas (see below)
Who:
Anyone who has a bike, can manage to stay (mostly) upright on it, and wants to ride across the Golden Gate (C’mon! It’s fun! You should do it at least once!)
What:
Riding a bicycle across the Golden Gate Bridge. Also, you might want to consult your doctor about ADHD, and/or cut down on the fine herb clouding your short-term memory.
Where:
At a minimum, the Bridge, but see below

It’s Dead, Jim

| | Crossposted

My Treo 650 was acting a little strange during my travails in travel on Tuesday. Wednesday morning it got even weirder, and by noon it stopped working at all.

I’m in Miami for the week, and I feel a bit vulnerable without having the ability to connect with folks, either at home, in the family, or people I want to see/meet here.

But beyond that, I don’t know what to do moving forward. Palm is dead as a platform. The rumored impending release of the 3G network iPhone would be absolutely perfect, except:

  1. The rumor is completely unsubstantiated, it started as an off-hand comment by Walt Mossberg, and is fueled entirely by wanton wishful thinking
  2. I need something now, not in a month or two
  3. It would mean giving a(nother) red cent to AT&T after they:
    1. flagrantly and recklessly colluded with the NSA to violate the law and our Constitutional rights.
    2. decided all of your personal information? yeah, that’s now “Marketing Information” they're free to use (and sell) as they see fit.
    3. etc, etc, etc…

It’s that last one that is so problematic. I feel completely hypocritical even considering an iPhone. Yeah, sure, Android, um, see #2 above.

Further Evidence of Geekdom

| | Crossposted
In preparation for a demo that could lead to a huge opportunity, I worked two weeks straight, most nights until midnight, sometimes until after 2am. No rest for the wicked weary on the two weekends, I just plowed straight through.

I’m done, back banging on the stuff on which I should be working, and I was very much looking forward to a respite this weekend.

There’s just one minor glitch. The problem I left on Friday evening is sticking in my craw. It’s interesting. I know I should leave it until Monday, but here I am logging into the VPN to grab the file so I can at least map out how I think it should be solved.

Hopefully that will exorcise this demon, and I can go back to enjoying a weekend with my sweetie.

Who?

Another boy in San Francisco. I'm a geek, a cyclist, and an occiasional glassblower. more…

July 2010

Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Powered by Movable Type 4.23-en