
"'Here, my friends, is the hobbit, Fishburp son of Drunktank. Few have ever come hither through greater peril or on an errand more urgent.'"
(Via Twenty Sided.)
Once again, our local media is failing us, and they don't seem to want to acknowledge it. Jason Winders has an editorial in today's paper complaining about reaction to the water restrictions that have been imposed upon us. He says (emphasis added):
But what do you say to someone who sees emergency conservation as a government conspiracy against her garden? That, my friends, has been the question of the week.
I'd feel better about the call if she stood alone. However, as absurd as my response, it has been eclipsed multiple times by those who fail to see this situation as dire as they need to see it.
All week, I fielded calls and e-mails centered on what people honestly believe to be county government overreaction to this drought. Let me just say, I've watched this county overreact. Not only that, I've watched this county over-legislate, over-discuss, even ride in on a dead horse just so they could beat it.
But trust me, this isn't one of those instances.
Now, I will readily grant that there are thick-headed people out in the world who fail to grasp the import of events and situations. The fact that Bush's approval ratings are as high as they are is ample proof of that. However, this is a case where the Banner-Herald (and other local media outlets) must shoulder some of the blame. How hard has the newspaper pushed this story? How many people are aware that we have only six weeks of water left? Jason does mention that fact in the middle of his editorial, but there is no other mention of just how dire the situation is in the paper.
In fact, I would argue that the Banner-Herald has trivialized the situation. Take a look at the front-page story in this same paper, which looks at how the watering ban is going to affect green spaces on campus, in particular Sanford Stadium:
The lack of rain has made Sanford Stadium groundskeeper Paul "Waldo" Terrell a worried man.
As Terrell mowed the stadium's turf last week, the field still has the green glow produced by regular weekly watering.
But without water, that glow could vanish by Saturday's home game with Ole Miss, Terrell said. By late October and November, the turf could be a colorless, churned up mess.
"First, it will turn kind of blue, then gray and then brown," he said. "Brown is not good."
The aesthetics of the field are one thing, Terrell said, but what has him really concerned is its "playability."
So, we are in a dire water shortage to the point where in a month and a half we might not have water to for anyone to drink, and the Banner-Herald is publishing front-page articles about how playability of the football field is going to be affected? This is typical of coverage around here. We all know that there's a drought, and that there is a watering restriction in place, but until three days ago I had no idea that the situation was as bad as it is, and I consider myself reasonably well-informed. As long as the only stories (and to be fair, action taken by local government) we see revolve around outdoor watering and its impact on rose bushes and sports teams, I'm not surprised that people are not taking the problem seriously.
If Jason and the crew at the Banner-Herald want to help people understand just how critical the water shortage is, I would suggest the following:
Oh, and instead of berating readers for "not getting it," take some responsibility for yourself. It's your job to make sure we "get it." Got it?
First I find that the GOP in the Senate is trying to pass a resolution condemning MoveOn.org. That pissed me off, because as People In Power they don't get to do that kind of thing. MoveOn has every right to get their message out, and by attempting to stifle that message the Senate GOP is teetering close to totalitarianism.
Then I find that the Democratic response is to condemn right-wing attack ads, too. That got my cuss juices flowing, because goddamn it it's bad enough that we've got right-wing morons in Congress trying to stifle speech, we don't need it from the left, too. Here's a tip. It doesn't matter which side you're coming from, people in the government don't get to tell the rest of us what is and is not allowable to say. How the hell do they not get that?

This came from something called "10 Things Every Programmer Should Know For Their First Job, and it resonated with me:
0011 - Never stop learning
As the new guy it helps to go in with the mindset that says "I know nothing, but I want to learn." This will make things less embarrassing for you when you learn just how stupid you really are. You have to realize that practically everyone knows more about everything then you do. The good news is that most people will gladly share their knowledge with you if you just ask smart questions and pay attention to what they do. Everyone likes to think their opinions and experience are valuable so don’t hesitate to ask for ways to improve your work flow. You can learn something from every person you work with if you just ask questions. Ask for tips, tricks, hacks, methods or anything else they might have a proficiency at. And watch how they use the command line. Everyone does things differently and there are plenty of arcane tricks waiting to be discovered. Poor (and/or older) programmers tend to think "their" way is the best and so they never ask for advice. Smart programmers are willing to accept the fact that there might be a better way of doing things. This means you have to be willing to switch programming languages, environments, operating systems or text editors. "What? Give up < insert my-way-of-doing-things here >? Why? Everybody knows its the best!" You have to get over that mentality. Oh, and it is both humbling and frustrating to leave the comfort of what you know to tackle something new. It sucks. Get over it. Programming is hard and being an awesome programmer is even harder. Cry on your own time.
From an article in the Washington Post on the "drop in violence" that some are claiming in Iraq:
The intelligence community has its own problems with military calculations. Intelligence analysts computing aggregate levels of violence against civilians for the NIE puzzled over how the military designated attacks as combat, sectarian or criminal, according to one senior intelligence official in Washington. "If a bullet went through the back of the head, it's sectarian," the official said. "If it went through the front, it's criminal."
Frankly, I don't see what's so puzzling about this. In fact, I've obtained the full list of anatomy to cause mappings, and it all seems reasonable to me.
| shot in | cause |
|---|---|
| back of head | sectarian |
| front of head | criminal |
| foot | Republican |
| genitals | jilted spouse |
| face | drunken Vice President |
| hand | over-masturbation |
| stomach | Jenny Craig fanatic |
| any combination | identified too closely with 50-Cent |
How the hell is one supposed to respond to a commentator (on NPR no less) stating that Bush and Cheney are like "chocolate and peanut butter"? And how much are they paying the clown who said it?
Just making sure the new blog editing software works as expected. Here's a cat.

