dailylog
from my work as a developer
from my work as a developer
Jul 21st
At last, out team grow up and started using Scrum. It was a spontaneity idea, we had been left to our self for two weeks and during that time we had to delivery specific functionality. As usual, the specification wasn’t prefect and we haven’t had anybody to ask.
So we decided to use Scrum, even if fail it can be a funny experience
The first step was to organize our Task Board, with ToDo, In Progress and Done columns. Below we put our Backlog. We haven’t had a real Planning Meeting and it was a mistake (but that brought to our minds after the First Iteration). We just wrote down all the tasks that were assigned to us, put on ToDo column yellow posits and started the First Iteration.

Every day we had StandUp Meetings where each developer said what he did, what he is going to do and what blocks him. And we use a Talking Stick
That went smoothly more or less with additional discussion. Each day I was updating the Burndown Chart and we discovered that we can do tasks faster than we planned. And we have been basing on 4 hour work day – you know, average developer spend 50% of his time on coding
The First Iteration took around 7 days, after that we had a Demo. It was a simple task, our business analyst took all the posits and walk round each developer and asked to present given functionality. It was the best think, we discovered many small bugs or mistakes. That was the end of the Iteration One!
We also did the Retrospection and basically we agreed that we must improve our StandUp Meetings and be more accurate when describing the tasks.
Right now we started the Second Iteration and we’ll see…
Jul 8th
Today I discovered an astonishing future! I can post my new blog entries remotely, without opening the blog site!
You can wonder why I’m doing this way? It’s so complicated …
The answer I very simple: I still have problems to connect to my web sites from company’s network
I don’t know why it isn’t possible but it looks like a problem with a proxy server which isn’t refreshing a DNS cache (!!!). It’s the only idea I have about that!
Anyway, right now I found the way to omit that and I’m writing this post to prove that! So if you can read it, it’s working
The conference is over but I was very busy to prepare a new Apache Struts 2 release, it’s ready now and under the Vote. Hopefully soon it will be available for download and in the Maven Central repository.
Jun 27th
Yes, what can I say more? Javarsovia 2010 conference is over! At least for attendees
Just to summarize in numbers:
The numbers allow us to say the one final note: Javarsovia 2010 was the Nth* biggest Java conference in Europe! And everything for free!
See you soon – Javarsovia 2011 will be in less than 365 days
* – I made a tiny mistake calling Javarsovia 2010 “the 2nd biggest conference in Europe” – sorry for that!
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
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!
May 14th
The Java Reflection API is a very nice future of the Java language. With the API you can do the Magic with Java classes, create an object or call a method on fly base just only on a name. The real Magic!
So then, we all should use it all the time, to write a better code, yes? NO!
Avoid using it, try to write a code without the Reflection. The worst you can do is if you introduce some generic mechanism with it – a custom validation framework or a flow engine where class and method names are stored as a String (in a text file or a XML file).
You can ask: why?
The answer is simple: your IDE doesn’t support it! When you refactor your class or method, eg. just rename it, IDE will find all the references and change them appropriately for you. But IDE won’t know about your custom solution, is just a text, nothing more!
When you are using the Reflection, your IDE is blind!
Right now I’m working on our custom validation framework, to move definitions of validation from a XML file directly to a Java code. The case is, to not to change the validators, just used them as is. And not to use the Reflection as well
I’ve done some draft implementation base on anonymous classes and the word “final” (thanks Rafal for the tip!). And introduce the ValidationAware interface to be able at the same time use the old way and my new solution! Next week on Monday I will ask other team mates for opinion!
May 12th
I was “borrowed” to a Maintenance team to solve some issues with print module
The estimation was for 5 Man days and I did that in 2, but anyway I must assist in tests and prepare an test environment. This time we used a new fancy tool – SharePoint – as a repository for the print specification documents. It has nice future to store other version on the same document – the same way as Subversion or CVS are working. As usual with such tools there was a problem with the diff! It was real hard to read what was changed and use of so many colours didn’t help! I was able to do the job only with our analyst’s help!
Don’t be afraid of analyst, may be helpful!
May 6th
The last two weeks I’ve been simplifying an application flow engine base on Apache Struts 1 – I know it’s a bit old technology but I don’t care, I have a job to do
Anyway I discovered lot of strange use cases where some custom mechanism was build instead to use what was already provided with the framework. It was like inventing a wheel once again! Frankly, I was truly surprised how someone could do this that way. And I start thinking what was the reason to do that…
The only thought came to the mind that someone was afraid to use what was already provided to him with Apache Struts 1 – he didn’t know the framework well, he was too lazy to check sources, and so on. I was real devastated! If someone doing application in such way, no framework will help him or do the job for him!
Recently I’ve been solving issues in Apache Struts 2 and one of them was to add wildcard support to a file upload mechanism. Provided patch had solved that problem with some home made RegExp engine. I just added a test case to proof it was working properly and committed all the changes to a source code repository. After that a more experienced Committer pointed me out that I should use existing PatterMatcher class instead, what I did and the code looks much better right now. You can see an example here Apache Struts 2 useful beans.
Apr 23rd
Yap, it’s true!
It will demolish all available PHP development environments! You are probably thinking – ”what’s he talking about?! PHP for Java developer??”. Yeah…. I wasn’t Java developer from beginning, I started my professional career as a PHP developer – the first earned money I got was for a web application I wrote in PHP! That was an amazing time, no unit tests, no bullshit about craft and so on. What was the most important – customer satisfaction!
Never mind, after 7 years I had to go back to PHP. It’s impressive, yeah? 7 years without problems and any issue. Marvelous!
Previously I used ordinary text editor to write the application, but nowadays I thought there should be something better – we have the craft, so with the craft you must have THE tools.
The first place I checked was The JetBrains side and they didn’t disappointed me – what I found was The JetBrains PHP Storm! Still in Beta but who cares
The first thing I noticed after installation was that I was able to open the application without any “Import”, “Converting” and so on. Just open it and develop (with pleasure)! What can I say, just astonishing!
Today I discovered another brilliant feature “Compare with deployed version”! What’s that? Is the same functionality when you are comparing your local changes with version in source code repository.
And the result is:
And the most important feature it has is that I can use exactly the same keyboard shortcuts I’ve been using for InetlliJ IDEA! With pleasure
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!