Pull to refresh

All streams

Show first
Rating limit
Level of difficulty

On reordering expressions in Postgres

Level of difficultyEasy
Reading time4 min
Views237

Today, I want to talk about one of those sneaky tricks that can help speed up query execution. Specifically, this is about reordering conditions in WHERE clauses, JOINs, HAVING clauses, and so on.

The idea is simple: if a condition in an AND chain turns out to be false, or if one in an OR chain turns out to be true, there's no need to evaluate the rest. That means saved CPU cycles — and sometimes, a lot of them. Let’s break this down.

Read more

Cognitive Traps in Humans and AI: How Language Models Fail in Beautiful Ways

Level of difficultyEasy
Reading time5 min
Views646

As language models become more powerful, they also become more elusive. We are no longer dealing with simple text generators but with complex systems capable of creative reasoning, philosophical reflection, and simulated self-awareness. But with this growing sophistication come new vulnerabilities—cognitive traps that can distort both the model's thinking and our own perception of its output.

This article is based on extensive testing of various large language models (LLMs) in settings involving creative thinking, philosophical dialogue, and recursive self-analysis. From this exploration, I have identified seven recurring cognitive traps that often remain invisible to users, yet have profound impact.

Unlike bugs or hallucinations, these traps are often seductive. The model doesn't resist them—on the contrary, it often prefers to stay within them. Worse, the user may feel flattered, intrigued, or even transformed by the responses, further reinforcing the illusion.

Read more

Gemini CLI: Open-Source AI Agent in Terminal

Level of difficultyEasy
Reading time4 min
Views1.8K

Have you ever wished for an AI assistant right inside your terminal window? Well, your dream has come true because Google just released Gemini CLI. In this tutorial, I'm going to show you everything you need to know about this new open-source AI agent. We'll cover how to use it, the pricing, and some useful tips and tricks. So, if you're ready, let's get started! ;)

Read more

When the Office Is a Planet: How to Manage Distributed Teams

Level of difficultyMedium
Reading time9 min
Views446

Remote work in IT has long ceased to be unusual. But it is one thing to assemble a distributed team, and quite another to make it work comfortably for the participants and the company's results.

The article shares a story about distributed teams with a flexible culture, trust, and freedom, and how we achieved this.

Read more

Automated management of extended statistics in PostgreSQL

Level of difficultyMedium
Reading time6 min
Views415

Here I describe the results of developing a PostgreSQL extension I built just out of curiosity. Its purpose is to automatically manage extended column statistics. The idea came to me while finishing work on another "smart" query-driven product for improving PostgreSQL planning quality. I realized that the current architecture of PostgreSQL isn’t quite ready for fully autonomous operation — automatic detection of bad plans and adaptive optimizer tuning. So why not try the other way around and build an autonomous data-driven assistant?

Read more

What May Surprise You About UUIDv7

Level of difficultyMedium
Reading time3 min
Views1.4K

UUIDv7 was inspired by ULID. Like ULID, it is a 128-bit identifier, containing a timestamp on the left side and random data on the right side. But RFC 9562 establishes many requirements for UUIDv7.

In databases and distributed systems, a properly implemented UUIDv7 is always preferred over any other identifier type, including natural keys, autoincrement, UUIDv4, TypeID, ULID, KSUID, CUID, NanoID, and Snowflake ID.

Surprising distinctions of UUIDv7

Get Free Backlinks from These 35+ Authority Websites

Level of difficultyEasy
Reading time6 min
Views1.1K

Getting backlinks is hard. And getting traffic? Even harder.

But some websites still give you both for free.

I made a list of 35+ free sites and directories where you can add your product. You’ll get a real link to your site (a site backlink) and start getting clicks.

Get Free Backlinks

How to provide effective training for a UX design team

Level of difficultyEasy
Reading time4 min
Views426

Training is one of the most essential factors for growth, evolution and effective collaboration for any UX design team. Design is an ever-changing industry, and there is always something new to learn even for the most experienced professionals. The reality is, not all companies take training seriously, whether the reason is a low budget, lack of time or just not realising its necessity. Meanwhile, investing in training not only boosts the quality of work, but also helps find ways to find easier solutions, work faster and optimize the whole process. Let’s discuss some tips that might help you provide effective and fruitful training for your design team without spending extra budget or wasting time on some questionable training methods. 

