Four Feeds I’m Reading Right Now

I’ve some a semi-annual pruning and searching on my RSS feed.  Here are some of the feeds I find valuable as a developer, engineering manager, and person. 

  • Daniel Bachhuber – I’ve known Daniel for years, and his feed focuses on things that are important to him. It’s not a single topic site by any means, but his writing on open source often influences my thinking. 
  • Rands in Repose – A manager of mine turned me on to Rands about 8 years ago, and I’ve been reading it regularly ever since. It’s a must read if you are interested in engineering leadership. 
  • Four Short Links – An eclectic collection of links five days a week. 
  • Jeff Wong – I sat near Jeff while we worked together years ago and he became one of my biggest influences on how I think about design. Years later and I still enjoy his writing. 

Who are you reading these days? 

A timeline of thought when someone blows off your meeting

Yesterday: “That’s an interesting idea. Let’s discuss it during a meeting tomorrow”. Send out an email with one paragraph on the idea so they are prepared to discuss it. Meeting scheduled for noon.

11am:  I have a meeting in an hour. That’s enough time for me to make some good progress on this ticket.

11:45am: This is a a good stopping point. I’ll get some water and then check my email and hacker news.

11:58am: I have 5 more browser tabs than I had 10 minutes ago, but I should go online for this meeting. 

12:01pm:  I guess they are running a little late.  I’ll look at Twitter since there is no point in starting back on real work. My meeting is starting soon.

12:15pm:  Hmm, I wonder if this meeting is going to happen. I’ll look at Reddit.

12:30pm:  WTF.

12:35pm:  Seriously, WTF.

12:45pm: Great, now I’m going to be pissed off the rest of the afternoon and when I finally share my idea, I’m going to come off as an asshole.

1:00pm: Fuck everything.

1:15pm: Apology email from the higher up that blew you off. They suggest rescheduling the meeting for Friday. 

7pm: I could have left an hour ago if people had respected my time.

Thirty Five

This is my fifth tetrahedral number birthday and me second consecutive semi-prime birthday. As a multiple of five, it’s also a “round number”.

Thirty Four was a year that I continued my growth as an artist. I regularly painted, sketched, and played with colors and shapes. I’ve started experimenting with block printing, and set up aaron.jorb.in to be the home of my art. I have art hanging in my friend’s homes. As a thirty five year old, it would be cool to have someone I don’t know own my art. Seems like a good goal.

From a professional perspective, Thirty Four was mostly a stable year. I spent time launching a new brand and relaunching another. My contributions to WordPress continued, but at a much slower pace. I helped organize the flagship WordPress conference and a new event focused on the intersection of WordPress and Publishing.  The next one is accepting speaker submissions for the next few days. Most importantly, I’ve set Thirty Five up to be an incredible year on the professional front.

One of my biggest personal accomplishments was being elected to the board for a non-profit I’ve volunteered with since I graduated college. Additionally, I got to see a childhood best friend get married at an amazing camping wedding, become an uncle for the first time (I can’t express how happy I am for my brother and sister-in-law) and had my first Christmas Morning celebration with two amazing kids and some of my best friends.

I’m excited for Thirty Five on so many fronts. I’m excited to see more amazing art as I work on my 2018 goal of seeing everything at The Met, while continuing to enjoy MoMA and making it to some of the other museums in town as well. I’m excited for the art that I’m going to make. And I’m excited for everything I have lined up from a professional perspective. Cheers to 35 years with me. I’m going nowhere but up!

I’ve previously blogged 34, 32, 2928.

Patty Melts

One of the greatest food items is the patty melt. It's a burger, it's a sandwich, it's delicious.

As great dinner sandwiches go, it is hard to beat the patty melt

The patty melts deliciousness comes from the fact that's it's only four components. Rye bread, hamburger, Cheese, and grilled onions. The simplicity doesn't mean you can't customize it though. Dark, light, and marbled rye each add a different flavor, but the biggest way to customize it though is the choice of cheese. Swiss and American are the two classics, but I think cheddar and muenster also deserve consideration.

BONUS: If you want to make the patty melt even better, make sure to include a pickle on the side for dessert.

A patty melt with a side of fries and pickles in a bag

Commit Messages are about Intent

