[rails] quickie script for killing ./script/server

When running webrick on rails apps, I run it daemonized. I finally got bored of manually finding and killing the process by finding it’s process id, so I made a quickie script for killing ./script/server.

I’m certain there’s better / more robust ways of doing this.

bugs and features

“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.

Coder Classes: The Cleric

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

dwarven_cleric_in_plate_armor.jpg

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.)

new favorite quote

“REST stands for REpresentational State Transfer, which is basically meaningless.” (Agile Development on Rails, p175)

The Old-World Underbelly of Web 2.0

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.

“Simply Google” – emphasis on the sarcastic use of quotes!

Google’s frontpage is often described as extremely elegant and simple; Don Norman suggests that “the truth about Google’s so-called simplicity” is simply deception and hiding of features, rather than actual simplicity and ease of use. Chris McEvoy tried to implement a vision of a simpler Google. Try it for yourself: Simply Google.

I’m afraid that this new attempt isn’t very “simple”, or more importantly, easy. The page dumps nearly every option of entire Google endeavor into a single consolidated page. I can appreciate how this is great for power users, and while it’s not aesthetically perfect, much of that could be aided by some prettifying of the layout. However, you can’t get away from the fact that there’s a row of over 20 buttons marked “Search”, and a flood of links at both sides. If anything, this UI feels hyperactive.
This experiment feels like a far cry from usability, so perhaps high usability is not identical to simplicity. If this was the first page someone saw, there’s a good odds that they just wouldn’t soak more time into the page. Usability is, roughly, making the page’s functionality flow naturally into the user’s expectation. I’m find myself agreeing with Don’t Make Me Think* principles, and I don’t think this site follows that standard of maximizing user flow.
In the comments, Chris agrees that this isn’t an end-state of usability:

Design-wise, it is at the other extreme from the ’simple’ official google homepage and shows that the most usable version is probably somewhere in-between the two.

And Google’s UI approach isn’t the end-all either (The idea of “home page googlization” seems like the case where everything looks like a nail for your GoogleHammer.) I’m skeptical that this flattening of all features is moving the page towards greater usability, but I look forward to seeing how these experiments progress, and what they come up with,

* See also: Don’t Make Me Think : A Common Sense Approach to Web Usability (2nd Edition)

Maxing out the buzzword-to-developer ratio

I went to the Boston Ruby Users Group last Tuesday, and had a good time of it. Andy Singleton discussed his experiences with trying to create cutting-edge enterprise level software with Rails.

In particular, he mentioned his need for a new kind of “designer”. As the discussion progressed, we seemed to suggested wanting someone who could:

  • put out sharp image comps of the design
  • put together modern CSS/HTML
  • understand enough of the programming language to be comfortable with it’s use in the template
  • implement AJAXish interfaces
  • strong aesthetic sense
  • superior understanding of user interface design

This is a rather herculean task, at least to fit into a single person. Andy suggested that there were “no more than 30” such persons in the world at large. But I certainly think that we’ll see more individuals and teams possessing this vital toolkit. Personally, I’m even considering making my next profession be as one of these mythic “web superdesigners”. I’m sure the demand is there, and can only be rising.

Blog Is Not Email

(Do you get the reference?)

As an addendum to my previous post regarding privacy and blogging, I realized that email is often a fine solution. If you’re writing one-to-many content, but only mean for it to be read by a select few friends, then what you might be seeking to recreate is simply email. And why not? Make a BCC-ish list of trusted people, and when you have personal thoughts to send, craft a letter and send it off. I know a few people who have moved from blog back to email, and with success. After all this Web stuff, it’s can be a surprisingly intimate medium.

(Interestingly, I’ve seen the reverse of this: people using one-person filters on Livejournal to contact individuals when they’ve lost the email addresses. Nothing easy is ever simple.)

A fool and his content are soon parted

I find myself writing posts like this periodically, but please remember: anything you post publically on the net will be found by the person you least want to read it. Every other week, as I check Technorati to see who’s talking about my company, I also discover employees or former employees talking about their relationship with the company. It’s often clear that this information was not meant to go public.

(Fun fact: at my last job interview, the CEO googled me as I was standing right there. Although I’d never posted anything damaging online, I also wasn’t sure what exactly would turn up. Lessons learned!)

The very definition of privacy is that the right to control which information you make public. If you’re willing to open yourself to transparency and criticism, definitely do so. (You’ll find yourself in good company! Many companies are making good-faith attempts at openness via blogging.) But make sure it’s your choice, and not that of a search engine. When you have personal information to share, always put it behind some kind of filter or security measure. If you’re blogging, the “Post Level” feature in WordPress seems to the trick, while LiveJournal has an excellent “filters” system built in (and this is why I use it for my personal journaling).