Monday, January 29, 2007

Microwave Dressing for Stuffing

This recipe is adapted (to reduce fat, and to match what I had) from an old "Kenmore Microwave Cookery" cookbook.

Mix in a 1 quart (or larger) glass container:

1/2 cup water

2 Tbs gravy mix (like Tone's Gravy Mix)

1/2 onion, chopped

1/2 tsp dried thyme

1/4 tsp garlic powder

Microwave for 5 minutes.

Chop these in the food processor, and then add to the microwave container:

3 stalks celery, chopped

1 cup mushrooms, chopped

Microwave for 3 minutes.

Now chop these in the food processor, and then add to the microwave container:

2 cups dry bread chunks

1/4 cup almonds, finely chopped

2 tsp dried parsley flakes

1/4 tsp freshly ground black pepper

Microwave for 2 minutes.

My microwave was set to 100% power, and it's rated for 1100 to 1500 Watts depending on which label you read. You may need to adjust the times for different microwaves.

Amazingly enough, this tastes exactly like stuffing! (However, I'm not a fan of it. I made this anyway because my dear husband likes stuffing.) I used Tone's Turkey Gravy Mix.

For storage, it freezes well.

Just so you know that I'm hopeless with recipes, here's the original.Mix 1/2 cup butter, 1/3 cup onion, and 1/4 cup celery in a 4-cup glass container and microwave for 10 minutes or until onion is transparent. Add 3 cups dry bread cubes, 1 cup water or chicken broth, 2 tsp parsley flakes, 1/2 tsp salt, and 1/8 tsp freshly ground pepper. Makes enough stuffing for a 5 to 6 pound roasting chicken. Can replace 3 cups bread with 2 1/2 cups wild rice, 1/2 cup slivered almonds, and 1 cup sliced mushrooms.

Monday, January 15, 2007

GCalDaemon: beta 2

There's a new version of GCALDaemon, and I've been playing with it for a few days. (OK, nonstop this entire weekend.) The (semi)colon bug for Unix is fixed in beta 2, and you can sync multiple calendars now!

First things first, I kept losing data (usually To Do items), so make a backup first. I haven't figured out the pattern to this problem yet, so I don't know if I should submit a bug report. Another annoyance is that two of my calendars went unidirectional, with Google overwriting iCal. I made a new Google calendar and linked it to (a restore of) the same iCal, and it appears to be better. (Odd, hunh?) Make several backups if you want! I made one with iCal and one in the Finder.

  • /Developer/Tools/CpMac -pr ~/Library/Application\ Support/iCal/Sources ~/Library/Application\ Support/iCal/Sources.backup
  • # or just cp instead of CpMac on OS X 10.4+

Now you can install beta 2.

  • cd /bin
  • sudo rm -rf /bin/GCALDaemon # unless you don't want to start over from scratch with a clean slate!
  • sudo unzip /Downloads/gcaldaemon-linux-1.0-beta2.zip
  • sudo chgrp -R admin /bin/GCALDaemon
  • sudo chmod -R g+w /bin/GCALDaemon
  • sudo chmod 755 /bin/GCALDaemon/bin/*.sh
  • cd /bin/GCALDaemon/bin
  • ./password-encoder.sh
  • cd /bin/GCALDaemon/conf
  • open -a subethaedit gcal-daemon.cfg

Follow the directions for file-based synchronization like Rainlendar. HINT: Look in ~/Library/Application\ Support/iCal/Sources/*.calendar/Info.plist for the name of that calendar.

Then you can make it a full OS X citizen using Lingon. To get started, click on Assistant in the toolbar.

  1. Keep an application/script always running
  2. Label: net.sf.gcaldaemon (leave "Launch only when I log in" checked)
  3. Application/script: /bin/GCALDaemon/bin/standalone-start.sh

And there you have it, a new entry in "My Agents" to keep iCal sync'd with your Google Calendar(s) every time you log in to your Mac!

I also ran across two other alternatives that will sync iCal and Google Calendar bidirectionally, jin'sync in alpha, and Spanning Sync coming soon.

Bib Clip and Hat Attach

This was a very quick project using found items! I saw bib clips that look really convenient for travel, but it's not worth $12 plus shipping plus the wait to me. Dishwasher-safe and rounded is probably very good for babies, but Karston seems mostly grown now. So, since we'll be on the road next week, I thought I'd make one set of bib clips. I cut off the blue cord from a trade show pen that didn't write, and held a lighter to the ends to seal off where I had cut to keep it from unraveling any more. I put a white cord toggle over a loop in the middle of the cord, and I tied a bulldog clip, also from trade show visits, to each end. I looked through the Klutz Book of Knots, but ended up making up the knot anyway. I pulled a loop through the hole in the bulldog clip, ran the short end through the loop, snugged it up, and tied a half-hitch to finish the deal. It seems very secure. VoilĂ , one bib clip! Total cost, zilch; and I got to clear away some lingering trade show leftovers.

Since I was on a project roll in the right room, I kept going. I used a leftover piece of embroidery thread, two lanyards (one at either end), and one more bulldog clip to make a secure hat attachment for Karston. Fasten a lanyard on the hat, clip the other end to your collar, and the wind won't take your hat. The kid's ready to travel now!

Saturday, January 13, 2007

OnMyCommand: Software - Utility - Contextual Menus

One sign of a useful utility is that you don't notice you're using it, but you do notice it's excruciating to use a different Mac without it. That captures how I feel about OnMyCommand. The download comes with the extremely useful OMCEdit application to get you started. I keep these commands and a few others at my fingertips: Open Terminal Here, Copy Path to Clipboard, View Metadata, Change webloc file to url, and Make <img> tags. Open Terminal Here closes the loop between CLI and GUI for OS X. From Terminal, you can type open . to open the current directory as a Finder winder. Well, with a right click on the window's background, Open Terminal Here will launch a new Terminal window and change to that window's directory. It makes the Unix experience of OS X seamless. Copy Path to Clipboard not only copies the path of the current file, but also properly escapes certain characters for you. Easy! You can find these commands and more here.

Hmm, I think I need to add Update Finder Front Window from mats to OnMyCommand, if there's not an equivalent already. It's basic AppleScript, so it's ready for OMC without serious work.

Friday, January 5, 2007

GCalDaemon: sync both ways between iCal and Google Calendar

The good news is, I found a way to have bi-directional synchronization between Google Calendar and Apple's iCal! The bad news is, it only works for one calendar, and of course I have more than one in both places. The software to pull this off is GCALDaemon; I used version 1.0 from 2006-12-23. I've included some Terminal commands with the steps below to make it easy.

  1. download the Unix-compatible version and unzip GCALDaemon into /bin (paths are hard-coded, so it needs to be /bin so you'll need to use sudo to modify /bin, and you'll end up with /bin/GCALDaemon)
    • cd /bin
    • sudo unzip drag-and-drop gcaldaemon-linux-*.zip file on Terminal
  2. change all semi-colons in /bin/GCALDaemon/bin/password-encoder.sh and /bin/GCALDaemon/bin/standalone-start.sh to colons at least for version 1.0
    • cd /bin/GCALDaemon/bin
    • cp password-encoder.sh password-encoder.oops
    • tr ";" ":" < password-encoder.oops > password-encoder.sh
    • cp standalone-start.sh standalone-start.oops
    • tr ";" ":" < standalone-start.oops > standalone-start.sh
  3. put a colored label on all folders in ~/Library/Application Support/iCal/Sources
    • open ~/Library/Application\ Support/iCal/Sources
  4. launch iCal, and create a new calendar, maybe named Google
    • open -a iCal
  5. quit iCal, and see which folder doesn't have a label in ~/Library/Application Support/iCal/Sources (you can't go by timestamp since all calendars will be updated by iCal, but colored labels will show you the new folder clearly)
  6. follow the directions for file-based synchronization like Rainlendar
    • put the full path to corestorage.ics in that new, unlabeled folder (like /Users/nethope/Library/Application\ Support/iCal/Sources/C00EE8A4-C0C1-EDC5-AA52-6AEC88F8D30B.calendar/corestorage.ics with no ~ shortcut) into /bin/GCALDaemon/conf/gcal-daemon.cfg for the variable file.ical.path

I submitted a SourceForge bug report about the colons versus semi-colons error, so it might be fixed in version 1.1. In that case, the tr commands above to replace semi-colons with colons won't have anything to change in the two scripts, but shouldn't break them either. (You can always skip that step, and come back to it only if you see Java errors when you run those scripts.) According to Java documentation, "a class path may include several paths, separated by a semicolon (Windows) or colon (Unix)", so it's just a simple platform translation issue.

My backup plan, if GCALDaemon didn't work, was to try GCalSync and to have my Palm OS Treo be the intermediary to translate between Google Calendar and iCal. I don't know if that approach allows multiple calendars; if it does, then I would prefer it. I sync my Treo to my Mac with The Missing Sync specifically because I want to have multiple iCal calendars on my Mac that are also on my Treo, and I outgrew Palm Desktop a while ago (don't get me wrong, that's a good application too, but it doesn't have as many external choices to create a new event without leaving the current application).

My other backup plan was ScheduleWorld. It looks really interesting since it supports pretty much anything that stands next to a standard, and it might be a better solution. (Although I wanted to avoid needing another server, like the GooSync service.) It seems like this ought to be a simple process, an internet-connected Mac with access both to iCal and to Google Calendar, both of which talk the iCalendar standard. Who needs an intermediate server? Who needs a translator?

I guess I like GCALDaemon (for the moment) because it allows iCal and Google Calendar to talk directly. In my backup plans, I would either use Treo+GCalSync or ScheduleWorld to translate between two applications that both use RFC 2445. Why translate? Just connect 'em. Stay tuned to this channel when I put GCALDaemon into launchd (probably with Lingon).

My setup: PowerBook G4 (almost two years old) running Mac OS X 10.4.8 (current) with iCal 2.0.3 (also current), Gmail (I don't know if a plain Google account works), and Google Calendar.

Sunday, December 31, 2006

Happy New Year!

It's 59 degrees Fahrenheit outside (at the end of December!), and it seems really nice despite the mist that's almost up to drizzle. Somehow that strange warmth makes me really optimistic for 2007! Happy New Year, everyone! Best!

Saturday, December 23, 2006

Birdsnesting

Daddy bought an embroidery machine for me as a mom present while we were at the mall the day before my water broke the day before Karston was born. It is a Brother PE-180D, I knew it was well-liked, and it was an incredible price (1/4 the best price on Froogle, and 1/8 the best price I had ever seen in person) because it was the display unit. However, I've had to solve a number of open box problems. The first was that I didn't have the manual. Luckily the on-screen help covers almost everything. Then I found a link to the manual at SewForLess. (I couldn't find the manual with Google, and Brother's web find only wanted to sell me a printed copy. The kicker is that the link goes to Brother's web site!) The second problem was that I had the wrong hoop. Yes, the dangers of open box: not only are some components like the manual missing, others could be just plain wrong! After careful analysis of how the hoop went on the arm (don't forget, we're a two-engineer household!), we knew they didn't go together. There was no way to latch the hoop securely that also held the fabric flush with the bed so that it wasn't a hazard. (I broke two needles proving this before the careful analysis. The first needle break launched one shard just below my left eye, and now I always wear safety glasses when embroidering. I bet you didn't think safety glasses belong in a sewing room! but they do in mine.) I ordered the hoop from SewForLess since they supplied the manual link. But I still had a serious problem with a large snarl of thread on the underside of the fabric that eventually would break the upper thread. First I had to discover the name of this problem: birdsnesting. Once I knew that, I could troubleshoot with Google. At the sewing machine fault finder, I learned that birdsnesting is usually caused by improper upper threading. At first I scoffed, since I have a lot of machine threading experience. But I re-threaded it very carefully and slowly, following the on-screen directions, and the bird's nest disappeared. In this case I think my sewing and serging experience was part of the problem: I was sure I could just whip that upper thread through its path, no need to read the directions or to be careful! Now I know that I need to be very careful, and that following the on-screen directions helps. I still feel that I can thread the needle faster by hand than with the F.A.S.T. system, so I do let my experience over-ride that part of the directions. But slowing down vastly improved the results! Then my final problem, on my second test embroidery, the upper thread broke. When I grabbed the thread end, it was obvious: the large embroidery thread cone, 6 inches tall, wasn't unwinding freely. I was using my serger's stand and thread arm and reaching over to the embroidery machine, but it wasn't a good kluge. So Daddy installed the thread cone stand from my mom, the thread flowed easily, and the embroidery just worked. Ahh... since embroidery was part of our Christmas gift plans, the last two solutions were just in time!

I can now embroider when I want (OK, a year and a half later). The only remaining problem is that sometimes the bobbin thread pulls through to the front for a while. To keep it from showing up, I just wind a bobbin in the same color. Having equal weight upper and lower thread usually helps sewing anyway, and Singer Type 66 bobbins are easy to find. I might solve that problem in time, but for now I'm happy that I can now embroider what I want when I want.