bugs and features
14-Apr-08
“But in the end, none of that matters as much as the simple fact that software does not work the way we think, and until it does, it is not worth trying to perfect.” — Scott Rosenberg, Dreaming in Code.
this is an occaisionablog
“But in the end, none of that matters as much as the simple fact that software does not work the way we think, and until it does, it is not worth trying to perfect.” — Scott Rosenberg, Dreaming in Code.
My thought for the year: it’s called “culture” because it grows everywhere.
That is, when you establish the bare medium for social interaction - be it a weekly meeting space, a shared workpalce kitchen, a mailing list, or an option to “friend” others online - the base medium exists for a social culture to emerge, evolve, self-enforce and self-define, in a very shirky way. You can affect the process in some ways, but once it truly picks up, it’s important to recognize that you are no longer in control. The culture is an autonomous organism.
This shouldn’t be too surprising, but sometimes I’m impressed (occaisioanlly: exasperated or awed) by how social patterns evolve, everywhere, again and again.
Some folks at Thoughtbot suggested that there are three classic types of coders: the warrior, the wizard and the rogue. Good breakdown, but something is clearly missing.
The Cleric

You’re here to keep everyone else alive. When a Wizard’s design blows up in his face, your patches quickly put him back together. When the gnarled codebase ensnares the Rogue, your refactoring gives her room to breathe. When there’s work to be done, your tools and scripts provide the key buffs for the Fighter. Whenever a teammate is flagging and fatigued, you jump in to heal an ailing project. You might not slay a dragon on your own, but you can make sure everyone gets out in one piece.
…Suffice to say, I often try to be the team’s Cleric. That’s not my only role - I’ve pulled off some Wizardly design and Fighter-esque precision - but I’m happiest when I can keep everyone on my team fighting on against the Infernal Bugs and Treacherous Deadlines.
(Image credit: link.)
I’m a fan of the local soccer team, the New England Revolution, and follow American soccer in general. At the moment, I’m not terribly happy with how the team has been treating its players in the off-season. Let me first share two comments from “Center Holds It”: link. (Read the post; I’ll be talking about similar stuff.)
Jeff: “The ‘Noonan situation,’ in particular, amounts to telling employees that this year’s Christmas bonus will be a punch to the kidneys. I mean, the guy finished fairly strong, he was pivotal in earning the Revolution their first-ever trophy (U.S. Open Cup) and, for this, he gets a $100K pay-cut?”
Martek (in the comments): “Can we really say that MLS has upheld their end of that bargain? It is with a real sense of foreboding that I, and you if I read your posts correctly, must conclude that the answer to that question is ‘No.’”
To summarize the problem: the tight-fisted financial behavior of the Revs has indeed kept their bottom line low, but also has disgruntled at least two of their starting players (Joseph and Twellman) and probably chased away several more (Noonan? Dorman?). Noonan’s situation is that his option was declined, was offered a drastically lower salary; Twellman received a generous transfer offer from the UK (which would have been a windfall for the team), but this was declined, presumably to avoid the cost of finding a new player to fill his role.
As a fan, I have various priorities about who should stay or go, but it’s most important that my team - the subject of my loyalty - to treat its players with respect. If they stay, I want them to be happy and motivated when wearing the badge; if they’d rather transfer, then I’ll thank them and hope they hit it big next time. (Clint Dempsey, after a stellar tour with the Revs, is making a name for himself with Fulham FC in England. I think that’s great, even as I miss having him as a starter.)
I’m not going to criticize Kraft (the Revs owner) for not spending more money, because that’s a silly criticism on its own. He has a reputation for thrift (even in the uber-profitable NFL), and thrift is vital for a pro soccer franchise to thrive. I’m not asking about money.
The problem is that I think that the franchise risks being “cheap” instead of “thrifty”. There’s a difference here. Thrift is a virtue; cleverness and foresight are used to avoid unnecessary expense, and focus investment on the best possible future investment. It is forward looking: you make your limited resources count in order to achieve the strongest outcome in your future.
To be “cheap”, however, is no virtue. In doing so, you’re specifically giving up foresight, and cannibalizing your existing resources in order to lower your current expenses. Cheapness looks towards getting by with lower quality (rather than making more of what quality you have); it seeks to retake what you’ve given to your partners (rather than being cautious in what you negotiate in the first place).
It can be “thrifty” to focus heavily on drafting and developing undiscovered, unproven American talent, as has been a core of Coach Nicol’s strategy. It would be “cheap” to pay your starting forward $220k in one year, and to offer him only half that after a strong season. (And isn’t this kind of cheapness just wasteful, in the end? All you’re doing is negotiating a clumsy, public sort of pink-slip.)
But some might say: isn’t this what negotiation is all about? Isn’t the ownership always going to fight, tooth and nail, against the solicitous players? Aren’t these players just getting stuck with contracts they chose to voluntarily sign? They should just suck up the consequences without whining, right? (I hear this in some quarters, even amongst loyal fans.)
The franchise could negotiate like this always, but should only do so if this is good for them in the long term; I fear this is not the case. The situation of modern American soccer affords much more bargaining leverage to the owners of the team, rather than the players. However: the modern American league still can attract underpriced native talent if young players feel trust that a team will be a stable place to grow, and a fair partner in their career development. (Martek refers to “hometown discounts” as an advantage in MLS.)
If the ownership is playing too much hardball, they’re giving up this potential advantage, and certainly salting the fields of future negotiation. (If a team killed a veteran player’s shot of a multi-million dollar payday, would you trust them with your long-term prospects? That’s exactly the charge at the feet of the Revs organization.)
Now, let me throw in some caveats: I don’t know the details of the negotiations that players went through. Perhaps the players who left the team did in fact get the best possible payoff. Perhaps there’s a larger strategy behind the scenes about the organization’s resources and its roster choices. Perhaps the challenge of keeping a pro-soccer team afloat is deeper than I anticipate, and this miserly attitude is necessary to stay alive. Still: I have no good justification for them killing the Twellman deal; it seems to be a lose-lose proposition, even taking into account the cost of reorganizing the post-Twellman team. There are possible answers, but I’m not yet convinced.
Cashflow might be a thin resource out there, but trust and reputation are also limited resources, and they too can be frittered away. Ultimately, the dynamic between ownership and talent will rebalance, and the deficits in trustworthiness will be revealed and corrected. In short: playing unfair is a losing game.
(And that follows for any venture, whether it’s a soccer team or a startup.)
LiveJournal was sold to a new owner, SUP, a few months ago. My feelings about this are a lot like those of Danah Boyd (link) but I wanted to try sharing them in my own words. (As you can see, I’ve been in no rush to chip in my two cents.)
I’m involved in many social networks (both explicit social networking sites, and sites that have implicit social connectivity going on) and with these networks, I have varying degrees of engagement. However, my connection with LJ is an intimate one. Social networks can be “neat”, “useful”, “fun”, but LJ is one where it most feels like I “live” on the internet.
In terms of features, it has mature power-user capabilities that matter: decent interfaces, good aggregation, and reasonable and customizable privacy filters. (Why are privacy features so undervalued?).
Beyond that, I find that LJ has been good at creating a kind of “landscape” to the social content. Each user’s Friends page - the center of the average user’s experience - becomes its own kind of territory, customized to the reader’s own network of friends and interests. It’s an emergent property of the way that LJ is meant to be used: moving series of textual content, over time, over context, brought to you by people you probably know in some fashion.
I have noticed that there are many sites (such as Vox) that could do much of what LJ currently does, often with extra snazziness added on. Nonetheless, I’m willing to see how the new ownership will keep evolving the site - as they must! - to keep LiveJournal positively growing. I’m willing to find a new home online, but I do like the one i have.
See my flickr set for the details: Ice Battle 2008.
Theory: as the internet and related technologies allow for increasingly rapid evolution/devolution of subcultures and memes, content that is reliant on context will tend to suffer. (If it requires time/clicks to figure out the context, it won’t spread as quickly)
However: content that is especially enhanced by a break with context - so, ironic internet humor - will grow uncontrollably.
This is indeed the occaisionablog, given the time between posts. So here’s what’s up now.
I’m continuing to work as part of the team behind Sconex.com and, more recently, SugarLoot.com. We were acquired a while back by a larger company, but we’re still keeping the startup pace. The LAMP stack is our in-house weapon of choice. PHP is not my favorite language (at all) but it definitely works, and you *can* make quality code if you’re paying attention. The scaling/performance challenges are neat.
SugarLoot.com is the relatively newer site - a social-network focused on contests and the related content. It’s been in development for over a year - and oy what a year. (Our old building caught fire, for one thing.) The core functionality has been getting solid, and I think the culture on the site started to get really solid with a very popular movie-related contest. Now is the fun part: continuing to make changes (some incremental, some necessarily radical) on a site with an active community and increasingly high traffic.
Much more importantly and earth-shakingly: I moved from Somerville to North Cambridge, and what can I say? I’m in walking distance from the world’s most important steakhouse, and the cafe nearby is always showing soccer up on its big plasma screen. Home sweet home.
“REST stands for REpresentational State Transfer, which is basically meaningless.” (Agile Development on Rails, p175)
Of the larger companies fueling the progress of Web2.0 technologies, Yahoo! is a major player. Besides their acquisition and support of the biggest technologies - Upcoming, Flickr, del.icio.us - they’re also giving back to the community in big ways, like the PHP and JavaScript Development Centers. Yahoo! is providing a positive model of how a growing company can support a global information-driven economy.
Also, Yahoo has helped the Chinese government find and arrest pro-democracy dissidents. Information drawn from recovered “Draft” email proved that the suspect was planning with a “Freedom and Democracy Party”. The conseqences for him will be very severe. (In all fairness: it’s a lot easier to look out at the politcal natures of other countries, rather than make a clear judgement call about our own societies.)
Could this have been done better? I’m not sure. Business operating in a foreign government need to operate by their rules to stay open, and it’s not clear that denying Chinese citizens access to technology would help anyone, even if this technology is under the sway of the government. There might not be an easy solution here, and I wouldn’t argue for one.
However, I would argue against any utopian technologist who would suggest that networks are some silver bullet for freedom and progress. They can help, or they can just as easily be co-opted by the status quo, and for this reason a good technologist should always keep a good reality check at her side.