Archive for December, 2005

Merry Regex

Saturday, December 24th, 2005

For whatever reason (actually I have a very good idea what the reason is, and it’s that in vim I can easily adapt a regex by watching highlighting), I write regexes in vim much more easily than in Ruby or Perl. vim‘s regexes are powerful, but annoying because of how many characters you have to escape /? /) /( /+, etc. My good feeling from today:

Before:
Before Regular Expression

After:
After Regular Expression

:-)

Happy Holidays!

Saturday, December 24th, 2005

This is pretty hot: a holiday owl.

Cheese

Saturday, December 24th, 2005

Ben said:

I am in colorado and I’m bored [....] please send me lengthy updates on your lives, situations, problems, joys, sorrows, aspirations, favorite kinds of cheese (melted and non-melted), etc.

Then, after I didn’t respond, he said:

btw you’re not off the hook for emailing me a rundown of your life and favorite types of cheese, ESPECIALLY the cheese thing because I got a $25 gift certificate to a famous cheese store for christmas.

So, now I feel pretty compelled to actually tell him my feelings on cheese. So be it. Here are the ones that I can actually remember anything about:

British Cheeses

Overview
I like British cheeses a lot, especially Cotswold and Double Glouchester (which are almost completely the same, see below), but find that the American versions are often too snooty for my taste. Here’s the problem: European cheese manufacturers feel that the equivalent to Kroger cheddar isn’t good enough to export, so the only stuff they send to America is Snooty-McSnootSnoot Super-Sharp Double Cheddar, which is a bummer, because sometimes the less sharp & lower quality stuff (esp Dbl Gl.) is better tasting.

Wensleydale
This is the cheese that Grommit likes. I don’t, because it’s a bit crubmly and I find the flavor off-putting
Cheshire
If I’m remembering correctly, I don’t like this one because it’s moist and flaky. Moist–yech.
Irish Cheddar
I enjoyed Irish cheddar quite a bit when I lived in York. It’s usually available in pretty sharp varieties and is a pretty refined cheddar (at least the ones I got were). It reminds me, to some extent, of Vermont cheddar
Double Glouchester
This used to be my favorite cheese after my first visit to England. It’s since been replaced by its cousin, Cotswold (though I’ve also become less definitive about my favorite after not having much luck finding good Cotswold in Boston). It’s a creamy cheese like Cheddar with just a bit more richness and is rarely made as sharp as cheddar.
Cotswold
Cotswold is just Double Glouchester with chopped onions and chives incorporated into the cheese. I find this cuts through the creamyness of the base, providing a nice juxtaposition that is easier to eat more of without getting overwhelmed; think straight peanut butter versus peanut butter cut with jelly. Cotswold makes a magnificent sandwhich cheese but doesn’t melt particularly well.

France

Overview
I’ll agree with most people and say that I find French cheese the best on average in the world. I used to not enjoy some of the softer cheese and some of the stinky cheeses, but have come to appreciate both types, and in so doing, greatly increase my appreciation of French cheese.
Brie and friends
The story goes that Peter got addicted to Brie when he and my parents bicycled through Brittany in the early 80s. He’s certainly the one who pushed me to start trying this stuff enough to like it. In that, I consider it a bit of an aquired taste, like coffee or beer. If you sort of like these cheeses but not completely, try experimenting with cooling the brie before eating it–it’ll take most of the runniness away. Once you’re cool, let it get warmer and warmer to appreciate more of the beautiful flavor. Brie, of course, is the perfect pair with good baguette.

America

You know about American cheeses, so I’m not going to bore you with a further description here.

Italy

Parmesean
Parmesean is the only Italian cheese that I can really pretend to have any familiarity with. E and I use it quite liberally in cooking now that we have discovered that spending more upfront on the real, good stuff, is worth it. Because it’s such a hard cheese, blocks of this keep in the fridge for months.

Switzerland

Gruyere
Gruyere has a nutty, partly swiss-like flavor. It’s strong flavor characteristics and harder texture make it the perfect cooking cheese, and that’s why it’s the standard for Chicken Cordon Bleu and a good melted ham and cheese sandwhich.
Emmentaler
Another swiss-like cheese that’s just a bit more refined. Perfect for crackers.

Other places I can’t be bothered to determine

Havarti
Havarti is a perennial favorite snooty-yet-still-likeable cheese that often shows up at cheesy functions, and for good reason: it’s subtle flavor and creamy texture will win over everyone’s hearts while the lacy structure crushes their hopes and dreams–perfect party cheese.
Goat Cheese
I like good goat cheese, but usually in moderation or paired with a food (pears can actually be quite good with it, for example). The texture is, of course, quite different from a cow’s milk cheese and I don’t always like the tangyness/bitterness of some goat cheeses.
Honorable mention
Gouda, Smoked Gouda (better), Feta (only good if still in liquid)

