A slightly useful tip… If you have a test or two you’re working on that do not pass, but you still want autotest or rake to run and not freak out, change the method name of the tests in question. Simply prepend “dont_” (or any other word besides test) and they will be ignored.
Just In Time Registration
It’s great when your requirements as an application designer are subservient to the requirements of your users. A spot oft writ with conflict is user registration…
An approach we’ve been taking lately I call Just In Time Registration or JITR for short. (No, this does not stand for Jesus Is The Reason) When a site “has the JITR’s” (so to speak) it means that you can do a lot of stuff that other, non JITR’d sites, require you to sign-up for. We think this is great. It means that when you visit a site, you can start posting comments after providing ONLY a user name. At some other point in the user flow, say when the user wants to add someone to her network, perhaps a little more is required and requested, like an email or password.
The common practice of requiring an email AND requiring verification of that email before anything useful can happen is lame. Better to ask for the email, grant full access, but then take that access away if the email isn’t verified within a few days.
We think giving users what they want as quickly as possible will make them more loyal.
how unobtrusive javascript libraries work
An easy to understand, fascinating read on how a lot of the so-called unobtrusive javascript libraries work with different browsers. From the article:
The goal of unobtrusive JavaScript programming it to separate the JavaScript behavior from from the HTML content and is analogous to the goal of unobtrusive CSS design to separate the CSS presentation from the HTML content. Separation of presentation and content has been possible for years but there is one wrinkle standing in the way of completely separating the behavior. This article is about previously suggested techniques to enable this separation, their problems and a new option that combines the strengths of the current techniques with an extra bonus into a new robust solution.
Read more at Peter’s Blog
interactive music table
holy wow rad
http://youtube.com/watch?v=MPG-LYoW27E
Flickr adds meta tags
I’ve been developing a system similar to this. Now flickr is doing it. They’ve developed a great approach and are offering access via their API’s so developers can take advantage.
What are machien tags? From a flickr discussion:
Machine tags are tags that use a special syntax to define extra information about a tag.Machine tags have a namespace, a predicate and a value. The namespace defines a class or a facet that a tag belongs to (‘geo’, ‘flickr’, etc.) The predicate is name of the property for a namespace (‘latitude’, ‘user’, etc.) The value is, well, the value.
Like tags, there are no rules for machine tags beyond the syntax to specify the parts of a machine tag. For example, you could tag a photo with :
- flickr:user=straup
- flora:tree=coniferous
- medium:paint=oil
- geo:cartier=”plateau mont royal”
- geo:neighbourhood=geo:cartier
Flickr has already used machine tags, informally, on a couple of occasions :
- When we launched Maps, we provided a way for people who had “geotagged” their photos to import their location data. This was done using the “geo:lat=...” and “geo:lon=...” tags.
my first flash animation
moon lander in javascript
Simple yet fun fun fun
All written in javascript + prototype using the canvas tag (so only safari and firefox can see it sorry ie users!)
http://bennolan.com/articles/2007/01/24/moon-lander-using-the-canvas-tag
Proto-type with paper

An excellent method before you start using your computer at all. Break out the scissors, pens and paper and mock up a physical version of your application first. Touch it, feel it, use it, improve it.
iPhone not vapor-ware
Several times over the past week I’ve heard from folks (usually they are working at microsoft) that because the iPhone doesn’t come out for some months that it must be vapor-ware. I wasn’t sure myself since the demo site has only what appears to be a simulation of the software,.
Well here is some video showing the real product live and in action:
ruby snippet: smiplify calling a proc
Here is a little trick (among thousands) I picked up off #rubyonrails:
class Symbol # Turns the symbol into a simple proc, which is especially useful for enumerations. Examples: # # # The same as people.collect { |p| p.name } # people.collect(&:name) # # # The same as people.select { |p| p.manager? }.collect { |p| p.salary } # people.select(&:manager?).collect(&:salary) def to_proc Proc.new { |*args| args.shift.send(self, *args) } end end
smugmug is rad
SmugMug is a rad photo service which offer NO free accounts—its all paid. They’re profitable, have 19 employees and are earning over $10 million annually.
The key change is the complete re-writing of the photo viewing interface from HTML (with some Ajax components bolted on) to dynamic javascript. Clicking among pictures no longer requires a page refresh at all, speeding site navigation significantly and not bringing people back up to the top of the page after clicking on a new photo.
Some recent additions the site mentioned on Techcrunch include:
And like Yahoo Maps, SmugMug has gone through the painstaking process of updating URLs as people navigate the site. This is a problem that plagues Rich Internet Applications. Without a page refresh when navigating a Flash or Ajax application, the URL doesn’t update. SmugMug has solved that problem, even for Safari (which Yahoo still hasn’t solved). SmugMug has also moved user comments to the same page as the photo (saving a click), and moved most of the metadata and photo options from the display area into a fly-out drawer. The effect is to highlight the photo content, but not clutter the page with lots of data and links.
good multi-step ajax widget
A good example of how to use ajax and dhtml to simply a multi-step process. http://www.pcmemorystore.com/
cool dymanic timeline viewer
Showing the history of acquisitions among google, yahoo and microsoft.
http://www.shmula.com/blog/timelines/google-microsoft-yahoo/g-y-m.htm

Peter T. Brown is co-founder of Waggle Labs, an expert user of ruby on rails, and a passionate innovator of online social technology. He has over 10 years experience as an active developer of Internet technologies.
Shelly D. Farnham, Ph.D., is a co-founder of Waggle Labs, and a 