Thoughtful post about trailing conditionals in Ruby from Jerod and how to make code readable, scannable, and obvious.
Code is read much more often than it is written, so we need to optimize for readability over writeability. Trailing conditionals tend to do the opposite.
Reminds me of a sign I used to see in a front yard on my daily commute when I lived in the Houston area. It read: GARAGE SALE when flashing.
I'm adding Go in Practice to my TOREAD list since one of the co-authors is Matt Farina, an experienced polyglot and former colleague of mine at HP whom I respect a great deal.
The Ebook format is now available in early access from Manning.
I sat down with Linux Format at OSCON 2014 and chatted about some of my favorite things — APIs, Ruby, and GitHub. I cringed at the title, but bad puns are pretty much my personal brand anyway.
The March issue is available online or from iTunes.
A fantastic intro to jq, a tool for processing JSON that has transformed the way I work over the last few years.
When I think of Groundhog Day, I think of Punxsutawney Phil, Bill Murray, and David Seah1.
Eight years ago, Dave wrote an article about Groundhog Day Resolutions, a creative way to follow up on your goals and New Year's resolutions each month:
Extending the pattern of dates, I hearby decree that the THIRD DAY of the THIRD MONTH, the FOURTH DAY of the FOURTH MONTH, and other dates with the same magical month/day pairing as days of GHD Resolution Review. That should be easy to remember for everyone, and the numerical pattern should work as a reasonably-good memory trigger.
Dave's productivity tools are beautiful if paper is your jam.
Mike English on preferring written communication for remote teams:
Generally speaking, remote-first communication means preferring written, searchable methods of communication that work even when the sender and receiver aren’t engaged at the same time.
Every meaningful conversation should have a URL, even if it's only a summary of a face-to-face meeting after the fact. Seeing the conversation leading up to unpopular decisions builds trust.
This means that phone calls, while potentially much better at conveying tone and establishing emotional connections, cannot be the default method of connecting with teammates.
Phone calls and hangouts have their place. Tone is important. It's more difficult to convey in writing but it can be done.
A beautifully illustrated README for Gotalk, an async communication protocol and library from Rasmus Andersson.
Peter Welch on English:
But if we accept the chaos that informs the language, there's a lot of expressive power to be found.
Holds true for Ruby, too, perhaps the most English-like of all programming languages.
Edsger Dijkstra, a year before my birth, on what would be my first programming language:
“It is practically impossible to teach good programming to students that have had a prior exposure to BASIC,” he groused in a 1975 essay titled “How Do We Tell Truths That Might Hurt?” “As potential programmers they are mentally mutilated beyond hope of regeneration.”
When I was in the sixth grade, without any peristent media on my Atari 800, I spent hours copying, recopying, and later completing my brother's high school computer homework.
Years ago, before I began working remotely full time, I would often steal away to a hidden conference room on some sparsely inhabited floor to hide out and work. Getting work done often meant getting away from the office chatter.
The sounds of other people working can be overwhelming. It doesn't take much to overload my senses and shut down my brain.
The nature of remote work changes the nature of communication. Chatter for remote workers comes in a different form. Messages are often asynchronous and non-blocking. The result is longer periods of intense focus and concentration. Productivity ensues.
As much as we still complain about our clogged inboxes, for remote workers, noise is seldom the problem. It's silence.
If a little quiet is good for work, then more quiet should be better, right? For me, a prolonged lull in email, chat room conversations, and @mentions can have its own negative effects.
Even the most independent people need regular human interaction. I normally work at home, where we also homeschool our kids. When not at home, I frequent local coffee shops with friends in the industry. I'm rarely alone.
Yet the co-workers I work with most are in North Carolina and South Dakota, quite the hike from North Texas.
When online communication lapses, it's easy to feel isolated with that kind of distance between team members.
When people stop asking you questions it's easy to begin doubting (however misguidedly) the value you bring to the team.
Tips for handling the silence
Chatter is seldom constant. Every din will eventually recede during periods of travel, holidays, and life events. It's the artificial lulls that you have to watch. Here are some things that help me handle that cycle.
Never work alone. It sounds obvious, but your chances of getting isolated decrease considerably when you're actively part of a team. Enlist support for features or initiatives you want to work on, or pitch in on someone else's efforts. We're better together.
Look out for each other. On the flip side, don't become so blinded by your own TODO list that you fail to notice when a co-worker has gone radio silent. An email, IM, or phone call has real power to help someone feel more included. I have no official HR responsibilities, but I try to reach out to new GitHubbers a few weeks after they're hired, just to say "I'm glad you're here, are you getting plugged in?"
Embrace the rhythm. Take advantage of those brief periods of peace and quiet, knowing things will get loud again soon.
Embrace the noise as the soothing sounds of -ing.