Getting ready for Thanksgiving 2009

It’s just about time for my favorite holiday of the year, Thanksgiving! My daughter thought I was going ***extreme geek*** last year when I wrote up our [notes from Thanksgiving 2008][tg2008notes], but a few weeks ago when we started planning for this year’s feast she admitted how useful those geeky notes are.

We’re holding steady at around 30 people, although some of them are only showing up for appetizers or dessert since they have other commitments for dinner itself. Some folks from last year aren’t coming this year, but we have some new people joining us! My cousin, Kevin, whom we haven’t seen for many years (decades?!?), will be bringing Robin to join us this year. The Benjamins, our friends from Caitlin’s gymnastics team, will be joining us for the first time, along with Emily (a friend of Caira’s).

Based on our experience last year, we’ve tweaked the menu a bit:

Appetizers

– Poppy seed rolls
– [Artichoke dip][]
– [Spinach dip][]
– Cream cheese and jalepeño jam
– Bread, crackers, etc.
– Stuffed jalapeños
– [Deviled eggs][]
– Olives (Nana)
– Stuffed celery
– Pickles

Dinner

– Roast turkey
– [Cornbread stuffing][stuffing]
– Mashed potatoes
– Gravy
– [Cider baked ham][]
– [Macaroni and cheese][mac-n-cheese]
– Cranberry sauce
– “Awesome strawberry stuff” (Nora)
– Cranberry relish (the Benjamins)
– Sweet potato casserole (the Benjamins)
– unspecified veggie dish (the Benjamins)
– Jellied cranberries (Nana)

Desserts

– Pumpkin pie
– [Pumpkin roll][]
– Apple-cranberry pie (Emily)
– Mincemeat pie (Nana)
– Apple pie (maybe)
– Whipped cream and ice cream

[tg2008notes]: http://sonicchicken.net/blog/wordpress/20081129/tg-2008-recap/
[deviled eggs]: http://sonicchicken.net/blog/wordpress/20051118/barbs-deviled-eggs/
[spinach dip]: http://sonicchicken.net/blog/wordpress/20091124/spinach-dip/
[artichoke dip]: http://sonicchicken.net/blog/wordpress/20091126/artichoke-dip/
[stuffing]: http://sonicchicken.net/blog/wordpress/20081126/cornbread-stuffing/
[cider baked ham]: http://sonicchicken.net/blog/wordpress/20081201/cider-baked-ham/
[mac-n-cheese]: http://sonicchicken.net/blog/wordpress/20081124/mac-n-cheese/
[pumpkin roll]: http://allrecipes.com/Recipe/Libbys-Pumpkin-Roll-with-Cream-Cheese-Filling/Detail.aspx

Posted in Uncategorized | Tagged | 1 Comment

Spinach dip

Here’s a recipe for spinach dip from one of Barb’s co-workers.

– 1 c sour cream
– 1 pkg (1/2 lb) cream cheese, softened
– 1 pkg ranch dressing mix
– 1 pkg (10 oz) frozen spinach
– green onions
– parsley
– dill
– salt
– pepper
– garlic, minced
– 1 can (8 oz) water chestnuts
– 1 red bell pepper, minced

Combine all ingredients and refrigerate overnight.

Posted in Recipes, Uncategorized | Tagged , | 1 Comment

“Jet Lag”, veal mignonettes

A few nights ago we watched “[Jet Lag][]”, starring Juliette Binoche and Jean Reno. With those two in the leading roles my expectations were pretty high for this movie, perhaps too high. It was decent, worth watching, and the score (by Eric Serra, who also did “[Subway][]”) was pretty good. But the real reason for this blog post is the recipe that was tucked into the credits, Veal Mignonettes. This is the dish that Félix (Jean Reno) prepares for Rose (Juliette Binoche) near the end of the movie.

