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

Add Emoji support to Dompdf

December 2, 2022 ≈ 43 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 ≈ 6 minutes 16 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 ≈ 49 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 5 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 21 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 41 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 ≈ 54 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...

Hello world with Three.js

August 24, 2021 ≈ 3 minutes 22 seconds

Most Three.js Hello World programs are just rotating cubes. Here we going to rotate the real Hello World text. And we would do it in one HTML file. We include the Three.js library through CDN and font directly from GitHub. Everything would work without a server, just open a final HTML file in the...