T-Rex enroute!

May 3rd, 2007

Well, I finally broke down and got myself the big toy I’ve been looking at for a while. A T-Rex 450SE (v1, not the newest v2). It should be here tomorrow or Saturday, so hopefully I can put it together and head to the park for a maiden flight!

Laptop is back!

May 2nd, 2007

I’m totally impressed with Apple. After calling them on Friday (when I was on hold for approximately 5 minutes, total), I had my box to send my laptop to them by Monday. I called DHL Monday and had them pick it up later in the day, Apple received it Tuesday, fix it, and shipped it back out, and now (Wednesday, 11am) it’s back in my hands. Nice job!

Nidhi’s Wedding in DC

May 2nd, 2007

This past weekend I attended my first ever Christian-Hindu wedding in Washington D.C. My college housemate Nidhi Kalra married Dave Ferguson, whom she met in grad school at CMU. The wedding was wonderful, and the larger weekend experience very eventful.

It didn’t start out so well. Dori and I had a late-ish flight down to DC on Friday evening, but we left early for the airport so Dori could get in a bit of homework using my laptop. Now, earlier in the week, I had a somewhat random hard crash on my laptop (of the grey-screen, power-button with “please reboot” in 10 languages variety), and subsequently had a strange no-keyboard-input phenomena. I did the magic incantation to reset the power management unit on my PowerBook G4, and things resumed normal operation. I didn’t expect any permanent damage though. So, I turned on my computer to let her get started, but it seemed that the magic smoke had left while I wasn’t looking. I actually called Apple while in the airport, and to my surprise, I had AppleCare on the machine! Hooray! As I write this, I’m waiting for a box to let me ship the lappy back to Apple, so they can replace the smoke.

The downside of this, apart from the obvious busted laptop, was twofold - Dori couldn’t do the work she needed to, and I was without my emergency save-my-business-if-it-falls-over tactic. Needless to say, this caused a bit of stress for us. I went so far as to try and find the closest Apple Store (Bethesda), but ultimately after much back-and-forth, decided to just wait until we got back before shipping it out.

Saturday was the actual wedding day, and it started off around 11:30 when we left our hotel in Georgetown for brunch and a pooja with the wedding party. We rode the DC metro for the first time, and it was a fun experience - the tunnels with their high ceilings are really nice. We managed to meet up with David and Diego on the train (how’s that for timing!), and got our first taste of the georgian architecture that is everywhere in DC. Brunch was at White Tiger, just a few blocks northeast of the Capital Building.

My understanding of a Ganesh Pooja is extremely limited, but I believe the crux is that the couple makes an offering to Ganesh and asks for his blessing for their marriage. It was a nice ceremony, and Nidhi’s mother gave commentary throughout to help the many non-hindu attendees follow. Afterwards was a tasty vegetarian indian brunch, which to my delight, Dori actually enjoyed! She has had a long-standing aversion to Indian food owing to her extreme sensitivity to spice. Perhaps I’ll get to have some more than once a year now. :)

After brunch Dori, David, Diego, and I headed on to accomplish my one DC sightseeing mission - Honest Abe! We started White Tiger and did a “running tour” of the mall. The wedding was at 4, and we left brunch at about 1 (admittedly it started late!), and in our running tour we saw the a bunch of Senate / House office buildings (i.e. the place where we deliver petitions), the Capital Building, the Supreme Court, the Library of Congress, the Air & Space museum, like 50 other Smithsonian buildings, the WWII memorial, the reflecting pool (which was quite green - oddly fitting considering how much DC is run by money), the Washington Monument, and finally, the Lincoln Memorial. It was a 1.5-2 mile walk, but the weather was beautiful, and it was really a lot of fun to do.

As David so aptly put, everything in DC is monumental. The georgian architecture, the sheer size of everything, its all very impressive. Monumental. At times I was reminded of Rome, especially when looking at the Supreme Court, and the Library of Congress, with its Trevi-esque fountain out front - admittedly it was much smaller than the real one, but reminiscent all the same.

After our running tour, we hailed cabs to our hotel and got ready for the wedding. Dori and I ended up getting back to the hotel a bit later than planned - at about 3pm (the wedding was at 4). We showered quickly and dressed as fast as possible, but at 3:40 when we were ready to leave, a problem arose with Dori’s dress. I had to run down to the front desk, get their sewing kit, and repair her dress. I don’t think I’ll win any awards for elegant stitching on this one, but my previous intense knot study did come in handy! Finally with the dress repaired we set off for the wedding, but by now it’s roughly 3:50.

It turns out that not only was the ceremony further away than we thought, but what appeared to be a direct route on the map was not. Luckily we were picked up by another lost couple in a cab (they recognized me from the elevator), and we managed to get to the reception missing only the first little bit. I’m so used to Jewish weddings where they start 30 minutes after the time on the invitation - apparently that’s not a cultural universal as this was my 2nd wedding where the ceremony started promptly at the time on the invitation. Who knows - perhaps it even said “promptly”. My computer was out, so I couldn’t check!

