• Testing your CHICKEN code using the test egg in anger

    Hello everybody and welcome back. In this article I’ll attempt to introduce you to the very excellent test egg, which is a great way to do your unit-testing in CHICKEN. It will start with a gentle introduction to unit testing in general, before we dive into the test egg itself. I’ll present you a few best practices, that will help you to benefit most from your test code. After I’ve outlined the bells and whistles that come with test, I’m going to introduce you to random testing on top of...
    Read more...

  • I did mis(s)behave Lessons learned from a failed project

    « It is in our failures, that we learn the most important lessons » It is really hard to admit that a project has failed. That’s probably why many projects are taken further and further even though they have failed a long time ago. One of my failed projects is a little scheme library called missbehave. I intended to provide a testing framework that could be used in TDD and especially in BDD. It was inspired and mostly designed after the really neat rspec-library. If you’re a ruby programmer and...
    Read more...

  • The pragmatic tar pit about undeliverable products

    In this post I’m going to talk about something, that has been on my mind for some time now, but I wasn’t yet able to express myself. I hope I succeed in doing so with this blog post. Let me start with this statement: "I'm sick of the pragmatism dogma" And I mean it. Let me clarify what I mean. When I speak of pragmatism I mean the attitude that is derived from the movement of the pragmatic programmers or rather what some people make of it. The basic ideas...
    Read more...

  • Pipes and Filters in Ruby syntactic affairs

    The problem I guess everybody has now heard of Symbol#to_proc and its applications. It makes your code a lot terser and also encourages a functional style of programming. I usually find myself facing the following situation. I have an object, like a collection, and want to apply a couple of transformations to it. This leans itself very much to a fold or inject in ruby parlance. However doing all the transformations in a block-argument for inject, just appears a bit cumbersome. So ruby allows the following: 1 puts %w(Alicia David...
    Read more...

  • Dynamic Attributes syntactic affairs

    This short article describes dynamic attributes for ruby. Lately I’ve had to do with code that showed a common pattern which I named dynamic attributes. The Problem Did you ever come across a situation where you had an instance-variable and wanted a way to temporarily change the value of that variable during the execution of a block and have then the original value restored? That is what dynamic attributes are for. How do others solve it? Scheme addresses this issue in two ways: fluid-let 1 2(define counter 0) 3(define (bump-counter!)...
    Read more...

  • Nomads Database migrations for CHICKEN

    Since I’m back to CHICKEN, I had the opportunity to have some time for hacking on it. I started to port, and hopefully finish up, the website for lisp-unleashed.de. Of course I couldn’t stand it and decided to implement the stuff I need with CHICKEN. There’s work to do In the very early stage I realized that CHICKEN was missing a feature that I learned to love, when I worked with other web-stacks like ‘'’Ruby on Rails’’’. They all provide some way to control your database-schema. Although you can easily...
    Read more...

  • Back to CHICKEN Let's see what has changed

    It’s been a while since I did any more serious programming with lisp. My day job and my family take much of my time. After a long day of hacking ruby at work, I didn’t find the motivation to start private projects. After reading Let over Lambda and Practical Common Lisp again, I again came to to the conclusion that I need to do some more hacking using my favorite language. I thought of projects and of course of the dialect to use. After I first thought about doing something...
    Read more...