Balance Programming

  • A brief history of Agile

    To deal with endless change the industry seems to have settled on Agile software development. However the original definition of Agile coming from the Agile Manifesto in 2001 hasn’t really survived. All these techniques call themselves agile but often it’s just a popular label rather than something deeper. Dealing with change is not new and…

  • Is source control overworked?

    I hope all of you out there are using source control. I’ve used a bunch of different systems over the years, most recently git. Any sort of source control is a massive step up from none at all. It means you: Does anyone else think that’s quite a lot for one system? Are all of…

  • Maxims of comments?

    Several years ago Tom Scott made a video, The Hidden Rules of Conversation, which introduced me to the cooperative principle. They are the conventions that are generally followed by everyone in order to communicate effectively. I wonder if they can tell us anything about writing comments? Grice’s maxims Paul Grice was writing about the gap…

  • Mermaid diagrams

    Famously an picture is worth a thousand words. That may or may not be true but a diagram can definitely help explain something. There’s plenty of software and online tools to help with this but, in my experience, making a diagram can still take a lot of time. It’s good to do but if you…

  • Functional Programming in C++

    I remember functional programming being a niche aspect of computing science. Software engineering didn’t consider it at all. Now you can find discussion and books about using it in any major programming language. I read Functional Programming in C# but, to me, this oversold the technique while it lacking practical advice for day to day…

  • Forever change

    Let’s start with a few updates about the blogs. I’m going to be busier in the coming weeks so, for now, posts will only be once a week. It might be possible to go back to twice a week once things have settled down. We’ll have to see. If you’ve been reading from the start…

  • In what order

    I came across the Odin language recently. I’ve not done any detailed research yet but I came across a new keyword and it got me thinking. defer The defer keyword goes in front of any statement and delays the execution of that statement until the end of the current scope. A possible use case is…

  • Rust

    I heard about Rust’s unusual approach to memory management and thought have a look. Programming Rust from O’Reilly is chunky at about 700 pages and has taken a while to get through but does seem to cover all the bases. I’ve not gone as far as coding in this language so this will just be…

  • Dream debugging

    At the weekend I watched a Tomorrow Corporation Tech Demo, that’s the games company that developed World of Goo and Little Inferno. They show off some tools to help development and debugging. Nice development tools but an amazing debugging tool and I want it. The basics It has the basics you’d expect from an integrated…

  • Learning from… jigsaws

    Since starting this blog it has made me think about regular activities and wonder if they can teach me any lessons for writing better software. In the last couple of years jigsaws have gone from not on being my radar to a fairly regular thing. I often pick colourful, geometric or architectural one. Although there’s…