-= Search by my posts =-
Last week, I started building a text search for my personal website and ran into an interesting SQLite quirk. It turns out that even in 2026, SQLite doesn’t support Unicode out of the box 🤦 There is a way to enable Unicode support using some sort of extension, but how to do it—that’s another question. The author of the SQLite driver for Golang says I need to specify go build -tags “icu”, but this command fails because of a missing C header file. Yes, to run SQLite in Golang, you need a C compiler… In short, there are many complications and very little convenience… The search can be made to work, but the UpperCase function for text will only work with English. I identified three paths for myself:
- Continue trying to connect the Unicode module in SQLite, digging into C.
- Make a search with three variants of each word: 1. word, 2. Word, 3. WORD.
- Do the search entirely in Go: 1. In this case, SQLite will stream all data from the database to my program without its own built-in filter.
I chose path 3. Not because it’s the “correct” one, but because it’s the most interesting of the three for me. Right now, I have about 1000 texts in my posts (counting together with translations into English and German). Let’s see how fast searching through 1000 texts will work on the low-end hardware of an Orange Pi Zero.
-= January goals =-
- Reach task number 200 on LeetCode, at least ✅ done
- Write a new feature for my personal website: 🔎 Text search across all posts ▶️ started…
- Sort out all my cloud files and their backups ⌛ to be done