Authlogic

| | Comments (0) | 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 (2) | 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
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

| | Comments (0) | 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

| | Comments (0) | 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

| | Comments (0) | 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.

[This has been rolling around my head for a few weeks, and I’ve been chomping at the bit (until my site redesign was finished and MT was working again for me) for the time I could write it.]

I play at being a misanthrope. It’s not all charade, there is certainly a fair bit of my character that is completely anti-social, and while I’ve come out of my shell in shocking and scary ways in recent years, I’m still rather introverted.

But at the deepest level, the essential kernel, I am an optimist. A humanist. A romantic.

There hasn’t been much fuel for that spark in the public space in recent years, in fact in most ways we haven’t been sliding toward oblivion so much a stampeding toward it.

And yet, as I observed the political process recently I’ve found myself experiencing some odd emotions. While reading reading Jon Taplin’s Blog I put my finger on it. The odd sensation I couldn’t quite grasp was hope.

I feel hopeful. Not that we’ve turned around and are headed in the right direction, but that maybe we’ve turned a (slight) corner. That some more people are starting to ask hard, important questions. That people might actually be willing to put aside differences, and dig in for the herculean task of rebuilding everything the last 8-10 years has torn down.

I fully expect these hopes to be dashed. We, as a nation, have been coddled and encouraged to stick our heads in the sand for too long for it change overnight. And the siren song of blissful ignorance is powerful. But, if the cards fall well, that dashing could be delayed until after January. Several months of hope could do me (and many of us) a world of good.

Edit: I finally figured out what was breaking the crossposting of this entry. The original draft of this entry, had I been able to publish it, would have coincided perfectly with the speech about which everyone is talking. It’s gratifying to see so many of us feel the same way.

I know it’s more of that blinding hope, but I can’t help but feel that the choice before us is between the politicians of the past; and a statesman, the likes of which we haven’t seen in a generation, who will lead us into the future.

Redesign

| | Comments (0)

A scientific breakthrough! I compressed another 9 years of slacking and ambivalence into just two.

In reality, my hand was forced. When Six Apart announced plans to release Movable Type 4 under the GPL, I was overjoyed. I’d been itching to upgrade our installation (version 2.65, circa 1999-2000), and it was the perfect opportunity. I’m very glad that WordPress’s design (single blog, single author) made me put off spending any time seriously considering it.

But it left me with dilemmas: First, the ljcrosspost plugin for 2.x was abandon-ware (I submitted a few patches, and the website disappeared shortly thereafter), and even if it wasn’t, it suffered some major flaws. After failing to find a suitable replacement[*], I resigned myself (with some excitement, I’ll admit) to write my own.

And then there was the design for my site. If I was going to have to rework my Movable Type templates for my blog, I might as well revert the templates to the new defaults and update the design as well.

And here we are. It’s not finished, but most of the major pieces are in place. And I don’t hate it. This in itself is a victory. I’m actually more or less pleased with it, for now.

[*] I’ve since found a cross-post plugin that is written by someone who knows what he’s doing, has a nice preference UI, and does more than just LJ. But he doesn’t have all the features mine has (though arguably some of those could/should be a separate plugin), and the license terms are less than ideal. So I’ll keep working on mine. (With the intent of releasing it under the GPL)

Who?

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

June 2009

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        
Powered by Movable Type 4.23-en