Wednesday, December 28, 2011

Tinkering with XSLT again

The cool tricks for today (since I wanted to update my syllabus) include replacements and improvements to what I did before. Since TestXSLT is PowerPC-only, I had to find an alternative method. I'm using the command 'xsltproc --output Syllabus.html opmlsyllabus2html.xsl Syllabus.opml' where Syllabus.opml is a file I edit in OmniOutliner and save as OPML, and where opmlsyllabus2html.xsl is a modified version of beigeopml2web.xsl from Buzz, as noted before. Runs like a charm on Lion!

Since I was mucking about, I decided to try to insert the current date for "Last Modified" line, and this time I found a wonderful hint to insert the current date with XSLT (see the top reply). For a brief overview of the XSLT date options, see this reference. While playing around with formatting the date, I ended up without a space where I wanted one, so I had to look for a way to insert a single space too (see the first hint in the last reply). It works, better than ever! I just needed TestXSLT to stop working to motivate me to try again.

Wednesday, December 7, 2011

Vacation

Day 1 (December 3)

Our flight to Fort Lauderdale was early enough that I initially set my alarm for 4:30 am. However, I didn't fall asleep as early as I wanted, so I changed it to 4:45 am. Despite those sleepy intentions, I was wide awake at 2:30 am, so I got out of bed at 4 am, knowing it would be a long day.

Day 3 (December 5)

We went to Fort Zachary Taylor Historic State Park at lunchtime. I went to the concession stand and asked for the cuban mix without cheese or mayo. I was told that special requests would not be honored, and if I had food allergies, I should just get the turkey sandwich. I don't want a turkey sandwich! I want ham and pulled pork and pickles, the yummy parts of a cuban mix! I really didn't like the dismissive tone of "just get a turkey sandwich," so I biked to the closest deli instead. For 75¢ more, I got a cuban mix with chips and a drink! I apologized for my food allergies, and was told, "Hon, if you're going to eat it, you should have it exactly the way you want it!" Wow, what a change from my previous ordering attempt! I am so glad I went to the Courthouse Deli instead! That one nice comment made me Very Glad I went there; I had pedaled over there because I was annoyed, but those kind words made me happy I had picked that deli.

Day 6 (December 8)

The best part of today is that I had a really good nap! This is somewhat amazing since fire alarm testing was in progress. The alarms weren't long, so I just went back to sleep every time.

Sunday, November 6, 2011

The Mustard Stain

I like mustard as a condiment. However, when the top flies off the mustard container while I’m squeezing, I get more mustard than even I wanted. All over my shirt, too. Eventually my shirt recovered; I think soaking overnight in detergent (well, oxygen cleaner) was the biggest help. If this happens to you, check out <a href=“http://web.extension.illinois.edu/stain/staindetail.cfm?ID=72”>one</a> of <a href=“http://home.howstuffworks.com/how-to-remove-mustard-stains1.htm”>these</a> references.

Friday, November 4, 2011

web100clt for Mac

# install the latest Developer Tools
cd /Developer
mkdir Source
cd Source/
curl -O http://software.internet2.edu/sources/ndt/ndt-3.6.4.tar.gz
cd ndt-3.6.4.tar.gz
cd ndt-3.6.4
tar -zxf ndt-3.6.4.tar.gz
cd ndt-3.6.4
./configure 2>&1 | tee configure.out
make 2>&1 | tee make.out
find . -name web100clt
file src/web100clt
sudo cp src/web100clt /usr/local/bin

Sunday, October 30, 2011

iCade

I just saw the iCADE, iPad Arcade Cabinet (cheaper at Toys R Us right now), and now I know what I would do with an iPad if I had one. I'm not tempted, but at least I know what it's good for now.

Friday, September 30, 2011

Travel Warrior Chunk Chicken Noodles

Here's another dinner that's simple to fix on the road (with a kitchen). After I stop at a store to pick up chicken breasts (one of the few foods Karston will eat) and a small bag of mixed frozen vegetables (or fresh, depending on the season), I can make this comfort food. Cale will often eat a lot of green beans, so between Cale and this soup, we can finish a bag of frozen green beans in a few days.

1 pkg creamy chicken ramen noodles

1 to 2 cup mixed vegetables (corn, bell peppers, green beans, or whatever you like; fresh or frozen), diced

1/2 to 1 cup chicken, diced

I started from this Ramen Fried "Rice" recipe, so once again, you can tell I can't follow a recipe.

On the same theme of ramen noodles as the basis of a quick and simple meal, how about beef-broccoli (maximum 1/2 lb steak maybe restaurant leftover and pick up a head of broccoli), hot and sour soup (add julienned squash, green onions, and bamboo shoots if available), tuna casserole (add parsley if available), spinach-chicken casserole (use 1 pkg ramen and twice as much spinach by weight as chicken), or yatsobi (with half or less of the meat, and probably double the veggies).

Wednesday, September 28, 2011

Travel Warrior Oriental Beef and Noodles Dinner

