Sunday, 11 April 2010

My dearest friend

Milou, 17 Nov 1997 - 30 March 2010

Tuesday, 26 January 2010

JFokus 2010 day One

This is the first time I visit the JFokus Java developer conference which takes place at the Filmstaden Sergel cinema in Stockholm. It is arranged by the Javaforum Java User Group (JUG).

The first day, the tutorial day, is over and for me it ment learning about the Kanban agile method presented by Henrik Kniberg from Crisp. Hat off for Henrik and his presentation skills. Having experienced Scrum first hand for a couple of years now, I know it is not easy to implement. Kanban brings principles that could aid where I have experienced problems implementing Scrum in the passed. Time will tell if I will get to experience Kanban first hand or not.

The other thing I learned today was Enterprise Integration Patterns (EIP) using Apache Camel and Spring Integration. Initially this spot would contain Bruce Snyder but since he could not make it Torbjörn Stavenek took his spot. So I guess I learned less about Apache Camel and more about Spring Integration than I would have if Bruce had been there.

Wading through a river of enterprise integration patterns is quite boring which I guess is why I heard snoring in the middle of the presentation. Maybe the presenter should have scheduled more breaks during the heavy portions of the presentation to fight off the sleepiness of the attenders. Once again, hat off for Henrik Kniberg who scheduled Pomodoro breaks during the whole Kanban presentation to fight sleepiness. Despite this I had some close calls.

The most interesting thing in the EIP presentation was not the demos Torbjörn showed us but the real world example that he had been involved in developing and the experiences he had from that.

Tomorrow is the conference day and it will be a full one.

Tuesday, 4 August 2009

Continuous Integration made easy

Today I had the opportunity to try out JetBrains continuous integration engine TeamCity 4.5.4, something I have been curious about for some time now. So I have this big project in a Perforce repository which I wanted to set up.

Getting TeamCity to run as a standalone application under Ubuntu in a VirtualBox was easy, all it needed was to have a JAVA_HOME set up before starting it up using the runAll command. Configuring was also quite straight forward and I could map up a Perforce client specification in the web application directly. The project to build uses an Ant script which also was straight forward to set up.

When I tried to build the project I thought something was wrong because it seemed to freeze when trying to sync out the repository. I soon realized that TeamCity uses the Perforce p4 command in a different way than I am used to which takes considerably longer time to sync than I am used to. Having realized that, I let it go about doing its thing and it built right away.

Well, not entirely true. However, I can not blame JetBrains for the poorly designed build scripts with environmental dependecies I fed to TeamCity. When I finally got the build script to build it worked like a charm.

I am not the kind of guy that is easily impressed by user interfaces but TeamCity really rocks. Their usage if Ajax makes the application interact in a way that almost gives the feeling of a desktop application. A soon as you have made a change in some configuration, a save button pops up at the bottom of the browser window informing you that you have unsaved changes. Another thing that really makes it rock is the feedback you get during a build. Not only can you see how long it has been working and how long it is left (estimated of course), but you can also see what it is currently doing. Apparently it parses the output from the build script and presents it in an easily digestible format so you can actually see what it is currently doing Ant target wise.

The thing that makes TeamCity especially interesting for me right now is that it doesn't only support Ant and Maven2 and whatever Java thing you want to give it. It also supports building .Net projects using the normal .Net build tools which is interesting since we have some of that as well. I haven't tried the .Net stuff though.

If you want to try it out for yourself you can download the professional version which is free and supports up to 20 user accounts. That is quite generous. For a more permanent installation, it can be deployed to an application server of your choice with a database of your choice, within reason of course.

So if you need a continuous integration engine, don't hesitate to try JetBrains TeamCity. I doubt you will be disappointed.

Wednesday, 24 June 2009

My first JavOne experience

This is an attempt to sum up my experiences from JavaOne. A lot of information went into my brain during the first week of June 2009 but for some reason it doesn't easily come out. I have spent some time to review the session schedule and my notes taken to pull out the knowledge stuffed in there, because it is a lot of knowledge stuffing going on in a week like that. Let's start from the beginning.

I arrived on Saturday evening to have Sunday and Monday to get in shape. With 9 hours time difference you have quite some adjustment to do to get in phase with the clock. Trying to watch a musical (Spamalot) on Sunday evening might not be the smartest thing to do if you want to get value for your money since the jet lag plays tricks with you.

