18 December 2015

2015: A Work Year in Review

It's been a fascinating, sometimes frustrating year.   Today's my last official workday; I'll probably check email from here on out.

Some highlights to share:

Code activity


That pretty much tells-the-tale.  Up through July I was hot and heavy on of our projects, then I had a week of vacation (which was awesome...I really recommend Nags Head, NC.)  Throughout that time, I was working with a very sharp team, and we had a go-live with our changes on April 23d.  I didn't sleep much that night.  

Things would go downhill from there.  I can't go into much detail, but from April -> August, we were on an effort to move the hosting of our solution, and it got aborted when the company made a switch in strategy and the entire Ops group supporting us left.  This left us high and dry, and we eventually retargeted on another path that delayed us 6 months.

In early September, I got shifted from my previous position to one with our Retail Publishing Platform .  This has been an exciting opportunity, including a business trip out to Seattle to work with our dev/sales/support group out there.  I LOVE SEATTLE.  Well, I love Seattle at the end of Summer when it's not raining.

Probably the most frustrating thing--as reflected in the github:enterprise visualization above, is the lack of coding.  It's been docs, powerpoint, emails, strategy, and various duties away from code since September.

Politics
So, people from my work apparently read my blog, so let me just say it like this:  While I was on vacation in NC, my group got re-organized under another group.   So, basically, we had a whole new set of priorities atop/besides our previous priorities.  As part of that, there was a RIF in our software group, and several people left on top of that.  That's how I got on my current project; the previous guy left.

I say the above by way of recording the facts, not judging anyone.  

I also got introduced to the new group's strategic planning process, which is very thorough.

It's been a learning process.  Sometimes it's been a "telling" process, but I'll leave it at that.

Company as a Whole
The company is "exploring strategic alternatives."  At this point, I have no idea what the future holds.  We could be (A) bought outright (B) merge with another company (C) split into several businesses (D) something else an MBA can dream-up.

It's been an interesting 2 months since they announced that:  Attrition, rumors, etc. 

New Technologies
Leaving aside all the drama above, I've gotten some time with several new/new-to-me technologies this year:
  • CMake:  If you're building native stuff, use CMake.  Extremely powerful, well-documented, and gets you the cross-platform compatibility that the GNUtools have, without the cruft.
  • Valgrind:  Just yesterday, we encountered an apparent memory leak issue in production in a Linux PAM module.  I was able to use Valgrind to localize it within minutes, and now we've integrated that into the test/acceptance for that module.  
  • Docker/Docker-Machine.  This stuff is quite revolutionary.  Yes, virtualization is there and we pretty-much take it for granted, but docker takes it to a whole other level.  One can basically wrap a pre-configured "machine" around one's code in a way that makes puppet/chef seem clunky.  Docker runs natively on linux, and on Win/MacOSX through virtualization--though first-class Windows support is coming in Server 2016.
  • Spring Boot.  I really don't "buy" the Java stack anymore.  It's still a mess, and a bloated one at that, but I have to applaud the rigor that SpringSource is giving to making it a great out-of-box experience for developers.   
  • Angular / Jasmine / Karma.
  • Node-Red.   Neat...neat....NEAT stuff.  
I'm sure there are others I'm forgetting.  

Dev Machines and Environment
Most of the year I remained with my trusty MBP 15" Retina 8GB Ram / 256 GB SSD.  It's still a screamer.

On there I still love Homebrew for downloading and compiling dependencies.  Most of my coding is still in Sublime Text 3, but for Java/Groovy/Grails I used IntelliJ 14 Ultimate Edition.  

I've gone from a single 24" 16x9 ratio monitor to two, now back to (effectively) 1.

My new project is almost entirely Win32/Win64 so I got my Quad-core Xeon 2.4Ghz 6GB Ram 256Mb SATA machine out of mothballs and installed Windows 10.