> Veal Mignonettes (serves 2)
>
> – 3/4 lb veal
> – 1/2 lb carrots
> – 4 small zucchini
> – 6 tomatoes
> – 2 leeks (white part only)
> – flat-leaf parsley
> – pepper
> – coarse salt
> – 1 Tbsp olive oil
> – armagnac (cognac?)
> – 1 tsp balsamic vinegar
> – 1 pinch sesame seed
>
> Cut the veal into 1-inch slices. Julienne the vegetables.
> Heat olive oil in a skillet and saute the vegetables over low heat until al-dente, about 5 minutes.
> Add a pinch of coarse salt, the parsley, and pepper.
>
> Remove the vegetables from the pan, add the veal and armagnac (~1 Tbsp?) and flambé for about 1 minute.
> Return to the burner and add a pinch of sesame seeds and the balsamic vinegar. Serve with the al-dente vegetables.

There were some errors in the recipe which I’ve done my best to correct. For instance, the veal and carrots were given in “ld”, which I presume was supposed to be “lb”. Also, the armagnac is never referred to in the instructions. A 1-inch thick slice of veal seems a bit much — in the movie, it looks more like 1/2 or 3/4 inch.

I’ve never been successful with flambé. For some reason the pan never lights for me. Anybody have a suggestion as to what I might be doing wrong?

[Jet Lag]: http://www.imdb.com/title/tt0293116/ “‘Jet Lag’ on IMDB”
[Subway]: http://www.imdb.com/title/tt0090095/ “‘Subway’ on IMDB”

Posted in Recipes, Uncategorized | Tagged , , , , | 3 Comments

My callsign

I just realized that I never posted my ham (amateur radio) [callsign][], something which I meant to do as soon as I received confirmation. It’s:

N3JIM

If you want to know more about radio callsigns (both ham and broadcast), here’s some additional information. The leading “N” is one of the 4 letters assigned to United States radio operators. The other US identifiers are “K”, “W”, and “A”. (K and W are familiar to most people because of broadcast radio and TV station identifiers such as “WGBH” and “KXPR”.)

The “A” designator is a little different, because it’s partially assigned to the US — only “AAx” through “ALx” are for US operators. The rest of the A’s are assigned to about a dozen other countries large and small. See the [Allocation of International Call Signs][itu_calls] for the complete list.

Broadcast stations are identified by a 3- or 4 letter (only) code, typically Kaaa in the west or Waaa in the east. Ham call signs, at least in the US, include a single digit in the second or third position. The digit normally identifies the part of the country in which the operator was living when their license was granted. See the table “Geographic Region-based Numerals” at the bottom of the [FCC Sequential Callsign Systems][seq_calls] page. Because I’m in California, my digit should be “6”, but…

I really wanted a 1×3 call sign that ended with my name, “JIM”. The only one that was available when I got my license was N3JIM, so I took it, even though the “3” would normally be used in Delaware, DC, Maryland or Pennsylvania.

I don’t know if I’d bother switching to K6JIM, N6JIM, or W6JIM if/when any of those came available. It’s probably not worth the trouble, and a few people are starting to recognize N3JIM when I announce. The only downside is occasionally explaining that I really am from California, not somewhere back east. 🙂

[callsign]: http://en.wikipedia.org/wiki/Call_sign#Amateur_radio
[itu_calls]: http://life.itu.ch/radioclub/rr/ap42.htm
[seq_calls] : http://wireless.fcc.gov/services/index.htm?job=call_signs_1&id=amateur

Posted in Uncategorized | Tagged , , , | Leave a comment

Orange ginger beef

This is one of my family’s favorite recipes. It’s my adaptation of Martin Yan’s recipe from [A Wok For All Seasons][wfas], currently out of print. My copy of this book is falling apart, and I have modified Martin’s recipe quite a bit. If you like this, I highly recommend that you ferret out a copy of the book! It’s filled with excellent recipes and useful tips.

[wfas]: http://www.amazon.com/gp/product/0385243863 “Martin Yan, ‘A Wok For All Seasons’, ISBN 0385243863″

One of my Australian friends asked me to post this, so I’ve converted it to metric. (Archaic units included for the metric-challenged.) I’m not sure if all of these ingredients are readily available elsewhere. If you have trouble finding something or don’t recognize an ingredient, drop a comment and I’ll see if I can help find a substitute/explanation.

