Monday, August 8, 2022
Compress Your Images for Faster Page Speed and Better SEO
We have recently launched an image compressor aimed at web designers, web developers and bloggers in general to help optimizing…
Monday, December 16, 2024
How to fix Open Graph URL not matching canonical when using Yoast SEO
I have recently run into an issue with the Yoast SEO plugin, as reported by an Ahrefs audit. Basically, the…
Monday, September 22, 2025
Code Golfing Tips & Tricks: How to Minify your JavaScript Code
JavaScript golfing is the process of writing the smallest amount of JavaScript code to do something awesome.
Monday, September 22, 2025
The Complete JavaScript Strings Reference
JavaScript strings are deceptively complex constructs. There are actually two different types of strings – string Literals and string Objects…
Wednesday, August 17, 2022
How to Set Up a Professional Email Address With Gmail and Google Workspace (G Suite)
Need a helping hand with how to set up Google Workspace (formerly G Suite) for your website so that you can have…
Monday, September 22, 2025
WordPress Update Services: WordPress Ping List & Tutorial
Utilizing WordPress update services is your first step to faster indexing. As a mechanism that literally says “hello, I am…
Monday, September 22, 2025
How to code your own JavaScript de-duplicator
I have a new tool on getButterfly: a data de-duplicator for emails, URLs, IDs, names and more. It's written in…
Monday, September 22, 2025
Click Instead of Hover: A CSS-only “Clicky” Menu
Simple click-triggered navigation submenus. Accessible and progressively enhanced. Hover is not consistent, not accessible and inefficient.
Monday, July 4, 2022
JavaScript Form Validation
This JavaScript code snippet adds inline validation to any form field (input, select and textarea). Feel free to customise it…
Monday, September 22, 2025
WordPress Security X – 2025 Edition
When dealing with WordPress security, we need to start from the bottom of the stack and go up. There's usually…
Monday, September 22, 2025
WordPress SEO: How to Calculate Text Readability?
In order to evaluate the effectiveness of your writing, you can easily check the readability of your website pages. Key…
Monday, September 22, 2025
Security Headers: A Concise Guide
Security is as essential as content and SEO, and thousands of websites get compromised due to misconfiguration or lack of…
Monday, September 22, 2025
How to recover old images in WordPress
This article is about how to recover old images in WordPress that are still using obsolete or missing sizes. Let’s…
Monday, September 22, 2025
How to Use WordPress: The Guide
At its core, WordPress is a free online tool for building websites and blogs. It’s a scalable, feature-rich Content Management…
Monday, September 22, 2025
Regular Expressions (RegEx) in Google Search Console
A few days ago, I noticed a Google Search Console regular expression query for user questions popping up on Twitter:…
Thursday, March 6, 2025
How to parse a WordPress gallery block and return image IDs
How to parse a WordPress gallery block programmatically and return all image IDs in an array using 3 lines of…
Saturday, December 2, 2023
How to get content from another website using JavaScript
Here’s the scenario: One of my websites is static, and I need to maintain a changelog both on the website…
Tuesday, May 7, 2024
Why I removed my dark theme switcher
How I implemented a dark/light theme switcher using JavaScript and CSS for both WordPress and static websites.
Friday, June 3, 2022
JavaScript Bookmarklets Collection
Bookmarklet 1: Show Password A simple JavaScript snippet can be used to view passwords in web browsers. To use the code,…
Tuesday, May 2, 2023
How to copy web page content using innerHTML
I need to extract some data from a web page and place it on a fishing site. The source web…
Tuesday, May 17, 2022
How to Optimize a Theoretical Funnel Page Load Speed
Here’s a quick snippet to preload the next step in a theoretical funnel/workflow: PHP JavaScript
Tuesday, December 27, 2022
Numerical Integration Using JavaScript
This is a quick reminder on how to use mathematical functions inside JavaScript. Instructions Trig: sin, cos, tan, cot, sec,…
Tuesday, May 17, 2022
Random JavaScript Tutorials
I needed some structural updates for a site, and among them, I added some JavaScript snippets. I will show you…
Wednesday, April 30, 2025
How to Declare a Global Variable inside a JavaScript Function
A JavaScript global variable is a variable with global scope, meaning that it is visible and accessible throughout the program, unless…
Tuesday, May 17, 2022
JavaScript Terminal
Today’s tutorial is about creating a terminal screen together with lime terminal characters in JavaScript. Let’s start with the CSS:…
Friday, June 3, 2022
Demystifying JavaScript history.back() and history.go() methods
One of my clients needed his online shop customers to be able to go back several steps with one click…
Wednesday, April 30, 2025
How to check scroll depth using JavaScript
Tracking how far users scroll down a webpage can provide valuable insights into content engagement. By monitoring scroll depth milestones—such…
Friday, June 3, 2022
How to execute code for X visits
This JavaScript will let you execute code a certain number of times. For example, you might want to only show…
Monday, September 22, 2025
Canvas: Animation
Making an animation from an element on an HTML5 Canvas is easy enough. To do this, a timer is set that…
Monday, September 22, 2025
Canvas: Interactive Shapes
If you draw a red square on a Canvas using the stroke() or fill() method, the square becomes nothing more…
Monday, September 22, 2025
Canvas: Inserting Images and Text
You can optimize text input by storing the desired text in an image file and then displaying it on the…
Monday, September 22, 2025
Canvas: Shadows and Gradient Fill
This is a Canvas programming introductory series: So far, we’ve been using solid colors to draw and fill elements on…
Monday, September 22, 2025
Canvas: Transforms and Transparency
Transform is a drawing technique that allows you to move the coordinate system of the Canvas using JavaScript.
Monday, September 22, 2025
Canvas: An Awesome Introduction
The ID attribute gives this Canvas the unique name required for it to be identified by JavaScript code and set…
Friday, June 3, 2022
How to create a simple JavaScript percentage graph (or chart)
This small JavaScript snippet creates percentage graphs out of raw (array) data. Just input the name/value pairs of the involved…
Friday, June 3, 2022
JavaScript shortcuts for TRUE and FALSE
Here’s a neat trick if you’re into micro-optimization. JavaScript compressors and minifiers are used to make JavaScript code smaller and,…
Thursday, January 26, 2023
How to create time constants in JavaScript in a performant way
A recent project of mine required time constants, and instead of opting for an additional library for just 10 or…
Thursday, May 9, 2024
Grizzy: How to create a Grid Gallery using modern CSS
In this article, we are going to create a grid gallery using CSS only, more precisely Flexbox CSS. In the…
Tuesday, October 29, 2024
How to create a minimal JavaScript slider with CSS transitions
A JavaScript Slider in 8 Lines In this post, we’ll build a minimal JavaScript slider, with no dependencies. The smallest,…
Wednesday, January 18, 2023
Deep Dive into CSS Grid
This tutorial will dive deep into the CSS Grid Layout, exploring all major elements of Grid and almost all properties…
Tuesday, August 20, 2024
Canvas: Strange, Creepy Cables
A while ago I was playing with some basic trees drawn in Canvas using JavaScript. The longer I played, the…
Wednesday, August 21, 2024
Canvas: Pathfinding
Breadth First Search (BFS) Algorithm Below is a Breadth First Search implementation using Canvas and Vanilla JavaScript. This article is…
Wednesday, September 3, 2025
Canvas: Circles & Optical Illusions
Here is another experiment in my Canvas series. This time, I have 2 sets of circles being generated, one set…
Wednesday, September 3, 2025
Canvas: 2D Waves
This is the second Canvas visualization I’m experimenting with. The first one was a Julia fractal animation. This article is…
Wednesday, September 3, 2025
Canvas: Julia Fractal Animation
While working on my Canvas Bots project, I experimented a lot with Canvas generative art. There’s a lot of potential…
Monday, May 16, 2022
Vanilla JavaScript table date sorting
Say we have a table with dates, in the following format: We want to sort this table dynamically based on…
Wednesday, May 8, 2024
Tiny confirmation modal dialog in Vanilla JavaScript
A new addition to my Thin UI library, a much-needed modal dialog (popup dialog), this script is tiny, and it…
Tuesday, August 19, 2025
How to completely remove Post SMTP logged emails
How to completely remove Post SMTP logged emails and session transcripts Post SMTP is an awesome WordPress plugin, but I…