humour


15
Apr 09

How to sneak easter eggs past the pointy haired boss

I’m part of a small team that is developing a cool Java product. We’ve been afloat for more than a year and we’re doing better every month. We’ve grown quite a bit during this time. There used to be only one developer, then I joined the team and now we already have 4 devs.

Until now we’ve got away with most of the jokes we’ve pulled but we have matured over the period and we’re not the same young naive happy hackers anymore (right!). We still do like to throw a joke in every now and then.

We released a XML configuration file schema with our last product release and we had to pick a schema location for that. Remembering the Mozilla Ghostbusters reference we also had to reference something. And so we did.

But last week we got an email from our pointy haired boss. He had made a memo with 5 points about the documentation we have. The last point read: Why is there an alderaan in the namespace? It should be our product name!

I guess this marks a landmark in our small team, we’re not small anymore and we’ll have to figure out a way to keep the pointy haired occupied with something (Google Analytics usually does the trick). Luckily for us, we could still play the founder card, but later we may not be so lucky. What jokes have you managed to sneak by your boss and how did you hide them?

PS. We did not have to change our schema but it came quite close.


24
Mar 09

Where did my OOM go?

Editor: We have a guest appearance from a CDO of a Fortune 500 company (actually not Fortune 500, but yes, a development manager for 200 devs). The twist? He has a compiler installed and apparently an editor too.

The other day I was playing around with a tool for memory analysis and wrote a small snippet using which I would be able to test the new tool. Quickly (Editor: yeah right quickly) created the following and executed it:

import java.util.*;   
class Leak {  
  static List<Integer> list = new ArrayList<Integer>();  
  public static void main(String[] args) {  
    for (int i = 0; i >= 0 ;) {  
      list.add(i++);  
    }  
    System.out.println("I will either reach here or die trying (with OOM)");  
  }  
}

And what do you think I was displayed by my command prompt (editor: CDOs don't have a command prompt):

Option A:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
        at java.util.Arrays.copyOf(Arrays.java:2760)
        at java.util.Arrays.copyOf(Arrays.java:2734)
        at java.util.ArrayList.ensureCapacity(ArrayList.java:167)
        at java.util.ArrayList.add(ArrayList.java:351)
        at Leak.main(Leak.java:6)

Option B:

I will either reach here or die trying (with OOM)

Well, as I found out, it doesn’t print out anything. As this is now two years from my last real Java development experience (got demoted to C-level), I went to my hardcore Java hackers. For 10 minutes we all stood with bedazzled faces, before it struck – the memory will be allocated in a way that there is no room for new OutOfMemoryError() to be created.

If you execute the above with 64MB heapsize (which is the default heapsize):

C:\work\snippets\leak java -Xmx64m Leak
C:\work\snippets\leak

But if you increase (well actually modify) the heap size a bit:

C:\work\snippets\leak java -Xmx65m Leak
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
        at java.util.Arrays.copyOf(Arrays.java:2760)
        at java.util.Arrays.copyOf(Arrays.java:2734)
        at java.util.ArrayList.ensureCapacity(ArrayList.java:167)
        at java.util.ArrayList.add(ArrayList.java:351)
        at Leak.main(Leak.java:6)
C:\work\snippets\leak

Moral of the story? I definitely would not want to be fixing a production system dying like this (Editor: lucky you, you don't have to) – most likely I would be mad way before I could have grasped anything about the reasons …


10
Dec 08

IntelliJ build numbers vs version number

Visited the JetBrains booth at Devoxx and confirmed why their build numbers are 9xxx but the version of the product is 8.x. They ran out of build numbers :) This means there were 1000 numbered builds before a release.


10
Dec 08

Random observations from Devoxx 2008

Devoxx is an annual European Java conference with a total of 3200 attendees from 35 countries and again has been completely sold out. The place is packed. Lots of people, lots of movement and too little internet.

Second day at Devoxx and it is going well. I’ve attended three sessions so far, it is not so much me being lazy but more about being at the JavaRebel booth most of the time. Still I’ve seen many cool things here. Random ramblings will follow.

Monitoring toolsThe conference passes have embedded RFID chip and every movement (hopefully not) is being tracked. From the local paper I read that they will measure session popularity by how many attended the talks, how many left early and so on.

Don’t know if they’ll realease any of it to public (probably not) but it will be great input at least for the next devoxx. The information is said to be anonymous, although I would like to see if and which sessions did the speakers themselves visit.

I presume we are being monitored by these devices that are present on any entrance of the session halls.

Cool ScreensThe venue is just excellent, having the cinema as the location means that the seating at the sessions is excellent. You have even cup holders and room for popcorn:). The screens are huuuuge and they have added live video of the speaker to the screen.

Which application server is the most popular?

Which app server is evil?Besides Websphere being evil we see that Spring App Platform has now managed to get two users! Depending on the interpretation of the study I would say Tomcat is in the lead!

Tables to chill atSomething that I really like compared to all the other conferences I’ve attended this year are the tables with the power cords. You don’t have to worry about your laptop’s battery dying.

But! when compared to the other conferences where your battery actually died you were able to use the internet. Write emails, read news, hack on projects and all the other stuff until you ran out of juice. Here at certain times you have internet, most of the time you don’t. Even if you have it, some domains don’t resolve on certain occasions and it is dead slow if it works.

Is Bruce Willis working for IBM? Sure, he was in a movie Tears of the Sun.


7
Dec 08

15 days from WordPress installation to 1 comment SPAM

About 2 weeks ago I started the honeypot project to gather some WP SPAM comments. I setup an instance of WordPress 2.7 and made sure the new blog had some incoming links. It took around 2 weeks to get the first SPAM comment. The spammer comes from Sevilla, Spain. Hopefully it will pick up the pace now…