I didn’t need all those keys anyway I’ve posted a few keyboard builds here over the years. Each one was me looking for some kind of efficiency, or just wanting to try something different. This time, I wanted to solve 3 problems: I wanted to move my hands less I wanted to really explore layers and combos I didn’t want to buy… Read More
VPN remote desktop with tailscale and x11vnc I have 2 linux machines: local and remote. local is the laptop I carry around to different networks–into the office, coffeeshops, library. But I want to be able to log into remote when I need it. It’s pretty simple to do this with tailscale + x11vnc. SSH keys On local: ssh-copy-id remote and enter the… Read More
Raspberry pi laptop A story about a raspberry pi laptop Once upon a time I was excited about typewriters. Wait a minute, I am still excited about typewriters. Once I was excited about typewriters, but also computers. I knew I liked the immediate typing experience and the “nothing can interrupt me now” flow of having one and only… Read More
Raspberry pi: set numlock at boot On my new pi laptop (to be described in a later post) it always boots to console without numlock. I would prefer numlock to be ON always. Raspbian GNU/Linux 10 (buster) Working directory /home/pi/Dev/ Script setNumLockOn INITTY=/dev/tty[1-8] for tty in $INITTY; do setleds -D +num < $tty done Service setNumlock.service [Unit] Description = Set numlock… Read More
Python enthusiasts: try mamba as your conda resolver Conda solves a bunch of python environment problems. It makes it easy to manage different environments and use different dependencies for different projects. But sometimes it hangs and then tells you that the packages you are trying to install won’t work together–but not exactly WHY. I spent much of the day trying to debug a… Read More
Globally replace a font in linux There are many good fonts, but a few are terrible. In linux, we can force a replacement of a particularly hated font: Comic Sans Terminal sudo vim /etc/fonts/local.conf In this file, this will do it: <?xml version=”1.0″?> <!DOCTYPE fontconfig SYSTEM “urn:fontconfig:fonts.dtd”> <fontconfig> <match target=”pattern”> <test qual=”any” name=”family”><string>Comic Sans MS</string></test> <edit name=”family” mode=”assign” binding=”same”><string>Ubuntu</string></edit> </match> </fontconfig>… Read More
Build a split planck keyboard This is my favorite keyboard. It’s comfortable, fast, and efficient. Make one! Materials 1 Arduino pro micro 1 nice micro usb cord 48 switches (your choice) 48 diodes (1N4148 or similar) 48 keycaps (I like DSA profile) 2 ft of old ethernet cable Some wire (18 AWG to 28 AWG is fine; copper is better)… Read More
Setting up a streaming webcam on raspberry pi Purpose Audio baby monitors are cool and all, but how do you know when your 1-year old decides she’s big enough to climb out of the crib? Enter the baby spycam. This project follows: jacksonliam/mjpg-streamer (github) start-service-at-boot (Linode) Download and build Create a dev directory, clone the github link, and compile for install. mkdir dev… Read More
Mini propane forge setup I have wanted to try blacksmithing since I was a kid. Yesterday I finally got a chance to do that. My setup is a propane tank, 6 firebricks, and a piece of railroad track. I had to cut one of the bricks. I scored it with the angle grinder and then snapped it over the… Read More
A stand (for your phone) I previously built a Roubo phone stand that gets used all the time. But phonestands are so useful that I have more. A lot more. I designed this one in OpenSCAD, a free text-based CAD program, and it is fully parametric. You can adjust the size and the angles to ridiculous degrees. But this is… Read More