The notes, October 04, 2017

I’m intrigued by folks having luck building virtualized development environments for localhost setups. It sounds like fun to work in this kind of workflow. I never want to do the legwork to make this work, though.

I did the preliminaries for this last year and ended up turning back from it. I understand Docker and virtualization superficially at best. I don’t want to impose it on teammates. It’s still too hard to search for Unix-y error messages and fix your development environment. Trying to figure out if your host Unix, Docker, or a virtualized Unix are the problem is not something I wanted to do to someone else.

Is Amazon Lightsail a move by AWS into the space occupied by Linode, Digital Ocean, etc.? Related to virtualized localhost setups: someone write me a thing to drop my dotfiles from macOS onto a Digital Ocean, AWS, etc. instance and do development from an iPad, keyboard, and SSH client.

Hammerspoon is a really cool to do all-the-things with your keyboard and some Lua. I use it to launch/switch to my most frequent dozen apps and some light Markdown helpers. But, something about it is correspondingly creepy. It can, theoretically, scoop up every keystroke. (Which probably every bit of open source I install via Homebrew could, to be honest) But maybe I could replace it with a clever bit of Alfred workflow and scripting. Catch a triggering keystroke and then give me a constrained list of apps to switch to. Yes, this is a very strange way to hit Command-Tab! I wonder how well a few custom Alfred workflows fit into a dotfiles repo.

Tracking your own context switches

Why I do Time Tracking

At one point, I tracked every context switch during my work day. I kept a legal pad next to my mouse and I would write down the time whenever I switched between coding, emailing, surfing, talking to someone in my cube or walking around to find someone I needed to talk to.

People thought I was odd. They’d ask what I was jotting down when I noted my context switch, so I briefly explained it. “Okaaaayyyyyy?”, they’d say. An unintended side-effect was that people did end up bugging me about random things less. In fact, it was way more effective at that than putting up a sign that said “unless something is on fire, email me”. So it goes.

I never ended up running any aggregate numbers on the data. But, it did give me an idea about the frequency and cost of my context switches. I wish there was a better way to track this sort of thing passively. I’m sure it would still shock me how much time I go in and out of focus.

If you’ve never tried this sort of experiment, it’s worth running for a week or two. You’ll almost certainly notice something worth trying to cut out by glancing over the list of things you’re spending time or wasting focus on.

Working from home, better

Tips for working alone:

The other thing I’m doing is bringing back my practice of writing “daily pages”… ~750 words a day to myself, that sort of help me get everything out in the open in my head and so that I can find a bit of clarity in my typically scrambled thoughts.

I do this too. I find it’s pretty handy for focusing my thoughts and bringing ideas out.

Some other things I’ve done working from home the past year or so:

* Put as many distractions as possible in another room. Get the TV, Xbox, etc. out of your workspace.
* Keep it clean. Nothing is more distracting, to me, than mess and clutter.
* Take a nap! I’ve become a regular nap taker lately, right after lunch; it’s noticeable the improvement it brings.
* Use Twitter, IRC, Campfire, IM, etc. as your watercooler. Standard disclaimers apply – make sure your work/socializing blend is right.
* Get out every once in a while. I try to get out to socialize with other geeks or get lunch with my wife at least twice a week.

And remember, working from home isn’t for everyone. If it’s not for you, look into your local coworking space. (Dallas folks: give Cohabitat a try, it’s great.)

Kill your menubar darlings

The Menubar Challenge – everybody, clear out your menubars! It’s one of my secret productivity weapons, I highly recommend it. Also, read everything on Minimal Mac; it’s the best.

Here’s my current attempt to use as little as possible in my menubar:

OS X menubar.png

LittleSnapper normally isn’t running, so that doesn’t count. If I could, I would run DropBox and FastScripts without menubar icons. I’m still not sure I like having a clock visible at all times, but at least analog clocks are classy-lookin’. I’d love to remove the battery icon, but it appears doing so disables the “your battery is tapped” warnings, leading to spontaneous laptop sleeping.

Whither desktop or web

Lately, I’m finding myself replacing free web-apps with desktop software or commercial web-apps. Allow me to explain my evolving philosophy for you.

Web applications make the most sense when people get together to create something greater than the sum of their individual parts. GitHub and Readernaut are great examples of this. The latter, in particular because its _fun_ to use, but also in its focus. The former is great in how it puts a radically different spin on the act of sharing code, but also because their team is *kicking ass*.

I am eager to pay for continuity. Ergo, I put down money for Sifter, GitHub and Flickr. Sure, it’s entirely possible that any of these services will go under. Paying for them makes that less likely, and I’m happy to vote with my dollars on an app.

“Living in the cloud” is kind of a drag. I travel just enough to want to use airplane time as a super-focused work sprint. If my links, for example, live out in the cloud, it becomes tedious to save things away while I’m disconnected, let alone impossible to access them.

Ergo, I now favor web apps in spaces where getting my friends involved is more interesting and I favor paid apps or desktop apps where I want it despite my connectivity or where my friends, as great as they are, can’t help or prove a distraction[1].

fn1. My friends are awesome. Its just that an app like Facebook is more of a distraction than a must-have tool. For me, at least.