Pull to refresh

All streams

Show first
Rating limit
Level of difficulty

Postgres Pro OpenTelemetry сollector

Level of difficultyMedium
Reading time4 min
Views520

Hi everyone, I’m Alexey. I’m a big fan of observability, and in this post, I want to share something I’ve been working on — the pgpro-otel-collector.

TL;DRpgpro-otel-collector is an OpenTelemetry collector (aka monitoring agent) tailored for gathering Postgres metrics and logs — brought to you by PostgresPro.

Read more

Millau — ingress-proxy with self-configuration for Docker Swarm

Level of difficultyEasy
Reading time5 min
Views572

Ashamed to admit, I still use Swarm in 2025. It's easy to explain, quick to set up, and simple to use. It's a starting point in the world of containers when full-blown Kubernetes is overkill. But Docker's evolution hasn't been the most straightforward. Over time, it began to lack a minimal dynamic proxy for Swarm - one that you run once, which configures traffic routing to microservices automatically - and forget about it. That's how Millau was born - an ingress-proxy and load balancer based on labels. It currently powers its own website and a few other projects.

Read more

Designing profitable software: architecture principles for business success

Level of difficultyMedium
Reading time5 min
Views1.3K

This article presents a business-driven approach to software architecture, focusing on maximizing profitability through technical decisions. It advocates for:

Distributed, stateless services with immutable models for scalability

Isolated third-party integrations without disrupting core logic

Simple, modular design 

Best for:

✔ Tech leads designing scalable systems
✔ Managers optimizing dev efficiency
✔ Stakeholders evaluating ROI on architecture

Read more

cgroups: how to eliminate the “noisy neighbor” effect in PostgreSQL

Level of difficultyMedium
Reading time6 min
Views504

If you've ever run multiple instances of PostgreSQL or other software on a single machine (whether virtual or physical), you've probably encountered the "noisy neighbor" effect — when instances disrupted each other. So, how do you make them get along? We’ve got the answer!

Read more

ShopCTL: A Developer-First Toolkit for Shopify Automation

Level of difficultyMedium
Reading time5 min
Views519

Learning Shopify has been on my bucket list for a few years now. Plenty of people in my circle — friends, colleagues, and fellow devs — are all somehow involved with Shopify in one way or the other. Earlier this year, I finally had some breathing room between projects, so I figured it was the perfect time to give Shopify a proper look.

I started exploring the platform by setting up a dev store, poking around the admin, and skimming through the API manual. While this was a quick and easy start, it didn’t give me a deeper understanding of the platform. Plus, clicking my way through the UI felt repetitive and tedious.

That got me thinking: is there a more efficient, developer-centric way to manage a store? Something that I could run in a terminal, plug into a CI/CD pipeline, or script my way out of those mundane tasks.

Learn more

Windsurf AI: The Best AI IDE for Developers?

Level of difficultyEasy
Reading time5 min
Views1.6K

I recently got my hands on Windsurf AI, and I wanted to share my experience with this AI-first Integrated Development Environment (IDE). If you’re a developer like me, always on the lookout for tools to boost productivity, this might be on your radar. So, is Windsurf AI the real deal? Let’s find out.

Read more

DASTing SAML: Breaking Trust, One Assertion at a Time

Level of difficultyHard
Reading time14 min
Views1.3K

My name is Ilya and I’m a Core Developer at Bright Security. In Bright we work on a DAST (Dynamic Application Security Testing) solution that helps development teams find and fix vulnerabilities early, straight from CI/CD. My own path began in full-stack engineering, but almost a decade of shipping production code drew me ever deeper into application security. In this article I’m explaining key approaches on what SAML actually is and how we detect it in Bright using DAST.

Read more

What's New in the Angie 1.9 Web Server (an nginx fork) and What to Expect from 1.10?

Level of difficultyEasy
Reading time8 min
Views1K

