Dotiac::DTL released

February 11, 2009

I was bored over christmas with my family and I implemented the Django Template Language (DTL) in Perl. So if anyone needs it, go to and check it out.

It’s probably not very stable, since it’s only about a month old (from the first svn-checkin). However it works and renders all the templates I could find for Django. It’s also free, of course.

If anyone finds a bug, drop me a mail, comment or put it into the Sourceforge Tracker.

P.S. It can replace HTML::Template now, with just one line changed. (Also renders combined HTML::Template and Django code)


Sofu – Coding Mania

February 13, 2008

I had a coding attack this week and wrote a lot new stuff for Sofu:

First of all I finally finished (and documented) Data::Sofu and Config::Sofu which are currently processed by CPAN and should be there soon.

And to satisfy my coding needs I implemented the long planned Binary Sofu file format. Which can be streamed over 7-Bit only streams or just written to a file. The reader even autodetects binary files and reads them as if they were normal ones. Maybe later I could implement something like XMLRPC (maybe SofuRPC).

Then I went a coded Sofu.Net in about 2 days, my first “real” C# project. I had used C# only for study so far, but I was quite happy with the language. I think I should test some other languages as well, maybe a JSofu or one for Phyton. Sofu is a nice task to implement, most time was consumed by the documentation anyway.

Both can be downloaded at Sourceforge and

By the way: Anyone noticed how hard it is to extract the in-line documentation of .Net Projects to a simple browse-able HTML page?

It took me 3 hours, first I tried NDoc, but that only works for .Net 1.1, then NDoc 2005. which assumed some strange directory structure and always wanted to have its files in my personal folder (Users\Maluku\AppData\Documentor ???) and only says to work on 2.0 (Didn’t work at all for me, even after I ported my project to .Net 2.0).

Next up was Microsoft Sandcastle, which is quite good with the extracting, but someone has to be punished for that User-Interface. So I tried Sandcastle-Builder, which said all went fine but it produced no output. (Or one empty file after some tweaking).

I tried DocProject next, but the web-page was slow as hell and made no sense to me.

Finally I got it to work with Sandcastle Help File Builder (from the same website), which looks like NDoc but works and produced:

One .chm file.

Which I couldn’t use to put on the Internet, so I had to extract that one (with chm2web.) which looks quite nice now.

Suddenly I came to realize why I love Perl so much. You just include your documentation using POD in the file and then run pod2html or pod2latex or pod2wiki or whatever you like on the file and you are done. That’s why the documentation for Data::Sofu only took about 30 Minutes (including building a .css and some frames around the generated .html files).

Plasma – Forums

December 20, 2007

I coded the Plasma Forums in 4 days, 3 hours a day, that’s got to be a record, I also included: Skins, a News system, a better transfer screen and a lot of other stuff, its currently running under

Also new is the register feature. Well its needed if you want to create a new account. Although Hotmail seems to be blocking my emails send to them, probably a spam filter or something. You even can now claim accounts under my accounts. Its works quite easy, you simply select a character to claim as yours and then you log into Freelancer with that character and you will get a password send to you. Just enter this on the claim-page and the whole account (5 characters) are yours. It work like that on the first try, I never had to do bugfixing for it … and no admin is needed.

Forums features now include:

  • Plasma-based right managment, you can for example say this Forum (Subforum) can be moderated by the Clanleader of a specific clan. and the clan can decide on its own who can moderate. Same goes for other permission, like “Admin” for Server Rules or similar sections or just plain old “USER” or “” permission where only users or everyone can post. You can set permissions for read, post and moderate
  • Support for BBCode and HTML post. HTML is checked by HTML::CGIChecker (thanks to whoever wrote that) and it forces the post to not kill the design and it even removes javascript and similars.
  • Moderators can move, split and merge threads with about 3 clicks.
  • It has not all the real features of a phpBB or similar: You can’t upload files, it only supports Signatures, Avatars and Custom Titles (No ICQ and Home and Phonenumbers, but I don’t need that anyway)
  • Complete backtracking of all the changes made (as a moderator) to a post.
  • Completly skinable using the Plasma skin sytems. (I already had that one, so why not use it).
  • All the other common Forum features: Unread posts, Sticky, Closed Thread, Quotes and Editable posts

Coding is fun 🙂

Plasma – Maps v2

March 13, 2007

