Crate dates matter.

grahams - - 4 mins read

Turns out, eggs DO expire! I had always been under the impression that eggs don’t expire, and boy did I have that notion dismissed fully and clearly.

Last Saturday, [info] coco_b mentioned that she would like to use some elderly bananas we had around for some banana bread. So I whipped some up from a recipe we had gotten from our friend Audra. I quickly dismissed the expiration date from some time in September on the egg crate and baked the bread. Corinna ate quite a bit of it but I only had one slice. A few hours later I started feeling ill, and an hour after that I started experiencing a very sharp 10-15 second pain in my lower abdomen every 1-5 minutes. This continued all night, completely eliminating any chances of sleep. I had hoped that by morning this would pass and we could stick to our plans of meeting up with at Six Flags.

I “woke” up feeling just as terrible as I had the night before, so Corinna called Tom and told him we wouldn’t be meeting him. I sat around the house in pain all day, pretty miserable. Tom came to stay at our place after he spent the day at the park, and we just chatted it up for a few hours before bedtime. He half-joked that he could take me to the hospital in the morning if I needed it. After another painful, sleepless night, I almost took him up on his offer.. I called my GP who was unavailable, and decided to go to the ER. It occurred to me that if he drove me to the hospital it would completely eradicate any chance he would have to visit Boston during the day. So I called a cab at 8am and went to the ER, and Corinna met me there around noon. After lots of waiting, some X-Rays and CT Scans, and continuing pain, it was determined that I had an inflammation of my ileum. The ER doctor speculated that it might be Crohn’s disease or IBS, but he deferred to the GI doctor I’d be seeing once I was admitted. After a full day in the emergency room, much of it on a stretcher in a hall, I was admitted in the late evening.

I went up to the 7th floor and put in a room, and like my stay a year or two prior for my appendicitis, I had a beautiful view of the Charles river. It took awhile for a doctor to come and see me, and a bit longer for the nurse to finally bring something for my pain. Each individual spike of pain probably ranked 6 out of 10, but after feeling it every few minutes for 2+ sleepless days, it was really starting to break me down. The GI doctor I talked to said that he thought I was probably suffering a bacterial or viral infection, likely caused by bad food. He said he had no reason to suspect Crohn’s or IBS given my history (or lack thereof). He said they would run some tests and keep me overnight. He also put me on a clear liquid diet, which meant I was able to eat for the first time in 2 days (even if it was broth and jello).

I woke up feeling better, and more importantly, pain-free, and after lunch they advanced my diet to BRAT (Bananas, Rice, Applesauce and Toast) before discharging me. Well, the pain returned after a few hours and they kept me another night. Fortunately, I woke up without pain again (although still tender) and they once again advanced my diet to BRAT at lunch, and this time I tolerated it just fine. The doctors determined that I had a viral infection of my Ileum, and that it likely came from food, although they said it was also possible it had come through one of your usual viral vectors (handshakes, etc). It would take a few days to clear up and some continued pain was to be expected while it did. Finally after 2.5 days in the hospital, I went home with Corinna on Wednesday evening.

When I was first discharged I thought there was no way I was going to make the yearly Halloween Party up near Ithaca. But after feeling solid on Thursday and waking up and feeling pretty well on Friday, we decided to give it a shot. And I’m glad I did.. While it was odd not really being able to eat or drink anything at the party (We brought ginger ale and chicken soup for me), it was fantastic getting to see all my friends. I even did an epic live edition of my radio show/podcast featuring live music.

Back to work today and slowly advancing my diet to normal food… Still not quite feeling 100%, but getting close. This would have been much more awful and difficult if not for Corinna.

Quicksilver meet the holy wars...

grahams - - 3 mins read

Was just chatting with Howard, who has literally written the book on Quicksilver, and was trying to figure out why he finds so much more utility out of Quicksilver’s keyboard triggers than I do… I find myself using the “Command Mode” in most of my interactions with Quicksilver, but Howard makes extensive use of keyboard triggers. We were chatting back and forth about this, and I struck upon a minor epiphany:

