The productivity problem

As is so often the case, I’ve let myself get behind on all of the tasks and projects I need to keep up with. Between work, hobbies, volunteering, &tc it’ REALLY easy to do. Once upon a time, I used the Franklin Planner system, which was pretty awesome. With the advent of the smartphone, though, the need to carry around a paper binder full of calendars and todo lists and project organization seemed silly.

And for a while it was AWESOME. I could put most of what I need into things like OmniFocus, Evernote and Remember the Milk. All these great tools centered around GTD.

But times change, and tools change, and I find myself in a bind with the tooling. I have something like 11 streams of incoming tasks/information, each it’s own “silo” :

Not Work
– GMail
– Google Calendar
– Evernote
– Github
– Trello
– Remember the Milk

– Exchange Mail
– Exchange Calendar
– Jira
– Salesforce
– Confluence
– Sharepoint

And those are the ones I remember of the top of my head. Now, short moving BACK to a paper system just to centralize everything, is there a tool out there that can/does integrate ALL these input streams and will help me organize them all? Some basic requirements :

OS Support :
– Mac (both home & work)
– Linux (home mostly)
– Android
– iOS
Integrations :
– Google/iCal
– Exchange
– Bonus for any of the other listed streams above

Price : Reasonable. Free and OSS preferred

Am I out of my mind in thinking that somewhere there is a tool that can do all that? Or am I going back to the dark ages and going back to killing trees (i.e. paper)?

Posted in Personal | 1 Comment

Brandon the Collie 2003-2015

12 years ago, I got a puppy.

The Puppy

He was a good puppy, from a friend who bred border collies. He would be good with the kids, I thought. Everyone should have a dog growing up.

I named him for the lead singer of Incubus, because it felt right. I am very particular about naming my pets, and unless they come pre-named, I usually wait to see what name fits. In his case, “Brandon” stuck.

As he grew, we realized he wasn’t going to be a typical border collie.

Big Puppy

He was sweet, gentle, playful, and nowhere near as neurotic as the breed is normally. And he was also BIG. Bigger than anyone else in his family. And he loved me, and he loved my kids, and he loved my  (now ex-)wife.


When I got divorced, Brandon stayed with me. We were buds, and we hung out together at home. He took care of the other animals, and made sure I was where I was supposed to be. Frankly. he kept me sane during one of the roughest periods of my life.



Even after a year or so of just us, he came to accept Ursula as part of my life, and while he never respected her as much as he had me, I know he came to love her. Or at least, like her well enough.

Sometimes we think of our pets as family. Children even. Sometimes we get really lucky and get a good companion. It isn’t often that we get a best friend.

I hit the jackpot.

Today, after a period of decline and illness, Brandon left us. He was a good dog. Hell, he was the best dog, and I’ll never have another like him. There have been and will be tears over the next several days and weeks. The children are holding up better than I am, which I expected a little.

Tonight though, please raise a glass for my Brandon, the best dog ever. May we all get so lucky at least once.

Posted in Personal | 5 Comments

Bean Soup, the easy way

Winter is upon us, and once more time for some cooking. I discovered I can do an *EASY* pot of bean soup (or just beans and rice) with nearly any kind of dried beans. This is useful with the harvest from Ursula’s garden. I’ll do this three or four times this winter, supplementing with dried beans from the store when ours run out. The fact that I can get really good local chunk bacon is a bonus in this case, because beans and pork, what’s not to love?

Kevin’s Quick Bean Soup

Prep Time : 10-15 mins
Cook Time : 4-6 hours


  • 1-2 cups Dried Beans (can be a single type or a mix)
  • 1/2 to 1 lb chunk bacon
  • 1 medium onion
  • water
  • salt to taste


  • Slow cooker
  • Frying Pan
  • Cutting board
  • Your favorite sharp knife


  1. Place the dried beans in the crock pot
  2. Dice the chunk bacon down to 1/4-1/2 inch cubes.
  3. Roughly chop onion.
  4. Place bacon in hot frying pan
  5. Fry chunks until browned
  6. Add the onions to the pan
  7. Saute bacon and onions until the onions are tender
  8. Pour contents of pan into crock pot (fat and all)
  9. Return pan to heat and deglaze it with about 1 cup water.
  10. Pour the jus from the pan into the beans.
  11. Add a pinch of salt to the crock pot
  12. Add water to the crock pot until about 2-2 1/2 inches above the dry contents and stir
  13. Set on high for 4-6 hours (or 8-10 hours on low), stirring every so often (once an hour, tops).
  14. Serve in a bowl over rice
Posted in Food, Personal | Comments Off on Bean Soup, the easy way

A couple of things I’d like to point out about the Space Pen

So it’s tax season, and the old urban legend of “we spent $X on a space pen, and Russia used a pencil” story is making the rounds as an example of wasteful government spending. I’d like to point out a couple of things that we should all keep in mind :

