Welcome to my blog

😀

Embeddable Software

This aims to be a list of “embeddable” software components (typically for C/C++/Rust native code). These are (typically statically-linked) libraries you can include inside your compiled binaries that add functionality which would usually require much larger, more complex infrastructure. Most of the time you probably do not need anything more. Probably 99% of use cases which reach for postgres can be done with sqlite just fine. Worry about scale when you have users....

February 3, 2024 Â· 1 min Â· Zelly Snyder

Compiling Emacs on Mac

This is how to build Emacs from source on macOS (working as of macOS Sonoma 14.2) (sorry Stallman). We want all the latest bells and whistles: native compilation of Elisp tree-sitter libjannson for fast JSON parsing (useful for LSP modes) Compiling the latest Emacs from HEAD also gives you access to the latest features, like Eglot (language server built-in to Emacs). You also may wish to compile with debug information if you want to hack on Emacs itself....

January 31, 2024 Â· 2 min Â· Zelly Snyder

Building latest Clang+LLVM on MacOS

First, ensure you have the latest Apple Clang installed. xcode-select --install Then this will build all LLVM projects (e.g., clang, lldb, libc++, openmp 
), working as of macOS 14 (Sonoma). git clone --depth=1 https://github.com/llvm/llvm-project LLVM_SOURCE_DIR="$(pwd)/llvm-project" cd /tmp mkdir llvm-build && cd llvm-build MY_LLVM_INSTALL_PATH=$HOME/.local # or something else; change this mkdir -p $MY_LLVM_INSTALL_PATH cmake -S "$LLVM_SOURCE_DIR/llvm" \ -DCMAKE_BUILD_TYPE=Release \ -DDEFAULT_SYSROOT=$(xcrun --show-sdk-path) \ -DLLVM_ENABLE_PROJECTS="all" \ -DLLVM_ ENABLE_RUNTIMES="all" \ -DCMAKE_INSTALL_PREFIX=$HOME/.local make -j$(sysctl -n hw....

December 10, 2023 Â· 1 min Â· Zelly Snyder

Search Engine Shortcuts for Chromium-based Browsers

Whenever I set up a new browser, I always have to copy over the custom search engines (at chrome://settings/searchEngines) because for some reason, Import/Export User Settings doesn’t include these. There are ways to import and export these from the filesystem in an internal sqlite database that Chrom{e,ium} uses, but it’s not guaranteed to work in the future. The “Shortcut” works by typing the it in the browser’s address bar (such as :w for Wikipedia), followed by a space, then your search query....

December 8, 2023 Â· 2 min Â· Zelly Snyder

Run your own "What Is My Ip?" service with Caddy and Cloudflare

Caddy is a well-known HTTP server that does much of what nginx does but with much simpler configuration. Here is an example of using Caddy to serve your own “What is my IP?” server. There are services like “ipify.org” where you just $ curl https://api.ipify.org and it returns your IP address. There is also http://checkip.amazonaws.com, among many others. However, you may not want to rely on the uptime of these free third-party sites, you may not want third-parties logging your programmatic IP address queries, or you may just not want to abuse their services....

November 10, 2023 Â· 2 min Â· Zelly Snyder

How to Use Keyboard as Mouse on Linux

This is a nice trick. It lets you use your keyboard’s numpad as a mouse. I had to use this while troubleshooting a server on a live Linux USB installation which booted up to a KDE Desktop Environment, but I did not have a mouse to go along with it, only a keyboard. I was able to open Konsole, the terminal emulator, and enter the following to activate keyboard mouse keys:...

October 27, 2023 Â· 1 min Â· Zelly Snyder

Ranking tools

These are all my opinions on the ideal set of software. I may revise and edit this over time. Filesystem ZFS Since it can run on Linux now with OpenZFS, there’s no reason to use anyting else except for special cases. There is no other filesystem with as many man-hours put into it as ZFS, and it shows. Notable runner-ups: btrfs, which is like ZFS but is in the kernel tree bcachefs which is being merged in kernel 5....

October 23, 2023 Â· 5 min Â· Zelly Snyder

Virtualbox Guest Additions Iso

Can’t find VirtualBox Guest Additions? I encountered errors trying to install Guest Additions on Oracle VirtualBox for a Windows 10 guest. The application is supposed to download it and mount the ISO as an optical drive in the VM. But in my instance it failed to download. So naturally I looked to see if I could download the ISO separately. Oracle doesn’t provide a link whatsoever, but luckily the site shows a directory listing here:...

October 23, 2023 Â· 1 min Â· Zelly Snyder

How to Build Signal Desktop on Linux

Signal offers runnable .deb packages for Debian-based Linux (including Ubuntu among others). For other distributions, there aren’t any runnable binaries. There also aren’t (or I couldn’t find) documentation on how to build it. Here is how I built Signal Desktop on Fedora 31 (x86_64 gnu/linux) as an AppImage executable, which runs easily on any distribution. Clone the repository. git clone https://github.com/signalapp/Signal-Desktop.git && cd Signal-Desktop Change package.json to also build an AppImage,...

March 9, 2020 Â· 1 min Â· Zelly Snyder

Unicode Symbols for Social Media

What this is for This is a list of Unicode symbols / code points that are often used on social media—besides emojis, which are already easy to input. The symbols themselves are listed alongside their hexademical Unicode code points. For often-used symbols, it’s useful to memorize the numerical code points so that you can input them without having to search engine the symbol (or refer to a webpage like this, which you should bookmark!...

March 23, 2019 Â· 4 min Â· Zelly Snyder