...
18 Jul 2019

How to implement URL routing in vanilla JavaScript

In this post, I’ll show you how to implement dynamic URL routing in vanilla JavaScript without using any heavy frameworks like angular, vue, react, ember, etc. in less than 30 lines of code! The important attributes you need to know are window.location and more specifically to our purpose, window.location.hash. This...

Read more →
...
02 Jul 2019

The Agile Manifesto's shortcomings: addressing modern development needs

The Agile Manifesto has been a cornerstone of software development since its creation in 2001, promoting flexibility, collaboration, and the prioritization of working software over comprehensive documentation. However, as development environments and business needs have evolved, many professionals are beginning to recognize certain limitations in the Agile approach, particularly in...

Read more →
...
27 Jun 2019

Introducing gh_announce: Automate github release announcements on twitter with this python bot

I happen to maintain a lot of python projects on github such as distroverify and vtscan. And each time I make a tagged release on Github, I have to make a status tweet like this to let people know: So today I thought why not automate this process by writing...

Read more →
...
26 Jun 2019

listdir vs scandir vs glob - The one and preferably only way to do it

You know, sometimes when I read those python aphorisms like “beautiful is better than ugly” I wonder whether the makers were being sarcastic or real, and I’m not kidding! Its not just about listdir and scandir, a whole lot of things are ambiguous and you’ll find a lot of different...

Read more →
...
25 Jun 2019

CodeMirror - A simple and efficient code editor component for your web applications

I’m a huge fan of simple things in life, things that achieve a lot with minimal efforts or configuration from the user’s end. And whenever I come across such simple things, I like to share it with everyone and that’s what I’m doing now. In my recent flask based web...

Read more →
...
19 Jun 2019

Building a convention for configuration saver and reader module in Python

I maintain several python projects on github and some of them like VTScan has a need for user configuration. Now python has a plethora of ways and standards for parsing of configuration files like json, *.ini files, etc., but there is no standard about where to save them on the...

Read more →
...
14 Jun 2019

How to enforce conventional commit messages using git hooks

Conventional git commit messages are not just nice to have but great to have. In fact, once you get to know them, you’ll start feeling that they are essential in any serious programming project. Consider the difference between following two commit messages for instance: git commit -m "added social login...

Read more →
...
10 Jun 2019

Package signing in PIP - It works, in a roundabout sort of way

A few days ago, I made this DEV.to post about how Python’s PIP lacks GPG package signing. Well, it turns out that I’m wrong! It does have a package signing process after all, only its one of the most manual, archaic and cumbersome security practices I’ve seen till date. I...

Read more →
...
21 May 2019

Wordpress to Pelican in 24 hours

Today, I finished migration of my blog from a self-hosted Wordpress site to a statically hosted Github Pages site. For the static site generator, instead of choosing Jekyll which is a hot favorite of rubyists, I went for Pelican instead as I figured my Python skills might be somewhat useful...

Read more →
...
16 May 2019

Growing intolerance and lack of compassion towards new developers on StackOverflow

StackOverflow is the digital equivalent of the Holy See or the Holy Mecca when it comes to programming. It is that place where developers go visit when they don’t have answers to their coding problems in a hope that the Gods of StackOverflow will help them solve it. But lately,...

Read more →