(1) The story is false. While the program was started by NASA, the project was abandoned as too expensive. The actual Space Pen  was developed using private capital, by Paul C. Fisher. See Here and Here.

(2) It’s a FREAKING SPACE PEN. This is a technological achievement! This is American Engineering at its FINEST, and something to be proud of.

(3) What kind of havoc does pencil shavings have on an air-filtration system and zero g? Can’t have a pencil without a sharpener, and those things are messy. Unless you like floating in a haze of graphite dust.

(4) Are you honestly saying the Soviet Russia was better than America in the 60’s & 70’s? Oh, wait…

(5) This was over 40 years ago. You sound like a spouse/significant other who keeps bringing up the time you did that thing – you know the one – a long time ago and even though they said all was forgiven, they bring it up every time you have an argument, even though it has no bearing on the point they are trying to make.

If you want to have a serious talk about wasteful spending, let’s talk about black budgets, two wars, oil company subsidies, bank bailouts, and equally relevant budget items. Let’s not talk about an urban legend that is both false and therefore has no bearing on the argument at hand. Frankly, I’d rather spend the money on TEN SPACE PENS than paying oil companies to be profitable.

I mean, come on people, IT IS A  FREAKING SPACE PEN, developed and marketed by a private company in the US, and used by both NASA and the Russian Space Program now. Sounds like a win to me.

Posted in Personal, Politics | 2 Comments

A note about my vape-gear

MAGFest was, as usual, lots of fun. And I got a LOT of questions and compliments on my vape (aka e-cig) gear over the course of the weekend. So, for all an sundry (and in particular Bear & Megan) here is the list of gear I had with me this past weekend. I figure posting it here will help me remember, and someone else might be interested….

Where I buy it all (almost) : The Puffing Monkey of Raleigh.  They have everything but the Vapor Chef liquids in stock. Tell them I sent you.

Hardware setup – you can find all of these online, or at The Monkey :

Kamry K1000 pipe (black and purple)
Innokin Itaste MVP2 box
Volcano Lavatube V 2.5
Kanger Unitank

Juices :

Choconilla Haze
Salted Caramel

Five Pawns Grandmaster
Jolly Rogers Captain’s Custard
Jolly Rogers Pumpkin Custard

Vape Goddess Ginger Fetish
Shoreline Rincon

Vapor Chef Honey Pearry

Posted in Personal | Comments Off on A note about my vape-gear

The 2013 that is and was.

The last day of 2013. Huh. That went quick. So did my promise to update blog(s) with more than music playlist more often….

So in case you missed it, 2013 is the year Ursula and I got married, in a surprise ceremony before a week-long cruise to Alaska. It was brilliant, and I suppose we should throw a party on this coast at some point. Then again, the only way we had time to get married was to sneak it in between all the other things we do, so…. *grin*

For many – including us – 2013 was a year of triumph, heartbreak, new friends, old friends, new adventures in places new and old, new projects, ongoing projects, unexpected victories, and spectacular screw ups. So a typical year. Overall the good outweighs the bad, and with 2014 looming around the corner, I’m ready to do it all over again.

Still, the standout moment for 2013 for me is the Wedding + Alaska.  The high point in a year of awesome. And there is more to come…

Y’all be safe out there, and I’ll see you in 2014!

And now, the obligatory list of other places to find me/us :


Social Media

And where to find me/us in 2014!

Posted in Personal | Comments Off on The 2013 that is and was.

OpenVZ DIsk Monitors on OpenNMS

At work, we run a lot of Parallels Virtuozzo, which is a commercially supported version of OpenVZ. There are a couple of challenges monitoring OpenVZ, since it abstracts out a lot of the OS and snmpd can’t get the data.

Thankfully, there is the ability to extend snmpd with scripts. The basic extend functionality is covered in the man pages, so I’m going to focus more on the OpenNMS side of things.

First up, create a script to grab the disk stats from the OpenVZ host. The script I use to get the disk usage stats is :
DF_DATA="$(df / | grep / | tr '%' ' ')"
TOTAL=$(echo $DF_DATA | awk '{ print $2 }')
USED=$(echo $DF_DATA | awk '{ print $3 }')
FREE=$(echo $DF_DATA | awk '{ print $4 }')
PCNT=$(echo $DF_DATA | awk '{ print $5 }')
echo $TOTAL
echo $USED
echo $FREE
echo $PCNT

Then we add the following to snmpd.conf and restart the daemon:
extend vzdisks /usr/local/sbin/

