The Results are In…

While I make no secret of my political beliefs, I ordinarily try to shy away from outright endorsement of candidates. I used to think that politics was kind of like religion: something that’s a very important part of peoples’ lives, but something that’s bound to offend people if you talk about it much. Plus, I really don’t like to divulge too much in the way of significant personal information, and who I supported (or how I prayed) was no one’s business, I thought. But to me, my vote on January 8 is going to be one of the most important things I’ve ever done.

And I’m going to break with tradition and tell you who I’m voting for. I’m going to case my vote in the primary for Barack Obama. And I’d like to encourage you to do the same.

If you’d asked me a few years ago, I’d have told you that I was somewhat unhappy with politics. I was sad when Kerry lost the 2004 elections. But I’ve gone from “somewhat unhappy” to being truly afraid for the future of our country, and for being truly disgusted with some of the betrayals of the American people. I’ve been exploring jobs in other countries. Not because I want to send some sort of message that I don’t like politics, but because I don’t think I’m living in the America I was so proud to belong to. I hate alarmists, but, well, sound the alarm bells: America is in crisis.

Maybe about six years ago, I started getting disappointed every time I turned on the news. Something bad was always happening. And it’s happened every day for all these years. Most of the world hates us. Not all of it, but huge parts of it. While much of the world is already suspicious of our motives, we start a series of wars in Islamic countries and then go and issue proclamations expressing our support for Christianity. We seek to teach the “backwards” world about the benefits of freedom and democracy, by capturing them, transporting them to secret prisons, abusing them, and then torturing them in barbaric fashions. Does no one see the blatant hypocrisy? And when we point out that we already outlawed this, and that it flies in the face of everything that is America, we debate it. We’re at war against people who torture people and defy democracy, and we need to be able to torture people and defy democracy in order to do it, after all. The kings of democracy also have a whopping one state that permits same-sex marriage, something that more advanced countries have been permitting for years. And when we started calling it unconstitutional to deny people a basic civic right, we changed the Constitution in many states, and tried to change the Constitution. Forty-two states, and the Federal government, also passed laws explicitly prohibiting gay marriage.

When I graduate from college, I’ll have no health care until I get a job that offers it. But I count myself as lucky, because millions of people just don’t have health insurance at all. We tried to pass a bill ensuring that poor children could get health insurance, but we struck it down. Twice. We spend more than any nation on health care, and yet our system is among the worst. But people argue that there’s no problem, or that, if there is a problem, we shouldn’t pay for it.

Oh, and the American economy, kings of capitalism, is in the toilet. No offense to Canada, but it’s pretty depressing when the Canadian dollar surpasses the American dollar. We had an investment banker come in and talk to us a while back. He moved all of his money out of the country a few years ago.

I want to turn on the news and smile once. I want to stop looking at jobs in the Netherlands.

I want to be proud to be an American again.

I’ll admit that, at first, I didn’t want to support Obama. As much as he blew me away every time he spoke, I was really concerned about his lack of experience. Foreign policy is going to be huge, and he’s a one-term Senator. Why should he be the guy?

I think it’s the same reason that I’d be an amazing police chief, or an amazing president of my school. No, not hubris. Because he has a fresh experience. You spend too much time at something and you start to maintain status quo. Look at a lot of the businesses, especially small ones, that have been around for decades. What are they doing? Nothing new! Where are they going? Nowhere! They’ve built themselves a fabulous box in which to think, in which there’s really not a lot of room to maneuver. They found something that works and stuck to it. But this box–these blinders–prevent change. It’ll help you keep things going, but it won’t help you change the direction things are going on.

And if there’s anything we need, it’s change.

But don’t take my word for it. While I strongly support him, you owe it to do your own homework. Check him out. Read about his stance on the issues. And, living in New Hampshire, go see him speak. I always go in with high expectations and leave with them surpassed. And I’m firmly convinced that he’s the right man for the job. We’re not picking some arbitrary thing. We’re choosing our fate for the next four years. And we have an obligation–not just to ourselves, to our neighbors, and to the world, but to future generations–to make sure we elect the best person for the job.

