Monday, February 9, 2009

Pondering Bug Tracking Systems

As a programmer, I have many things to hack, but unfortunately I am not smart enough to remember everything to code after I slept. In the next morning, I usually forget some features to code. Bug Tracking System (BTS) is useful to keep remembering these tasks.  Joel Spolsky also  wrote an article about Bug Tracking Systems, and I totally agree what he said; Bug tracking system is necessary to ship high quality code. 

I am using Bug Tracking Systems, such as BugzillaTrac, etc. (and also their Eclipse plug-ins). Once they are properly installed in a server machine, they works correctly, and I know many projects use these tools to share bug & new feature lists. 

However, their web interfaces are not fun to use; I have to input many things to post a bug or feature, such as priority of the bug, current program version, who to assign the task, etc. Almost all of them are unnecessary for writing code, and sometime I do not want share tribal tasks such as merely saying 'implement SomethingReader class', but without posting it, I might forget it due to some interruption of my work.

Because of these frustrations, I have recently switched to the Remember the Mlik (RTM)service to manage my bug & feature lists. RTM's AJAX-based rich web interface have some nice shortcut keys (e.g, 't' for a new task, 1, 2, 3 ... for selecting priorities), and with Google Gears installed on your browser, you can edit tasks while you are offline. And as the name 'Remember the Mlik' indicates, RTM can be used to manage quite tribaltasks; you can simply post 'write this code and that' to RTM, while this message does not make sense for the other people, it is quite informative for 'me'. 


Free from explaining what to do for other people has a great effect for accelerating daily programming productivity.  I'm not saying 'BTS is unnecessary', rather I'm saying BTS isnecessary for sharing bugs and features, but not for personal work management. Well-known BTSes have too rich features for the personal use. What I want to do is to take a memo at online using web interfaces I open every day, and Remember the Milk completely meets this demand. 

Monday, December 1, 2008

SQLite JDBC version 3.6.6.2

Today, I released SQLite JDBC version 3.6.6.2, which fixed a bug involved in the original SQLite 3.6.6 (see http://www.sqlite.org/releaselog/3_6_6_2.html  for the details.)

Thursday, November 20, 2008

SQLite JDBC version 3.6.6

Today, I released sqlite-jdbc-3.6.6, an upgrade release from the previous version (sqlite-jdbc-3.6.4)

This release will be synchronized with Maven's central repository within a few days.

Monday, November 17, 2008

Comparison between SQLite and H2 Databases

I found some article that says SQLite JDBC is slower than other DBMS. According to this source, SQLite took more than 11s for 100 insertions. This result is quite strange for me, and I guess no tuning option for SQLite is used in that experiment.

So, I wrote a simple test code to confirm the performance between SQLite and H2 databases. To the best of my knowledge, H2 is the fastest DBMS in the ones purely written in Java. Here is my test code.  In short, this code is optimized for insertions; using no transactions (a set of insertions is wrapped in a single transaction) and no locks. 

Tuning options for disabling lock acquisition:
SQLiteJDBC: pragma synchronous=off
H2: SET LOCK_MODE 0

For 1,000,000 insertions of simple records, I got the following results:
SQLite JDBC: 198.7 sec.
H2:    365.6 sec. 

If the above tuning options are not set in SQLite, each insertion acquires a file lock on the database file and creates an journal (log) file, so the performance will be significantly slower than the above result.

Although I can confirm SQLite is not slow, I have to admit SQLite JDBC driver has some overhead due to the interaction between native C codes and Java through JNI. When I used the command-line client of SQLite, it only took almost 100 sec for the same number of insertions through the import command of SQLite.

Ah, well, ... it's the nature of Java, which cannot beat sophisticated C programs in terms of performance.

Wednesday, November 12, 2008

Prime Minister Now Scattering Money

Japan's Prime Minister Aso (pronounced as uh-so, not ei-so) are going to distribute tax payers' money to themselves again. Sound strange? But that topic is quite hot every morning in every news channel  in Japan. It seems that every people will get a pay back about 12,000 -20,000 yen, in total the budgets will be 2 trillion yen.

This kind of money scattering is called baramaki in Japanese, in short, a waste of money. This policy looks like an grown-up person giving a 100-yen chocolate to a child who really needs a school to study. Giving a chocolate for distracting our interest from the economic crisis is not the government's task.

What a reaction should we take? Be happy with a tiny present from the government, even if it is our money? The effect is far from the Prime Minister's intention; we got really discouraged.

Here is a list of what we need that cannot afford with our own money:
  • Preschool taking care of every child, with no exceptions. Many Japanese people still haven't noticed the following fact; it is highly possible that no one takes care of their children while they are working. If you are a student, your opportunity to learn in universities or colleges will be lost because the government prioritizes working people to students as a criterion to enter the preschool. Even if your children are allowed to enter some preschool, it is usually far from your home, and parents will suffer long commute time between the preschool and their working place.
  • No smoking restaurants, parks, etc. for children. It's quite hard to find such a place even in Tokyo, a highly sophisticated city. Many people are smoking in sidewalks even if it is crowded. I really hate that old-fashioned custom.
  • Time to spend with families.  Many people work 8 hours a day with additional hours for overtime work (2 to 3 hours?) and commute (some people spends 2 hours to go to the work place.)  What is left is a face of sleeping child. If this working style in Japan continues, we lose the greatest teachers for children, namely, parents.
And a lot more should be here....  Anyway, my conclusion is that the government spend their money (it's our money) for investments to children, our indispensable asset for the future.

Tuesday, November 11, 2008

Japanese Language on the Verge of Demise

Recently, many japanese people are talking about a book titled '日本語が亡びるとき'. Its English might be 'Japanese Language on the Verge of Demise' or 'Japanese Language in Crisis'. 

Anyway, it shows our fear that English cannot be a true native language for most of the Japanese people, but the world has been changing toward the direction in which everything, that includes business, technologies, and also cultures, will be talked in English. I haven't yet received this book from Amazon, so I'd like to wait for a moment before discussing this problem in detail. 



Friday, November 7, 2008

[Announce] Site Maintenance

Because of a planned power cut in our server room, xerial.org site will be down for a few days from November 7th, 2008.