Blog

Notes on what I build, break and learn.

Automatically watermarking files with GitHub Actions

October 15, 2026 · 6 min read

How BECE Vault keeps clean originals in a private repository and publishes watermarked copies to the public one, including files that arrive through pull requests, without losing a single commit's author or date.

Building a PDF viewer with pdf.js: what I learned

October 13, 2026 · 6 min read

Why BECE Vault has its own PDF viewer instead of the browser's, how it renders pages lazily with pdf.js, and the strange reason scanned notes showed up as blank pages.

Advice for first-year engineering students in Nepal

October 9, 2026 · 5 min read

Practical advice I'd give anyone starting an engineering degree in Nepal, on fundamentals, building projects, using past questions, joining the community and looking after yourself.

Writing a simple lexical analyser in C

October 7, 2026 · 11 min read

A walkthrough of the first stage of a compiler, turning source code into tokens, with a complete, working lexical analyser in about 100 lines of C.

RSS feed