A Suggestion

Dear News Media,

Please stop covering senseless shootings. They just make people depressed and encourage more people to do it. Sure, it assures you more material to cover, but we prefer a world where people don’t get shot for no reason. And dear jerks on the Interwebs: when someone gets shot in senseless violence, it’s really in poor taste to spin their deaths into an argument in favor of free open carry laws.


The World


I guess I’ve become somewhat of a performance nut. Truthfully a lot of the time is spent doing things for nominal improvements: changing MySQL’s tmp directory to be in RAM has had no noticeable impact on performance, for example. Defragging log files doesn’t speed much up either.

I was reading a bit about LiteSpeed, though. It’s got a web GUI to control it, and is supposedly much faster than Apache. I’ve got it installed, but I’m having some permission issues right now. (The problem is that changing them will break Apache, so I’m going to have to try it with some insignificant pages first.) It’ll automatically build APC or eAccelerator in. It apparently has some improved security features, too, which is spiffy. And it’s compatible with Apache, so I don’t have to start from scratch.

The base version is free, too. (But not GPL.) The “Enterprise” edition is $349/year or $499 outright purchase. To me, it’s not worth it. But if I were a hosting company with many clients, I might be viewing it differently, especially if the performance is as good as they say.

Police Logs

Last night I was in the police station getting data for the police logs. As I sat there in the lobby perusing the logs, some girl came in and approached the dispatch desk.

“Hi, I don’t know what to do… This has never happened before. I think my car was towed.”

A few minutes go by, and the dispatcher concludes, “Ma’am, we didn’t tow your car.”

She told him exactly where she’d parked, so he pulled it up on the camera and zoomed in. (The zoom on those cameras is ridiculous!) “I was right next to that Jeep,” she said. Sure enough, her car wasn’t there.

She called to get information on activating Lo-jack in her car.  The dispatcher called local tow yards to confirm that no one had towed the car without telling him. One  by one, they came back negative.

I was sitting there, intrigued. Part of me didn’t believe that a car had just been stolen on campus. But the other part of me was irritated that the dispatcher was was lallygagging around instead of putting out a BOLO for the recently-stolen car.

Finally, he radioed to one of the officers who was patrolling the parking lot, and asked him to look for the car. About ten seconds later, he radioed back. “I’m sitting right in front of it.” He turned on his lights so they could see where he was on camera.

He was maybe four cars down from where she said she’d parked.

I tried to refrain from cracking up. And as I soon realized that it’s exactly what everyone else in the station was trying to do.

(As an added bonus, she freely admitted that she was illegally parked in a handicapped spot and had no parking permit, although they seemed to distracted with the hunt for her lost car to issue her a citation.)

Malus Fide

I’ve always like the idea of rewarding douchebaggery with more douchebaggery. And one bit of douchebaggery that really bugs me is that, running a webserver, it’s always getting requests for pages that have never existed. What’s going on is that people are probing for common vulnerabilities. I don’t have a /phpmyadmin, but I get multiple requests a day for it. (I do have PHPMyAdmin, but it’s up to date, secure, and at an obscure URL.) Same goes for awstats.

What I’ve always wanted to do is respond to these requests with complete garbage. Unending garbage. My long-time dream was to link a page to /dev/random, a “file” in Linux that’s just, well, random. (It’s actually a device, a software random number generator.) The problem is that linking it is full of problems, and, when you finally get it working, you’ll realize that it’s smart enough to view it as a device and not a file.

So I took the lazy route and just created a 500MB file. You use dd to copy data from a disk, with /dev/urandom as the input and a file with a .html extension as output. I had it read 500 “blocks” of 1MB. Granted, this is a total waste of disk space, but right now I have some spare space.

Of course, I was left with a few resources I was concerned about: namely, RAM, CPU time, and network activity. I use thttpd for this idiotic venture, which lets me throttle network activity. I’ve got it at 16 KB/sec right now. (Which is an effective 128 kbps.) This ensures that if it gets hit a lot it won’t put me over my (1,000 GB!) bandwidth allocation.

