I often find myself fighting with using NTP on linux machines – usually something goes wrong: maybe ntpdate isn’t there, or for some reason UDP is blocked, or maybe for some reason it just doesn’t want to do it. Here’s my janky version of ntpdate that overcomes those issues: date -s “$(curl -si 1.1.1.1 |…… Continue reading Janky NTP – Setting System Time Using HTTP
File System as Partition Table
If you squint really hard – a partition table is basically a filesystem with only a handful of files – a partition table of, say, 4 partitions, is conceptually pretty much the same as a filesystem with only 4 files in it – the filesystem labels are the filenames, and the partitions are just the…… Continue reading File System as Partition Table
CRT Miniature Arcade Cabinet
Hey I did a thing – a raspberry pi powered miniature arcade cabinet – with an actual real 4-inch monochrome CRT. Next step – port WASM4 to RPi0 (or wait for someone to do that).
Fixing Analog Stick Input in PPSSPP
PPSSPP is one of my favorite emulators. First introduced to me when I was still in high school, it is my go-to (or, only?) choice if I want to revisit some old PSP games. Though I ran into an issue that I was not able to run, only walk, diagonally in Metal Gear Solid: Peace…… Continue reading Fixing Analog Stick Input in PPSSPP
Home Automation – Kubernetes Style
I’ve been using Smartthings as my smart home hub for a while. And I’d like to migrate to something that’s open source (or more importantly, self-hosted). There’s been a few horror stories out there that make me worry about the potential “hostage” situation. (e.g. manufacturers charging a monthly price for the service, or flat-out discontinuing…… Continue reading Home Automation – Kubernetes Style
Upgrading K40 Cooling System with RGB and Peltier Cooler
The K40 laser cutter, if you know about it, comes with absolutely the bare minimum to get you started. Fortunately, it does comes with a cooling solution: You supply your own water bucket, fill it with distilled water, and drop in the supplied water pump. Failure to do that will probably result in a burnt…… Continue reading Upgrading K40 Cooling System with RGB and Peltier Cooler
Etch-A-Sketch Pro – Rotary Encoders as Mouse(s)
I recently got a few of those rotary encoders – I was planning to make them into a follow-focus system. It’s a two part process: 1 – make a USB interface for them; 2 – make software that uses Canon’s EDSDK to interface with my camera. So I decided to start on 1, then I…… Continue reading Etch-A-Sketch Pro – Rotary Encoders as Mouse(s)
Split Flap Display – Part 1
I recently came by this Technology Connection Video, and I am intrigued by the mechanism of a split flap mechanical clock. I then ran across this GitHub project for a split flap display and I decide to make my own. I made one tweak to the design: I made the letters laser engraved and cut…… Continue reading Split Flap Display – Part 1
Using Makefile for Non-programming Tasks
Make is traditionally used to build artifacts from program source code. It can also be used for other tasks, where you need to “build” something out of a “source-of-truth”. For example: video-editing. I personally find ffmpeg able to generate better quality compressed videos than FCPX or Premiere Pro, which is especially important if the desired…… Continue reading Using Makefile for Non-programming Tasks
Mining Ethereum on M1 Mac GPU
TL;DR: It’s possible to mine Ethereum on a M1 Mac GPU. Hashrate is about 2Mh/s. Mining on a M1 Mac I’ve had my M1 MacBook Air for a bit of time now, and I also recently started mining Ethereum. I can’t help asking myself: What’s Ethereum mining performance like on a M1 Mac? The obvious…… Continue reading Mining Ethereum on M1 Mac GPU