NEAT Invaders Game

October 26th, 2006

This is a proof-of-concept Invaders-style game where the invaders are controlled by neural networks and each new wave is evolved by genetic algorithms. This is made possible by DelphiNEAT library. I’m also using the GR32 library for semi-fast 2D graphics and PNGDelphi for PNG loading.
Actually those “neat” invaders are initially quite dumb and the game [...]

Continue Reading...

Listing All Open Handles

October 19th, 2006

Handles can represent files, ports, mutexes and other objects. By using the undocumented Native API function NTQuerySystemInformation() you can list all open handles from all processes. Here’s a small program that does that.
This is basically a ported version of “HandleList” application by someone known as Napalm on sysinternals.com forums. I added and removed some bits, [...]

Continue Reading...

Processing Binary Files In PHP

October 17th, 2006

This little tip might be usefull for people who have recently started learning PHP and have some experience in other languages (like me).
Recently I needed to write a PHP script that would process a binary file I had created in my Delphi program. However, it turned out that fread() doesn’t work as expected - it [...]

Continue Reading...

Writing Drivers in Delphi

October 12th, 2006

Driver development has always been the privilege of C/C++ and Assembler programmers. If someone needs to write a device driver in Delphi, he has to settle for “adapter” drivers that would allow their user-mode program some ability to interface with kernel-mode functions. There are also “wizards” that (supposedly) allow one to create a driver without [...]

Continue Reading...

Evolving Websites - Why Not?

October 9th, 2006

Genetic algorithms are used for evolving various things - from bot behaviour in games to digital art. They can be used for solving nearly any problem/field that allows you to construct a well-defined genome and a fitness function.
Defining a genome for a website is doable, and probably quite simple, too. Many websites consist of discrete [...]

Continue Reading...

Manipulating Taskbar Buttons

October 1st, 2006

To avoid any confusion, let me say that this article will talk about the taskbar buttons that represent the visible windows of currently running applications. I will not discuss the system tray or Quick Launch. Most information given here is applicable only to Windows XP and possibly newer versions of Windows (though I am not [...]

Continue Reading...

wsTaskborg Taskbar Organizer

October 1st, 2006

This week I’ve mostly been trying to figure out how the taskbar works in Windows XP. As a result, I created wsTaskborg - a freeware utility that lets you organize your taskbar buttons by dragging them around and grouping/ungrouping them as you wish. You can read more about it and download it at http://w-shadow.com/wstaskborg/.
I will [...]

Continue Reading...