Read more

AI Agents in Modern IT Solutions

Level of difficultyEasy
Reading time13 min
Views704

These days, it seems like everyone is talking about AI. AI here, AI there—AI will replace us all, and so on. I started to wonder: how exactly is AI going to replace us? I decided to dig into this question and examine the technical foundations, mainly to understand it for myself—how exactly is AI supposed to replace us all? Spoiler: it isn’t planning to just yet, but what’s already available today is impressive.

Read more

The Journey from Developer to Lead: Lessons Learned About Responsibility

Level of difficultyEasy
Reading time5 min
Views666

Becoming a lead isn’t just another line in your resume,  it’s a mental shift. It’s the moment you go from being a developer to someone responsible for your code and the entire team. Next, you’re also listening, mentoring, negotiating, motivating, and knowing how to find common ground even in challenging situations.

Today, I’m a Dev Lead at EXANTE. We develop internal services for a select group of internal stakeholders. But my journey started long before that — with informal leadership, a few mentorship flops, and plenty of lessons learned the hard way.

Here’s what that path looked like.

Read more

Whose feature is better, or how to compare the efficiency of SQL query plans

Level of difficultyMedium
Reading time5 min
Views324

How to compare the efficiency of SQL query plans? “Measure the execution time, of course!” — an experienced reader would say. And they would be absolutely right: from a practical perspective, the more efficient DBMS is the one that delivers higher TPS. However, sometimes we need to design a system that doesn't exist yet or predict behavior under loads that haven't occurred yet. In such cases, we need a characteristic that allows us to perform a qualitative analysis of a plan or compare two plans. This post is dedicated to one such characteristic — the number of data pages read.

Read more

The Billiard Fractals

Level of difficultyHard
Reading time25 min
Views766


Complex systems often appear chaotic or incomprehensible, yet closer examination reveals that such complexity can frequently be reduced to a simple underlying mechanism. By systematically removing layers of emergent behavior, one can uncover a fundamental rule or equation from which the entire system originates.

Read more →

SQL Server vs. PostgreSQL query optimization: room for improvement?

Level of difficultyMedium
Reading time15 min
Views646

For years, we’ve studied Oracle to make PostgreSQL a more migration-friendly option. We introduced tools similar to SQL profile and SQL plan baseline as AQO and sr_plan extensions. In some cases, PostgreSQL even outperforms Oracle, especially in automatic re-optimization.

Migrations from Oracle to PostgreSQL are usually smooth performance-wise, and we’ve even developed session variable extensions to make the transition easier. While many enterprise-only features exist, PostgreSQL often integrates popular solutions directly into the core.

Read more

Neat defer macro for C++17

Level of difficultyMedium
Reading time5 min
Views654

Manual resource management in low level C-style C++ code might be annoying. It's not practical to create good enough RAII wrappers for every single C API you use, but approaches with goto cleanup or loads of nested if (success) hurt readability.

A defer macro to the rescue! The deferred lambda will be executed on scope exit, no matter how it happens: you can return from any point, throw an exception (if allowed), or even use a goto to an outer scope. It is truly zero-cost and doesn't rely on C runtime or standard library, so it can be used even in kernel development.

Read more

Google Jules: An Asynchronous Coding Agent Explained

Level of difficultyEasy
Reading time3 min
Views1.3K

In this tutorial, I’ll walk you through everything I’ve learned about using Google Jules — an asynchronous coding agent. I’ve kept the explanations clear and simple, so whether you're an experienced developer or a beginner, you’ll be able to follow along. By the end, you should feel confident working with Jules: assigning tasks, reviewing its output, and making the most of its capabilities. Ready? Let’s dive in. ;)

Read more

How an AI CAPTCHA Solver Works: From OCR to Deep Learning

Level of difficultyEasy
Reading time13 min
Views973

CAPTCHA has become a familiar part of the internet: distorted texts, “find all the traffic lights” images, audio riddles, and other challenges that distinguish humans from machines. Every bot-system developer or QA engineer automating web scenarios has at least once run into a script suddenly stumbling over a CAPTCHA. A natural question arises: can a program be taught to solve CAPTCHAs the way a human does—quickly and reliably? In this article I will try to figure out how AI CAPTCHA solvers are built, from classical OCR methods to modern neural networks.

Read more
1
23 ...