Quicksilver’s command mode is somewhat analogous to the command mode in my editor of choice, Vi. Keyboard triggers, however, are much more like the meta-keystrokes of the Emacs editor, which is Howard’s favorite editor. My brain is happy to deal with the notion of different modes for different contexts, where as the Emacs user is much more comfortable remembering a multitude of various keyboard combinations to get their work done.

It’s pretty cool that Quicksilver is this flexible, and in fact it one-ups both of the editors by allowing you to seamlessly choose whichever method appeals to you on a task-by-task basis, and furthermore it’s not mutually exclusive. I do use a few triggers for some common searches (like IMDb, Wikipedia, etc) but setting up those triggers doesn’t prevent me from executing those searches in command mode. And in this way, allowing you to choose the solution to a problem from a whole menu of methods (commands, keyboard triggers, mouse triggers, gestures, etc), Quicksilver is also analogous to a combatant in another holy war, Perl. Perl provides many different ways to express oneself, and generally grants the programmer flexibility in expression.

Another way that Quicksilver is like Perl is that it is very tolerant of ambiguities and tries to resolve them as best as it can. Type “adress book” into the command window of Quicksilver and there’s a good chance that even though “address” is misspelled Address Book will at least be among the top choices of Nouns/Subjects. Quicksilver’s stated purpose is to allow the user to “Act Without Doing”. While that motto is a little too metaphysical for me, I think that philosophy is what drove this tolerance programmed into QS.

Myself and many other programmers are frustrated by Perl’s anything-goes philosophy, claiming that by being so permissive it makes reading the Perl code of someone who has a different style than you (or even reading your own code fro a few years ago) a difficult challenge at times. If I were to try to continue to stretch this analogy, I would say that the Quicksilver version of this gripe is that, as a user, you end up growing so dependent on your specific usage patterns that if you work on a machine with QS configured differently, not installed at all, or science-forbid, a windows box, it can be rather frustrating. You constantly attempt to invoke Quicksilver and fail, or even worse, learn that your carefully selected keyboard triggers vary drastically from your friends.

I have grown to really love Quicksilver, and I urge all Mac users to give it a swing! They’ve done a great job of pushing most of the really geeky features under the surface a bit, and it tends to be as complicated as you choose. I used it for a few years in straight command mode and found it to be super empowering, but over the past year or so (mostly due to prodding from Howard), I have found myself slowly expanding my horizons, and playing with more and more features of this amazingly deep tool. Not all of the features I play with stick, but when one does, it suddenly feels like your old method of doing something was so antiquated. For more information:

Update: Here is Howard’s take on this subject.

Random Catching Up

grahams - - 4 mins read

