Fred the Vampire Accountant

I love books with a paranormal theme but try as I might I haven’t been able to find another series I could sink my teeth into (hah) because the writing was saccharine and/or banal. My favorite series is The Dresden Files. You didn’t know what troubles might befall Harry Dresden, wizard PI, but you wanted to go along for the ride.

Then a fellow Twitterzen turned me on to Drew Hayes and he introduced me to the world of Fred the vampire accountant. Yes, it’s as amazing as it sounds.

bloodyAcquisitions-front-coverThe third book in the series is about to be released so you’ve got enough time to pick up the other two and devour them this weekend.

Here’s a blurb:

With a thriving parahuman accounting practice, a steady relationship, and a circle of trusted friends, Fred’s undead life has become more enjoyable than his normal one ever was. Unfortunately, it also seems that he’s no longer the only vampire to appreciate the up-and-coming city of Winslow, Colorado. A new clan of vampires is moving in, and they aren’t well known for tolerating outsiders in their territory.

Now, Fred must cope with the growing presence—and threat—of other vampires even as he struggles to keep up with his business’s demands and make time for his friends. Between hidden parahuman towns, crazed vampire hunters, quarreling mages, and the world’s least subtle spy, it will take all of Fred’s wiles just to keep his head above water. And as the new clan sinks their fangs deeper and deeper into his city, the undead accountant is faced with a choice between two equally unappealing options: flee his home, or stand against an entire clan of fellow vampires.

Available for preorder now!

A little bit about the author:

Drew Hayes is an aspiring author from Texas who has written several books and found the gumption to publish a few (so far). He graduated from Texas Tech with a B.A. in English, because evidently he’s not familiar with what the term “employable” means. Drew has been called one of the most profound, prolific, and talented authors of his generation, but a table full of drunks will say almost anything when offered a round of free shots. Drew feels kind of like a D-bag writing about himself in the third person like this. He does appreciate that you’re still reading, though.

Drew would like to sit down and have a beer with you. Or a cocktail. He’s not here to judge your preferences. Drew is terrible at being serious, and has no real idea what a snippet biography is meant to convey anyway. Drew thinks you are awesome just the way you are. That part, he meant. Drew is off to go high-five random people, because who doesn’t love a good high-five? No one, that’s who.

Check out his website for some more humorous reads or follow on twitter.

Read the Fine Manual

man_screenshot01I’ve been using Unix/Linux in some form or fashion since 1997. I remember my first foray into shell scripting was during my time at a title company that provided these merged credit reports via these little customized Okidata printers. When credit pull requests would come in from customers we’d have to look at the ones that got stuck, make some edits, and re-submit them to the system for processing. What I realized was that the steps were more or less the same every time with a couple exceptions. This begged to be automated.

My first go at it was writing a short shell script that ran the 5-8 commands in order so I didn’t have to type them myself each time. Then I discovered that I could search through the contents of the file with grep and return the number of matched lines. If it was >0, I would do process X, else Y.

After discovering grep I had to know what else was out there. Once I learned how to get manuals (‘man pages’ for short) it was all over. I was reading the man page for every single program in the /usr/bin and /bin folders. Cut for selecting columns, paste for putting them back together. Use wc for getting the words/lines/characters in files. Check out ps for listing processes, ls for listing files, mkdir, rmdir, rm, etc.

Fast forward to now…

I have to get some information from the server where I’m writing some code. The fastest way to get it is by querying the server via SNMP (a monitoring protocol that uses object identifiers as addresses for various things like the number of interfaces, the CPU load, the memory consumption, etc.). So I run the command I’m familiar with:

snmpwalk -v2c -c<communitystring> localhost

I get output like this:

iso. = OID: iso.
iso. = OID: iso.
iso. = OID: iso.
iso. = OID: iso.
iso. = STRING: "Physical memory"
iso. = STRING: "Virtual memory"
iso. = STRING: "Memory buffers"
iso. = STRING: "Cached memory"
iso. = STRING: "Shared memory"
iso. = STRING: "Swap space"
iso. = STRING: "/"
iso. = STRING: "/sys/fs/cgroup"
iso. = STRING: "/run"
iso. = STRING: "/run/lock"
iso. = STRING: "/run/shm"
iso. = STRING: "/run/user"
iso. = INTEGER: 1024
iso. = INTEGER: 1024
iso. = INTEGER: 1024

