Not my day

I started the day playing some basketball, well wasn’t even so bad I even scored a couple of points. But then I got to work, and I am sure this list will grow:


  • at work I started of with cleaning up my cvs which got broken during a large refactoring session on friday, well what happened was that CVS luckily is foolproof. I was already crying and screaming that I deleted my own sourcecode and nobody to blame for but me.

  • my code still there, I go to work. First funky error turned out to be my effort at reducing NullpointerExceptions so in the middle of a while loop I wrote if(field==null) break; which was only supposed to stop this iteration, but that is not the way it works, I KNOW 🙂

  • next I am redesigning some more stuff, trying to be cool I use an ‘instance’ of if-else to test which kind of object is given to the constructor as parameter, only minutes later I notice that overloading would have done the trick

New Office

We finally moved to our new officebuilding. There’s a webcam on the Schlund & Partner homepage where you can see the new building.

Now I am in a nice quiet 🙂 two person office. We have internet access again and my telephone is also working. It’s a whole new work-experience after being in an office with 4 others for nearly four months.

It takes me about twice as long to get to the office: about 10 minutes with the bike (if I take my time and don’t hurry) and a stop at the bakery that is on my way. I also pass an pass a branch of my bank on the way and the complete route takes me only through streets with very little or no traffic at all till the one last crossing right across “Brauerstrasse” which is in front of the office building. There’s lots of green along the way and all in all a very nice way to get to work.

Java Tutorial

I made a tiny little sample project which is supposed to function as a small tutorial for java. A lot of the basic concepts are there I believe but this is very ‘ad hoc’ and in no way would I say it’s comprehensive or easily understandable. You need the programming basics to get it I think. Get yourself ‘ant’ at Apache Ant and get yourself the java API from sun, available for download there or at Java 2 Platform SE v1.3.1.

Download the tutorial file

Fricklers and honorifics

For several days I have wanted to add something to what Kasia wrote about classifying programmers. I believe every ‘programmer’ has encountered the ‘job-titlte’ problem.

1) Programmer has become a bit of a derogatory term around here. A programmer is someone who has to program exactly some kind of stupid/easy code that others tell him to program. He’s only implementing other’s designs.

Just the other day I had a conversation with someone who said when he heard I had a computer science degree and where I was working: “So you’re a programmer …” Of course he had no idea how offended I felt. Especially when he added some more of that talk ….

2) Software Engineer / Developer is what most people with a degree in the field are called around here. Where the difference between engineer and developer is not so big. They come in different colors too! Soon. A developer has more responsibility and earns a lot more money too 🙂

3) Hackers or ‘gurus’ are those who know so much about the stuff they are working with noone else can understand their code. Those are the people with ‘secure jobs’ … we have the other kind of hackers too mostly we have had a good laugh watching them jump up and down in our statistics without any effect whatsoever.

Usually I prefer to go with the developer …. it’s my official title and what I am doing. My mother usually tell’s people “she has a degree in computer science”, which is also true but says nothing about my job actually 🙂 My dad prefers the “she works for a large ISP” and when I talk to people in the same field who don’t know me so well I add the “developer in the unix department”.

Well but Kasia forgot to mention the fourth type:

4) Fricklers. Is not quite a type in itself. It’s more a style or better a non-style. To ‘frickle’ means to ‘hack’ but without the expertise to make it a real hack. ‘Frickled’ code is very prone to errors, usually written in a haste to finish up a project or some unpleasant part of it. Fricklers usually believe they are hackers, but their code belies them. It’s hard to explain, everyone around here uses the term to describe them because it’s easier.

Each of the other types can turn into a ‘frickler’ at any point where programmers are least likely to do so because they just don’t have the freedom to do so. Hackers can drift off into frickling easily. The ‘frickle’ developers are those that believe they have a great design which is basically a lot of wrong concepts put together. Those are hardest to spot because it’s not in the code but in the flawed design.

Syria’s UN council resolution

In the last few days you might have noticed how the Bush administration has started to threaten Syria. Now that Iraq ‘is finished’, the next ‘evil state’ is being targeted.

Of course the Arab world isn’t to happy about it as a bunch of articles on the web can tell you: Arabische Presseschau: “Diese Drohungen müssen aufhören!” – Politik – SPIEGEL ONLINE or Straw on the US threats against Syria and Iran

But Syria isn’t quite the same as Iraq. They introduced the plan for a UN resolution banning ‘weapons of mass destruction’ in the whole middle east which would put the US in a precarious situation since Israel possesses such weapons.

And I can only agree with Daily Kos: Syria countermoves, scores against US, basically he says the same I did yesterday while watching the news. In my opinion it is a very clever move by Syria which exposes the ‘doublethink’ that’s going on.