* Rice
* Marinade
* * 50 mL (3 T) soy sauce
* * 25 mL (1.5 T) Shao Hsing wine (or substitute dry sherry)
* * 15 mL (1 T) cornstarch
* * 15 mL (1 T) vegetable oil
* 0.5 kg (1 lb) beef sirloin or flank steak, sliced thinly across the grain
* 0.5 kg (1 lb) medium-firm tofu
* Orange sauce
* * 180 mL (3/4 c, half a can) thawed frozen orange juice concentrate
* * 50 mL (3 T) sugar
* * 50 mL (3 T) soy sauce
* vegetable oil for the wok
* 1 can (appx 500 g or 18 oz) pineapple chunks, drained
* 1 can (appx 300 g or 11 oz) mandarin orange segments, drained
* 5-10 thin slices of fresh ginger, peeled
* 15 mL (1 T) cornstarch mixed with 30 mL (2 T) cold water

Preparation

1. Start a pot of rice.
1. Combine marinade ingredients in a bowl. Add beef and stir to coat, marinate for ~30 min.
1. Rinse the block of tofu, and cut it into medium (20 mm or 3/4”) cubes. Place the cubes in a colander to drain.
1. Combine sauce ingredients in a measuring cup and set aside.
1. Drain the canned fruit. (I usually rinse the orange segments in the can; otherwise, they can taste a bit “tinny”.)
1. Drain any excess marinade from the beef.
1. Slice the ginger. (I do this right before cooking–the flavor fades quickly!)

Cooking

1. Place wok (or *big* frying pan) over high heat.
1. When the wok is hot (the edge inside is too hot to touch), add oil and swirl to coat sides of pan.
1. Add the ginger slices to the oil. Separate them with a spatula, if necessary. Cook for 5-10 seconds.
1. Add the beef and stir fry for a few minutes, until the beef is barely pink.
1. Add the tofu, pineapple chunks, and orange sauce. Stir and let cook for a moment. Meanwhile…
1. Measure the cornstarch into the cup you used for the orange sauce. Add cold water and stir to dissolve cornstarch. (Also gets the remnants of that yummy sauce!)
1. Add the orange slices and cornstarch solution to the wok. Stir and cook until the sauce boils and thickens.

Serve over the rice, which should be done right about now!

The ginger “coins” may be a bit much for some people, but they’re my favorite part of this dish.

Posted in Recipes, Uncategorized | Tagged , , , , , | Leave a comment

ADODB on FreeBSD

Recently I’ve had one of my student assistants working on setting up a web server. She’s pretty much got it, except that she hasn’t been able to establish a connection from the web server to our database server.

We’re wanting to use ADODB to connect to a mssql server. She figured out how to install the databases/adodb5 port (and how to get ADODB included in the PHP configuration), but that wasn’t enough by itself. I thought there might be a PHP extension required, and a little Unix pipe revealed the missing module:

# grep -i ^php /usr/ports/INDEX-7 | grep -v ^php4 | grep -i adodb

The command above searches the ports index for lines starting with “php” (or “PHP”), ignores those which begin with “php4” (I’m not interested in version 4 stuff), and searches everything that’s matched so far for “adodb” (or “ADODB”). Results:

php-adodb-ext... (long index line snipped)

A quick check of /var/db/pkg verified that this module hadn’t been installed yet. I installed the module via portmaster(8) and added the new extension per the pkg-message instructions:

# portmaster databases/php-adodb-ext
.
.
.
(installation stuff snipped)
# cat >>/usr/local/etc/php/extensions.ini
extension=adodb.so

Now we’re getting a different error:

PHP Fatal error:  Call to undefined function mssql_get_last_message() in /usr/local/share/adodb/drivers/adodb-mssql.inc.php on line 501

Google indicates the problem is likely that the mssql extension for PHP isn’t installed. I ran the same pipe that I did for ADODB, this time searching for mssql:

# grep -i ^php /usr/ports/INDEX-7 | grep -v ^php4 | grep -i adodb

php5-mssql... (long index line snipped)

So another portmaster(8) installation, this time for php5-mssql. One of php5-mssql’s dependencies is freetds-msdblib, which has some configuration options. The only one I’m setting is MSDBLIB, which enables MS SQLserver (in lieu of the old Sybase DB).

