Charles Roth -- Techblog

This page is a quick-and-dirty entry point into my various "tech blog" pages.  It's mostly here so that Google can find its way into the descriptions of various interesting or annoying problems that I've solved. 

Many of these are ancient or obscure, the casual reader may wish to start with the more recent stuff, at the bottom, and work up!  Enjoy!

  1. Credit Acceptance Weblog.  Various problems I encountered and solved while working at Credit Acceptance Corp.
  2. Ditto, for IBS (Interactive Business Systems).
  3. JBOSS port renumbering.
  4. Fedora 7 on Dell Latitude D520.
  5. Integrating WebHuddle with other applications.  WebHuddle is a cool, open-source, synchronous meeting tool, which includes chat, shared desktop, "slideshows", and VoIP conference calling.
  6. Merging subversion forks.  "How I learned to stop worrying and love the fork" by writing a two-way merge script 'mergeFork'.
  7. KidBasic is an excellent, open-source (free) tool for teaching computer programming to kids.  I've built a distribution that includes some additional material for parents, a CD that auto-launches when inserted into a Windows PC, and a MacOS X version.
  8. TrueCrypt is a lovely, cross-platform, encryption and security tool.  It does on-the-fly encryption of entire volumes.  A volume can be either a physical disk partition, or a (large) pre-defined file that acts as a logical volume.
  9. ThreadTracker is my attempt at bridging the Java-threads and Linux-threads divide.
  10. Rsync backup with Vista is a short, sweet, hack to doing easy incremental backups from Vista to a Linux server.
  11. Linking to LinkedIn, a primer on (minimal) integration of a web application to LinkedIn.
  12. VNC Server under Linux
  13. Margaret Mead amongst the Agilists, or my 10 weeks at Pillar Technology.
  14. Resolving the IE8 and docx file problem.
  15. Installing an OpenId server on a linux box.
  16. My draft restatement of the "official" Star Trek 3D Chess Rules.  (See also spacechess.org.)
  17. An ASCII Art version of the U.S.S. Enterprise I created many years ago.
  18. Java Bookmarks I often need.
  19. A brief 'entrepreneurial' biography I wrote for some students at my daughter's school.
  20. PowerMock Tutorial, originally written for ProQuest staff developers.
  21. The Green Lantern / Junit Oath.  Or, why acknowledging fear is important to software developers.
  22. Installing PHP manually on 64-bit CentOS / Linux.
  23. Roth's Three Laws:
    1. Roth's First Law: Any sufficiently confusing magic is not necessarily an advanced technology.

      Essentially the contrapositive of Clarke's Third Law.  For example, I love advanced technologies like Tapestry... but some days it goes so far over into the realm of 'magic' that it becomes incomprehensible.  For a deeper understanding of this issue, read Sir Arthur's story Superiority.  Then remember its lessons the next time you want to use the latest & greatest technology.

    2. Roth's Second Law: Good planning means looking up at the horizon, and down at the mud on our shoes.

      Looking ahead is important, but don't forget to ask "what went wrong?" and "why are we still carrying that rotting dinosaur on our shoulders?" (Insert better/more accurate metaphor for things like technical debt, bad decisions that no-one wants to own or go near, but we still keeping doing 'because', etc.)

    3. Roth's Third Law: When two engineers butt heads, they're probably having different arguments -- and don't realize it.

      Unfortunately, active listening is rarely taught in engineering schools, and often dismissed as "soft hearted".  Good managers know to interrupt and ask the key question: what are we really talking about here?

  24. MySQL replication and Caucus: an example.
  25. Building and running MySQL locally (i.e. not as root)
  26. Ada Lovelace Day
  27. 'Forbidden Island' game variants
  28. New Blog.  I'm slowly moving more of my articles to Blogger; follow me there.
  29. A Brief Introduction to the Ancient and Honourable Game of Go, scanned and adapted to the web, from an article I wrote in the 1990's.  Still a very good introduction for beginners.
  30. Zenphoto: setup.  I've moved all of our family photos and (short) videos to Zenphoto, which seems to be the best of the open-source "gallery" packages.  Nonetheless, there was the invariable tweaking of the setup, plus a detour in learning how to make H.264 mp4's that work with it.
  31. Use mp3 as an iPhone Ringtone.  This is a disturbingly complex process, so I wrote it down.
  32. VI cheat sheet.  An oldie but goodie!
  33. Rename iPhone images & video to use date/time.  It really annoys me that the "artist-friendly" Apple iPhone still names its images IMG_0001, 0002, etc.  So I decided to fix it!
  34. Haiku.  Recently some of my colleagues and I had a 'merry war' of haiku with each other, mostly around fantasy/sf/movies/computers.
  35. Some Google-crawling experiments.  Exactly what can Google crawl?  I've embedded some "google bombs" so that searches can find only and exactly these pages.
  36. Install Flask with Apache.  It's very hard to get coherent instructions for installing Python Flask on a linux server; so I wrote my own.
  37. Solar power presentation I did in 2022, about our roof-mounted 10kW solar array.