Last one for the day. I've been using OmniOutliner to compile information on all of our contracts, and one of the things I wanted to do was highlight rows where something was missing. This will prompt the user for the columns to check and whether to highlight when all the columns are missing data, or any of them. OmniOutliner Pro has a standard style called "Highlight" that the script will assign to anything that matches.
-- highlight gaps in user-specified column tell front document of application "OmniOutliner Professional" set theColumns to the name of every column choose from list theColumns with title "Highlight Gaps" with prompt "Select a column. Rows where this column is empty will be highlighted." with multiple selections allowed set theHighlightColumns to result choose from list {"all", "any"} with title "Match on Gaps" with prompt "Choose to match rows where any or all selected columns are empty." default items {"all"} set theJoinType to result if the (count of theHighlightColumns) is greater than 0 then repeat with oneRow in rows -- clear existing styles set theStyle to style of oneRow remove named styles of theStyle from named styles of theStyle set value of every attribute of theStyle to missing value set style of oneRow to named style ("Default") -- set our defaults set isMissingValue to false if item 1 of theJoinType is "all" then set isMissingValue to true end if repeat with theHighlightColumn in theHighlightColumns set theType to value of cell theHighlightColumn of oneRow set theState to state of cell theHighlightColumn of oneRow if item 1 of theJoinType is "any" then if theType is missing value or theType is equal to "" or theState is unchecked then set isMissingValue to true end if else if (theType is not missing value and theType is not equal to "" and theType is not equal to "unchecked") or theState is checked then set isMissingValue to false end if end if end repeat if isMissingValue then set style of oneRow to named style ("Highlight") end if end repeat end if end tell
This one's a quickie-- it lets me create an outline (usually a to-do list) and copy it in a format suitable for pasting into our wiki. The weird whitespace is an end-of-line.
-- copy outline to the clipboard in a format suitable for wiki tell front document of application "OmniOutliner Professional" set theText to "" repeat with theRow in rows set theIndent to "" repeat (the level of theRow) times set theIndent to theIndent & " " end repeat set theText to theText & theIndent & "- [] " & the topic of theRow & " " end repeat set the clipboard to theText end tell
Going through a major shift in job responsibilities, so what does a good geek of the Mac variety do? Start writing a bunch of Applescripts. Chandra thinks this one is silly, but I'm hoping that it will be useful. The idea is to let me compose and send emails without actually opening Mail. That way I can get some communication done without being distracted by new things to deal with. I know I could open it and change the settings so that mail isn't automatically retrieved, but that's a hassle.
To use it, I have an OmniOutliner document with four columns, and I put the body of the message in the notes. The biggest flaw in what I've got here is that it doesn't really check that the mail messages have been sent before quitting. If I can figure out how to do that I'll post an update.
-- fire up mail, send off some emails and quit -- requires a four-column OmniOutliner document (Subject, Sender, To, Cc) -- put the body of the message in notes tell front document of application "OmniOutliner Professional" set sourceRows to selected rows if (count of sourceRows) is 0 then set sourceRows to rows end if repeat with theRow in sourceRows set toField to value of cell "To" of theRow set ccField to value of cell "Cc" of theRow set subjectField to value of cell "Subject" of theRow set senderField to value of cell "Sender" of theRow set theBody to the note of theRow tell application "Mail" set newMessage to make new outgoing message with properties {subject:subjectField, content:theBody} tell newMessage set visible to true set sender to senderField make new to recipient with properties {address:toField} if ccField is not "" then make new cc recipient with properties {address:ccField} end if send end tell end tell end repeat -- wait a few seconds for everything to send...I've got a local mail server so this should be adequate delay 5 tell application "Mail" to quit end tell
The Bush administration is claiming that fatalities in Iraq are down from last year. They are liars.