from my work as a developer
presentation
laugh, laugh, …
Feb 2nd
It was quite busy beginning of the year. I was working on the two projects – in both partially
Anyway I found out the way how to handle such situation. What works the best are the short Sprints (Scrum), about a week. So I’m working hard one week on the first project and at the end of the week I’m delivering some peace on a functionality. Next week I’m starting a new Sprint but for the second project.
In such a case, I can focus and get into the project for a long time. I don’t feel disrupted that I forgot to finish something.
On the beginning I was trying to switch the project each day, but it worthless and useless. Human’s brain needs up to 20 minutes to switch a context. For large tasks (like a project) even more, for me it was around half a day to get into – to check what I did previously, what are the new task and where the project is in matter of functionality.
Short Sprints demands a short estimation and short tasks. After second, third sprint I’ve got used to it
And it was even funny to work that way – short sprint are the best!
To be more specific what I did, I’m going to share my deep knowledge with you
The first project is related to Circular – I’m writing a Desktop Client which will be able to communicate throughout a REST API with the service. Is written in Java Swing and the latest Java 1.6 brings many new futures to cooperate with a Desktop System. The first is the java.awt.Dekstop class. It can be used to open file with a default editor, open links with the default browser and so on. Very useful class. The next is the javax.swing.SwingWorker class. It’s used to launch long running process which must communicate with a Swing UI, e.g. to display progress.
You’re wondering why I’m using the native Swing instead Eclipse RCP or NetBeans Platform. The answer is easy – size of the file. With the current solution, the executable file has around 3.6 MB with all the dependencies included in it – you can use Maven Shade Plugin to do it. I’m also using a modified Launch4j Maven Plugin to create Windows Executable file from my Mac OSX – the modified source code you can find here.
The second project I’m working on is the Attikis service. It’s used to monitor Alarm Systems throughout a phone line. The UI is built using JavaServer Faces 2.0. And the last time I spent the whole day to solve a problem with the SelectManyListBox tag that has a custom converter attached to it. In such a case, you must use a bean with well defined equals() and hashCode() methods or just a simple String as a SelectItem. In other case you will end up with strange error: Field not valid!
It’s a very weird behaviour, whilst you will attach a built in converter, you can use Integer or what else you want
Ok, that’s it for today and at last I’ve got something from TED that I want to share with you
metrics and worm holes
Jan 12th
It took me more time than I’ve expected to start the New Year on my blog. So here it is, the first post for the New Year! Happy New Year!
The last year I was at Devoxx 2010 conference and attended to Neal Ford‘s presentation about Implementing Emergent Design. This talk based on his post on the IBM’s DeveloperWorks web site about Evolutionary architecture and emergent design: Harvesting idiomatic patterns and the whole series.
The talk was about ckjm metrics and cyclomatic complexity – quite interesting tools to discover potential bugs and hard-to-maintain code in a project. What was the most important for me, Neal used the Apace Struts 2 project as an example, especially the UIBean class – you can find the details in the mentioned article. He presented how to prepare these metrics, how to read them and what they mean. A really interesting talk.
After all, I’ve asked Neal to give me more details about the problem and few days later I received an e-mail from him. I’ve followed his advice and inspired by his talk I’ve gave a promise to my self that I must improve that badly-looking code.
…. but wait, it’s just a badly-looking code. It had taken me another few weeks to discover it isn’t so important to improve that piece of code, it really doesn’t matter right now. There are plenty of places to improve code base of the Apache Struts 2 project and so many users don’t care about that – UIBean doesn’t exist for them.
The current UIBean implementation do the job, it isn’t pretty or easy to maintain, but right now there is no one for whom it is important. No one complains about it. Some day I’ll refactor the code of UIBean class but today isn’t that day.
The conclusion is the same as for code optimization, you shouldn’t optimize too early, so you shouldn’t improve too early. Don’t throw everything and try to improve some not-important part of your project. Don’t trust metrics by heart, they can lie to you, try to figure out what they mean in context of your knowledge of the project. They aren’t a silver bullet.
Today’s day brings to me another newsletter from TED web site and gave me answer to important question: the shortest connection between two points is …
reborn
Sep 16th
At last I’m back online – to be correct – my blog is back online
After some rumour with switching hostig providers finally I managed to close all the DNS issues. Hopefully, I don’t have to worry for loooong time
Recently lots of things are happening in my life, to say just few – I’m changing company, project and technology (but still Java but who knows
)
Just for the beginning some nice talks from TED. If you have opportunity, I strongly encourage you to join TEDxKrakow at 15th of October – I’m waiting for confirmation!
The first presentation is about Crowd-Accelerated Innovation – YouTube-driven communication and future learning:
The second talk is directly connected with our work as a Software Developer, just switch context – why everything is broken by Seth Godin
Seth Godin at Gel 2006 from Gel Conference on Vimeo.
overwhelm
Jun 18th
That’s it, I’m totally overwhelmed by organization of Javarsovia 2010 conference. For the last few days I’ve been hanging on a phone all day, discussing and answering sponsor’s questions. I wrote hundreds of mails to management board internal group. I have no more space in my daily schedule to read blogs
Hopefully it’s the last week and we are solved almost all the issues we had – shirts, catering, rooms, etc. We have more than 880 registered attendees! It’s two times more than last year!
Any way I found a little time to watch that very nice TED speech, it’s about how to start movement and be a leader – very interesting and all in three minutes!
PS. I’m also not able to write posts from work, something went wrong when I migrated my DNS server
linear education
May 27th
Once again I want to present a very nice TED talk , this time it’s about an eduction, a linearity and an agriculture. It’s very funny, lots of laughing and at the same time very serious topic. I love that sentence:
“”There are two types of people in this world, those who divide the world into two types and those who do not.”
Enjoy!
robots and more
Apr 14th
Today I opened my mail box and noticed the new newsletter from TED. I spotted nice image with a robot from TEDxNASA so I choose that presentation to see / hear something interesting about robots. The best is at the end of the presentation, it wasn’t about robots but about working and bringing up brilliant ideas – I’m 100% convince! Take a look!
frozen zone
Mar 5th
We’re again in frozen zone – project is going to production
So I have a lot of spare time to improve my other skills, like learning GWT, studding books – Tony Buzan’s The Mind Set and so on.
I have a tricky question for you: why James Cameron made the Titanic ? Just watch his talk on TED and grab the answer
Another thing is GWT – sadly I discovered that not all widgets are presented with Widget Gallery, you have to look through API documentation to find them all – for example CaptionPanel
weird or just different
Feb 23rd
Nice presentation about how people are different and why we should always be aware of that – for us it can be normal for other weird
Derek Sivers: Weird, or just different?
If you never had chance to watch TED presentations, you missed a lot and you should grab a few, I specially recommend that one about “rules” and “values” and any followed by that speaker
