How to Scan, OCR and Share a Book Anonymously

Recently, I have encountered a very rare out-of-print book that I decided to save it for the world with modern technology. Because I don’t have a real scanner, I tested all sorts of scanner android apps that are open source. OpenNoteScanner not working on every phone, auto cropping not working properly, capture fast with postprocessing, high quality result. OpenScan no auto cropping PDF-Doc-Scan auto cropping not working with book at all docus not so good auto cropping, no retouch CleanSCAN no auto cropping OSS-DocumentScanner with functional auto cropping most of the times, has filter and postprocessing but at cost of slow capture, very high quality result It ends up OSS-DocumentScanner is the best of all. To make things easier, I customized the best gamma, contrast and filter as default, based on my lighting and book condition. ...

July 26, 2025 · 2 min · Jun

My AI Learning Materials and News Feeds (Updated)

Forewords This is the 3rd time updating the lists, where I added a section of Prompt Engineering upon requests since it is a good starting point for those not into self-hosting nor theory. The term “Prompt Engineering” is a bit controversial but people will get better understanding after learning the listed materials. As a lifelong self-learner, I use all sorts of methods to learn new things, and AI is what I’m currently into. Although I’ve been using AI tools since 2022, my background wasn’t focused on AI. So, like everyone else, I had to do some “AI For Dummies” level study in order to get more involved. Below is a list of learning materials that I find very helpful for myself to get started with and might also be helpful for someone else in the same situation. ...

July 8, 2025 · 6 min · Jun

Revisiting Voice Cloning with GPT-SoVITS and so on

Forewords My last article on voice cloning is more than a year ago, and here we are again for adopting some latest advancement. Refering to some Chinese source such as this blog and this video, I was attempting to adopt new tools for my audio book service, such as CosyVoice, F5-TTS, GPT-SoVITS, and fish-speech. But before we start, I recommend to: Install miniconda for dependency sanity wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && sudo chmod +x Miniconda3-latest-Linux-x86_64.sh && bash Miniconda3-latest-Linux-x86_64.sh Setup PyTorch environment as needed and confirm with python -m torch.utils.collect_env ...

June 11, 2025 · 8 min · Jun

Migrating Harbor instance from Linux to WSL2

In the past, I have covered how to set up Ubuntu in WSL2 and hosting local LLMs with Harbor, now I want to migrate my Harbor instance from baremetal Linux into WSL2 so that I don’t have to set it up from scratch. First thing to do is to open firewall port netsh interface portproxy add v4tov4 listenport=33811 listenaddress=0.0.0.0 connectport=33801 connectaddress=172.xx.xxx.xxx On Linux hardware: copy Harbor files from /home/username/Harbor /home/username/.ollama On Windows hardware: connect the USB drive containing Harbor files and run ...

May 26, 2025 · 1 min · Jun

Dealing with the Enshittification of ProtonVPN's Free Plan (WireGuard+NextDNS)

This post is originally composed on 2024-11-28. I’m updating it for combining NextDNS, since I have started using a new freemium app with nasty ADs in it. ProtonVPN’s free plan doesn’t allow me to configure AD blocking DNS, especially with their official app. But with WireGuard app, this can be trivial. Thank to the original guide on reddit, the newly added part is in the end of this article. As a early adopter of Protonmail, I use their later coming VPN product as well, regularly yet lightly. Although I’m a potential customer but still not paying for any of their plan, for many reasons. ...

May 12, 2025 · 5 min · Jun