<<Previous Archive | Next Archive>>

My adventures with Flash and ActionScript

I am trying to learn at least one new programming language each year. Most programming languages are imperative, so this isn't very difficult if you are a bit experienced already, although I also had fun with several functional languages. This year, I tried out ActionScript/Flash, because it's quite popular today.
My review as C++ programmer: I noticed very soon that Flash/ActionScript really is a framework for creating animated banners for websites only. Everything else you can do with it is built around this banner-framework, so if you want to create something a bit more sophisticated, you'll struggle with lots of problems. The major problem is that ActionScript is simply slow. Try calling one single simple method in a nested for loop each frame and you'll get punished by a drop of framerate by about 90%.
The image on the left shows a program I tried to create, writing a simple iso engine in pure ActionScript. The engine simply renders scrollable iso tiles of a 100x100 map, and it is extremely slow. When I wrote something similar nearly 10 years ago using Delphi on my Pentium 60, the output rate was higher. The slowness doesn't have to do anything with the graphics, it's only the loop which calculates the tile positions. There are ways to improve this for example by inlining calls manually, but that's very exhausting and IMO should not be necessary anymore today.
But apart from this, Flash is quite a mighty framework, targeted at graphic designers.

irrKlang 0.6 released: including .NET support

I just released version 0.6 of irrKlang, the free 3d and 2d sound engine. New features are a .NET port supporting languages such as C#, VisualBasic.NET, Delphi.NET, IronPhyton, F#, Haskell.NET etc., as well as playback of .MOD, .XM, .IT and .S3M files and some smaller bug fixes and some implemented user feature requests. I also added 4 tutorials for C# and VisualBasic.NET to show how to use irrKlang in there. The C# ones are available online as well. For a complete list of changes, see the change log.

So irrKlang is quite feature rich now, although there are still some things waiting to be added, like events. The next bigger software I'll be working on in the near future is irrEdit, which I promised to open a bit more (via plugins at least) and thus I'm also getting my hands on Irrlicht again, finally.

Anti-Spammers Are Lamers

I'm getting lots of funny and strange mails from time to time, but this one was a bit different:

From: Foobar Baz <foobar@example.com>
Subject: anti-spammers are lamers


regards, spammer.

What's the problem of this guy? Doesn't he like my modded blog comment form? Or was this against alvaro 'spam-killer' celis? I think I'll never get to know :)

My struggle with the real-estate agents

I already wrote, I'm struggling with the lazyness, stupidity and the ignorance of Austrian real estate agents again. It's horrible. They usually get 3 times the monthly rent when they broker an apartment (and I've read Vienna currently is as expensive as NewYork) but they don't do anything for this. For most of the apartments I want, I don't even get those people on the phone, their secretaries tell me that they will call back but they won't. And if you get one of them on the line, they are totally dumb. Latest example of a dialog on the phone:

Me: Hi, I'm interested in the apartment XY mentioned on your website, the one in the Foobar-Street, and would like to inspect it.
He: Hi.
Me: So, well, is it still available?
He: (unfriendly) Which one?
Me: Foobar-Street.
He: (even more unfriendly) I've more than one apartment there.
Me: Yes? Nice, so maybe I can see the others as well. I meant the one with XY square metres.
He: Yeah.
Me: Yeah, what? So can I see it? (Usually, agents would give you some appointment to choose from at this point)
He: (Very unfriendly) Yes.
Me: Ok... So how about an appointment?
He: (no answer)
Me: Today (friday), or maybe next week?
He: Tomorrow.

And so on. How about a little bit friendliness? How about not letting me pull every single information out of you? I mean on an average, they'll get more than 1k euro for this. Bastards.

Update: Apartments in Vienna are not as expensive as in NewYork, but the cost of living is.

An outlook to irrKlang.NET and its implementation details

irrKlang.NET will be the .NET port of the next release of the irrKlang sound engine, to be released in about one week. This means simple and fast 3D and 2D sound playback of lots of (TBA) file formats for games and multimedia applications written in all kinds of .NET languages like C#, VisualBasic.NET, Boo, IronPhyton or whatever.
I've now some expericence porting C++ libraries to .NET (not only with Irrlicht.NET) and decided to improve the integration a bit this time. irrKlang.NET will be a stand alone, single .DLL and not need the native C++ .dll in addition as known from Irrlicht.NET, but it still will be able to load all C++ written plugin dlls. Basically, this was simply done by compiling the static irrKlang library into the managed C++ .dll, and then struggling a bit with initializing the static C++ initializers. There are lots of ways to do this, and the simplest way is calling __crt_dll_initialize(), as far as I've found out.
I'm not making every little detail of the original lib available in the first version of irrKlang.NET (like I'm going to omitt the possibility to write own audio decoders) but it will be pretty useful I think. And as far as I am counting the mails asking for this .NET version, I think a lot of people will be a bit happier after this. :)

Did I mention that I suck at website and logo design?

Because the next irrKlang release is coming nearer, I wanted to clean up the ambiera.com website a bit, IMO it is totally ugly, because it was 100% made by myself. So I sat down and improved it several times. Between each improvement iteration I made a break of several hours to be able to examine my last change more objectively. After 4 or 5 iterations, I really liked the result. Then I compared it to the current website version:

OMG, I thought: They are still completely the same! The only real difference is that the new version (left side) has more space because I removed the google ads at the right border. Damn, and I wasted a lot of time with this. Next time I'll really ask somebody who knows something about website and logo design to do it for me. :)

Why I'm busy currently

