Archive for May, 2008

Programmers: Go Read Proper Fixation

If you’re any sort of a propeller-head, you owe yourself a visit to Proper Fixation, by Yossi Kreinin. I have found a programmer blog with this caliber of writing (and humor, and common sense) in a while.

Excerpt: here’s Yossi, writing about dependencies and redundancy:

But you already got it – I don’t want your code, because I’m an antisocial asshole that has no team spirit whatsoever. I’m going to parse arguments using 5 lines of C code. Worse, I’ll make a function out of those five lines, prefix its name with the module name, and replicate it in all my modules. Yep, I’m the copy-paste programmer and you’re the enlightened developer of the next generation command line parsing platform. Have it your way, and I’ll have it my way.

Good stuff. Take a gander.


Silos, Networks, and Value

I’ve been hearing Robert Scoble yak for months, nay, years, about the “walled garden” metaphor in social networking. This is where a vendor, say, Facebook, locks in users by restricting their ability to move their social graph to other, possibly competing services.

It appears that the trend is slowly moving in the direction of portability, which is a win for average Janes and Joes, not to mention the Scobles and Calacanises of the world who have about 1.0*10^12 friends apiece and who are singularly responsible for recent Twitter downtime, among other horrible crimes.
There’s a larger issue, which is almost the reverse of the walled garden issue, and that is, how valuable are silo networks in the first place? The item that got me thinking was a post by Ken Ross on the Seattle Tech Startups list about his new venture called ExpertCEO:

We’re writing to invite CEO’s, COO’s and Presidents to join ExpertCEO, a private on-line community where senior executives can confidentially exchange ideas with peers, locate trusted resources, ask questions of experts across a range of disciplines, and quickly solve real-world business problems. The site combines social networking technology with concepts proven by CEO membership organizations like Vistage and YPO

I was immediately brought back to 1992, when I was the store manager for a Mailboxes, Etc. franchise, and a guy who had a mailbox there invited me to join a similar organization. His gig was to go around to different cities, set up an irresistable buzz among the wanna-be CEOs, collect his membership dues, then hand over the managerial reins to some clueless schlub and go on to the next town.

The thing was, I was 20 years old at the time and had no executive experience of any sort. I was a struggling student who happened, by dint of responsible behavior, to land this slightly less crappy job than most of the other students. But when he invited me to join his super-CEO group, I was thinking something along the lines of “I wouldn’t want to join any organization that would want to have me as a member.” I went to one introductory meeting and it was a roomful of mostly clueless, mostly preening young guys who had big ambition but not much in the way of real mentoring, or anyone they could ask to see “is this thing really worth my time?”

I’ve been fortunate since to have a couple older mentors who have taught me a lot – often through osmosis – and so now, when I see the ExpertCEO pitch, I immediately reject it. But let’s assume for the moment that this guy, Ken Ross, is a decent guy who really thinks that this idea has legs. He might be thinking along the lines of the job-hunting site for “people making over 100K a year”,

Does it have legs? Do “communities of interest” have a place?

I get a lot of value out of my self-selected network(s): Twitter, LinkedIn, Facebook, etc. I also get a lot of value out of special-interest groups I belong to (formally or informally), such as the Seattle Tech Startups group itself. What’s worth paying for, and what’s not? Is Twitter worth paying for? Is Biznik? Is ExpertCEO?

Recently on STS there was a long series of discussions about whether it was useful for startup founders to subscribe (pay for) membership in the various Angel and VC funding organizations, like NWEN, Alliance of Angels, Keiretsu, etc. There were strong sentiments on both sides of that argument.

What do you think?

URL Canonicalization

I’m setting up my Google Analytics account for the upcoming soft-launch of Crowdify and was forced to think about the topic of URL canonicalization.  For the uninitiated, this is the single version of your homepage URL that you want to use every place you have to give out your domain name.

Recent posts in the blogosphere have caught my eye on this subject: see Search Engine Journal for example.  A recent post to the Seattle Tech Startups list made by Vanessa Fox also mentioned the issue of keeping your URLs consistent.

So – do I use or just  A couple high-profile SEO people have made the argument that you should use the WWW- prefixed version, because most people are attuned to using WWW for websites.  I don’t buy it.  The non-www-version is shorter, easier to say, and affords the flexibility to have other tertiary domains that are obviously different, such as or what have you.

The Wikipedia article is (unsurprisingly) very detailed about the process of canonicalizing URLs.  They recommend removing the www, among a host of other changes.

What canonicalization version do you prefer, and why?

