Pull to refresh

Development

Show first
Rating limit
Level of difficulty

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

Level of difficultyMedium
Reading time15 min
Views826

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
Views884

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.7K

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

Postgres Pro OpenTelemetry сollector

Level of difficultyMedium
Reading time4 min
Views770

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

Designing profitable software: architecture principles for business success

Level of difficultyMedium
Reading time5 min
Views1.6K

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
Views715

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
Views574

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
Views2.1K

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.4K

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

How to catch and optimize problematic queries in PostgreSQL

Level of difficultyMedium
Reading time8 min
Views1.1K

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

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
Views732

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

Database performance analysis using pg_profile and pgpro_pwr

Level of difficultyEasy
Reading time4 min
Views596

DBAs often struggle to identify the most resource-hungry processes that degrade system performance. Back in 2017, DBA — and now Postgres Professional engineer — Andrey Zubkov faced the same challenge. This led him to develop pg_profile for PostgreSQL, which has since evolved into pgpro_pwr.

In this article, we’ll dive into strategic database monitoring and show you how to pinpoint bottlenecks in your databases using our tools.

Read more

How to Fail Those Students Who Rely on ChatGPT

Reading time3 min
Views2.6K

We at Verilog Meetup constructed an exam/interview problem that has an interesting property: if a student tries to figure out a solution by thinking by himself, he usually succeeds; however if he dumps the problem on ChatGPT, the solution fails (does not pass the automated test), and the student goes into a death spiral of futility, kicking ChatGPT to get the solution right.

There is nothing weird about the problem, we do this in the industry all the time:

Read more