Here's another dinner, Oriental Beef and Noodles, that's simple to pack for my family, but with fewer leftovers (sometimes none) than the spaghetti.

1 package ramen noodles, oriental flavor

1/2 pound ground beef (maybe leftover from spaghetti)

1 15 oz can diced tomatoes

1 small package frozen corn (freezer pack for the cooler, then use immediately)

Surprisingly yummy!

Sunday, September 25, 2011

Travel Warrior Spaghetti Dinner

When we travel as a family, it's often nice to have a destination-cooked meal (since it's not home-cooked at home) without having to stop at a grocery store for supplies. We almost always stay somewhere with a small kitchen (kids need juice that needs a refrigerator), including pots, a can opener, and a stove. One of the easiest is spaghetti, except that I dislike commercially jarred spaghetti sauce for having too much sugar.

For the sauce, combine and heat:

1 29 oz can of crushed tomatoes

1 15 oz can of diced tomatoes with green peppers and onions

1 4 oz can of diced mushrooms, drained and rinsed

When we have the space, I add dried oregano, garlic powder, and a few shakes of habañero sauce. If we stop at a store, we add 1/2 pound ground beef (or a leftover hamburger from a restaurant).

Boil spaghetti according to the package directions.

Voilà, one spaghetti dinner! Since I pack the entire 1-pound package of spaghetti, we usually get four meals out of this. For us, this is better when we're traveling with another family so the leftovers aren't so oppressive.

Tuesday, September 13, 2011

Lion Annoyances

I'm not ready to install Lion on all of my Macs, but it came on my new MacBook Pro at work. Yesterday, Time Machine was a fantastic way to get my applications, files, and preferences from the old laptop to the new! Now comes the more tedious task of making friends with Lion.

First up, the scroll wheel on my mouse scrolled in the wrong direction! I don't want to change everything else (older Mac OS X and Linux) to match, so I had to change Lion's default behavior. Apple menu > System Preferences > Mouse, un-check "Move content in the direction of finger movement when scrolling or navigating." Whew!

After that, I'm making friends with Apple's Lion.

Wednesday, September 7, 2011

Clothes Make the Girl

Since the start of this calendar year, I've lost about 10 pounds, and just recently people have started to remark to me that I look as though I've lost weight.

Initially, I had two theories. One was simply that a ten-pound weight loss shows. The other theory was that I'm wearing different, smaller clothes now. (No, I have not bought a new wardrobe! I don't enjoy shopping, and clothes shopping is probably the worst form; furthermore most prêt à porter doesn't flatter me) Now that I've heard the remarks a number of times, I can report that all, yes all, of the compliments are when I'm wearing smaller clothes. These are clothes I wore in high school, somewhat worn but they fit well again. Not new and sharp (although I'm sure that would work too!), but old and at least somewhat figure-flattering.

Although I did both, I have to say that dressing to look smaller is more effective to get others to notice than being smaller.

On a similar tangent, clothes that fit well are more comfortable and generally make you more confident in your appearance leading to overall improved confidence. Knowing you look good leads to feeling good. And that's why I can sometimes drag myself out to buy clothes.

IPv6 and Solaris 9

Since static IPv6 on Solaris 9 wasn't fun enough on its own, it turns out that my Solaris 9 servers start losing a lot of IPv6 packets after a reboot. The problem appears to be in.ndpd (what should be the IPv6 neighbor discovery protocol daemon, but appears primarily to be IPv6 routing instead), and syslog reports in.ndpd[PID]: [ID 302683 daemon.error] router_add_k: RTM_ADD (interface bge0): Network is unreachable RTM_ADD every 1 to 5 minutes.

