Skip to main content

Pretty Good Hat

Tag: tools

Continuing my weekend of exploring my own web stuff, I’m digging into my logs for the first time in a while, and finding GoAccess to be a really nice, lightweight, and useful tool.

On @FlagrantError’s pointer, I tried out Rectangle as an alternative to Amethyst. It’s not (currently) a true tiling window manager, but holy smokes it’s fantastic! I’m trying the Rectangle Pro features with the free ten-day trial and it’s a 100% certain purchase for me. It’s absolutely packed with smart mechanics for managing windows with keyboard shortcuts and/or a modifier + mouse combination. Repeated activations of a shortcut can cycle through multiple configurations. And there’s a brilliant feature to activate the “mouse throw” of a window using multitouch activation on a trackpad. I’m totally hooked on it.

A screenshot showing a Backblaze error message instructing the user to compare files to their backup

Backblaze entered this “freeze state” a couple of weeks ago and their tools to figure out what to do about it are sort of baffling. I’m supposed to compare my files to my backup state? All of them? How? For an indispensable piece of software, its usability is sometimes so disappointing.

a screenshot of a web application showing a table of statistics for a game character

Last fall I wrote a bit about a Destiny 2 power level tracking tool I built using R. I’ve now converted it to a full-on Shiny app and solved some issues with the oauth2 flow that stumped me in my intermittent tinkering with it. I’m super satisfied to have been able to get this to work! Now that I have the authentication process figured out, I’m eager to also convert my armor profiling tool to use it. Look out!

You can check it out here: traveleR

There is still a pretty good tape and baling wire aspect of it, but I’m pretty pleased to have put together a nicely-working revision to my photo posting, using a MacOS shortcut to upload photos to my media endpoint and output their destination URLs to a list that I can grab from in Drafts to compose and post. It was nice learning for a Saturday, too.

Data storytelling with last.fm: Ever since wondering if I could make something vaguely Spotify Wrapped-like with data from last.fm, I’ve dived deep into retrieving, slicing and making pictures of my music data over the past several years. Experimenting with a view of my most-played tracks over, it started to click for me just how many stories are found in this data, that this is much more than listening history – my own stories are embedded in this data, too.

In this plot of my most-played tracks for each year since 2005, you can see the huge spike in 2015, featuring huge numbers of plays of songs by Lord Huron, Frank Taylor, Hem, and Josh Ritter. I knew immediately what this was: The bedtime playlist for our kiddo, whom we would tuck in and leave to listen to songs they loved at the time. They’ve never, ever slept well without a lot of work, and for a while we had a beautiful routine of tuckins and music.

a parallel coordinates plot showing many colorful dots and a vertical spike of much larger dots in 2015

It’s a little bittersweet to see this, as it represents a really hard time in all our lives but also signifies a lot of love and, in the music itself, something that’s always been and continues to be really special.

(Methodological note: Because the spike in 2015 is so high, I had to re-do the entire plot on a log scale in order to see any variation at all in the lower-numbered tracks! I made up for that by scaling the size of the dots to the true total annual play count of each track.)

You can see the data entirely fall off a cliff after 2015. This same picture also tells the story of the death of Rdio, at one time my very favorite way to listen to music and which had great support for tools like last.fm; I replaced it with Apple Music, which has never natively supported that record-keeping, so 2015 is the last year until 2020 that I even have much of this information.

That, of course, is the first year of pandemic and also the first year I started using Roon, listening to music exclusively at home, and shifted all my workouts to home, too. So that big 2020-2021 spike of lots of colors? That’s my wife and me lifting weights and doing squat jumps in our living room!

a colorful stack of close-together dots in a scatterplot

In 2007 you can see the light blue dots appear: That’s when I started listening to Josh Ritter, while away from home for a few months. I was living alone in Bellevue, WA, on a pre-doctoral internship, and carrying my iPod in my pocket while jogging or walking in the park across the street from my long-term company housing complex. I can trace those light blue dots and lines all the way through to now (though the frequency of that workout playlist swamps even my favorite artists right out of the annual top twenty). And looking at this graph I can see the trails in that little park, remember the first time I heard Josh Ritter play “Wings” in my headphones; I can recall tucking the iPod into the console of my rental car, and then spiral into memories of the post-internship vacation that my wife and I took up to the San Juan Islands, where years before I spent a summer teaching climbing.

