Interruption At Work Created A Mishap

INTERRUPTIONS AT WORK is a frequent occurrence but generally its not a big problem. This time however the unavoidable loss of focus on what you was doing before, gave an unpleasant surprise.

I was adding some new functionality and had just written the following:

switch (state) {
    case Step3:
        configuration.length = 10;
        break;
}

Next I added a line to specify the configuration data on index zero. With the intention of doing this for the remaining nine data indexes, I copy-pasted the first line and incremented the index.

switch (state) {
    case ConfigureTask:
        configuration.data[0] = 
        configuration.data[1] = 
        configuration.length = 10;
        break;
}

But this was at the exact moment a colleague asked a question. To figure out the answer I had to browse around in the same file I was just editing. Not finding the complete answer there, the hunt led on to opening a bunch of other files. Eventually the situation evolved to a discussion using a white-board.

Now, even though the above code is incomplete, it compiles to perfectly valid code!. What the above code does is to initialize configuration.data[0], configuration.data[1] and configuration.length to 10. Naturally this behavior was never the desired behavior for that code…

Later, returning to my workstation, I had completely forgotten about the unfinished implementation I worked on before. In my mind it was already done and I proceeded on other things that would eventually allow me to run some basic tests for the new implementations. The nature of the code is to delegate a state dependent number of black-box data to a task. The receiving task is found by peeking into the first byte of the black-box data (configuration.data[0]). Unfortunately ’10’ is a perfect match for the first task to be configured. So when unit-testing, at first everything seemed to be okay.

Later some strange behavior appeared, for which I could find no good reasons. Eventually I found the faulting situation in great dismay.

This kind of logic errors is the kind that can become extremely difficult to find, and I’ve learned my lesson: if leaving in the middle of writing some source code, be sure to quickly add some non-code that will not compile.

TheCamp 2009

THE-CAMP 2009 WAS the third time I’ve dedicated a week of my summer vacation at TheCamp.
As mentioned in previous posts (TheCamp 2008 and TheCamp 2007) its a week where nerds meet to have fun, eat lots of food, drink beers and hack with ones own projects at will. This year we were 50 participant of a wide variety. The youngest participant was an (circa) 14 year old gamer, the oldest participant was a lady of 73 years of age wanting to acquire some more Linux knowledge. This year the female participant count was raised to five – a pleasant trend.

As the previous years I came with so many projects to do, that I knew I would not finish them all. I’ve been wanting to learn functional programming for a while. My intention was to learn Falcon, but one other participants had a task of learning Haskell, while another was proficient in the language, so I joined in on Haskell. I only had time for a brief encounter, but I’ve ordered some books and can’t wait to seriously dive in. I had brought some work with me, where I managed to clean up some unit-test and functionality-test code. Linx have had my interest for a while now, and I managed to do a prototype porting, of a client-server application of mine, to use Linx for IPC instead. I wanted to try out Mono on a PowerPC evaulation board, but LTIB didn’t really want to run on my Debian unstable install, so I ended up playing around with OpenSuse 11 on a Sun Virtualbox 3.0.

Virtualization was in fact the “great big thing” in this years guest talks. Asbjørn Sloth Tønnesen held a talk about Xen, Niklas Q. Nielsen held a talk about OpenVz. A third person (Svenne Krap) gave a short informal introduction to KVM. Poul-Henning Kamp held a talk where he apposed the increasing use of virtualizing the hardware.

Generally there was many excellent talks this year (to many to describe in detail), but here is some details on a few:

Bo S. Sørensen held a very entertaining talk about Android. He gave an overview in the evolution of smart-phones, and introduced the available Android phones. During his 45 minute talk he demonstrated the Android development tools by creating an application that could extract where his fotos on his phone where taken (if equipped Android phones stores the GPS position as meta data for each photo), and show the positions on a google map. As a side note: working daily with embedded Linux, it was with much envy I saw how seamless and easy the development environment integrated with the actual hardware. It was impressing to see how easy one could switch from running or debugging directly on a phone or in a Android emulator.

Palle Raabjerg ranted (friendly) about keyboard layouts. He’s a bit fan of the Maltron ergonomic keyboards. Martin Toft spoke about his experiences with bug fixing Vim at Google Summer of Code 2007.
An then there was Thomas Bøgholm… The two public television stations DR1 and DR2 are experimenting with streaming all their broadcastings in Linux friendly high resolution streams. So Thomas records and stores everything streamed from those two channels. Some might think this a the work of a crazy man, but I think it is an awesome (and crazy) thing to do. He’s made some software for automating the procedures, and got the software released under FOSS friendly license.

A very special event was celebrating the 40’th year of the moon landing by having a midnight outdoor movie display of the Apollo 11 mission. One of the TheCamp participants had bought a book where the authors had done a lot of work piecing together two movies of the moon landing mission. The first movie was the last 30 minutes of the decent and landing on the moon, the second movie was an almost 2 hour movie of Niel Armstrong and Buzz Aldrin working the moon. I’ve only seen small clips from the first moon landing, and it was first when seeing these movies that I really got my eyes up for the amazing achievement that was performed 40 years ago. I was very much awe struck. The same could be said for a revisiting participant of American (U.S.A) origin. He was convinced that he had seen everything there was to be seen of the Apollo 11 mission, but this movie had quite a few bits and pieces that was new to him. He went strait to amazon and bought the book :-).

This year we also had a visit from a public television station that did a daily broadcasting from different summer arrangement around the country. They didn’t have the first (or n’th) clue about computers, so they mainly wanted to hear “IT-jokes” (they didn’t understand a single one of the jokes) and filmed the days special event of hardware-throwing.

So TheCamp proved again to be the highlight of the year. I’m definitely going next year ;-).

Copyright © All Rights Reserved · Green Hope Theme by Sivan & schiy · Proudly powered by WordPress