Seven most aesthetically pleasing fonts for your Web Apps

Without Google Fonts, our typography would be in limbo! Now, I’m neither a web designer nor have an eye for the pixel perfect and aesthetic design which a pro designer usually does. Instead, my usual workflow is to cobble together web components like bootstrap, jquery, codeigniter, etc. and try to... Read More

Introducing Comment Monk: Simple comment hosting system for static blogs and websites

I wanted to implement a comment hosting system for my static blog https://prahladyeri.github.io, just basic Wordpress.org style commenting feature with user’s name, website, etc., no complicated logins or sign-ups or third-party platforms. The user reads your blog, posts a comment, and you approve from the backend (or alternatively, it gets... Read More

How to fix "silent error handling" of PDO errors after upgrading to PHP 8

PHP 8.x is filled with hidden land mines which can suddenly trip the unaware PHP coder, especially when porting from legacy frameworks like CodeIgniter or CakePHP to PHP 8.x systems. One such issue is PDO’s default exception handling method. Prior to PHP 8, PDO’s default exception handling mode was PDO::ERRMODE_SILENT... Read More

How to install composer packages locally or offline

The usual way of installing composer packages with composer require <foo> is the standard. But occasionally, we might want to install the packages from our local computer to save Internet bandwidth or some other reason. Unlike Python’s pip, PHP’s composer doesn’t offer us a straightforward path to install from an... Read More

Thoughts on PHP routing strategies

Routing is a tricky business in PHP simply because there is no one standard way of doing it. Starting from the most simple and benign (but inflexible) routing strategy of handling every incoming request in the index.php script to the highly flexible (but arcane and opinionated) routing libraries of Symfony,... Read More

How to recover hardened lump of Bournvita

Bangalore has a very pleasant and human friendly climate but it’s also very humid which often causes your crisp and powdered Bournvita to become a lump of stone like this one here: There are two ways of tackling this problem and recover your favorite beverage: The old school “brute force”... Read More

Working with multi-queries in CodeIgniter

Running multi-queries (a bunch of text containing arbitrary DML/DDL statements) is highly unreliable and not an exact science in CodeIgniter or even PHP for that matter. The Internet is filled with posts like this, this, and this but you can’t depend on these solutions in most situations due to the... Read More

Free domains exist but with little strings attached

After the recent demise of freenom.com, most webdev related subs and other forums on the Interwebs are very keen on this topic to somehow try and fill that void, find some alternatives. Being a PHP Freelancer, I often find the need for temporary domain names to experiment with and while... Read More

How to fix the dreaded 'package appears to be invalid' error while installing Android APKs

When you try to manually install an Android APK on your phone, you are typically stuck with an error similar to this: Stack Overflow is filled with posts like this, this and this one but apparently, there seems to be no consensus regarding the cause or even a generally accepted... Read More

Intro to DOMPDF - light and simple PHP library to generate PDF documents

Generating PDF documents from your HTML output is a very common requirement and there are several open source libraries to accomplish this in PHP. I came across this need for my project recently and I evaluated many popular ones such as TCPDF, mpdf, FPDF, etc. But the one that truly... Read More