Let me just say this: Windows 10 is amazing.   I jump back to OSX 10.10 and it just doesn't feel as slick.  No idea how those mad geniuses at MSFT did it, but Windows is back, and seems to have loads more security and integration features.  Things "just work" in the way they have for Macs for 18 years, but anyway :D

15 December 2015

Swimming: A Year In

Except for a 1 month break during the summer, Maria and I have been swimming every weekday morning, and I'm quite proud of our progress.

In January, we could barely make 1 half-lap of a 25 yard pool without being totally out of breath. Maria was very scared--she could barely swim--and she would only do kickboard stuff at first.  I was a complete goof, and the thought of doing even a full 25-yard stint frankly scared me.  I couldn't coordinate my movements, I couldn't breathe properly, and everything felt like a struggle.  I honestly didn't know if we'd make it out of January still swimming.

As I sit here today, we're both up to 1/4 mile in the pool each week day apiece.  Maria's confidence is much higher, and she participated in a local swimming club in the summer.



 As for myself, today marked the first time I swum 11 Fifty-yard lengths without using a kickboard.  I've just about gotten bilateral breathing on the forward crawl, and my technique is improving.

A few times over the last month, I've experienced a "swimmers high," which is very similar to a runner's high; a general feeling of euphoria in which you feel like you could just keep going, forever. My resting heart rate is down to 65 BPM, and I can handle the jolts of adrenaline/testosterone from my body during stressful situations much better.  My breathing is slower, and overall my cardiovascular capacity is much improved.

Honestly, when I started this journey, I couldn't make it up the stairs or chase after Grace effectively, at only 37 years old.  After some diet modifications, I've dropped 20 pounds and I'm almost back in size 36 jeans after being unable to fit size 38 back in May.

Swimming is a great activity, with lots of technique in addition to raw effort.  I have had several strains and injuries, mostly around shoulder issues or knee problems due to bad technique.  I do feel generally exhausted after a session, but nothing like when I was jogging.  There's simply no impact on your joints, so it's easy to recover.

Corporate Games & Your position

Once upon a time, my employer decided I was enough of a naive workaholic to put me on a list.  This list contained other people who were naive workaholics.  They decided they should herd us together and teach us to be more effective, slightly less naive workaholics.

The guy who taught the class had many nuggets of wisdom, but this one stuck with me.  He drew this simple diagram on a pad of paper at the front of the class.

 Simple enough?  He went on to explain.

"How many jumps are there between you and the CEO?  4?  5? More?   Let me tell you something:

Everyone between you and the CEO is playing a game.  The CEO doesn't have to; everyone works for him. You don't have to, because you're the lowest man on the totem pole.

Everyone else is playing a game.  What's maddening is the # of games one has to play to get anything done.

29 November 2015

Christian Doctrine: Justification versus Sanctification

Yes, I'm still alive, as my twitter stream would substantiate.

Felt led to share this.

First, some background: I'm a Protestant Christian.  As such, I follow the doctrine of Justfication by Faith (Sola Fide).  Justification by Faith, broadly defined, means that we are 'justified', that is, redeemed or saved, by Grace from God alone through Faith,

For by grace you have been saved through faith. And this is not your own doing; it is the gift of God,not a result of works, so that no one may boast. (Ephesians 2:9, ESV).  
So, there's that.  Simple enough?

Well, yes and no.  So, if I'm "Saved," through no action of my own, then it seems that my actions before and after such Justification are immaterial.  If I'm a member of the elect, might I just as well go on doing things that feel good and still punch my ticket to Heaven?

The answer is maddeningly simple:  Yes, you might do that, in that Christ's atonement is sufficient (Calvin's objections to the contrary notwithstanding), but in reality, once you become saved, your desire to do things apart from God's will decreases.

That's where we need to introduce a separate concept: Sanctification.  That is, "the process of being made holy."

