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—something as simple as the basic WordPress.org commenting feature, with fields for the user’s name, website, etc. No complicated logins, sign-ups, or third-party platforms. The user reads your blog, posts a comment, and you approve it from the backend...

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 →

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 →

Troubleshoot the 'Invalid Package' error on Android APK installation

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 →

We are not creating the "right" kind of AI

Arts, crafts, literature, even things like computer programming have been the domain of humans since time immemorial. Machines were historically meant to do menial tasks where the human couldn’t afford the time or resources. The classic example here is the type-writer, a remarkable machine that helped humans draft letters in...

Read more →

Unpopular opinion: desktop GUI is the most efficient and fulfilling way of human-computer interaction

In many ways, the classical paradigm of the “WEB” as a mere portal or information resource was the most likable and valuable one in the utilitarian sense. These were the earliest days of the Internet when most of the actual Human-Computer interaction took place in the form of a Windows...

Read more →