iRobot Replacement Battery
Our iRobot Dirt Dog recently started quiting before it could do a thorough cleaning job. Since we usually let it run while we’re out of the office, it took a while to realize it was because the battery was no longer holding a charge, so the robot would putter out after just a few minutes.
Given its maybe 2 years old and doesn’t get used more than once a week, the lifespan of the original battery was disappointing. And, at least in the Dirt Dog, its a NiCAD battery which perform poorly compared to the NiMH and Li-ion batteries used in most anything modern now.
So I looked into the options. There are affordable aftermarket batteries that have much larger capacities. Sounds great. What’s the catch? The iRobot expects a NiCAD battery, so it charges whatever you put in there like a NiCAD. Modern Li-ion batteries require a different charging procedure. If you charge a Li-ion like a NiCAD, namely with a continue trickle like the iRobot Dirt Dog does, you’ll shorten the life of the Li-ion battery. Which is a common complaint from those who buy these aftermarket batteries and expect it to be a drop-in replacement.
That’s a pain, but not enough of one that I’d consider replacing it with another NiCAD just yet. Luckily, there’s a cheap hack that’s been working well for me. Plug the iRobot charger into a Belkin Conserve Socket. This allows you to set a 30 minute, 3 hour, or 6 hour timer, at which point the power is turned off. I’ve been using the 6 hour mode since the 3 hour mode doesn’t quite top off the battery.
Total for the fix: $45, which is $5 less than the replacement NiCAD from iRobot. And it runs much longer than the original battery did, even when new. Win.
My 3.5 Year Old On Our Cat (Betty)
Mama: Look at the doggie in the car over there.
3.5yo: I see him. I wish I had a puppy like that. Maybe for my birthday?
Mama: Well, I don’t think Betty would do well with a puppy.
3.5yo: Because Cats and Dogs like to chase each other?
Mama: Yes, that is right.
3.5yo: How about if we give Betty to somebody else and then we can get a puppy?
Mama: Wouldn’t you miss Betty? I would miss Betty.
3.5yo: Yes I would miss her too. And the puppy would miss her, too.
Coffee Roasting with an Arduino Based Rate-of-Rise Meter
That’s my Hottop KN-8828B drum coffee roaster with a pair of thermocouples measuring bean temperature, one to the new Arduino based project, one to my old Fluke which its about to replace.
The “TC4 Shield” project started on homeroasters.org, the “shield” designed by Jim Gallt, and the Arduino and Processing code is open source, c/o Jim and a few others. Its all very polished.
Besides being able to plot the data over time from up to four thermocouples (lots of homeroasters just use two, patched into two meters), the project also calculates the “rate of rise”, a critical variable in the coffee roasting profile, and one that is typically a PITA to chart manually.

Soldering was pretty easy thanks to a well designed and silk screened board, even with a cheapo soldering pencil, and components like this MCP9800 surface mount. I did manage to fubar the solder connection on one of the MCP9800 pins, but it was pretty simple to resolve with some debugging to the Arduino code and a DMM to check continuity, which I should have been doing all along.