Here are some random things which have been occupying my time:

  • My super Aunt Kathy passed away last week, and we drove to ONONdaga County to attend her memorial service. I was glad to be there for my family, and it was a nice service. An Irish style remembrance of all things which made her awesome with a great vegetarian buffet from a local restaurant they favored. It was tough to be sad with all these great stories about her going around, but I still managed. I was saddened to learn after her passing that she was a Buddhist. I would have enjoyed discussing that with her. I am SO glad that we were able to stop in and see her a few months ago on the way out to FUMN. I already miss her terribly.
  • Learned some lousy news regarding our property today… The (aforementioned) DPW lot behind our house is also getting renovated as part of the huge roads project in our neighborhood. They are turning 2/3rd of the lot into public parking, leaving the middle section as DPW (which isn’t that big of a deal except during this roads project; Normally they just store some snow plows there). Anyway, along our back property line (and the rest of our neighbors as well) there will be a bike path, and they will be erecting a 6’ fence along our property line. But looking at the area, I’m pretty sure they are going to have to cut down all of the shrubs and trees to make way for the bike path… Our downstairs neighbors are pumped about the fence, because it will block 100% of their view of the DPW lot.. But if all those trees come down we not only lose pretty trees but I’m pretty sure we’ll have nothing blocking our view from the deck… Such is the price of progress, I guess, and hopefully my assumptions are wrong, but I doubt it. They are also going to hack down all the trees on our street when they redo that.. So it’s going to look a little grim around here for the next few decades…. :(
  • Loving my new Macbook Pro. While the Air was a great little machine, I had kind of forgotten what it’s like to have a balls-out monster laptop. This thing screams.
  • Doing well with our “no car” experiment… We’ve been without a car for about 6-7 weeks, and so far it’s been fine. We use Zipcar from time to time to run errands or save some time on a trip to a remote part of the city, but most of the time we use public transit or walk, which is great. For long trips, like to Syracuse or NJ, we’ve been renting cars from the local Enterprise dealer. Even with the abundance of trips we’ve had to take in the past 6 weeks, if you add up the Zipcar, Rental, and Transit fees we’ve accumulated, it is STILL lower than what I would have spent on payments and insurance for a new car.
  • Going to NJ tomorrow night for the big summer party I’ve been throwing for a few years now. The guest list has gotten so big that I’ve had to start removing names from the invite list, which sucks. If you’re reading this and are upset, I apologize. I tried to favor people I see less frequently due to distance on the invites, so if I see you a lot or you’re from boston, you might not have made the cut. I plan on discussing some way to let this party grow a bit more for next year, but more than likely it would have to leave my parents house for it to do so… Which would mean that the cost would go up, which is definitely not good eats.
  • Red Sox have been playing terribly for awhile. That is all.

Inconsiderate Watertown

grahams - - 2 mins read

So Watertown has a current, massive project to resurface and reengineer Pleasant Street. We live right off of Pleasant Street, on Howard Street. Directly behind our home is a former train right-of-way which is used by the town. It is bad enough in the winter when the town uses the lot to store snowplows even though they just built a big honkin’ \$1m+ DPW lot a mile or so away. But since the Pleasant St. project began, they have been using the lot as a temporary store for construction equipment and dirt storage. When I say “dirt storage”, I don’t mean anything long term. Throughout the day, dump trucks bring many loads of dirt and rocks, loudly and messily dumping into the lot. What is strange is that OTHER trucks come throughout the day as well, taking dirt away. It seems to me they could save a step there by never unloading the dump trucks in the first place, but hey, why bring logic into this?

Anyway, I’ve been pretty passive on this nuisance, in fear of turning into some kind of NIMBY crazyman. But there is presently a front end loader loading up a dump truck at 11pm. Every time the loader goes back for a new scoop of dirt it’s reverse beep goes off. And then there’s the big crash when the dirt reaches the dump truck. I immediately called the DPW, presumably getting their answering service, to file a complaint. They took my information and I will be expecting a call back tomorrow. This is unacceptable. It’s bad enough my back yard and deck are effectively unusable between 7am and 5pm on most days due to noise and dust, but now the neighborhood has to tolerate being woken up by this noise at 11 at night?

Healing.... Slowly...

grahams - - 3 mins read

It is hard to believe that it has nearly been a month since the big accident. We are healing ever so slowly; each day we seem to be a little less frustrated with the pace.

[info]coco_b

definitely had more serious injuries than myself, and so it isn’t a surprise that her slow healing has cramped her style more than mine. But this week she was finally able to get back on her bicycle and ride to work, which was a huge milestone for her. I also think I noticed her sleeping on her left side last night, which as far as I know is a first since the accident. My injuries are mostly bruises, and while many of them don’t show any longer, I can still feel them.

Dealing with the other driver’s insurance company, which is Allstate, has been surprisingly painless and pleasant. I received the expected Blue Book value for Hawkeye, and they also reimbursed me for the damage to my computer. I decided, however, that I am not going to have the Macbook Air repaired. The estimate Apple gave me was for damage to the case and trackpad (which are apparently considered one unit on these machines). While everything else is in a reasonable state ofworking, I fear that the impact could have had caused hidden or yet-to-manifest damage. I don’t want to lay out nearly a grand to repair the case to have something else fail in a month or two.

So with repair out of the question, my real decision is what to do next. What I will do in the near term is to bank the money and keep using the damaged Air. As I mentioned above, the computer still seems to work, although it does overheat and throttle itself more often now, which has tripped up my usage on several occasions… There is clearly a fan still working inside the thing, but perhaps this computer has more than one? Or perhaps the slight bend in the case is enough to disrupt the airflow? Who knows… I’m afraid to remove the bottom case: The ‘screw dents’ in the top case make me worry that taking out the bottom case screws may mean never getting them put back in. That would take a mostly-working computer and turn it into scrap.

So at some point I’ll replace the Air. When I do, I think I will probably replace it with a Macbook Pro as opposed to another Air. The Air has been a great machine, but now that it’s my only machine the lack of hard disk space has been a bit of a frustration. Honestly it would less of an issue if iTunes could deal with my network-shared 120GB music archive, but the pain of that is non-trivial. Also, while the Air’s size and weight are great for the days which I walk to work with my laptop, those days are few and far between. I think that for the money I would spend on another Air, this time I might trade some size for speed/space.

Review: Netgear MCAB1001 MoCA Coax-Ethernet Adapter Kit

grahams - - 3 mins read

( Note: If you haven’t already, and are interested in some of the background of my needs and this testing, you should read my earlier review of powerline networking hardware)

So after the disappointment of the powerline networking experiment, I decided to give MoCA hardware a shot. If it performed as advertised, MoCA made sense in our house: There were already live cable drops in both the rooms in question, and the technology seemed far less jankier than powerline. So I ordered the Netgear MCAB1001 MoCA kit, which included two endpoints. This review will be much shorter than the last one.

I love this hardware. In fact, I really only have two gripes which I could think of:

  • The configuration utility is Windows only, and is basically required due to…
  • One of the endpoints was configured in “All Pass”, which lets MoCA overrun the frequencies used for television. One of the reviewers on Amazon mentioned this as well, so I knew to look out for it. Fortunately I was able to use the configuration utility in a virtual machine I already had lying around, so I wasn’t stuck. But if you’re a non-Windows user, you’d be screwed as far as I can tell. ( Update: See the comments for a non-windows way to accomplish this)

Installation of this hardware was as straightforward as the powerline hardware: Hook up the endpoints and you’re live. The endpoints even have a button which disables all of the front panel LEDs, which should be a feature on every piece of hardware. Time to cut to the chase and get to the numbers:

milgrim\\$ time nc -v -v -n pbook 2222 < big-file.bin
Connection to pbook 2222 port [tcp/*] succeeded!
124.98 real 4.20 user 31.90 sys

(1,073,741,824 bytes) / (124.98 seconds) = 65.5464874 Mbps

Compared to the 15 Mbps I got from the powerline hardware, this was literally night and day. And this was using the USB Ethernet adapter on my Air, so I doubt it’s fully flexing the bandwidth available. Almost as important as the bandwidth (and the reason I sat on this review for awhile) is the reliability. After I wrote the powerline review I learned that I was seeing all kinds of dropouts and failures. But the MoCA hardware has been seemingly rock-solid. I’ve done many large data transfers over the link and seen no trouble whatsoever.

I’ve been so pleased with this gear, that I’ve considered getting a third endpoint to put in the basement and move some ‘headless’ hardware down there (cable modem, Slingbox, time capsule, etc), as it’d be really easy to run a Coax drop down there. Actually, I think the only barrier to that right now is that all the power in the basement is on the common circuit of the house, so I’d have to install an outlet that comes off of our breaker panel. Anyway, I’m rather pleased with this hardware, and if you have similar needs, you might want to give it a spin yourself.

Even vacations regress to the mean.

grahams - - 8 mins read

Hawkeye Aftermath Originally uploaded by seangraham

You may remember

[info]coco_b

or myself talking up our vacation to Spain about a year and a half ago. We’d often say we got so lucky and had the perfect vacation. Well, it turns out that even vacations regress to the mean.

We left Monday morning for Damariscotta, Maine. Corinna’s boss has a place up there which she’ll be retiring to in a few months. Until then, though, she’s only there on the weekends, so she let us use for a few days during the week. The place was gorgeous, and we really enjoyed exploring that area. We had some great food, and it turns out that Maine is rather beautiful. We’ll post some pictures from my iPhone and Coco’s camera, but please forgive me for cutting this part of the story short. It turns out, it’s not where the real action is.

Wednesday morning we packed up the car, Hawkeye, and continued on to Bar Harbor, Maine. Our plan was to explore Acadia National Park, which has always sounded dreamy. The beautiful weather we had enjoyed for the first two days, though, had given out and we drove up Route 1 in light-to-moderate rain. After about an hour of driving, we found ourselves in Rockland, Maine. In fact, we found ourselves at about 130 Camden Street in Rockland, Maine. It was at this point of the trip that another individual, driving a Silverado, in the oncoming lane found THEMSELVES crossing the turning lane and slamming into the front of Hawkeye at a non-trivial rate of speed. Hawkeye was rotated 90 degress clockwise and tossed into the parking lot to our right, and came to a stop. The black Silverado pickup rolled into the parking lot as well, continuing to roll for a few hundred feet before stopping.

Once the car came to rest, and I got my bearings, I checked on Corinna, who seemed to be in pain but intact. She was saying her chest and neck were hurting, but mostly her chest. It sounded like she had the wind knocked out of her, but she said she thought she was OK. I felt pretty banged up, my knees hit something, and my left elbow and thumb got banged up a bit, but while my injuries couldn’t be considered trivial, it all seemed to be bumps and bruises, nothing broken or life threatening. I couldn’t quite get my door open, but I managed to force it open enough to sidle out of the car. By the time I got around to Corinna’s side of the car to try to open her door I noticed she was passing (or perhaps passed) out. Her eyes were rolled back into her head much like the time when I had my appendix out and she fainted while I was being prepped for surgery. I yelled for her to wake up, and she did, but was a little out of it. Afterwards she would tell me that she had a vivid dream while passed out, but I’ll let her tell that story. At this time an off-duty EMT pulled up and offered her help, and a seemingly off-duty fireman also showed to do the same. While the EMT cared for Corinna, making sure she didn’t move her neck or do anything crazy before the ambulance showed up, the fireman tried to pry the hood open enough to cut the battery cable, reducing the chance of the car blowing up (or something). I was pretty much out of the loop on this one, not really able to help anywhere, so I took the above photo of the damaged car and made my way over to the other car to check on it’s driver. It was a woman in her 30s who claimed to have pulled out of a driveway across the street, lost control of her truck while it fishtailed, and plowed into us accidentally. I asked if she was OK, which she said she was, and she apologized while looking completely terrified. Everyone seemed to be skeptical of her story, but whatever, I can’t imagine whatever it was she did was intentional, so there’s little point in getting caught up on the details.

The fireman couldn’t get to the battery cables with the tools he happened to have in the back of his personal car, but quickly the cops, firemen, and ambulance showed and with their equipment the cut the cable. Everyone thought it’d be a good idea if Corinna took a ride to the hospital to get her chest x-rayed and get looked at by a doctor. They got a collar on her and on a backboard (which seemed to take 3 hours, but obviously my perspective was skewed), and I grabbed a few of our belongings (her purse most importantly) and jumped in the front of the ambulance. Pen Bay ER was only a few minutes away, and they took her in while I gave the front desk her information. After I finished with that they brought me around to see her just before they took her for Xrays. Everything checked out fine, and the doc thanked her for wearing her seat belt and told her to take it easy. Her chest was pretty bruised from the seat belt and it would take a while to heal. We both walked away from that crash thanks to our seat belts, so it’d hard to be mad about our bumps and bruises. Her chest still hurts pretty badly, even a few days later, and she’s having trouble getting out of bed and has to avoid coughing, laughing, and sneezing, but she seems to be getting better every day. I know I can, at times, be prone to hyperbole, but this was without a doubt the closest I’ve come to dying in my life. A few things go differently, and it’d be my construct here typing this.

After Corinna was discharged it took awhile to get the rest of the day squared away. We were about 2.5 hours away from Bar Harbor, but we were 3.5-4 hours away from home, so we decided to press on. First, I needed to get ahold of the cop who reported to the scene, as he had my license and registration (as well as all the information about the other driver). The ER staff were very helpful and gave him a call and Officer Daniels came right over. He had already prepared a little form with all the details I needed regarding the other driver, and even had a badass little baseball card-style business card, which gave us a laugh when we needed one. He took some other information from us and was really helpful and comforting. After he left I spent a bit more time on the phone with the other drivers’ insurance and Enterprise rental who came over to pick us up in the rental. We stopped by the tow yard to take some pictures and get all our crap out of Hawkeye in the mud and pouring rain, and we’ll probably never see him again. He gave his life protecting ours, and while our final moments may have seemed a little unceremonious and ungrateful, I know he wouldn’t have wanted any pomp and circumstance; He wasn’t a hero, he was just doing his job.

While I was transferring stuff to the rental, the husband of the driver stopped by to see his car.. He seemed very cool, and reassured me that they had full insurance coverage and they had already told the insurance company that the accident was his wife’s fault. We chatted briefly and shook hands, I don’t think anyone felt good about what happened earlier in the day so there’s no need to hold grudges. With Hawkeye cleaned out we grabbed a quick meal and set out, slowly, for Bar Harbor. We arrived around 6pm, approximately 4 hours after we had originally planned to arrive. It boggles my mind that so much happened in those four hours. Upon arriving, I opened my MacBook Air to discover that it took some injuries during the crash. It was in my bookbag behind the drivers’ seat, and the trackpad button got smashed and the case has been bent. You can see the tops of the case screws pushing through the handrest in the above photo of Officer Daniels’ baseball card! Fortunately, I’m hopeful that their insurance will cover this as well.

We did our best to make the most of the remainder of our vacation, but between our injuries and the rainy weather, there was only so much we could do. On Thursday, after sleeping in pretty late, the weather was decent for a spell and we got up to the top of Cadillac Mountain, but the cloud cover was below the summit, so the only good views were on the way up and down. After that excursion we returned to the B&B and rested before dinner. Friday the weather was pretty miserable, but we still managed to tour the loop road that goes around the park and stopped for a few very small hikes and vistas. The miserable weather and the tides did combine to make Thunder Hole pretty exciting, though. This morning we had breakfast at the B&B and hit the road pretty much right away, watching the bad weather melt away into a beautiful day as we travelled south.

Perhaps I’ll come back with more details about the non-accident part of our trip in the future, but for the time being it is really all I can think about. Not to sound melodramatic, but I’ve seen the replay of that black pickup coming directly for us over and over again, and it hasn’t lost any impact yet.

Powerline Ethernet Revisited

grahams - - 1 min read

So the grand experiment with Powerline Networking has effectively come to a end. Besides the MUCH lower than advertised bandwidth, which I decided to tolerate (since it was better than my WDS WiFI setup to extend the WiFi range), I’ve seen many dropouts in the past few weeks. They are rather short dropouts, and always seem to resolve themselves on their own, they are significant enough to disrupt my transfers from the TiVo. It’s not fun waiting a few hours to pull a 20GB HD Movie off the TiVo just to have the transfer get interrupted.

So I’m going to sell the Powerline gear on ebay and give some Netgear MoCA hardware a swing. Review TK.

IFF Boston 2009

grahams - - 1 min read

While I missed the opening night festivities on Wednesday evening, choosing to go to the Sox game instead, last night the Independent Film Festival of Boston 2009 began for me. Last year’s festival I set the goal of writing reviews of all 15 films I saw in the fest, but crapped out after 6 reviews. This year, I’m trying to set a much more modest goal for myself: Write a 140 character review on Twitter for each of the films I see this year. I’ve already posted my first two mini-reviews last night over there, and will hopefully do better than I did last year with the bar set so low.

My current plan is to revisit some of my favorite films after the end of the festival with more in-depth discussions, but we’ll see how that plan turns out.

Also, if you’re interested in joining me for some of the films I’m seeing, here’s an iCal feed of the movies I’m planning on seeing. There are descriptions, links, times, and locations in there.

Small World Revisited

grahams - - 1 min read

A few years ago I mentioned running into a coworker from Rovia several times since the companies unfortunate demise.

Well today I got a LinkedIn invitation from Matt, and it turns out he works a few buildings over here in the Arsenal complex. We’ve likely been working a few hundred yards from each other for the past 2+ years and not known it.