All my messing around with OpenGL has finally payed of a litte. I was able to introduce a small feature to plasma which makes the user able to rotate, zoom and move around the generated map of a system. The fun part is: All the 3D calculations (or what I think of it) is done in the browser by a small javascript, so it is  (somewhat) fast and produces no server load at all.

Thanks to this you can now move view maps that leave the ecliptic like Guanaga Proxy in Freelancer Evolutions. This makes understanding such systems a lot easier, since the top-down view is not much help at all.

New York

By the way, this is the first time I admitted Javascript is good for something at all.
Half a year ago  I would have said everything with “Java” in it is unusable and not needed for (yes even the coffee and the island) but since I was forced to deal with Java and Javascript I’m starting to like it both. Still not sure about the coffee. (Or coffee at all).

I think I’m losing it, but who cares. (Not me)

Addition: I can implemented much nicer looks now by mapping the z-coordinate to the z-index property of CSS.

z-index in action

Plasma – Maps

March 5, 2007

While I was still trying to replace IONCROSS with Plasma, I figured: why not replace Datastorm as well?
On my machine Datastorm takes around 10 Minutes to read all the information on systems, items, markets, bases and ships into its database and shows it. Plasma reads the same (including also the .cmp files for the ships to get all possible hardpoints for a model) in around 3 seconds.

Next thing to do was to build a nice output into the website and this is what came out of it (after a long fight between me and Cascading Style Sheets):

The Universe (TNG Mod)The New-York system (TNG Mod)

All images rendered in Minefield (Firefox 3.0 beta), because in Firefox 2, Opera or Internet Explorer the grafics look kind of pixelated. Thats because I can’t use transparent PNGs in IE. I have to use GIFs and downscale them and only Minefield can scale transparent GIFs bicubic which looks a lot better.

Plasma – New Design

March 5, 2007

I finished the new design for the plasma webinterface a few days ago, someone told me the old one was too “white”.

This one is darker now and it has a cool scaling Freelancer-style dialog around the main page.

Plasma main page

It was hard enough to make this one look good in my Firefox, but I had to redo it completly to make it look usuable in the Internet Explorer. Opera still screws up the dialog size in the middle.

Also included in the features are now clan creation, clan management and a clan storage, the administrative part is yet to come (I’m scared about that)


September 14, 2006

For my work I got to make a lot of documentation in typo3.
I usually do all the stuff in pod, because you can export that to almost every other format, but you get it, not to typo3.

Typo3 inputs normal HTML like that one exported from the TinyMCE, FCKWEditor or whatever they are using on that site. The normal pod2html won’t put out the nice and easy HTML. It uses dd and dt tags, which Typo ignores.

Long story short: I was annoyed by that and wrote a small pod2typo script and a Pod::Typo module, that uses Pod::Parser to read the files.

get it from

Licensed under the MIT license.

Plasma – CPAN Modules

September 12, 2006

Going to make all modules Plasma uses available on CPAN, but under different names because I neither want or need to have them all as a single name module.

I gonna sort them all into the Games::Freelancer tree.

  • FLBini ->  Games::Freelancer::Data::Bini (Bini reading and writing)
  • FLResource -> Games::Freelancer::Data::StringResource (Getting names from the .dlls)
  • FLUtf -> Games::Freelancer::Data::UTF (Reading and writing UTF-files (.cmp, .3db, .ale, .utf …))
  • FLCodec -> Games::Freelancer::SaveGame::Codec (reading and writing FLS1 files)
  • FLPlayer-> Games::Freelancer::SaveGame::Multiplayer (Oo) (manipulation of server side savegames)
  • FLPlayer::Cargo -> Games::Freelancer::SaveGame::Multiplayer::Cargo (Oo) (Cargo manipulation)
  • FLPlayer::Character -> Games::Freelancer::SaveGame::Multiplayer::Character (Oo) (Character look manipulation)
  • FLPlayer::Houses -> Games::Freelancer::SaveGame::Multiplayer::Houses (Oo) (Reputation manipulation)
  • FLPlayer::Name -> Games::Freelancer::SaveGame::Multiplayer::Cargo (Oo) (Name functions (decoding / encoding)
  • FLPlayer::Position -> Games::Freelancer::SaveGame::Multiplayer::Position (Oo) (Position in space or on base)
  • FLHash -> Games::Freelancer::Utils::Hash (CRC and CMP hashing)
  • INIARRAY -> Games::Freelancer::Utils::IniArray (Oo) (Ordered and structered hash-like data with multiple keys)

All at CPAN, as soon as I get the final proof read done.