Get a Quote

Your source for insights and trends in software development

Java Web Start on Google App Engine

Java Web Start is cool technology, which allows to automatically update client application to the latest version. So the latest client application is placed on server side. Unfortunately this technology does not work by default on Google App Engine. This post contains information about how to run it in the Google clouds. How Web Start checks updates? “How Web Start checks updates?” is the first question, which is occurred. The answer is simple (but I did not find it in…

About some testing tools

About some testing tools

Reasons for using testing tools during development: After each iteration of implementation you should always check that you have not spoiled/lost some old features. Running some set of test cases takes a lot time, so developers need to write unit and acceptance tests. But you can also use some well-known decisions for fast testing. Sometimes you need to reproduce bug which can occur only on peak load. It is the way to find some performance problem. So, some testing tools:…

GWT and Magnolia Integration

I like GWT and I like Magnolia. What do you think about link them? GWT will be responsible for dynamic pages. Such page will provide rich user interface with a lot of JavaScript and AJAX. Thus search engines will not index these pages, but it is not problem – Magnolia will be responsible for such pages. Also Magnolia provides some useful features like mail service, file uploading mechanism, etc. So let’s link them. Create GWT application First, we need to…

Erlang Code Replacement

Erlang supports change of code in a running system. Loading a code is handled by code server, just load a module by:  


  when you are calling from another, existing erlang node. After this action both current (loaded) and old code are valid. The difference is that exported functions in old code are unavailable. Hence there is no way to make a global call to an exported function in old code, but old code may…

Key generation problem in Android Eclipse plugin

After installing a new MyEclipse and Android SDK on your Linux host you will probably run into the problem during key generation. This problem sounds like “Permission denied”. By default MyEclipse projects use JVM which is installed at <MYECLIPSE_PATH>/Common/binary/ It’s quite possible that the keytool which creates key to sign your Android application, is not allowed to execute. Just check if you have permission to execute keytool:ls -l <MYECLIPSE_PATH>/Common/binary/ Probably you’ll have something like:-rw-rw-r– 1 andrey andrey 47447 2009-03-09 04:53…

First Erlang CMS

Maybe I’m wrong about first. But at least first that I tried and that easily started up and works 🙂 . The name is “Zotonic”. Authors are quite famous – Marc Worrell , Tim Bennings ( What is surprising in this CMS is if you have already installed erlang and postgresql, it really works from just starting ./ script, as it is uses inets internal erlang web-server (to be honest you still need to put password and user of your…

Nine reasons not to use Google App Engine for your production application

We’re using Google App Engine since version 1.2.2 for our product. Now version 1.2.8 is used. The number of problems make work with the GAE application far from user-friendly: It’s impossible to drop/create application with the same name. Sometimes when the application feels very bad you would like to recreate it from scratch. But it’s impossible. You won’t be able to use the same name for the second time. The possible workaround here is not to rely on the URL…

Magnolia on Glassfish

By default magnolia-cms is working on Tomcat, but it is easy to run it on Glassfish v2. You only need to deploy magnolia in glassfish and after that add default JAAS login configuration into login.conf, which is place in conf directory of your domain:

Also check that “Default Principal To Role Mapping” flag is not checked for your domain (you’ll find it on Configuration -> Security page of glassfish Admin Console).

Databases: slow count() statement with where clause on large tables

The typical task where count with where could be used in applications is showing data in html table with paging. So for instance to calculate number of pages you’ll use count(). Where clause used usually in case you apply some filters to find particular data. The problem is that count(*) is very slow on large tables in all databases that uses MVCC method of concurrency control ( including MySql when InnoDB is used as storage engine). And it is slow…

Dissapearing IE window

Sometimes we can have the situation when the download window disappears because of the IE security settings. This problem occurred in our GWT application. We have several places which return different kind of reports. The behaviour was really different in different places, while all of the reports are using the same method to write data and to open a new browser window. Some of the reports functioned properly, while IE window was closed immediately on others. I’ve spent hours trying…

Ready To Take The Next Step?

quote Get a Quote

Sumbit your project request by special form.
We'll get to you promtly with our costing of your project.