Well, I hope that provides some utility. I’ll try to update it if anybody leaves comments below or I think of more things.

Moving Offices

Friday, December 23rd, 2005

We moved offices today, away from our two month stint in Inman Square to a place by my office, here. The new place is probably a mixed bag for us… We really liked the location, windows, and size of the old place, but didn’t really enjoy the noise of the traffic. The new place won’t have traffic, but since it’s an old porn studio, it’s got a very open floor plan. This comes into play when we realized we’d be sharing it with another startup, who are probably quite a bit louder than we are. That said, beggars can be choosers.

The new place:YC

The floorplan:YC Floorplan

FreeBSD Success

Friday, December 23rd, 2005

So, I did finally manage to get FreeBSD installed last weekend. There were a few factors stabbing me in the back (and making me slag FreeBSD more than it deserved). Specifically, I’ve decided, after about 15 tries, that:

  • I think the machine got thrown out because one or both of the IDE ports got funked up
  • I think the Developer’s (no X) install of FreeBSD 6 was too big for my small hard drives

So, I ended up getting it to work by installing it on my 4Gb SCSI from the FTP (remember, no IDE at all, so no CD drive…). The machine’s been up for 5 days now, so it’s been a bit of a success. Daniel says he’ll find me some more SCSI drives so that we can get the reasonable drive space.

Final notes:

  • My only bitch with FreeBSD was that it couldn’t figure out how to DHCP to my router, so I had to do the stupid manual network config and then wait for what seemed like a long time for it to accept the valid manual specs I’d given it
  • The FreeBSD minimal install is very minimal. I was amazed at how many things I would have expected on any ol’ Linux box are actually unnecesary
  • When pressed, I don’t actually need that much more than the minimal install, vim, bash, wget, and mzscheme. That’s nice to know

Now for the box to blow up…

Building the Imperfect PC

Saturday, December 17th, 2005

O’Reilly has a book called Building the Perfect PC. I have built many PCs in the last 6 or 7 years, starting with the machine that I built for myself to take to college. Yet, I have never built the perfect PC. In fact, almost every PC I’ve built then has used a significant number of parts from that first PC despite their growing age and lack of reliability.

Anyone familiar with builders of imperfect PCs knows that they, by definition, keep huge piles of garbage, which they call “parts,” lying around the house. After years of friction with my wife caused by my collection of (worthless) “parts,” I began reducing that collection. She seemed pleased.

Yesterday, Daniel and I went to PG’s house to pick up a computer that had died. I offered to take it home to store it. This morning, I brought the computer inside. “I thought we were trying to reduce the number of computers?” was all she said above her distainful expression.

So, I was pretty stoked to finally be playing with some new parts, rather than my horrible collection of broken hand-me-downs. It even has a1Ghz processor, faster than anything I’ve ever used. And it might even have a working motherboard (something I have a problem with).

Well, I got more angry looks when I went down to Colin’s and re-possesed on of my old machines that I had given to him (see above reduction in “parts”). I spent the afternoon playing around with hardware, deciding that I liked my case better than Daniel’s, and generally getting to do everything in the most difficult way. Then I got to install FreeBSD.

Daniel likes FreeBSD for some reason, so it’s what we’re using for the servers at work. I’d sorta like to assume that the problems I’ve had aren’t it’s fault. It’s driving me to thoughts like this:

WHAT THE [HE]CK?! I’ve tried to install this worthless piece of software on every single drive I own and it still won’t work!

So, I dunno why it refuses to write to any of the drives I have (maybe the motherboard is indeed screwed). It’s getting pretty annoying, as I’ve now switched hard drives more than 7 times (not all ATA either, I tried my SCSI first…).

Hmm… so much for new parts.

Crossing the Chasm

Monday, December 12th, 2005

I just started reading Crossing the Chasm by Geoffrey A. Moore and am enjoying it quite a bit. The book was given to me by a colleague who thought it was a must read because of the startup. The basic premise is this: there’s a huge chasm that separates early adopters of technologies, who are prepared to make some concessions for the sake of new, cool things, and the early majority, who will use new things, but only if they’re practical. Moore posits that many high-tech companies fail because they never full grasp how to “cross the chasm” and reach the real majority, often mistaking their early sucesses as evidence of wide appeal. I can certainly think of a ton of emerging websites that haven’t crossed chasm…

Read more on Google Print or here: http://en.wikipedia.org/wiki/Crossing_the_Chasm

