41554 blogs · [ { "id": "01a087e2-2b8b-71e5-8027-82e127c34f5c", "title": "Redenormalisation: Building a search index, the other way", "url": "https://slatecave.net/blog/redenormalization/", "published_at": "2026-08-08T00:00:00+00:00" }, { "id": "01a087e2-2b8b-71e5-8027-82e127e49bcc", "title": "Why Language Detection is Difficult", "url": "https://slatecave.net/blog/why-language-detection-is-difficult/", "published_at": "2026-03-27T00:00:00+00:00" }, { "id": "01a087e2-2b8b-71e5-8027-82e1286b04a0", "title": "Caddy JSON log format", "url": "https://slatecave.net/notebook/caddy-log-format/", "published_at": "2026-03-22T00:00:00+00:00" }, { "id": "01a087e2-2b8b-71e5-8027-82e12930c533", "title": "The 39c3 Search Engines Post", "url": "https://slatecave.net/blog/post-39c3/", "published_at": "2026-03-10T00:00:00+00:00" }, { "id": "01a087e2-2b8b-71e5-8027-82e129fc1c1a", "title": "The SQLite strict Guide", "url": "https://slatecave.net/notebook/sqlite-strict-guide/", "published_at": "2026-01-23T00:00:00+00:00" }, { "id": "01a087e2-2b8b-71e5-8027-82e12ac17442", "title": "Modern Web Search: Not Just an Index", "url": "https://slatecave.net/blog/not-just-an-index/", "published_at": "2025-12-26T00:00:00+00:00" }, { "id": "01a087e2-2b8b-71e5-8027-82e12bad3a14", "title": "Being a Polite Crawler on the Web", "url": "https://slatecave.net/blog/being-a-polite-crawler-on-the-web/", "published_at": "2025-09-07T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b0b99c0f8", "title": "Data Branding in Rust", "url": "https://slatecave.net/blog/data-branding-in-rust/", "published_at": "2025-07-11T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b0c2e94f9", "title": "A Forgejo-Runner with Podman on Alpine", "url": "https://slatecave.net/blog/runner-with-podman-on-alpine/", "published_at": "2025-05-24T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b0d0869e5", "title": "Fixing synapse 1.128.0 with SQLite", "url": "https://slatecave.net/blog/synapse-sqlite-fix/", "published_at": "2025-04-13T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b0d2edc20", "title": "You should read: Outrage Warps Reality", "url": "https://slatecave.net/blog/recommendation-outrage-warps-reality/", "published_at": "2025-03-01T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b0d3bdf70", "title": "Today I learned: OpenLDAP", "url": "https://slatecave.net/blog/today-i-learned-openldap/", "published_at": "2025-02-17T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b0dc21639", "title": "Understanding Lua Expressions - Live Posts", "url": "https://slatecave.net/blog/lua-expressions-live-posts-1/", "published_at": "2025-02-01T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b0e7d4e8e", "title": "Interesting Resources for building Search Engines", "url": "https://slatecave.net/notebook/interesting-search/", "published_at": "2025-02-01T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b0e86d0d4", "title": "Thunderbird: Use S/MIME Certificates from LDAP", "url": "https://slatecave.net/blog/thunderbird-ladp-and-smime/", "published_at": "2025-01-28T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b0f2686c4", "title": "xdg-settings: Setting a default browser isn't that simple", "url": "https://slatecave.net/blog/xdg-settings/", "published_at": "2025-01-08T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b0fb62a92", "title": "Acronyms on the Social Internet", "url": "https://slatecave.net/notebook/social-acronyms/", "published_at": "2024-12-25T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b0ff21635", "title": "Why not use && as a shortcut in shell scripting", "url": "https://slatecave.net/blog/why-i-do-not-use-amp-amp-in-shell-scripting/", "published_at": "2024-10-07T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b1055a353", "title": "Templating Zoo", "url": "https://slatecave.net/notebook/templating/", "published_at": "2024-07-02T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b10ff1a23", "title": "Standards Zoo", "url": "https://slatecave.net/notebook/standards/", "published_at": "2024-06-01T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b11c6abef", "title": "Portable Shell-Scripting", "url": "https://slatecave.net/notebook/portable-shell/", "published_at": "2024-05-17T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b12499c4e", "title": "Links to Elsewhere - The Slatecave Railstation", "url": "https://slatecave.net/railstation/", "published_at": "2024-04-25T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b1264a917", "title": "Fixing PWM flicker on the Arduino UNO R3", "url": "https://slatecave.net/blog/fixing-pwm-flicker/", "published_at": "2024-04-08T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b133e2c13", "title": "ATmega328P and the Arduino UNO R3", "url": "https://slatecave.net/notebook/atmega328p/", "published_at": "2024-03-31T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b14319474", "title": "Group based Permissions using polkit", "url": "https://slatecave.net/blog/networkmanager-group-using-polkit/", "published_at": "2024-01-09T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b149a3dfe", "title": "Pretty Atom-Feed Previews with XSLT", "url": "https://slatecave.net/blog/atom-xslt/", "published_at": "2023-12-22T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b14dfac09", "title": "XML XPath", "url": "https://slatecave.net/notebook/xpath/", "published_at": "2023-12-22T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b15cd3dad", "title": "Getting your Smartcards and Security Tokens working on Linux", "url": "https://slatecave.net/notebook/get-security-token-working-on-linux/", "published_at": "2023-12-03T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b15d435b7", "title": "SQL Cheatsheet", "url": "https://slatecave.net/notebook/sql/", "published_at": "2023-11-18T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b16605683", "title": "Git Cheatsheet(s)", "url": "https://slatecave.net/notebook/git/", "published_at": "2023-11-03T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b16c42c4a", "title": "xdg-mime: Mapping Files to Applications taken apart", "url": "https://slatecave.net/blog/xdg-mime/", "published_at": "2023-10-03T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b17afb135", "title": "\"It just opens files\" - xdg-open under the hood", "url": "https://slatecave.net/blog/xdg-open-under-the-hood/", "published_at": "2023-09-02T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b187a4e0d", "title": "Improving an fzf example with null bytes", "url": "https://slatecave.net/blog/improving-an-fzf-example/", "published_at": "2023-07-09T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b189d2d14", "title": "Environment Variable Zoo", "url": "https://slatecave.net/notebook/env/", "published_at": "2023-07-03T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b195d9850", "title": "Fontconfig", "url": "https://slatecave.net/notebook/fontconfig/", "published_at": "2023-06-20T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b1a0070bf", "title": "ANSI Escape Sequences", "url": "https://slatecave.net/notebook/ansi-escape-sequences/", "published_at": "2023-05-28T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b1a37593d", "title": "Unobtanium Search", "url": "https://slatecave.net/creations/unobtanium/", "published_at": "2023-05-27T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b1af998ec", "title": "Shell Null Termination / Separation", "url": "https://slatecave.net/notebook/shell-null-termination/", "published_at": "2023-05-27T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b1b16ffdb", "title": "Speech Recognition Frontends", "url": "https://slatecave.net/notebook/speech-recognition-frontends/", "published_at": "2023-05-09T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b1b30e5ee", "title": "Scanning, OCR and PDF", "url": "https://slatecave.net/notebook/scanning-ocr-and-pdf/", "published_at": "2023-04-24T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b1b8674b3", "title": "Slatectx: Adding some context to the desktop", "url": "https://slatecave.net/blog/slatectx-why-and-how/", "published_at": "2023-04-23T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b1bb0b351", "title": "What is NAT and why you don't want it", "url": "https://slatecave.net/blog/nat/", "published_at": "2023-03-27T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b1c376a0c", "title": "Building an animated element", "url": "https://slatecave.net/blog/animated-details-element/", "published_at": "2023-03-17T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b1c58d4c4", "title": "IP-Address Ranges", "url": "https://slatecave.net/notebook/ip-ranges/", "published_at": "2023-03-08T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b1ca329dc", "title": "echoip.slatecave.net", "url": "https://slatecave.net/creations/echoip-slatecave/", "published_at": "2023-02-26T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b1cec7523", "title": "Serial Port Troubleshooting on Linux", "url": "https://slatecave.net/notebook/serial-not-working/", "published_at": "2023-02-14T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b1d68878d", "title": "arduino-cli", "url": "https://slatecave.net/notebook/arduino-cli/", "published_at": "2023-02-13T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b1ded85b7", "title": "Resistor Value Table", "url": "https://slatecave.net/notebook/resistors/", "published_at": "2023-01-14T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b1ea216d3", "title": "FFTFM", "url": "https://slatecave.net/creations/fftfm/", "published_at": "2022-12-11T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b1efeec04", "title": "Podcasts", "url": "https://slatecave.net/notebook/podcasts/", "published_at": "2022-11-06T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b1f991f4c", "title": "Webdirectories", "url": "https://slatecave.net/notebook/webdirectories/", "published_at": "2022-11-03T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b1faf2ed9", "title": "ASCII Table", "url": "https://slatecave.net/notebook/ascii/", "published_at": "2022-10-16T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b1fe8747f", "title": "Shell Snippets", "url": "https://slatecave.net/notebook/shell/", "published_at": "2022-10-16T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b20c39150", "title": "Having a look at greetd", "url": "https://slatecave.net/blog/a-look-at-greetd/", "published_at": "2022-08-16T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b2189a31c", "title": "Building a crappy cheap LightDM 1/?", "url": "https://slatecave.net/blog/cheap-lightdm-part-1/", "published_at": "2022-08-05T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b22061b6b", "title": "Screwing around with Sliderland", "url": "https://slatecave.net/creations/sliderland-screw/", "published_at": "2022-06-14T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b225f7cb6", "title": "Tutorial: Smart ssh jumping", "url": "https://slatecave.net/blog/smart-ssh-jump/", "published_at": "2022-06-05T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b22c24e84", "title": "Integrating swaylock-mobile with Sxmo 2/?", "url": "https://slatecave.net/blog/integrating-my-screenlocker-with-sxmo-part-2/", "published_at": "2022-05-07T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b2331e2d0", "title": "Integrating swaylock-mobile with Sxmo 1/?", "url": "https://slatecave.net/blog/integrating-my-screenlocker-with-sxmo-part-1/", "published_at": "2022-03-18T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b2421af26", "title": "Swaylock Mobile", "url": "https://slatecave.net/creations/swaylock-mobile/", "published_at": "2022-03-03T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b251d1222", "title": "My current Smarthome Setup", "url": "https://slatecave.net/creations/smarthome/", "published_at": "2021-08-24T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b25a6d667", "title": "Lunar Widgets - Lua scriptable Gtk Widgets", "url": "https://slatecave.net/creations/lunar-widgets/", "published_at": "2021-07-29T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b26a0a60a", "title": "DDB - Object Key Vale Store", "url": "https://slatecave.net/creations/ddb/", "published_at": "2021-07-11T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b26f56711", "title": "Vala project setup script", "url": "https://slatecave.net/creations/vala-project-setup-script/", "published_at": "2021-05-27T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b27bdf6b9", "title": "A wrapper for a terraria server with some perks", "url": "https://slatecave.net/creations/terraria-server-wrapper/", "published_at": "2021-05-05T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b288e087d", "title": "Dragonstone - Gemini/Gopher Browser", "url": "https://slatecave.net/creations/dragonstone/", "published_at": "2019-11-03T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b29003935", "title": "A Tetris clone", "url": "https://slatecave.net/creations/tetris/", "published_at": "2019-05-21T00:00:00+00:00" }, { "id": "01a087e2-2b8c-70d0-9567-1b7b29af9e1f", "title": "A simple TicTacToe game", "url": "https://slatecave.net/creations/tic-tac-toe/", "published_at": "2018-07-07T00:00:00+00:00" } ] posts Claim your blog
Back to Slatians hideout on the Web | slatecave.net
Blog · corpus.blog/blogs/slatecave.net/posts

Slatians hideout on the Web | slatecave.net

slatecave.net

2026

2025

2024

2023

2022

2021

2019

2018