Commit messages are user experience for developers.  Both for other developers active right now and for developers (including ourselves) days/years/months from now. Think about the last time you were looking at a piece of code and asked yourself “Why is this here”.  This is for you, this is your experience. I shared my four rules of thumb for commit messages, this is a little more in-depth.

Caleb Thompson proposes three questions that all commit messages should answer:

  • Why is this change necessary?

  • How does it address the issue?

  • What side effects does this change have?

In general, the first and second is the easiest to answer. In many cases, a link to your bug tracker will suffice (at least in part) for the first question. Your bug tracker should already contain the *why* for every change requested. The second question  is important when the solution is complex.

Does this mean that all commit messages need to be bland? Absolutely not. WORLD WAR Z-INDEX: Restoration of sanity to revisions/slider/menu z-index values. is an excellent example of a commit message that is both fun and informative. The changeset is small ( 3 lines changed, 4 deleted), and is fairly easy for us to answer the question “What is changed?”. The why is answered with both a link to the ticket of

Erlang/OTP identifies three important purposes that commit messages serve:

Good commit messages serve at least three important purposes:

  • To speed up the reviewing process.
  • To help us write a good release note.
  • To help the future maintainers of Erlang/OTP (it could be you!), say five years into the future, to find out why a particular change was made to the code or why a specific feature was added.

The third reason to me is likely the most important.  Boone Gorges identifies blaming and annotation to be important tools in understanding the history of code and history of decisions in his talk Building a Better WordPress through Software Archaeology. Our software has a history and commit messages are the first draft of that history.

 

Further reading:

Commit Often, Perfect Later, Publish Once: Git Best Practices

Best Practices vary from environment to environment, and there is no One True Answer, but still, this represents a consensus from #git and in some cases helps you frame the discussion for the generation of your very own best practices.

On commit messages

Any software project is a collaborative project. It has at least two developers, the original developer and the original developer a few weeks or months later when the train of thought has long left the station. This later self needs to reestablish the context of a particular piece of code each time a new bug occurs or a new feature needs to be implemented.

5 Useful Tips For A Better Commit Message 

Having a story in your git log will make a huge difference in how you and others perceive your project. By taking great care in commit messages, as you do in your code, you will help to increase overall quality.

The Art of the Commit

Think of the commit log as a newsfeed for your project, in which the log message is the headline for each commit. Have you ever skimmed the headlines in a newspaper (or, for a more current example, BuzzFeed) and come away thinking you’d gotten a summary of what was happening in the world? A good headline doesn’t have to tell the whole story, but it should tell you enough to know what the story is about before you read it.

Omnivore normative behavior

When reading about responsive web design, you’ll often come across the term “Hamburger Menu” and it will sometimes make me hungry. But it won’t make everyone hungry. It won’t make vegetarians hungry.  Nor pescetarians.

We live in an omnivore normative society where the assumption is often made that meat eating is normal and all else is the exception. Damn Omnivore Normative Behavior.

My current podcast subscriptions

One thing that I like about commuting versus working from home is that it gives me a specific buffer period where I can transition between working and not working. I use this buffer period to listen to music and podcasts and tend to go in phases where one is dominant.  Right now, podcasts are dominating.  Here is what I am currently listening to.

Girl Friday

Erin Gloria Ryan hosts a discussion that comes out every Friday that centers on the media, but especially woman’s experiences. The “Man Displeased” segment at the end helps show the comments that woman, but especially woman in the public eye, face.

All Songs Considered

NPR’s music podcast that introduces me to great music.

How I Built This

An interview by Guy Raz of NPR with someone that founded a company. It’s great to hear the stories of how companies that I respect came to be.

This Land Is Our Land

This started as a podcast focused on the trial of the Malheur refuge occupiers, but has also done a good job exploring land rights issues.

Leader.Team

It seems to have gone on hiatus, but Cory and Matt do a great job of exploring what it means to be a leader, especially in the context of engineering leadership.

Post Status Draft

The one WordPress podcast I listen to.  Joe and Brian have a great discussion about both current events in the WordPress community and evergreen topics like teaching yourself.

99% Invisible

Taking its name from the phrase “Ninety-nine percent of who you are is invisible and untouchable.”, this podcast looks at the hidden parts of design and how they influence who we are.

Savage Lovecast

Dan Savage serves up great advice every week in the humorous way that he is known for.

Wait Wait… Don’t Tell Me!

The NPR news quiz, in podcast form.  I dream of being a contestant or panelist.