bjoreman.com

January 15, 2022

That is me and my Corne

Corne split keyboard with LEDs and OLED screens Corne split keyboard with LEDs and OLED screens

"Another keyboard?! I thought you did not want or need any more? Especially not with screens and lights?"

Yeah, but you know … this one was all soldered and done! And it can hotswap switches!

And yes, it also has coloured lights underneath each switch, and a OLED screen on each half.

Plus, it took so long to deliver after the group buy that I had both forgotten exactly what I had ordered, and somehow misplaced my password so I could not log in and find out either.

This keyboard is called Corne R2G, where R2G stands for "ready to go", meaning it was soldered (and flashed with firmware) and ready for switches and a case right out of the box. Controlling the lights apparently required some custom code, so in the QMK firmware this counts as a sub-type of the more general Corne firmware.

The main exploration has of course been about the lights and screens, but my keymap has actually evolved another little bit as well. I have put in a layer with some useful system shortcuts - undo, redo, cut, copy, paste, and a special which invokes my clipboard manager Flycut so I can browse recent clips before pasting.

I also added a very basic "game" layer, where no keys you may need to hold down have other functions. I realized my home-row modifiers were completely incompatible with any reasonable WASD-type controls. This layer is also toggled on and off, unlike all the others which are only on while a modifier key is held down.

Lights

Not much excitement here, really. After I found Matt Gemmell's layout to reference, I pretty quickly got layer-specific lights working. I light up my numpad and arrow keys in blue, and most other modifiers in green. The shortcut keys get individual colors since they are so few and varied in function. Oh, and the reset button lights up bright red. Feels right.

I have no even partially transparent keys (but I have of course started looking for some), so I only see my lights between the keys. Even so, more light than I expected shines through. Once I do find more translucent keycaps, I expect I will need to lower brightness levels significantly.

To make space for pther things (i.e. playing with the screens as described below), I had to disable some stuff the default firmware for the Corne R2G enables by default. Namely, a lot of fancy rgb animations. They look great, but provide absolutely no other value. I am tempted to enable one or two as some kind of demo or screen saver mode, but not all fifteen or however many they are.

Screens

There is not all that much you can do with the screens, as they can only work with information on the keyboard itself. However, they can do a lot with how that information is presented. I found a wonderfully exaggerated source of material in Hell0 navi - a firmware for a different board which was easy to copy and adapt (here is my current version). Check out the readme for animated images of what the screens display - they have a stylish boot animation, layer display, typing speed indicator, and keypress indicator. And optional visual glitches. It is all quite meaningless, but very fun to look at and brings yet another layer of uniqueness to the keyboarding experience.

The only real problem was getting the firmware down to size while also having room for the code driving the lights. Most of that challenge was solved by disabling all those light animations, but I have some work left for the right half of the board, which currently can not have lights enabled. I think I can get there by creatively hacking away or re-writing stuff though, it might be fun to try and shave bytes off of compiled code every once in a while. I have also added support for displaying more than three layers - the Navi code was set up for three, but it was trivially easy to add more, and for successfully displaying the chracters for my home-row modifier keys.

Typing

Enough of setting up and playing around: what is it like to actually use? After a few months as a daily driver, I ended up moving from my Kyria back to the KBD4X, and then I pretty much stuck with that until the Corne arrived. Somehow, the differences to a non-split, completely ortholinear keyboard did not quite feel worth it in my Kyria time. But I did pick up a lot of keymap improvements which moved with me, and I do think my Kyria time laid a lot of foundation for the Corne, because getting into it has been both fun and faster than I expected.

During the past few months, I have been practicing my typing regularly using Monkeytype. It did feel very hesitant to do my first runs using the Corne, unwilling to ruin my statistics with the expected drop in speed, and wondering if switching back and forth would only further ruin my form.

