from my work as a developer
Archive for October, 2009
a new day
Oct 28th
I prepared another podcast, made a note and upload it to ftp server – it should be published soon, I hope
The podcast was about AOP – what it is, how to use it, how is that connected to high quality source code and so. Quite interesting topics were said. I’m not a AOP user but I think it’s a very helpful technique in some cases.
I also made some research – a bit too big said
It was simple task how we can use corporate CMS service to publish some documents inside our application. I was directed to check other existing project – lookup how it was implemented there. And there was one class that was a facade to class from corporate framework
It was around 20 minutes of work!
After all I did my first MindMap - as a subject I used title of a new questionnaire on jdn.pl and rounded it with many different thoughts that flow into my mind. Then I connected them with lines, to group them in some large ideas. At the end I used colour pens to make it more abstract
At the end of day I spent learning a new programming language – Python and I was a bit surprised, did you know that you can multiply strings like below:
p = ‘cat’
p*2
‘catcat’
Awesome! And indents are very important!
day as usual
Oct 27th
I think it was a day as usual – I fixed some bugs (two
), prepared a presentation on Parleys.com and made some Web Services integration skeleton. And I had the second part of Communication training.
Day as usual
I started the day preparing the presentation, as a JUG we have a dedicated channel on beta.parleys.com where we are publishing materials from conferences or JUG events. All are in Polish so you have to know it
It was about JBoss and clustering that it had been presented during Javarsovia 2009 conference! I also made a note about podcast from COOLuary v1 conference.
Then I fixed two simple bugs regarding print template that I had been working a while ago – they looked a quite hard, but we team-mate help it was a moment! Collective knowledge!
And at the end of work day I made skeleton for web service integration – I used more or less copy-paste pattern
After work we had a second part of Communication training – we learned a lot interesting things and behaviour about ourselves! I made some notes for future and maybe publish my thoughts lately!
warsjawa 2009 accomplished
Oct 26th
The Warsjawa 2009 conference is over! I think it was the first conference connected with Agile in Warsaw – there is a lot of such activities in Krakow, Wroclaw and so on – till that Warsaw hadn’t have such event!
And I have ideas for next “Agilities”
There was around 100 attendees, 50 pizzas and more the 200 water drinks
And the best was that only half of the attendees were Java developers – that means we hit brought audience than we want
I’m looking forward for next Agile events – maybe some user group or forum!
I hope my presentation was good and at least someone will get more and will be more effective (as I’m going to be
divide by int
Oct 23rd
I made very stupid mistake – I had to prepare some simple calculation to show some figures on print out. It was something like this:
figure = round( (index / 4) + 0.4 )
As you see quit easy and simple to implement – business rule from Excel sheet
I thought the same – 10 minutes and I finished, without unit test and some deep testing – I couldn’t make mistake, it’s so easy! You probably know what happened next! A Bug!
It was matter of time when I’ve got bug report from tester – the figure is wrong – it wasn’t following the guidance! Impossible – that what I first thought! I started making some tests and the figure was calculated wrongly for some index values. It was like a magic! Magic in coding? Impossible again! So, I write a unit test to just test that one method. I’ve started playing with different values and I very quickly discovered that for index below 4 the figure is 0!
It was a blast! I was dividing by int! In Java! That was the origin of my problems! As you may know when dividing by int the result is automatically cast to int. All I had to do, it was turn the routine into:
figure = round( (index / 4.0) + 0.4 )
and finish the unit test for a all possible values. What I did and it took me about 20 minutes – I should do that at first time!
remote jee
Oct 16th
The last two days I spent trying to implement common JEE pattern – EJB is working on application server (Glassfish) and client is a Web application on Tomcat – hopeless!
I’ve been trying many different ideas, I’ve read tones of articles on the Internet and non of them help me. Even the official Glassfish FAQ was useless.
The basic problems is that the Tomcat isn’t reading jar’s from shared/lib directory. It’s a bit strange because I’m using NetBeans and for it everything is ok. It’s seeing all needed libraries, I’ve also tried to implemented standalone client and I was able to launch it from command line with specified libraries. But using the same jar’s for Tomcat didn’t help! In my opinion isn’t possible to set up such connection. I think, I should give a try some other solution and try to implement the same with Jetty for example. It can be quite interesting comparison.
At this time I’m downloading the latest development version of NetBeans on my new PC at home and I will see!
knowledge base
Oct 13th
The whole day I’ve worked in business debuger mode as I mentioned yesterday. It was quite exhausting experience and I wouldn’t be able to work like that for a long time. In spare time in between, when business side was doing the work and I was solving bugs, I’ve prepared a poster for Warsjawa conference, you can see it below. The main topic is “Agile”. I also set up registration form with some free-of-charge service. That how it went the whole day – high activity periods plotted with low activity.
After all, I participated (first time in that season) in meeting of Warsaw JUG where was a presentation about some smart pen with JavaME on-board
business debuger
Oct 12th
Did you ever want to have tools which shows you your mistakes as soon as possible?
During software development process we’re using many tools to implement such idea – continues integration, using CruiseControl, unit tests with JUnit, Checkstyle to correct typos – we are just humans and we’re making mistakes all the time!
What is missing with mentioned tools is that they’re as good as we configure them – they wouldn’t check business rules if don’t configure them how to use them. They’re smart as we’re – neither more nor less.
Ok, what would be the best solution? To have external business debuger – someone who can check what you implemented but against business rules. Totally distinguished from you and your way of thinking. It’s great, but we also afraid – someone will discovered ours mistakes, discovered that we aren’t prefect. We aren’t professional as we thought! It’s strange – we want that, but at the same time – we afraid!
I’ve been working in such way for last three days – I implemented a change, informed business guy and in few minutes got answer. It’s like working with debuger – all my mistakes are discovered before I was able to figure them out! As I mentioned early, it isn’t comfortable, but it’s the most efficient way of working – from business perspective
neither either nor or
Oct 7th
Solving bugs is sometimes quite interesting developer’s activity. Some of you can disagree – it’s boring, mind devastating and so on… Yes, usually it’s like this, but the worst thing you have to keep focus on what you are doing to don’t introduce new bugs instead
Today I was solving some minor but urgent bugs in a small project – that one where I’ve been preparing print layout. Everything was simple and understandable, till I’ve started implementing some “small text mistakes” – they weren’t small, they were enormous! Additional two rows in a table with different logic when they should appear and when not. This logic was interfering with what had been done previously. It wasn’t clear for me and I noticed some duplication. So, I asked an author what he was on mind? And I got very suspicious answer: either section 1, 2, 4 or 3 should be printed – khe? And with that answer I got another – he’s going out.
Yes, very clear and informative answer. I could wait one day and tried to clarify that, but I decided to implement how I was understanding that. All 4 sections were exclusive, only one can be showed for given case. It was more reasonable for me and I will see if I had right next day
As you see, solving bugs is often harder than implementing new functionality!
dark ages
Oct 6th
The whole last week was as black whole – without passion, hopeless and so one
Maybe because of weather or something – Autumn is coming
Nevertheless that’s over, today day was absolutely brilliant – I got my books from Amazon:
- The Power of Less: The Fine Art of Limiting Yourself to the Essential
- Pragmatic Thinking and Learning: Refactor Your Wetware (Pragmatic Programmers)
- Getting Things Done: How to Achieve Stress-free Productivity
As you can see, quite interesting readings – so the Autumn can be very productive period, especially when the weather will be bad
I also solved many bugs today and it was even nice – it wasn’t either boring nor frustrating – I was fascinated that I could help someone to achieve his goals. Passion!
The second main achievement today was meeting of Warsaw Design Patterns Group – we started implementing mentioned early application. It base on Maven 2, Wicket and on some common stuff like Hibernate and Spring. There was enormous pill of knowledge – we used TDD first methodology, with mocks base on Mockito. I never used Mockito before and I’m delighted what you can do with it! We developed almost the whole functionality within one hour! Well designated and suited! I’m looking forward what we do on the next meeting!
Preparation for Warsjawa are also going well – the agenda is almost done, the conference room is booked and the pizza is coming! We will be discussing about Scrum and Agile – from one person to distributed teams! If you are in Warsaw at 24. of October, come visit the conference!

