Category: Software Development

  • Naked Objects Talk in London this Thursday

    Dan Haywood will be coming to the ThoughtWorks London Office to talk about his new book Domain Driven Design using Naked Objects. I have been excited about the idea of NO for quite a while, though the actual implementations have been controversial. So I hope for interesting discussions. Here the details: Thursday December 10, 2009…

  • Programming Language du Jour

    Today whilst researching how to implement a proper brainfuck interpreter, I stumbled across Babbage. I would say it’s love at first sight.

  • Using Extension Methods

    I came up with the following extensions method in C#: public static class NeatExtensions{ public static bool In(this T element, params T[] elements){ return new HashSet(elements).Contains(element); } } It actually yields a nice syntax for checking enum values and the likes: enumValue.In(Enum.X, Enum.Z) I am wondering whether there is actually a de-factor standard library in…

  • Objects as Functions in Java

    Earlier this year I wrote a build tool in java. The core idea at the time was to express the build in terms of functions and function composition. This is not exactly a good fit with java. So last week I had some spare time and came up with this way of defining a function…

  • Fighting the Fifty-Method-Repository using Specifications

    Recently I have been working on a domain specific content management system, that, like most content management systems, lets the users filter information along several dimensions and even has a fancy full-text search. It sports a web-based UI that is implemented using an MVC-architecture. Essentially requests are being served by controller methods, that pull the…

  • Want to use a Mock?

    You are wrong! Well in most cases. It seems above the intellectual means of most agile developers (the non-agile developers don’t write tests) to realize that tests like the following are useless and even harmful. It is not giving me anything apart from test sclerosis. [Test] public void ShouldGetAllByauthorId() { //given var mockRepository = MockRepository.GenerateMock();…

  • Selenium

    A warning to myself, as I forgot over the last year and might forget again. Selenium is bloody slow. Selenium produces crappy error messages. Selenium sports a highly unintuitive vaguely documented api (at least it always takes ages to find the right docs on the web). Selenium is unreliable. Use WebDriver!

  • Seaside Event at the London Office this Monday

    If you are in London this Monday don’t miss out on our Seaside themed GeekNight at 7pm. Seaside is a truly revolutionary web framework implemented in smalltalk. We have Lukas Renggli representing the small but rapidly growing seaside and smalltalk open source community as well as Michel Bany of Cincom talking about his commercial experience…

  • CATting multiple files

    Quite often I want to pipe the content of multiple files into a command line utility. An example would be to count the lines of sql in my project. This is another case, where xargs comes in handy: find . -name “*.sql” | xargs cat | wc -l

  • Visualising log files with gnuplot

    I recently had the pleasure of supporting a new system throughout its first month of production. This was a good opportunity to refresh my command line skills. As it happened I spent a lot of time looking at log files trying to figure out what happened to the productions system. I figured, that a graphical…