The Thing with the Rows?

After years of not knowing any better, I finally learned the answer to, “Are you good with Excel?”

It’s an emphatic, “No.”

Of course I actually know my way around it really well. But, every single time, I have soon realized that I’d have been better off lying. “Hey Matt, I have this list of numbers and I want to find the standard deviation” would be easy. So wouldn’t, “How can I get this formula to apply to these cells?”

But, “Why isn’t my data importing from Excel to PowerPoint properly?” I don’t have the foggiest clue. Why doesn’t some complex formula you wrote work? I don’t know, you wrote it! Why doesn’t the SQL in your query work? Wait, what? You asked me about Excel.

I’m warning you. When someone asks you, say no, play dumb (“Naw, I don’t get it at all… That’s the thing with them numbers and rows, right?”) And, if there’s any signs that they’re not taking no for an answer, simply turn and run.

MiniAjax — An Awesome Site

Web developers, check it out. My one complaint is that this is an awkward assortment of things ranging from little JavaScript snippets to free (GPL) apps to proprietary, expensive applications. But there are some very cool ones in there. (Psst! Heatmap is running on this site! It’s going to take a while to build up enough data worth sharing, but I’ll let you know when the time comes.) Some of the other ones are going to make their way into some projects I’m working on.

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.)

A Plea to Phone Makers

Make ringers “polite.” If a phone ‘rings out’ (e.g., rings non-stop until voicemail kicks in), switch to silent mode automatically.

Yes, this has flaws, like missing multiple calls because you missed one call.

But sit here with my as my suitemate’s phone rings time and time again, with a really irritating ringtone while he’s gone, and hold back the tears long enough to tell me that this feature isn’t necessary.

If nothing else, come up with a universal, unobtrusive means of switching a phone to silent. My Treo’s got a slide on the top, and I think all phones should have something like that. Every time I try to use someone else’s phone I end up getting into strange menus or, more often than seems statistically probable, ending up inside a web browser. So I’m pretty averse to opening up people’s phones and changing settings. I could cope with sliding a hard switch on the outside, though.

Seriously, please implement this. I’m begging.

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.