from my work as a developer
Archive for July, 2009
the bug
Jul 16th
Today day wasn’t pleased, it started with phone from a tester that something was wrong with application. It wasn’t crushing or something – the figures calculated were wrong – the worth thing ever! I got some screen shots with little explanation what is wrong, what was expected. Try to guess!
Nevertheless I started digging in to the code. It was hard as we introduced some many changes because of Clean Code Days. I wasn’t able to find anything particular that could be the root of the problem. I was very annoying! Another phones from testers and managers didn’t allow to think productively! I started asking around, maybe someone would figure out what it could be. Stupid idea!
Fortunately, our application dumped to a file all request sent to the WebServices. One of the team fellow identified the wrong output from a WebService and found the corresponded input. He sent that data to author of that WebService from another team and he discovered the bug! The bug was intrudced by some small refactoring, during writting tests. Right now, all we need is to deploy the new version of that WebService to a test environment!
hidden plan
Jul 15th
As you maybe noticed, I wrote nothing for yesterday. Frankly, I forgot about that because I’ve been testing delicious bottle of wine
But there is one thing worth to mention – I had got my books from Amazon – Agile Estimating and Planning (Robert C. Martin), Agile Software Development with SCRUM and Agile Project Management with Scrum (Microsoft Professional). Lot’s of reading.
Indeed, but that is connected with my hidden plan. After I read all those books, I will propose to introduce Scrum methodology to the company. I will not be easy, but I have to try, what can I loose?
And the last thing, we finished our Clean Code Days. It took two days to clean almost all warnings from the Checkstyle. We discovered some hidden bugs, so it wasn’t wasted time. Any way, we figure out (as team), that code quality matters and we will try to keep it high and always on top. The work is not done yet, but that was the first step to build stronger team of highly skilled developers. What an exciting future is coming
ordinary day
Jul 13th
Today was very ordinary day, I’ve solved some bugs, sent some requests for explanation and so on. Nothing special
I also started assigning some Issues regarding Clean Code Day. So boring
Few days ago I ordered some books about Agile and Scrum from Amazon. I’m really looking forward to put my hands on them. It would be very nice to introduce Scrum methodology in my current company. I need some basis and I will try.
the d-day is comming
Jul 9th
I spent the whole day preparing Issues for the Clean Code Day. What the Clean Code Day is? It’s a day when we put the effort to improve code quality by removing unnecessary comments, some Checkstyle warnings and so on. It isn’t optimal way to solve such problems, but in our situation, the only one! We have about 3.000 warnings from the Checkstyle – quite a bit! So we’re trying to improve the Code Quality each day – when you’re working with some class, clean it up, improve a design, split huge methods – be aware!
Tomorrow I will host a meeting for the reset of the team, to explain what we want to achieve and why. How to solve assigned issues and do even more. It’s a vacation period, so it shouldn’t be a problem – almost nobody is testing the application. And the most important thing is that, we have a bless from Project Manager!
the first retrospective meeting
Jul 8th
You probably heard about Scrum? Wonderful Agile project management methodology. Today I had opportunity to participate in my first retrospective meeting. It was about finished Javarsovia conference, I had mentioned about it in the previous post. The Sprint took 6 months, a bit too much for the Iteration
Any way we had posits to described our feelings, what was wrong, what was good. We summarized what we did and where is the space for improvement. It took more then 3 hours, but I think it was worth. I hope, I will have possibility to be a part of some Agile team in the future. We also agreed that we should have dedicated application to handle such events – good project for community!
That was after my work day. And I had made the biggest mistake ever. I was very upset and I forcefully switched off computer of one of my team members. It was very stupid, I behaved like Jerk! I have no explanation for that, I can just say “Sorry”!
after big bang
Jul 7th
As you probably noticed, I wrote nothing for four/five days. The explanation is simple – we – Warsaw JUG – organized the largest free-of-charge conference about Java in Poland – Javarsovia 2009! It was one-day conference, but we had three parallel tracks with tech-talks and one additional track for workshop. 16 speakers talked about Java and JVM related technologies. We also had afterparty to had opportunity to talk about non-technical topics. That’s how you get new friends
Yesterday I had very short workday, I just dispatched some bugs to other team members – right now I’m the “very important person” in the project
Today, I’ve introduced new team members in the project code base. I’m planning also some pare-programing to introduce them deeply into the code. It’s a waste of time, you can say , but that’s the best option to learn “rookies” how the project is going.
And I still the first with largest solved bug number!

borring day
Jul 2nd
Yeah, it was very boring day, I finished solving the bug from previous day, added additional test and closed the issue, nothing special. I was also checking logs to find something interesting, I mean, some unusual bug. Nothing, just some common problems with timeouts and performance
So, I ran coverage report and started preparing some issues that have to be solved quickly, especially additional tests and code clean-up. As we have new team members, I think it will be the best way to introduce them in to the project by assign some minor issues and tasks as write those additional tests to them. The best way to learned unknown project is prepare the tests for it.
I got free hand for that, so I’m planning to do this next week, when nobody is being pushing us to solve some important bugs.
hunting
Jul 1st
Today I got a new task – analyse thread dumps from test environment and try to find what was wrong ![]()
Yeah, easy job, but it was totally something new for me so I started looking around (with Google) how to do that. As we’re using the best Java Application Server and the best Java Virtual Machine, it was easy. I found a guideline how to prepare thread dump, what it contains, how to read messages and so on. And at the end there was statement which was so funny – jvm will inform you directly about deadlocks, thread chaining and so on, you don’t have to analyse each entry in the dump file
With new knowledge on my side, I discovered very fast that everything was ok, no deadlocks, no thread chaining, nothing interesting. The only thing was suspected – too many calls to cache library to spool object from memory to a hard disk. I must look on that deeply.
With no success, I started reading server logs, but it was so ineffective, so I opened cygwin console and wrote some small script to speed up the work. After few minutes I had all logs merged together and was able to search them with grep tool, few seconds later I found the first bug. All I have to do is to prepare a fix tomorrow!