The parts of the ceremony that I saw were really very sweet. Nidhi and Dave clearly love each other very much, and their mixed Hindu / Christian ceremony shows a cultural maturity in them and their families. The setting in the garden, with the rainbow of flowers as backdrop, was a perfect match for the affair. Dori & I very much enjoyed seeing it.

At the cocktail hour we got to visit with some of the other members of our crew that we had missed at earlier events - Dan & Katie, Thom, and Gil & Josh. My friends and I so far all retain a very comfortable reunion-esque friendship. By that I mean we don’t all talk during the year or so we might be apart (in fact, its always interesting to learn who talks to who, and how information moves through the network), but there is a very good feeling of comradery and congeniality when we are all physically together. It was great to see everyone, in a nutshell. I also admit to having a significant quantity of champaigne (award winning NZ champaigne!) at the cocktail hour. If anyone can remind me of the identifying marks of the label, I’d be grateful!

I hope to be pardoned for skimming on the details of the reception - I’ll try to be brief as this post has already taken too long to write, so here are the major points:

- Food - excellent!
- Friedland’s MC skills (yo) - excellent! I believe I told him that day, but if he pronounced anyone’s name wrong, it was masked perfectly by the confidence and fluidity of the presentation.
- Speeches - Both touching and very amusing (especially in the case of Dave’s brother)
- Dancing - fun, though I admit to not doing a lot. The indian-pop stuff was great!
- Cake & Dessert - sooo good. This one probably will taste pretty good after a year.

The next day Dori and I decided to return to Boston early, to try and make up for the lost time she needed for her homework. My laptop failure really had repercussions throughout the entire weekend - much more than I had originally expected. In the end, there were no problems that I needed to deal with, the only casualty was Dori’s ability to concentrate on her homework. We managed to get an earlier flight back, and had a real character of a cab driver. What kind of guy mortgages his house so he can have a $100k wedding for his son? That price includes an entrance on a white horse, which as I understand it, puts the $100k wedding at the cheap end of the insane scale. And here I thought my wedding was mid-tier expensive; it was practically city hall by comparison.

Best of luck to the happy couple!

PS - If you made it this far, enjoy the pics!

My lunch

April 19th, 2007

Normally I wouldn’t write about what I have for lunch, but today stands out a little bit. Foodies - I hope I can make you proud:

My lunch “entre” was a handful of scallops, blackened with cajun spices and a side of fusilli with marinara sauce. For dessert - which I ate first, naturally - were 2 ripe forelli pears and a handful of olives.

After eating, I wished I could take a picture of it, except there’s the problem that I’m not a photographer, so my food-porn shot would probably be pretty terrible.

PS - In case its not obvious, I didn’t actually leave the house for this! :)

Spread ‘em!

March 14th, 2007

Lately I’ve been playing around with the Spread Toolkit, and I gotta say, its cool and fun.

I got started on this because at my day job, we use spread to collect the error log from our web cluster onto the machine we regularly log into to do our dev work. This gives you a bit of a firehose of errors, but, you don’t suffer from missing any info. With this basic idea in mind, I played around and built some fun little adaptations that should help smooth out the logging infrastructure at GeekISP.

First, I built an OpenBSD port of Spread - this was pretty easy since I was able to start with the FreeBSD port. Next, since I knew I was going to be working with Apache logs, I built a port of spreadlogd, a spread-to-logfile program designed to work with mod_log_spread (which I’m not using). So, I managed to get things up where I had a similar setup as at work, error logs collect on the machine where the users are.

Next I started looking over at Tomcat, and wanting to do the same thing. I didn’t want to mess with Tomcat’s config file and deal with log4j appenders and all that stuff, so I started in with the Perl bindings that ship with Spread. I also discovered that the File::Tail module has a select() interface. Hmmm… so I started hacking away, and about 60 LOC later I had multitail-spread.pl - a “multitail meets spread” program, not very different from my basic log sender for apache. But, it’s config-file driven, so I get to run a single instance and monitor as many files as I want. Well, ok, so now that takes care of all the Tomcat files, the PHP-5 error log (it runs via FastCGI), and the lighttpd error log in one shot. Woo!

That was yesterday. Today I was thinking about the 30-odd customer error log files that are generated from the webserver. So I added support for log directories to multitail-spread, and a small new feature - for lack of a better name I’ll call it “prefixing”. All log files that live under a “log directory” get sent to the same spread group, but if this group is a “prefix group”, then I simply tack on the basename of the file it came from before sending the message.

So for example (roughly in yaml):