Currently, I've a lot to do. Not only did we release Irrlicht 1.3 last week, I am also doing a lot of administrative stuff preparing the already announced major change in my life. And if it wasn't enough, I am now also searching for a new apartment, and the estate agents are everything but helpful (what are they getting their mony for anyway?).
But to get away from this I took a time out on sunday and wrote some irrKlang code, updated it to irrlicht 1.3, fixed some bugs, added some features and prepared a new release. Here is a demo of one of the new features, if you are interested: irrklang06test.zip (200 KB), windows only.

Irrlicht 1.3 released

We just released Irrlicht 1.3. Check it out.

Galactic Dream: Rage of War

Did you ever play one of those realtime strategy games where you can command a space fleet in space? No? Maybe time has come to change this. :) The Galactic Dream: Rage of War demo is available now. Interesting part: That game has been written using Irrlicht.

Personally, I like the colorful and nicely animated space background best. Makes Irrlicht look pretty good :)

Nice work, Pr3t3nd3r & co!

Things you don't learn at university

As experienced software developer, maybe you also have learned that good education isn't everything. Especially as programmer, you'll never finish learning. There is always a new language, some new design patterns or a cool new algorithm. Lesson for today: Intelligent Design sort. Damn it's fast.

Viacom still doesn't get it

Today Viacom sued youtube and google because of copyright infringment and wants 1 billion dollars. I only noticed this because lots of blogs and forums are now linking this blog and the article describing the fun the Irrlicht community already had with this company and its false copyright claims.
My two cents: Just let them sue. Basically, they are doing this because they still have not learned from the napster desaster. Once youtube is gone, other platforms like this will rise. If there is no legal way for people to get what they want, they will use the illegal ways. Viacom: it's not google's fault that your business model is broken and that you cannot keep up with modern times. Or to say it with this picture I shot last weekend:

Staplerfahrer Klaus

Staplerfahrer Klaus made it onto digg! It's german and it's 8 minutes long, but you won't regret to watch it until the end even if you don't speak german. :)

New font tool

One of the new features of the upcoming release of Irrlicht is the new Font tool, created by gaz. Personally, I really like it, not only because it was written in Irrlicht itself and uses its included graphical user interface:

irrlicht engine new font tool

Since the first release, a lot of people where asking for a better font support, now you have it. Irrlicht will be able to use anti aliased, vector based, alpha channeled fonts as well as the old fonts consisting of just one single image file. Until now, it was difficult to use fonts with a character set other than ANSI, now it won't be a problem anymore. Great.

H-Craft Championship

Damn, I'm sick. I'm lying in the bed the whole day and cannot do anything. I'm trying to blog a bit to escape the deadly boredom, but even writing this blog entry takes ages. It's easier to blog an embedded youtube video (premiere on this blog!), showing H-Craft Championship, an upcoming commercial game using Irrlicht:

Looks nice, so far.

Lфst in Trдnslдtion

Just found this text:

irrKlang это кроссплатформенный 2D и 3D аудиодвижок высокого уровня и библиотека, поддерживающая WAV, MP3, Ogg и другие форматы, реализованные на C++. Имеет как все функции низкоуровневых аудио библиотек, так и другие возможности. Большим плюсом является очень простой API.

My russian is very limited, but it's the description from the irrklang webpage. Reminds me on the beginnings with Irrlicht, I really liked it every time I found the translated descriptions of it on other websites and new languages. :)

Best Adsense Alternatives and Replacements

Maybe you've read, Google banned me from its Adsense program totally unjustified about two weeks ago. Now, they've send me a mail apologizing for this and it looks like I'm in again. Nevertheless, they decided to withdraw 20$ from my account for this asserted 'invalid clicks' of which they still don't provide any details. And because nothing prevents them to do this over and over again, I've searched for some alternatives to Google Adsense, here is what I've tried out:

Text Link Ads

Text-Link-Ads is a program where real links on your website can be bought by people and you'll get a fixed amount of money for this. For example for a small website and 4 permanent links, you can get 200$ per month. I really like this concept, not only because of its simplicity. If I ever want to do internet advertising, I would use this instead of google ads because text link ads are really integrated into a website (not only via java script) so that also bots would follow those links, maybe also increasing your page rank. You can see a small demo of this on the top right side of this blog. Text Link Ads offers payment via paypal, which is a major advantage if you are living not in the U.S. like me (lots of ad programs want you to live there). Another plus: There is a support mail adress, and they are answering quite fast and friendly. They also have a referrer program, for example if you sign up using this link, I get money for this.


Bidvertiser works and looks just like Google Ads. It displays configurable context dependent ads on your website and you get payed per click. Bidvertiser has the image of not paying very much, but according to my experience this is not true. The only disadvantage for me was that they don't have that much advertisers related to the content of my webpages, resulting in uninteresting ads for most visitors and so people would not click that often on the ads. Pros: Bidvertiser offers pay pal payment as well and has a very clean interface.


Some people recommended me to use TargetPoint, and so I signed up to try it out. Unfortunately, they didn't think I'm worthy for their program or maybe they are simply slow. I didn't recieve an answer to my registration until today.

Those three were the few ad companies I tried out after reading websites and reviews of about 2 dozen companies, and I really can recomment the first two: Text Link Ads and Bidvertiser.

Irrlicht and irrKlang for Java

Take a look at the image below: It shows one of the interactive demos of Irrlicht (btw, need to make a better looking one soon) which comes with the SDK. You can walk around and shoot fireballs. The demo also has sound (fireballs) and music (by Markus Rohde).


The cool part of this: This is not the original C++ demo, but the demo rewritten in Java, using jirr. Jirr has just been released in a new version by Stefan Dingfelder, supporting Irrlicht 1.2 as well as irrKlang 0.5. That's very cool. And this means irrKlang already is available to be used in 4 languages: C++, C, FreeBasic and Java. (And before anyone asks, yep, I'm working on the irrKlang.NET port, adding languages such as C# and VisualBasic.NET).