A toolset to make scientific computer simulations easier to run, manage and evaluate. I write more about it here.

A Content Management System I wrote recently (and on which this site is running on).
You will find more here.
This script is an implementation of the Particle Swarm Optimization (PSO) algorithm in Python. It's suitable to run experiments on PSO, adjust configuration on the way and with little effort produce graphs like in the picture below.



Here is a basic list of features to play with. For example:
  - Several topologies (circle, star and geographical neighborhood)
  - Some standard functions to test on (sphere,griewank,rastrigin,rosenbrock)
  - Logging capabilities (to csv format, even code to plot graphs with that data in GNU R can be produced)
  - Experiment setups. Average over many iterations and/or automatically change conditions of your choice and let several trials run while you get a fresh cup of coffee :-)

To use it, open a Python session and type:
  $ import pso
  $ pso.run()

I have the code over at Google Code.
I have been working as a tutor for the course "Introduction to Artificial Intelligence" in the summer semester of 2006. Mostly, the students are concerned with learning how to program in Prolog.
Here are the slides of my tutorial sessions that deal with general topics rather than with what to do for the next homework:

At University College, Dublin, I took the excellent course "Natural Programming" by Dr. Michael O'Neill. A part of it was to write your own paper and  let the other students review it.

As a topic, I chose Particle Swarm Optimization. I was interested in defining the neighbourhood of particles geographically, which is how swarms in nature act. The standard algorithms mostly use fixed neighbourhood relations.

It was received very well and so I present it here for you to view/download.

I'll leave you with the abstract:
 

In Particle Swarm Optimization (PSO) with local neighbourhood, the social part of change in the particle's velocity is computed considering the performance of a set of neighbours. Almost all of the literature uses neighbourhood relations of a fixed topology. This paper introduces a method that computes a local optimum based on geographical, non- fixed neighbourhood in Euclidian space. It compares the two approaches in performance and geographical behaviour. The results show that swarms with geographical neighbourhood perform worse in terms of fitness. Furthermore, the results indicate that swarms with fixed topologies start by exploring the search space due to initial random distribution and then turn to exploitation because of emerged geographical neighbourhood.

I also published the code I used for the simulations.

I came up with this little tool before christmas 2005 to make my girl happy :-)

basically, this is just an advent calendar that works with PHP and JavaScript. When you open index.html, 24 doors will "fly" over the screen, each to its location.

If you click on a door, a little window opens and displays the text  it finds for that day in the database (the SQL-insert is also here).

Of course I know that the design is somehow ugly. Heck, the code even makes up the colors by random (but still cares for contrast). That resembles my weird sense of humor. sorry.


 To run this four yourself, you need:
 -a server that supports PHP 4.x or higher
 -a MySQL database

The rest is said in readme.txt. Setting this up is no big deal if you know how to deal with a MySQL database (setup a table from an SQL script).
During the "philosophy of mind" - course, I had to write six essays about the texts we were reading once a week. That teached me a lot respect about analytical thinking, I tell you. It's not easy to put so much thought in two pages, but I tried my best :-)
Among these are the first proposals for important aspects of Artificial Intelligence and, as important, sketches of problems that it faces!
I programmed these during the "introduction to neuroinformatics" course:
For more information, see the comments on the code...

While giving your site some personal touch, you might wish to have hover-over-popups that describe to the user what he should expect to find behind that link he is interested in.

While there is a standard way to do that (<a title="Hit this!">a link</a>), you might want to

  • make the popups come up directly without delaying 2 seconds or so because the user wants to know what is behind that link immediately
  • style those popups your own way, not that peculiar yellow the browsers use for that... and you want to do it the CSS way.
I spend some time on this (as you can see when you hover over some links here) and invite you to "steal" the code.
During a seminar with the fancy name "evolutionary robotics" by Dr. Frank Pagemann, I presented a paper by Nolfi & Floreano called "Learning and Evolution". Their research is really fascinating and I hope this presentation is useful to get a quick glance.
In a seminar about "Numerical Methods in Computational Linguistics and Machine Learning", I had to summarize and present two papers on that topic, namely
  • Heisele et al: 'Face Recognition With Support Vector Machines: Global versus Component-Based Approach', Center for Biological and Computational Learning Cambridge, 2001
  • Romdhani et al:  'Computationally Efficient Face Detection', Microsoft Research Ltd Cambridge, 2001
At first, I didn't think that I could make it in this seminar because it really contained a lot of math (we also wrote an exam), but in the end I didn't only learn a lot, I also got my credits for it.
Anyway, both papers are really interesting. They propose methods to be more efficient and accurate with face detection (which is far from being perfect nowadays). A good lesson why math is important. (Support Vector Machines are not explained here). So take away:

the summary I wrote in order to get my credits (5 pages, pdf)
the presentation I gave (pdf, contains more cool pictures)
the most famous critic of "strong AI" surely is John Searle. During a seminar where we read two of his books, I outlined the second chapter of "Mind, Language and Society: Philosophy in the real world". Mainly, he talks about the mind-body problem here.
Since this seminar was in german, the outline is also (the german title of the book is "Geist, Sprache und Gesellschaft".