The fix is to shut down IPv6 (it's not working anyway, so go ahead) and then restore IPv6; the only difference is that in.ndpd isn't running. However, just TERMinating in.ndpd isn't enough for IPv6 traffic to flow freely. Try this instead:

# kill in.ndpd

ps -ef | grep ndp

sudo kill -TERM 11292

# bring down the IPv6 interfaces

sudo ifconfig -a6

sudo ifconfig bge0:1 inet6 down unplumb

sudo ifconfig bge0 inet6 down unplumb

sudo ifconfig lo0 inet6 down unplumb

# flush IPv6 routes

sudo route flush -inet6

# verify that IPv6 is gone

sudo ifconfig -a6

netstat -nr

# restore IPv6 interfaces

sudo ifconfig lo0 inet6 plumb up

sudo ifconfig bge0 inet6 plumb up

sudo ifconfig bge0:1 inet6 plumb up your:ipv6:address::here/64

# verify interfaces

sudo ifconfig -a6

sudo ifconfig -a

# restore default IPv6 route

sudo route add -inet6 default your:ipv6:default:router::here

# verify route table

netstat -nr

I'm trying to stay off my diatribe soap box here, but I'm happy that Solaris 9 will be replaced with RHEL 6 in the coming months.

Friday, September 2, 2011

Keyboard Shortcuts for Mail.app

Every previous time I've tried to use Mail.app before, I've gone running back to Thunderbird usually within a day. This time, thanks to a large monitor (so I leave Mail.app in the 3-pane single window more so that keyboard navigation works) and this tip on adding Gmail-like shortcuts to Mail.app using Quicksilver, and this tip to color a Mail message, I don't miss Thunderbird, I have better Exchange integration (ugh), I'm not reaching for the mouse too often, and I can now view graphic attachments like PDFs inline.

Quicksilver is awesome! AppleScript gets the job done, and consequently now Mail.app gets the job done too.

Thursday, August 25, 2011

Static IPv6 on Solaris 10

I tried to avoid it since I'm retiring these Solaris boxes soon, but I had to put static IPv6 on Solaris 10 so I could troubleshoot. So here's how to do it, and it's not quite the same as Solaris 9.

First, get your baseline.

sudo ifconfig -a6

sudo ifconfig -a

netstat -nr

Start with loopback, the easy one.

cd /etc

sudo touch hostname6.lo0

sudo ifconfig lo0 inet6 plumb up

Move on to an actual interface, changing eri0 to your interface as needed. This is a change from the Solaris 9 approach!

sudo vi hostname6.eri0

This time, the /etc/hostname6.eri0 file should contain 'addif ipv6:addr:ess/64 up' – not just the IPv6 address/prefix, but the extra directives as well.

Now make it so!

sudo ifconfig eri0 inet6 plumb up

sudo ifconfig eri0:1 inet6 plumb

sudo ifconfig eri0:1 inet6 ipv6:host:addy/64 up

Add a route to the default router, and put its address in that file to survive reboots.

sudo route add -inet6 default ipv6:rtr:addy

sudo vi /etc/defaultrouter6

You'll want ndp running too.

sudo /usr/lib/inet/in.ndpd -a

Check your work against your baseline.

sudo ifconfig -a6

sudo ifconfig -a

netstat -nr

OK! That seems to work for now.

Tuesday, August 16, 2011

Chicken

On my Mac, I upgraded from Chicken of the VNC to Chicken (and you should too) because it works with IPv6 connections. It's also a very easy VNC client.

Tuesday, August 9, 2011

Color Your Mail

By using the number keys (zero to five) in Thunderbird (my preferred mailreader) I can easily assign different colors to the mails in the inbox. I’ve made a little system of my own where one color means urgent, another “less important todos” and so on.

My mailbox is IMAP-based and through the magic of IMAP, the color codes even carries themselves between the different machines I use (and works within Apple’s Mail.app too).

It may not revolutionize your life, but it sure helps me just a little bit – each and every day

from Color code your mail « Netfactory

I used to use the IMAP tags to color-code my email in Thunderbird heavily, until we switched from good ol' IMAP to Exchange 2010. Even though this Exchange server has IMAP enabled (thank goodness!), Microsoft doesn't support IMAP tags, so my color-coded tags no longer show up in all of my Thunderbird clients.

That takes some of the shine off of Thunderbird. Add in its memory usage, and I'm trying Apple's Mail.app yet again. I'm now accustomed to messages being colored per-client, but I still wanted to color my messages without creating complicated Rules in Mail.app. Luckily, I found an old post:

If you want to color code your messages in the Mail app just press Apple-Shift-C to bring up the color palette. Select any color and you’re done.

Awesome! I may be able to take the leap this time!

Wednesday, June 15, 2011

CSA, Week 8

Thursday afternoon, we went to niece Hayley's graduation, so we picked up the next box on Saturday from Coon Rock Farm. I made sure to pat all three dogs I met while there. Two acted like rescue dogs (cautious), so I stooped low with my hand extended before patting them. In contrast, I held my hand out to the alpha mom and she came right over for pats. After I loaded my box of veggies in my car (bundled up to stay cool), I noticed she was standing next to me ... very close ... ahem, I seriously wasn't done patting her yet? I love friendly dogs!

mesclun, radishes - salad

baby bok choy - wilt with an onion, deglaze with chicken stock, yum!

white turnips - add to soup base

kohlrabi - creamy purée added to black beans

beets, fava beans - gift

a bag of oregano - not sure yet

Wednesday, June 8, 2011

CSA, Week 7

This week's CSA box ... we're getting used to the routine! Next pickup isn't until Saturday so that we can go to niece Hayley's graduation Thursday afternoon.

mesclun, radishes, carrots - salad

bok choy, kohlrabi, escarole - stir-fry

static IPv6 on Solaris 9

We use static IP addresses on our name servers, and I wanted IPv6 support on our public (and publicized) DNS too.

Doing this on Linux is straightforward and very similar to IPv4, as it should be, and you shouldn't have any trouble finding that information.

But IPv6 on Solaris, let alone Solaris 9, let alone static instead of SLAAC? Not as easy to find or do. Argh! I wasted a whole day on this, although I suppose it wasn't a wasted day since it accelerated my plan to eradicate SPARC and Solaris. (Uniformity is easier to manage.) So here's how you do it.

First, check for any existing IPv6.

sudo ifconfig -a6

While we're here, see what we've got (baseline).

sudo ifconfig -a

Since we'll need to add an IPv6 gateway, baseline the routing table too.

sudo netstat -nr

OK, baseline data collection done!

Start with an easy win, adding reboot-safe ::1 IPv6 localhost.

sudo touch /etc/hostname6.lo0

Bring up ::1. Don't forget, Solaris has that concept of plumbing the interface before it will come up.

sudo ifconfig lo0 inet6 plumb up

Depending on your interface name(s), replace bge0 with the correct interface for your system. First, tell the interface to support IPv6.

sudo ifconfig bge0 inet6 plumb up

Now you have to create a virtual interface for the IPv6 address (and yes, the address types co-exist on RHEL and Mac OS X) and bring it up. Since this is a static IPv6 address for a server, drop it in here.

sudo ifconfig bge0:1 inet6 plumb up your:ipv6:address:here

Now make it reboot-safe by putting the IPv6 address in the file /etc/hostaname6.interface.

sudo vi /etc/hostname6.bge0 # add the IPv6 addr

Not quite done! If this is a routed address, the Solaris box will need an IPv6 gateway too.

sudo route add -inet6 default your:ipv6:gateway:address

Make that reboot-safe too, by adding just the IPv6 router interface to /etc/defaultrouter6 too.

Make sure the updates look correct.

sudo ifconfig -a6

sudo ifconfig -a

netstat -nr

If you can ping6 your IPv6 gateway and IPv6 hosts outside your VLAN, it works! And it's not hard once you know what to do.

Just for reference, here's SLAAC IPv6 for Solaris 9 too; update with the right interface name from ifconfig -a as needed. Do the same baseline checks first! Then ...

sudo cp /etc/hostname.eri0 /etc/hostname6.eri0

sudo ifconfig eri0 inet6 plumb up

The RA should take care of IPv6 address prefix and routing for you.

Tuesday, June 7, 2011

World IPv6 Day!

World IPv6 Day starts in just a few minutes!!! And just in time, here's an IPv6 cupcake wrapper as an SVG file for your electronic cutter (and Sure Cuts A Lot or Makes The Cut or other software).

Tuesday, May 31, 2011

CSA, Week 6

The anxiously-awaited sixth box finally arrived last week! I made the same greens, pasta, and sausage dish as most of the previous weeks when I got home, so the only items from this box that made it into my refrigerator were some of the lettuce (what I didn't have for dinner), some of the radishes (what Cale didn't eat), and the kohlrabi bulb. This may be a long week until the next box arrives! On the other hand, I think this CSA membership has been a success because I wanted to improve the quality of what we eat. I'm also happy that so far I've been able to keep up with the culinary challenge. Since neither of us has gotten bored with the same ol' greens dish (especially when I vary the greens, the pasta, and the sausage), it hasn't been as much of a challenge as I was worried it might be.

We had eat most of the CSA box by Friday, so we went to the Farmer's Market on Saturday to reload on produce. I got broccoli and two bunches of kale.

sage - I gave the sage to my mom right away since she had several tasty sage ideas

red romaine lettuce and radishes - salad

swiss chard, frizzy kale, bok choy, and kohlrabi greens - greens+pasta+sausage (and again with Farmer's Market kale)

kohlrabi - into a stir-fry with the Farmer's Market broccoli

Now to wait until Thursday's CSA pickup again ...

Friday, May 27, 2011

The Squeaky Printer

One of the HP LaserJet 2200 printers at work had been very squeaky. Since it was the only printer that still duplexes, I preferred it. However, the squeaking was so loud that everyone on this floor knew when it was printing! I was very surprised to learn what fixed the awful noise: replacing the toner cartridge.

Wednesday, May 25, 2011

Bony

I only weigh four pounds less than I did this time last year, but I think I know where I lost it all. It's not a lot of weight, but I think it all went away from my butt. In high school and as an undergraduate, I often heard that I had the world's boniest butt. All of those guys were too nice to finish the sentence: for someone who looks like she has enough fat to spare. You really wouldn't expect it, but it's true. No one wants me to sit on the lap! When I sit, the lower pointy parts of my ischium bones poke through right where I don't have much padding. (I still have plenty to spare, just not there.) And last week, when I sat outside on the ground, I was really wishing for some extra cushioning too.

CSA, Week 5

We finished off the CSA box of produce on Monday this week, and we're anxiously looking forward to the next box tomorrow!

mesclun mix - salad, of course (my favorite!)

green bok choy and onion - I gave two heads of bok choy to my mom, and I used the other two heads for her birthday dinner. I carmelized two spring onions, quickly deglazed the pan with chicken stock, then added sliced bok choy to cook for 3 minutes. Yum! (I also made her a chocolate birthday cake so it wasn't too healthy!)

rainbow swiss chard and mixed winter greens - again with the greens+sausage+pasta because it's so good! I had the single serving of leftovers for lunch Monday, and DH was sad he didn't get the leftovers for dinner. So I need the next CSA box so I can make it again! As long as you vary the sausage and pasta, the dish can taste very different even with the same greens (and that doesn't always happen either)!

Bring on more fresh produce!

Thursday, May 19, 2011

CSA, Week 4

Still keeping up with the CSA boxes as they come in!

green bok choy and beets - I didn't have room in my frig when I unpacked my CSA box this week, and I didn't have time to re-arrange the frig, so I gave the bok choy and beets to my mom who was very happy about it.

rainbow swiss chard and mixed winter greens - we're still enjoying the greens, pasta, and sausage dish, so I made it again.

broccoli - stir-fry with zucchini and turkey over brown rice

Ready for more ...

Friday, May 13, 2011

IPv6 DNS

We're starting down the path towards IPv6, and it looked like the first real task for me was to add IPv6 to an existing DNS server. Fortunately, with all the interruptions this morning, it turned out to be an easy task (and I had backup). I started on a name server that's maintained like all the others, running ISC bind like all the others, but hasn't been publicized so I could blow it up if needed.

First, make sure this server has an IPv6 address so it can serve DNS on that address so you can test it.

Then go to the options section of named.conf to add the following line:

listen-on-v6 { any; };

I already had a few AAAA records in our DNS, so I didn't have to add one to test. Restart named, and test it with a command like host -6 -t aaaa pickanipv6hostname ::1 to be sure it returns the IPv6 address for pickanipv6hostname. The host -6 part sends the request over IPv6, the -t aaaa requests just the AAAA type record, and ::1 uses the IPv6 localhost connection to that name server but you could use any other valid IPv6 address.

Here's a simpler example using host to retrieve an IPv6 address.

$ host -t aaaa ipv6.he.net

ipv6.he.net has IPv6 address 2001:470:0:64::2

Since I was already messing around in named.conf, I added our IPv6 space to the internal ACL. I didn't add link-local or ULA ranges since the link-locals won’t leave their VLAN, and we’re not using ULA (yet?) although that’s a clear range that can’t be routed on the Internet.

Although the DNS side was easy, I did hit two problems related to IPv6. The first was that this server couldn't leave its VLAN via IPv6; that was fixed by alerting the router guy who brought up OSPFv3. I could ping my gateway, but an IPv6 host in another VLAN couldn't ping that gateway. The other problem was that my ip6tables didn't allow DNS, and that's most easily fixed with something like ufw to make ip6tables allow what services iptables allows. So, like I said, I did it in an afternoon, and it really wasn't hard.

Thursday, May 12, 2011

CSA, Week 3

I almost fell behind on my CSA box this week!

winter greens, baby bok choy, onion, and garlic - the greens+pasta+sausage dish that I like so well

mesclun mix, radishes - salad

Just in time to pick up the next box this afternoon! Yum, broccoli!

Tuesday, May 3, 2011

CSA, Week 2

I'm still keeping up with the CSA box this week!

mixed greens - with sausage and pasta

baby lettuce, tatsoi, and radishes - salad

spring onions - green tops in salad, the rest in my usual cooking (like fried up with italian sausage to go in spaghetti sauce)

By making the greens, sausage, and pasta (rotini this week and last) recipe right away, I can free up a lot of room in my frig. It's amazing how much greens cook down, from gigantic when raw to a small handful when cooked. Having tried it, though, I have to say that that recipe is much better for strongly-flavored greens like kale and collards, not so much for the very mild greens from broccoli rabe that I used this week.

I'll probably have a spring onion or two left when I pick up the next CSA box, but I don't think that's a problem since onions keep so much better than baby lettuce. I'll still feel like I'm keeping up, as long as none of this delicious produce goes bad before I serve it!

Tuesday, April 26, 2011

CSA, Week 1

So far (you know, in the first week), I'm keeping up with the CSA box and I'm on schedule to finish this box before picking up the next. Here's what I've made this week.

cabbage - chicken lo mein (and the head of cabbage I already had went into sauerkraut)

baby lettuce and tatsoi - salad

rainbow swiss chard and the good turnip leaves - swiss chard quiche

Japanese turnips - vegetable soups (I would have tried tatsoi in the soup, but it went too fast in the salad!), both zero-fat and hot-and-sour

greens - along with a bunch of organic kale (store, not CSA), kale with sausage and pasta

We also have a beautiful bunch of purple radishes from a co-worker's CSA box with a different farm since she didn't know what to do with that many radishes. So far, they've been snacks and gone in the salad.

If I get more cabbage, another lo mein would be delicious! Swiss chard is also good sautéed, and also steamed in the dutch oven with more veggies, a starch, and a protein. I can eat salad for lunch and for dinner until the cows come home, so you know what I'm eating from lettuce and tatsoi -- no need to mess with a favorite!

Sunday, April 24, 2011

T-shirt Upcycled to Gift Bag

One thing I love about the green trend is that now I can upcycle a gift and not have to work so hard to make it look new while satisfying my urge to reuse before I recycle. This afternoon, my serger and I turned out a quick upcycled T-shirt bag to hold presents for my 14-year-old nephew. (Well, he'll be 14 tomorrow, and we had his family party this afternoon.) I lifted my serger's cutting blade for step #1 to close off the bottom. Where the instructions say to cut, I used my serger with woolly nylon to finish the edges while also cutting. The part that worked out the best was step #2 where the instructions reminded to trace the shape (I just traced the shape of the front neckline on the back so the two sides match without removing much material).

I was going to embroider his name on the back, but I accidentally put the wrong bobbin in and broke a needle (yes, I was wearing safety glasses) while creating holes in the tee-shirt. Fail! To fix those holes while still adding his name to his gift bag, I cut a letter E out of iron-on patch material and patched the holes in style. His mom and sister were ready to take over the upcycled bag but I pointed out it was personalized! So I guess I should grab some more teeshirts that haven't been worn in years to make more gift bags.

(He got a very sun-faded now light salmon orange but still in good shape tee that said 55 Thunderbird Rock-n-Roll with a picture of a jukebox and a 1955 Ford Thunderbird. And the blue E on the other side to cover the first holes in the shirt from that failed machine embroidery. I just can't use that embroidery machine when I'm in a hurry. I can kick out a quick serger project, and sergers are supposed to be hard, but they're easy for me next to the embroidery monsters. Make sure you master your sewing machine first!)

Tuesday, April 5, 2011

The Wind Storm versus the Cherry Tree

Yesterday afternoon, we had a large cherry tree next to the upstairs deck, growing through its framed hole in the lower deck, covered with cherry blossoms. Last night, we had quite a wind storm: this morning, many folks were saying it sounded like a freight train. This morning, the cherry tree is down, with a surprising amount of rot now visible inside its splintered trunk.

I think DH said it best:

I am glad that we got to eat under the tree last night, full flower blooms, on its final night.

Years ago, I decided this tree was a pin cherry based on this Tree ID page (although NC blooms and fruits earlier than the UP, of course). Wikipedia has an entry on pin cherry. Although it's rare for pin cherry to be this far southeast, I still think that's what it is/was. In a cherry classification of sweet, tart, and sour, this drupe was definitely sour! Lots of pucker power, but with plenty of sugar, the fruit made excellent pies and jams.

Friday, April 1, 2011

Jumping Ship

I bought an Android phone, the LG Optimus V, yesterday evening. Usually when I buy a new gadget, I can't stop playing with it. That hasn't happened yet. I'm sure I'll get there (I hope), once I get it "personalized" with my data and likable applications. I want to replace both my ancient Treo 700p and my old first-generation iPod touch with this Android (3G and WiFi). I want a single device that I carry everywhere, unlike the handful I carry now.

I am currently in the no-man's-land of waiting for my cell phone number to port from the old phone to the new phone, so I have no coverage on either phone despite many bars of service. No WiFi, no Android connection.

Where I need to start is a list of what applications I use on the older devices.

any smartphone or PDA worth its salt:

  • Calendar
  • Tasks
  • Contacts
  • Email (not strictly needed for a PDA)
  • Alarm (meeting reminders and timers)

Palm OS 5.4.9:

  • Graffiti Anywhere and ShortCut (may not need on Android, but invaluable on my Treo)
  • NoteTaker (for the sync-to-Mac text files, a Palm sine qua non for me)
  • Patience (solitaire, to play when Cale's almost asleep and I want my brain to turn off)
  • Eat Watch (weight tracker for Hacker's Diet)
  • NFP (female cycle tracker)
  • TCPMP (The Complete Portable Media Player, very awesome to play almost any media, another Palm sine qua non)
  • Handy Shopper (perfect for Palm, otherwise try ZipList for shopping lists)
  • Labor Timer (I don't need this anymore, but it was absolutely top-rate when Cale was ready to arrive)
  • FileZ (file manager)
  • VNC (Palm VNC for Palm)
  • ssh (pssh)
  • RPN Calculator (because I really do prefer RPN)
  • Toast Timer (for timers and countdowns)

All of those Palm applications are free, most from Freeware Palm, and I love 'em. I don't need to duplicate all of those to Android, but those were worth a spot on my Treo. I never did find a Palm application for drawing that I liked as well as what was built-in on my Palm Tungsten T3, so that was always an open spot.

iOS 3.1.3:

  • Dropbox - if you use it, you want the app
  • Evernote - ibid
  • Simplenote - ibid, and this could replace Palm's MacNoteTaker
  • Wunderlist - ibid, and this could handle the most basic Tasks
  • White Noise - I have insomnia, he snores, and we travel together
  • Stanza - or another book reader
  • ZipList - could replace HandyShopper in most ways
  • Air Sharing - I love this, but I'm not sure if I'll need to replicate it
  • Twitter - if you use it, you want an app for it
  • Sudoku - if I need a break from solitaire, even though it doesn't put me to sleep
  • GasBuddy - if you drive, you want the app
  • site-specific applications like Yelp, SparkPeople, eBay, WRAL and whatever else you like
  • Flashlight - don't laugh, this is more useful than you think!
  • Handy Level - ibid
  • Pandora - you know, I haven't used it yet on my iPod ... it may not need to make the jump either
  • Frotz - ibid
  • Subnet Calc - single-purpose, but fills that niche
  • EasyTask - I notice I haven't used it in ages ... it was the best fit to my checklist so I bought it, but the user interface just never pulled me
  • and kid games to keep me and the kids sane at times

I'm sure I'll want Google Docs, Firefox, Photos, and Music too; those seem like reasonable expectations nowadays.

And then I'm sure there are Android-specific needs to fill. At a glance, Astro File Manager, Gist, Google Sky Map, and Barcode Scanner as well as GTasks, Toddler Lock (but Cale will miss Spongebob), Color Flashlight, Smart Measure, Spirit Level Plus, and Barcode Scanner (again) all look appealing. And I get the feeling I want to be on the AppBrain train as well. Zoinks, that's a lot of work ahead of me just so I can make friends with my new phone that doesn't even place or receive calls anymore! Ugh, I think I'll head to the water cooler ...

Thursday, March 17, 2011

Bakery Cake

I've found two methods to make my homemade cake taste "just like store-bought" -- so, being me, I usually avoid these techniques unless the birthday person prefers bakery cake or cake mix.

First, for the base cake, use lots of cheap, artificial vanilla. I prefer real vanilla, but the kind that doesn't even taste much like true vanilla extract manages to impart a taste of not-made-at-home. [By lots, consider doubling the amount in your recipe.] I use this simple white cake or Hershey's Deep Dark Chocolate Cake.

Second, for the icing, use a stand mixer. Extra beating time means extra fluffiness, more like store-bought icing. (The chocolate cake link includes a recipe for icing; replace the cocoa with extra powdered sugar for white icing.) I do like fluffy icing, so I actually make icing this way.

Thursday, February 3, 2011

Baking Powder

However, if the mixture is acidic, baking powder's additional acids will remain unconsumed in the chemical reaction and often lend an unpleasant chemical taste to food.

(from Wikipedia)

I've tasted that! A while ago, I made my yogurt biscuits (where yogurt is acidic), and I trusted the Bakewell comment to use like baking powder ... yowzah! It tasted awful! But now I have a full explanation, so I know how to avoid that taste in the future. Whew!

My current biscuit recipe is this Buttermilk Biscuit recipe, made with my usual substitutions (whole wheat flour, homemade baking powder, coconut oil, and soured rice milk). Yummy!

Wednesday, February 2, 2011

Groundhog's Day Craft

So my idea for a Groundhog's Day craft was to print a groundhog (see groundhog coloring pages where I like the first one), have the kids color their groundhogs, cut them out, glue them on craft sticks, and then have the groundhogs peek out of a toilet paper tube burrow to check for shadows.

There is a fancier, three-dimensional groundhog to print and optionally color at the Institute of Natural Resource Sustainability.

And since there's always someone on the Internet who had that idea first, here's another pop-up groundhog craft in a cup instead of a tube.

Why GFCF should be GFCFSF

This is long overdue on my part (since Cale is now a year past outgrowing his infant allergies), to collect my thoughts on why GFCF (gluten-free, casein-free) diets generally need to be GFCFSF (add soy-free) in order to be effective. This is crucial because most people replace casein (the main protein in milk) with soy! So why should soy also be eliminated?

Background: Calories come from three sources: fat, carbohydrate (from simple sugars up to complex carbohydrates of whole grains), and protein. Enzymes are specialized proteins that facilitate a chemical reaction, like digestion. Enzymes end with -ase; fat-digesting enzymes are lipases, carbohydrate-digesting enzymes are amylases, and protein-digesting enzymes are proteases. Sugars end with -ose, so the amylase lactase will digest the milk sugar lactose. A peptide is a piece of either a partially- or a fully-digested protein. Most allergies are reactions to proteins, while most reactions to carbohydrates (like lactose intolerance) are intolerances.

Gluten is, very loosely speaking (ref: scroll down to heading titled What is Gluten?), the protein in wheat including spelt, rye, barley, and sometimes oats. Why sometimes oats? Most oats are grown in the same field as wheat and are contaminated with wheat gluten. Note that spelt is a type of wheat; sometimes people confuse "alternative wheat" (meaning not the usual variety) with "alternative to wheat" which spelt is not.

Casein is the predominant protein in milk; the other protein is whey but it is less often allergenic.

Similar:

soy proteins sometimes cross react with antibodies against casein

(from Casein, Gluten, Soy and DPP IV). So if casein causes an allergic reaction via antibodies, soy can often trigger the same antibodies and hence the same allergic reaction. (I replaced milk with rice drink on my cereal.) Apparently the side effects can take up to a year to clear up, too! (Cale cleared up in two-and-a-half days.) Luckily,

there are only trace amounts of [soy] protein in soy lecithin and soybean oil. Therefore, you may want to avoid all other soybean products, but still allow lecithin and oil

(from GF Meals). If you're strict about soy-free, lecithin (which isn't always from soy, but its origins are not always in the ingredients) and oil ("may contain several oils including soybean oil") are the hardest to eliminate from commercial food, so that's a convenient loophole for less-severe reactions.

Caution: One study has shown that self-diagnosed problem foods are often incorrect, so always talk to your doctor! Find a more sympathetic doctor if you need, but always re-test your assumptions so you don't face the the food-free diet. Instead, consider additions (probiotics and enzymes) instead of removals (presumed allergens). A broad palette of added enzymes may not be as healthy as specific enzymes, so start small and assume less. For the whole class of neurodevelopmental disorders, as many as 92% (reference) improved with enzymes targeted for gluten and casein.

Corn: And if that weren't enough fun, corn may also need to be on the GFCFSF list too! Personally, I'm fine as long as the corn I eat is not highly processed.

Tuesday, February 1, 2011

Monkey GSD

The reason why I use TiddlyWiki in general, and Monkey GSD in specific (when I want to track tasks), is that I don't have to be annoyed.

For example.

This morning, I was very faintly mildly irritated (while setting up a new Action) that once I select a Project, that is left-most on the line, the Area adjacent to it vanishes so I can't set it. My first thought was to switch the positions of Project and Area, so that I would fill in an Area first, then a Project, then Area would vanish but at least it would have a value. However, once I found where to switch the order of the two, it was obvious how to keep Area from vanishing.

So instead, I just got rid of the vanishing act by removing this text wherever it appeared: macro="hideWhen tiddler.hasParent('Project')" .

However, since Areas are more general than Projects, I might switch the order as well ...

I don't know JavaScript, I don't know the inner workings of TiddlyWiki, but even I can modify the "software" so it doesn't annoy me. Awesome feature!

Monday, January 17, 2011

Pillow Pal

Karston said he wanted a ladybug pillow pet, but we just don't see buying more toys so soon after Christmas. So I said I would make one with him. I read the pattern PDF from Twelve Crafts til Christmas, looked at Jen Goode's bed bugs, and also Dollar Store Crafts.

What I learned from the pattern PDF was to appliqué all the decorations on the top piece of red felt. So I started with two large red felt squares, using the felt selvedge on the "head" end of both red squares. I appliquéd on four spots and four feet (verisimilitude not required) from black felt. I cut out the spots by cutting around a cup with a scalpel; I cut out the four black feet by cutting around a bowl with a scalpel and cutting it into quarters, and two more red circle from the same bowl for the head. I did freehand cutting of black felt for two eyes, nose, and a smile.

I made two wide red strips, added black velcro, and sewed the strips into tubes (straps without loose ends). I put the straps and the appliqué side to the inside, and sewed most of the red squares together, leaving a reinforced 3 inches open in the middle of the selvedge (head) side. Turn right side out, stuff, hand-sew the opening shut.

Appliqué face, tuck antennae and appliqué to the inside while sewing front to back, leaving a 2 inch opening between the antennae. Turn right side out, stuff, hand-sew the opening shut (optionally catching some yarn to make loops of "hair"). So far, about an hour of sewing.

Now to attach the head to the body ... time to finish, not blog!

Tuesday, January 4, 2011

Comparing Google Squared to DuckDuckGo

I took a peek at Google Squared this morning, and wasn't sure what to ask it. Pondering. So I tried "The Simpsons characters" (and sorted alphabetically) so I could compare it to DuckDuckGo, another structured/semantic search engine that I first saw in use for The Simpsons characters too. Well, DDG has Apu ...

Sunday, January 2, 2011

The Best and Worst Food Processors I've Owned

The best food processor I've ever owned, with a combination of features, low price, and usefulness, was an old Black and Decker Quick-n-Easy. The worst food processor I've ever owned, with a penchant for flying messes and overly uniform results (if I wanted uniform mush, I'd use a blender!), is a new Black and Decker Quick-n-Easy. Ironic, hunh? You can guess why I bought the second one. They both have feed spout, S-blade, grater, and slicer.

The good one has two rocker buttons: one button selects Hi or Lo speed, the other is Pulse up (momentary on while you hold it, then return to center for Off) and On down. Using 2-second bursts on Pulse with the S-blade was a great way to chop without blending into oblivion.

The bad one has a single dial: Pulse (still momentary with return to Off), I (Lo), and II (Hi). Notice that I can't pick a speed for Pulse on this model! Both I and II speeds are faster than any setting on the good old one. It also has a terrible idea, an exit chute to the side. The removable door for the exit chute doesn't seal. So let's just say your first use of it is to make a strawberry margarita sorbet from frozen strawberries. Remember that both speeds are too fast, so the slurry rapidly runs up the sides. And don't forget there's a door that doesn't seal ... whee, amazing flying mess across the kitchen! That was an unwelcome introduction to the new model.

Until I find a better replacement, I've been stuffing a washcloth in the exit chute behind the door. The flying mess loses momentum through the washcloth, so I can aim the dribble into the sink.

What not to buy again. I was surprised ol' B&D did so well and lasted so long (10 years, at least) the first time, but I'm disappointed this time that they had the design right and blew it.