Automated Information Filtering (IF) and Information Retrieval (IR) systems are acquiring increasing prominence. Unfortunately, most attempts to produce effective IF/IR systems are either expensive or unsuccessful. Systems fall prey to the extremely high dimensionality of the domain. Numerous attempts have been made to reduce this dimensionality. However, many involve oversimplifications and naïve assumptions about the nature of the data, or rely on linguistic aspects like semantics and word lists that cannot possibly be relied upon in multi-cultural domains like the Internet.
historical
A Genetic Algorithm Based Information Filter for Usenet
This is my BSc dissertation, completed in the summer of 1997. For no-one in particular's delectation and amusement, I implemented a framework for Intelligent Agents, evolved using Genetic Algorithms, to learn about the user's Usenet reading habits, and suggest new and interesting articles in places the user would never think to look. The idea was for this to eventually become either a full-blown AI newsreader (decentralised), or an NNTP proxy with agent extensions (centralised).
The Oric IDE Interface
The Oric IDE Interface was a 1990s attempt to connect Oric micros to IDE disks. The project is obsolete in our days of cheap, gigantic (by 8-bit micro standards) SD cards, dirt-cheap microcontrollers, FPGAs and CPLDs. The whole project could be coded in VHDL or Verilog and implemented on the smallest FPGA chip available without any other integrated circuits on the board. But then, where's the fun in that?
Menasat Font
This is a font and associated TeX package to typeset Menasat in the standard, left-to-right, top-to-bottom orientation (there are others, but they make life very difficult). Making the font description itself was remarkably easy. METAFONT makes it very easy to draw letterforms, especially when emulating writing implements, which I was.
Sun keyboards on USB
PalmOS Apps
Once, in the days when PDAs lasted a whole month on one battery charge, I had a Palm IIIx.
Control Special Features of Logitech Mice with lmctl
In 2003, I was presented with a lovely Logitech optical mouse (an MX500). It had a wheel (not an ubiquitous feature then), no fewer than eight buttons, and an excellent 800 cpi resolution. Unfortunately, Linux would see it as a 400 cpi device, and two of the buttons would echo the wheel motion. A bit of quick research on the web uncovered the sage advice ‘you can't do anything about the extra buttons, live with it’. It also uncovered a list of vendor-specific USB control commands for Logitech mice (proving yet again that the majority of Linux users are no longer producers but ― at best ― consumers).
