Egg Nog

People seem to have strong feelings about egg nog, mostly negative. I wondered how much of that might be because of commercially available egg nog, since often times home-made items will taste vastly different from something purchased at the store. Such is certainly true of chocolate chip cookies and bread, to name a couple. A lot of factors play into that I suppose. I decided to whip up a batch and find out.

The recipe I followed was of course Alton Brown's, he being my go-to guy with recipes. Be warned that it calls for raw eggs which some people are sissies about. Not me, no sir.

Simply put, you make the nog in two steps. First is whipping up the yolks with sugar. Then toss in the cream, milk and nutmeg (I had to substitute cinnamon as I only to late discovered I was out of nutmeg). In another bowl you whip up the whites to stiff peaks, then combine. I chose to whip the eggs by hand and let's just say I don't plan to do that again. Ouch.

The biggest difference from store bought (and I'm going from memory on this) was the viscosity. Store bought nog is pretty thick, kinda makes you feel 10 pounds heavier after drinking it. Alton Brown's was nothing like that. I started with 3 cups of liquid, plus eggs and ended up with about 6 cups of egg nog. All the difference was air and I could definitely taste it.

I also liked that I could add my own flavoring. As I mentioned, I used cinnamon which was good. I also tried a bit with hazelnut syrup and that was nice too. I bet most of your coffee syrups would be yummy too.

Bottom line, this egg nog is a keeper.


Mark Cuban on P2P

Generally speaking I find most of what Mark Cuban has to say fairly good, but today I have to disagree. His latest rant against P2P I think starts off with faulty premises, thus the conclusions don't hold.

As a consumer, I want my internet experience to be as fast as possible. The last thing I want slowing my internet service down are P2P freeloaders. Thats right, P2P content distributors are nothing more than freeloaders. The only person/organization that benefits from P2P usage are those that are trying to distribute content and want to distribute it on someone else's bandwidth dime.

Have we conclusively shown that P2P slows down the Internet? I'd like to see the proof of that. It's apparent that what he's mainly complaining about here is the amount of upload traffic. If somebody downloaded the same content via non-P2P, aka the non-freeloading way, they would eat up the same amount of download. So the only difference is the extra upload with P2P. Is that really a problem though? I can tell you, my network has upload to spare. I would estimate that our upload traffic is about half of what the download is at.

Does anyone really think its free ? That all the bandwidth consumed with content being distributed by P2P isn't being paid for by someone ? That bandwidth is being paid for by consumers.

When I buy a DS3, I get 45mbps of bandwidth in each direction. I have to have enough to support the download demands of my customers and I just get the upload to boot. It's just sitting there. So yeah, the consumer is paying for it but there's no way to recover that cost. Even if every consumer stopped uploading, they would still pay the same amount. Why not put it to some good use?

And there is a good use. If that bandwidth isn't used by the P2P content distributors, they end up forking out additional money on their end for the extra bandwidth. They then have to pass the cost on to consumers. Why should consumers pay twice?

Consumers who pay for personal, not commercial applications. When consumers provide their bandwidth to assist commercial applications, they are subsidizing those commercial applications which if it isn't already, should be against an ISPs terms of service.

I'm a little surprised honestly, to see Cuban talk about consumers as people who just eat and eat whatever the big media companies feel generous enough to feed them. What about the generation of the long tail? Consumer created content and all that jazz? I realize that most of what's going on with P2P is unauthorized distribution of other peoples' copyrighted works, but baby, bathwater. You know the saying.

And finally, to round out my argument I will point out that blocking P2P isn't an easy task. P2P software designers have made is hard on purpose. That means ISPs have to shell out for big hardware to do the task. Who ends up eating those costs? I would have to redesign my network in order to even accommodate the devices, which would add even more.

I won't even get into the whole neutrality debate. That's a can of worms for another day.


On Food Recalls

Certainly you haven't missed the rash of food recalls. One that stands out in particular is that of the Topps Meat company, which recalled 21.7 million pounds of hamburger patties due to possible infections of E. coli. This eventually led to the company going bankrupt and closing its doors. I also remember the bagged spinach debacle from last year, because a local kid died from the illness and because I grew some mighty fine spinach in my garden last summer so I didn't worry for a second that I would be at risk for eating the affected food.

Well just today, moments ago in fact, I discovered that the latest recall has hit my freezer. General Mills has recalled a number of frozen pizza products including the "10.7-ounce packages of 'Totino's The Original Crisp Crust Party Pizza, Combination Sausage & Pepperoni Pizza'". I purchased them some weeks back to feed to the kids and in fact the only reason they're still in my freezer rather than in my children's bodies is that the smell of them makes my wife vomit. Don't be surprised by that though. She's pregnant and everything makes her drive the porcelain bus.

Seeing all these food recalls has really got me to thinking about food policy in this country, specifically to the lack of a sane food policy. Look no farther than the farm bill which subsidizes food in the exact opposite proportion of that which the FDA recommends to us for better health. I have just a few questions which I would really like some answers to.

  1. What is the USDA actually doing since they're clearly not protecting our food supply? You can see the little "Inspected" symbol on my box of pizza, but obviously they didn't check closely enough. I could cut them a little slack if they missed this E. Coli outbreak because they were all busy playing Halo 3. I mean, c'mon. That's a fair excuse. But I suspect instead it's because the USDA is so filled with corporate goons from the very industry it's meant to police. They've got little incentive to do anything about all the problems.
  2. Why do people keep buying this crap? Literally. You do know were E. Coli comes from, right? Perhaps I should explain why I bought "this crap" in the first place, especially since I really should know better. It's because of the aforementioned pregnancy, which has sent me scurrying around the supermarket trying to find something, anything, that we can eat without disgusting my wife. It's getting pretty tough. This was just one of the many things I would normally not buy.

    Consider also that this is the cheapest form of calories in the store. Dollar for dollar you can buy more calories in a frozen pizza than you can in say a carrot (props to my man Michael Pollan whose book I will review shortly). If you look at the waistline of Americans, those are typically calories we can do without. But profits are to be had, so companies go for it.

  3. Why are these pathogen outbreaks a nationwide epidemic? While food contamination is a mostly preventable problem, it's going to be impossible to completely obviate them. But let's go back to the spinach incident of last year. If the spinach I bought this year (mine all died the moment it sprouted), I would know exactly who infected it, the wonderful folks at Shoemaker Farms in Blackfoot, ID who sold me a big bag of fresh spinach at the farmers market. He told me that when the news came out, he couldn't give his spinach away until he put up a sign saying that he grew it locally. What a crying shame because they have some of the best produce I've ever had.

    Of late I've been trying to change to a more local diet. We now get our milk at the local dairy (and in fact, it's cheaper now since gas prices have skyrocketed). I spent more time at the farmers market this year than last. I intend to join the new food coop that is getting started up here in Idaho Falls, possibly tomorrow even. We've gotten into canning our own food, my favorite probably being the tomatoes (which we got from Shoemakers).

    It's impossible to change our track and revert out of this global economy that we've constructed, and I'm not sure that I would want to anyway. But just because something can be done, doesn't mean it should. We definitely need to import chocolate from Africa and South America. It just doesn't grow here, so that's our only option. But we shouldn't be bringing in New Zealand apples during the height of North American apple season. Give me a break! (And if you're buying apples in September, you've clearly got no friends.)

That's enough ranting for now. I hope dear reader that you will be spurred to some introspection. I am definitely not the model of perfection, as evidenced by the fact that I bought the contaminated pizza-like cardboard object in the first place. Slowly I'm getting better though. I find that I think a lot more about my food purchases and that's really what I hope to inspire in you. I think I'll send in the UPCs from my pizza boxes, just to send General Mills through the hassle, but I can tell you for certain I won't be redeeming any coupons for frozen pizzas.


Net Neutrality

Ed Felten has a wonderful blog entry on Net Neutrality, unsurprisingly. Also no shock is that he totally agrees with me. That's how we know he's a smart guy.

To sum up, net neutrality sounds like a good thing and I believe it is, but I fear that many are too quick to rush to legislate it. I mean, this is Congress we're talking about. That's who you want controlling your Internet? Seriously?

The far better solution is competition. The more players in the game, the better the service will be for the customer. There's no doubt about that in my mind. I think a much better use of tax dollars would be to build municipal fiber networks and allow one and all to offer services on it. I see a lot of benefits and few drawbacks to a model like that. Well, few drawbacks unless you're a mega-ISP who hates its customers. Which is a pretty good benefit too.


IIS Is Paranoid

Back in July I went to the Idaho Department of Transportation's website with the intent to renew my car registration. I was rather surprised that the connection was "reset by peer". OK, their site is having trouble. I'll just come back later, right? Next day, same thing. That's when I got suspicious. I played around for a while and discovered that by changing the browser identification string, I could get in. Well, that was good because I was rather uninterested in getting arrested for driving illegally.

Once things settled down, I wrote to their webmaster and complained. I was a little rude the first time, yammering on about tax dollars and discriminating. I knew that would get their panties in a wad, and it worked. They responded and asked for clarification. I provided them with quite detailed info (maybe too detailed) and offered to work with them to get it resolved. They never wrote back and I forgot about it.

Well flash forward to this evening when the same thing happened again, this time on Idaho Public Television's website. I knew it couldn't be a fluke that I'd get the same reaction with the same workaround. One difference is that I've been to Idaho PTV's website on this computer before, using this same browser, so they must have changed something on their end to cause it.

First I eliminated Cold Fusion which Idaho PTV is using but IDT isn't. Then I looked at the web servers, Idaho PTV is IIS 5.0 and IDT is IIS 6.0. Well I had assumed they must be running IIS because what other crack pot web server out there would do something so inane?

Finally I stumbled upon the perfect test: grab a capture of the headers that Firefox sent and make slight alterations until I figured out the exact character or combination of characters to break their site. And that is what I did. I saved the headers to a text file and piped them to netcat, that most useful of network tools. Here is the browser string as it appeared unaltered:

User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv: Gecko/20061201 Firefox/ (Ubuntu-feisty)

Starting from the end, I removed "(Ubuntu-feisty)" from the browser and tried it out. Voilà! That was the offending part. Lucky for me I got it on the first try.

I narrowed it down by process of elimination to the four characters "isty". They can appear anywhere in the User-Agent header and it will immediately cause IIS to send a TCP reset. Not even an HTTP error code, but a RST. I tried it in other headers and there was no problem (e.g. X-Linux-Distro: Ubuntu-feisty).

The only sense I could make out of this behavior is some sort of security setting in IIS. It's doing some sort of content analysis and determining that anybody who uses the letters "i", "s", "t" and "y" in the User-Agent header is a bad guy. With logic like that, you'd think the IIS team was working for the TSA. Hmm, a conspiracy maybe? Anyway, I remember when I was a lowly IIS admin that there was some security lockdown tool that Microsoft recommended. I wonder if that's what's doing it. Or maybe it's an antivirus software. It's hard to say. I think I have a good lead with Idaho PTV since it just started happening. Surely they must remember the changes they've made to their production web server. I might just write to them and find out.

In the mean time, I smell some sort of nefarious hack here but I can't come up with anything good. Somehow you've got to be able to leverage this bug to bring doom upon unsuspecting IIS users. If you've got any ideas, please post them in the comments.


Air Travel

I had the dubious pleasure the other week of flying to Oregon to pick up my wife and drive her home. She was feeling pretty sick and just wasn't up to the drive. The trip was planned at the very last minute and while I'm glad to help out my wife of course, it was a fairly stressful adventure. It's a good thing the TSA was on the job to keep my from relaxing.

Understand that I haven't flown on a plane since 1999. So first I went to the TSA's website and read up on the rules for what I could have in my carry-on. They say to think of "3-1-1" to help you remember the rule. Apparently it means "take 3 things you want to have with you, put them in 1 box, leave them at home and take your 1 sorry self to the airport". I couldn't make heads or tails of the rules, so I didn't take any liquids or gels.

If you look closely at the boarding pass to the right, you'll see at the bottom it says "SSSS". That's code for "we think you're a terrorist". I think between the fact that I booked the night before, that I was flying one way, that I didn't check any baggage, that I'm male, and that I'm not a frequent flier contributed to that assessment.

What annoyed me most wasn't the fact that I had to go through these absurd security checks. If they were done randomly, I would feel a lot better about their use. But mostly it bugged me that I didn't find out about it until after I showed them my ID, a rule I think is totally ridiculous. As if the 9/11 hijackers didn't have valid IDs. As if the no fly list is even a useful tool. At last count it had around 500,000 people. If there were that many terrorists in this country, we'd we be finding bombs on every corner.

Then I hear that the next tool the TSA wants to deploy is forcing everyone to book 3 days in advance! It just defies logic. By their count, they'll inconvenience 7-10% of passengers. The only numbers I could find (I admit I stopped at the first hit) was that in 1997 500 million passengers flew in the US. They seriously think that 35-50 million people are now terrorists? It's mind boggling.

I understand that people want to do something about terrorists, but there's too much doing without thinking. Most of our politicians and bureaucrats are acting based on emotion, which is a poor way to function.


Amazon MP3 Store

I've long been one to complain about the sad state of affairs in the entertainment industry these days. You don't want to get me started, so let's just say that their assessment of digital media is completely out of touch with the reality in the minds of consumers.

When iTunes started selling digital media, I was excited. It was a good step forward. Like when you're standing knee deep in a pool of sewage and you start wading for shore (I'm sure you've been there too). But I refused to ever shop there for a few reasons, namely that I don't use iTunes (no Linux version), I don't own an iPod (Sandisk Sansa) and I absolutely refuse to buy DRM music. Those are all killer features and frankly I can get by without new music. Mostly I listen to podcasts anyway (the local NPR affiliate is lame).

Given that background, you can see why I was excited to hear that had finally launched their mp3 music store. That was one heck of an intro just to tell you that I'm fired up about spending money, but it has been a long time in coming. I've always told myself that if I had an accessible way to purchase DRM-free music online, I would.

So I did. It worked exactly as advertised. There was a little confusion about the downloader software they encourage you to use (and require you to use for album purchases). I tried forcing it to run in Wine, which didn't work and just caused headaches. Their FAQ claims they're working on a Linux version, so hang out for that. In the mean time you're stuck with just single track downloads. Still, not too bad.

As for the music itself, it's a true blue mp3 file. It's tagged perfectly (something you won't typically find on p2p and an endless source of irritation for me). It's encoded at 256kbps and sounds great. I'm completely satisfied with my purchase and would get another in a heart beat, if I could find it.

And that there is the rub. It took me quite a while to find a track to buy. It's only $0.99, but still I didn't want to waste a buck. I searched for Michael Bublé, U2, Pearl Jam, Donny Osmond in Joseph, TMBG, René Aubry, and a bunch more that I can't remember. None of them were available. There is a lot of music, but until all the labels (indie and RIAA alike) can get on-board, it'll be somewhat less useful to me. In the end, if you're curious, I purchased All Along The Watchtower by Jimi Hendrix. Classic, man. Classic.

Here's to the end of DRM. Hip hip, hooray!



Sometime last week I happened upon a handy little shortcut when using the chown command. I mistakenly keyed in the command wrong and it turned out to work, so I investigated. Turns out that by leaving off the group name, but leaving the colon, chown will automatically use the default group of the specified user. That's so handy. What's surprising is how much I really use that trick. Why, I must save literally seconds every other day or so. That's gonna add up, baby.

Here's an example for you impatient, graphical learners:

chown tensai: file.txt


Cheese Experiment

For some time I have wanted to try my hand at making cheese. It's such a varied product and unfortunately, artisan cheesemaking isn't something you see much in the US. It'd be fun someday to create my own type of cheese and have a cheese cellar chock full of the stuff. But that isn't going to happen tomorrow.

Starting with David Fankhauser's wonderful cheese pages, I read a lot about the theory of cheesemaking. So far, so good. I decided to try labneh, which is a yogurt chese. To sum up the recipe, you salt some yogurt and hang it out until it turns cheesey.

The last part is where I had difficulty. Wanting to not waste food, I opted to use a 1/2 pint of yogurt rather than a full quart, as called for in the recipe. I think that's where I went wrong. Normally it should be set after 24 hours, but mine sat for 72 hours and was still pretty gloopy. There just wasn't enough weight to force the whey out.

I did get a bit of cheese out of it, though, and that little bit was good. Really good, actually. I tried it on some tortilla chips and that was delicious too. So I think I'll give it another try sometime soon.


Grudge Match: scp, tar+ssh, rsync+ssh

The question came up today about relative speeds of scp, tar and rsync (the latter two using ssh as a transport mechanism). While anecdotes and rumors are great for defining security policy (think TSA), I wanted some more concrete numbers so I ran a test.

I set up a script to copy a directory 5 times from my laptop to a server on the same subnet. I routinely pull 3MB/s from that server (over wifi), so bandwidth wasn't an issue. I used /var/lib/dpkg as my source directory. It weighed in a 57MB and contained 6896 files. Because rsync will compare changes between source and destination, I made sure to nuke the directory off the server after every run.

Method:            scp  rsync+ssh   tar+ssh
Average Time:  269.75s      33.6s    24.43s
Bandwidth (mbps): 1.69      13.57     18.66

The results are what I expected, at least as far as scp is concerned. It does not do well with large numbers of small files. It copied each file over completely before it started with the next one. Tar of course put the whole thing together and then shipped it off. Rsync read all the files first, then compared them to the server and then shipped them all in one go. Apparently there were some significant I/O savings to be had that way.

One other important item of note is that scp did not handle symlinks the way tar and rsync did. It dereferenced the symlink and copied the contents of that link rather than copying the link itself. That was a problem because I had picked some self-referential directories before I settled on /var/lib/dpkg.

For your reference, here are the commands I ran to test:

for i in 1 2 3 4 5; do time scp -qrp /var/lib/dpkg [server]:/tmp; ssh [server] rm -fr /tmp/dpkg; done
for i in 1 2 3 4 5; do time rsync -ae ssh /var/lib/dpkg [server]:/tmp; ssh [server] rm -fr /tmp/dpkg; done
for i in 1 2 3 4 5; do time tar -cf - /var/lib/dpkg |ssh [server] tar -C /tmp -xf - ; ssh [server] rm -fr /tmp/dpkg; done



Subscribe to RSS Subscribe to - All comments