Published on: 2024-02-12
Long overdue on this one. I’ve had a few work in progress posts, but haven’t gotten around to finishing them.
I’ve been putting extra effort into my daily Renshuu studies, trying to get over the initial competence hurdle so I can start to immerse with games and manga. I discovered Game Gengo on Youtube, and have been binging his content.
I don’t think I’m quite ready yet, but I’m going to jump into Ni No Kuni in Japanese and see how it goes.
Game2Text is recommended for learning Japanese with games, as it allows you to extract text from games, and look up the words you don’t know. It claims to work on Linux, but it hasn’t been updated in over 2 years, and doesn’t seem to work on Wayland.
It should be easy enough to write a script to do screen capture using Pipewire. Then either integrate it into Game2Text, or write a new tool. I’d be more inclined to contribute to the existing project, but it appears to be abandoned.
My Thinkpad arrived two weeks ago. On paper it checked all the boxes, but in practice it’s been a struggle. It has the works: graphical artifacting, crashing, sleep issues, wifi failures. And to top it all off, it isn’t compatible with my USB4 dock.
I’ve submitted a bug report to amd’s linux kernel team about the dock not working, but no response yet.
I started a thread on the Lenovo forums about the rest of the issues. There have been a few replies, most recently from MarkRHPearson, who referred me to some potentially related issues on the kernel bug tracker.
I have a feeling they’ll eventually get it all sorted out, but it’s been a bit of a headache. I’m tempted to return it, but their return policy is kind of awful. They have a 15% restocking fee, and I’d have to pay for return shipping. Plus they start the return period from the day they shipped it, so I’d only have a week to return it.
In hindsight, I probably should have stuck with Framework. But I’ll stick it out at this point and put my faith in the kernel team.
This is where I’d talk about my new 3D printer, if UPS had delivered it.
I came to the realization that the way I was building SwiftSpider was a bit of a dead end. I was leveraging SvelteKit’s SSR with the end goal of having all note data be end to end encrypted. But I realized that SSR requires the server to access the data. I also wasn’t happy with sending queries and mutations directly to the server, since it makes it difficult to have a truly offline first experience.
With that in mind, I’m pivoting to client-side SQLite. The entire database is store in LocalStorage, and all queries and mutations are done client-side. The server still exists, but is only used for syncing data between devices.
The database schema of the server is a single nodes
table with only the
following data:
The user’s password will be hashed with two salts, one for authentication with the server for the purpose of syncing, and one for encrypting/decrypting the data. The server will never have access to the decryption key.
If anyone with crypto experience is reading this, I’d love to hear your thoughts on the security of this setup. I’d like to ensure that the data is secure even if the server is compromised.
This is my cat. She is beautiful.