– conf file
log_dir:
/var/www/logs/customers: prefix

When File::Tail detects a new line in /var/www/logs/customers/foo-error.log, say that line is “Hello there!”, it goes over the wire as:

[foo-error.log] [$hostname] Hello there!

Now, and here’s the fun part, I wrote a simple version of spreadlogd in Perl (again, maybe 75 LOC) to listen to the “prefix” group, and store the messages in the files specified in the message. I even got fancy use Perl’s Cache modules (specifically the Cache::Memory module) to ensure that I stayed below my open files limit via the LRU cache removal policy. In the end, this gives me the ability to write to an open-ended set of files with no real configuration required.

Spread’s documentation is so-so. Things would have been easier if it were better documented, but all in all, fun stuff!

Nozbe - a tool for Getting Things Done

February 21st, 2007

I’ve tried a bunch of project/time management tools in the past, but like a hungry man at a buffet, I tend to take too much on my plate at once. Then I find the flaws in my system. A little while back I read the popular book Getting Things Done by David Allen. I’ve been using his system, on and off, since then and generally I like it.

Now, history aside, lately I’ve been getting pissed off at Basecamp. Since I have a lot of projects, that means I have to pay more, or try and stuff them into the 3 projects allowed in my current account. Furthermore since I don’t have a problem thinking out many of the little steps involved in an individual project, I have a tendency to make long to-do lists, but very few of them are actually “actionable” at a given time. Maybe 10%. So the result is a tremendously long to-do list that is very daunting, and when I want to do something I have to pick through it and try and find the things I can actually do - this to me is very stressful.

Enter Nozbe - a Getting Things Done system for the web. Its still in beta, but looks very promising. Its star feature for now is the ability to flag to-do items as ‘next actions’ and then present all next actions on a single screen. Now, if I have 15 minutes that I can use at my discretion, I can flip to that page and look at the time estimates, and try and knock something off.

Its definitely worth a try if you’re familiar with David Allen’s system, and if you’re not I still argue its worth a try. You’ll get the basics presented (the site tips are true to the book) and should find the site very intuitive.

Surge Protector Gone Wild!

February 14th, 2007

On Monday morning, somewhere around 4am I think, Dori and I awoke to my computer’s backup power beeping. I also had heard, subconsciously, the circuit breaker flip a few minutes before. I was asleep so it only partly registered, naturally.

I went to the breaker, flipped it back on, and while walking back to bed I heard a loud buzzing coming from near the TV. I looked behind it and saw my surge protector glowing bright red! Not quite the eye of Mordor, but, um, close. Also it smelled pretty terrible.

Naturally I unplugged everything, made sure it wasn’t going to start burning (the case was actually cold to the touch). The next day I ripped it apart to see what happened:


Looks like that circular thingie blew up and caused a surge, tripping the breaker. Edit: Credits to Stephen for the knowledge - the circular thingie is probably a capacitor, and it was likely a short that tripped the breaker.

Equally quick helicopter update

February 5th, 2007

After an insanely busy end of January with work, I’m very pleased to finally have a lighter day where I can take a few minutes after my lunch and practice flying my helicopter. I flew 2 batteries today (about 20 minutes), and the new transmitter was a really good choice. It enabled me to do the blade grip-flip mod without actually moving any hardware around. Doing this substantially improved the blade tracking[1], and thereby eliminating any nasty vibrations.

The digital trims are really nice too, since I can reach down and give it a little click in-flight if I notice that I’m leaning on one of the sticks.

All in all, I hovered for 2 batteries today, and things were substantially easier. I still have a long way to go, but hopefully I am over the major technical hurdles that I’ve been dealing with so far. Now hopefully I can fly / crash the damn thing! :)

[1] - Blade tracking refers to the path the blades take while the head is spinning. Ideally the blades should travel along the same path (as opposed to one being higher or lower than the other). If the blades don’t track correctly, you get vibrations, turbulence, and generally poor flight performance.

Quick car update

February 5th, 2007

We went with the Accord LX from Claire Honda, the “other” dealer. Herb Chambers can bite me!

Its really nice to have a car with heat. And a passenger door that doesn’t freeze. Ah the life of luxury…

Leasing a new car - what I learned and how it went

January 29th, 2007

To those of you who have met me and Dori in person, you’ve no doubt seen Dori’s red ‘97 Jetta. Its a fun car, and at 10-years old in March, has had a pretty good car. In the past few months we sunk in the 2-3k range in repairs to pass MA inspection and just general maintenance. It was beginning to show signs of its age, like sometimes when it was very cold out, the passenger side door would freeze (not the lock, but the actual opening mechanism), so Dori or I would have to ride taxi-style or climb over the brake to get in. The last straw was when the heater core died. We couldn’t turn the heater on because it would blow antifreeze fumes into the cabin (highly toxic), so some days getting into the car was like stepping into a meat locker. Where the windshield would fog up and require the air conditioner to defog it.

