Archive for the 'Uncategorized' Category

Pledge 3 Percent for Rails 3

Saturday, April 10th, 2010

Has Ruby on Rails been good to you? Has the framework helped you get a job or start your consulting career? If so, I challenge you to give 3 percent of your time for Rails 3 over the next few months. If you work 40 hours a week, 3 percent amounts to less than 5 hours a month! Could you donate half a Saturday a month to the framework that figuratively puts money in your bank account? I can, and that’s why I’m pledging three percent for Rails 3 over the next few months.

The Bugmashes have been great, but there’s still more to be done. The core team is dedicated and smart, but they can’t do it all. As of the time of this post, there are 1199 open tickets in Lighthouse, 898 open bugs, and 301 open patches. Oh yeah, and by the way, Rails has been basically overhauled and re-architected in its entirety (You might want to kick the tires a bit).

Stop whining about bundler. Stop complaining about the new routing DSL. Instead of taking the time to talk about everything that’s going wrong, put in the time to make it right. Here’s why you should pledge your three percent today:

It Makes a Better Framework

How confident are you in a framework that has 1199 open issues that aren’t going away? How much better would the framework be if developers like Jose, Wycats, and Koz were freed up to focus on the bigger picture? If you use Rails on a daily basis, your unique perspective matters, and you can help with the burden of all of these open issues.

It Makes a Better Community

Negativity is contagious. You can sit on the sidelines and complain about what’s coming, or you can get in the game and help make things happen. What stinks is that if there’s an obnoxious crowd heckling the players on the field, newcomers will be less inclined to jump in. Positivity can be a virus in the same way. If you truly love what you do and you’re grateful, exhibiting that makes the community as a whole better and it attracts newcomers to the project.

It Makes You a Better, More Marketable Developer

Knowing the internals of the framework you use on a day to day basis definitely makes you a better developer. There is no magic behind Rails, just smart design and Ruby. Consider pair programming with someone more experienced than you and how that impacts your performance. Now, imagine working with the leaders of the community on core functionality and how that can improve your skills.

Consider the benefits from a professional perspective as well. Do you think being a core contributor differentiates you in a hiring decision? If you’re a freelancer, does that provide you with something marketable over those still on the sidelines?

Get in the game. Pledge your 3 percent today and give back.

Five Things You Can Do Today to Make Your App Ready For Ruby on Rails 3

Thursday, February 4th, 2010

Rails 3 is coming!

I’ve been doing a lot of thinking about how I can help clients get in a better position to upgrade to Rails 3 when it’s ready for prime time. There’s a few things you can do today with your 2.3.x application to give it more Rails 3 flava. Yeah boy!!!

Use Bundler instead of config.gem

Yehuda Katz has done a good job replacing config.gem with a more platform agnostic utility called Bundler. The API has changed around a bit with the latest 0.9 release, but he supplies a decent guide. For details on what’s changed since that writeup, check out this post from Yehuda

Use inherited_resources to get respond_with

respond_with will be a nice shortcut in Rails 3 for the rendering end of RESTful controller actions. Jose Valim’s inherited_resources actually gives you respond_with and respond_to methods for Rails 2.3.x applications. No more repetitive and un-DRY respond_to blocks

Use rails_xss

Unsafe strings will automatically be escaped by default in Rails 3. If you want this behavior in 2.3.x, all you have to do is install Koz’s rails_xss. It is surprisingly hard to break out of the habit of using h() calls in your markup, though! Additionally, be wary that you might have to hack some of your view related plugins to get them working with rails_xss.

Use More Named Scopes

Fortunately, ActiveRecord find() calls will soon be unfound in Rails applications. Pratik has done some really cool stuff with active_record. These changes are all pretty significant, but perhaps the largest deal is that the find() method and its relatives will be deprecated come Rails 3.1. One thing that is remaining a fairly consistent part of the API is named_scopes (despite a name change).

Developers should be encouraged to use named_scopes and association chains even more aggressively, now. It will certainly be easier to refactor a few named scopes around than it would be to refactor scattered find() calls all over your libraries. You should be doing this anyway, because it definitely helps with improving code and test quality

An excellent gem that can help you with this is Ben Johnson’s searchlogic. It gives you a bunch of very useful, canned scopes.

