Using GNU Global for source code navigation
Using GNU Global + universal-ctags for source code navigation Sometimes a LSP is not necessary or too much bloat. In very large codebases LSPs or IDEs can keel over. Or sometimes there simply isnât a LSP for the language (like SQLâdealing with a huge tree of SQL files is what led me to reach for Global in the first place). The old TAGS style of code browsing still works. Sometimes itâs the better tool for the job....
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....
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....
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....
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....
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....
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:...
Ranking tools
These are my opinions on the ideal software stack. I will revise and edit this over time. This is purely for entertainment purposes. 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....
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:...
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,...