Friday, March 23, 2007


To script telnet or ssh or ftp, I use pexpect; but for system administration of similar machines, I'm trying out tentakel (on OS X and Linux) and its ssh module.

Here's where I am so far:

  • Download tentakel
  • Expand it
  • Go into that directory
  • make
  • sudo make install
  • cd
  • mkdir .tentakel
  • cd .tentakel
  • cp /usr/local/share/doc/tentakel/tentakel.conf.example ~/. tentakel/tentakel.conf

If you get an error message, set PYTHONPATH to your site-packages directory.

$ tentakel

Traceback (most recent call last):

File "/usr/local/bin/tentakel", line 42, in ?

import lekatnet.error as error

ImportError: No module named lekatnet.error

$ export PYTHONPATH=/usr/local/lib/python2.3/site-packages

$ tentakel

interactive mode

tentakel(default)> quit


Next stop, password-less ssh! It slows down the utility of tentakel running the same command on multiple machines when I have to enter my password serially.

GCalDaemon: beta 7

So far, I've used these versions:,,,, and now For a one-developer show, this is pretty impressive! I reported the semi-colon bug in the first version and hardly had time to blink before beta 2 fixed it. However, then I had a problem with all-day events created in iCal getting moved ahead a day after sync. (All-day events created in Google Calendar didn't change days.) But wait, there's beta 3! The day bug vanquished! I asked if it were possible to sync multiple calendars. Feature added! However, the day bug came back in beta 5, so now it's time to try beta 7.

As part of my upgrade to beta 7, I went through the configuration file (instead of over-writing it with my beta 5 config file), and I'm impressed by the sheer number of new features (and they look useful too, not just frilly). Bugs are fixed quickly and more features are added all the time. Oh, did I mention that the documentation is beautiful? From one person. Wow.


  1. I installed GCALDaemon in the new /usr/local/sbin, more standard location,
  2. I stopped my net.sf.gcaldaemon agent in Lingon,
  3. I copied over the work directory and old config files (cp -R /bin/GCALDaemon/work /usr/local/sbin/GCALDaemon; cp /bin/GCALDaemon/conf/gcal-daemon.cfg /usr/local/sbin/GCALDaemon/conf/gcal-daemon.older; cp /bin/GCALDaemon/conf/logger-config.cfg /usr/local/sbin/GCALDaemon/conf/logger-config.older; if you didn't set group write permission for yourself already, you'll need sudo in front of those commands, and since I didn't customize logger-config.older I didn't keep it)
  4. I removed GCALDaemon from the old location (sudo rm -rf /bin/GCALDaemon), and
  5. I updated my agent in Lingon and restarted it.

It doesn't take as long as that sounds!

Now, to see how it works!

My Kitchen Timesaver List

I read Cookware for the Weary Cook, and they missed most of the items on my Kitchen Timesaver List.

  • microwave
  • microwave rice cooker
  • food processor
  • crockpot
  • bread machine

A mixer can be really useful too, but I'm not sure it's on my timesaver list. (Then you open the list to refrigerator, stove, oven, and so on.)

I think the microwave is an obvious timesaver. My microwave rice cooker (also called a microwave pressure cooker or a vegetable steamer) is wonderful! You can get it in this size, or a conveniently smaller 6-cup size (I have both). It makes perfect rice easily, and I get excellent results micro-steaming frozen veggies for two to four minutes.

When I do a lot of cooking, it often starts with a lot of chopping. That's when the food processor, especially in two-second bursts so that I don't end up with too fine of a grind, really saves time.

The crockpot isn't fast, but since most dishes can cook for eight to ten hours while I go to work, it means dinner is ready in record time once I get home again! So it is a timesaver overall.

I used to make bread by hand, and I didn't want a bread machine because I was sure it couldn't be authentic enough. Good bread is the result of knowing the right texture while kneading, so I didn't think the process could be automated. I'm glad I decided to try one anyway! I think I get better results based on my hand-made bread experience, but I don't have to watch the clock over three hours for kneading, rising, punching, shaping, rising, and baking. I know to check the texture after 10 minutes of bread machine kneading, and I know how to adjust the water (teaspoon at a time) and the flour (tablespoon at a time). Bread is very fussy, and you have to plan your whole day around making it by hand. Or you can get a bread machine, check that the initial mixing has the right texture from the correct ratio of wet and dry, and walk away until it beeps. Yeah!

Friday, March 16, 2007

Fugu: Software - Network - sftp

I use cli scp most of the time because I know what I want, and from where, and I'm already using my command line, but I really like Fugu as my sftp client when I'm not as sure of what I want. It works, and it really has the Mac aesthetic: what more could I want? Oh yeah, it's free.

Sometimes I use Cyberduck for ftp, but I've had to be careful with the version. For a while, only the 2.5 version worked for me. (I think I rolled back to 2.5.5 after trying 2.6.1?) When possible, I prefer Fugu and secure transfer.

Sunday, March 11, 2007

Alepin: Software - Notebook

Alepin isn't free like some notebook software, but it also isn't expensive at $10. It doesn't have some of the extra gadgets of the expensive ones, but it supports Services and it works well as a notebook application that's easy to learn. It has quick find (this page) and search (this document), an interesting time-saving distinction. Alepin supports a hierarchy of notes (but no tags), import of text or RTFD, export to RTFD, and multiple files. All of those are necessary features to get on my good software list.