If the resolution is ever really made and reaches the security council – which I seriously doubt – it would force some important and probably historical decisions on the US. My believe is though, that it’s simply a very clever bluff by Syria to foil the allegations of owning weapons of mass destruction. I guess the outcome of this is still completely open, I just hope the changes are coming and that they are for the better.

‘Temp’-t(h)ing

Same project different class, without further commentary.

Vector results = new Vector();
while(set.next()){
    results.add(set.getNext());
}
Vector temp = new Vector();
for(int i=0;i++;results.size()){
     Object item = results.get(i);
     if(item fulfills something){
          temp.add(item);
     }
}
results.clear();
for(int i=0;i++;temp.size()){
    results.add(temp.get(i);
}

No I cannot resist.

while(true)

My project is doing fine currently, after my decision to throw away all code not written by me. I inherited the project I must add. Today I was taking the last bits of ‘foreign’ code to go through and see what functionality I am still missing. I encountered this here construct:

while(true){
    ....
    if(something){
        .... 
        break;
    }
    else {
        ....
        break;
    }
}

When I realized what was happening I wanted to cry and then laugh some. I am still not sure wether I should go kick the author somewhere it hurts. (The complete project was filled with such ‘jokes’ btw)

Same procedure as every project

Around the time I first thought I’d be finished with a project I usually get totally stuck. There’s normally at least one day that I start hating everything, I want to delete all files and quit the project. I have had this for every major project so far (not so many okay). Next I take a deep breath – usually this takes about one evening talking with someone about the code. Then I throw away the code and start from scratch.

Week 1: start project, estimate: 4-6 time weeks but knowing the 80% rule my official estimate is about 12 weeks mood very optimistic and enthusiastic
Week 2: Find out the project more compex than I thought during week 1, first problems come up, mood sinks
Week 3: Starting to produce weird designs, remembring my first estimate of 4 weeks, new estimate around double time, mood sinking still
Week 4: Turning in circles, I am losing it, mood sinks towards complete frustration
Week 5: Total panic, throw away code, laugh hysterically about my own estimate of 4-6 weeks, mood manic depressive
Week 6: Start from scratch, mood rises towards careful optimism again and I am glad my official estimate was 12 weeks
Week 7: New design coming along nicely, mood stabilizes
Week 8: Back at the point where the huge problems came up in week 4, it’s still not easy. Mood: kind of scared
Week 9: Breakthrough, all of a sudden I simply understand it. Mood: happiness
Week 10-12: Wrapping up, implementing small stuff, debugging, documentation. Project finished on time.

Even though I know it’s like that (scale up or down for large and small projects) around week 4/5 I still get freaked out. Maybe I’ll learn doing some more projects.

My other blog

I have started a second blog. But noone can read it so far because I made it password protected. It’s a diary for a new gaming character of mine. I am documenting character creation and her story there. I’ll publish the URL once we started playing that campaign. Aventurisches Tagebuch. Anyhow the thing is in German too so many people cannot read it anyhow. But since we game in German, yes I have heard of groups who use English instead of their native language, I wrote it in that language.

More week-end boredom

Do this Google-Suche: sonja pieper and the results are:

#1,#2: IPD Goos – cand. inform. Sonja Pieper – Studienarbeit an der Universität Karlsruhe
#3: Delusions Has Moved to http://www.newgods.org/~yashima – my old homepage containing a link that it moved to here
#4-6,#28: Re: writing a beanMapping: apache axis mailinglist archive, for a work project
#7,#8: The UA 2002-January Archive by Author: Unknown Armies, my campaign is on hold but ….
#9,#10,#30: [rrd-users] Re: cpu usage – rrdtool mailinglist for another work project
#11,#12: Blue Planet Forum – biohazard games blue planet mailing list, very old stuff.
#13,#14,#17,#40: Protokoll Fachschaftsrat – was a member of the student council during university years, from 1999, I also wrote some articles for the FS journal
#16: 1st Swedish – German KeY Workshop – one of my university jobs
#18: Cast of Player Characters hey a page on my website, the UA players list.
#19: MGG Forum Ehemalige my old school
#20,#58: Sonja Pieper” href=”http://www.pen-paper.net/rpgdb.php?op=showcreator&creatorid=8456″>Pen & Paper :: RPG Database > Sonja Pieper – I got credits for submitting stuff once
#21: delusions inside hey my homepage finally google got it
#22: Überschrift hierher – homepage of a former co-worker
#24: Rhee’s Guestbook a guestbook entry to the fantasy writers homepage which is nice btw
#33,#34: Wolfgang Ahrendt credits for programming work for my former boss
#41,#42: 3.11 Miscellaneous References – credits for some information about wheel of time symbolism
#55: Durlacher Allee Survival Guide mention on a friends homepage

I went through links #1-#200 that google got me and those above are references to things I did. It’s funny how fast google changes.