Apparently, though, this throttling solves the problem: at first glance, it looks like it’s smart enough to just read 16KB chunks of the file and send them out, as opposed to trying to read it into memory, which would kill me on CPU time and RAM. So the net result is relatively minimal resource utilization.

Currently, it’s just sitting there at an obscure URL. But my eventual plan is to setup a /awstats and a /phpmyadmin and a /admin and a /drupal and have them all throw a redirect to this file.

The other bonus is that, at 16KB/sec, if a human gets there, they can just hit “stop” in their browser long before a crash is imminent. But, if it works as intended, infected systems looking to spread their worms/viruses won’t be smart enough to think, “This is complete gibberish and I’ve been downloading it for 30 minutes now” and will derail their attempts at propagating.

It’s not in motion yet, though… But I’ll keep you posted.

No, No You Don’t

I periodically peruse access_log and error_log, Apache’s logfiles. There’s always weird crap. Here’s todays (odd linebreaks to make it fit):

[Thu Nov 22 07:59:15 2007] [error] [client] File does not exist: /var/www/, referer:[callbacks][1][callback]=drupal_eval &_menu[items][][type]=-1&-312030023=1

There’s also some inept script kiddie later on who tried requesting the same non-existent page 112 times in a row… o_O

Deal of the Day

Lot of 10 machetes, currently 99 cents. Do mind the shipping ($19.99), though.

One may also wish to ask themselves, “Wait, what do I need ten machetes for?” (And, furthermore, “Is it legal to possess machetes on campus?,” which is a decided “Not at all” in my case.) But for those of you living where machetes are allowed, and who can come up with some reason for owning them, this is currently a steal!

E-mail Gates

This is surely not a revolutionary idea, but I’ve never seen references to it before. I forward my mail to my GMail account. I do own two domain names with mail services, though, but I just forward what I need to my GMail account.

Some sites require an e-mail address to sign up, and they send you a confirmation e-mail, so it needs to be real. However, I have no interest in letting them e-mail me long-term. The general solution is a “throw-away address.” You use it once and then delete it.

Here’s an idea that seems a little less wasteful to me. I call it an e-mail gate. I can set up a forwarder pretty easily. As long as I’m logged in, it’s just a few seconds of work. I can also remove a forwarder in a few second’s time.

So you might have an address like (This sub-domain doesn’t even exist right now, so don’t bother trying it.) I can “open the gate” (turn the forwarder on), sign up on the site, get my confirmation e-mail, and then “close the gate” by turning the e-mail off. Consequentially, any crap they send will bounce back with a “No such address” message. But when I want to get e-mail or a lost password reminder, I can just turn the gate on for a minute. Unless you’re getting inundated with spam (e.g., tens of thousands a day), opening the gate for under a minute won’t be enough time for much crap to get through. Unlike throwaway addresses, you can use the same address as multiple sites, making it easy to remember what address you used.

It’d be neat to write some code to give a web-based interface to this. I think I need to get it working with some mail daemon that supports a MySQL database of users, though, since it currently involves putting the address in a text file, updating the address cache, removing it, and then updating the cache again. It’s quick if you’ve got a shell open, but it’s a bit of a pain to script.

Zombie Music