Speed did drop, but it is picking back up pretty nicely. I have also logged a handful of runs with 100% accuracy, which I do not think I have ever reached before. Practice makes perfect, right? I think the layout of the Corne - with quite a bit less offset between columns of keys - suits my hands just a little bit better than the Kyria, and I do not miss the six extra keys at all.

Switching

All my key switches so far have been on the clicky side, with a clear bump as you press, and plenty of audible feedback. But since this board supports swapping switches, I figured it was time to try something new and picked up a set of Gazzew boba U4 switches from Splitkb. Described as "silent tactile" switches, the difference from all my others is marked but not at all unpleasant. They feel … soft-spoken. Solid, but solid with smooth edges, not solid like metal. I think I prefer the distinctness of some of my clickier switches more, but it is very nice to have something more quiet to type on as well. I imagine the next time I type on clickier switches I will be amazed by how they feel and sound. Then being amazed again when I go back to these and find myself able to type anywhere without disturbing neither myself nor others with the sound.

(I also bought a set of Kailh choc switches and transparent keycaps before reading up properly and discovering they do not fit this board. I could theoretically re-solder my Kyria to try them, we will see if the energy for that appears some day. The Kyria has no lights, so the transparency is kind of moot in itself, but I do also want to try what such a low profile feels like.)

January 01, 2022

Strange days

I have done something truly unique this winter: I consumed a longer piece of content multiple times. I do not know where that came from, nor where it will go, but it occured to me a day or two ago how exceptional that really is for me.

No less so because the content - essentially a recorded seminar - was in audio form, competing with all my podcasts for whatever listening time I have. That sounds like a very easy battle to lose on paper. But in actual life, it turned out pretty nice to have something to fall back to whenever the regular podcast list ran out of new things. A sort of way to prevent random additions of new things from all directions. Out of new content? Do not go browsing, just press play on this instead.

So what have you been listening to?

Getting things done fast, of all things. It is a roughly eight-hour recording of a seminar held by GTD creator David Allen himself, and that may well sound like the driest listening in the world to you.

I think of it as more of the audio version of the book, only even more condensed and in a much more conversational tone. I have had the book version of GTD since 2005 and have read it about 1,5 times. I picked up some useful things the first time - soon after getting it - but the main way I have adapted and been influenced by GTD has been through immense amounts of material on websites and podcasts, much of which originates with Merlin Mann. I have picked up a lot of useful thoughts from Merlin, and I have always intended to go back to the source, so to speak, for myself and see what more is in there and how it may have been changed in subsequent retellings. But we all know - okay, okay, I know - how hard it can be to find time and place for a physical book. Audio though, I can keep in in my phone and put on whenever I am doing something mindless.

If I formulate the seminar as eight hours of someone talking about productivity, it makes a lot more sense that I would spend time on it, as "someone talking about productivity" is what hooked me on Cortex just over a year ago, and made me spend all listening time over Christmas catching up on that podcast. Comparing to that, eight hours is nothing.

One important technical aspect is that I have put the seminar in Overcast, so it lives just next to all my other listening material. (Uploading your own files is a feature of Overcast premium, by the way.) And, I can listen at higher speeds with all the sound niceness Overcast applies as well.

Getting anything done?

At the time of writing, I think I have listened it all the way through at least four or five times. There is not much media in any form which I have gone through that many times, and even fewer if you filter down to educational-type things. Things start to gel in whole different ways when you go through material again with any sort of attention paid. Threads become clearer, pieces fit together better, and you always pick up something you did not pay attention to during previous run-throughs.

My own system for attempting to keep track of my life was always built on some pieces of GTD, and now that I am soaking in it a bit more I am starting to see how more and more parts could fit in and be useful, and also how I might put them in place in a way which works for my circumstances.

There is a lot of paper around in the world where Allen's seminar was held, and concepts such as the reference system and the tickler file just feel more elegant and approachable that way than digitally. Even the inbox concept itself becomes blurrier. It occured to me that I sort of had it as part of my system, but that it might be worth making it more explicit so that it can catch more things.