KUbuntu Rocks

Saturday, December 10th, 2005

My younger brother wants a laptop for XMas, so I’m going to give him the Apple (Lombard) Powerbook that I acquired from Colin this summer (for free!). As soon as I got it, I took the time to get Gentoo running on it next to OS 9 (which I didn’t need). It ran fine and would even sleep after I played with it for a few days.

<Skip ahead to December.>

Now that it’s supposed to go my brother, I thought I’d clean it up a little. I grabbed the newest (“Breezy”) PPC .iso this morning in a few minutes (the Kubuntu servers were letting me download at >700Kb/s), burned the disc on my iBook, and slapped it in the old Powerbook. It booted without problems and installed everything (everything!) without making me do anything but select my country and language. I’ve never had such an easy time putting Linux on anything, let alone an old PowerPC laptop.

Why Does the Google Search API Suck?

Saturday, December 10th, 2005

First attempts

Ruby doesn’t have CPAN

I spent quite a bit of time Friday evening and this morning trying to get a simple Ruby script to pull search data from Google’s crappy search API. There is a standard library for SOAP/WSDL stuff for Ruby here. It is, like so many other potentially good Ruby libraries, almost totally undocumented.

I played around with that for a while and failed to get anything useful. After a little more searching, I found ruby-google on the RAA. It looked promising, specifically:

Ruby/Google offers a higher-level abstraction of Google’s SOAP-driven Web API. It allows you to programmatically query the Google search-engine from the comfort of your favourite programming language, as long as that’s Ruby.

The aim of the library is to make the details of the raw data structures returned by the Web API irrelevant, in the process making the API more accessible for everyday use.

After installing it on amartya, our development server, I tried using the thing. It barfed with some error. I then tried tweaking it for a bit but gave up because the thing hadn’t been updated since mid-2003.

More Annoyed

The rest of the evening and this morning progressed in the same way. Long story short: tried to get a Ruby version to work on 3 different machines (and OSes), gave up on Ruby.

Perl has CPAN

I switched to Perl and happily found CPAN modules that looked promising, specifically Net::Google .

Not if you haven’t got a good version or Perl

I then spent hours trying to install all of the dependencies for the CPAN meta-module on amartya before realizing that it was using 5.005_03!. After that, I gave up completely on amartya, tried on my Dreamhost machine, failed because I wasn’t root [yes, I know how to fix that but was too annoyed by this point], then failed on my iBook because I somehow screwed up the urllist to download from [yeah, I tried fixing that too].

Why Google?

Then I stopped and looked at Yahoo’s API. It worked out of the box (in Ruby). Here’s the basic code: (with WordPress escaping the double quotes for some reason)

require 'rexml/document'
require 'net/http'
APP_ID = "whatever_you_asked_Yahoo_for"
query = "a%20search%20string"
url ="http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid=#{APP_ID}&query=#{query}"
  response = Net::HTTP.get_response(URI.parse(url))
data_xml = REXML::Document.new(response.body)
data_xml.elements.each("ResultSet/Result") {|r|
  puts r.elements["Title"].text,
  puts r.elements["Url"].text,
  puts r.elements["Summary"].text
}

I wish I would have tried Yahoo in the beginning.

The First Blizzard

Saturday, December 10th, 2005

The weather forecasters around here love to make dire predictions about the winter weather. They may be true for other parts of the state, but they’re almost always laughably wrong for where we live in Somerville.

Yesterday, however, proved them right. The forecast was for 4-7″ of snow during the day, but they reduced that in the morning to 3-5″ and said that the high would be 35 degrees F. I, of course, was skeptical, as always. Boy was I wrong….

We ended up getting 6″ during the day and the visibility when I walked home from work was comically bad–probably less than 100 yards for most of the time. I would have frozen alive if the temperature had been any lower, as the winds were gusting about 25 mph.

The most exiciting bit was the lightning, which no one at work had ever heard during a snowstorm (even us Midwesterners). I had thought it was climatalogically impossible. There was even a plane struck by one bolt:

A Comair plane on its descent into Logan International Airport in Boston was struck by lightning Friday afternoon and made an emergency landing. None of the 32 passengers or 3 crew members on the flight were hurt. The plane, which suffered wing damage, was arriving from Baltimore. Logan Airport was later closed because of the weather, as were T. F. Green Airport in Providence and Hanscom Field in Bedford, Mass.

NY Times on the storm

Then, this morning, I got to clean off the Prius so that Elizabeth could go to her stained glass class at the MFA. That took 15 minutes of shovelling and another 10 minutes just to get the silly car out of the snowbank. Oh, how it made me long for my old Audi wagon with all-wheel-drive.