At this point, you shoudl be able to run snmpwalk and see the data :
ksonney:~# snmpwalk -c nocstats -v 2c localhost .
NET-SNMP-EXTEND-MIB::nsExtendOutLine."vzdisks".1 = STRING: 188743680
NET-SNMP-EXTEND-MIB::nsExtendOutLine."vzdisks".2 = STRING: 15437520
NET-SNMP-EXTEND-MIB::nsExtendOutLine."vzdisks".3 = STRING: 173306160
NET-SNMP-EXTEND-MIB::nsExtendOutLine."vzdisks".4 = STRING: 9

(you can see all the extends you have running by using the OID . – everything after that is the unique identifier for the particular entend)

At that point, you can start working on the OpenNMS configuration. Since I run more than one extension, I have a file called etc/datacollection/extensions.xml. The clause I use for the vz disks :

<datacollection-group name="extensions">
<group name="vzdisk-stats" ifType="ignore">
<mibObj oid="." instance="1" alias="totalDisk" type="octetstring" />
<mibObj oid="." instance="2" alias="usedDisk" type="octetstring" />
<mibObj oid="." instance="3" alias="freeDisk" type="octetstring" />
<mibObj oid="." instance="4" alias="percentDisk" type="octetstring" />
<systemDef name="Net-Snmp Extensions">


Add the following line to etc/datacollection-config.xml :
<include-collection dataCollectionGroup="extensions"/>