Replace references to RAILS_ENV, RAILS_ROOT, and RAILS_DEFAULT_LOGGER

Thankfully, these ugly constants have no place in a Rails 3 application. There are now methods to access these properties as part of the Rails module. So, for example, you would use Rails.env instead of RAILS_ENV

Nick Quaranto actually just wrote a solid article with the details on the Rails module.

Five Lessons Learned from the TechStars Boston Information Session

Wednesday, December 2nd, 2009

TechStars held a very enlightening information session at Andala Cafe this morning. Shawn Broderick did an excellent job conveying what TechStars is all about and what a TechStars startup looks like. Some other people involved with TechStars provided insight as well.

While I didn’t take notes directly (standing room only), here are a few, quick takeaways I gathered. I think these thoughts go beyond TechStars and really speak towards general entrepreneurship.

It’s about the team first, and the product second

Great ideas without a team to execute on it is about as useful as a car without an engine. Find enthusiastic, passionate people you like working with – you’re going to be spending a lot of time together. Refine the idea together. I’ve heard this quite a bit – investors weigh the team’s capability and dynamic heavily, perhaps even more than the product idea.

It’s common for the product’s vision to change

It’s common for the idea of your product to morph into something different. Perhaps the distribution channel won’t work, or the revenue model needs to be tweaked. Embrace these changes as your product matures and you learn more about your audience and yourselves.

Moonlighters need not apply

The expectation is that you’ll be dedicated to the business and present in the program. If you’re thinking you can work on this in your “free time”, you should have a lot of it! Just like split focus hinders daily productivity, split career focus can definitely hinder the progress of your business. In fact, most TechStars companies had prototypes or initial funding prior to entering the program.

Being a solo founder is difficult

It’s hard to do it alone, and TechStars recognizes that. If you’re a solo founder and you want to apply, recognize the problem and identify the resources you need to make your business a success. Seek those resources out actively. Personally, it was a clear message that I need to make connections with more entrepreneurs.

Apply or Start It Up anyway

Shawn said something really great towards the end of it. I’m paraphrasing, but he basically said the only thing definite is that if you don’t apply, you won’t get in. Don’t talk yourself out of applying – take the time to do it and see what happens. Even if you don’t get in, at least it was a good exercise in thinking about your business.

Even if your business fails, you’ll become a stronger and more experienced entrepreneur in result. Personally, I believe the largest asset of being a TechStars company is the access to those that have tried, failed, and succeeded in traveling on the roads you’re approaching.

TripTracker Alpha Launch – Track Your Business Mileage

Tuesday, August 25th, 2009

The 2009 Rails Rumble was a huge event! I submitted a solo project this year for the 48 hour contest.

TripTracker was born. Small Business Owners: Did you know that the IRS will credit your taxes $0.55 for every mile you travel for business purposes?

As a small business owner myself, I realized how much I’ve missed in tax deductions by not recording these trips. It was just too much of a hassle. Now, with TripTracker, it’s a snap! I enter a few saved locations, and it does all the dirty work of calculating the driving distance for me. Now, I can just let TripTracker tell me how much I should deduct on my taxes.

Check it out! I hope you find it useful. Also, be sure check out the rest of the rumble applications – there were some fantastic submissions this year!

Friday’s Software Enlightenment #2: Product Management Edition

Friday, July 31st, 2009
  • Bezos on Business and Zappos – A MUST WATCH – this was perhaps the highlight of my week courtesy of The Ted. I think Jeff really nails it on what makes businesses so successful today: you must obsess over your customers. I just found the talk really inspiring and informative. Take the 8 minutes to watch and learn from one of the best entrepreneurs of our time.
  • IShowU.app – This looks like great screencasting software. Screencasts are an effective way to show your users what they can do with your application. They’re also becoming quite popular learning tools for developers.
  • DHH Talks to FLOSS – David Heinemeier Hansson talks on a popular and well-produced podcast on how he got into development. He talks a lot about development mentalities and the need for establishing conventions. While I don’t always agree with David, I related to him in a lot of ways specifically around his business motivations overpowering his development aspirations. I found it really interesting.
  • UserTesting.com – I’ve been waiting for something like this for a very long while. Affordable, simple and effective usability testing really is just about observing user behaviors and listening to what they’re saying as they navigate. I haven’t tried this service yet, but I plan to do so in the near future.