.NET Forms Authentication and Blank UserData

I recently had to retrofit someone else’s .NET Forms Authentication code to use custom roles. In the past, I’ve had a lot of success using the UserData field of the FormsAuthenticationTicket to store a delimited string of roles, then using the AuthenticateRequest method of Global.asax to set the custom roles for the user.

However, it wasn’t working properly, and I went through a couple agonizing hours of pulling my hair out before I got to the cause of the problem. But first, a note about the clue: when I set the custom FormsAuthenticationTicket, I set the version attribute to “1”. However, when I inspected the returned ticket in AuthenticateRequest, the version was “2”. Funny? I thought so. The ticket was encrypted (of course), so I couldn’t really inspect the raw data, but the only other difference between what I was setting and what I was retrieving was the blank UserData field.

It turns out that the login routine called FormsAuthentication.RedirectFromLoginPage() – which effectively overwrote my nice custom ticket, and replaced it with Mr. Generic Ticket with no UserData, and thus no roles.

Moral: if you are setting a custom ticket, make sure you do a normal Response.Redirect(string) call, NOT FormsAuthentication.RedirectFromLoginPage(), or else you’ll overwrite your ticket.

NW Folklife Festival 2008

Yesterday the family and I went to the NW Folklife festival at the Seattle Center, to expose the kids to the hemp-and-patchouli Seattle subculture.  The sun was out, temperatures were high, and Seattleites started exposing skin in many various ways – there hasn’t been this much pasty-white skin exposed to the sun since the massive Reykjavik prison break in 1967.  Also, this being Folklife, there weren’t enough bras to properly outfit a volleyball team.  Good times.

Leaving aside my mild disappointment at not encountering a single hackeysack, we all had a great time.  The kids were goggle-eyed at many of the more, ahem, “eccentric” festival-goers, such as The Man With The Enormous Hat or The Man Waving Pastel-Colored Diaphanous Fabric In Circular Motions.  They really loved it when we went to Fun Forest and rode bumper cars, though.  They’re preparing for the post-fossil-fuel future, where we all drive underpowered electric cars.

They also enjoyed seeing the police horse poop on the grass.  I have to admit it was an amazing display.

Musically, there were a lot of what seemed like impromptu gatherings of musicians.  My wife and I came to the conclusion that they were all playing the same song at different speeds – sort of a Klezmer-meets-Mighty Mighty Bosstones clappable number.  Then there was the drum machine guy up by Seattle Fudge who, like a solo ocean-going sailor, had his rig of 15 musical instruments set up that he could control it with the slightest of movements.  The cacaphony was incredible.

The HempFest folks, knowing this was fertile recruiting territory, showed up about 2 PM with advertising flyers and signs.   Note to HempFest: The chances of your target audience remembering that they had a flyer, let alone actually get the flyer home to put up on their fridge, is about nil.

Best part for me?  Just hanging out with the family, watching the kids have a great time, and enjoying a little sun.  I’m really glad that we get to experience big events like this from time to time.

Garth Stein Has Hit the Lottery

From 2006-2007 I took a three-quarter literary fiction course through the UW extension program.  It was taught, and taught extremely well, by a writer named Scott Driscoll.

In the summer of 2007 I considered whether or not to continue on to the second-year program, and for a variety of reasons decided against it.  One of the reasons was that there was a lot of uncertainty about who would actually teach the course.  The original guy signed up to teach was a local Seattle writer named Garth Stein, who had published some stuff and gotten pretty good critical press.

However, as I was hemming and hawing, e-mailing Garth with some questions about the class, he went dark.  It turns out that right at that moment a big publisher picked up the rights to his book for major dollars.  Not sure how many zeros he got but it was a lot.  So, he opted to not teach the second year Lit Fic class in favor of lucrative book tours, etc. etc.

This morning I walk into a Starbucks in Bellevue and who do I see featured prominently on the shelf but Garth Stein?  Congratulations, Garth, you just hit the 2nd-best writer’s lottery on the planet (Oprah would be first).

TWiT 143 Review

This show should be called “Leo Laporte and Five Guys Whose Voices Are Not Fit For Radio”.  Aside from LL, you have never a more squeaky, gravelly collection of voices since the Munchkin scene in The Wizard of Oz.  Having said that, the content was actually pretty good.  I may make it a background track while I’m programming something particularly boring.

Catch it at

TwitterCounter for @anthonyrstevens
Add to Technorati Favorites

RSS Feed

View Anthony Stevens's profile on LinkedIn