The Case Against Always Using Serverless Functions

Serverless functions are the shiny new toy that everyone wants to play with. They promise infinite scalability, zero infrastructure management, and that magical “pay-only-for-what-you-use” pricing model. But here’s the thing: just because you can put everything in a serverless function doesn’t mean you should. Let me be the party pooper who tells you why your serverless-first approach might be costing you more than just money—it might be costing you sanity, performance, and control over your own application....

August 8, 2025 · 9 min · 1802 words · Maxim Zhirnov

Аргументы против того, чтобы всегда использовать функции Serverless

Бессерверные функции — это новая блестящая игрушка, с которой все хотят поиграть. Они обещают бесконечную масштабируемость, отсутствие управления инфраструктурой и волшебную модель ценообразования «плати только за то, что используешь». Но вот в чём дело: возможность поместить всё в бессерверную функцию не означает, что так и нужно делать. Позвольте мне быть тем, кто испортит вам веселье и расскажет, почему ваш подход «сначала бессерверные функции» может стоить вам не только денег, но и здравомыслия, производительности и контроля над вашим собственным приложением....

August 8, 2025 · 6 min · 1081 words · Maxim Zhirnov

The Fallacy of 'Always Use a Framework': When Vanilla JS/Python/etc. is Better

Picture this: you walk into a modern development team meeting, casually mention you’re building something in vanilla JavaScript, and suddenly everyone’s looking at you like you just suggested using a stone tablet for documentation. “But why not React?” they ask, eyes wide with concern. “What about Vue? Angular? Surely you’re not going bare metal in 2025?” Well, buckle up, because I’m about to commit what some consider development heresy: sometimes, just sometimes, vanilla code isn’t just acceptable—it’s superior....

August 6, 2025 · 14 min · 2912 words · Maxim Zhirnov

The Art of Writing Non-Portable Code: When It’s Beneficial to Lock-In

The Lock-in Libido: Why Sometimes Platform-Specific Code Wins Portability used to be software’s ultimate virtue – the coding equivalent of keeping a suitcase permanently packed. But I’ll tell you a secret: in certain corners of our digital world, that magical “write once, run anywhere” promise isn’t just inconvenient. It’s often a flat-out lie. And you know what? That’s okay. Not Every Program is A Global Citizen Portable code maximizes flexibility. Non-portable code maximizes power....

August 4, 2025 · 4 min · 798 words · Maxim Zhirnov

Искусство написания непереносимого кода: Когда выгодно использовать Lock-In

Заблокированное либидо: почему иногда побеждает платформенно-зависимый код Портабельность когда-то была главной добродетелью программного обеспечения — эквивалентом постоянно собранного чемодана в кодировании. Но я открою вам секрет: в некоторых уголках нашего цифрового мира волшебное обещание «напиши один раз, запускай где угодно» не просто неудобно. Часто это абсолютная ложь. И знаете что? Это нормально. Не каждая программа — глобальный гражданин Портабельный код максимизирует гибкость. Непортабельный код максимизирует мощность. Подумайте об этом так: швейцарский армейский нож не сможет провести операцию на открытом сердце....

August 4, 2025 · 4 min · 831 words · Maxim Zhirnov