1. Thoughts on Collective Code Ownership

    Agile software development methodologies like Extreme Programming (XP) propagate collective code ownership: Every developer is allowed (and encouraged) to make changes wherever necessary. But is this really a realistic, useful approach?

    The theory sounds compelling: Everybody knows their way around the code base and can work on anything. Without module …

    read more
  2. Reverting a Commit in Subversion

    Once in a while, someone commits a revision that has to be rolled back later for some reason. Some teams do that as a matter of policy when people check in broken code that doesn't compile or isn't able to run all test cases successfully. Since Subversion (and similar revision …

    read more
  3. A Metadata Format For CSV Files

    Using CSV files in batch processing applications has many advantages, most prominently interoperability between programming languages and tools. One of its weaker points is data integrity though. The format has no way to declare data types or additional metadata other than assigning names to data fields using a header.

    The …

    read more
  4. Using ReStructured Text with WordPress

    Writing long documents in a browser input box isn't the most pleasant thing to do. The WordPress builtin editor makes things even more inconvenient by forcing you to write your articles in HTML. It would be pretty cool if you could edit articles in a simple, readable format using your …

    read more
  5. Ruby? Scala? Scheme!

    As a programmer you should learn a new programming language once in a while to keep yourself flexible and open to new ideas. After lots of Java coding at work, it was time for me to take a step back and try something new. There were quite a few languages …

    read more
  6. Getting Started With Existing Code

    Software developers often have to work with existing code bases, whether it's for joining an ongoing development effort or for maintenance work on a legacy application. Getting familiar with foreign code takes time and can be a frustrating experience. In this article I'm going to describe my strategies for getting …

    read more
  7. Moving a Linux System

    Recently, I decided to re-partition my hard disk because I needed a larger swap partition. In this article, I'll describe the process of backing up an existing system and restore it somewhere else. I haven't done anything like it in years, so I was up to some smaller surprises that …

    read more
  8. Using GridGain's Topology SPI

    On a GridGain cluster, you sometimes want to execute your jobs on only a subset of the nodes available: those nodes meeting a given condition. Let's say some nodes run an expensive piece of thirdparty software that is (fortunately) only needed for a couple of tasks. At another time, the …

    read more
  9. SSH Public Key Authentication

    A lot of people use SSH to log into remote hosts. SSH is secure and works well, but if you have to access many hosts with long, well-chosen passwords there is a lot of typing to do just for authentication.

    In this article I'll walk you through a basic public …

    read more

social