Okay, fine. I really only need the stuff on the far right. So I open the man page for snmpwalk and flip through the options. Nothing mentions any kind of adjustment to the output, only community strings, authentication, and the like. Hrmph. So I slice up the output and get what I need.

I go to sleep that night and of course if I’m writing any code before I sleep I dream about it. And I’m convinced that there HAS to be some way to adjust what’s coming out of that thing. So when I wake up I go back and read the man page more carefully. Evidently (because snmpget, snmpwalk, snmptable, and on and on) use common options, there’s a separate man page called snmpcmd with those details. I pop that open and lo and behold there are the options -Oq and -Ov. Adding -Oq removes the data type (OID/STRING/INTEGER) and -Ov removes the OID (iso.3.6.1…) leaving just the bit I cared about: the value.

TL;DR: If you’re using a command that’s part of a suite make sure you check for a “common options” man page.

Making Music

piaggeroThere’s been a lot going on in the last several months. I’ve picked up Python again. I’m going to start taking piano lessons on Wednesday nights starting next week. I’m still writing a bunch of PowerShell at work. I’ve been doing these things called “quick launches” that SolarWinds sells to their customers. It’s basically some abbreviated training/engineering for customers that have either just started with SolarWinds software or they’ve just picked up a couple new products and want to get going quickly. The format has been really interesting. It’s just long enough to meet the customer, fix a few pain points and start a quick Vulcan-style mind meld.

I had to schedule some time off so that I could get my PTO hours under 40 hours (all I can carry into 2016) so tonight I start a nice 6-day stretch of time off. I got a new Yamaha Piaggero NP-11 61-key keyboard for Christmas that arrived today and I’m expecting the rest of the accessories tomorrow. The bundle came with a stand, power supply, and a pair of headphones.

Aside from that, not much else to report. I’m running between learning more Python/PowerShell/C#, playing piano, and picking up a few straggling SolarWinds products with which I haven’t had much mileage.


zodiac-libra-clip-art_433171There are so many sides to a person. Like the MMO characters I used to play, we all start with our innate abilities and from there it’s all about the grind. If you want to improve in any one area you need to get out there and do that thing. And keep doing it and increasing the difficulty. And doing keep doing it some more.

But we’re also creatures that crave efficiencies. If we don’t keep doing whatever it is that we wanted to be good at in the first place it’ll get stored on the brain’s equivalent of the back burner. But we never lose them entirely, so maybe there are situations where letting something slip can be a good thing if you’re really making ground in other areas.

From 2009 to 2011 I really took fitness seriously. I took fitness classes, lifted weights, observed the 80/20 rule when feeding my face, and enjoyed some pretty impressive gains. Including getting licensed to teach Zumba which turned my road warrior tech job into a veritable tour of the country where I would teach a few songs with the local Zumba instructor. I kept up with enough tech to keep my day job going but I was working in a really small group (just me and another engineer) so there was never a need to really dig into anything beyond my usual tinkering.

In 2011 I fell in love. There was a shuffling of the deck and Kayla and I were together. We moved in together and discovered that we enjoy a lot of the same things: not being in direct sunlight, good food, movie theaters, and binge watching shows. And we did a lot of all of those things. Unfortunately neither of us really had a passion for doing anything that burned calories so we became eachothers enabler. If one of us didn’t feel like doing something we knew that we could count on the other day give us a pass. We’re nothing if not accommodating.

I replaced my fitness grind with picking up more professional skills. I had been avoiding learning a compiled language for a long time and considered myself a scripter until I took the plunge and picked up C# .NET and its sibling ASP. And more PowerShell. And more T-SQL. And other technology that’s SolarWinds -specific.

Fast forward to March, 2015. Ah, that’s now. Yes, fast forward to now.

It’s time to tip the scales back (Libra joke, eh?) and invest time in the physical again. I don’t enjoy it and unless I view it as daily medicine (it’s that or insulin, amirite?) then it just won’t happen. I’ve committed to 4-days/week lifting weights with Jeff Rohlfes (family friend), and more movement in general. And back to the 80/20 nutrition rule. I’ve always done better with a couple bright lines than a long list of resolutions.


