Tools
- Troubleshooting and performance analysis:
strace, ltrace, Linux Trace Toolkit (LTT), gprof
- Major patches submitted to ltrace to handle structures, pointers, ia86 architecture
- System monitoring: PCP, vmstat, netstat
- Implemented distributed
performance analysis tool with PCP API
- Debugging: gdb, valgrind, Electric Fence, dbmalloc
- Implemented memory debugger and
virtual address space summary tool
- Code editing and refactoring: emacs, vi, xref, cxref
- Implemented two-way communication between Emacs
and an AJAX web page for position-dependent help and
context details
- Implemented emacs major mode for
editing source code with indentation and highlighting
- Source control: git, Perforce, CVS, Subversion, PRCS, RCS
- Implemented automated change
notification script
- Incorporate build id into generated executable
- Testing, bug tracking: Bugzilla, CGI::Test, Tinderbox
- Rewrote large portions of Tinderbox to streamline workflow,
simplify configuration, generate final build packages
- Parsing: bison (yacc), flex (lex), perl, Yapp,
Parse::RecDescent
- Implemented my own LALR(1) parser
generator/visualizer/debugger
- Greatly extended flex's buffer
management (proprietary changes; unreleased)
- Data visualization and manipulation: R, gnuplot,
plotutils, Math::Calc::Units, dot, neato
- Author of Math::Calc::Units
- Databases: MySQL, PostgresQL, Oracle, gdbm
- Familiar with DBI, JDBC, J2EE
- Networking: SSH, LWP, tcpdump, ethereal, ipchains,
nc (NetCat), Samba, httptunnel
- Familiar with complex port forwarding configuration via SSH
- Created ad-hoc VPN solution for Windows boxes using
Samba, SSH, pppd, slirp
- Web development: Apache, jquery, AJAX, mod_perl, Jserv
- Email: Sendmail Milter API
- Implemented Bad mail cleaner
for handling "Cannot convert to RFC-822 format" errors
- Multimedia: GIMP, Photoshop, FFmpeg, mplayer, ALSA,
GStreamer
- Implemented "sound clip manager" component for GStreamer