A farewell note to a programming language – Matthias Nehlsen.
A decision made by a good criteria: “does it fit for me and my needs or not”
programming languages and surroundings
A farewell note to a programming language – Matthias Nehlsen.
A decision made by a good criteria: “does it fit for me and my needs or not”
A web app in 10 minutes using Play! on Vimeo on Vimeo via A web app in 10 minutes using Play! on Vimeo.
A framework for easy creation of web applications in java. This screencast is worth to see it.
Article about the so-called The SAY2K10 bug [LWN.net] in SpamAssassin.
This bug shows that if you don’t do things right in the first time then you will not do it later. When have you count the last time the “TODO” comments in your code?
“If anything, today’s computer users are less well adapted to dealing with applications that behave differently when the network is unexpectedly absent because both the user and the programmer assume that the network will be there because it always is. They would never set up a situation where the network would be missing and the programs they use/write are unlikely to handle the situation. Lazy kids.”
Casey Schaufler.
This article helped me by fixing this exception. The following code gave this exception
... from a import A class B (A): ...
but this was wrong because my class had the same name as the file it was in. This meant that my class had the same name as the module. To make it right it should be:
... from a import A class B (A.A): ...
Today I had to change a hibernate query constructed with the criteria API to a SQL query. The result looked like:
String sqlQuery = "select count(*) ...";
Session dbSession = getSession();
SQLQuery crit = dbSession.createSQLQuery(sqlQuery);
crit.setCacheable(true);
return (Integer) crit.uniqueResult();
The former query was cached and the new one should be too. But I got the following exception:
java.lang.ClassCastException: java.math.BigDecimal
at org.hibernate.cache.StandardQueryCache.put(StandardQueryCache.java:83)
The following post from hibernate forum helped me to find a solution. The exception is gone after adding the result as a scalar. And the working query looks like:
String sqlQuery = "select count(*) as result ...";
Session dbSession = getSession();
SQLQuery crit = dbSession.createSQLQuery(sqlQuery);
crit.addScalar("result", Hibernate.INTEGER);
crit.setCacheable(true);
return (Integer) crit.uniqueResult();
Diesen Monat wurde mein Buch mit meiner Abschlussarbeit veröffentlicht. Erschienen ist es unter dem Titel “Bestimmung wahrscheinlicher Ursachen des Scheiterns von Unit-Tests” mit der ISBN 3639139119. Kaufen kann man es in jedem Buchladen oder z.B. bei bookzilla.de wo man mit seinem Kauf noch freie Software unterstützt.
I am working on a plugin for KaDoSu to index audio files. I found these three free libraries Sphinx, ISIP and Julius for speech recognition and decided to use Sphinx because it is a pure Java implementation and so I don’t depend on natively compiled libraries. But all these libraries have the same problem. They need to be trained to recognize speech well. Voxforge collects speech samples from its users and shares them for free with all these projects. Please donate your voice to get better free speech recognition.
Bazaar Version Control
Bazaar is a distributed version control system that Just Works.
Loggerhead in Launchpad
Loggerhead is a web viewer for projects in bazaar. It can be used to navigate a branch history, annotate files, view patches, perform searches, etc. It’s originally based on bazaar-webserve, which is itself based on hgweb for Mercurial.
The last week we implemented revisions for entites with hibernate. We decided us for envers. The documentation is good. We were able to get a working revision system with switching between revisions within this week. One note we used the version 1.1.0.GA for hibernate 3.2.6 so the documentation didn’t applied fully the naming of annotations and configuration property names changed. We run in to one issue. Our database already existed and we had to introduce the revisions later. Envers does not create on first run a initial revision for versioned entities. But you will need them because if you switch back you will lost data for properties that are stored in a list. Lets say you have a versioned entity with a list of strings and you change this list by adding entries. If you go back you don’t have the entries that were in the list before you added the new one. To solve this we had to write our own tool to create the first revision. Since fixing this envers works very good in our project. I can suggest its usage.