I am resisting trying to describe my own system right here, that should probably go into its own place some day. Suffice to say that it will most likely change slowly but surely, adapting more pieces from GTD where it can without getting bogged down.

Even the sort of outer edges of the seminar and sytem are starting to feel interesting to me. I have always focused on GTD as a thing for me personally, but some parts of the seminar go into getting things done as and within an organization. It remains to be seen if I will find concrete things to pick up from there, they still feel a lot more fuzzy than the core, but I relate to the problems described and find it intriguing enough that I want to dig into those areas as much as the core the next time I listen.

The power of repetition

Another thought this brings up is of course how much value there can be in actually repeating stuff. One question is whether I should make some kind of habit of repeating other things. Another is how many things I have consumed once which would give as much on repeat as this? Is it most things? Is it the rare exception in a flood of things best left as one-offs?

Summing it up, for now

Thoughts: provoked.

December 12, 2021

Buffering

Keeping a good flow is hard. If there is one thing which can stress me about Kodsnack, it is not yet having a next episode recorded.

(A close second is not yet having the next episode edited and ready for release, but that is a much smaller stress.)

Therefore, I like to have a buffer of episodes if possible. One is great, two is fantastic, but anything more suddenly risks becoming a problem of its own. Suddenly, guests may have to wait a long time for "their" episode to come out, and topics which are somewhat time sensitive either risk going stale, or will have to push back the others even further.

This has resulted in things becoming even more uneven those times when I have made a push to create a good buffer. First, I find myself recording multiple episodes per week for a while. This - while highly enjoyable - is somewhat tiring in itself.

But once I start making use of the buffer, it is very easy to slip into not recording any episodes for one or more weeks. And so the recording habit is lost for a while, and planning for coming episodes quietly slips as well because my mind is distracted by the fact that there are still episodes in the buffer.

Frustrating things, minds.

Also frustrating: things which upset regular schedules.

November 29, 2021

Editing for adults

It took perhaps five minutes after I finished my last post about starting fresh on a new Mac until I realized I will not want to standardize on Visual studio code as my One Editor for all types of text.

So what sin did it commit so quickly and completely as to immediately be beyond forgiveness?

Its cross-platform nature reared its ugly head in the worst possible way: Visual studio code has built its editing component in such a way that it can not support text services.

Sure, but what does that mean?

Services are one of many ways of automating things in Macos. I have created a few for myself which I have hooked into system-wide shortcuts. My most used one, by far, takes the URL from the active Safari tab and turns the currently selected text in the active application into a Markdown-style link to that URL. I use that dozens of times every time I write show notes for a new podcast episode, and I typically write show notes for a new podcast episode twice per week.

I am not sure where in the chain of technology Visual studio code breaks things. At first I thought I was doing something wrong setting up my service, as it was simply not showing up in the services menu (nor responding to my keyboard shortcut). But then, I noticed the shortcut working perfectly in other apps, fed Google a few words, and voila: an open bug about the problem, including some poor person working around it by entering text into the find dialog and running their service from there.

Did I mention the bug was opened in June, of 2017?

Clearly this is not worthy of a good text editor, nor of a good platform citizen.

I now face the fun question of whether I simply go back to Sublime text for non-code text editing, or if I should try some other more focused Markdown editor. Since Code will stay around for, well, code, my other editor definitely does not need all of the power Sublime provides. Tips are welcome!

Now, perhaps I should configure my shell aliases a bit more?

November 27, 2021

Macbook prose

I do actually miss one thing about the touch bar:

The animated arrow when touch ID is active.

It was a clear indicator even in the corner of my eye, and without it I somehow find myself taking a breath longer to realize I am supposed to authenticate with my finger.

Actually, I think that sums up everything I miss about the 2016 Macbook pro, which was my previous work computer. It served me very well for a long time, but the 2021 Macbook pro is such a comprehensive and huge improvement that there is nothing to miss anywhere.

