Microscope!
I recently purchased a stereo microscope from eBay seller bargainmicroscopes, part of a web of similar and confusing Chinese-microscope-selling websites:
I recently purchased a stereo microscope from eBay seller bargainmicroscopes, part of a web of similar and confusing Chinese-microscope-selling websites:
Will had his second surgery this week.

Anastasia Pottinger photo, October 2007
Will had his first cleft palate surgery yesterday.
Yesterday I flew out of Rapid City, SD as part of some work I’m doing. I was in the security line when I heard my name paged.

This crack security staff was digging through my bag. They were concerned because I brought a microcontroller programmer:

Actually, it wasn’t just the programmer, it was the 1 ohm resistor I had spliced in series with the power lead to measure current, and the 10 second RC filter I had placed across that to give my DMM a better chance of reading the average current.
“Sir, this is an improvised electronic device. You will never be allowed to fly with this.”
I responded to many questions with information about my occupation, circuit theory up to and including Ohm’s law, and a discussion of the market for bicycle power meters. But they still would not let me fly with the programmer. I had to leave it behind.
I was finally able to fly out ten hours later, with a brand-new-in-the-box MSP430 programmer. Apparently, it’s not “improvised” if it comes in a printed box.
For the previous eight years, the Mizzou Linux users Group has hosted my web site on their server. But it looks like a recent firewall change has removed the server’s visibility from outside campus. This is the second time it has happened. It was great having a professionally administrated, reliable server, but I don’t want my site off the web for weeks at a time due to MU’s IT bureaucracy anymore.
I decided to take matter into my own hands and host the site myself. Our friend Rie donated her old Sony Vaio laptop to me when she left for California last week. (Rie, there were two things wrong with it: The traces to the power jack were broken, and the hard disk had a couple dozen bad sectors on it. No wonder it was locking up!) I patched both problems and installed text-mode Ubuntu and now the laptop is my web server. Oh, and I finally replaced my junky old Netgear router with an equally old Linksys. Maybe it won’t lock up under heavy use.
Thanks to all my loyal readers for their patience during this time. Please let me know if you notice anything broken.
I’m trying to do some secretarial work to help my wife turn in her dissertation. I created some spiffy illustrations in Inkscape but I was having a frustrating time inserting the graphic into her document. Microsoft Word wants to rasterize every imported PDF. The resultign graphics were fuzzy from all the anti-aliasing and resampling that was applied.
The Internet helped out a little bit with a discussion on Ask Metafilter: How can I import high-quality (ie vector) PDFs into Microsoft Word for OS X? Although it would be nice to go with KirkJobSluder’s suggestion #1 (”Don’t use Word.”) the dissertation is already written and it would be some effort to rewrite in a comprehensible system like LaTeX. The other suggestion (manually rasterizing to a huge file and importing that) also leads to inexplicably lousy results.
Enough preamble. Here’s the solution:
| cat > /tmp/$$.ps && ps2epsi /tmp/$$.ps filename.epsi && rm /tmp/$$.ps“If any reader has MetaFilter privileges, please leave a link to this article.
I used a Pilot G2 refill for this pen, but the rest was made from stuff I had lying around.

The refill is retractable via the cam on the end. I can play with it for hours.
Read the rest of this entry »
Recently I was investigating the optical sensor on a Razer mouse. Avago has many optical sensor datasheets on their website, but this mouse uses the ADNS-3088 sensor, which isn’t there. The sensor connects with an SPI port.

Since I don’t have a logic analyzer capable of analyzing SPI traffic, I decided to write my own. I used the PICkit 2 as my hardware and SDCC as the compiler. The code is here. See the README for usage and techinical details.
After all this trouble, I found that the ADNS-3088 is addressed identically to the ADNS-3080, which I have a datasheet for. The firmware that the mouse downloads is identical to the firmware on Avago’s website.
I want to show how I added ICSP capability to my PICkit 2 programmer.
First, peel open the case, starting at the lanyard clip:
