Archive for January, 2007

ATHF LED kits anyone??

Wednesday, January 31st, 2007

If someone starts selling reasonably priced ATHF LED advertisement kits, I’d buy in a heartbeat. Can’t be hard to build; just a bunch of LEDs with a bit of a driver circuit to shut the crap off in the daylight.

The reality impaired scaretardos that have now arrested and charged one of the makers with something like “conspiracy to build a hoax device or placing a hoax device with purpose of creating mass hysteria” disgust me.

Sadly, though it would seem that even a half assed lawyer should be able to show that there was no intent to either induce mass hysteria or create a hoax terror device, I fully expect that the completely corrupt asshats leading the domestic terrorism jihad will be able to make whatever charges they can come up with stick. Jail time for LED boy.

Of course, this does raise a question: Can “we the people” bring a case against the overreacting dumbasses for “inciting mass hysteria” by turning every fracking out of place light, candle, or farting high school student into an act of potential terrorism?

Hell, even by writing this pointless little bit of disgusted venting, I fully expect I’ll end up on some federal watch list somewhere. Oh, wait, there is that fear & hysteria thing again — if more than 3 of you feel the same way, we might just have a case on our hands.

But I digress. Anyone selling kits yet?

C# 3.0: Now with Categories!

Wednesday, January 31st, 2007

Update: Go read this followup that specifically responds and expands upon the comments left on this post.


I was perusing my various random RSS feeds and ran across a C# 3.0 missive that caught my eye. (Yes, my life is not entirely about pictures and tequila — I do still do coding stuff. Lots of it.)

C# 3.0 is adding something called extension methods. With extension methods you can extend pre-existing classes with new methods.

Kinda like categories. Only better. Sort of.

In particular, extension methods can be limited to a namespace such that the additional methods are only visible to code that uses a particular namespace.

That is cool. Objective-C’s categories introduce some fairly serious fragility in that they can radically, transparently, and incorrectly modify the behavior of existing classes globally to the application. This has caused no end of problems.

One shining example. Back when WebObjects — when Enterprise Objects — was written in Objective-C, everyone added this method to NSArray:

@interface NSArray (MySuperObviousAndVeryUsefulCategory)
- (void) addObjectIfAbsent: anObject
@end

Good enough. Now, yay about WebObjects 4.5 or so, Apple added this in a category:

@interface NSArray (EORelationshipManagementUtilities)
- (BOOL) addObjectIfAbsent: anObject
@end

The BOOL return was used by the editing context to determine if a to-many relationship was really modified by the -addObjectIfAbsent:. Of course, the (void) version was overriding the (BOOL) version and, well, EOEditingContext’s relationship management was either radically slow or just flat out broken when it came to relationship management.

Much confusion ensued until someone figured out what the hell was going on. Yay Categories!

But I digress. Sort of.

By limiting the extension methods to namespaces, C# has effectively avoided the above scenario.

Or did they? As it turns out, Microsoft has given the developer the ability to avoid the problems as described above while also giving the developer an infinite spool of rope with which to tie exceedingly difficult debugging knots.

Why? Because you declare extension methods to be a part of the System namespace and, thus, said extension methods will be dragged into anything that uses the System namespace, which is pretty much everything.

It appears — I’m not 100% certain as I’m not deeply versed in C# — that you cannot override existing methods using extension methods. So, maybe the rope isn’t quite as infinite as Objective C categories, but it is still pretty damned long.

I’m sure some will think that is a horrible and obvious oversite, but my rather painful and numerous experiences of debugging category override induced bugs in large bases of Objective C code puts me quite firmly in the “wise choice” camp.

It does beg the question of what happens when you drag in two namespaces that both implement the same extension method to a particular class.

This isn’t without its problems. You still have to go and find all the bloody extension methods for any one class if you want to really know how that class is used within any given body of code. No fun. Supposedly, Visual Studio is going to solve this particular problem through features in the IDE (which, btw, VS’s integration of reference material and documentation is nothing short of amazing, even if the UI can be a bit daunting).

Which brings us to syntax. OK — so — you want to write a method that extends a class. Obvious enough, just add some little bit of magic dust to the existing class declaration to turn said declaration into an extension of an existing class. Kind of like Objective-C does:

@interface NSObject (BreakTheWorld)
- (BOOL)isEqual:(id)object;
@end

@implementation NSObject (BreakTheWorld)
- (BOOL)isEqual:(id)object { return random() % 2 ? YES : NO; }
@end

However, this is not how you would do it in C#. Not at all. Instead, you sprinkle the keyword this followed by the class to be extended into the beginning of the arguments for the method. Huh? Like this:

namespace System
{
  public static class MyExtensions {
     public static void MagicDoStuff(this object o) {
            ... do magic here ...;
        }
    }
}

Got that? The ‘this object’ says to extend the base ‘object’ class. The ‘namespace System’ says to do it in the System namespace. Ouch. This also means that you can apparently define extensions for multiple classes within a single class’s worth of implementation. How this interacts with the containing class itself is unclear.

Without knowing C# intimately, my off the cuff expectation would be that public static class MyExtensions extends object {...} or the like would make for a more comprehensible syntax. What would be lost by doing that?

In any case, extension methods seem like a pretty neat feature. The syntax seems a bit unfortunate.

Actually, let me a bit more blunt: What did I screw up in this analysis? There has to be a couple of things as I don’t spend my days writing C#.

Tequila Tour Day 3: Arandas — Tequila Espolon

Tuesday, January 30th, 2007
Group Shot At Tequila Espolon

Start of day 3… brushing teeth with Tequila again. Mmm… Pura Sangre Blanco. I really need toothpaste. After rolling out of bed, grabbing breakfast and checking out of the hotel, we strapped all of our stuff to the van and headed to Tequila Espolon. Good-bye to the Hotel Santa Barbera — if you ever go to Arandas, it is an awesome place to stay.

Tequila Espolon is located on the outskirts of the town of Arandas in the middle of huge fields of Agave, mostly their own. Espolon is a delicious highlands tequila, with the aged product carrying through hints of mocha/caramel and an excellent spice. Excellent, solid product. Beautiful bottles, too, with embossed metalized labels.

Definitely a worthy addition to any bar.

Read on for a photo tour of Espolon’s tequila making process…
Read the rest of this entry »

Mexico: Casa Herradura Guacamole & Pork Rinds

Wednesday, January 24th, 2007
Guacomole with Pork Rinds

I have decided to break up the daily Mexico trip posts with a few short posts of particular standout events, photos, discoveries, or — in this case — foods.

This mind blowing dish was served to us by the fine folks at Tequila Herradura. It is freshly made Guacamole with Chile Peppers topped by freshly cooked Pork Rinds.

Yes. Pork rinds as a carrier for the best Guac I have ever had.

Delicious. Best served with excellent Tequila, of course.

Stoker + Pottery: Smoking Pot w/An IP Address

Monday, January 22nd, 2007

Rama received a Stoker for christmas. He has since been doing a brilliant bit of hackery involving wood, the Stoker, and ceramic planters.

Excellent. I might have to build a second cooking device using some combination of prefab ceramic and bricks.

Actually, given the ease of casting adobe or clay, I bet it would be fairly straightforward to build your own controlled and effective cooking device to whatever specifications you need.

First up, however, is the cold smoking rig using the Egg, a dryer duct, and a cooler.

Lucky Duck? No, Stupid People.

Monday, January 22nd, 2007

Taking a break from the Mexico write-up for a moment…

So, by now most have seen this story of:

– hunter shoots duck

– hunter puts duck in fridge without first cleaning it

– 2 days later duck moves when wife opens the fridge

How does this story end? Obviously, the hunter finishes the job and enjoys a fine duck dinner.

Nope. Instead, the duck has now been subjected to some further traumatizing and likely very expensive “specialized treatment”. Only a 75% chance of survival and will likely never be returned to the wild. Who pays for the medical expenses, exactly? More importantly, why?

I think I’ll have to grill some duck this week.

Tequila Tour Day 2 (Cont): Arandas — Tapatio / El Tesoro de Don Felipe

Saturday, January 20th, 2007
Tapatio / El Tesoro Offices & Store

From Cazadores, it was back to Tapatio / El Tesoro de Don Felipe for a tour of the facilities. El Tesoro is the export label for what is known as Tapatio in Mexico. Sort of — there are other differences mainly due to the legal requirements of exporting into the American market versus the tastes of the Mexican market. El Tesoro is available in Mexico, but with the old school labels.

Washing of Bottles at El Tesoro / Tapatio

El Tesoro de Don Felipe’s products are all delicious, crafted with great care. Unlike just about every other Tequila distiller, El Tesoro products are distilled down to the target ABV. For others, the cask ABV is typically higher than the bottle ABV and de-mineralized water is added upon de-casking, right before bottling.

We visited the bottling line at El Tesoro while the team was bottling the very delicious El Tesoro Anejo. It was mesmerizing to watch. Here is a group of people from teenagers to one of the patriach’s family all working together as a team — as an extended family — to ensure that the right amount of an excellent product was placed in every bottle.

Read the rest of this entry »

Tequila Tour Day 2: Arandas — Tequila Don Nacho, Tapatio, Cazadores

Saturday, January 20th, 2007

I woke up today to discover that I didn’t have any toothpaste. That was OK — I just brushed my teeth with Puro Sangre Blanco. Works fairly well and leaves your gums feeling all clean and tingly.

Tequila Don Nacho

Once we herded the cats into the van, we headed to Tequila Don Nacho for a tour and tasting. Tequila Dan Nacho is a small to medium sized distillery that mixes traditional brick ovens with more modern stainless steel double distillation processing. It is actually a very young distillery that is owned by Ignacio Hernandez Gutierrez, known as Don Nacho. While the distillery is young, the family has been growing Agave for many decades and their Agave has an excellent reputation for consistently high quality.

The holidays are the busiest time of the year in the tequila industry. As such, many distilleries shut down for a period of time in October / early November or they will shut down in January. During this time of rest, repairs and upgrades are made.

There is a significant amount of infrastructure associated with a distillery. Beyond the fermentation tanks and stills, you have ovens or autoclaves for roasting, a masher or extractor for pulling the sugars off the roasted agave, and a water processing and heating plant to drive it all. As steam is used in many parts of the tequila making process, distilleries typically have a steam plant and water conditioning plant on site.

Read the rest of this entry »

Tequila Obtained!

Saturday, January 20th, 2007
Tequila Brought Back From Mexico



I’m back from a tour of nine tequila distilleries in Mexico. I have a boatload of pictures and notes, much of which I’ll post over the coming days.

Pictured above is the tequila and tequila related products that I brought back. From right to left:

  • Empty oak barrel with a generic label and a heavy char on the inside. Will be used for aging my own tequila.
  • Bottle of Arette Reposado with Arette shot glasses and lime/salt holder.
  • Bottle of Rey Sol. Absolutely amazing aged tequila. Sublimely delicious.
  • Two bottles of Herradura Antiguo Reposado. Perhaps the best lowland reposado made.
  • Two bottles of Tapatio Anejo. This is El Tesoro’s mexican-only product. Great anejo.
  • A bottle of a Tapatio / El Tesoro product that has not been named, does not have a product specific label, and isn’t on the market yet. Amazing product– we had the honor of tasting it with Carlos and Lilianna .
  • A 1994 bottle of Pura Sangre Anejo that we found in a liquor store in Guadalajara. Got it cheap.
  • An Arette flask full of Arette Anejo.
  • A sampler pack of Partida Blanco, Reposado, and Anejo.
  • A personalized barrel like the other within which I will be aging Tequila.

Next time, I’ll take a larger set of luggage. I passed up a lot of good deals.

Nope — didn’t pay duty. I took the recommended approach of declaring everything quite honestly, targeting around 4 liters of tequila per bag, and being polite on the way through customs. Didn’t look twice at the amount of tequila and were far more interested in my barrels (though not even that was terribly interesting).

The import duties are really aimed at busting people carrying stuff through for distribution. Someone bringing back a couple of gifts and a handful of obviously different stuff to add to a collection isn’t the targeted group.

Ugh. I brought home more than Tequila. Feels like a rabid weasel is trying to crawl through my stomach. I’m having an Alien moment today. Ouch. Now I have a 100.5 fever. Bath time — and you know I’m sick when I sit in the tub for a while.

