What is Toluu?
Toluu is a free service for sharing the feeds you read and discovering new ones.
Get Invite

sneaq.net » droppin' knowledge ... electronically

Stomping on a human face for 30 seconds at a time


Rails Rumble '08: ReduxNovember 19

It's been a few weeks since Rob, Nic, Doug, and I competed in this year's RailsRumble - after the dust settled from the 48-hour competition we had created an app (Qflip) that went on to take 2nd place. From what I can remember, it was both fun and stressful - check out the Flickr photos for proof.

Doug shared his take from the event on the Viget Inspire blog and described a technique that I think shows a lot of promise for design and development teams working together:

Do you know what all the pages do? How they're structured, and what they communicate? Great, now build them. Using just markup and some gray backgrounds, you can make a working version of your site in no time flat.

I documented my experience over at Extend and reinforced the importance of "shipping":

...Our codes were far from perfect, but we realized that the real value was in getting a product out there that could be used in the way it was intended by a real audience. As a result we now have

Gems. Simple.November 2

I've written a few Ruby Gems in my time, it's true. In my experience it's always been a bit of a painful process - I could never come to grips with all the dependencies that hoe introduced and I always ended up reconfiguring things after running newgem --simple. So... I decided to write my own little gem that generates, well, gems.

Getting It

This should be all you need:

$ sudo gem install reagent-simple-gem --source http://gems.github.com

If that doesn't work, take a look at the README out on GitHub

Using It

Ready? Go.

$ simple-gem my-gem

Now you have a skeleton:

my-gem/ |-- README.markdown |-- Rakefile |-- lib | |-- my_gem | | `-- version.rb | `-- my_gem.rb `-- test `-- my_gem_test.rb

Write your codes, test them, and release:

$ cd my-gem $ rake github $ git add && git commit -m "Perfection." $ git push origin master

There's more to it, but that's the basic idea. Check out the docs for more information and send me your feedback

Salt on a SlugOctober 26

Here's a quick way to generate slugs to use as part of a URL for things like posts, categories, etc...

class String def sluggify slug = self.downcase.gsub(/[^0-9a-z_ -]/i, '') slug = slug.gsub(/\s+/, '-') slug end end class NilClass def sluggify '' end end

Here's what it looks like in action:

$ irb >> 'This is a post'.sluggify => "this-is-a-post" >> nil.sluggify => ""
Developing a Product Sometimes Means Removing FeaturesOctober 11

As part of my daily job, we're constantly balancing business value with level of effort when planning which features to include in an upcoming iteration. After reviewing an iteration's work with a client, follow-on conversations usually revolve around adding new features to the product. I was glad to see that Digg sometimes has a different approach:

In the next week or so, we’ll be closing down the podcasts section and folding it into the video section of Digg. We’ll also be retiring the old Digg Spy. Both of these features have become outmoded as Digg has grown and as a result they have a very small number of users (under 1,000) each.

I think that the key to this sort of activity is having a clear reason to remove a feature. In Digg's case, they were keeping an eye on their metrics and were able to justify the removal of both features based on quantifiable evidence.

In the early stages of development, it's not always an option to remove a feature. The best way to make this happen is to launch early and often and let your users decide which features are valuable and which ones aren't.

SimpleOctober 6

2 ways:

$ alias irb='irb --prompt simple' $ echo "IRB.conf[:PROMPT_MODE] = :SIMPLE" >> ~/.irbrc