Chrome Extension Sorcery: From 'Hello World' to Meme Wizardry in 3,000 Easy Steps

Chrome Extension Sorcery: From 'Hello World' to Meme Wizardry in 3,000 Easy Steps

Picture this: you’re browsing cat videos at 2 AM when a sudden thought strikes - “What if I could make Chrome fetch me coffee through the USB port?” While we haven’t cracked physical java delivery (yet), today we’ll learn how to bend Chrome to your will using extensions. By the end of this guide, you’ll be creating browser add-ons that make even Google engineers raise an eyebrow (in a good way, hopefully)....

April 3, 2025 · 4 min · 672 words · Maxim Zhirnov
Волшебство расширения Chrome: от 'Hello World' до волшебства мемов за 3000 простых шагов

Волшебство расширения Chrome: от 'Hello World' до волшебства мемов за 3000 простых шагов

Представьте: вы смотрите видео с котиками в 2 часа ночи, как вдруг вас осеняет — «А что, если бы я мог заставить Chrome принести мне кофе через USB-порт?» Хотя мы ещё не освоили физическую доставку кофе (пока), сегодня мы узнаем, как подчинить Chrome своей воле с помощью расширений. К концу этого руководства вы будете создавать дополнения для браузера, которые заставят даже инженеров Google поднять брови (надеюсь, в хорошем смысле). Секретный ингредиент: manifest....

April 3, 2025 · 4 min · 666 words · Maxim Zhirnov
The Fallacy of 'Always Use a CSS-in-JS Solution': When Stylesheets Fight Back

The Fallacy of 'Always Use a CSS-in-JS Solution': When Stylesheets Fight Back

Let me paint you a picture: it’s 3 AM, your React component is bleeding styles like a zombie extra from The Walking Dead, and you’re knee-deep in styled-component wrappers. Suddenly it hits you - maybe CSS-in-JS wasn’t the silver bullet promised in that Medium article with the suspiciously perfect code samples. Welcome to my world, friend. Let’s dig into when CSS deserves its seat at the grown-ups table. The JavaScript Industrial Complex Claims Another Victim I’ll never forget the day I inherited a codebase where a button component needed 17 nested ThemeProviders just to change its hover color....

March 31, 2025 · 4 min · 810 words · Maxim Zhirnov
Ошибочность 'Всегда используйте решение CSS-in-JS': Когда таблицы стилей сопротивляются

Ошибочность 'Всегда используйте решение CSS-in-JS': Когда таблицы стилей сопротивляются

Позвольте мне обрисовать вам картину: сейчас 3 часа ночи, ваш компонент React теряет стили, как зомби из «Ходячих мертвецов», и вы по уши в обёртках styled-component. Вдруг вас осеняет — возможно, CSS-in-JS не был той панацеей, которую обещали в статье на Medium с подозрительно идеальным примером кода. Добро пожаловать в мой мир, друг. Давайте разберёмся, когда CSS заслуживает своего места за столом взрослых. Индустрия JavaScript объявляет очередную жертву Я никогда не забуду тот день, когда я унаследовал кодовую базу, где для изменения цвета при наведении курсора на компонент кнопки потребовалось 17 вложенных ThemeProvider....

March 31, 2025 · 4 min · 771 words · Maxim Zhirnov
The Evolution of Web Programming Languages: From HTML to Modern Frameworks

The Evolution of Web Programming Languages: From HTML to Modern Frameworks

Introduction to Web Development Web development has come a long way since its inception. From static HTML pages to dynamic, interactive web applications, the journey has been fascinating. Let’s dive into the evolution of web programming languages and explore how they’ve shaped the internet as we know it today. Early Days: HTML and CSS HTML (Hypertext Markup Language) and CSS (Cascading Style Sheets) were the first building blocks of web development....

March 14, 2025 · 4 min · 754 words · Maxim Zhirnov