#Dev

  • CouchDBX - CouchDB for OSX binaries

    If you happen to be looking at key-value stores and document databases for whatever little dev problem you have that might need to be looking at these, you’re probably like me and thinking you probably need to have a version of CouchDB on your trusty macbook to kick the tires on.

    So, thank plok’s CouchDBX revival for sorting you out. Nice implementation, you can even run it independently of an already existing macports installation on your system.

  • Understanding relational and key-value store databases

    While a title like Is the Relational Database Doomed? is obviously link-bait, this Read-Write Web article on the differences between relational databases and the current rapid rise of key-value pair data stores (particularly for distributed, rapidly scalable, multi-tenant web applications) is excellent.

    Obviously, relational databases (like MySQL, Oracle, DB2 etc.) aren’t going anywhere soon, but the use of key-value pair stores, as well as their recent resurgence with things like Amazon’s SimpleDB , Google’s Big Table , CouchDB and a host of others, and understanding where it might be a good idea to use them, makes this article a great primer if you’ve been wondering.

  • Bittorrent world connectivity map

    The fine buccaneers at The Pirate Bay have published an interactive map of people seeding and leeching torrents ~~bad link~~~ around the world with data by country (percentage users and connections through country at a given time).

    Great and fascinating snapshot of p2p activity globally. China is far and away the highest poller and well over 30% of world activity every time I’ve looked. Would be even cooler I think if you could divide this into seeders and leechers with these stats.

  • Git Status in Your Prompt

    This is great dev tip. The number of times I’ve accidentally cap deploy-ed something without checking I’d git committed everything is beyond counting, so this visual indicator on the command line is great - as well as telling you which branch you’re using:

    Git Status in Your Prompt

    (though I also use the excellent ProjectPlus Textmate plugin for scm status badges which I’d recommend if you’re using Textmate).

  • Prototyping for communication and innovation

    Really great article from the creator of Gmail on how important it is to be experimenting constantly with live code to drive innovation and how much more strongly is speaks than a fat PPT deck.

    Two great gems here, the first on time for unapproved ideas:

    The other point is that it’s important to make prototyping new ideas, especially bad ideas, as fast and easy as possible… This is also where Google’s “20% time” comes in – if you want innovation, it’s critical that people are able to work on ideas that are unapproved and generally thought to be stupid. The real value of “20%” is not the time, but rather the “license” it gives to work on things that “aren’t important”.

  • The new geek chic in publishing systems

    I’m noticing an interesting trend amongst geeks in the last year. A lot of them are rolling their own CMSs as a learning exercise and for their own personal sites. And most of them have a few things in common :

    1. They publish to static html or minimally, build static files and don’t have a database
    2. The source files are straight up text, markdown, textile or they’re using an editor like MarsEdit, Ecto or TextMate through XML-RPC to post
    3. It then deploys or rsync’s for them from a local copy (a la capistrano or rake)
    4. It’s all source code version controlled with rollbacks (a la git)
    5. Backups are a snap
    6. Portable (as in, copy or deploy files over to a new hoster)

    Now I can respect and totally understand this since, I do dev and have to admit before I put my migrated wordpress installation under git and capistrano deploy it would have been an utter pain to manage.

  • Deli.cio.us bookmark backups via shell

    I had one of those weird little sinking feelings this morning as I looked at my friends’ facebook feeds. One of my friends, AG had been keeping his bookmarking on magnolia, which apparently suffered a major outage today and took some of his precious bookmarking with him. When I checked at time of posting the service was still down and they say they’ve got data corruption and loss. Not good.

    Little uh-oh moment right then, realizing that I had no backups of my delicious bookmarks which, ever since Yahoo released the fantastic Firefox delicious add-on , I’ve been using in-the-cloud bookmarking exclusively. I was suddenly recalling someone’s Stallman-esque blog rant about how the cloud was all fine provided :

  • Scalr - Roll your own server farm on top of Amazon's Web Services

    I figured someone was going to do it before long, because I’d already thought this would make a great business (provided Amazon don’t just do it and eat your lunch):

    Put an easy to use console over Amazon’s Elastic Computer Cloud (EC2) and Simple Storage Services (S3) for people who don’t want to mess with infrastructure so you can focus on the dev side.

    So, Scalr’s web service is fundamentally a management, deployment and monitoring web console that sits on top of Amazon’s EC2, EBS and S3 services to let you roll your own automatically scalable server farm with failover via web interface at just $50/m over the Amazon charges.

  • Pushr for painless github deploys and notification

    If you’ve been keeping up with the blog, it’s probably not hard to figure out that I really, really like git and capistrano. They’ve made my development and deployment better and much less painful. I’ve also been using github quite a bit lately (as well as pondering here on the ranch how we need to redesign our set of development and deployment tools in order to gain some consistency over our php, java and rails development as well as make them as painless and easy as possible).

  • Rails MySQL gem and OSX 10.5 Leopard MySQL 64 bit compile flag

    I recently reinstalled mysql on my Macbook under OSX 10.5 Leopard and used the 64 bit MySQL (hey, Leopard is 64 bit! Why not?).

    Anyhow, when I went to using rails again, mongrel_rails start kept throwing a whine on the fact that the old mysql gem (2.7) was 32 bit.

    Found this after removing the old gem to get it working with 64 bit. Definitely not trivial to figure out: