Spam Research Update

Back in April I started an informal spam research project to see if the conventional wisdom is true, namely that when you put your email address on a website it collects spam. Basically I littered my site with a email addresses and then kept watch to see when messages were delivered. Today I removed them from the site and would like to share my results so far.

Here are the email addresses I used, where I placed them and how many messages they received:

  • st1 - plain text in an html comment, at /blog - received 29
  • st2 - href=mailto in an html comment, at /blog - received 17
  • st3 - href=mailto in plain sight, at /blog - received 23
  • st4 - plain text in an html comment, at /gallery - received 8
  • st5 - href=mailto in an html comment, at /gallery - received 8
  • st6 - href=mailto in plain sight, at /gallery - received 7
  • Total messages: 92
  • First hit: 2006-05-05 04:21:39
  • First hit address: st2
  • Unique hosts: 38
  • Hosts sending only a single message: 22
  • Most messages from a single host: 8
  • Hosts listed in Spamhaus SBL-XBL: 25
  • Messages blocked by SBL-XBL: 37
  • Separate attacks: 18
  • Attacks with delays between messages: 6
  • Number of countries: 19
  • Most common countries: China (5), South Korea (6), U.S. (5)

The next step is to see how long I continue to receive messages at these addresses. I suspect it'll continue for at least 2 months. We'll see.

Finally, I came up with a clever way to trace back when these messages get skimmed off the server. Instead of a static address (st1, st2, etc.), I wrote up a simple little bit of php code to generate a unique email address of the form stT<date>T<ip address>. The things I'm most curious to find out are 1) how long spammers continue to use a certain address, 2) how widely the skimmed addresses are shared and 3) how far from the crawler the email address wanders. I'll let you know.


MegaRAID Nagios Script

Last year we bought some Dell PowerEdge 2850 servers with a PERC 4e/DC RAID controller. It's based on the LSI MegaRAID chipset which we really liked. It's fast which is great, although so far it hasn't be entirely stable, which is greatly annoying. To that end, I was tasked with get a Nagios script in place to monitor the array and alert us if it fails (again!).

With the server came a disk with some utilities. One of those is the MegaServ and its corresponding MegaCtrl. It seems like a good idea, but the blasted thing doesn't work in any sane manner. It generates alerts for things like how many percent a rebuild is at and when the battery starts charging. It can get bad. Worse still is that it stopped sending any alerts.

But today I found another utility for Dell. It's an extension to snmpd, named percsnmp that polls a daemon for the current status of the controllers. It's great and so full of good info. For now I'm just looking at the online state, but given all these other fields I may have further uses for it. Most especially I'm interested in the settable rebuildRateInPercent field since rebuild rate can't be set through the megamgr (a copy of the BIOS-level tool).

Copyright Reform

Go read the Podcasting Legal Guide. Be careful, it took me about three days to make it all the way through. It's Long. Then, once you've read it, tell me that the copyright system hasn't become bloated and unweildy. It would take a cadre of lawyers to produce a podcast that incorporates commercially available music. I don't even want to think about the difficulty that say a movie producer must go through. Not that I really feel sorry for the media companies who have made their own bed.

And considering all the parties affected by a possible redrafting of title 17, I find it doubtful that we could ever come to a reasonable solution that would accurately reflect the Constitution's original compromise. Yes, I'm saying it's pretty much hopeless. Except for Lawrence "The Hopester" Lessig's Creative Commons. It's concise, easy to read (in both legalese and lay terms) and it puts real power into the hands of the author. It's a breath of fresh air in these times of muddy copyright law. Go Larry!

(This blog post, like all the others on this site is provided under the Attribution-ShareAlike CC license)


Taste Test: 2% Milk

There's a local dairy just up the road from my house, maybe a mile away. In the summer time it's quite a treat to go over there for a refreshing ice cream cone. Delicious stuff. They also, of course, have milk. I've been wanting to start getting my milk from there, for a few reasons. First, they're local and I always prefer to support that. They also don't use hormones and steroids on their cows. I prefer that as well, just like I would choose an organic apple if possible. But, as you can probably guess, their milk is more expensive than my standard Walmart brand milk. Would the switch be worth it? Scientific research to the rescue!

I acquired a gallon of 2% milk from both Reed's Dairy and Walmart. I like my milk as creamy as possible. How can I say no to cream? The answer is, I can't, of course. I poured about 2 ounces of each in small glasses each labeled on the bottom. Due to the opaqueness of the milk, I had no way to see the label. I then had my wife mix them up while I closed my eyes.

Visually I couldn't tell them apart. Both were white and milky, imagine that. They both smelled the same. It really all boiled down to taste, as you would probably expect give the extent the FDA has its fingers in the milk supply. Basically they tasted the same, but one had a creamier and richer flavor. It wasn't strong or overwhelming, but noticable. Unsurprisingly the creamier one was from Reed's Dairy.

I haven't fully contemplated the ramifications of this test. The taste was definitely enough that I could differentiate even on cereal or drinking with dinner. All things being equal, I would prefer the Reed's Dairy milk. The problem I find is that I don't really care to make a separate trip just for milk, especially considering how much milk we consume with 2 little tikes.

The solution might be home delivery. I'm just not sure how much it costs. I've asked each of the last two times I've been in for a price schedule but both times they've only had the out-of-town list, which is no help to me. Their website is a little pathetic in this regard as well. Until I find out just how much that would cost, it's a no-go for me. We'll see when I can finally find time to give a call over there during the day. Maybe Tuesday when I've got the day off. That's a good idea. Thanks, I thought so too. You're so smart. Oh, I know.


Taste Test: Cheerios

This test wasn't nearly so blind as many of my others have been. My apologies if your sense of scientific adventure is spoiled.

Here's the back story. My wife refuses to eat anything but Cheerios, but based on $$$ I bought a box of Walmart's off-brand toasted oats for the baby's snacks at church. Since we had them both, I ate a bowl of each.

The Cheerios were nice and cruchy. They have a balanced oat flavor with a nice after-taste. I prefer unsweetened cereals and these fit the bill nicely. They have good taste without being sweet.

The Walmart brand didn't have the same crunch. It's hard to describe, but even out of the box they just weren't as crisp to the tooth. Maybe a little stale tasting, but that's not quite the right description. The taste was pretty similar but wasn't as pleasing.

From then on we've been a Cheerios household. The baby even enjoys them more. Who'd have thought he had such discerning tastes?


Read-only Comments

I get the infrequent comment spam posted to the site. Actually, I added the "Recent comments" box to the left side of the sight specifically so I could monitor the situation. Plus I enjoy reading what you guys have to say. In an attempt to limit the former without unnecessarily burdening the latter I have written a crontab to update all my blog posts to set comments to read-only after 4 months. I hope that's enough time for feedback from everybody. Let me know if you feel otherwise.

For the curious, here's the script:


echo "update node set comment = '1' where comment = '2' and unix_timestamp(now()) > changed and unix_timestamp(now()) - changed > 10368000 order by from_unixtime(changed);" | mysql -u comments -ppassword blog

And I created a special user just for this task:

mysql> grant update,select on blog.node to comments@localhost identified by 'password';

And added it to the system crontab:

15 2 * * * nobody /usr/local/bin/


Taste Test: Chicken Broth

This is the first in a new category which you may or may not have noticed, named Taste Tests where I pit two or more products head to head to see which is really the best. I've been doing this off and on for the last few years. My goal is to save money on no-name brands where taste makes no difference but spend the big bucks where it really does. Like when you buy butter instead of margarine, or shiitake mushrooms instead of button mushrooms. On with the show!

Yesterday I tried out a new (to me) recipe for tortilla soup. It turned out quite delicious by the way, despite my initial fears that it was lacking in the seasonings department. The calls for 4 cups of chicken stock or broth. We were at the dreaded Walmart picking up supplies and I couldn't decide whether to get the Swanson's or the Great Value (cheap Walmart brand). Since I needed two 14.5 ounce cans, I grabbed one of each.

To test I poured small amounts (since I needed the rest for the soup) into two small glasses. One had cute flowers on it so they were easy to differentiate. My wife warmed them up in the microwave since generally (always?) chicken broth will be eaten warm. I closed my eyes and she gave me the glasses one at a time.

The first one had a nice round taste. Not too much of anything, and certainly not too salty which was my primary fear. I probably could have enjoyed a bowl of that with some noodles and called it lunch.

The second had some good flavors, don't get me wrong, but my first reaction upon taste was "gimme the other one back". I took a few sips but couldn't identify what it was that I didn't like. It wasn't salt, that would have been too easy. The flavors just didn't marry well. The only way I can think to describe it is with music. Go play a nice C chord. That was the first sample. Now add an F#. That's the second one. You can still pick out the nice sound, but you would much rather it stop.

The result? The second was Great Value. I should have (and did) guess based on the package. Swanson's is just so much more appetizing. And we all know that old story about a book and its cover. "Don't eat a book or its cover. Have some Swanson's chicken broth instead."



Many moons ago, Stuart pointed me at a great little music jukebox named Rhythmbox. It worked OK, but I'm not really into Gnome. I wanted somemthing that fit in with KDE, used the same widgets and the same file selector. Basically I'm picky.

For quite a while I've been using Juk and for the most part it does what I need. Let me rephrase that. It works great and has all the features I need, except when it crashes. That I most certainly don't need. It didn't used to crash all the time. Rarely, if ever. Seems to be linked to when I review the history, but certainly not limited to that. The last crash was when I opened the tag editor. I got fed up. Now, I felt a little obligated to report a bug to the mailing list, but really I just don't care to put that much effort into it.

That's when I stumbled upon Amarok. It just happened to be the default media player in Kubuntu and I think I've found my new jukebox. Here are some of the fun things I've discovered so far.

  • Keeps track of times a song has been played. Rhythmbox did that too and I miss it.
  • Calculates how much you like a song based on some magic algorythm. I haven't decided if it's accurate yet, but anybody who's tried to rank all their mp3s can appreciate some automation in this area.
  • It's got the eye candy. The spectrum analyzer, the colors, everything is done well but not overdone. That's a tough balance.
  • Album covers pulled from Amazon. Juk added this recently, but it's more pretty in Amarok (see last point).
  • Lyrics pulled from the Internet. Who knows where, but sometimes you miss reading the album art. I've got it all somewhere, but what's the point in pulling out the CD?
  • Wikipedia. You can browse the Wikipedia article about the artist you're currently listening to. I wasted a couple good hours last night reading about U2 and Alanis Morissette. It's one of those "why didn't I think of that!" ideas.

But, it's no panacea. The playlist can be a little hard to manage. When you create an automatic playlist, there's no easy way to browse it without disturbing the play queue. That's annoying. Even more annoying is that the interface will jump around at the beginning and end of songs. So if you're browsing your collection and a song ends, it flips you back over to the track information.

Still, it runs all the time and that's more than I can say about Juk. So far it's a keeper.


Healthy Eating

Over the course of the last few years, but this most recent one especially, I've been pondering the question of eating healthy. For one, I'm getting to be middle aged. Had to happen sometime, unless I died first, and I suppose this is a better option. I figure sooner or later (although luckily it appears to be later) my metabolism is going to give out and I better be ready. Joseph's recent post about health food prompted me to finally put my theory down in words.

Something Alton Brown once said, I think it was in his slashdot interview, really caught my attention. Somebody asked about low and non-fat foods. He said that if it didn't affect the taste, sure why not. But sometimes there's just no substitute for cream. Oh boy, is he ever right. Ever put cream on your cereal? Were's that sound clip of Homer drooling...

If people would worry more about how well something tastes rather than following some diet of the week, they would feel more satisfied with their meal. They wouldn't need to double up their portions to get a hint of the taste. Going back to my cream on cereal reference, I tell you what, you'd be hard pressed to eat two bowls of that. But I could go through 3 or 4 bowls of cereal with just milk, no problem. Which one will really make me fatter?

Consider the low-fat craze that we're currently in. Most people I know like to poke fun at the Atkins diet, or the South Beach diet, or the Mayo and Peanut Butter diet (it must exist somewhere). But is the low-fat diet really much different? First margarine was in because it was low in saturated fats, now it's out because it's high in trans fats. Well who cares? Butter actually tastes good and doesn't make your popcorn all soggy. If we'd been following our tongues and noses, we could have avoided that whole mess.

People don't stick to their diets because it's not a lifestyle for them. In a safety meeting one time our instructor ingrained in our head how safety can't be a priority. There are just too many priorities to worry about, you can't think about safety when you're juggling all those. Safety has to be a value. How many times do you actually have to think about whether to put pants on? It's a value your mom taught you when you were small (and I bet you enjoyed tormenting her by running around butt naked).

Treat yourself right. Fix a meal that tastes good. Try some foods you've never had before. Just this week I made mac & cheese (no, not from a box) with shiitake mushrooms. Delicious! Mushrooms haven't really ever been my thing, but I think when I finally get home tonight I'll make a mushroom and jalapeno quesadilla, followed by some peaches and ice cream (made with real vanilla. And I won't feel guilty about it.


Grilled Pizza

You may recall a while back I reviewed Alton Brown's book, Gear For Your Kitchen. There was a great little recipe in there for grilled pizza. Often when I read food books I will skim over the recipes, but never pay them much attention. That's was the case with Ruth Reichel's book (which it appears I never finished reviewing), but not so with AB. I made this one on an electric skillet and it was good.

Then my wife and I watched America's Test Kitchen make their version. It was pretty similar. I mean, how many ways can you drape a dough on a grill and call it pizza? They emphasized that the dough has to be rather thick and chewy to stay afloat on the grate, and that you have to be careful not to overload the pizza with too many toppings, especially wet ones like tomatoes, since the cooking time is so short.

We had some friends over the other day and cooked grilled pizzas for them. This time we got to use the real deal, our new 45,000 BTU grill. It's every boy's dream to cook with real live fire.

The toppings included mozzarella cheese, finely diced tomatoes, garden fresh spinach, and mushrooms. We also made a cheese and pepporoni pizza just for the kids (following Michael Chu's recommendation of microwaving the pepperoni to remove excess grease.

Preparation is simple enough. Roll out the dough. Wait, you need the dough recipe? OK, here's your ingredients. 1 pound flour, 1 package yeast, 1 tablespoon salt, 1 tablespoon sugar. Mix. Add 2 tablespoons olive oil, 1 cup hot water. Knead well, rise for an hour and a half.

Now you've got your dough rolled out into oblong shapes (let's face it, who can make round pizzas?). Coat one side with oil (I go cheap and just use canola). Lay oil side down on the grill. Paste on another coat of oil on the top side. Cook until it gets a nice color. Flip. Now add a layer of garlic and olive oil, and then any toppings you want. Chris Kimball says to put the cheese down first, but I found cheese last works better. Because the dough is already cooked and the toppings don't have much moisture, they tend to slide off. The cheese holds them in place nicely.



Subscribe to RSS Subscribe to - All comments