Merry Christmas and Happy 2026

Dear friend, Wherever you are, I wish you a Merry Christmas and a Happy 2026! Thank you so much for being a reader of this blog. I only started it back in 2025, and I appreciate you following along. Like any other year, 2025 had its ups and downs, but I’m happy with everything I was able to achieve. Now, I’m looking forward to new adventures and achievements in 2026. ...

January 1, 2026 · Mohammad Ali Nilforooshan

QPDF: A useful tool for handling PDF files

QPDF is a command-line tool that excels in PDF structure manipulation. It is not a rendering or viewing tool like pdftk, but a powerful utility for tasks such as page extraction, rearrangement, and merging—ideal for scripting and automation. In this post, I demonstrate common QPDF use cases using file1.pdf and file2.pdf. 1. Extract a Range of Pages from file1.pdf To extract pages 3 to 7 from file1.pdf: qpdf file1.pdf --pages . 3-7 -- output.pdf Here, . refers to the current input file (file1.pdf). The result is saved in output.pdf. ...

May 5, 2025 · Mohammad Ali Nilforooshan

Migrated from Jekyll to Hugo

Jekyll and the Issues Around It I started this blog using Jekyll. First, I had to learn about Jekyll and how to write and maintain a blog with it. There was definitely a learning curve, but with tons of resources online, it wasn’t a huge deal. The real issue was installing and getting Jekyll to work. Jekyll is Ruby-based, with a bunch of dependencies like Ruby itself, RVM, Bundler, and gems. Mismatches between these dependencies can stop Jekyll from installing (like, the OS might be missing some stuff or can’t put together compatible dependencies) or even from working later (like after an OS update). ...

February 19, 2025 · Mohammad Ali Nilforooshan