Using a Lenovo X1 Tablet Keyboard as a Wired Keyboard

Turns out the pogo pins on the X1 Tablet keyboards (gen 1,2 & 3) are just USB. 6 pins. 2 NC (not connected) and 4 standard USB [red (+5v), white (data+), green (data-), black (gnd)]. Thanks to cc9cii over on the /r/thinkpad subreddit we now have the pinout for the Gen1, Gen2, and Gen3 keyboards. The Gen1 and 2 are the same with 2 staggered rows of 3 pins and the Gen3 is 1 row of 6.

bbf: A Harddrive Bad Blcok Scan and Repair Tool

I wrote this tool a while back and posted it up on github but never advertised it. I’m a bit of a data hoarder and as a result have had to deal with dying harddrives many a times. I never found dd or badblocks to be as useful as I’d like and certainly not safe enough. On more than one occasion I’ve fat fingered the overwriting of a good drive after the OS decided to change the device name of a drive I was working on.

3DO Arcade - SAOT BIOS

After recently involving myself in the 3DO emulator 4DO I started looking over miscellaneous 3DO forums. Over at the forum I came across a post by willkaotix of klov who had the 3DO based arcade game Shootout At Old Tucson and had desoldered the ROM with an interest to get it dumped. This was back on 2015-10-18. Having not seen a conclusion to the thread nor the ROM floating in the wild I reached out to willkaotix.

3DO Emulation

I recently decided to take on the task of cleaning up the 3DO emulator 4DO which is based on FreeDO. Specifically the libretro core version. I reached out to the project lead on 4DO and he’s supportive of my efforts to rework and improve 4DO via the libretro port (rather than fork or adopt the Windows only 4DO codebase). So far I’ve fixed a significant issue with rendering (appeared like a vsync problem), ported over specific game hacks, improved joypad handling, added CHD support, and I’m now in the process of doing a major cleanup of the code and APIs.

scorch: silent corruption checker

A new tool designed to provide a workflow around hashing files and then checking them later in order to find corruption. Combined with external backup solutions (such as CrashPlan or Amazon Cloud) this tool lets you forgo heavier tools like SnapRaid which require dedicated drives. This doesn’t provide recovery of data. Only corruption detection.

WTF?! Kubernetes' rbd_util.go po := path.Join(sys_path, name, "pool") img := path.Join(sys_path, name, "name") exe := exec.New() out, err := exe.Command("cat", po, img).CombinedOutput() Does Kubernetes not have code review? Fork/exec’ing cat to read content from files? This is embarrassing bad.

ChromeOS & OpenVPN: Using OVPN Files to Setup OpenVPN on ChromeOS

First you need to split the “ovpn” file into the CA cert, client cert, and client key. If you’re using Crouton with ChromeOS you can do this on the ChromeOS device. Otherwise you’ll need to do this on another machine. The below is from an Ubuntu desktop. I’ve also created a small script to do the same: split-ovpn $ ls client.ovpn $ awk ‘//{flag=1;next}/</ca>/{flag=0}flag’ client.ovpn > ca.crt

Backup, Recovery, & Maintenance Howtos There is a lot of information scattered throughout the internet about creating backups of files, filesystems, hard drives, solid state drives, etc. However, there is really no one place where the different methods and technologies are described, compared, and packaged as full stack solutions. Recovery is almost a black art. Random tools you find talked about on miscellaneous forums. Rather than using a wiki which can get messy I’ve created a git repo of Markdown files which try to walk through different backup solutions, end to end.

Resetting Your Wii to (Almost) Factory State

Resetting / revirginizing your Wii to (almost) factory state WARNING: This will completely erase everything on your system. You’ll need giantpune’s wiiqt tools. It appears they’ve been abandoned for some time so I’ve cloned the code to just in case. For Windows: ohneschwanzenegger, nandExtract, nandBinCheck, giantpune-tools-dlls. On other platforms they’ll need to be built locally. Use BootMii [hackmii_installer_v1.2] to acquire an up to date version of your Wii’s nand.

Introducing mergerfs: another fuse union filesystem