Yahoo! Maps

Today I finally had time to work on my GSoC project again. I used it to figure out how the Yahoo! Maps API works.

Yahoo! MapsIt’s quite similar to Google Maps actually (compared to Open Layers) and easy enough to integrate with Semantic Maps. I also created the base of the extension page for Semantic Maps, on mediawiki.org and worked on the core code of the extension.

I’m hoping to make considerable progress with the later tomorrow :)

Exam and GSoC weekend

MediaWikiEven though I’m in the middle of my exam period, I was able to work on my Google Summer of Code project this weekend since tomorrow, Monday, I have exam informatics (theory). I need to get -6.5% somehow to fail for informatics this year – lol.

After I finished to look over Open Layers, Semantic Google Maps, Semantic Forms, Semantic Result Formats and the Google Geocoder extension, and writing the base of the Semantic Maps extension, I finally started on creating a draft for the whole extension, describing what functionality it should have, how this functionality should work and hook into MediaWiki, and what the overall structure should look like. Yaron helped me out with some questions I had about the parser functions for Semantic Maps, and after reading about some more aspects of MediaWiki extensions I now realize I’m not familiar enough about, I’ll start creating the core functionality of Semantic Maps :)

I won’t have time for that tomorrow though, since I’ll have to study for my exam French *emo screamz*.

Did I mention that last Friday I went to school with a big blinking GSoC sticker on my forehead? :D

Google Summer of Code 2009 logo

KA Sint-Niklaas finally into the trash can

Yesterday I got back my result of my last year of school in secondary education. I passed (yay!), and so did the rest of my class (congrats to all). This means I don’t have to learn the ridiculously restarted crap I had to study any more, and can focus on things relevant in a post-stone-age world. Of course, I’m entirely grateful for all the training I got, cause now I’m prepared for getting thrown back into time through some gap in the space-time-continuum 🙂

After doing a lot of searching for a school with a good course, I decided to go study Industrial Engineer Informatics at the University of Gent. Although I know most of the programming study material for the first two years, I’ll also get electronics, physics and chemistry.

Note: I re-posted this after my blog DB got lost, and only posted part of the original message.

The quest for the GSoC money

I finally received my first Google Summer of Code payment.

This payment was in the form of a prepaid card send to me via mail, together with 2 GSoC stickers and a Google notebook – YAY! Getting the money from the card proved to be quite an ordeal though.

The first step required to getting the money from the card was registering on the citiprepaid website. To do this all GSoC students needed to fill in a form with your name, email and other info. You also had to enter your phone number. This is where it got funny. The form contains 3 fields to enter different parts of your phone number into, but only 2 of these are visible -> WTF??!! Since the phone number is required and must be valid, no one can submit the form without a workaround provided by another GSoC student: using the FireFox plugin Web Developer to display detailed form information, which would then also reveal the hidden field. Another issue here, although considerably smaller, is that only US numbers will be accepted, which forces all non-us residents participating in GSoC to enter a wrong number.

By making it impossible for non-geeks to successfully submit the registration form, citiprepaid now joins Argenta on my list of banks that try to fuck up their websites.

Anyway, I got my €350 from the card (although it took me at least 3 hours to get all the damned stuff fixed), so I’m happy :)

Open Layers

While working on Semantic Layers I had to fix up some issues with Open Layers itself, and therefore went to have a closer look at the Open Layers site.

Open Layers

Since I need to have a good understanding of Open Layers for both the Semantic Layers and Semantic Maps extensions, I’ve decided to have a good close look at it. After going through some docs and examples, I’m really excited about how it works, and can’t wait to implement it in Semantic Maps. The current SL version is still using OL 2.5, which I will also change to 2.7 (the latest stable release).

I’ve also made some progress on SL, although a lot of my time has gone to school work. I think I’ve now fixed all except a few small issues in the area of decapricated code, and I’m also bussy at fixing some of the core functionallity.

Apparently the original autrhor of SL really didn’t know the php function array_key_exists($key, $array), cause I’ve replaced at least two dozen isset($array[$key]) :p

Semantic Layers

This weekend the Google Summer of Code 2009 coding period started. I already did quite some reading an looking into the code before, but now fully got into it.

Semantic Layers

As explained in my original GSoC post, the goal of my project is to create a Semantic Maps extension for Semantic MediaWiki. Me and Yaron, my mentor, decided that it was best I first fixed up the Semantic Layers extension, so it would work with the latest version of Semantic MediaWiki. After two days of work I fixed a few dozen small PHP errors that caused warning and notices and largely replaced the decapitated code with the replacements for it (at least, that’s what I think). Since the extension was experimental to begin with, it does not fully work yet, without modifying the extension code itself. This is now second on my to-do-list, after fixing a nasty (and LAME :D ) bug that came out of nowhere after one of my last edits.

I’m really looking forward to starting to work on Semantic Maps itself, cause then I won’t have to bother all the old code, and will be able to build a nice code base from scratch :)

Chaos Islands