photo of a shiny silver car gear-shift, with a white third-generation iPod tucked beside it

I can click the 2011 dots to see the music I played for our kiddo in the car while driving to and from day-care. There are some silly kids songs that they used to love, and I was also on a pretty good OK Go kick at the time, so “This Too Shall Pass” was a common track in the car. God that song still gets me. I got into TV On the Radio around this time, too, and found it good car music. (Again: Thanks to Rdio, I was discovering and listening to a lot of music.)

Way back in 2005-2006 I was working at home on finishing my disseration. In iTunes I had albums from Richmond Fontaine and Tom Waits in heavy rotation – Ripped from actual CDs that I bought at Gopher Sounds in downtown Flagstaff!

I’m honestly surprised that last.fm is still operating. I’m not sure what it really does, anymore that would make revenue, but I’m glad it’s still there and that I have good tools to store my listening history once again (Oh – including now adopting Marvis as a great iOS app for scrobbling when I do listen to Apple Music again, thanks to some good discussion with music folks at micro.blog!) When scrobbling stopped working reliably there after 2015, for a while I decided that I didn’t care: listening to music was an ephemeral experience, and so would be my interest in online web-2.0 tools, I reasoned, and I made peace with leaving behind that history.

Now, as long as it continues to work, I’m so happy to have this somewhat constant and almost invisible trace, this throughline of so many moments in my life.

Keyboard Week!

What a great hobby week. A few days ago I built a keyboard with my kiddo, and yesterday I got started on a build for myself. We built the KBD67Lite from kbdfans. While I’ve had a couple of mechanical keyboards, these were the first that I’ve built up from parts – fortunately, the kbdlite comes as a nice kit which made for a gentle introduction to lubricating stabilizers. (Which, by the way, makes a tremendous difference.)

close-up view of a hotswap PCB

Kiddo picked out keycaps that make this lovely gradient, and they feel really nice.

side view of a purple keyboard case with keycaps that run from vivid to pale pink and orange

I went with gray keycaps on a white case. So far this board is a real pleasure to type on. Now that I have a good point of comparison with my Q1 board I can start to get a feel for how qualitatively different switches and keys can feel. By comparison, the Q1 is indeed a little pingy, for example, so I’m even more curious to see how some modifications to its components could feel.

top-down view of a white keyboard case with gray and dark gray accent keycaps

After the build, I did some work in QMK to program a couple of MacOS specific layers for the KBD67Lite. Unlike the Q1, it doesn’t have a hardware mode switch, so I have to make a virtual one that lets me toggle Mac and Windows layers with a key combination. Fortunately I was familiar with working in QMK from all the screwing around I did with the vim mode I built, so it didn’t take too long to figure this out – and I’m happily typing away!

Too Many Words About Two Keyboards

