#Dev

  • The Duct Tape Programmer and Shipping *is* a Feature

    The always astute Joel Spolsky talking about the book Coders at Work. Zeroes in on a interview with Joel Zawinski and the avoidance of technical fancy-pantsedness. Love this quote from Zawinski when asked about his pet peeve for over-engineering:

    ‘Yeah,’ he says, ‘At the end of the day, ship the fucking thing! It’s great to rewrite your code and make it cleaner and by the third time it’ll actually be pretty. But that’s not the point—you’re not here to write code; you’re here to ship products.’
    

    Shipping is a feature. A 50%-good solution that people actually have solves more problems and survives longer than a 99% solution that nobody has because it’s in your lab where you’re endlessly polishing the damn thing.

  • Compiling Ruby, RubyGems, and Rails on Snow Leopard OSX 10.6

    If you’re upgrading to Snow Leopard this week, and a rubyist, you’ll need to sort out your dev environment again and the awesome HiveLogic has provided some great updated instructions (though I can’t tell if this works with 64bit MySQL as I know that was a gotcha for me last time I upgraded).

    Happy upgrading my geeky friends ! I will be doing the same as soon as I get to Oz (or slightly sooner if stuck in Honkers longer).

  • What Am I About to Merge with Git?

    Very handy little snippet from aaron longwell’s blog. I always have this happen to me on personal projects when I do something and then don’t get back to it from real work till a few weeks later.

    git co development # The destination branch
    git diff HEAD...topic-branch"</p>
    

    the magic there is the … In English, that symbol means show the difference between the common ancestor commit and HEAD…. in other words, only show what changes in the topic branch while it was distinct from the branch it’s being merged into.

  • Eric Ries on The Startup CTO

    I’m moving to another organization with a more entrepreneurial and startup orientation to activism. Been thinking a lot about how this will change my job focus and have been really impressed with Eric Ries and the five things he thinks startups CTOs need to focus on and his canonical, “The CTO’s primary job is to make sure the company’s technology strategy serves its business strategy.”

    • Platform selection and technical design
    • Seeing the big picture (in graphic detail)
    • Provide options
    • Find the 80/20 (understand the objective and then give it for 20% of the cost)
    • Grow technical leaders (and technical skills of the organization)
    • Own the development methodology (it decides what we can do and what we need to do)
  • mySociety Call for Proposals for Civic, Social and Democractic Tools

    mySociety , the force behind such excellent online pro-democracy tools in the UK as TheyWorkForYou and WhatDoTheyKnow are calling for proposals for the next amazing online tool they need to build.

    Got a great idea, but lack the development muscle to make it happen ? Here’s your chance to create something with clear social, civic or democratic value and make the UK a better place (and it needs it).

  • Lazy registration and engaging users

    Every hurdle a user has to hop through to get to the meat of what they’re trying to do on your site is another opportunity for them to opt out.

    Lazy registration, where you get the minimum possible (dead link to webjackalope) from your users and get more information form them as time goes on, is where it’s at (in fact, increasingly technologies like OpenID and OAuth might even make lazy registration redundant).

  • Great Memcached screencast on scaling Rails

    At some point all web applications and sites, if they’re popular, need to think about how to scale past their database bottleneck. All the big boys these days are using memcached, and with very good reason (even those not using Rails).

    Rails has fantastic support for memcached and this great screencast bad link from the guys at RailsEnvy goes over when and how you should use it in your app with some very good real life examples.

  • Whenever - Making cron easy for Rails

    I use rake tasks pretty much, well… everywhere in my Rails programs. They’re amazingly handy for automating things I want to keep track of, mailing things out to people regularly and just generally doing useful stuff.

    Firing them on a timer though usually involves going in and manually editing cron with the infamous crontab -e

    Hand-edited is no problem for me, but when distributing code it is a little annoying since you usually have to put instructions in for people to do it manually and its one of those things people always forget to do.

  • Mapumental your London neighbourhood

    I love the work the folks at MySociety are doing these days. Mapumental is a great bit of geekery allowing someone to figure out where they can live based on commute, housing prices and scenery. Check out the jaw-dropping demo below since the thing is still in private beta. I so wish they would have this for rental prices added in.