The JavaOne conference started on Tuesday but there was another event overlapping the main event called CommunityOne. This is a freebie where the Monday was technical sessions like JavaOne and the following two days were more hands on sessions. Maybe it is kind of a dress rehearsal for the real thing. I found Community one to be a good warm up for the main event. They even had a better band at the cloud computing party, in my opinion, the Spazmatics only playing hits from the 80's.

Also the pavilion opened on Monday, which is kind of a trade show with a lot of interesting booths. From a JavaOne alumni I heard that the pavilion was considerably smaller that previous years which also was the case for the whole conference. The economic crisis takes its toll on this event too and maybe the pig flu also has some effect on the number of participants.

The week continued with one or two general sessions a day which was mostly a way for the sponsors of the conference to show off. I agree that an OSGi based modular JDK like Apache Harmony is a cool thing but it isn't really that spectacular on stage, really. I didn't really think that the announcements this year was that spectacular. JDK 7... milestone 3. JavaFX 1.2... beta. Java EE 6... also a milestone. The Java Store... also beta, only for US. But you always had the excitement of the T-shirt launching at the general sessions where some contained a gift certificate for an Amazon Kindle or a JavaFX phone or something.

At one of the sessions a T-shirt came flying straight at me and suddenly I saw a forest of hands above me and I knew it was lost. When I looked at people to the left of me I saw they were searching for something and I realized that the t-shirt was still at large so I looked down and saw something under the chair in front of me so I reached down and there it was. Talk about poetic justice. Well it was only a long sleved t-shirt that could have been a size or two bigger, like me, but it was nice to actually win something.

When not doing general sessions there were a lot of interesting technical sessions which they of course scheduled simultaneously. The quality of the speakers varied a lot. You think that the big names making presentations would be good at it, but don't be fooled by their names. Some of the better presenters I saw was Joshua Bloch, Romain Guy, Chet Haase and Sweden's own Jonas Bonér. I actually saw Jonas presention twice, the second time some weeks later at Javaforum and this time in Swedish. You can learn a lot about holding presentations by attending such a conference, at least I did.

On Thursday the pavilion closed and it felt kind of like the count down started. I was feeling quite full from all information stuffed in my brain already. Of course I went to the After Dark Bash which is the official party for the conference but I left early to see what you can do with Java, some home brewed electronics and a Wiimote. Check out James Gosling's Toy Show to see some of the fun you can have if you have the right working place. Let's see if Larry Ellison likes it too.

On Friday I hit the low water mark in presentations, no names to protect the innocent, and the last presentation went by. The feeling that the conference was coming to an end I already had the day before but now it was a fact. I had a very nice dinner with my colleagues in a restaurant in The Castro called Catch. That was really a perfect end for this intense week in San Francisco and if I get a chance to go there again, I will not hesitate to do it.

Friday, 5 June 2009

The end of JavaOne 2009

Last day of JavaOne, only a couple of slots a left before it closes down. I realize that I haven't blogged as much as I had planned to but then I didn't know what intense and tiring experience a developer conference like JavaOne is. There's not a day that I have left the conference area before 21.30 (9.30 pm) and sessions all the days. When it is really ment for you to eat?

Well, I will sum up my experiences from JavaOne in at least one blog entry, possibly more. There should really be a newcombers guide to JavaOne. I still have a lot to learn.

Off to next session.

Sunday, 31 May 2009

Hi tech aircrafts

Yesterday I took the quite long journey from Stockholm to San Francisco for JavaOne and the first stop was Chicago O'Hare airport. On the plane over they had entertainment systems built into the seats where you could select movies, games, flight information and such.

One cool feature was the ability to see outside the plane through mounted cameras facing forward and down so you could actually see what you were flying over and even see the runway during landing.

Of course I tried the games but this is where it really got tricky. I couldn't get it going without having the flight attendants reset my device. When it finally got going, I started my career as a backgammon player but it was not very long since my entertainment system suddenly froze.

After having tried to resolve the problem myself I again turned to the flight attendants for assistance. I showed the flight attendant the problem and I showed her that nothing happened when I pressed the buttons. Almost in panic she says these memorable words.

- Oh, no! Don't press the buttons like that. It is like a computer, if you press the buttons too much it will hang.

I just smiled.

Thursday, 28 May 2009

JavaOne and Twitter

I am going to JavaOne on Saturday and it's about time I'd say. Let's just hope it will be a good one even though we have the economic crisis and that the virus lurks around the corner. You know which one I mean. Well, I don't mind if the place is not crowded.

I just started to see if Twitter is something for me. The link is and I don't know the lingo yet. I'll try to update it while over there, we'll see about that.