Deploying Caddy v2 with the Cloudflare Plugin Using Docker

I recently noticed that the Caddy Docker image I’d been using — abiosoft/caddy — is no longer maintained. So I went ahead and upgraded from Caddy v1 to v2 using the official image, and also got the Cloudflare plugin sorted out. This way I can turn on Cloudflare’s proxy feature to hide my real IP (though if you hadn’t enabled it before, there’s an 87% chance it’s already been logged somewhere like Shodan). ...

February 20, 2023 · 4 min · 642 words · Yu-Jie · 0 pageviews

Enabling the Official Dropbox Feature on Kobo E-Readers (Non-Forma, Sage, Elipsa Models)

Among all Kobo e-readers, only the Forma, Sage, and Elipsa officially support downloading books from Dropbox directly on the device. This guide shows you how to unlock the Dropbox feature that Kobo deliberately withheld from the Nia, Clara HD/2E, Libra H2O/2, and other 6–7.8 inch models. Installation Install NickelMenu Connect your e-reader to your computer Download KoboRoot.tgz Place KoboRoot.tgz into KOBOeReader/.kobo. If you can’t see the .kobo folder, you may need to: ...

February 19, 2023 · 1 min · 209 words · Yu-Jie · 0 pageviews

Cloudflare Zero Trust From Start to (Almost) Giving Up - Tunnel for NAT Traversal

Why we needed this NOJ’s backend services are hosted on machines provided by our university’s CS department. All campus machines sit behind a firewall, meaning SSH connections to port 22 can only originate from the 140.122.x.x subnet. Before graduating, we’d use VPN to connect back to the campus network and then SSH into the machines. Now that most of the core maintainers have graduated, we really need a VPN or NAT traversal setup. ...

February 18, 2023 · 3 min · 449 words · Yu-Jie · 0 pageviews

2022 Summer Internship Interview Experience (Microsoft, Synology, Trend Micro, GoFreight, OnwardSecurity, MediaTek)

Background NTNU CSIE (everyone assumes we’re at the Guting campus on Heping East Road, but CS is actually on Tingzhou Road) Started coding in 10th grade, though by high school graduation my skill level was about on par with a freshman at one of the “Zhong” universities (NCU, NSYSU, NCHU, CCU — the cluster ranked just below the top four in Taiwan) ICPC Silver Award x2 (my teammates carried hard ><) Algorithm TA for two semesters Built an Online Judge as a side project Gave a talk about OJ development at SITCON Two-month internship at a cybersecurity company Dabbled in CTF and NASA (network security) but never got really good at any of them Preparation Solved around 20 Leetcode problems, following the Grind75 order The English resume took quite a bit of time — I spent about two weeks refining it Overview Fair warning: lots of rambling below. Feel free to skip straight to the company you’re interested in. ...

June 14, 2022 · 8 min · 1597 words · Yu-Jie · 0 pageviews

Kindle Paperwhite 4 Buying Experience & Pitfalls

Preface During the summer break, I picked up a few tutoring gigs. Because of COVID, everything had to be remote. I’d been using my notes on HackMD as teaching slides, but HackMD is really meant for documents — it has its limits as a presentation tool. Then one of my students asked me: “Do you have any book recommendations?” So I started browsing bookstores online, looking for books suitable for a programming beginner at the high school level — something that wasn’t too basic but also wasn’t full of fluff. I narrowed it down to two candidates: Hello! C++ Programming (2nd Edition) and Introduction to C++ Programming (2nd Edition). I couldn’t decide between them. Both authors turned out to be alumni from my university’s education program and experienced CS teachers — no wonder both books felt well-suited for self-study by students with zero background. ...

July 30, 2021 · 7 min · 1342 words · Yu-Jie · 0 pageviews