“Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.”— Brian Kernighan
Just finished adjusting the trigger on my Remington 700. It now has a crisp 2.5-pound trigger pull, a vast improvement over the creepy 6-pounder it came with. It’s an easy, safe procedure, but the final step involved something I don’t keep around the house: nail polish.
After a leisurely walk to the grocery store in the middle of the night, I am the proud owner of a half-ounce bottle of Maybelline Infinite Shine Clear Extended Wear Base And Topcoat. Sealing the threads on the trigger-adjustment screws required approximately a third of a drop of the stuff, suggesting that I have enough left over to fix about a thousand rifles. Which is about a thousand more than I own.
I suppose I could always use the rest to seal the quick-and-dirty paint job I do for my D&D miniatures (prime gray, paint black, drybrush metallic, done!).
After taking a week off to drive to Washington and back, I resumed my quest for a Browning Buck Mark Classic Plus. As I suspected, the only store who had one was 100 miles away, and thanks to California’s silly-ass gun laws, I have to make the trip twice, once to fill out the federal and state paperwork and supply a thumbprint, and again ten days later to claim my property.
I’ve been working with Perl since about two weeks before version 2.0 was released. Over those fifteen years, I’ve seen a lot of hairy Perl scripts, many of them mine.
None of them can compare to the monster that lurks in the depths of our service, though. Over 8,000 lines of Perl plus an 8,000-line C++ module, written in a style that’s allegedly Object Oriented, but which I would describe as Obscenely Obfuscated (“Hi, Andrew!”).
We have five large servers devoted to running it. Each contributes three CPUs, three gigabytes of memory, and 25 hours of runtime to the task (independently; we need the redundancy if one of them crashes). Five years ago, I swore a mighty oath to never, ever get involved with the damned thing.
Then it broke. In a way that involved tens of thousands of unhappy customers.
Spent two days this week at an Operations forum up north, and since most of the sessions had very little to do with the service I operate, I was able to do some real work while casually keeping track of the discussions.
My online target archive contains a bunch of bullseye targets I built using a Perl script. The native output format was PostScript, ’cause I like PostScript, but PDF is generally more useful today, and not everyone uses 8.5×11 paper. I hand-converted some of them, but never finished the job.
The correct solution was to completely rewrite the code using the PDF::API2::Lite Perl module, and generalize it for different paper sizes and multiple targets per page. It’s still a work in progress, but already pretty useful.
Just got back from another long trip in my self-navigating Lexus (to Bellingham, WA and back; sadly, I didn’t think about setting up a photo shoot with Lauren along the way until I was already halfway home).
I was surprised that the Hotel Bellwether wasn’t in the car’s database, until I learned that the place hadn’t existed until August 2000. Lexus gives out free update discs (when they’re in stock), so this is a problem I can correct sometime soon.
My friendly neighborhood gun dealer has been completely unable to track down the Browning Buck Mark Classic Plus that I want to buy. All of his distributors are out of stock, and while they promise to have some Real Soon Now, they can’t say exactly when.
There are probably thousands in stock elsewhere in California, but the law is designed to make it tedious and difficult for me to buy one of them. Not because I might use it for crime, mind you; just wanting one is sufficient offense.
Most likely, I’ll end up driving 100 miles to a store that has one, make the purchase, and then drive there again ten days later to pick it up. Cheaper than having it shipped to my local dealer, paying him for the transfer, and letting it sit at his place for the ten days.
Of course, if I were interested in crime, I could have it today, or something much more lethal. California’s gun laws have no impact on the black market, because they’re not designed to.
I like Dean Martin. I picked up one of his albums on the iTunes Music Store recently, and I’m glad to see that Capitol Records is actively promoting him once again. But what eagle-eyed halfwit thought that “light gray on white” was an appropriate color scheme for body text, especially at a size as small as 9px?
I apologize in advance to anyone who follows that link. Especially anyone old enough to remember Dino.
(based on a true story from my OSU-CIS days…)
User A notices that the department has installed a new sprinkler system. He immediately proceeds to find out everything about how it works, what it can do, and how reliable it is. People are astonished at how much he knows about it, and he basks in the warm glow of praise. One day, he uncovers a serious implementation flaw that no one knows about, and makes veiled references to it for several months, never to the people who are in a position to fix it. Finally, he decides to show people how bad the system is, and sets fire to the building. He’s careful to make sure that no one gets hurt, and that the damage is minor. When the fire-fighters approach him with blood in their eyes and axes in their hands, he smiles quietly and says, “I told you so; you should have listened.”
This being just a story, I feel compelled to permit the fire-fighters to hack the little toad to pieces, shouting “LIKE HELL YOU DID!”
The moral of this story is a variation on the Golden Rule:
"Do unto others as you would have them do unto you, because they can do unto you a lot harder."