Integrating Tomcat and Apache on Mint Linux

On May 31st, 2014, the Linux distribution Linux Mint 17 (named “Qiana”) Cinnamon has been released. Since I wanted to replace Ubuntu Linux on my Lenovo ThinkPad with something else (but nothing too far away from it), I choose Mint Cinnamon (64-bit). Installation was easy and fast, but then I had to redo the installation of my CMS synformation on that machine (simply because I use it as a development and test machine). Java 1.7 (OpenJDK) was installed already, so I had to install Tomcat, MySQL, and Apache. Here, I’ll only talk about Tomcat and Apache, because I choose to use another way to integrate both: I had used mod_jk before and was looking for an easier way.

Read More »

ForzaDroid for mobile devices

It has been a while since I played Forza Motorsport 3 the last time. Today, I visited the Online Forums there and recognized that with the exception of ForzaTune for the iOS platform and ForzaDroid for Android, there are no other suspension calculators for all the other mobile devices. Some have asked to find out if there’s demand, but nobody has actually implemented one.

Since I don’t have the time nor any motivation to port ForzaDroid to another platform, I will not do it either. But I’ve already implemented ForzaDroid for the Android platform, and everything I need for a web application is there. So I spend a couple of hours and made a web application that’s optimized for smartphones. It should run at least on the following platforms/browsers without a problem: Safari, Android, Symbian/S60, Nokia Series 40, webOS, BlackBerry (3.8+), NetFront, Motorola Internet Browser, Opera Mobile. You need to have JavaScript enabled.

Click on the image to start the ForzaDroid for mobile application:

Screenshot of ForzaDroid for mobile devices

Read More »

Virtual Private Network (VPN) as a safety belt

While my daughter was working on a school project, she was looking for a fully searchable text of “Animal Farm” from George Orwell and found it on the Australian web site Project Gutenberg Australia. The offer was legal, but had she downloaded the text, she would have committed a serious crime, a copyright violation. Two more, and our entire family would be eligible for disconnection from the Internet – at least in some European countries.

A little background: prior to the US-Australian Free Trade Agreement from 2005, copyright in Australia expired 50 years after the authors death. After the FTA was signed in 2005, copyright now expires 70 years after the authors death. That’s how it is in Europe, too.

George Orwell, the author of “Animal Farm”, “Nineteen Eighty-Four”, and four other novels, died January 21st, 1950. So in Australia, his works where in the public domain since 2001. And that didn’t change with the FTA from 2005. While George Orwell’s novels are not in the public domain and are still under copyright in Europe, the opposite is true for Australia. That’s why Australian web sites like Project Gutenberg Australia can legally offer George Orwell’s works for download. George Orwell’s works are also in the public domain in Russia and Canada. In Europe, his works will be in the public domain in 2021, and even later in the US.

Read More »

ForzaDroid, Forza Motorsport 3 suspension calculator for Android

When Turn 10 offered Forza Motorsport 2, I bought an XBOX360 just to play this game. And I didn’t regret it. During more than two years I played approximately 3.000 games online, most of them in the public lobby system that Forza Motorsport had. I’m not a good racer, but I improved over time. I primarily try to have fun while racing clean.

Screen from the Android application ForzaDroid

During the first month of Forza Motorsport 2 online gaming, one of my new online friends I met in the public lobbies tuned one of my cars for me. Wow, what a difference that was compared to the not tuned car. It handled much better and was faster, too. Armed with the knowledge that tuned cars can have better handling and can be faster, I tried tuning some of my other cars myself. Hmm, was much more difficult than I had thought. Most of it was trial and error, and I got tired fast.

Read More »

instantOLAP: The ROWNUM() function and grouping

InstantOLAP is a lightweight reporting and OLAP system. It’s made for OLAP reports. But if we have a non-aggregating query, we can still list all the rows by using the ROWNUM() function, which helps iterating over the result set. But we’re not able to use a dimension for grouping the rows of the result set.

I’ll give an example: imagine we have rows describing some customers. Each customer is in exactly one customer category. What we now want to have is a list of all these customers, but grouped by customer category. And because we have a dimension for the customer category, we want a separate table for each category. The naive solution seems to put the customer category dimension as an iteration into the outer block of the pivot table. But this will not work because ROWNUM() – an thereby the LINE_DIMENSION – is the only dimension used for iteration.

Read More »