Carrick Bend
Carrick Bend
I’ve always got a list of things I want to learn and last month learning to tie knots was selected at random. So I dragged my buddy Jeff to the local hardware store and bought two 4′ lengths of nylon rope. Since I knew nothing about knots I googled “best knots to learn” or “most important knots” or probably both of those and after removing duplicates, came up with this list:

  1. Bowline Knot – the king of all knots, makes a secure loop and is easy to tie.
  2. Figure 8 Follow Through – easy to tie and verify, favorite of climbers.
  3. Slip Knot/Noose Knot – same knot just tied two ways, slipknot for a stopper and noose knot for a, well, noose.
  4. Square Knot (Reef Knot) – great for bandages and garbage bags, just don’t use it to join ropes (it capsizes easily).
  5. Blake’s Hitch – a climbing knot that you can slide up and down another rope as long as you remove tension.
  6. Rolling Hitch – if I get a horse I can use this knot to tie him up somewhere.
  7. Trucker’s Hitch – if you don’t have ratchet straps this will do the trick, a must-know for cinching down a load.
  8. Buntline Hitch – a hitch that stays secure even if it’s been yanked in different directions.
  9. Sheet Bend – a simple knot for combining two ropes of different thicknesses.
  10. Carrick Bend – another knot for combining two lines especially if they’re not that pliable (e.g., chain).

All the learning above and below happened at Animated Knots dot Com. Check ’em out.

Once I’d learned those I was on a roll and went on to learn the Figure 8, Alpine Butterfly Loop, Round Turn and Two Half Hitches, Barrel Hitch, Sheepshank, Timber Hitch, Handcuff Knot, Directional Figure 8 Loop, Underwriter’s (Electrician’s) Knot, Spanish Bowline Knot, Mooring Hitch, Double Fisherman’s Bend, Running Bowline, Bowline on a Bight, Tautline Hitch, and the Poacher’s Knot.

2014-03-11 13.09.21Whew, okay. Lots of knots and so far aside from busying my hands while binge watching TV shows I hadn’t had an opportunity to try any of them aside from tying off trash bags with a solid Reef Knot (very cool, though). Then we had to pick up a king-sized bed across town and had to tie it to the roof of the Pilot. That didn’t go as well as it could have.

Tying knots when they’re laying out in front of you is much different than having to do it after they’ve been looped through something a foot over your head. First you have to tie them upside down, and second I had the folks from whom we picked up the bed watching me fumble with the knots. So that didn’t go very well. We wound up driving down the street after hastily wrapping the rope around the bed a few times and re-tied it. Still no fancy knots beyond a bowline and a couple half hitches but we got home with the bed.

2014-03-14 16.44.21Fast forward a few days and we have to put a couple twin-sized box springs and a king-sized frame in the back of the Pilot. The door won’t close so it needs to be tied down. I was able to make it work with a carefully (read: slowly and without someone watching me) tied bowline, a buntline hitch, and a trucker’s hitch. The door stayed closed and didn’t seem to move much while we went around the block to get back to the house.

Next up: learning how to tie the knots I’ve already learned in the direction that makes sense to actually tie them to things.

Transformation. Again.

When I met Kayla I was miserable. I was fit but I was miserable. Then we got together, got happy, and ate lots of great food. Add a little travel, a job change, and a complete reboot of my life and that adds up to little deliberate physical activity and a lot of extra calories. My body dutifully stored them away for later, of course. So rather than considering it a total backslide I prefer to think of it a testament to my body’s efficiency in converting extra food to stored energy. That’s the ticket.

Transformation (转型)
The upside is that I know how to lose the weight and we’ve already begun. I’m tracking my meals, eating more frequently, getting enough water, and—the thing that’s always hardest to start—cardio. Until I get some endurance built up I’m starting with the boring 30-45m on the treadmill. From there I’ll move into some classes.

Lifting weights with Jeff has been a huge help and he’s beyond reliable. With a few exceptions, he’s there like clockwork from 3:30 – 3:45 PM doing a warm-up, 3:30 – 5:30 PM lifting weights and then 5:30 until ?? mixing up a little cardio. I’ve started getting there a little early to get 30 minutes of cardio in before weights but it’s just not working. I’m so dead by the time I start on the weights that I’m dragging. I think I’m going to have to bite the bullet and do the cardio afterward. Even though crawling to my car after the last set sounds like more fun I think that I can still get some effective cardio in without dragging too badly after the weights are done.

