(This is my interests-and-skills résumé; see also my Curriculum Vitae résumé.)
Areas of Interest
- Computer Science
- Has a deep understanding of computers, algorithms, and their complexity.
- Almost got a B.Math in Computer Science with a minor in Philosophy from the University of Waterloo.
- Computer Security
- Applies a security mindset to all architecture and development.
- Develops pattern detection and forensic systems.
- Computer Systems
- Knows how the hardware works.
- Expert Linux system adminstrator.
- Proficient in virtualization and cloud stack.
- Computer Programming
- Has been developing his practice of programming since 1982.
- Award-winning Perl trainer.
- Comprehends streams and sockets and the web and parallel computation.
- Computer Graphics
- Has been pushing pixels since age 10.
- Has been developing pixel shaders for 10 years.
Internet Expertise
I have a thorough understanding of the following layers of the Internet.
- TCP/IP Networking
- Wires: Tin Can & String through Ethernet
- Layers: ISO and TCP/IP models
- IP Routing:
- Basic static router
- Linux iptables
- VPN & TUN/TAP bridging
- UNIX & GNU Systems
- System Administration
- Secure configuration & administration
- Task scheduling with cron
- SysV init systems
- Userland
- Internet daemon care & feeding
- SMTP: Exim4, sendmail, Courier, Postfix
- POP3/IMAP
- DHCP
- SSH, etc.
- shell scripting
- gcc toolchain
- screen terminal multiplexer
- bandwidth-efficient backups with rsync
- Internet daemon care & feeding
- Linux
- Desktop user since 1994
- RedHat 5 (1997) through current Fedora & EL Systems
- Debian & Ubuntu Systems
- Installation on any architecture
- Software RAID configuration & recovery
- Kernel configuration, patching & compilation
- Xen hypervisor & kernel-level virtualization (OpenVZ/VServer)
- System Administration
- Data Management
- Relational Database Concepts
- Semantic modeling
- Normalization & trade-offs
- Linking to external programming object systems
- SQL Servers - Management & Dialect
- PostgreSQL and its relatives, e.g. Ingres, Illustra
- MySQL
- Sybase & MSSQL
- Non-SQL storage & caching
- Berkeley db
- memcache
- JSON Store systems
- Relational Database Concepts
- Perl Programming Language
- Responsible CPAN Use
- Layered Object Oriented Construction
- DBI Database abstraction layer
- Transaction
- Class::DBI OO Layer
- Programmatic XML Template & Transforms
- XML::Twig
- XML::Simple
- XPath, XSLT
- mod_perl
- Complex Apache configuration
- Request pipelines
- HTTP Services
- Apache - Secure & Tight Configuration
- Complex Multihost VirtualHost
- Configuration via RDBMS
- Authentication & Authorization
- Apache - Duct Tape Modules
- Proxy for security, load balancing, and namespace consolidation
- Filtering
- URL rewriting
- Glue and Twine
- Squid caching proxy - forward & reverse
- lighttpd lightweight server
- FastCGI application service model
- Apache - Secure & Tight Configuration
- Tying all of the above together:
The World Wide Web- Programmatic Site Architectures
- Layered design for fault isolation
- Deep automation of anything a monkey could do
- mod_perl link to GIMP-Perl for dynamic paint
- W3C Standards
- XML Template engines generating validated XHTML
- Accessibility Automation
- Validating CSS
- Client-Site Programming
- JavaScript & various libraries - YUI, jQuery, etc.
- DHTML DOM
- AJAX RPC & Dynamic Widgets
- Programmatic Site Architectures