February 29th, 2004

Buy One Burrito Get One Free at Chipotle

I saw on DealNews that Chipotle is having a special leap-year promotion — if you buy any burrito today, you can get a free burrito by showing your receipt. Though you have to buy the burrito today, the free burrito can be redeemed through next Sunday (March 7th).

February 28th, 2004

Tagatose — A New Sugar Substitute

I was reading an issue of Wired’s dead tree edition that a friend had given me and they had a sidebar (not really a full article) on new sugar substitutes. The usual suspects such as aspartame and sucralose were there, but they also had high praise for one called tagatose which they described as “subtle & natural”. So, I checked online for more information and — go figure — found a Wired article on tagatose.

Like Splenda, tagatose is made from sugar, but tagatose is derived from milk sugars within whey. And, though Splenda already tastes very natural, apparently tagatose is virtually imperceptible from sugar. The only downside is that tagatose isn’t calorie-free — it has about 1/3 the calories of sugar. But, it doesn’t affect blood-sugar levels or cause cavities.

Levin whips out a set of keys, unlocks his desk, and rummages through a drawer. He pulls out a bag of tagatose-coated bran flakes and a chocolate bar, both creations of his Danish licensee. The bran is a little stale but sweet enough, and the chocolate tastes just like the real deal. He hands me a baggie of pure tagatose. I hold it up to the light, dab a little on my finger, and try it. A dead ringer for table sugar. […]

Though it’s not a calorie-free food, I’m still excited about another sugar substitute. With any luck, this will soon find its way into reduced-calorie chocolate bars and sodas (Spleda-based chocolate still doesn’t quite taste like the real thing). However, it appears that the tagatose folks don’t have quite the marketing arm of their Splenda counterparts; so, I have a hunch that it may be a while before tagatose becomes widespread.

February 26th, 2004

Distributed Spammer Annoyance App

Adam Keeney wanted to annoy spammers and he figured that he could do so by filling out the forms on their websites with junk data. He soon realized that, if it was just him, the spammers would notice and then just block his ip address. So, he wrote Unsolicited Commando, a distributed Java app to automatcally fill out the forms:

Unsolicited Commando is specifically designed to fight spams that advertise sites that are trying to gather information about you. These often include sites that offer to refinance/eliminate your debt or sign you up with some sort of get rich quick scheme. These UCEs are rather lucrative, generating about $20 per valid lead from loan companies. If the good data is burried under the mounds of believeable BS that Unsolicited Commando provides then the mass-mailer must work harder to validate the data by placing thousands of phone call to false numbers. If the data is sold without verification then the mass-mailer’s reputation is ruined. Either way, Unsolicited Commando generates casualties. […]

This way, the spammers get junk data from a wide range of ip addresses and there’s no easy way to filter it. Of course, the more people participate, the more diverse the ip pool and the the more junk they get. I’m tempted to try this one ;).

February 25th, 2004

Recipe: Double-Chocolate Walnut & Marshmallow Creme Fudge

I brought along some fudge to Ru’s party on Saturday and I thought I’d post it here in case anyone would like the recipe. I had in mind that I could bake a dessert and something with nuts & chocolate sounded good. So, I decided on fudge and headed to AllRecipes for an appropriate recipe.

I searched for “fudge” and found my way to their fudge section. From there, I navigated to the Fudge with Nuts recipes and on to the recipes for Chocolate Fudge [with Nuts]. There were about a dozen recipes there and I concetrated on those recipes which already had many reviews (recipes that are highly rated tend to garner more reviews, which leads to more reviews and so on).

I settled on Aunt Teen’s Creamy Chocolate Fudge. It had 343 reviews and still had an average 5-star rating. What I also liked about it — in addition to its inclusion of two types of chocolate along with marshmallow creme — was that it required no fancy candy thermometers (as some fudge recipes do). Here’s the recipe:

Aunt Teen’s Creamy Chocolate Fudge

Ingredients:

  • 1 (7 ounce) jar marshmallow creme
  • 1 1/2 cups white sugar [see notes below on alterations]
  • 2/3 cup evaporated milk [a 5 oz can]
  • 1/4 cup butter
  • 1/4 teaspoon salt
  • 2 cups milk chocolate chips [one full 12 oz bag]
  • 1 cup semisweet chocolate chips [half a 12 oz bag]
  • 1/2 cup chopped nuts [walnuts work very well here, though pecans would probably also be good]
  • 1 teaspoon vanilla extract

Directions:

  1. Line an 8x8 inch pan with aluminum foil. Set aside.

  2. In a large saucepan over medium heat, combine marshmallow cream, sugar, evaporated milk, butter and salt. Bring to a full boil, and cook for 5 minutes, stirring constantly.

  3. Remove from heat and pour in semisweet chocolate chips and milk chocolate chips. Stir until chocolate is melted and mixture is smooth. Stir in nuts and vanilla. Pour into prepared pan. Chill in refrigerator for 2 hours, or until firm.

Recipe notes and alterations:

Though the recipe calls for 1 1/2 cups of sugar, some of the reviews suggested trying just 1 cup of sugar instead. Since I didn’t want an overly-sweet fudge, I went with that suggestion (which worked out well). All the same, I’m inclined to try just 1/2 a cup of sugar next time in an effort to get a fudge with an even higher chocolatiness-to-sweetness ratio.

At one point, I also thought about using Splenda in lieu of sugar altogether. However, I decided not to take a chance on that as fudge recipes tend to rely on the crystalline nature of sugar for the proper chemical reactions (unlike many other baked goods which only use sugar for its sweetening properties). Besides, even though fudge isn’t a low-carb food (this recipe has about 18g carbs per piece), the granular sugar alone isn't that much of a factor towards that count (after all, it’s one cup divided over 48 pieces).

February 20th, 2004

Automated Layout Testing in Mozilla

Robert O’Callahan came up with a handy idea for Mozilla QCautomated layout regression testing. Based on an idea implemented by Ian “Hixie” Hickson for Opera, this would automatically test the daily Mozilla builds for new layout bugs.

At first, I couldn’t figure out how such a task could be automated. After reading over the planned outline, I realized that it was a rather elegant approach. In short, the script (Perl, in this case) would keep a set of known-good screenshots of various layout tests. Then, on each day, the script would the build through the series of tests, taking screenshots along the way. At that point, it would just be a matter of doing file comparisons between the known-good screenshots and those from that day.

The code isn’t yet complete, but it’s moving forward. The trickly parts are in dealing with unruly builds (as you may have guessed). For instance, if that day’s build crashes on one of the tests, then the script would need to detect that, kill the process and then restart Mozilla for the next test sequence. In all, I have a good feeling about this development.

February 18th, 2004

A Better Shoelace Knot?

Reading over the ensuing comments on a shoe-fastening poll on Slashdot, the discussion turned to knot-tying techniques. Quitcherbitchen put it this way:

When you tie your laces, just do one extra loop around and then pull the second loop through. In other words, “the rabbit goes around the tree twice, then through the hole.”

Your laces will stayed tied all day, even throughout a run, but still come undone with a simple pull. Try it. […]

He then chimed in with an URL for an illustrated example where they call it The Better Bow. I read over it and tried to make sense of it in my head, but I’m not always so good at virualizations such as this.

I even tried untying one of my shoes and following along that way, but I got lost at the “Wrap the loop around your finger” bit. If you figure this out, please fill me in — perhaps demonstrating it to me on a shoe sometime IRL would clear things up.

February 17th, 2004

Atkins Makes Its Own Food Pyramid

The Atkins folks have long spoken against the USDA Food Pyramid — I’m not a particular fan of it either and, indeed, the government plans on revising it by early next year. However, the Atkins group decided not to wait that long and they released their own food pyramid.

As you might expect, this pyramid has protein sources on the bottom tier (“eat more”) and grains at the top tier (“eat fewer”) — almost the opposite of the USDA version. Interestingly, even though a geometric food summary such as this may seem to oversimplify an eating plan, this one actually clarifies many aspects.

For one thing, many people think of Atkins as all “meat and cheese”. But, a quick look over their pyramid would show that’s not really the case — cheese is on the second-to-the-top tier, only just below grains. Many people also overlook the diet’s vegetable component. Veggies such as broccoli, cauliflower and asparagus (all of which are considered healthy on just about any diet) are on the second tier, just after protein sources.

I was also impressed that one of their footnotes emphasizes that hydrogenated oils should be avoided. Otherwise known as trans fats, they’re a rather bad type of fat as they not only raise your bad cholesterol but also lower your good cholesterol (even saturated fat doesn’t effect good cholesterol).

I don’t follow Atkins; rather, I go with The Zone which has a 40/30/30 ratio between carbs, protein & fats. All the same, Atkins seems a little more reasonable each time I learn more about it.

February 15th, 2004

A Fish Called Wanda

John Cleese has been one of my favorite actors for some time now. He’s probably most famous for Monty Python and that’s where I first saw him. All the same, I think I most enjoyed him in Fawlty Towers (a sitcom from the mid 70s).

As I was perusing IMDB one day, I ran into A Fish Called Wanda. As it turns out, not only did John Cleese star in the film but he also wrote and directed it as well. I couldn’t lose! So, I had Mike add it to our Netflix queue and it arrived shortly thereafter.

I ended up watching the film last night. “Wanda” was made in 1988 and I thought of that as a good signn — ’88 seemed like a good year for Cleese. But, the film just wasn’t as funny as I had hoped. Sure, I had read the front-page comments (“Excellent caper comedy with a perfect cast”) but I should have read the “other user comments as well”.

I’m sure that most people find the film really good, but I just didn’t somehow. And, I found myself sharing many of the sentiments from the second-page reviews:

  • “Kevin Kline is almost unbearably irritating, and his character makes no sense (is he really a CIA killer, and if so, would he really be such a dumbo?); Jamie Lee Curtis simply isn’t as sexy or seductive as the film-makers want us to think she is, Michael Palin is wasted in a throwaway one-joke role and Cleese never gets much of a chance to do anything beyond looking bashful and doing his stock-in-trade ‘testy posh bloke’ schtick. […] ”

  • “Also Kevin Kline is too good as sadistic maniac Otto. If this was a Monty Python movie, Otto would be such an outragiously exaggerated character, that it would be at least a little bit funny. But Kline acts so naturally that you just hate the guy throughout the movie. […] ”

Those reviews pinpoint how I feel — Kline’s character was too mean to be funny, Palin’s stuttering isn’t even funny the first time, and Cleese’s character is more bumbling than humorous. Then again, maybe it’s just me. All the same, I don’t feel too bad for giving it a chance — with Netflix, it costs the same no matter how many movies we rent each month.

February 14th, 2004

Andy Budd on CSS Margin Collapsing

Margin-collapsing can sometimes be tricky to CSS beginners; especially as modern browsers support CSS better, collapsing margins is something that you could easily run into. However, Andy Budd has written an extended blog entry on the workings behind collapsing margins.

For the most part, margin collapsing has few rules:

At its core, margin collapsing is very easy to understand. Basically when two vertical margins meet up, instead of adding together, the largest margin takes precedent and the other one “collapses” to nothing. […]

For example, if you have two adjacent paragraphs, the first with a 20px bottom margin and the second with a 15px top margin, the space between them will only be 20px — since the smaller of the two margins (15px) collapses into the larger one (20px).

It can get a bit tricky when borders come into play. In the case of borders, the two elements’ margins are no longer directly touching and so the margins don’t collapse. I’ve run into that one a few times when I’ve turned on borders on an element (for debugging) and then found the layout to be wildly different after I finished debugging and turned off the borders.

The article also goes on to talk about how margins collapse around floated elements. But, most beginners who would run into collapsing margins may not be using floats as a layout technique anyhow. In all, I found the article informative and I won’t hesitate to refer to it if I run into some weird collapsing issues.

February 11th, 2004

Dijon, You’re All Right With Me

Back when I learned of Good Eats’ grilled cheese recipe, I wasn’t terribly enthused about the Dijon mustard called for in the recipe. Really, I haven’t liked Dijon mustard for some time. But, after thinking it over, I realized that maybe it was just me — maybe it was just the particular Dijon that I had been exposed to over the years.

Growing up, my parents enjoyed Grey Poupon with various dishes. And, I tried it several times over the years but didn’t quite like it. But, after seeing Dijon mustard used by so many television chefs, I got to thinking that maybe I should give Dijon another chance. And, I also came to realize that Grey Poupon isn’t the “gourmet French mustard” that it pretended to be — it’s made by Kraft!

So, the next time the grilled cheese episode of Good Eats aired, I paid special attention to the mustard that Alton used (I trust his views on food, after all). I didn’t get that good a look, but I noticed its black label and made a mental note of the jar’s approximate size.

Next time I visited Target, I strolled down their mustard aisle to see what I could find. Sure enough, I found a couple likely candidates from Maille. Their labels are black and their jars looked about right size. There were two varieties: original Dijon and wholegrain. Figuring that the wholegrain version might have more Dijon essence, I decided to go for that one. And, besides, at $2.50, it wasn’t a big investment in case it turned out that I didn’t like it.

That evening, I prepared my tuna sandwiches for the following day (typically, I would have a tuna sandwich for breakfast and lunch, though I’ve been having omelettes for breakfast recently). And, I decided to give the new Maille Wholegrain Dijon a try. So, I slathered on a layer to each of the sandwiches. I prepared the tuna and completed the sandwiches.

Though I made the Dijon-tuna sandwiches last night, I only had a chance to try one today. And, to my pleasant surprise, it was rather tasty. There wasn’t any of that weird Grey Poupon-esque aftertaste and the Maille Dijon was also more flavorful (yet somehow more subtle) than the brown mustards I was used to. As an unexpected bonus, the wholegrain nature of the mustard also created little “flavor pockets” of mustard that burst in each bite.

I’m guessing that Grey Poupon may still not be my cup of tea, but I’m satisfied with my $2.50 investment into Maille. Perhaps I’ll even try the original Dijon next time, just to see how its flavor profile compares to the wholegrain.