Here’s the output (also available as CSV), captured via the Arduino over USB to Processing showing the bean temperature over time (in red) and the rate-of-rise (in green). The currently unused channel in yellow will soon be plotting results of environmental temperature, mostly to make sure my ET isn’t dropping when I rapidly lower the heat half way though first crack, as a sanity check to make sure I’m not doing anything I shouldn’t be.
Besides the addition of the ET probe, I also need to wire up the 16×2 LCD, come up with a decent enclosure, and rewire the two thermocouples to be unpluggable, which should all be pretty simple. I’m also a few revs behind on the Arduino, which is a quick fix, but not reflected in the above chart. The latest rev supposedly smooths out the rate-of-rise.
There’s currently some work being done to turn the TC4 shield into a PID. So instead of just data logging, it could be wired into the roaster to manage heater and/or fan control. My stored profiles in the Hottop are dialed in pretty well, but they Hottop doesn’t correct for things like changes in environmental temperature (either summer to winter, or a warm drum from a just completed roast), or changes in charge size (weight of beans you start with)- so I suspect a conversion to a PID is in my future.
Using your Iphone as a Bicycle GPS for <$20
My sense of direction is pretty bad, so I either learn new routes by following friends, or get lost several times before eventually finding my way. I’ve got an older Garmin ETrex GPS, which is fine for some things- in particular it’s weatherproofness, but is a major PITA to upload or download routes/waypoints. Newer GPSs are likely better in this regard, but they’re expensive unitaskers.
So when I started looking at the complex routes on bikely.com for a way over the Golden Gate Bridge from my house, I knew I’d have two realistic options: get the handlebar mount for my old ETrex and suffer with its shortcomings, or try to use my iPhone.
I decided on the later, using the free Trails Lite app to navigate a new route home from work one night. After plotting out the route on bikely.com, I downloaded the GPX to the Trails app and handheld the phone for sections I was unfamiliar with. It worked great, but the Lite version only allows you to have one set of tracks, and hand holding the phone is just asking for trouble.
Some quick homework on Amazon led me to the RAM Handlebar iPhone Mount. Its easy to install, well built, and hold my 3GS very securely- even on bumpy 30mph+ decents.
After installing the handlebar mount, I shelled out for the for-pay version of Trails ($14 + $4), expecting everything to work smoothly. Wrong. The default settings in Trails led to some pretty inaccurate readings. Uh, I didn’t actually ride across the water either of these times:
.
Changing three default settings in Trails seemed to clear this up: 1. make sure you choose “biking” for your recording. Otherwise it seems to snap you to public roads. 2. Change the Required accuracy to something smaller. I use ~100 yards. Change the Distance Filter to a minimum distance of ~100 yards. The combination of these three changes means no more wildly off waypoints.
But there was a second issue. My phone would lock up, leading to my first ever needed hard reset. I had upgraded to iOS 4.0.1 just weeks prior with no known issues, but besides the lockup problem, I was seeing noticeably worse battery life. A friend (@lowbit) suggested doing a sync/restore of the phone to clear up the battery woes, and it worked! And I have yet to have another app lockup since doing the restore. Not sure why that actually helped, but I’m glad that it did.
So now I’ve got a very functional handlebar mounted GPS for less than $20. And importing and exporting waypoints is trivially simple. A fully charged iPhone seems to last about 3 hours while displaying a “live map” and recording waypoints all along. Good enough for most rides. Maybe I’ll strap the MintyBoost @royrob is making for me to the handlebars for the GG Bridge ride.
Using Google Services via the Command Line
1. Ensure you have Python 2.6+ on your platform.
2. Grab the latest
Google Data APIs Python Client Library, and the Command line tools for the Google Data APIs.
3. Extract and issue a
python ./setup.py build
python ./setup.py install
for both packages.
4. Have at it!
> help
Welcome to the Google CL tool!
Commands are broken into several parts: service, task, options, and arguments.
For example, in the command
“> picasa post –title “My Cat Photos” photos/cats/*”
the service is “picasa”, the task is “post”, the single option is a name of “My Cat Photos”, and the argument is the path to the photos.
The available services are ‘picasa’, ‘blogger’, ‘youtube’, ‘docs’, ‘contacts’, ‘calendar’
Enter “> help ” for more information on a service.
Or, just “quit” to quit.
>
Building Apache Traffic Server on OpenSolaris
These are the steps I used to get Apache Traffic Server v2.1.1 to build on OpenSolaris snv_111b.
Ensure you have the necessary packages:
pfexec pkg install SUNWgnu-automake-110
pfexec pkg install developer/gcc/gcc-432
pfexec pkg install developer/gcc/gcc-runtime-432
pfexec pkg install SUNWaconf
pfexec pkg install SUNWlibtool
pfexec pkg install SUNWTcl
pfexec pkg install SUNWpcre
pfexec pkg install SUNWsqlite3
pfexec pkg install SUNWopenssl
pfexec pkg install SUNWgmake
pfexec pkg install SUNWgit
Fix some missing symlinks:
cd /usr/bin
pfexec ln -s aclocal-1.10 aclocal
pfexec ln -s automake-1.10 automake
Get the source:
git clone http://github.com/apache/trafficserver.git
Set your PATH, configure, make, make install:
export PATH=/usr/gnu/bin:$PATH
cd trafficserver
autoreconf -i
./configure –prefix=/app/trafficserver CC=/usr/bin/gcc-4.3.2 CXX=/usr/bin/g++-4.3.2
make
pfexec gmake install #root needed for file ownership
Hottop Coffee Roaster Drum Mod for Bean Agitation
Regardless of roasting parameters and batch size, I was still struggling with charring and tipping problems on some softer coffees (like Brazilian) with my unmodified Hottop KN-8828B Drum Coffee Roaster. I tried decreasing the batch size to 6 oz to allow for a lower environmental temperature, as well as using the fan throughout the roast for more convection. These changes helped, but a small percentage of beans would still exhibit a little tipping.
Inspired by Ed Bourgeois (“farmroast”) and Max (“coffee.me”) on the http://www.home-barista.com coffee roasting forum, I decided to modify the roasting drum by adding a couple of additional “fins”, to allow for more bean agitation. The stock drum already has three small fins, but their purpose seems mostly to drive the beans out the chute when you eject them, not agitate them. Here’s a photographic step-by-step to what I did:
1. Mocked out the pair of fins in cardboard, mostly to have an idea where they’d need to be notched to clear some of the existing hardware in the drum. Then transferred this template to an old aluminum toaster oven tray, because it’s what I had on hand that would be easy to work:

2. The roughly fabricated fins, with markings indicating where they could be drilled for mounting hardware:

3. Attached using stainless steel sheet metal screws:

4. The finished result, new fins are slightly lighter in color at 9 and 3 o’clock:

And here it is in action. Shoulda taken a ‘before’ video as well, but this is a significant amount of added agitation:
The video is of my first run with the modification, an 8oz batch of Sumatra. There was no signs of tipping or charring. Woohoo!
One thing worth mentioning: with these larger fins in place, a small percentage of the beans take an extra 10-20 seconds or so to finally clear the drum when you eject. Seems the beans “hop” over the smaller stock fins that are intended to drive them towards the ejection port. Not a big deal, but somewhat annoying. A potential worthwhile mod might be to install the fins at a slant matching the stock fins, so that doesn’t occur.
A 7th Day in the Life of Bean
Continuing this series, here’s another update from @mcjenveigh on our 2.5yo kid:
[L takes her two rubber ducks from the bathtub and places them in the clothes hamper]
L: Oh no!
Me: What’s wrong?
L: Ducks in there!
Me: How are you going to get them out?
[L pauses, looks around...]
L: I GOT AN IDEA!!
[Runs out of the bathroom into the playroom and returns empty handed]
Me: What is your idea?
L: We got a rope.
Me: You need to get a rope?
L: yeeeeeeeeees. you need to get a rope.
Me: Do we have a rope?
L: hmmmm. No Mama. You got idea?
Me: hmm. Yes, let’s find something long.
L: OKAY!
[We go into the playroom and a grab a toy spatula from her kitchen set and go back to the bathroom hamper]
L: It won’t work Mama.
Me: Try to lift it with the spatula
L: I GOT IT! [she got the big duck but can't get the other, bigger duck - it keeps dropping]
Me: You need help?
L: I need help!
Me: Let’s find another tool.
L: Yes, I go to toolbox. [runs into playroom to her toy toolbox and grabs hammer]
Me: Hmmm, maybe we should try the pliers.
L: I got them! [grabs pliers and heads to laundry basket in bathroom]
Me: You need help? Try grabbing its face.
L: I grab da face. It work mama it work.
Me: Okay, are we done in here?
L: NOOOOOOOOOOOOOOOOOO. I got idea!
My Canon S90 Setup
I wrote about my DSLR gear before, but my pocketable camera sees more use these days. Its the Canon PowerShot S90. In a rare for me act of leap-first, I pre-ordered it based just on the specs so I’d have it in time for a trip to Maui a week after the camera’s release. What lured me to the camera was the wide-angle and fast lens, the fact it could shoot in RAW, and that it was “only” 10MP, implying it’s images wouldn’t be as noisy as say a 15MP camera using the same sensor size (the megapixel race is really ridiculous, the fact that Canon made a stand with the S90 is commendable.)
Traveling with a toddler didn’t allow for much time or energy devoted to photography, but the camera did allow me to get some shots I couldn’t have with any other point-and-shoot camera I’d ever used, for example this frog (toad?) hanging out by a pond well after sunset:
It was shot at f/4.0, 15mm, 10seconds with the camera resting on the ground. Remarkable.
Since that trip, I’ve taken about 1000 photos and videos. Not a whole lot, but enough to feel comfortable shooting with it. This is the fifth Canon point-and-shoot I’ve bought, sixth if you include one I wasn’t happy with and returned. The strongest endorsement I can make for it is: I have no plans on replacing it in the next 18 months, its that good.
If you’re a Canon S90 owner, there are a couple of things I’d suggest you get for it:
1. Richard Franiec’s custom machined grip, which is a work of art. More pictures of it here. It definitely helps keep a handle on the camera, and it doesn’t look after market at all.
2. The super cheap Olympus 202320 Horizontal Neoprene Case. The Canon S90 fits perfectly, and I really like that it relies on a magnetic closure rather than velcro, so you’re able to deploy the camera stealthy for candid moments. Its also very easy to debadge (no offense Olympus, the Oly C3000 is what I shot my first trip to Europe on, but you don’t sponsor me
):