This port (php5-mssql) automatically registers itself as a PHP extension, so you don’t have to add a line to /usr/local/etc/php/extensions.ini yourself.

I’m still getting errors, but they’re starting to look like problems with the database connection string instead of server configuration now. Progress, of a sort. But that’s enough for now–It’s almost 8:00 pm on Friday night before a 3-day weekend, long past time for me to get on with my own life!

Posted in FreeBSD, Uncategorized | Tagged , , , , , , | 3 Comments

DTV conversion

My friends and family know that we generally don’t watch TV, so I haven’t been too worried about the digital television conversion issue. Likewise it was no big deal when I heard that the DTV-to-analog rebate program was suspended due to depletion of funds. But now that they’ve got funding again, I figured I might as well take advantage of the $40 rebate.

I tried to apply via the TV converter box coupon program web site, but it kept throwing errors. The over-the-phone application worked fine. Our coupons are supposed to be in the mail on March 27. The recorded information says that mailing can take up to three weeks, but the program web site now claims to be using first class mail so it shouldn’t take that long.

I’m going to try and get an external antenna hooked up this month, so that’ll be ready when it’s time to buy/install the converter box.

Posted in Our home remodeling project, Uncategorized | Tagged , | 1 Comment

Arden Park hams

I got my amateur radio (“ham”) license last week, but I haven’t posted my callsign very widely because I applied for a [vanity callsign](http://www.arrl.org/arrlvec/vanity.html) as soon as I got my license. (It isn’t possible to apply for a vanity call until one has been granted a license.) It usually takes 18-20 calendar days for a vanity callsign to be granted, so I expect to announce my new call on March 17.

I’m interested in finding other local hams, so I visited [QRZ.com](http://www.qrz.com/index.html) and pulled up “my” grid square, CM98ho. The grid doesn’t quite line up with my neighborhood boundaries, so I also needed to look at grid CM98hn for the southern section. The map shows about 20 markers (which may represent more than one person) in Arden Park:

* [N6YIP](http://www.qrz.com/db/N6YIP)
* [N6PIW](http://www.qrz.com/db/N6PIW)
* [W6PKU](http://www.qrz.com/db/W6PKU)
* [K6BRS](http://www.qrz.com/db/K6BRS)
* [KC6MCM](http://www.qrz.com/db/KC6MCM)
* [KE6KCL](http://www.qrz.com/db/KE6KCL)
* [KC6VQT](http://www.qrz.com/db/KC6VQT)
* [N6VHE](http://www.qrz.com/db/N6VHE)
* [KG6LRX](http://www.qrz.com/db/KG6LRX)
* [N6GNI](http://www.qrz.com/db/N6GNI)
* [WA6VYC](http://www.qrz.com/db/WA6VYC)
* [WA6IUK](http://www.qrz.com/db/WA6IUK)
* [KG6PVF](http://www.qrz.com/db/KG6PVF)
* [N6RHC](http://www.qrz.com/db/N6RHC)
* [KB6UPS](http://www.qrz.com/db/KB6UPS)
* [WD6DZR](http://www.qrz.com/db/WD6DZR)
* [KG6UGJ](http://www.qrz.com/db/KG6UGJ)
* [KG6DJ](http://www.qrz.com/db/KG6DJ)
* and myself.

To get to QRZ’s gridmap display, go to [QRZ’s search page](http://www.qrz.com/db/?cmd=1), enter “grid: CM98ho”, then click on one of the listed callsigns. If that person hasn’t restricted their information, click on the green bar that says “click for more detail”. A map will appear on the right. Click on the “Explore on GridMap” link below the map.

Posted in Uncategorized | Tagged , , | 1 Comment

Xserve disk mirror repair

Looking over the last few posts, I seem to be stuck in a rut. I apologize to readers looking for stories about our remodeling project, progress on Barb’s quilt shop, cooking, or other tales of home. Believe me when I say that I’d much rather be writing about those things! Sadly I’ve been attending the school of hard knocks for the last month, and I want to record some of the things I’ve learned in the hopes of helping other people in similar situations. Heck, it may even come in handy for *me* in the future, although I sincerely hope not!

The system I’m currently fixing has a high-reliability disk setup. The server has two fibre channel interfaces, each connected to a separate RAID-5 array. The server takes care of mirroring, while the external disk arrays implement the RAID-5. This is all done with an Apple Xserve server and an Xserve RAID enclosure.

It looks like one of the RAID arrays got corrupted during our recent power outage, as diskutility (the GUI tool) is reporting “mirror degraded”. I used diskutil (CLI) and the RAID Admin utility to check the RAID arrays, but they both reported no errors on either side of the mirror. A little time on Google turned up a post which suggested [using iostat to determine which side of the mirror had failed][2], but when I tried rebuilding the mirror using those instructions I kept getting “Error -9980”. Some more digging and it looks like the “broken” side of the mirror was unmounted. I tried several things to get that half of the mirror to reconnect, even going so far as shutting down the server and the RAID and rebooting. No luck, although I was able to get ‘diskutil repairMirror *raid-disk* *slice* *from-disk* *to-disk*’ accepted. (It didn’t actually **do** anything, though. But at least it didn’t error out anymore.)

Finally I noticed that one of the RAID controller cards was behaving oddly. It reported status=okay, but it wouldn’t allow connection from the RAID Admin utility (over the LAN). I had been ignoring it, since I was connected to the other controller, but I decided to connect directly to the flaky one and see if there was something it wasn’t reporting to the controller I had been using to diagnose the problem. I found that the IP address of the dodgy controller wasn’t correct, and the passwords for monitoring and management access weren’t working. I shut down the server again, and this time when I shut down the RAID I pulled the power cords. (I had found out that without pulling the power cords, the array isn’t actually powered off; rather, it’s in “sleep” mode.) I powered up the RAID (but not the server!), then [reset the RAID controller][3] (just the password reset, not the full-blown one). Between power-cycling the RAID and resetting the controller, I was able to get the RAID Admin utility to connect to the array. Then when I rebooted the server, the disk mirror started rebuilding without any other action on my part.

The mirror seems to be rebuilding right now. The RAID arrays are 1.225 TB (1.1 [TiB][]) each, with ATA100 disks. (It’s a few years old.) At the rate it’s been going, I expect the rebuild to take about 11 hours total.

[1]: http://www.frozennorth.org/C2011481421/E20060221212020/ “Setting up mirrored disks on Mac OS X”
[2]: http://www.radiotope.com/node/23 “How to figure out which half of the mirror has failed when both report ‘okay'”
[3]: http://support.apple.com/kb/HT2758 “How to reset the Xserve RAID controller card”
[TiB]: http://en.wikipedia.org/wiki/TiB

Posted in Mac OS X, Uncategorized | Tagged , , , , , , , , | Leave a comment

Duplicate DHCP leases

We’ve been getting the following types of error messages on our DHCP server (running on FreeBSD):

Jan 12 07:01:52 *someserver* dhcpd: uid lease 192.168.100.200 for client 00:12:34:56:78:9a is duplicate on 192.168.100/24

Google turned up a [helpful post][] which told me what the problem was, but I didn’t care for the suggested fix. Initially I concentrated on the MAC addresses listed in the error log, seeing if they were also defined in our dhcpd.conf file:

grep “is duplicate” /var/log/messages \
| cut -f 11 -d’ ‘ \
| sort -u \
| grep -C –file=- /usr/local/etc/dhcpd.conf

But this doesn’t seem like the correct approach. What we really ought to be doing is comparing our dhcpd.leases file to dhcpd.conf, looking for MAC addresses that are listed in both. Anything that’s listed with a *fixed-address* in dhcpd.conf probably shouldn’t be the leases file, IMHO. That’s probably a bit too complicated for a bunch of shell commands piped together, since we’d need to parse a multi-line DHCP entry from each file. I think a perl script might do the job.

[helpful post]: http://www.culmination.org/2008/10/28/isc-dhcpd-duplicate-uid-lease/

Posted in FreeBSD, Uncategorized | Tagged , | 2 Comments