Helga

After first programming fun with an Amiga 500 around the age of 14 Helga has chosen to be educated as an architect - a "real" one dealing with the built environment. Trying to keep up an all-round approach she worked as an artist, engineer and researcher before returning to the wonderful world of software when joining conject as a developer.

If you are a real developer you most likely have already been in a situation, where a group was welcomed with the phrase hey guys – on IRC, mailing lists or even in personal talk. Some of you might share the experience to not feel being addressed by this salutation. This situations leave me personally a little angry, because I don’t like to be ignored. As I am a calm and non-aggressive person my usual reaction is to just ignore the speaker as well and to behave as if the salutation didn’t take place (as if nobody talked to me). Unfortunately this way most people won’t notice they did something wrong, because they really aren’t aware of the exclusive nature of their language. >> more…

This question was raised and discussed at stackoverflow recently. Having used Grails for the sixbee project I shared our experiences compared to standard J2EE application development, especially to the subquestion:

Does it really confer rapid development benefits?

Definitely, it does. Even if the scaffolding path is left early and conventions are overriden to the own needs, the start-up period is very short, as we don’t have to care for many different technologies. That kind of lightweightness makes us work not only faster, but also more precise and clean. >> more…

workstyle - one person : three screens workstyle - one screen : three persons

Do you love to be surrounded by as much and good as possible technical equipment or do you prefer to sit in a group of at least three peers discussing a detail no matter how small the screen is? And what do you like about your favourite setting? In our team both work modes coexist peacefully completing each other and also the happy medium (2:2) can be observed sometimes – and of course also the small screens are of high quality.

Did you ever want to use builders in your grails taglib and wondered why the approach mentioned in the grails documentation doesn’t work at all? Here is what I found out after a lot of trial and error and digging in the MarkupBuilder, BuilderSupport and GroovyPagTagBody sources. Let’s stick with the example from the documentation and correct it until it works (the impatient can scroll down):

  1. def dialog = { attrs, body ->
  2.   def markup = new groovy.xml.MarkupBuilder(out)
  3.   markup {
  4.     div(‘class’: ‘dialog’) {
  5.       body()
  6. } } }

>> more…

About a month ago we relaunched this blog with fresh colors and a crispy new layout. On the left you can see a reminder to the old green and grey theme as it was before. Its seriousness and tediousness didn’t seem to perfectly match our attitude (allthough we are of course serious after all). Some evenings of moving around pixels and poking around in php templates (enough is enough now) finally produced this colorful spring theme.
Enjoy!

Today is the 2nd Ada-Lovelace-Day, an “international day of blogging to celebrate the achievements of women in technology and science”. This initiative originating in the UK encourages people to write about tech women whom they admire, who impressed them and who are heroines to them. I also pledged myself to write something, because womens achievements are often overlooked, disregarded or even disrated and therefor its a duty to me to spread the word.

There are plenty of stories to tell, so it was not easy to choose which one to write about. There are for instance the girls I work with, who are inspiring, amusing and fun to work with every day. They earn my respect, but instead of glorifying my colleagues (you can meet them in this blog btw) I want to take my hat off to three of the great ladies out there, each one totally different from the other. >> more…

We use Apache POI to export lists of drawing deliveries to excel files. To overcome the limitation of 65.535 rows per file with xls (Excel 97) we introduced xlsx (Excel 2007) support which allows for up to 1.048.575 rows. In addition to the increased amount of data which has to be handled, we encountered increased memory consumption by XMLBeans which is used by POI for creation of the xlsx document tree. The bigger memory footprint of xssf compared to hssf model is a well-known problem. In POI 3.5 there was an example included demonstrating a workaround for big tables: BigGridDemo.java >> more…

Recently there was a public voting for Barbies next career. I didn’t grow up with that kind of toys, but obviously there are editions showing the Barbie doll in different professional roles. Today Mattel (the Barbie producer company) announced Barbies next two careers. There were four options: environmentalist, surgeon, news anchor and computer engineer. They did two surveys, one among girls and another public voting. While the girls have choosen news anchor as the preferred profession for their dolls, the public clearly voted for computer engineer. I must admit, I also did my best. Now we should be prepared for a new generation of girls, who know they can do it. I was impressed to read in the factsheet that they actually asked IT professionals what a computer engineer might wear. Although I personally disagree with the choosen colours and the pants, I think it’s a nice thing if girls around the world ask their teachers and parents about the meaning of that numbers on her shirt.

There are more pleasurable things then wading through the fitnesse documentation with its table style, so whenever I don’t remember some fitnesse key word, I’d rather hesitate and wait for an inspiration before going there. This is to memorize the key words to be used in do fixtures.

  • show to print out non-boolean values
  • check to verify non-boolean values
  • reject to invert the logic of the test

Usage like this: >> more…

Recently there was an opportunity to remember the right way to handle closure of streams.

  1. private void someMethod(final File input) throws IOException {
  2.   final InputStream inputStream = new FileInputStream(input);
  3.   try {
  4.     // do something with inputStream which could throw an Exception
  5.   }
  6.   finally {
  7.     inputStream.close();
  8.   }
  9. }

If we wouldn’t want the method to throw exceptions we needed to nest another try/catch block inside the finally, as also the InputStrem.close method can throw an IOException. But this should only happen in really bad cases, when closing definitely fails, so it might be a very bad idea to simply swallow it. Moreover it complicates the code especially when handling more then one stream. >> more…

Older Posts »