Subscribe to our newsletter

If you provide url of your website, we send you free design concept of one element (by our choice)

Subscribing to our newsletter, you comply with subscription terms and Privacy Policy

Generate a PDF that includes a fixed header and footer on every page using Dompdf.

December 22, 2023 ≈ 42 seconds

Ever found yourself in a situation where you needed to generate a PDF with fixed headers and footers on each page? Maybe you've been through countless forums and documentation pages, only to end up more confused. If this sounds familiar, you're in the right place! Here is a straightforward...

Add Emoji support to Dompdf

December 2, 2022 ≈ 45 seconds

Attempting to generate a PDF with 🚀👌 😉 and getting 𐈉𐈉𐈉? Googling has led you there:, where you learned that the problem is hard, not solved yet, and that emojis support should be added to php-font-lib first? What should you do next if you still want emojis in your generated PDF?

Docker for the long-time Vagrant user (Laravel, Nginx, PHP with Xdebug, MySQL, Redis)

November 15, 2022 ≈ 5 minutes 14 seconds

Why did I decide to try Docker after being totally happy with Vagrant for such a long time? Well, I switched to the new dev machine, based on an M1 processor, which is unsupported by VirtualBox. Also for the speed, less disc consumption, ease of networking between containers and other benefits of containerized approach, such as when I'm working on...

Alert boxes with a close button you can copy and paste into your HTML code—inline styles and no javascript

June 30, 2022 ≈ 1 minute 51 seconds

A lot of times, while working on a project without CSS frameworks, I found myself googling for alert boxes, which I can copy and paste without any setup. Every time I paste the code it requires some additional adjustments. So I made inline Error, Success, Info, and Warning forms with a close button and zero javascript. I use it myself and now...

Cross-browser SVG to PNG. Solution for a tainted canvas in Safari and mobile Chrome.

May 31, 2022 ≈ 51 seconds

How to convert inline SVG image into PNG in the browser? —The easiest way is to draw it on the canvas and use toDataUrl() function. The catch is browser support, especially mobile browsers and desktop Safari. When you try to use toDataUrl() function of canvas with SVG, it becomes «tainted» and blows up with...

Resize multiple images proportionally with FFmpeg and a shell function

December 26, 2021 ≈ 2 minutes 6 seconds

You probably already know that FFmpeg can resize images proportionally, and also that it can't overwrite them. So you either save resized files under new names or into a new folder, and it becomes tedious... When you repeat the same pattern multiple times over the week, it's time to search for a way to automate it...

Make NPM package with Vue Single File Component (SFC) working with Vue 2 and 3

November 22, 2021 ≈ 3 minutes 29 seconds

Recently I made a single file upload component for Vue with drag'n'drop support. I made it suitable for my Vue2 and Vue3 projects and while publishing on NPM, I thought there would be a simple way to make it installable for both Vue2 and Vue3 users. But there was a number of catches...

What is JS window.event, why it is deprecated and what to use instead?

November 12, 2021 ≈ 1 minute 46 seconds

A lot of times I used the event variable in my Javascript functions, saw «Deprecated symbol used, consult docs for better alternative» warning from my IDE, and just ignored it. Day-by-day, curiosity for what is event, why it is deprecated, and what should I use instead reached the level where I decided to learn about...

Filters in CSS cheat sheet

September 14, 2021 ≈ 43 seconds

Filters in CSS are commonly used to adjust the rendering of images, backgrounds, and borders. With filters, you can make a picture grayscale, increase the contrast, make it blur, add shadow, or completely invert the colors. Here is a little downloadable and a printable cheat sheet with CSS ...

Create your first Tailwind CSS plugin

September 8, 2021 ≈ 57 seconds

Tailwind CSS is a modern utility-first CSS framework with great documentation. This guide will show you how to extend Tailwind with plugins, which you can write yourself. We are going to create plugin.js file and include it in tailwind.config.js configuration file. The purpose of the plugin is to just output...