Jamu Kakar's blog

  1. Deleting merged branches with Git

    Wed 18 July 2012

    My friend and colleague at Fluidinfo, Manuel CerĂ³n, gave me this script that he wrote to remove merged branches from local and remote Git repositories. Removing branches after merging is one of those fairly painless housekeeping tasks that doesn't create a great deal of friction, which makes it easy ...

  2. A Fluidinfo concept map

    Sun 15 April 2012

    It's been a long while since I posted and a lot has happened! A litte more than a year ago I left Canonical and joined Fluidinfo. Fluidinfo is a shared openly-writable metadata storage platform, often referred to as a social network for data. There's a lot to say ...

  3. An EC2 API concept map

    Fri 24 December 2010

    Earlier this year I was working with Canonical's design team. We were putting our heads together to develop a fantastic cloud user experience in Landscape. I created a concept map to help clarify the various artefacts involved in the EC2 API. It's not entirely complete, but it does ...

  4. Beautiful emacs configuration

    Sun 03 October 2010

    UPDATE I've moved my emacs configuration to GitHub.

    Some time ago during a sprint, I noticed that Free Ekanayaka, one of my Landscape teammates, had excellent pyflakes/flymake integration that dramatically improved the experience of editing Python files in emacs. When I asked him about it he kindly offered ...

  5. My work at Canonical

    Mon 27 September 2010

    A number of folks at Canonical have been writing about what we do and how our work contributes to the goal of getting free software into the mainstream. Canonical and Ubuntu have brought free software to the general public in a way that hasn't been done before, in a ...

  6. Storm 0.17 is out in the world!

    Fri 06 August 2010

    Yesterday I released version 0.17 of Storm. This release fixes a checkpointing bug that could cause coherency issues in certain situations involving triggers. It introduces a handful of new features and optimizations including the ability to get a Select expression from a ResultSet, which is useful when building a ...

  7. Discovering the EC2 API

    Mon 05 July 2010

    I've been using the EC2 API quite a lot lately, while working on the Landscape project. The API documentation is excellent, but I want to know how it behaves when things go wrong. What kind of failure is produced when I forget to pass a parameter? What happens when ...

  8. Object collections in Storm

    Sun 13 June 2010

    In Storm, the Store.find method runs a query and returns matching objects. Finding all accounts in the database, the equivalent of SELECT * FROM account, is simple:

    result = store.find(Account)

    Clauses to limit the scope of the query can be passed to find. Finding all accounts owned by Vince ...

  9. Introducing Commandant

    Sat 12 June 2010

    I've been meaning to write about Commandant for ages. I started it last year because I wanted to write command driven applications with a user experience just like Bazaar. There are several things that I like about Bazaar's user interface:

    • You only have to know that the program ...
  10. Using SQL functions with Storm

    Thu 08 April 2010

    People ask me questions about Storm several times a week, and I'm happy to help where I can, but it would be better if the information our users need was easier to find. Our documentation story is weak and, as a result, Storm is harder to discover than it ...

continue   →