qTranslate stopped getting updates – What can you use as replacement/alternative for it?

qTranslate seem to be discontinued, at least it didn’t get updated for a while. Since the latest version has its issues with current word press versions I needed to find a replacement.

Of course I wanted to be able to convert my current qTranslate based wordpress multilanguage installations so put a focus on the import on qTranslate language files and articles.

A good solution was found fast:


Somebody created a fork of qTranslate and keeps it updated.


Encoding MP3s for use in Haxe Flash exports

I needed to encode some audio samples to be used in an Haxe Flash export and remembered the troubles I first had when figuring out how to create valid MP3 files for use with Haxe. Here a quick hint to everybody that has the same issues (Haxe complains about getting Layer 1 files instead of Layer 3) with embedding. Haxe denies the import when you encode the mp3s using Adobe Media Encoder and various other tools that I tested.

A tool that actually works for encoding the MP3 files for Haxe is Lame-Drop, which uses the Lame MP3 encoder. You can download it here:


Using Adobe Scout to profile a Haxe/OpenFL flash export

I needed to do some profiling on an flash export of a mobile Haxe/OpenFL/HaxeFlixel based project. Since I own a license of the creative suite I decided to test Adobe Scout. But it didn’t work, there was no sign of Scout noticing the swf file running. After a bit of research I found out that you need to enable advanced telemetry in the SWF file to be able to use scout. Since Haxe didn’t seem to have a function for this I looked for an tool to do this. And yes, there was something like it:

SWF Scout Enabler: https://github.com/renaun/ActionScriptExamples/tree/master/SWFScoutEnabler

That’s full source of the Adobe Air application. Compile it and use it.

Or if you are too lazy for compiling, you can also download a .air file that was created by the author of SWFScoutEnabler:


The link is mentioned in the read me of the Source Repository.

Android version of Haxe/OpenFL app not showing the icon after integrating Nuggeta

After integrating Nuggeta into a game it suddenly stopped having an icon. I’ve been verifying that the icons were existing, entered into the projects xml file and also that they were exported to the bin/android/res folder.

Everything was correct, but the icon still was the wrong one.

A close look into the file /{project folder}/templates/android/AndroidManifest.xml (part of the Nuggeta sekeleton) finally told me, why:

<application android:label="Fancy Game Title" android:debuggable="false">

The icon property was missing in the application node, so I added it:

<application android:label="Fancy Game Title" android:icon="@drawable/icon" android:debuggable="false">

Did a quick clean + build and the icon was working again.

Haxe/OpenFL: Iterating through Dynamic/Object using Reflect API

Here’s a simple example of how to use Haxes Reflect API to iterate through an Dynamic (Object):

