New Years!

It’s new years, and I thought I’d post a little about what I’ve been (attempting) to do this week.

Ad Astra

Ad Astra is a space based game I’m writing with some Uni Friends. It’s a turn bases strategy game and the four we-writes this week have allowed me to get the basic game architecture sorted out. To help co-ordinate this I’ve created a launchpad project, listing what needs to be done before the first Alpha and a section on the Unity Coders Wiki for development ideas. This brings me swiftly on to…

MediaWiki/Joomla bridge

This is a lot harder that I first thought it would be. When I say bridge, I’m not talking about an authentication bridge (which we have working already), I mean displaying wiki content in the website using the website’s theme and layout. At first, I attempted simply to import the Joomla Framework as a Mediawiki extension… yeeeah, that didn’t really work for a number of reasons;

  • MediaWiki and Joomla (namely MediaWiki’s autoloader) don’t play nice when both loaded up.
  • When looking to the MediaWiki autoloader I found something interesting, a HUGE array… why?!
  • The same thing happens when you load up the Joomla framework first to.

I’m now looking to using the MediaWiki database structure to do the same thing. This isn’t ideal as it means that if the structure changes the extension fails and I have to somehow load in the wiki mark-up to html parser (and all the plug-ins and whatnot) that MediaWiki uses without actually loading MediaWiki.

I also looked into the issues I was having regarding the bridge I was using. This turned out to be related to the fact that the plug-in used the MediaWiki database library and the MediaWiki table prefix. Easy one line fix (despite people saying edit the core in the MediaWiki extension directory).

IntelliJ packaging

I’ve spent my day today trying to pick apart Intellij Idea (Community Edition) to make it into a Debian package. This seems really easy at first glance, because it has an ant build file, so JavaHelper should be able to deal with it. How wrong I was. IntelliJ, like many Java upstreams, ships with about a billion libraries. Ideally, these shouldn’t be in the package but listed as dependencies, most of them are already packaged in Debian. Trying to make the damn thing use the correct classpath (place to look for Java classes) was a nightmare, didn’t manage it in the end so hacked the ant script to include each of the dependencies separately. That worked.

Next up was the fact that for some reason the IntelliJ build script generates 4 directories with the files needed in.

  1. an ALL folder which contains it’s libraries and plug-ins.
  2. a Win folder with windows specific stuff in it (even when compiling in Linux)
  3. A Mac folder with mac specific stuff in it (again, when compiling in Linux)
  4. A Unix folder (yeay!) with the Linux scripts it uses to launch (and moan) at users… It also creates a random 64 bit binary on a 32 bit machine that makes the Debian helper scripts cry.

At this point I’m thinking of ripping out their build system and replacing it with makefiles or my own ant ‘build.xml’ file, because the upstream one is rather stupid (and runs another build environment called gant). I’ve not got very far with this as I’ve been trying to fix their build scripts. If I ever get it finished I’ll stick it in a PPA for everyone to use.

Java IRC Bot

So, I’ve been thinking about replacing Supybot (what uc_tumbleweed uses) with something else for a while. Supybot is nice but it’s not very well documented and I find it quite slow to respond to user quires (although this may be connection related). Bruce89 linked to an IRC bot… framework (if you can call it that) a while ago called PIrc. I have a working factoid bot using this framework at the moment and I’ll add more features as time allows.

jTimetable – Timetable System

The University I’m at provides our timetable as an excel document. It’s basically a database dump of all the lessons in the department. Sorting though it is annoying if your not using a version of office with filtering. Even with filtering I don’t find the output very appealing. Not being one to miss the opportunity to write a bit of code to do what I’m too lazy to do myself, pyTimetable was born.

Read morejTimetable – Timetable System