Yesterday I created 2 C&C Generals movies with some film material me and Darklight recorded during a game on Chaos Islands, a C&C Generals map I scripted. I’m really pleased with the results. Each movie is relatively short, one is 2:39, and the other one only 1:17. I’ve created them based on some nice ‘end of the world’ tracks.

The first movie is titled Project Chaos Islands. It features the track form an Earth 2160 trailer. You could see this vid as the successor of Project Armegeddon, a similar movie I made over a year ago.

The second movie is titled Chaos Islands – When earths natural recources run out… It’s based on a track from the intro of a small on-line game. I already used this track in an old vid, The end is near, which uses the same text as this movie, but lacks any real vid material.

A few days ago I also recorded the intro of Chaos Islands, click here to view it. You can download the map together with some other cool maps at my C&C Generals maps repository.

BN+ Framework 2.0.3 released

I’ve just released a new version of BN+ framework. It features a variety of new classes since version 2.0.2 plus some bug fixes and stability improvements. Also some classes have been added the the class library or control library repositories on BN+ Discussions, and a few of them now have detailed articles on The Code Project. Here you have an outtake from the release notes:

New classes
* BugSubmitter: A dialog that enables user to submit variouse types of bugs with build in validation. Sends it’s info to a webservice.
* PasswordDialog: Password editting dialog with optional authentication and live validation .
* SimpleLoginDialog: A simple login dialog that prompts for a password.
* FileDownloader: A class for downloading files in the background that supports info about their progress, the total progress, cancellation, pausing, and resuming. The downloads will run on a separate thread so you don’t have to worry about multihreading yourself.

Revised classes
* CryptoProvider: Now allows you to pass more advanced settings for AES and offers easier to use methods for RSA, DES and TrippleDES.
* CryptoStr: Has been rewritten to work with the new CryptoProvider and is now easier to use.
* Updater: A bug in the version compare algorithm has been fixed
* BruteForceAttacker: New version included (BN+ Framework 2.0.2 contained an unstable alpha build of this version)

* …

Further development
* The CyrptoProvider class will be rewritten from scratch and be made abstract, and serve as a base for separate DES, TDES, RSA and AES CryptoProviders.
* BruteForceAttacker will be made more modular and work on multiple threads.
* FileDownloader will get support for multiple downloads at the same time and segmented downloads.

I’d also like to thank everyone who helped with this project by providing bug reports, suggestions, contributions, or by simply using it!

If you are interested and consider to use this framework, please review the official topic and framework documentation.

BN+ Converter Pro 1.0.6 released

I finally finished the last details on BN+ Converter Pro after some extensive testing, and released the new 1.0.6 version.

BN+ Converter Pro 1.0.6

BN+ Converter Pro 1.0.6

Like I wrote before, quite some features got postponed to future versions, but still a lot of new functionality has been implemented. Here you have a copy from the release notes:

New features

* Multi language functionality: You can now view the main interface in both English, Dutch, German and leet. The application will automatically detect your computer language and use it at start-up. You can disable the auto detect option via the options menu, and then choose the start-up language.

* Advanced cryptography options: Via the options menu you can change the DES and TrippleDES keys and initialization vectors, and configure the AES (Rijndael) salt, password phrase, initialization vector and iterations.

* An automated update platform: The application will automatically check for updates when an internet connection is present. When there is an update, the application will show you some information about it and provide you with the option to download and install it. You can also manually check for updates via menu -> Help -> Check for updates.

* Bug report creator: When you find a bug (typo, wrong behaviour, application crash, ect…), you can now easily report it via the build in bug report creator. You can find it in the menu, under Help: Report a bug…

* Password protection: This feature enables you to protect the application, and the settings (like RSA keys) stored in it, from other people. You can turn it on via the options, in the section utilities.

Fixed bugs

* Hashing of an empty string (This caused the application to crash in v1.0.4, and was therefore disabled in v1.0.5, but now fixed and re-enabled)

* Auto saving of text (Even when enabled in the options, this would not be done in the previous version)

Further development

These are features that are on the roadmap for future versions of BN+ Converter Pro. Every feature might or might not be implemented, varying on the demand.

* Create a plug-in system for BN+ Brute Force Hash Attacker and other relevant applications

* Add build-in help contents

* Recode the codec system to work text file based (so users can create their own codec’s and share them)

* Redesign the options menu and add live validation to it

I probably won’t work on this application for a while, and won’t release a new version before the end of 2009. The first thing I’ll do with it probably is handling the multithreading issues, as anice exercise.

Like before, the application is downloadable in 3 formats: setup, direct run and u3. I’ve also updated the legacy package (containing the old releases) and will do some effort to update the documentation soon.

If you have any suggestions please send them over.

Password edit Dialog

While working on version 1.0.6 of BN+ Converter Pro, which is scheduled to be released this weekend, I created a dialogue that allows users to edit their password. It features live validation, user friendly feedback, and optional authentication.

The dialog is written in VB.Net, and can be downloaded on BN+ Discussions. Dutch support can be found here.

This dialog will be included in the 2.0.3 release of BN+ Framework, which is scheduled to be released on the 23rd of May. This release will feature some high quality new classes and dialogs and a few bug fixes.