You may have already read in the news that on the eve of Cosmonautics Day, a new stable release of Angie 1.9.0 was released, an nginx fork that continues to be developed by the team of former nginx developers. Approximately every quarter, we try to release new stable versions and delight users with numerous improvements. This release is no exception, but it's one thing to read a dry changelog and quite another to get to know the functionality in more detail, to learn how and in which cases it can be applied.

The list of innovations that we will discuss in more detail:

— Saving shared memory zones with cache index to disk;
— Persistent switching to a backup group of proxied servers;
— 0-RTT in the stream module;
— New busy status for proxied servers in the built-in statistics API;
— Improvements to the ACME module, which allows automatic obtaining of Let's Encrypt TLS certificates and others;
— Caching TLS certificates when using variables.

Read more

Captcha Solver Extension – Which to Choose: AI-Powered or Human-Powered? Difference Free and Paid CAPTCHA Extension

Level of difficultyEasy
Reading time14 min
Views837

How Does a Developer Realize They Need a Browser Auto CAPTCHA Extension?

Imagine a developer automating routine tasks — for example, testing a web application or writing a data scraping script. Everything runs smoothly until a CAPTCHA appears on the path. In the browser, a familiar window pops up: "I am not a robot," or a grid of images where you need to find traffic lights or pedestrian crossings. The automatic script halts, tests fail, and an inexperienced developer might not even realize the problem for a long time — after all, they set everything up and started it, but didn’t account for the presence of CAPTCHAs (Completely Automated Public Turing test to tell Computers and Humans Apart), designed precisely to stop bots. But what if the bot is ours and performs, say, useful work?

Read more

How to catch and optimize problematic queries in PostgreSQL

Level of difficultyMedium
Reading time8 min
Views710

If you work with PostgreSQL, you've likely run into performance issues at some point — especially as your database grows. Things may have been running smoothly at first, but as your client database expanded, queries started slowing down. Sound familiar? Here's a guide to help you identify and fix problematic queries, so you can get your PostgreSQL database running at peak performance again.

Read more

FunCaptcha (Arkose Labs) solver: Principles of Operation, Features, and Methods for Automated Bypass

Level of difficultyEasy
Reading time12 min
Views1.8K

We continue our journey through the world of CAPTCHAs (Fantastic CAPTCHAs and Where to Find Them, as well as Methods to Combat Them), and today we encounter yet another “tough nut” in the CAPTCHA universe – FunCaptcha (Arkose Labs).

FunCaptcha is a type of CAPTCHA developed by Arkose Labs that offers users small puzzles instead of the usual tasks like recognizing distorted text or selecting images containing buses. In traditional CAPTCHAs (e.g., reCAPTCHA), verification often relies on recognizing distorted characters or simple images. Arkose Labs took a different route: their “entertaining” CAPTCHAs feature interactive challenges with 3D objects, logic puzzles, and audio questions. This approach is intended to be user-friendly for humans while complicating life for bots.

Typical FunCaptcha challenges include:

Read more

Tips and methods for conducting user research with children

Level of difficultyEasy
Reading time5 min
Views1.4K

When creating an app or any other software product for children, one of the hardest parts of the process is conducting user research correctly. Although working with kids might seem fun and entertaining, it takes certain skills to get them engaged in testing your product and voicing their opinion so you could gather all the necessary information. It’s important to understand that mentally kids function differently than adults, so working with a young target audience requires a different approach. Treating children like adults in the UX research process can lead to serious mistakes: they might not get a proper understanding of your product and you might end up getting wrong results, only wasting your time and budget. In order to avoid that, we’ve collected a few tips below that might help you communicate with kids more effectively for a productive and fruitful research session.

Read more

One-click Postgres Pro optimization with pgpro_tune

Level of difficultyEasy
Reading time4 min
Views606

Imagine a familiar situation: it’s Monday morning, tasks are piling up, and you need to quickly spin up a new service using Postgres Pro. Or maybe you’ve just upgraded your database server over the weekend — added more CPUs, more RAM.

Here’s how to get your database tuned and ready to make the most of the new hardware and workload, without wasting time.

Read more