The Holy Java

Notes of a passionate Java EE developer

About

Me in 2011I’m a Java[EE] developer since 2005, a SCEA holder, and occasionally a project manager, working currently with Iterate AS (en) in Oslo, Norway. For a couple of years I had also the pleasure to work with IBM Austria and IBA CZ. I’m highly interested in code quality, developer productivity (and tools like Maven and AOP/AspectJ), testing, performance, and web frameworks. I’m also very fond of the lean thinking and agile principles, especially feedback-based development, focus on creating true value ASAP, and respect for people.

I’ve worked on large and long-term international projects as well as small local ones and both on new and maintenance projects in various positions. I enjoy working with people, sharing knowledge, being creative and exploring new stuff. I don’t like tedious, repetitive work (though it really is sometimes necessary) and am thus a big fan of automation and tools that can take it over. Having maintained a lot of old code, I really appreciate high-quality, well-written code and good and automated unit tests.

Lately I also gained interest in functional programming, which I’m exploring.

You can learn more at my LinkedIn profile.

Bio & personal

I was born in 1980. For the second time I was born on November 17, 1989, when the communist regime of Czechoslovakia begun to collapse. For the third time I was born in august 2005, when a thin branch, invisible in the total darkness, saved me from a fast and fatal fall. I studied software engineering at the Czech Technical University and humanities at the Charles University. I also spent two enriching terms at the Linköpings University in Sweden. After the studies I ended up in the company IBA CZ, which turned out to be a warm and friendly place, full of great – nice and smart – people, with challenging tasks and a lot of flexibility. In 2011 I’ve moved to Norway to broaden my views by living in another country and culture. I’m married and live currently in Oslo, Norway (my home town is Prague in the Czech Republic).

In my free time I like to hike, practice yoga, read fantasy, and play pen&paper Role-Playing Games. I like books by Andrzej Sapkowski, admire Mahatma Gandhi. I’m vegetarian because I couldn’t have found any moral justification for killing other beings.

The world around us

The motto of our police is “Help and protect”. I believe that this is actually the mission of every human, to help and protect others and especially the weaker ones, including not only other humans, but all living beings and the nature itself. Unfortunately too often is this maxim superseded by an attitude that could be summarized as “Take money and run”. If there were more altruism and compassion than egoism and limitless desires accompanied by wretchlessness, the world would be a much better place. I’m glad there are some people who care, such as R. Stallman, those in Amnesty International and Greenpeace, or a boy in the neighborhood helping an old lady.

Thoughts on development

My early experiences in commercial development brought me on the quest for productive development of a software of high inner and outer quality. By productive development I mean that most time is spent bringing real value to the customer and not writing plumbing code, doing mindless and repetitive “monkey coding” or fighting with the environment and tools. Inner quality means good documentation and high-quality, maintainable code. Outer quality covers especially (an acceptable) performance, but also the often neglected usability and doing what the customer actually needs.

I learned that however technical our profession is, the essential skill necessary for success in IT is a non-technical one – communication. This is best illustrated by the following picture from blogcmmi.com, which I like a lot (though it omits the equal importance of intra-team and personal communication):

My open source projects

Having received so much from the open source community (Linux, Firefox, OpenOffice and counless others), I feel obligated to give something back. Most of own my latest projects live at my GitHub account.

Current projects

(“Hot” projects marked with *.)

J(2)EE Holy Utils, a diverse collection of small projects

The J(2)EE Holy Utils include the projects listed below:

  • ClassLoaderViewer.jsp – utility JSP for finding out where a class is loaded from, whether one class can see another one or a particular resource and from where is it loaded
  • GroovyConsole servlet – a JSP page and two jars constituting a console for executing Groovy (Java-like scripting) commands on an application server – great if you need to explore the live environment or experiment with enterprise applications and their libraries that you can’t get working stand-alone
  • DbUnit Express - a layer over DbUnit that extremely simplifies creation of tests agains an embedded Derby database by using convention over configuration and adjusting the default settings (create a .ddl, a .xml with data, extend the base class or create & init an instance and run) and provides few additional utilities (getDataSource, RowComparator). Supports Maven. As a testing fan, I use it on nearly any project.
Standalone projects that could be a part of JEE Holy Utils:

Old (less active) projects

MiniPauker, mobile learning application

MiniPauker is a J2ME flashcard learning application for mobile phones, a little brother of the desktop application Pauker. It’s great for example for learning and repeating vocabulary. The primary features for me are that it can draw the “cards” to repeat in a random order and that it presents you primarily with the cards you have troubles remembering. It was originally developed by Markus Brosch, I took it over in 2009.

  • jEdit editor plugin TextAutocomplete
  • MobileBackup – a J2ME application for backing up and restoring contacts, calendar entries etc. on mobile phones – I’ve inherited it and extended to support also restore in addition to backup

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s