Vibe coding is taking the internet by storm. Popularized by Andrej Karpathy, it changes the entire industry. But why only engineers should have all the fun?| yield code();
The other day I thought to myself that it would be a good idea to have some backups of my data. So I was wondering, how would I execute a periodic backup task?| yield code();
Earlier this week, a Chinese company released a new AI model called DeepSeek, that shattered the big tech giants that tried to own AI. Seeing this, brings some memories from the past.| yield code();
Let's address the existence of so called Ghost Engineers| yield code();
An insight from a non-manager perspective.| yield code();
Developer experience, or shortly DX, seems to be the number one thing that people pay attention to in their chosen tools/frameworks.| yield code();
About 15 years ago, I got my first software engineering job, and the way things were done back then--was different.| yield code();
It's been almost a year for me developing, maintaining, and running a production web application written in Rust.| yield code();
For the past few weeks I've been thinking about how hard it is to develop software.| yield code();
Recently, I've seen a lot people online asking for CV improvement tips. I decided to share my knowledge in this article.| yield code();
A tale on why software engineering might not be a team sports after all, despite what eveyrone wants us to believe| yield code();
A malicious backdoor was discovered in xz library that implements LZMA compression. xz, among many other places, is used, indirectly, in sshd. My attempt to explain what happened.| yield code();
While looking for a job recently, I stumbled upon an interesting phenomen that I consider to be a curse for senior software engineers.| yield code();
I wanted to turn one of my side projects into a statically generated website. But the backend was written in Rust. So I decided to combine them.| yield code();
Join me on an adventure to build a superb email preview and rendering for MJML and handlebars using SvelteKit.| yield code();
A step by step guide for staying junior forever| yield code();
An evening rant about the unnecessary bloat in Software Engineering| yield code();
For the past month I was running a Google Ads campaign for the first time. In this article, I'll cover everything I learned by doing this.| yield code();
In the past six months, I wrote and self-published two books related to Software Engineering. Let me share with you the workflow and tools I used to do so.| yield code();
For the past 6 months, I've been nomading in Central America. During this time, I built 6 side projects. Here is everything I've learned from this incredible experience.| yield code();
Doing localization is complicated. Many websites, even big ones, get it wrong. Let me share how I did it. In Rust of course.| yield code();
After more than 6 years of building web applications in NodeJS, I finally published one in Rust. Here is what I learned in the process.| yield code();
During the development of my recent project, I decided to split some components to their own packages, and used npm workspaces for that.| yield code();
Since the dawn of the web, humans created CRUD APIs. And we were instructed that modification verbs should return the modified resource in response. But, should they?| yield code();
Earlier this week, the entire JavaScript community was in shambles over a controversial decision in a popular open-source project.| yield code();
For the past years, we've witnessed a rise of new type of social media platforms. Platforms that compete for the ownership of your content. And the attention of your consumers.| yield code();
OpenGraph metadata is an important part of your blog or website. It can affect whether users will open your website or not.| yield code();
All engineers are good writers... of code. But I believe that in order to a become better engineer–you should improve your writing skills.| yield code();
I denied burnout as a concept, until life decided to teach me the hard way. So here I am, burnt out. How did I get there?| yield code();
The web has come a long way. From the early static pages, through the evolution of reactivity, and towards the biggest knowledge pool for all of humanity.| yield code();
There are many concepts in the OOP paradigm. Inheritance is the most known, and it allows us to model software as relations between objects.| yield code();
New year is a good time to create a resolution. What if your resolution is a career change to software engineering?| yield code();
There is one thing engineers hate the most—waking up at night and troubleshooting production incidents. What if I told you I know how to make it less painful?| yield code();
2022 is, undoubtedly, the year of the AI. It started with DALL-E, then GitHub Copilot, and now—ChatGPT. AI is here to stay, whether you like it or not, and we ought to find a way to live with it.| yield code();
Traditional pagination existed for many years. But it’s not useful for platforms with huge amount of user generated content. Luckily, there is an alternative solution for such systems.| yield code();
Unless you’ve been living under a rock, you probably heard about OpenAI releasing ChatGPT for a free research preview.| yield code();
GNU Make. A software that is, most likely, older than you. It’s so simple, so standard, and so ignored. I’m here to provide a case in favor of make and Makefiles.| yield code();
We all know the joke about how node_modules is the heaviest object in the universe.| yield code();
setTimeout() is the most powerful execution control function. Sadly - it's not async. Lets turn it into one.| yield code();
Legacy. The one word engineers cringe when they hear. Nobody wants to work with legacy code or legacy systems. And yet someone has to. Can we do something about it?| yield code();
Take a good look at the following function and try to understand what it's doing. function do_magic(a, b) { return a + b; }| yield code();
The dire state of the software industry, leaves us with hopes for a better future. Why we ended up like this?| yield code();
In my previous post about [[supercharge-nodejs-with-rust|Native Rust Modules for NodeJS]], people asked me how neon bindings would compare to WASM. Let's check!| yield code();
Last week JetBrains launched their new Fleet IDE and I've been lucky enough to get the Preview version. What do I think about it?| yield code();
The path to becoming a great technical interviewer is full of doubts, tough decisions, and self-discovery. But I believe every engineer should try to walk it.| yield code();
Node isn't the fastest framework out here. It's not the slowest either, v8 is doing wonders to its speed, but nevertheless, if we setup an unfair battle between Node and say Rust; Node will lose.| yield code();
We’ve all been there. Its time to introduce a new package / dependency to our code base, be it a HTTP request library, a logger or something else, and the question we ask ourselves “Should I wrap it?”| yield code();
In computing, a context switch is the process of storing the state of a process or of a thread, so that it can be restored and execution resumed from the same point later. This allows multiple processes to share a single CPU, and is an essential feature of a multitasking operating system. — Wikipedia| yield code();
In my last post I've discussed ReactJS localization. Now lets find the proper way to do localization.| yield code();
There are two aspects of good API design: (1) a control of what it accepts, and (2) taking a brief look will help you understand what it does.| yield code();
| yield code();
Using jquery/globalize to localize your React.js applications.| yield code();
Earlier today, an update from CrowdStrike caused global outages in Windows powered machines. Among impacted industries are: medicare, healthcare, home-land security, aviation, and transportation.| yield code();
Following the CrowdStrike outage, I've stumbled upon an articles that claims that developers should have consequences. Do they?| yield code();