So, after getting sick from a 3 hour ride back from NY, and getting a ~$k quote for repairs to the heater core (almost all labor) we decided to look for a new car. Naturally neither Dori nor I have any idea what to look for in a car, nevermind a lease contract, so my brother-in-law Alan came to the rescue. He leases 2 Hondas now - an Accord EX and a Pilot, and is very happy with both. He gave me a crash course in leases, and here’s a rough outline of what he told me to look for and ask about:

Residual Value - this is the value of the car after you’ve leased it. Typically its expressed as a percentage of the original value. On a 36-month lease, a 60% residual is high, 55% or lower is low. A higher residual usually means a lower lease price, since the car holds its value less, hence, you have to pay a smaller share of the cost of it.

Money Factor - the interest rate on the depreciation, divided by 2400 (essentially). Lower is better here. Full details on formulas can be found here.

Damage Waiver - certain car companies offer damage waivers for when you turn in the car. Honda, for instance, offers you a “3 spot, $500-each” damage waiver - so they’ll cover damages in 3 different spots on the car, each to a maximum of $500. Hyundai offered no damage waiver on the Sonata, but it could be added on top (for $5k in coverage, too much).

Termination Fees - Another fun place where you get screwed. We wanted all costs rolled into the lease payment, but apparently most car salesman are hard of hearing and intelligence. Yes, “all” includes termination fees, registration, the tank of gas when you pick it up, doc fee, taxes, and whatever other bullshit you guys make up. There are no exclusions in “all”. Sigh…

So, we went and test drove about 6 cars - the Honda Accord, the Hyundai Sonata, the Mazda 3 and the 6, the Ford Fusion, and an ‘06 Toyota Carola we rented for the weekend while in VT. The Carola was kinda boring, nothing really special going on, the Fusion didn’t come with ABS standard (according to the salesman, down South they don’t like that. Yeah, right.) We liked the Mazda 6 a lot, but it had a fairly poor Consumer Reports rating (safety was good, customer satisfaction was poor!). So it quickly came down to the Accord or the Sonata - the Accord as I mentioned had a damage waiver, the Sonata didn’t (standard, paying extra doesn’t count). The Accord was rated #1 family sedan by Consumer Reports, and by our account was essentially the same car as the Sonata - yes one might drive a tiny bit better (the Accord), one has a powered driver’s seat (the Sonata), one had traction control (the Sonata), but one seemed to need it based on CR’s review (the Sonata).

With the decision to get the Accord, we did what any good shopper would do - called up several dealerships and got lease quotes on an Accord LX, no money down, 36-months, all fees and prices rolled into the monthly payment. It was kinda fun, we’d have a dealer on the phone, and tell him what the other dealer just gave us, and he’d go “Wow, that’s some deal. Let me talk to my manager and call you back.” For about 45 minutes we did this, and the price dropped from our original $265/mo quote down to $238/month. Not bad for 45 minutes of work!

We knew that getting a good lease price meant we were likely going to get screwed on the trade-in, since the dealer wants to recoup some money on that deal. This, and the general atmosphere at the dealership, made the closing of the deal quite tense. Also when we sat down it came to light that the $238/mo quote didn’t include registration, inspection, or doc fee, so naturally I bitched out the woman who gave me the quote. We were able to recoup some of this surprise cost by negotiating the trade-in, but not much, in the end it was ~$200 that we didn’t expect to pay that we did. Which isn’t bad really. We had them cut a check for the trade-in, fitting with our “nothing up front” philosophy.

My overall impressions of leasing are car are pretty straightforward:

  1. Car salesman really do lie, and a lot. Its like they can’t stop. I wonder if they do recruiting in psych wards.
  2. Ignoring the salesman until you pick the car is a good thing. Then you don’t waste time haggling when you’re not even going to buy the car. This is of course a difficult thing to do.
  3. Asking questions about termination fees, the residual, the money factor, and other fees really changes the attitude of the sales people. They tend to switch from “selling” to “pleading” mode, especially when its near the end of the month and they want to make their sales quotas.
  4. It takes eons to do anything with these people. Minimum time spent in a dealership, including test drive, was around 1.5 hours.
  5. Comparison shopping works. Calling multiple dealers was a bit of a power trip, and it gives you some confidence when you get down to the point where people can’t drop their offers any lower. When the numbers are changing by $1-3/month on the payment, its a good sign.

Just in - last night we signed the paperwork and everything, but today I got a call from another dealer claiming to be $8/mo cheaper, with no stunts at the last minute. Assuming we get about the same price on the trade-in, this looks like the better deal. He claims since we haven’t received the vehicle yet, he can simply call Honda and tell them we’ll be picking it up from him…