blog moved

Hey guys,

q23p sponsored me the domain with webspace so that I had the posibility to set up a wordpress blog there.

I will continue my blog at

see you there 🙂



return the colors

During the autumn holidays I wrote a short jump ‘n run game called “return the colors”.

It’s written in C++ using SDL. I hope you like it 🙂


Linux, 64-bit:

Linux, 32-bit:


have fun!


a domain? … :)

Yesterday a really nice guy called q23p sponsored me the domain with webspace on his server.

At the moment there’s just the normal homepage which has originally been at, but maybe I’ll create a german blog there.

q23ps (german) blog:



#ScribbleJump – global highscores


though I’m in Great Britain, I got some time to work on a global highscorelist for Scribble Jump.

You can see the highscorelist via your browser on It’s a very basic page, as I focused more on encrypting the submission of the highscores.

Of course you want to beat that highscore 😉
To do that, download the latest alpha-build here( and install it on your device.
I was a little bit lazy, so you have to go first “highscorelist” then “global” and wait until the highscores are loaded, before you can submit your own highscores.

I appreciate any feedback you give me. have fun 🙂


buy an android-phone (need help)

It sounds quite easy. Go into a shop, ask for an android-phone and buy it.
But there seem to be so many factors you have to take care of.
After some research my favourite is the Samsung Galaxy S I9000, but I am still not sure if I should buy this one.

So I’m asking you, which android device you have and which expiriences you had with it.
Maybe you can suggest me whether to by the Samsung Galaxy S or not.


tutorial: how to make full and lite versions

After having read this article, I wanted to write down this knowledge for me and for other people who did not understand that article.

Therefore I first wrote a simple test app like the one in Donn’s article with two buttons which just display a toast message:

package net.example.bitowl.testapp;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class TestApp extends Activity {
  /** Called when the activity is first created. */
  public void onCreate(Bundle savedInstanceState) {

    final Button button = (Button) findViewById(;
    button.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {
        Toast toast=Toast.makeText(v.getContext(), "Something is happening.",Toast.LENGTH_LONG);;
    final Button button_cool = (Button) findViewById(;
    button_cool.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {
        Toast toast=Toast.makeText(v.getContext(), "Something cool is happening.",Toast.LENGTH_LONG);;

This is now the full version of my App.

On the project folder of “TestApp” do a rightclick. Then “Properties” -> “Android”. Check the box “Is Library”.

Create a new project which has the packagename of the full app with .lite behind it. Do not create an activity for it.

Rightclick on TestLite -> “Properties” -> “Android” -> “Libraries” -> “Add”

Select your “full” – project and click “OK”.

All the code of your “full”-project is now included in your “lite”-project.

You just need to tell the “lite”-project to also load the activity from the “full”-project.

Insert this lines into the AndroidManifest.xml:

        <activity android:name="net.example.bitowl.testapp.TestApp"
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />

Now both of your projects should result into the same app…

(note: If you link a lib into another project the assets-folder is not linked. So you need to copy your assets-folder also to the “lite”-project and keep it up to date.)

But you do not want all features of the full version to be in the lite one.

So create a method like this in your activity:

    public boolean isLite(){
    	return getPackageName().toLowerCase().contains("lite");

Now if there is a feature that should not be in the lite-version, just add an if and maybe a message to purchase the full version:

        final Button button_cool = (Button) findViewById(;
	        button_cool.setOnClickListener(new View.OnClickListener() {
	            public void onClick(View v) {
	            	Toast toast=Toast.makeText(v.getContext(), "Something cool is happening.",Toast.LENGTH_LONG);
            button_cool.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                	//This is not allowed in the lite version
                	Toast toast=Toast.makeText(v.getContext(), "You need to purchase the full version to do this.",Toast.LENGTH_LONG);

In the lite version the “do something cool”-feature is not avaiable anymore 🙂

I hope this tutorial was useful for you and not in too bad english.

You can download the project files here:

If you know how to do things better, find some spelling mistakes or just want to say something about this, please write a comment.