In the span of three weeks I’ve somehow accumulated not one but two mechanical keyboards: A Keychron K2, and a Ducky One 2 SF. I had ordered the Ducky first, but it was out of stock and after about a week it appeared that its shipping date had been pushed back even further – several more weeks out from my reading of the inventory update at mechanicalkeyboards.com. In a fit of impulsive work-at-home consumerism (in which I see I am in good company, I also ordered the Keychron, which arrived in just two days, and I’ve cheerfully been banging away on it for the last couple of weeks.

Well. The Ducky turned out to ship much sooner than I expected based on the order number I had, and it arrived last night.

Comparing the two isn’t quite apples to apples because they have different switches: The Ducky has Cherry MX Browns, and the Keychron has Gateron Blues. My logic with the K2 decision was that I would use it mostly for work, and would appreciate the tactility for day-in typing, while I would mostly use the Ducky with our gaming PC and would prefer a little less key pressure there. Note that this is one hundred percent a ridiculous post-hoc rationalization. I figured, if I’m going to have two of these things, I might as well try a different style. We’ll see how that bears out! I’m swapping back and forth between the two while typing up these thoughts.

I have come to really like the tactility and sound of the blues on the Keychron. I’m a little self-conscious of it when I’m on a work call, and will try out some of the tweaks that Phil describes in his notes. A few keys are a little wobbly or scratchy in their travel, which I don’t notice at all so far on the Ducky. True to the way they’re described, the slightly more positive tactile feel of the blues does make them feel more accurate for doing lots of straightaway typing.

Agreeing emphatically with Phil, I sure think Keychron put the del key in the wrong place. But I do prefer the true top row of F keys on the K2, in part because it means that Esc is a dedicated key and doesn’t share functionality with backtick and tilde; I use all three of those a lot, and I don’t like needing to use modifiers. The Keychron also has a surprise dedicated screen-capture key on that F row, which I find I use way more than I realized for work. It’s really nice to not need to fiddle with multiple modifer keys to find that one. The Ducky has one accessible with the fn key, but I’m never going to remember where it is.

Among other things to really like about the Keychron: The Windows/Mac switch and the three toggle-able bluetooth connections are really good! I won’t actually swap keycaps every time I swap PC modes, but the keyboard comes with both sets of Win and Mac modifiers keys, and my muscle memory with both systems is juuust about good enough to simply change modes and be pretty effective. 1 Three bluetooth settings lets me swap easily between my work PC, my MacBook, and an iPad. This is great for my current home office setup, where I can bring the MacBook over at the end of the work-work day and hook it up to the monitor; then I toggle to Mac mode and tap fn-1 to activate the bluetooth connection to it. It’s really slick, and is a great capability. I haven’t noticed latency as an issue. Both keyboards use USB-C so I don’t need to fiddle with anything to swap between them. The K2 thoughtfully includes a right-angled plug so the cable connection is really low profile.

the stylish rat design on the space bar

There’s no disupting that the PBT keycaps with the Ducky are better. The texture is subtly more pronounced, while the ABS keys on the K2 can feel a little slick – and they definitely show fingerprints more readily. The slightly thicker cap of the Ducky is nicer to feel and to strike. Ducky is also really fun because they throw a few bonus spare keys with different colors or print styles into the box; my Ducky came with a super cool year of the rat space bar, and I’m absolutely rocking that thing. While I’m not a big LED fiddler, both keyboards have lots of light modes, though the Ducky’s LED is a full RGB while the Keychron’s is white. I’m a simple man and go for a steady glow. The shine-through of both key sets is nice and sharp. I’m really thinking about a PBT keycap upgrade for the K2.

If every app were vim, the location of the page up/down and home/end keys wouldn’t matter as much, but, alas. Two weeks in, I haven’t gotten used to the location of those keys on the K2. In addition to the misplaced del key, the Keychron has those four keys in what I think is just the wrong place. Ideally, I would swap the two sets – putting page up/down immediately above the right arrow key. That would make it easier to grab with muscle memory. The Ducky also has a small gap between that column and the main set of keys, which serves muscle memory better, even in just a very short time of use; it also has the Del key in the proper location, and because it uses modifiers to turn page up/down into home/end, there are two fewer keys in the column to confuse my fingers. It’s almost immediately feeling natural to hit fn+ one of those keys to modify it to home/end, and I can locate the correct key much more quickly while touch-typing. This is a really well thought-out design on the part of the Ducky folks.

The height of the Ducky is better – by comparison, the front edge of the Keychron is like the Cliffs of Insanity. This hasn’t actually bothered me in the couple of weeks I’ve used the Keychron, but I can certainly see it being a problem. Trying out a wrist rest is probably a good idea.

Notes on swapping between the two: Having played some Destiny 2 with the K2 and felt the push-back of the stiffer switches, I’m definitely looking forward to the experience of playing with the brown switches on the Ducky. I think the blue switches do win for solid typing feel, but whenever I change between these boards, my first thought is, “wow, the K2 is loud!” It’s probably good that I mostly share my home office (it’s the dining room) with a lab/border collie mix. Phil is 100% on the right track to suggest some modifications to dampen the case noise a little. But both feel similarly robust; neither feels flexy or cheap and nothing makes me sense that the Gaterons are any lower quality than the Cherry switches.

Time will tell if I migrate to one or the other more full-time for work and/or for fun. For now, to finish a way too long and self-indulgent post, I’ll just say I’m a happy convert to these keyboards. They’re fun and feel good to use, and I will take anything I can get that helps me look forward to sitting down to work at this particular moment. Good tools matter; these are both good tools.


  1. What I could really use is a keycap with both modifiers printed on it; that would be an even better solution for the Keychron, and would eliminate the occasional “waaait, which is cmd again?” moment. I’m almost tempted to use a white paint marker to scribble a tiny cmd and whatever-Apple-calls-that-alt-symbol on the K2’s modifier keys. But I’m not there. Yet. ↩︎