reCAPTCHA - a confluence of solutions
September 03, 2009
One of the things I appreciate about good design is the way two complex problems can be solved more elegantly together than separately. A great example of this is "reCAPTCHA":http://www.recaptcha.net . It prevents bots from submitting forms _and_ helps "digitize books, newspapers, and old time radio shows" ... they've used crowd-sourcing to...
Using ActiveRecord Models in Rails' routes.rb
September 02, 2009
I broke the build today by using an ActiveRecord model in my routes file:
--- ruby
dynamic_paths = Model.all.map(&:path)
dynamic_paths.each do |path|
map.connect path, :controller => 'feed', :action => 'show', :format => 'xml'
end
---
I wouldn't have expected this to be a problem, and it worked immediately, so I went...
A Tale of Two Git Tags
August 26, 2009
Git's documentation is pretty lacking. I was looking for information about git's tags and found a fantastic explaination-by-demonstration at RockStarProgrammer.org (not sure how they got what should have been my domain.)
"Git Tag does wrong thing by default":http://www.rockstarprogrammer.org/post/2008/oct/16/git-tag-does-wrong-thing-default/...
Gem::Exception: can't activate , already activated x
August 05, 2009
I recently saw this exception:
** /config/../vendor/rails/railties/lib/rails/gem_dependency.rb:101:in `specification':Gem::Exception: can't activate , already activated *gem_name*
This exception seemed to be the result of several problems intermingling:
1. rake gems:install wouldn't work because the config.gem statements were in...
Award: Top 25 Web Developers for July 2009
August 02, 2009
I'll admit upfront that this is such a small compliment it may not be worth a post... but small compliments are still nice to receive. Thanks to all my clients for good feedback and interesting work.
!http://www.odesk.com/community/system/files/webdevelop_s.png!
I continue to think that, while being productive is important, frequent,...
Why I Love Using User Stories
July 14, 2009
A few days ago, someone on the business side of our project created a task in the system with a single sentence:
Add Flash to front page.
This requirement is, in many ways, the exact opposite of useful. Here are some concerns:
* What is the business value?
* What is the audience?
* What will it do?
* There is no predefined "done."
* How big...
Polymorphic Associations in Rails using xid ( ids unique across the system )
July 01, 2009
On a recent project, the tech-savvy client told me we would be using xids. These are different from regular IDs in that they are a unique identifier across the domain. So, if you create a user with the ID 1000, then you create a ticket, it would have the id 1001, and then when you created some other object, it would have the id 1002.
His...
[link] Anti-IF Campaign
June 18, 2009
"Anti-If Campaign":http://www.antiifcampaign.com/
"Avoid dangerous IFs and use Object Oriented Principles to build a code that is flexible, changeable and easily testable, and will get rid of a lot of headaches and weekends spent debugging!"
I don't necessarily agree that if statements are _dangerous_. Actually, having read what seems to be...