Monthly Archives: May 2012

Daily Words Redux

Lunchtime and right before I leave work are apparently not-so-much times for writing.  I think it’s because, as Douglas Adams said, “Time is an illusion.  Lunchtime doubly so.”

I’ve been resisting writing in the mornings because I’m really a great big ginormous ditz in the mornings, but it’s working so well for running that maybe I need to try it. I could spend some of my social media surfing time on writing.

Similarly, I think my daily writing goal is insufficiently ambitious.  On the other hand, I can’t seem to make that insufficiently ambitious goal, so maybe it’s plenty ambitious.

I wrote on the plane back from Wiscon.  That was interesting.

In other news, current spreadsheet estimates suggest my story in progress will end up being 16163 words long.  I have difficulty believing this.

Comments Off on Daily Words Redux

Filed under procrastination

Back from WisCon

High Points:

  1. Haiku Earring party: Every year Elise Matheson throws a party where you pick a pair of earrings you like, she gives you a prompt, and if she likes the haiku you write in response she gives you the earrings. My prompt was, “What Faeries Did in the Renaissance”:

    Keep your iron, your steel.
    Your art, your plays, your poems.
    We’ll take your children.

    New earrings: awesome.

  2. I was tragically forced to shop. *back of hand to head*
  3. My reading went well. 🙂
  4. The GenderFloomp Party: You’re encouraged to do something to mess with your gender presentation. There were a lot of women in suits and men in lumberjack boots and red satin negligees. They were one of the two best dance parties. We floomped until we dropped.
  5. Seeing awesome people I only see in person at WisCon!

My cats missed me.

Comments Off on Back from WisCon

Filed under cons

Perfmon Link

Awesome webcast by Brent Ozar.

There’s more here.  I’d say more, but I’m busy enjoying Memorial Day.

Comments Off on Perfmon Link

Filed under monitoring

Happy Memorial Day!

Happy Memorial Day!  Plant is going to hold their annual George Forman Memorial Cookout in your server room this weekend.  Tom Limoncelli explains why here.

When your pager goes off and you call them to tell them the AC failed again this year, tell them the least they could do is save you a couple of burgers.

Comments Off on Happy Memorial Day!

Filed under sysadmin

Towards the Mountain

Neil Gaiman did a great commencement address where he talked about careers in the arts.  I really related to the bits about how he considered his goal to support himself writing as “the mountain,” and how he took or rejected jobs based on whether they took him towards or away from the mountain.

I think this relates to all careers, and not just careers in the arts.  All jobs lead you either towards where you’re supposed to be, or away from it.  I’ve always had a strong sense of choosing the job that takes me closer to the mountain.

Comments Off on Towards the Mountain

Filed under career

Accountability

Not only am I using Write or Die, I’ve also started posting daily stats to Twitter.  In addition to boring numbers, you get completely out-of-context sentences.

You can help!  You can mock when I fail to tweet!

Okay, maybe not.  I need positive reinforcement.  I had a rough day.  That said, I clearly need to do something.  I realized when I updated my motivational spreadsheet of doom/outline that it had been five days since I last wrote (because that’s one of the formulas).

My spreadsheet is also predicting that my story will end up being 20398 words, but I have a little trouble believing that.

Comments Off on Accountability

Filed under procrastination, writing stats

I’m in the Broad Pod!

My friend Jennifer Pelland and I are in the May BroadPod.  This month’s theme is “Not Quite Human.  Automatons, AI, and Clones.” From the site:

They can look human, talk and perhaps even feel human.  But are they?  Can an Artificial Intelligence truly have sentience, or is it just clever programming that mimics conscious thought?  A clone may be a match for human DNA, but does a clone have a soul?  Is an android merely a possession, no more entitled to rights than a toaster?

http://broadpod.posterous.com/may-not-quite-human-automatons-ai-and-clones

Comments Off on I’m in the Broad Pod!

Filed under reading

Your Servers’ Baby Monitor

Do you know about Write or Die?  It’s described as “putting the prod into productivity” and is for procrastinating writers to force themselves to write.  (Writers procrastinate.  It’s a thing.  You can spend hours surfing the web for baby name pages to come up with the perfect name for your walk-on character.  Or you can name him John Doe and fix it in revisions.  The latter is probably more productive.)  You enter a word goal and a time limit and click “Write,” and any time you stop writing the screen turns red.  If you stop long enough, an annoying sound will play.  You might get RickRolled, or have painfully bad violin practice, but I’ve set my copy of the desktop edition to exclusively play the crying babies sound.

This is the perfect metaphor for my monitoring philosophy.