Tequila Tour Day 1: Traveling to Guadalajara

Tuesday, January 16th, 2007

About 10 days before Sunday, January 14, 2007, Julio Bermejo came down to Apple to have lunch and pick up an iPod; nothing out of the ordinary about that. While visiting, he invited me to go on a Tequila tour of Jalisco, Mexico with a small group of Tequila masters and enthusiasts. This is truly an honor as as Julio is neither a tour guide, nor are the trips something that can be asked for. Julio invites only those people that he thinks will appreciate an intimate education in the making and history of Tequila and who will ask the kinds of intelligent questions at the distilleries.

I am really quite deeply pleased that Julio felt I was the right kind of person to go on this trip! I know I’m going to learn a ton and I have a slew of questions related to the farming and genetics of Agave that should be appropriate. Hopefully, I’ll even get to do some field work!

Awesome. Even more amazing was that I was able to take the time off and find reasonably priced tickets with such short notice. I am normally a light traveler, but not this time. I tossed clothes into two suitcases with a goal of packing them with tequila bottles wrapped in clothes for the return trip.

The rest of the crew arrived in Guadalajara on Sunday morning, fresh off a red-eye out of Oaklnad. I flew out of San Jose and arrived at about 1:30pm. Oddly, this was the second flight in a row that involved an in flight “medical incident”. A woman sat next to me mid-flight who was clearly in some pain and a bit agitated. She was incapable of dealing with the exit row requirements and was moved back shortly before landing. We hit a patch of turbulence about 40 minutes before landing and she immediately required oxygen. Upon landing, the rest of us were “expedited” out of the plane (onto the middle of the tarmac sort of near the airport) so the emergency crew could carry her out. Whee.

Julio’s driver, Estabon, picked me up and I met the crew in Tlaquepaque for, what else, some Tequila and a bit of shopping.

Picked up my first bottle of Tequila, too. A dusty bottle of 1994 Puro Sangre Anejo 3 year. (Out of stock from that site. List price of $199?!?!?! I got it for a little under $70.)

Liquor Store in Guadalajara

From Tlaquepaque, we headed to a restaurant called Karne Garibaldi. They have exactly one item on the menu — meat in broth — and you can have either the small, medium, or large plate. It was served with beans, salsa, hot peppers, avocado, grilled onions, and fresh tortillas. Karne Garibaldi is also in the Guiness Book of World Records for fastest service time. It took 45 seconds from order to having an awesome plate of food in front of us.

We then hit an awesome– the largest, I think– liquor store in Guadalajara (La Playa liquor store at Avenida Mexico), pictured at left, before hopping in the bus and heading to Arandas. After checking in to the Hotel Santa Barbera, we piled back into the van and headed to the last night of the town’s annual fair.

What a blast. It was like the state fairs I went to as a kid. Only with much better food and without the sterilization through rules that we find so often in the US these days.

Meat Pit at Arandas Fair

We boat a bunch of random grilled meat products from what I named the Meat Pit of Doom. It was a large brick walled pit with several good sized logs burning in the middle. Around the outside were long iron rods onto which big chunks of meat were skewered.

We had a couple of kinds of sausage, rabbit, and — of course! — pork.

After dinner, we wandered around a bit. Ben headed off to find the cock fights. He did, but he said that it was rather disappointing. The two roosters preferred to mostly sit around and try to ignore each other.

Bumper Cars
Bumper Car Self Portrait

Some of us wandered off to the bumper cars. What a blast! Notice that there are no railings around the bumper car “arena” which resulted in a fair bit of chaos before, after and sometimes during a run. I took a boatload of pictures while driving, hoping some would turn out. Beyond the fact that an oversized, very blond, laughing American had come to their central Mexico town, that I also had a camera and was taking pictures while driving a bumper car provided quite a bit of entertainment for the locals. Which, of course, made me a target for all cars. Excellent.

As I discovered last time, central Mexico and the people of Arandas, in particular, is a wonderful place. The people are friendly, sharing information and culture freely. The food is excellent, focused on fresh with simple recipes designed to accentuate the qualities of the ingredients.

Then, back to the hotel to get a few hours of sleep before visiting three distilleries on Monday.