At this point, you're wondering why I like Alepin the best for notebook software since none of those good points are that distinctive. It has the easiest recovery! Of all of the notebook software I've looked at, Alepin was the only one where I could open the data file package and easily recover most of the information I had entered by hand. All of your notebook pages are saved as RTFD inside the alpn document package ... and the filename is the page name! In the worst case, you would lose your folder hierarchy, but you would have all of your data and the search button. All of the other applications used package component file names that would need translation during recovery, putting you one step farther away from reassembly, depending on what data were corrupted.

I wouldn't mind if Alepin supported tags and Spotlight, or if it maintained the document folders within the package for even easier recovery, but it is a great notebook application. Just think, you could collect all of your text notes, text clippings, picture clippings, and other assorted notes into one searchable Alepin notebook!

Monday, March 5, 2007


Finally, my forsythia is in bloom! I checked on it last week, and it had two petals, but not even one complete blossom. Two weeks ago, I saw the first purple crocus, and this week the crocuses are in full swing. (The yellow crocuses came in earlier, but they don't show up as well between the daffodils that bloomed in mid-January.)

This spring has been completely out of order, because it should be forsythia, crocus, then daffodil. But this year, it was exactly backwards, with daffodils in January, crocuses in February, and forsythia starting in March.

Saturday, March 3, 2007

Idea Knot: Software - Note Pad and RAD

I have a hard time describing Idea Knot in words. So I'll try to talk through how I show people how I use it because that does click. I think a comment on this page best describes how I use it to "re-use relevant ideas in different combinations."

Idea Knot has groups (think tags), ideas (think note title), and notes. An idea can belong to more than one group, so it's not a strict hierarchical note application like so many others; this is very free-form.

The manual has an example of using Idea Knot for boilerplate text for form letters. That got me started! I dis-assembled a large number of my shell scripts for work for Idea Knot. For instance, I have a group called Basics, with the ideas "skeleton - header," "skeleton - variables," "skeleton - parameters," "basic flags - parameters," "basic flags - pre-body," "skeleton - main," "read from file," and "skeleton - footer." I have other groups for the major types of scripts I write. So when I want a Spectrum script to collect a list of Cisco serial numbers (this is not hypothetical), I create a new group for it. Then I flip through the other groups, like Basics and Spectrum, and drag ideas to the new group. When I go back to the new group, I can re-order the ideas, hit the button for the Combined View, and voilĂ ! I have 90% of a new Spectrum shell script already done. This has saved me hours at work, no kidding. (Now if I had a tool that would read metadata to determine the order, like all variables go in one block, all parameters in the next and so on, I wouldn't even have to re-order the ideas in the new group. Or at least not as much.)

So form letters, code skeletons, and notes that need to be in multiple "folders" (aka tags not hierarchy), that's Idea Knot. If it still doesn't make sense, try reading the manual in the download since it's probably more clear than I am.

Car Quest, Part 3

I think we've finished the test drive phase of this wagon car quest! The short list was Audi A6 or allroad from last time, Volkswagon Passat GLX, or Mercedes E-class. Today we drove the 2007 "Package 2" (no longer called GLX) Passat wagon, and a 1999 Mercedes E320 wagon. It's hard to fit in two test drives before Karston's naptime, but we did it in large part because we don't have as many questions about Mercedes since we've had so many over the years. I have two, my mother had one, Daddy has had two (one current), and his parents have had two (one current). We've seen a number of Mercedes, we know what to expect, so we had a short test drive just before Karston passed out for his nap.

What's funny about my short list (Audi, Passat, Mercedes) is that it's the same short list a friend of mine had shopping for a small sporty luxury car. (Well, and the list is all German.) The Mercedes won that toss, too. So we're leaning towards Mercedes for familiarity as well as its ability to be the finalist for everyone else too. I know Mercedes no longer has their legendary reliability going for them so those cars won't hold their value as well, but if I know that when I buy it, I won't be disappointed either.

The Passat had a harder ride than I expected; I wanted the air shocks right away. However, I didn't get car sick in the second row, so it's not that bad either. Reliability, safety, comfort, all check. Fuel economy 26/31 is quite nice on the 4-cylinder, although I would also want to try a 6-cylinder (without AWD). The price of a new Passat isn't bad when you remember it's on a list with Audi and Mercedes (that I would buy used).

The Mercedes was just what I expected. This particular car was missing the second-row head rests and appeared to have some electrical issues (I couldn't get the seat back to recline at first although I'm very familiar with the controls, and Daddy couldn't get the sunroof to open even though he's very familiar with that button as well). I was surprised that the ride on a 4Matic was so similar to a RWD Mercedes, but that was the only (pleasant!) surprise. The only detail that was not exactly as I expected is that the gear shifter felt flimsier than I expect, the shifting didn't feel solid. However, it was so familiar ... mmm ... and a nice upgrade from the same model but 20 years old that I already have! So any wagon on the short list will do, but I'm leaning towards replacing a Mercedes wagon with, no surprise, a Mercedes wagon.

Friday, March 2, 2007

5 Tags

After reading this post on email management, I changed the five default tags in Thunderbird 1. I use Do It (sub-5-minute tasks after the email sprint), Delegate It, Follow Thread (so my email archives aren't cluttered, I prefer the smallest spanning set of messages from any thread), Defer It (longer tasks), and Delete It Later (like shipping information, I'll delete it after the package arrives safely).

I'm loving the unlimited number of tags and more powerful and more flexible search folders in Thunderbird 2 beta! I had to restore the original five tags back to what I use (now you know why it's on my mind), but I am ready to throw tags everywhere!