Part of being a programmer means that we always try to learn new things, frameworks, languages. This time I picked Zig. I think that it got the most traction when Mitchell Hashimoto started Ghostty. Even my friend David Bushell often proves that he mastered the language . So I thought why not jump into it? Zig is a powerful modern language. And if you know me then you know that I often doesn’t…
So, you want to draw a perfectly even dashed border around your HTML element? At first glance, it looks like a no-brainer. However, I soon realized there are nuances. This is the design: we want a pixel-perfect, evenly distributed dashed border around an image. A space invader alien within a dashed rectangle Navigate to "Basic solution" Basic solution Okay, you say. Let’s slap on some CSS…
Let’s talk about some awesome selfhosting because it’s having a trend now. This post will be more like a TIL than a prose. Navigate to "How it started" How it started In the past couple of months, I’ve got more and more interested in home servers. My initial interest was towards backing up my family media without using any proprietary garbage™ software (thanks tony ). Immich flawlessly filled the…
️️This post is about a topic that every developer struggles with. Version control systems (VCS for short) are an essential part of our day-to-day life. When I say commit, branch, or conflict, you automatically associate it with Git—thanks to the Pavlovian reflex that is hard-coded into our brains these days. But it doesn’t have to be. In this post, I invite the reader to explore a new VCS called…
Today, I want to talk about following standards. Are you adhering to them, or are you going rogue and carving your own path? Navigate to "Background" Background Recently, I wanted to add runtime API validation to one of my “old” projects. So, I browsed the web, gathering all the information I could about these libraries. Initially, I thought it would be a piece of cake, but I soon realized it was…
So here we are again—this time with a problem that was supposed to be easy: finding a modern, accessible date and time picker library to replace our old solution. I thought this would be simple, given the vast JavaScript ecosystem. But the result was surprising. Navigate to "How to tackle this?" How to tackle this? I usually start with a good old Google (or DuckDuckGo ) search and click through…
I recently discovered a new toy called scroll-driven animations. Since it’s a fresh feature currently only available in Chrome, I thought it would be the perfect time to dive into something new in modern CSS. I’d heard about it several times in newsletters and podcasts , but until now, I didn’t find it particularly appealing. Turns out, I was so wrong… so let’s dive in! Navigate to "Rules" Rules…
Recently, I came across a library that provides API access to my Moonlander keyboard. It’s written in Rust, so I saw it as the perfect opportunity to sharpen my skills! Plus, since my little one loves to pound away at the keys, I decided to build a fun, interactive desktop app. And just like that, the adventure begins… Navigate to "Library" Library It all started with the discovery of the Kontroll…
By now, you probably know that I’m obsessed with CSS. These days, CSS is improving rapidly, and it’s hard to keep up with every new feature. In this post, I’ll provide a basic overview of the new transitions that can make your MPA (Multi-Page Application) site feel like a native application. Navigate to "Browser support" Browser support I wanted to add this section to the beginning of the post…
Today, I want to talk about the social aspect of our industry. For the longest time, I thought that being an exceptional developer meant that I had to know and use as many technologies as possible. This can be a “burden” if you think about it. Let’s explore some solutions. Navigate to "Social trainings" Social trainings Most of the developers, including myself, are introverts. This is not…
️️Hey there, it’s been too long! Guess what? I’ve been diving headfirst into a new project at my company lately. The project is mature and has its own conventions and stack. But you know me—I’ve always got that developer’s eye for improvement. So, naturally, I’ve been brewing up some killer ideas to take this project to the next level. And what I stumbled upon? A gem of a project called sli.dev ,…
This week, I’m revisiting my favorite topic: CSS. I’d like to demonstrate an awesome and easy way to create accessible tabs. The concept really caught my attention when I first encountered it. Navigate to "What is the <details>?" What is the <details> ? The <details> HTML tag allows developers to implement an accordion-like widget without writing any JavaScript. The beauty lies in the fact that we…
️️Over the weekend, I worked on a side-project that required ultra-rapid completion while maintaining a focus on proper UX, logic, and testing. Naturally, the application needed to consume an external API. Given these constraints, I decided to utilize Valibot to validate the API schema and expedite the development process as much as possible. Navigate to "Introduction" Introduction Valibot…
️️Markdown is flourishing these days. Web applications render it to HTML to display content. Traditionally, these documents are rendered to HTML on the server-side. But it doesn’t have to be like that. If you are interested in a client-side solution, then this post is exactly for you. Lately, I haven’t been posting anything interesting. This is mainly because I’ve been fully immersed in writing…
It’s animation time once again! A while back, I had this itch to explore a petite animation library called Zdog . In this post, we’re diving into its capabilities and having a bit of fun along the way. Zdog, a compact 3D engine, works wonders by bringing simple vector illustrations into the 3D realm, showcasing them elegantly on either a <canvas> or an <svg> . According to the author, it’s…
End-to-end testing is a method to test the application fully from a user perspective in an automated way. This means that there is no separated module or mock during the test execution. The tests are running against a real application and database. Recently, Playwright has emerged as the de-facto end-to-end testing library. In my opinion, this is thanks to its ability to simulate the most popular…
WebAssembly has always piqued my curiosity. Over the past few weeks, I’ve delved into numerous documentation sources to unravel the mysteries surrounding this fascinating technology. Not only that, but I’ve also ventured into the world of learning a new keyboard layout (Norman). The experience of exploring diverse topics is undeniably enjoyable. Surprisingly, even during my leisure time, I find…
️️This week, I worked a bit on web content compression. Traditionally, I have always been involved with Java Spring Backends. So, it was a bit challenging for me to figure out how to implement compression properly, especially in our case where we don’t use the - so popular - Spring Boot. It’s a simple Spring MVC application. Navigate to "Background" Background Browsers are able to indicate their…
Lately, I’ve been playing around with 3D elements to refresh my memory on how to implement certain things in Three.js. More importantly, I’ve been exploring the current state of WebGPU. Navigate to "Story" Story One or two years ago, I was deeply involved in creating immersive experiences within the browser. That’s when I discovered Three.js , and my jaw dropped immediately at the possibilities it…
In this post, I want to show my techniques for delivering web fonts efficiently. I’ve always harbored a strong inclination toward aesthetic elements in the world of fonts. It fascinates me that we can convey the same meaning with different styles, creating a diverse user experience. Whether it’s Franklin for news, Mono for scientific contexts, or Inter/Noto/Montserrat/Nunito for general use 🤓,…
Achieving small JavaScript bundle sizes is a goal cherished by users, clients, browsers, ISPs, and, not least, developers. While it can be challenging to maintain, optimizing bundle size was the focus of my work this week. Navigate to "Webpack" Webpack In the current JavaScript ecosystem, the spotlight may be on ESM and Vite, but Webpack remains the most popular and widely used bundler.…
Using icons on a website is a common and integral task, often incorporated into paragraphs, snippets, illustrations, and more. SVGs are frequently chosen for this purpose due to their scalability advantages. Several methods exist for using SVGs on a website: Inline SVG Embedding it within an img tag Loading it with CSS ( background , content , etc.) However, challenges arise when attempting to…
Lately, I’ve been on a quest to elevate my Front-End Security skills, and one fascinating aspect I’ve delved into is Content-Security Policy (CSP). It’s like the low-hanging fruit of security that every developer can pluck to fortify their web applications. In a nutshell, CSP is your website’s shield, and it’s composed of directives that tell the browser what’s safe to execute. These directives…
On this blog, you might have noticed a special dotted pattern I use to emphasize headings. This design adds a unique touch, but it does present some CSS implementation challenges. Navigate to "Solutions" Solutions I’ve come up with two creative ideas, both relying on repeating gradients. Navigate to "Repeating conic-gradient" Repeating conic-gradient This approach involves a 3/4 spin with a…