Showing posts from 2016

Monday Mope

As I type this, it’s 8:44 am, and I just drove 30 minutes in 10 miles of pouring rain to start the week on 4 hours of sleep.
I went to bed about 11:30, but didn’t fall asleep until nearly 1am—very unusual for me.Like an overtightened bolt, I felt my corners round-off just a bit yesterday, the torque warping my mind just too much to sleep.
There’s much to consider, globally, nationally, and within my own hearth.Much I can do little about.Globally, there keeps being more of us, and our impact on the planet worsens by the year.Humans certainly seem less education, humane, and trustworthy than we did even 10 years ago.Perhaps my eyes are just open to our own debauchery, my naiveté burned away like so much slag from God’s refiner’s fire.
I can’t recall Donald Trump.I can’t unsay some of the things he’s said.I can generally watch in horror and pinch myself every time I hear the phrase “President-Elect” attached to his name.
I’ve found myself watching lots of post-apocalyptic films from my …

Macro-Tweet: I live in Texas, now?

Some things are too long for a tweet, to short for a short-form essay.  I like to think of them like "macro-tweets."   Some have taken to posting paragraphs or even whole positions on twitter in the form of:
1/7 2/7And so on.  That's an abuse of the platform.  Longer-form should be somewhere else.

End preamble. 

* * *

So Maria and I have abandoned swimming for the moment.  I don't know why exactly, aside from we don't have an indoor pool membership and the outdoor pool we have is rather....variable...with regard to temperature.  I went to swim about 400m with an air temp of 48 degrees back in September, and part of my body just went:  "You're nucking futs, dude."

In lieu of that, Maria and I are walking every morning.  Typically a one-mile circuit right outside our front door.  In the back of my mind, I hope we'll graduate to jogging, but for now I'm simply enjoying the time with my daughter.

We talk about many things, some mundane, some pro…

So That Happened....Election 2016: Where Now?

Last Tuesday night was surreal.

The data all indicated that DJT had no chance in hell of becoming president.   He never polled above 42%.  Then...the returns rolled in.  The NBC anchor team already had their through-line prepped:

"Did he lose the election on day one, calling immigrants rapists?" "If he loses Florida or North Carolina, he's going to have a long night." As the hours wore on, it became clear that we were at the very end of the bell curve, amid Nate Silver's 15% chance that DJT could win.  I became more and more despondent, realizing that of the two bad choices, the Chaotic Evil was going to be the electoral victor.
I don't have more to offer than the deluge of think-pieces since Wednesday morning.  Democrats are largely out of power everywhere now.  The majority of governorships, state legislatures, both houses of Congress and now POTUS are Republican.
I should be happy.  After all, I'm a (moderate) Republican.  I've disagreed with…

On the 2016 Election

Whatever happens over the next few days, I'd like us to remember we're Americans.
We've surmounted Monarchy, the burning of the capital, a war between ourselves, mountain ranges, slavery, polio, Fascism, Communism, presidential assassination, Watergate, 9/11, pet rocks, and several sub-par Metallica albums. People tried to take our freedom. "Over our dead bodies!" we cry. And so it was. We will gladly give it away, though, in fear and hate, vilifying our neighbors. I care about what happens next Tuesday, sure. However, what happens in the days and weeks thereafter is what history shall remember. May Lincoln's summary remain true: "that government of the people, by the people, for the people, shall not perish from the earth." Blessings be with you all.

Groom your Backlog!

No matter the brilliance of a given development team, it's always more efficient to Analyze/Groom/Think about requirements before you're in the meeting where you commit to delivering those requirements.  
I've been developing software with groups of fairly brilliant people for some time.  The above is my genuine experience.

When a group of people encounter a set of requirements and expect to scope and commit to them in realtime while reading the document, it wastes everyone's time.
Generally, productive discussion results, yes, but that discussion is unbounded.


One person pre-grooms the story.  In times past, that's a business analyst or architect, but a member of the development team is fine.  Just be sure before you go into the pitch/commitment meeting someone is warmed-up to present the story.  This is analogous to an intern or resident presenting a case in a hospital to the other doctors during rounds.  The group scopes the story …

Skills I'm glad I have

Too long for a tweet.

Too short for a blog post.

These are some tech-related skills I'm glad I have.  They come in awfully handy:

Touch typing.  You'd be surprised at the number of people who work with computers for a living who can't actually touch type.  Markdown.  Markdown is incredibly handy for tossing-off documentation and forum responses.  I've actually considered hosing this blog entirely and converting to posts hosted on Github, formatted in Markdown.Vim.  I've rediscovered a love for Vim in the past few weeks.  I've intentionally avoided installing Sublime Text 3 on my work machines, just so I'd get better with Vim.  This thing is a frickin' katana for text editing (duh...)Ruby.  A surprising number of production programmers don't have a scripting language under their belt, which is a shame.  Ruby is both light enough for scripting and powerful enough to do basically anything you need.  (Just write RSpecs for anything > 100 lines, m'…

"When Can Test Start?"

A few quick thoughts on a subject I've seen at least 10 times in my career:

"Okay, when are you done enough for me to test this thing?"

Let's parse that a bit, because the ensuing arguments are one of definition

"Okay," Acknowledging that stuff is just great or else I wouldn't be talking."when" I'm going to ask you for a date. "are you done" Done as is: Things won't change between the time I hit submit on the bug and I go to the bug review meeting and look like an imbecile."enough" I'm not a total douche.  I'd like to test this, not make you look like a fool by filing 15,000 bugs."for me" Hi, I'm a professional software tester.  Yes, we do exist."to test" I was born to test and break things.  I can make your code cry.  You need me."this thing?" At the end of the day, your work of art is a piece of business value and I'll not insult both of us by implying otherwise. The ab…


I'm homesick.

"Home" is hard to define:

The place where your feet are.The place where your wife and kids are.The place where you feel at...well....home. I don't feel at home in Austin.  All the social and physical trappings of having roots here just aren't here yet: We don't have a real house.  We have an apartment with a yard.  It's nice enough, but nothing about it feels like 'home' except for the occupants.We don't have a church.  Realistically, we're not even close.  Everywhere we've visited, coming up on 10 churches at this point has been some combination of too.  Too loud.  Too small.  Too doctrinally unsound.  Protestantism, as ever, remains a mixed bag once you go somewhere else.The water here is genuinely terrible.  For one thing, tap water is hot, not cool or cold.  There seems to be mix of limestone and sulfur in that's just hard to take.  Everything reasonably potable is filtered or bottled.I don't have the friends an…

Java8: Loops Not required

So, during my job-hunt, I spent at least an hour a day on HackerRank.  I highly recommend the site for anyone learning to code, sharpening their skills, or learning a new language.

Anyway, so at my new job we use Java8 extensively.  I'd had cursory exposure to Java at my last gig, but mostly in the "Why won't this frigging library run with my Java 1.7 JVM?!" variety.  So, it was time to learn something new.  Narturally, I thought of HackerRank and it's Java tutorials.

So here's one that's interesting: Java List.

Some things of note:

One can eschew loops completely now.  The new Streams API + lambdas make it possible to mimic the expressiveness of Ruby, with Stream.forEach( ) feeling awfully similar to Ruby's each {}The Stream parallelStream() is pretty much as easy as concurrency on JVM is likely to get.  The only downside is the global JVM fork/join pool for the streams.It's awfully easy to get sucked into multiple transforms that seem to make co…

Is Printing Dying?


Was it Two Septembers ago? It Seemed Like Yesterday

September is ruined, it seems.

September is my time of reflection, just as it was 2 years ago.  I looked out upon Chevy Chase in Lexington, on bi-monthly afternoon off, and I was both over-caffeinated and sad.

Today isn't all that different:  I'm pensive, alone among a crowd, and over-caffeinated.  I'm a Christian without a church home, a football fan without a team, and a father down one child.

How did we get here?  The man writing on that patio in 2014 was actually on the rebound: He'd learned the folly of pursuing The Company.

The Company had asked him many times to do what was necessary, and he happily obliged.   Somehow, it was the one safe harbor in his life, where being a "confident, capable" person was somewhat true.  He wasn't a failure there, as a husband or a father.  For seven, ten, or twelve hours a day, he could make things better, make things work.

Until he couldn't.   They broke him in 2011, irrevocably.  He got the big call-up as the…

I Miss My Son

Joey fired us.

Tomorrow marks two weeks since that was official.

I love my son.
I miss my son.

Maybe this was all a mistake. I have no idea.
Perhaps that's the beginning of Faith. If so, faith is painful as Hell. And lonely.
So fine, and sunny, and smiling, and empty.
It's said that God breaks us, so he might rebuild us.
I'm a thousand pieces flying in close formation.

What does He make of that?
We'll see.

(North) Austin Traffic

"Hey, this traffic isn't so bad!" I thought a month ago.  It was July and I was averaging 15-20 minutes to work down a 6 lane surface street with an effective 70mph speed limit (Yay, Texas?)

...then school started back.

That same street became one backup after another this morning, and it took me 30 minutes door-to-door, even though I live 9 miles away.   Between schools being back in session and UT classes restarting, something like 40,000 more Austinites are on the road each morning and afternoon.


It's not so bad, of course.  Between the EV mode on my Fusion Hybrid and the regenerative braking, I'm up past 32mpg even in that gridlock.  Not bad for for a now 7 year old paid-for car.

When Do You Leave?

I've been reflecting lately.  Huge life changes will do that to you.  You know, things like: Quitting your job of 17 years without another one handy, moving to a state you've only driven through once, working at one of the big 4 tech firms, and being fired as a Dad by my own son.

So, when do you decide to make a change?

Looking back on it, there were several discrete moments where I was 'out'.

Philosophic Disagreement: I was still an intern when I learned the company decided to shut-down all manufacturing at our site.  This fundamentally changed the company, from being a team-oriented place where we did everythig soup-to-nuts (R&D -> Manufacturing -> Sales) to being wholly white-collar.  I was so upset I called my Dad and said I wanted to quit, to never go back to that place.  I went back the next Monday.Burnout: When I was promoted waaay too fast and burnt out, at 25.  I was leading a team in America and one in India, and every single person on both teams was…

[Code Review] 1. The Case for Code Review

Just wanted to pause and write about that super-exciting topic: Code reviews.

Let's begin with defining what code review is, and establishing the case for making it part of your development process.  We'll also take a trip down memory lane and acknowledge doing code reviews was really hard for years, and now it's laughably easy.
What is Code Review? Simply, code review is when someone else looks at your code to critique for defects.  
Metaphorically, it's like when you hand your rough draft of a piece of writing to someone else and ask: "Does this make sense to you?"   The writing process and programming process are close kin, but that's another post unto itself.
So what is the reviewer looking for? Does the (changed) code do what you set out to do?Have you considered various types of good and bad input?  Do you handle errors appropriately?Does the work communicate intent clearly and concisely to the reader? There are more, but #4 interests me, because it…

How are you today? I'm wonderful

Thus far the quote of the month has been:
We should've moved here 5 years ago.
So far Austin is amazing.  In true Freudian fashion, my fingers wrote that last sentence as 'Austin is amazon."  :)  Amazon is amazing, too, but I can't quite talk about that.

So, it's August.   It's 100 degrees every day, 81 degrees at 7 am, and it's great.  Pollen counts are laughably low here, so everyone's improving in their allergies.

Traffic is bad, but manageable.  I have 3 good ways to work, two of them toll-free.  I can generally make it to work in 20 minutes on a 9.8 mile commute, getting 30+ mpg with the a/c on full blast.  One real blessing: Our building has a free parking structure next door, and that lets me park my dark-colored Fusion out of the sun.  I've so far washed the car once since I got here and the exterior still looks great--no rain and shade/garage will do that for you.  Getting home is a bit more 'fun', usually taking 20-45 minutes.  The…

Reboot: Now in Austin

A letter to myself in July 2015 from July 2016:
Dear sir,
This is your future self speaking.  Don't question and go all 'Dr Who' on me, just listen.  
Your life is about to change.   You've worked at Lexmark for 16 years unofficially.  You're looking forward to that congratulatory "15 years of service" email you'll get on June 4th, 2016.  
You'll never see it.  Let me explain a bit what's going to transpire: The company will "explore strategic alternatives" beginning in October.  I still can't tell you much about what happens after that, legally.  You'll start getting signals it's time to go from above.The company will announce a voluntary exit program with 'N' weeks of pay and benefits.You will accept this offer on the last possible day you could, March 4th.You will exit the company on April 1st.You will have job offers locally, but you'll turn them down in favor of rolling the dice in Texas.You'll finally…

Some Less Controversial thoughts on Agile: Scrum -v- Kanban

So, I've had a few rantsthoughtson process in the past.

I'd like to revisit those with my Big Boy pants on.  For one thing, during my current job search process, my experience in Agile in the past 4 years always comes up, so I thought I'd parrot here what I generally say in the interviews, on why you'd choose one versus another.

If you'll allow me, I'm going to argue that both are valuable, and both should be in your organization.

First, let's define our terms.  When I say Scrum, I generally mean the process that arose in the early 2000's employing same-size sprints, Product Owners, Scrum Masters, and backlogs.  See the wiki link for more detail.  When I say Kanban, I mean the process employing same-sized units of work in a continuous delivery stream with a strong focus on Service Level Agreement (SLA) for a given team.

Things I'm explicitly not discussing:

XP or "Extreme Programming"Scaled Agile Framework (SAFe)Any generic holy wars that…

Settling in for the Job Hunt, long-term

Well, the goodbye echos are over, the severance check is safely in the bank, and the initial supernova of Job Hunt Hysteria has died down.

Yep, I'm just unemployed at the moment.  Nothing terribly special...just a guy looking for his next gig, like millions of others.

The first week of "not going to work" didn't go so well.  I was completely off-schedule at home, and an person with my brain chemistry devoid of structure tends toward anxiety and acting-out.  I did act-out on Wednesday, so the road back there continues.  I have calmed down considerably, and I feel like I'm through the change curve to the point of "Yep, I don't work at Lexmark anymore."

I have two sorts of days now:  Days where I'm at home, and days where I'm on the hunt.  "Home" days like yesterday are really nice--I get to take some of the burden off Whitney and do things around the house, deferred maintenance and errands mostly.  For example, I finally closed our o…