The feeling when it's 2025 and software has encoding bugs.
Then the feeling when it's your own software.
I wonder what to do. I feel like writing software such that it runs on Linux with ext4 filesystem and let other people figure it out if they use the software. Because I know the secret shame of every developer who thinks of using part of the URL path as a filename, like I do: UTF-8 NFC is the default, but UTF-8 NFD is used for HFS+ filesystems and UTF-16 is used for Windows and Go offers a system-agnostic layer on top of that (but you still have to do forward and backward slashes even though Windows can handle forward slashes) and then I get tired.
So now I feel bad because I use a lot of filepath.FromSlash and filepath.ToSlash and I never test it on other operating systems. It's interoperability theatre.
@alex Have you considered using an actual database?
@deshipu Many times. But I have rejected it every time.
@alex I feel like something like sqlite could provide a nice balance between solving the storage problems and not complicating the setup too much...
@deshipu True. And I've used SQLite a bit more over the years. I like it. As for as Oddmu goes, it is also a static site generator, if you want; and it allows people to edit files while the server is running (getting notified of changes and acting accordingly). Both of these features presuppose the files to be on the filesystem. So in this case, I must bear the consequences.
@alex In Hatta I sidestepped the entire problem by making the file names in the file system %-encoded.