I was on Zoom for a couple of hours, running on battery, unintentionally leaving my whole development environment running in the background. This machine absolutely did not care. The machine was cool, the battery almost full. Oh, and the fans were not only silent, they were actually completely turned off the entire time.

This is clearly unreasonable for a powerful work machine. But it just does it. Handles any task with understated power. And it looks and sounds great while doing so. Build times for our C++ code is halved, but the feeling of power and flow during my day to day web development is probably what will be the more important thing in the long run. It gives the same feeling - only more so - as my Mac mini: the machine just sits there quietly, housing the power to do anything I ask without it seeming the least bit taxing.

Oh yes, all this is also while taking a step down in size. My 2016 machine was of the 15-inch size, while this one is 14. Cool things come in small packages.

Looks, sounds, and feels

I was not sold on the look of the new Macbook pros when I just saw them in photos and videos. Handling one in person, I think it looks great. It both feels more modern and clean, approaching "looks like a 3D rendering"-territory, and somehow reminds me of old Powerbooks at the same time. It feels nicer to hold, and is solid in a way which reminds me of something I can not quite place.

The notch exists, and that is the extent of problems it has caused me. The eye tends to ignore it in favour of the outrageously good screen stretching out below. Sharp, bright, and beautiful. That impression of pixels somehow being right at the surface of the screen is definitely there. And the processing thrown at the slightly better camera hardware hiding in that notch really makes a difference. Whichever room I am in looks brighter and has nicer colors on camera than it does in real life. But surely daring to step above the courageous 1080p resolution would hurt nobody?

Sound is slightly outrageous too, the speakers sound louder and better than they have any right to.

The keyboard is back to being my favourite among laptops. It could have been a candidate for overall favourite if I had not fallen into the rabbit hole of ortholinear 40% keyboards. As it is, buttons feel a bit spread out, and some things are simply less convenient than on my own layout and a smaller keyboard. I do not think I will ditch using an external keyboard when the laptop is in desk mode with monitor and everything else connected, but I will happily use this keyboard on the move.

An unexpected nice little detail since my last keyboard: the fn key now doubles as a globe key, which I can tap to bring up the emoji picker anywhere. Much nicer than the regular keyboard shortcut I somehow forget all the time.

Starting fresh

I decided to set this machine up from scratch rather than migrating things from my previous one. I do like to keep things convenient, and so usually go for the migration assistant. But since I was moving both machines and architechture at the same time, it felt even more appropriate not to bring a bunch of baggage along.

It occured to me that I should create a list of large and small things I do when setting up a new computer, and possibly a separate list for home and work. There are always things I realize over time, things which would be very quick to rattle off all at once if I just had a list of them.

On the other hand, I do enjoy starting fresh and re-evaluating things here and there as I go. For example, I have only installed Visual studio code on this machine, rather than using it and Sublime text for different purposes. I have kept Spotlight on its default cmd-space keyboard shortcut rather than ctrl-space where I had it before. I did not blindly copy my whole Zsh configuration file over, and while I have copied a few things and still miss a few more I definitely have not missed or even understood everything in the old file.

Another bonus of starting fresh: rather than get packages installed for Python 2, I finally did the minimal work (thanks, 2to3!) to upgrade the script I use to build this site to Python 3.

Laptop versus desk

But how will I use it?

A wonderful small package which encourages being on the move, working in different places and positions, and so on. But my desk setup provides such better ergonomics, which unfortunately negate not only the advantages of compactness, but also many of the other improvements. I have a laptop begging to be used as a great laptop, but chances are I will ignore that most of the time. Sad in one way, truly the best of worlds in another. And it probably will make me change up my work position and location more often, which is also a plus. In the little more than a week since getting this machine, I have already spent a lot more computing time away from my desk than in a long while. Many moments can be computing moments when the nicest and most powerful computer in your life also happens to fit on your lap.