Posts tagged: privacy
Full-Blog PDPA Audit — Scanning 202 Posts for PII Leaks
I ran pdpa-sg-clj across all 202 blog posts — 239K words, 1.66 MB — to audit for NRIC leaks, phone numbers, API keys, and email exposure. Here's the methodology, findings, and what I learned about automated PII detection at scale.
I Made Two Repos Public and Then Panic-Scanned Them for Personal Data Leaks
Before flipping my capstone project repos from private to public, I ran a full PDPA compliance audit using a Singapore-specific PII scanner.
Switching to a Private DNS Resolver — Cloudflare vs Quad9 Benchmarked
Benchmarked Singtel ONT, Google, Cloudflare, and Quad9 from Singapore — Quad9 wins on privacy and DoH speed, Cloudflare wins on plain DNS latency.
Setting Quad9 Private DNS on Android
How to set Quad9 as your private DNS provider on Android — encrypted DNS without root or apps.
I Published My Public IP on the Internet — Here's What I Did Wrong
How I accidentally hardcoded my public IP in two blog posts, the security implications, and why restarting my router was the real fix — not rewriting git history.
Your Public IP Was in a Blog Post — Now What? A Practical Risk Assessment
I accidentally published my home IP in a blog post. Here's the actual threat model — what's at risk, what isn't, and why a residential IP behind NAT is not the disaster it sounds like.
Setting Quad9 DNS on CachyOS — Using the Built-in DNS Changer
How CachyOS's built-in DNS Changer (CachyOS Hello) configures system-wide DNS-over-HTTPS via blocky and systemd-resolved, and how to set Quad9.
Self-Hosting DeepSeek V4 for Uncensored Local Inference
A practical guide to running DeepSeek V4 locally — model weights, hardware requirements, deployment options, and what you get vs the censored API.
DeepSeek V4 Is Censored — And Open-Weight Is the Escape Hatch
DeepSeek V4 is open-weight under MIT license but censored at the API level. Self-hosting eliminates the safety layer. The data privacy and silent refusal problems are real.
Building a Local Mermaid Viewer With the LLM That Can't Draw
Yesterday I wrote about why LLMs repeatedly fail at Mermaid syntax. Today I used one to build a zero-dependency, offline-first Mermaid viewer — and it broke the diagram three times before getting it right.