...
29 May 2024

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 →
...
27 May 2024

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 →
...
10 Apr 2024

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 →
...
05 Apr 2024

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 →
...
30 Nov 2023

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 →
...
17 Nov 2023

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 →
...
12 Nov 2023

Managing drafts in Jekyll while writing blog posts

The conventional wisdom of maintaining draft posts in Jekyll is to store them in _drafts directory. Drafts are posts without a date in the filename. They’re posts you’re still working on and don’t want to publish yet. To get up and running with drafts, create a _drafts folder in your...

Read more →
...
09 Nov 2023

How to allow Ping (ICMP) requests through the Windows Firewall

The ping.exe is a great tool provided by the Windows operating system to check and ensure if we are connected to another computer located across the Internet or even our own local LAN through the ICMP (Internet Control Message Protocol). However, it often happens that even if the remote machine...

Read more →
...
07 Jun 2023

How I made my web pages load 10x faster

Update: As of 17th June, 2024, I have also started using font-awesome and google-fonts which goes directly against my principle of “no-cruft”! And while the point of this article still stands in theory, I came to learn that there are pragmatic limits to how far you can stretch minimalism. At...

Read more →
...
01 Feb 2023

The power of minimalism: Why ecommerce and corporate websites need to de-clutter

In the digital age, ecommerce and corporate websites often overwhelm users with cluttered designs and excessive elements. But as consumers gravitate toward simplicity, adopting a minimalist approach can not only improve user experience but also enhance site performance. Here’s why minimalism is the future of web design. Why Minimalism Matters...

Read more →