public function setProperties(properties:Dynamic):Void{
  for (n in Reflect.fields(properties)){
    Reflect.setField(button, n, Reflect.field(properties, n));

“button” is a SimpleButton object in this case but the same method also works for Sprites, MovieClips and other DisplayObjects.

  • Reflect.fields returns an array with the keys of the Dynamic Object.
  • Reflect.field allows to access the values using the keys.
  • Reflect.setField allows to set the values of an object using the keys. The bracket notation from Flash (button[n]=…) will not work.

Avast Anti Virus now trying to trick users into installing unwanted software using the software updater.


I just uninstalled the free version Avast Anti Virus from a private PC after I noticed they started trying to make their customers install unwanted software. Right now it was Pokki for Amazon, here’s how the offer looks.


As you can see they greyed out the disable button which indicate that it’s disabled. And while it’s opt in, you are forced to select an option and Avast is trying to trick the user into pressing the button that installs the unwanted software by indicating there’s no other option. Such cheap behaviour that tries to trick users into installing software ruined that companies reputation for me. Avast seems to have no interesst in protecting the user from unwanted software installs anymore if they get paid for distributing it.

As for Pokki, that’s a software company that’s already known for offering software with spyware like tracking. For example they have a windows 8 startmenu replacement app that reports your exact usage of the start menu to their servers. Here’s an overview of their usage statistics for it:


Ofc that doesn’t mean that Pokki for Amazon does the same things, I just tend to be very wary of companies that already showed the world they don’t really care about the users privacy. And having an anti virus software like Avast trying to trick me into installing software from that company makes me more then wary of the anti virus software.

So good bye, Avast. I can only warn users of using Free Avast Antivirus now that they accept such shady methods in their security software.

public static constants with Haxe

If you are looking for a Haxe replacement of flashs public static const you should be taking a look at the inline property. The inline property variable value is being applied at compile time. That means using it doesn’t cost any calculation time – and that the value is final und unchangable.

Here’s a simple example for the class having a few static constants:

package [...];
class StartMenuEvents{
	public static inline var START_EASY:String="START_EASY";
	public static inline var START_NORMAL:String="START_NORMAL";
	public static inline var START_HARD:String="START_HARD";
	public static inline var START:String="START";
	public function new(){

And this is how the constants are being accessed:

startMenuUI.addEventListener(StartMenuEvents.START, onStartButton);

Fixing a problem with a broken xampp installation after a system reinstallation

I just had the problem that one of my old xampp portable apache installation stopped working after a fresh system reinstall. This is how I fixed it:

1. I disabled the Skype’s blocking of the ports 80/443. Read here.
2. I ran setup_xampp.bat to fix paths
3. I opened xampp/apache/conf/httpd.conf and replaced

ServerRoot “D:/xampp-portable-php5.4.22-apache2.4.7/xampp/apache”

ServerRoot "D:/xampp-portable-php5.4.22-apache2.4.7/xampp-portable-php5.4.22-apache2.4.7/xampp/apache"


ServerRoot "D:/xampp-portable-php5.4.22-apache2.4.7/xampp/apache"

Seems the xampp installation script doubled the folder name somehow.

After this the xampp installation was working again.

Flash CC – the best reason to switch to HAXE/OpenFL

Today I noticed that Adobe posted an update on what Flash CC changed compared to Flash CS6 on the adobe blog:


What’s already sad is that the article didn’t mention that Adobe dropped the Actionscript 2.0 support, which still is the standard in banner advertising. So if you are in the advertising field, be very carefull with upgrading, you will lose the ability to create or edit your AS2 work files. They also removed the kinematic bone tool, jsfl code hinting, the device central, the project panel and much more. Check the list posted here:


So what do you get for for losing all those features? These are the listed changes:

  • Optimized for 64bit macs
  • Automated higher resolution exports
  • The previously free CreateJS export plugin now is integrated
  • The GUI can be colored bright or dark
  • Better support for retina Mac displays
  • Batch exporting to multiple devices
  • Unlimited pasteboard/work area
  • Small GUI improvements for animators
  • A function to toggle comments
  • Build in Creative Cloud support for syncronizing flash settings over 2 devices

There’s also a improved html5 export function, but it’s far worse then the free google tool with the same aim, so I find it hard to take it serious.

This was the smallest most useless update in the history of flash. It’s no wonder that the public has the perception that Flash has been given up on. These updates are minor and only helping very few people. The removal of AS2 and various animator functions on the other hand hits animators of ad material hard.

So what’s the conclusion? Mine is keeping Flash CS6 and not upgrading to Flash CC since CS6 is better for animating – and that’s the only thing that Flash Professional is actually decent for.

For coding I switched to Haxe instead of Flash.

Why Haxe?

Haxe allows a user to develope with a language which was based on Actionscript at some point of time but was developed further while Adobe cancelled their language update AS4. It has frameworks for many tasks, is free, open source and has support for Android and iOs applications. It has proper commandline support, meaning you can easily integrate it into build systems, something that never was possible with Flash. There are more reasons, but the most important is being provided by Adobe themselves. They stopped doing proper improvements to Flash long ago while the Haxe developers are actively improving their product for many years.

As the supported platforms for Flashs are shrinking Haxe allow you to export to:

  • SWF (Flash)
  • Air (iOs+Android)
  • HTML5
  • native Android
  • native iOs
  • native Windows
  • native MacOS
  • native Linux
  • webOS
  • etc

There are frameworks like KHA for Haxe that support even game consoles:


Here’s another interessting read:


Haxe Site: http://haxe.org/

How to fix Git Extensions not saving passwords

There is a bug in Git Extensions for a long time and even though the developers claim it has been fixed, I just got it again with their latest version.

If you get the “command not found error”, here’s how you fix it:

1. Open c:\[Users]\[Your Username]\.gitconfig in a text editor
2. Change

helper = !\\\”C:/Program Files (x86)/GitExtensions/GitCredentialWinStore/git-credential-winstore.exe\\\”


helper = !\”C:/Program Files (x86)/GitExtensions/GitCredentialWinStore/git-credential-winstore.exe\”

3. Save

and done. I hope this bug gets fixed some day.