And then add in the OpenNMS Configuration for graphing the stats (etc/ :
# Virtuozzo reports
reports=netsnmp.vzdisks, netsnmp.vzdiskuse
# Custom NET-SNMP Script extend: Disk stats from Containers Disk Status
report.netsnmp.vzdisks.command=--title="VZDisk Percent Used" \
--vertical-label="Percent Used" \
DEF:pdisk={rrd1}:percentDisk:AVERAGE \
LINE2:pdisk#0066FF:"Percent Used " \
GPRINT:pdisk:AVERAGE:"Current \\: %8.0lf" \
GPRINT:pdisk:MAX:" Max \\: %8.0lf\\n" Disk Use
report.netsnmp.vdiskuse.command=--title="VZDisk Usage Stats" \
--vertical-label="Disk Space in Bytes" \
DEF:tdisk={rrd1}:totalDisk:AVERAGE \
DEF:udisk={rrd2}:usedDisk:AVERAGE \
DEF:fdisk={rrd3}:freeDisk:AVERAGE \
AREA:udisk#0066FF:"Used " \
GPRINT:udisk:AVERAGE:"Current \\: %8.0lf" \
GPRINT:udisk:MAX:" Max \\: %8.0lf\\n" \
STACK:fdisk#00aa00:"Free Space " \
GPRINT:fdisk:AVERAGE:"Current \\: %8.0lf" \
GRPINT:fdisk:MAX:" Max \\: %8.0lf\\n" \
GPRINT:tdisk:MAX:"Total Disk Size \\: %8.0lf\\n"

At this point, if you restart OpenNMS, it should start pulling the data. Give it about 15 mins for the data to start being pulled in, and you should see a graph for percent disk usage showing up.

For a little advanced fun, you can add a threshold to the threshd-configuration.xml and get notifications when it goes over :

<package name="vzDisk">
<filter>IPADDR != '' &amp; (nodeSysOID LIKE '.')</filter>
<include-range begin="" end=""/>
<include-range begin="::1" end="ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"/>
<service name="SNMP" interval="300000" user-defined="false" status="on">
<parameter key="thresholding-group" value="vzDisk"/>

And for thresholds.xml :
<group name="vzDisk" rrdRepository="/opt/opennms/share/rrd/snmp">
<threshold description="Virtuozzo Disk High Threshold"
type="high" ds-type="node" value="85.0" rearm="84.0"
trigger="2" ds-label="VZ DIsk usage" filterOperator="or" ds-name="percentDisk"/>

Restart OpenNMS, and you should be good to go.

Posted in code, Projects, SysAdmin, Work | Comments Off on OpenVZ DIsk Monitors on OpenNMS

One voice, one vote

Um, hi. I haven’t forgotten about this side of my blog, I’ve just been busy. Almost too busy. And I have a backlog of things to post here, so…

Let’s start with what’s been going on in NC. Anyone who has been watching the news in NC knows what sort of politics are going on here. And after some talk last night with Ursula, I got off my ass and started to DO something.

This morning, I :
– Signed up to be part of the Rapid Response Internet Task Force
– Increased my EFF donation
– Called my US House Representative (David Price), to register my displeasure with his vote against the NSA Amendment. The girl who answered the phone also asked if I would like a response, which I would, and am hoping Rep. Price has a good reason for voting for continued NSA monitoring of all US citizens
– Called the NC Govenor’s office to ask that he keep his campaign promise and veto the Motorcycle Abortion Bill.
– Called my NC Senate Rep, who actually answered her own phone. I was shocked! I was calling to thank her for fighting the good fight for the women, children, and disenfranchised in NC. In her words “they have undone 17 years of work” with this session. I promised that we would keep up the fight, and that we hope she does too.
– Called my NC House Rep, and left a message thanking her for fighting the good fight.

I’m not sure what kind of difference this will make with Rep. Price, Gov. McCrory, or NC Rep. McManus. I do know that Sen. Kinnaird knows how I feel, and it was amazing to be able to talk to her.

If you live in NC, here are some reminders :
– We need to work to reverse the Voter ID law. This is a horrible law. In the mean time, start talking to all the people you know to make sure they have proper ID for the polls at the next election.
– We need to keep the pressure on Gov. McCrory to veto the Abortion bill
– Call or email your reps! They don’t know if you are happy or unhappy with them if you don’t call or email!

If you live in the US, and are as concerned as I am about the things we are finding out about the NSA surveillance :
– Call your Reps! Give them your views!
Support the EFF

And in any case, get up, get out, and get active.

(And I do not know how many watch lists I got myself on. So if the Black Helicopters come for me, you’ll know why)

Posted in Politics, Rant, Volunteer | 1 Comment

A pot of Chilli – Nov. 2012 version

’Tis the season for crock-pot cooking, and I do so love to have a pot of chili when the temperature drops. I make mine from scratch, no recipe, and it’s different almost every time. I’ve been really happy with some past versions, but I’m pretty sure I knocked this one out of the park. And since Ursula is raving about this batch’s flavors, it’s time to post this variation.

Be warned that I’m guessing on some of the amounts – I was pouring some stuff in, and not actually measuring. Also, this is a “cook ahead” kind of meal – I did all the prep while cooking last night’s dinner, and we ate it tonight…

Kevin’s 2012 Chili
Prep Time: 20-30 mins
Cook Time : ~23 hours

Ingredients :
1 lb. ground goat
1 lb. stew beef, cut into ~1/2 pieces
1/4-1/2 lb leftover roast turkey, diced
2 cans chili flavored stewed tomatoes (I used Harris Teeter brand), drained
1 qt frozen diced fresh tomatoes – DO NOT THAW
1 can each chick peas, red kidney beans, and black beans, drained
1-2 tbs Sriracha
8 oz STRONG decaf coffee (I used a Fog Lifter K-Cup)
1/4-1/2 cup Soy Vay Veri Veri Teriyaki
Lee & Perrin’s Worcestershire Sauce
1/4 cup GOOD Tennessee Whiskey[1]
7 1/2 oz shredded Cougar Gold[2] cheese (about 1/4 a wheel, optional)

Put the frozen tomatoes into a big crock pot. Do not thaw them. Brown the ground goat, and add that to the crock pot. Brown the stew beef, searing and caramelizing, but not cooking past medium-rare. Add *THAT* into the pot, juices and all. Now add all remaining ingredients, except the cheese. Set to high and cook for 4-6 hours, stirring occasionally. Set to Low and cook for the next 10-14 hours, stirring occasionally.[3] If yours has a “keep warm” setting like mine does, just let it do that until dinner time, and – guess what! – stir occasionally. Check flavor every few hours to “tune” it if needed. Serve in a bowl with a spoon, and sprinkle cheese on top if desired.

[1] I used the Jailer’s, and Ursula yelled at me for about 10 mins to use the crappy stuff for cooking. I will defend myself with the words of Justin Wilson : “Don’t cook with it if you won’t drink it”
[2] – We love this stuff. I’d say “We put this shit on everything!” but Frank’s Redhot Sauce might sue.
[3] For this stage, I’m talking every 4-6 hours here. Last thing before bed, first thing in the morning, and maybe when you wander past later in the day.

Posted in Food, Personal | Comments Off on A pot of Chilli – Nov. 2012 version

Timeline of a Meal

7:35 am – Take pork roast, fresh (not hard) apple cider, one dark beer, and one apple out of the fridge.
7:37 am – Get out the big damn slow cooker
7:40 am – quarter & core the apple
7:42 am – Put everything in the slow cooker, set to high for 6 hours
1:30 pm – clean 1lb fingerling potatoes
1:35 pm – clean and slice in half 1/2 lb Carrots
1:40 pm – clean and chop up lb sunchokes
1:50 pm – throw all that in the slow cooker with the roast
1:52 pm – for the hell of it, add in about 1 tbl fresh chopped ginger
1:55 pm – half a large onion in quarters? Sure, let’s add that too
1:57 pm – Set to cook on High for 4 more hours
5:50 pm – Pull it all out of the liquid, separating the meat from the veg
5:55 pm – Serve with the cooking liquid as a sauce or gravy. Salt to taste

The meat just falls off the bone, and the veg is JUST RIGHT. Oh and the flavor? Lovely stuff.

Posted in Food, Personal | Comments Off on Timeline of a Meal