Now, "Justification" and "Sanctification" seem like awfully legalistic terms, don't they?  What do they mean?

  • Justification: You avoid Hell.  Your bank account balances with God. If being born into a sin-nature damns you, then being re-born through Christ's justification reverses that process.  Thus, the symmetry of the Christian cosmos.
  • Sanctification: You're a baby Christian, you move to being an adult Christian, and as Paul says, "when I became an adult, I put away childish things."  You stop getting milk, you start getting meat.
Why is this a big deal?  Couple of things.
  1. It stops the treadmill of being "Good enough."  It seems obvious reading the New Testament, but many Christians--myself included--stay on a never-ending treadmill of quasi-Christian doctrine that you must work your way towards God.  "Cleanliness is next to Godliness," etc. Worse is the pernicious, "I'll clean up my act, then get saved." That's nothing like Christian doctrine, thankfully.
  2. It DOES give you something to do, and a reason to do it.
Getting Justified in Christ is like getting through the job interview and getting hired, then showing-up for your first day at work.  YOU GOT THE JOB!  Congrats, euphoria, all that.  (And indeed, angels laud this day!)

However: Now what?  What is your career in Christ going to look like?  Are you going to skate along doing the minimum?  Are you going to excel?  You have agency once again.  

I've been obsessed for years trying to figure out Free Will versus TULIP Predestination doctrine.  Turns out I had it all backward:  Whatever the mechanism, I am justified, now I need to work at being sanctified.

Will I have setbacks?  Yes.  

Will I have seasons where I move towards God?  Yes.

Is this all both liberating and exciting?  Yes.  It's like I've been struggling to get through a door for years, and I've been on a moving train all along.  Now I can actually enjoy the scenery.

God bless you all.   This may be bone obvious to you, but it's taken ~10 years of study for me to get peace on this.

19 August 2015

Ecclesiastes Moment: The Truth, Narcissist, is that No One Cares

This is sort of a follow-up to my On Steve Jobs post.

I write this with myself as the audience, after getting slapped with fish by life for the past 10 days.

No one cares.

You've been raised in child-centric America, from 1990 to the present.  You're behaviorally Millennial; you don't remember a time before computers, minivans, or helicopter parents.  You've always felt entitled to speak your mind, in whatever the situation.

When affronted, you're either aggressive or passive aggressive.  Unlike your Gen-X forebears, you can't take critique as the standard 'Wah-Wah' din of parents, superiors, or peers.  No.  You feel the need to respond.  And those same people better listen to you, dammit, because you're _________ (insert your name here, Snowflake).   You'll either run your mouth off or go to some form of social media to complain and find surcease.

Ibid: "No one cares."

They really don't.  They may patronize you and listen to your little ideas, or your silly complaints, but they'll adopt the same attitude they would with their 4 Year Old,  "How nicely you speak!  You know some big-boy words.  Yes, that's just awful.  Now run along and play while the adults do the real work."

Consider not holding that against them.

 The word we need to use here is entitlement.  You feel entitled for someone to listen to you.  For Heaven's sake, disabuse yourself of that notion.  Whether actively or passively, they don't need you.  Their need or want of you ends with the day, the meeting, the project, or whatever.  It's transactional.

When you cease producing, they'll try and do humane things: Retrain you, relegate you, finally releasing you in a broad swathe of "right-sizing."  That day will come; employment for life is over.

So, that being said: This melancholic fretting has to end.  Today.   You've stared change in the face for two weeks now and you need to decide if it gets the better of you.  (By the way, not deciding is a decision, Buttercup.)  Your wife and family deserve better.  Your colleagues at work depend on you and they deserve better.

So, please stop sucking.  Internalize that 'No one cares' and turn towards some things and people that do, okay?

  • God loves you.  To use more modern language, you are a sinful pile of scat and Christ loves you anyway.  
  • Your family loves you.  All you kids are crazy about you.  Your wife loves you, often in spite of yourself.
  • You're blessed to have a job.  Yes, it's going through massive transition and people are walking around 50% triggered (except you, you're running at 95% triggered)
/rant