For this reason, it makes me a little insane that I have 392 new email messages from SQL Monitor today about fragmented indexes.  (My phone said 687.)  That’s a whole lot of crying babies. Apparently, I have some work to do.

I’m much happier when my baby monitor is silent and the monitoring page shows a lot of happy, peaceful servers. You know, when I come in the morning and look and they’re all cheerfully perking away doing their thing.  I used to keep my Nagios screen 100% green, and it made me a little wacky when we merged Nagios servers and I added the servers of the guys who actually like getting their daily, “Yes, your hard drive is still 100% full!” emails.  *twitch*  Ah well, it makes them happy.

There’s a Nagios plugin for Firefox that plays a sound when you have a problem.  I’d like to get that to play the crying babies sound.  The advantage to that would be that if anything of mine ever broke, not only would my sensibilities be offended, but if I didn’t fix it promptly my coworkers would kill me and no one would ever find my body!  Now there’s putting the prod into productivity!

And now?  Apparently, I need to go into the nursery and shut up  calm some babies.  (Not about the indexes, about Something Else.)

Comments Off on Your Servers’ Baby Monitor

Filed under monitoring

Write or Die!

I just used the desktop version of Write or Die to get my daily words in.  It was a birthday present from my sister, and it was painless.  The nicest part was when I started to sit around and ponder a name for a walk-on.  I could stare at the screen and try to come up with the perfect name all day, but when the screen started to turn red I named him Smith and moved on.  Heh. 

Those were some fast words, too.  I may have to up my daily goal if this continues.

Comments Off on Write or Die!

Filed under short fiction

A one-time use script.

This isn’t the entire thing, it’s bits and pieces, but it’s enough for you to bend, fold, spindle, and mutilate for your own purposes.

I was given 70,000+ tab delimited lines that were output dumped from a program and asked to find out what version of a specific piece of software was running on the servers in position 9 of those lines.  I was also told that there were duplicates and that some of them were Unix or Linux and I was only responsible for the Windows servers. I used batch because it was there and available.

First of all, batch choked on the tabs so I replaced all tabs with spaces, then picked out the server names and sorted them:

SetLocal EnableDelayedExpansion

for /f “usebackq delims=” %%g in (%controlfile%) do (
set content=%%g
echo !content:  = ! >> process.txt
)

for /f “tokens=9 delims= ” %%A in (process.txt) do (
echo %%A >> servers.txt
)

sort < servers.txt > sorted.txt

I then had 70,000 server names with a lot of duplicates in them.  Next up:  Unduplicating them.

@echo on > unduped.txt

for /f “tokens=* delims= ” %%a in (sorted.txt) do (
find “%%a” < unduped.txt > nul
if errorlevel 1 echo %%a >> unduped.txt
)

That gave me 110 (!) server names.  Next, to see which ones are behind a firewall or otherwise unreachable:

@echo on > unreachable.txt

for /f “usebackq delims=” %%g in (unduped.txt) do (
for /f “tokens=11 delims= ” %%A in (‘ping %%g ^| FIND “loss)”‘) do (
if “%%A” NEQ “(0%%” (
echo %%g >> unreachable.txt
)
)
)

for /f “tokens=* delims= ” %%a in (unduped.txt) do (
find “%%a” < unreachable.txt > nul
if errorlevel 1 echo %%a >> checklist.txt
)

Okay.  Now to try to pick out the Windows machines, and make sure I have the proper permissions for the task:

for /f “tokens=* delims= ” %%s in (checklist.txt) do (
sc \\%%s query workstation | findstr /c:”unavailable”
if errorlevel 1 echo %%s >> win.txt
)

for /f “tokens=* delims= ” %%a in (checklist.txt) do (
find “%%a” < win.txt > nul
if errorlevel 1 echo %%a >> nonwin.txt
)

for /f “tokens=* delims= ” %%s in (win.txt) do (
sc \\%%s query “Workstation” | findstr /c:”Access is denied”
if errorlevel 1 echo %%s >> access.txt
)

for /f “tokens=* delims= ” %%a in (win.txt) do (
find “%%a” < access.txt > nul
if errorlevel 1 echo %%a >> accessdenied.txt
)

And, finally, to check for the actual service.  I needed to find a specific service name related to a version, and, for some reason, checking for fails was more reliable than checking for the existence of the service:

for /f “tokens=* delims= ” %%s in (access.txt) do (
sc \\%%s query “Your Super Fab Service version 8.2″ | findstr /c:”RUNNING”
if errorlevel 1 echo %%s >> notv82.txt
)

It was actually a fun project, and made a day when I was worried about a family member in the hospital go by a lot faster.  I also saved it in case I ever needed it again, but I haven’t.  Yet.

Comments Off on A one-time use script.

Filed under scripting