It’s time to load up the Kindle with something to watch so I can get through treadmill purgatory.

Welcome Harper Klassen!

Harper and Walter Chilling
Harper and Walter Chilling
Kayla and I have been all about the cats. We’d been talking about rescuing a dog from the shelter but yesterday we finally went over there and picked out Harper (formerly “Kacey”)! She’s a Chihuahua/Dachshund mix and she couldn’t be more adorable. Of course as soon as we got her home we realized how little we knew so we took turns researching and playing with her. Right now she’s sleeping in Kayla’s lap while she surfs the Internets.

Update 01/04/2014: Mornings are definitely a whole new experience. Her battery is charged to 125% and she is ready to go. From the moment I let her loose she’s bouncing off the walls. I get her leash on her and get her outside before she pees all over the place. A half hour later Kayla wakes up and takes over for a bit while I hit the store for cat food, and doggy & kitty treats.

I Can Breathe Now

Kayla in the Parking Garage at OHSU
Kayla in the Parking Garage at OHSU
Kayla’s scan was clean! She’s now officially in remission. Whew, now that we’ve covered that…

She’s always been the pessimist realist in our relationship and that’s good for things like budgeting, planning vacations, and other adult things. I balance that out with my head-in-the-sand optimistic outlook on things. That worked from the time that we found out there were suspect lesions on her CT scan until the morning of her PET scan to tell us if the next 6 months were going to be puppies and rainbows or chemo and stem cell transplants. I had my own mini meltdown and our dear friend Katie Huston swooped in on the virtual scene like CSI: Sacramento to cordon off the area, gather up the pieces, and put me back together again.

It started with her asking: “what’s anxiety look like for you?”

A million thoughts ran through my head: money to pay for everything, freezing eggs to save our biological babies from being irradiated, hospital trips, chemo, nausea, and so many other things I didn’t even know I was worried about until someone asked at the right time. And then suddenly there was a calm. I knew two things: we were going to beat whatever it was that was facing us, and I cared not a bit about anything but her. If we had to sell every possession and live in a one-bedroom apartment I was perfectly okay with that. As long as I had a laptop and an internet connection I could continue to earn and we’d have plenty of cash to feed the doctors until they’d slain whatever was threatening us.

And then Kayla woke up (she’d slept in to avoid being extra hungry during her pre-scan fast) and the armor came back up. I had to be solid for her and I only had to do it long enough to get her from the house to OHSU and into the waiting room for the scan. Then I could crumble again, or do whatever it was my psyche had waiting for me. Katy and Katie (yeah, it’s strange) kept me company via text messages and a scant 2 hours and 15 minutes later Kayla came out of the back room and we were out of there. On the way home she got a call from a 503 number she didn’t recognize and it was Dr. Okada telling her that her scan was normal and the CT had picked up junk that we needn’t be worried about. Then the phone tree was hopping – she called the family and let them know that the scare was over and that they could look forward to babies. =)

Le sigh.

Quick Update on Us

Klassen Wedding 2013-11-02 21.40.37It’s been 56 days since the wedding! We’ve got our pictures back and they look amazing. But mostly because Kayla was in them. Nudge nudge, wink wink.

With the wedding behind us we established with a new oncologist at OHSU. The difference from the last oncologist was night and day. This was meant to be the last scan before the probability of relapse was to drop into the low numbers but a few new (we think) lesions showed up. We’re in watch and wait mode right now until the PET scan on Monday afternoon. Kayla and I are taking turns talking one another out of our respective crazy trees. As long as we avoid climbing up at the same time, we’ll be good. All well wishes, prayers, good thoughts, and extra karma our direction are appreciated. If you want to read more about that Kayla’s keeping up on it with her blog: Owl You Need is Hope.

I haven’t written in a while and the little hater inside convinced me that nothing I wrote would be interesting enough to read. So I’d put it off again and again. Kayla insisted I fire this up, so here I am.

Kayla’s amazing that way.

We were binge-watching episodes of Grey’s Anatomy but with the medical stuff we decided neither of us needed any reminders. We decided to start Sons of Anarchy over from the beginning. As we speak season 3, episode 4 is running. I won’t spoil it for you, but it’s a great show. We can always use other recommendations – we have Hulu Plus and Netflix streaming.