I recently needed to generate an ELF binary with both RPATH and RUNPATH entries. I could not figure out how to produce this using linker command line arguments. I was considering attempting a linker script, but first I switched to my Lisp REPL buffer 1 and found that (ql:quickload “elf”) loaded a promising-looking Common Lisp …
Author Archives: Thomas Fitzsimmons
Product Idea: CRT-alike OLED driver
Here is a retro gaming product idea that I would like to see on CrowdSupply. I do not know if it is actually feasible but I thought I would write up the idea since I would definitely buy this product. The idea is to create an FPGA-based driver circuit connected directly to an OLED panel’s …
ulisp-repl
Read-Evaluate-Print Loops are great for doing quick experiments. I recently released two new REPL packages for Emacs to GNU ELPA. This is the second in a two part series. Here is part 1. For microcontroller projects, uLisp is a great option. It provides a Lisp REPL on top of the Arduino libraries. It implements a …
firefox-javascript-repl
Read-Evaluate-Print Loops are great for doing quick experiments. I recently released two new REPL packages for Emacs to GNU ELPA. This is the first in a two part series. Here is part 2. I wanted something along the lines of SLIME or CIDER’s REPL (just the REPL part) but for JavaScript. There have been many …
Excorporate and OAuth 2.0
I recently released Excorporate 1.1.0 to GNU ELPA. Excorporate allows Emacs users to retrieve calendar entries directly from an Exchange server such as Office 365, without the need for external programs. The latest release adds experimental OAuth 2.0 support, via a new library I wrote and published to GNU ELPA, called url-http-oauth. With Excorporate 1.1.0, …
Pixel phones are sold with bootloader unlocking disabled
Request to Google: ungrey the “OEM unlocking” toggle in the factory, before shipping store.google.com devices to customers. Do not make your customers connect the device to the Internet before they are allowed to install the operating system they want. My wife had a requirement to use Android1, and she wanted to run GrapheneOS; I experimented …
Continue reading “Pixel phones are sold with bootloader unlocking disabled”
Printing an A4 document on US letter paper using Debian
My wife bought a dress pattern on Etsy that she received as a PDF. It was a large pattern that spanned many pages, meant to be trimmed and taped together into a large continuous sheet. The pattern was labelled “A4-letter“, meaning that it should be printable on A4 or letter paper. For accuracy, the pattern …
Continue reading “Printing an A4 document on US letter paper using Debian”
llama.cpp and POWER9
This is a follow-up to my prior post about whisper.cpp. Georgi Gerganov has adapted his GGML framework to run the recently-circulating LLaMA weights. The PPC64 optimizations I made for whisper.cpp seem to carry over directly; after updating my Talos II’s PyTorch installation, I was able to get llama.cpp generating text from a prompt — completely …
whisper.cpp and POWER9
I saw whisper.cpp mentioned on Hacker News and I was intrigued. whisper.cpp takes an audio file as input, transcribes speech, and prints the output to the terminal. For some time I wanted to see how machine learning projects performed on my POWER9 workstation, and how hard they would be to get running. whisper.cpp had several …
Thunderbird and OpenPGP
I recently helped some friends set up Thunderbird and OpenPGP; the combination is much more user-friendly now. OpenPGP is end-to-end encryption for email. Each user generates a private and public key. Each user imports a copy of the other user’s public key in their Thunderbird setup (they can copy the keys onto a USB drive …