Standing desk: A 1-year retrospective

In February, 2014, I started working >50% at a proper standing desk at my house. In the year prior, I occasionally worked at a make-shift standing desk in my kitchen, which comprised standing at the island and resting my laptop on a flimsy Disney Princess art tray. The ergonomics were obviously terrible, so I only did that for a short spell. I had become enamored with the $22 standing desk and started planning my own. The final component was a proper monitor, which my employer provided in February. I followed the instructions to build the monitor / keyboard stand, and in no … Continue reading Standing desk: A 1-year retrospective

At the end of the day, shut it down

This is a story about habit change, told via two recent examples related to work/life balance. I’ll conclude with some recommendations on how to apply this to your own life. The setup To improve at “living in the moment,” to be more present during non-work hours, and to more effectively balance work and life, I’m working to eliminate two small bad habits: checking work email off hours using my work laptop to do, well, work, during off hours Important detail: I work from home, so leaving work devices at the office isn’t an option. Now then: I initially thought a … Continue reading At the end of the day, shut it down

Go: Working effectively with database nulls

This post covers how to marshall null values from a database into a Go struct type and how to save nulls back to the database. I’ll cover the standard library’s sql.NullString, NullInt64, NullFloat64, etc types — which I’ll refer to as sql.NullXYZ when indicating the collection of types and not a specific Null type — important methods on those types, telltale errors, and some helpers for working with values coming from form posts. This code uses SQL and the standard library. Takeaways In structs, use sql.NullString, sql.NullInt64, and its ilk instead of string and int for fields that persist to … Continue reading Go: Working effectively with database nulls

Working with Queue and Stack people

My colleague and friend Clinton told me once about himself (I’m paraphrasing): “I’m a stack, not a queue”. This is not a post about queue and stack data structures, but about people and their behavior biases toward task management. I’m focusing this discussion on tasks that represent defects to be fixed, quick-win feature additions, and other short-term tasks. These are tasks that can probably be completed in a few hours to a few days. I’ll describe these biases and how they manifest for different types of people in their emotional and behavioral responses to incoming tasks. I’ll also describe how these different responses can create conflict on … Continue reading Working with Queue and Stack people

Intellij IDEA: Running your own Go programs against editor text

In this post, I’ll describe one approach to running programs written in Go against text in the IDEA editor. This same approach applies to any Jetbrains IDE, such as PyCharm or WebStorm. Admittedly, this is niche. Tracking time at work Number 1: Every few weeks, I need to submit a virtual time card. If I work over 40 hours, I need to note that for comp time. If I work under 40 hours, I need to fill it in with PTO. Number 2: I work on several projects, and I need to track what percentage of my time I devote to … Continue reading Intellij IDEA: Running your own Go programs against editor text