Now that I’ve gone over how to defend yourself against zombies, I have a shorter list. As always seems to happen with zombies, you’re going to have a couple times when you fight a huge wave of them. And, well, everything is better with music. If you’re taking over a Costco in the event of a zombie invasion, it might be neat to play the music over the PA system. Keep a playlist on your iPod or whatever dedicated to the occasion. Here’s what I recommend for the playlist:

  • “Living Dead Girl” by Rob Zombie
  • The Blue Wrath” by I Monster (this might be good for when they first start. It’s, not very coincidentally, the intro song to Shawn of the Dead)
  • “Gone Guru” by Lifeseeker. I’m not entirely fond of the song, but it’s perfect for situations like, say, if some of your other humans become psychopathic and start shooting at you from a Jeep. There’s some foul language in this song, so if you’re slaughtering zombies side-by-side with small children, you may want to skip this song.
  • “Song 2” by Blur. Unfortunately, this song wasn’t featured in a zombie movie or video game, nor does it have “zombie” in its title. But if you’re about to run out of music in the middle of fighting zombies, it’s better than having Hillary Duff come on.
  • “Kerncraft 400” by Zombie Nation. This has a good rhythm if you’ve got the slaying down to a science. Put it mid-way in the playlist for when you’ve already found your groove. It’s also good if you’re driving a truck around running zombies over.
  • “Bodies” by Drowning Pool. This isn’t my type of music, but it’s perfect for the occasion. This is what got me through to the “Zombie Genocide” achievement in Dead Rising.
  • Nirvana’s “Smells Like Teen Spirit” isn’t bad, either. While you’re busy fighting zombies you might be too distracted to notice that the lyrics really don’t make any sense.

A Public Service Announcement

I’m pretty much an expert on zombies. I beat Dead Rising, and watched Shawn of the Dead the other day. (By the way, the catchy tune that is their themesong is The Blue Wrath by I Monster.)

So a few comments:

  • They’re none too smart. You can fool them by walking like a zombie. Throw a hunk of meat and they’ll all clump around it. Someone with as much experience as I have is really pretty comfortable walking amidst zombies.
  • They’re slow as molasses. You don’t even have to run. Just walk away from them.

The more important thing, though, is the topic of what to do if there’s a big zombie infestation. There are three important considerations in selecting a location:

  • It needs to be a place where you can live for a while. You want a place to sleep, a bathroom, and an ample supply of food.
  • It has to be hard for zombies to get into. It’s unclear if they can break glass / break down doors. In Dead Rising they cannot, but it does happen a bit in Shawn of the Dead. Better safe than sorry, though: get something with secure doors and not too many windows.
  • You want an ample supply of weapons. You really don’t want a gun: they’re a pain. Just get a blunt object. Shopping carts work extraordinarily well.  So do lawnmowers and cars, but you’ll most likely be indoors. Machetes, meat cleavers, sickles, and chainsaws are also incredible weapons. But when all else fails, just pick up a baseball bat or frying pan.

Anyone who’s seen Shawn of the Dead knows that a pub is a terrible place to go. There aren’t that many weapons (I guess you have plenty of bottles, corkscrews, and a Winchester with 29 shots, but that’s not really enough), it’s not at all secure, and there’s not much to live off of. (Just peanuts!)

Dead Rising takes place in a mall. That’s not bad. But I’ve found something even better: Costco. They have big huge gates (like garage doors) that they close at the end of the day, so it’s hard to get in. There are a ton of skylights on the roof, but they’re so high up that if zombies come through them, they’ll plummet to their death. There’s an ample supply of weapons, and, of course, a ridiculous amount of food. There are also beds. (Though if you’re alone, you might not want to sleep, lest you wake up and find your brain being munched on.) And plenty of little rooms like coolers and a kitchen where you can hide out.

It’s best to be with others, but beware the apparent tendency for them to become psychopaths and try to kill you. It’s best, then, to keep the best weapons for yourself and to sleep with one eye open.

If you’re not a Costco member, I’d imagine that a BJ’s or Sam’s Club could work. Heck, even a Wal-mart would probably do. But if you want to stick with my recommendation, you can sign up for Costco here. Note that it’s possible that, in the event of a zombie invasion, the lady checking membership cards at the door may be absent, so if you’re near a Costco but aren’t a member, you may be able to get in.

Do be warned, though, that if I beat you there, I’m shutting the gates. So when the zombies come, rush to Costco. Coincidentally, there’s one in Nashua and one in Waltham, so I’m always near a Costco. (Why do you think I picked Bentley?)

You may want to print this guide out and keep it in your glovebox, by the way. Internet access can’t be guaranteed in a large-scale zombie attack.