RIP, Jerry Nelson
My wife came into my office as I was getting ready to go to work this morning to give me bad news: Jerry Nelson had died. Jerry was the third puppeteer Jim Henson hired, after Jerry Juhl (who went on to be the writer for The Muppet Show and Fraggle Rock) and Frank Oz.
We’d known Jerry had basically retired because of his COPD, but he still did work for Sesame Street, recording the voice for his favorite character, Count von Count.
There’s not much I can say. Thank you, Jerry, for a lifetime of entertainment and inspiration.
A small shill…
Has it been two months already?
Well, a lot has been happening since I was last able to post to my blog. First and formost, my wondrous wife Kay and I have moved. We’d been getting tired of apartment living and having to share the building with other people. So, after a frenetic search, we found an absolutely adorable single-family house in Hackensack. Once we found the house and signed the lease, then we started the month-and-a-half long process of frantically packing things into boxes and moving them from the old apartment to the new house. Making the process of moving even more annoying was the constant harassment by our old landlord about when we would be out of the apartment. “When will you have all of your property out of the apartment?” he would ask me. My reply was always the same: “My wife and I will have everything out and the apartment cleaned up by the end of the month when our lease ends.” This didn’t make him happy, but I didn’t care–I’d paid my rent through the end of the month, and I had enough stress to deal with trying to get everything done without having to worry about getting out of my old apartment earlier than I needed to.
One of the great stressors I had to deal with was my oldest cat, Lily, stopped eating after the move and became very weak. She’d been losing a lot of weight recently, too, so we took her into the vet. There, we discovered that she was in kidney failure, and, after some discussion, my wife and I decided to check Lily into a veterinary emergency clinic so she could receive 24-hour IV fluid injections for a few days. She took to the treatment well, and after about two-and-a-half days of treatment we were able to check her out of the clinic and continue giving her daily subcutaneous fluid infusions. After another 10 days, we took her back to the vet, and her blood tests came back with excellent results. She was still a sick kitty with malfunctioning kidneys, but the numbers that had been the worst were drastically improved, and her Phosphorous level was 0.1 MG/DL above the “normal” range. She’s had her subcutaneous fluid infusions cut back to twice a week, and she’ll be checking in with the vet in September.
So, with all that going on, I didn’t have any time to work on my puppet. However, on July 1st, once we were officially out of the old apartment, I started work again. I spent much of my free time over the past week hand-stitching the hands for my monster. We couldn’t machine-sew the hands because there wasn’t really enough room for a decent seam allowance, so Kay taught me a slightly modified whip stitch, and I was able to sew a finger or two a day. Today, I finished both hands and Kay popped the proper thread into the sewing machine and we stitched up the rest of the seams:
All in all, I’m quite satisfied the way the sewing portion of the project has turned out. Next, we’re going to be tackling his mouth and his eyes.
There are patterns I must follow…
Well, it’s been two and a half weeks since our anniversary, and we haven’t had time to work on my rug monster mostly because a) I was running the sound board for Nutley Little Theatre‘s production of The Beauty Queen of Leenane, and my wonderful wife Kay has been rehearsing for The Barn Theatre‘s production of Stephen Sondheim‘s Assassins (information about when the show is running can be found here).
This afternoon, however, Kay had neither Fight Club (a nickname Kay and her coworkers have for their employer so they can refer to it in public and have it remain anonymous to people who don’t know them) nor rehearsal, so we set off to work. First, Kay had me watch a series of videos she’d found online about making monster puppets. Then, after that, I sat down to read a very long and detailed brain dump from my friend Missa who offered to tell me everything (and I mean everything) she could put down in words about working with fur. One of the things I’d never thought about is looking at which way the fur goes before you decide where to cut your pieces out of. If not, you could wind up with the fur on your puppet pointing upwards once you cut it out.
Finally, I was ready to actually get around to making the pattern. Generally, you don’t want to just cut up fur/fleece/foam willy-nilly when you’re making a puppet. You make a pattern on paper first, then you cut from that pattern. The reason is two-fold: if what you did works the first time out, you can then repeat it because you have a pattern (because puppets wear out, you’ll want to make replacements as time goes on). If, however, what you wind up doing doesn’t work, then when you go to correct your problem you’ll know what you did originally.
This is the pattern I drew, on the back of some old Christmas wrapping paper:
This means the monster’s reach will be about four-and-a-half feet. I’m going to lengthen the torso a little more, but the most important part of the pattern was the placement/sizing of the hands and head. I’m going for a full-out Henson two-handed monster; when I’m working him by myself, I’ll just stuff one of his hands and pin it down, but Kay really wants to work the hands with me when I operate this puppet.
Anniversary Present!
My wife, Kay—the best wife there could possibly be in the history of marriage—got me a present for our second anniversary tomorrow:
What’s that, you ask? It’s fur (well, faux fur). RED faux fur, with a rich black undertone to it. It’s got a nice, complex color. We have three yards of it, and with this red fur, we’re going to embark on an adventure I’ve been wanting to do for years…
MAKING MY OWN RUG MONSTER PUPPET!!!
My plan is to have a very flowing, open body shape (think Cookie Monster/Rowlf), ping pong ball eyes with fixed pupils, two horns, and a nose and palms made from some black faux-leather. I’m trying to take inspiration from the classic rug puppets, but not really copy any of them.
Of course, I’ll post pictures about the progress my wife and I are making as the project progresses…
Minor Annoyances
One of my minor annoyances is when I log onto my Hackintosh and try to copy something to one of the network shares on my FreeBSD machine, only to discover that the share isn’t mounted. I know, it’s not a big deal, I can just select Finder, type ⌘K, pick the share from my favorites and it’s mounted. But I’d rather not have to do that.
“AppleScript,” I thought. “I can create an AppleScript app that runs on login and mounts the shares I want.” In fact, I’d written such a script a couple years ago:
try
set myIPAddress to do shell script "ifconfig -a inet 2>/dev/null| perl -ne 'if (/inet (\\d+.\\d+.\\d+).\\d+/) {print qq{$1
} if ($1 ne q{127.0.0});}'"
end try
if myIPAddress is "192.168.8" then
try
mount volume "smb://daffy.local/packy"
mount volume "smb://daffy.local/mp3"
end try
end if
I’d written it to do pretty much the same thing on my laptop. First, it queried the IP address of my laptop to see if I was on my home network (not many people set their internal class C network to 192.168.8.0/16, most use 192.168.0.0/16 or 192.168.1.0/16), and, if so, it mounted both my home directory and the MP3 share from my home server.
Well, I could ditch the first part, since this was for my desktop and I knew it was always going to be on my home network. And I also didn’t want to have to fire up the AppleScript editor every time I wanted to change which network shares were mounted. So I fired up the AppleScript help utility, did some reading on how to read files in AppleScript (since I’m not a frequent AppleScript coder, I frequently have to refer to the docs) and reworked the script into this:
set myHome to (path to home folder) as string
set rcFile to myHome & ".NetworkShares"
set Mounts to read file rcFile as text using delimiter ASCII character 10
repeat with share in Mounts
try
mount volume share
end try
end repeat
This script reads a .NetworkShares file in my home directory, which contains one remote volume URL per line:
nfs://gogo/usr/media smb://newlennon/Music
Now, when I want to change which shares are mounted, all I have to do is fire up Emacs and edit .NetworkShares.
Eureka!
I think I’ve found the solution to a problem I’ve had at work for ages: Win32::Exe.
I would love to examine the PE version information of a Windows file that’s been uploaded to a Linux server. For a long time, I’ve punted on this problem, and waited until I had the file back on a Windows machine before examining this information, mostly because it’s much easier to get this info using Windows’ API calls to get the data than manually parsing the PE header info. However, just tonight just stumbled across this perl module mentioned in a stackoverflow post, and it doesn’t depend on modules that we don’t already use.
Now this problem will stop bugging me, and I can go to sleep!
Update: Unfortunately, the files I need to examine are large (> 200MB), and Win32::Exe (via Parse::Binary) seems to load the entire file into memory. This causes an out of memory error. But maybe I can use this code as a launching point for a different solution.
I’m embarrassed this took so long…
I got home from work yesterday, and I discovered that my Hackintosh had rebooted itself and was sitting there with a black screen showing nothing but a forlorn cursor blinking at me. Oh, dear, I thought, something’s gone wonky.
Something usually does go wonky with my hackintosh; it’s nowhere near as stable as the other computers I use (it’s nowhere near as stable as the Mac laptops I own), but I keep using it because… well, it’s an adventure. I mean, if I need something that’s going to work all the time, I have my old 17″ Powerbook (bought new in 2005) and my newer 13″ Macbook (purchased used in 2010). But I wanted to have a desktop again, and I wanted it to have some oomph. So, last June, I got myself an ASUS P7P55D-E Pro motherboard, an Intel Core i7-870 Lynnfield 2.93GHz CPU, a GeForce 9500 GT graphics card, 8GB of RAM, a 2TB hard drive, and Crucial M4 64GB SSD. I followed all the instructions on the tonymacx86 blog, and I was up and running.
Anyway, last night I set about trying to figure out what had gone wrong with my setup. I tried reinstalling the bootloader, but that didn’t work. I was able to boot a bootloader from a recovery CD and boot into my system on the SSD, but then my system would only work for a little while and then it would hang. I went googling for other people having problems booting hackintoshes from SSDs, and then I thought to look for problems specifically with my model SSD. This was when Google’s autocomplete actually led me in the correct direction; I pasted “M4-CT064M4SSD2” into the search bar (copied directly from the System Profiler), and Google suggested “firmware”. I took the suggestion, which led me to Crucial’s website and the following entry in the change log for the latest firmware upgrade:
Correct a condition where an incorrect response to a SMART counter will cause the m4 drive to become unresponsive after 5184 hours of Power-on time. The drive will recover after a power cycle, however, this failure will repeat once per hour after reaching this point. The condition will allow the end user to successfully update firmware, and poses no risk to user or system data stored on the drive.
This was the point at which my wife came home from the performance of Cyrano that she’s performing in, and I had to stop for the night. I picked up work again this afternoon; I downloaded the firmware update, applied it, and crossed my fingers.
Unfortunately, the system still wouldn’t boot on it’s own. I could boot into the recovery CD’s bootloader and then finish the boot off my SSD, but that wasn’t a long-term solution. So then I tried reformatting the drive. No luck. I thought that maybe the drive was just unbootable and tried swapping it out for the SSD I was holding onto for my FreeBSD machine. That didn’t work either. Finally, I went through my BIOS settings extremely carefully.
That’s when I noticed it. The boot order for the machine was the DVD drive, then the ST32000641AS drive, then removable media (I’m guessing that’s USB). But wait… the ST32000641AS isn’t the SSD, that’s the 2TB drive I’ve got mounted as /Users. I then poked around in the BIOS settings until I found where the “primary drive” was the 2TB drive and my “secondary drive” was the SSD. I swapped their order there, and when I came back to the boot order selection screen, it said that I was booting off the DVD, then my M4-CT064M4SSD2, then removable media. I saved the settings and rebooted.
It worked. The BIOS settings had probably gotten screwed up while I was moving the SSD off one of the SATA III ports to one of the first four SATA II ports so the firmware update could see it. If I’d noticed it had changed, I probably would have had my afternoon to play with my FreeBSD server.
Oh, well. There’s always tomorrow. 🙂
RAM!
The two 4GB DIMMS I bought from Newegg on Tuesday for my home server just arrived (I thought about blowing the extra money to get four of them, ditch the two 2GB strips I currently have, and push my server up to its max of 16GB RAM… but I decided I didn’t need THAT much RAM yet). I’m going to spend this weekend stuffing that, the 96GB flash drive, and the two 2TB drives I’ve had sitting around since last June into my server.
I was encountering really sucky performance when writing to the server over the network (I tried using AFP, SMB and NFS; all sucked equally); after doing some reading online, I discovered that there were two possible sources of my performance problems. First, it could be the cheap Western Digital WD20EARS drives I bought reporting that they have 512-byte to the operating system when they really have 4K sectors. Second, it could be that ZFS/NFS performance really sucks when you don’t have a ZFS Intent Log (ZIL) on a high-speed device. However, the older version of FreeBSD I was running at the time had an older version of ZFS, and in that version of ZFS once you added a log device to a storage pool, you couldn’t remove it–you could only replace it. I didn’t want stick myself in a situation where I couldn’t undo what I’d done (in case it made things worse), so I needed to wait until I could get a version of ZFS later than version 19.
Fortunately, FreeBSD 9.0 contains ZFS version 28. I’ve updated the server to FreeBSD 9.0 my ZFS pool to version 28 last month. However, I wanted to wait until I had some time before I stuffed any new hardware into my server. This weekend is it.








