I have a broad background in computers and Computer Science. It's been a long while since I updated this list. It is somewhat dated at around 2004.
- Information Retrieval and Data Mining
This includes search engine technology, different methods of modeling human produced text data (such as a web page, a book or an email) and text understanding, web spiders, robots and other information gathering and compiling technologies and techniques.
- Systems Security
This includes areas such as cryptology, cryptography, threat assessment, remote logging, information forensics, system hardening, honeypots, and firewalls[see network design].
- UNIX Systems Administration
My primary interest is in Linux systems administration, but I also have experience with Solaris, IRIX, and BSD. I am comfortable with shell scripting, programming, heterogeneous networks, and common services such as NFS, ssh, httpd(apache 1&2), dns(djbdns & bind) and email(qmail & sendmail).
- UNIX Systems Programming
I am familiar with POSIX, SysV, threading, network programing and distributed computing.
- General Programming
My favourite programming languages are Perl, C, C++ and Objective C, but I am also comfortable with Java, Lisp, and have some experience with assembly language (MIPS & x86).
- Network Design and Administration
I have designed LANs ranging in size from small to large (200+ nodes). This involves network architecture, private vs. public networks, VPNs, and NATing. Firewall(ipfwcfg, ipchains, iptables, )
- Network Programming
I can code software that will use TCP, UDP, Multicast, and the Spread group communication tool.
- Distributed Computing
I have experience with the unique problems encountered in distributed computing, such as extremely large and modular filesystems, surviving network partitioning, and tools such as distributed databases, distrubuted content delivery, and process migration.
- High Availability Computing
I have configured clusters for High Availability computing (HA) using failover machines and various distributed computing techniques. I am familiar with the Linux High Availability project and its tools.
- Database Administration, Design and Programming
I have designed several large relational databases; I know SQL. I have administered PostgreSQL, and have programming experience with it, and Oracle using C and Perl.
- CGI Programming (Web-based Application Programming)
- Sensory Engineering
I have experience with programming virtual worlds, such as LPMud MudOS.
I have some background in cognitive neuroscience, and have studied the human visual system.
- Natural Language Processing
I am familiar with the theory and practice of contemporary speech and text processing (i.e. word sense disambiguation), although I am much more interested in the text based NLP. Signal processing just isn't a passion of mine...
- Systems Integration
The real fun I have is using these different areas together in some way. When I get a chance, I will document and link in the tale of the Refrigerator Contents Database project (CGI + Database + barcode reader + email gateway + refrigerator = fun).