All streams
Search
Write a publication
Pull to refresh

Development

Show first
Period
Level of difficulty

Indexes in PostgreSQL — 4 (Btree)

Reading time17 min
Views22K
We've already discussed PostgreSQL indexing engine and interface of access methods, as well as hash index, one of access methods. We will now consider B-tree, the most traditional and widely used index. This article is large, so be patient.

Btree


Structure


B-tree index type, implemented as «btree» access method, is suitable for data that can be sorted. In other words, «greater», «greater or equal», «less», «less or equal», and «equal» operators must be defined for the data type. Note that the same data can sometimes be sorted differently, which takes us back to the concept of operator family.
Read more →

.NET Core Container Images now Published to Microsoft Container Registry

Reading time7 min
Views2.4K

We are now publishing .NET Core container images to Microsoft Container Registry (MCR). We have also made other changes to the images we publish, described in this post.


Important: You will need to change FROM statements in Dockerfile files and docker pull commands as a result of these changes. 3.0 references need to be changed now. Most 1.x and 2.x usages can be changed over time. The new tag scheme is decribed in this post and are provided at the microsoft-dotnet-core repo, our new home on Docker Hub.


Summary of changes:


  • .NET Core images are now published to Microsoft Container Registry.
  • Updates will continue to be published to Docker Hub, for .NET Core 1.x and 2.x.
  • .NET Core 3.0 will only be published to MCR.
  • Nano Server 2016 images are no longer supported or published.

image
Read more →

Info desk: global Internet initiatives

Reading time6 min
Views1.4K


Fiber-optic cables are a great way to bring high-speed Internet right to your home or office. But even in large cities not everyone can enjoy the benefits of it, since apartments far away from everyone, or low-population districts far from downtown, are very reluctantly served by ISPs.

And then there’s small towns and villages, far away from the main Internet “highways”. In poorer countries, Internet is often slow and expensive even in large population centers, while villages are often left without a connection for years. To connect them to the World Wide Web takes the resources of not just normal ISPs, but telecom giants. Solar-powered drones with networking equipment, weather balloons, satellites and other similar projects are not just science fiction, but a reality today (or in the near future). But who’s closer to launch and who’s lagging behind? Let’s find out.
Read more →

React Code Splitting in 2019

Reading time6 min
Views4.2K

It's 2019! Everybody thinks they know code splitting. So - let's double check!



What does code splitting stand for?


In short – code splitting is just about not loading a whole thing. Then you are reading this page you don't have to load a whole site. When you are selecting a single row from a database – you don't have to take all.
Obvious? Code splitting is also quite obvious, just not about your data, but your code.

Read more →

How to load test PostgreSQL database and not miss anything

Level of difficultyMedium
Reading time14 min
Views877

During load testing of Tantor Postgres databases or other PostgreSQL-based databases using the standard tool pgbench, specialists often encounter non-representative results and the need for repeated tests due to the fact that details of the environment (such as DBMS configuration, server characteristics, PostgreSQL versions) are not recorded. In this article we are going to review author's pg_perfbench, which is designed to address this issue. It ensures that scenarios are repeatable, prevents the loss of important data, and streamlines result comparison by registering all parameters in a single template. It also automatically launches pgbench with TPC-B load generation, collects all metadata on the testing environment, and generates a structured report.

Read more

AGENTS.md: The README for Your AI Agent

Level of difficultyEasy
Reading time3 min
Views2.3K

If you’re like me and work with multiple AI coding agents, you know the frustration of managing different instruction files. It’s a pain to keep everything updated across various formats. But I’ve got some great news for you. A new, simplified standard has emerged, and it’s called AGENTS.md.

Read more

The Billiard Fractals

Level of difficultyHard
Reading time25 min
Views970


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
Views785

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

Google ADK: Easiest Way to Build an AI Agent

Level of difficultyEasy
Reading time7 min
Views4.8K

In this tutorial, I’ll explain in simple terms what AI, AI agents, and workflows are, and then I’ll walk you through building your very first AI agent in Python using Google’s Agent Development Kit (ADK). By the end, you’ll understand the differences between these concepts and have a working content-assistant agent you can run from your terminal or a web interface.

Read more

Top 11 Free AI Image Generators: Best AI Image Tools of 2025

Level of difficultyEasy
Reading time8 min
Views14K

Admit it, how many times have you wanted to quickly create an image for a post or presentation, but instead got stuck in an editor or endless searches for a suitable image on Google? Wouldn't it be great if the picture in your head could just appear instantly? Time is money, inspiration is on pause, and that's where AI comes to the rescue. Neural networks can generate anything you want, including the craziest ideas. No need to spend hours searching when, with a few clicks, you can see what was in your thoughts just a second ago.

By the way, notice the cover with the dinosaur? Let's call him Rex. Rex is himself a product of neural network creation. Today he'll be the main star of our experiments. But what will we do? Remember I mentioned crazy ideas? Well, to understand all the possibilities of generation, let's give AI a difficult task. We'll send Rex somewhere in space, for example to the Moon, let him put on a spacesuit and and have him grill some barbecue with Earth in the background. Interested? Then buckle up, we're heading into the world of image generation.

Read more

Building Debian Packages for PHP Extensions

Level of difficultyMedium
Reading time19 min
Views1.3K

Historically, we’ve ended up using a few rather obscure PHP extensions—written and barely (if at all) maintained by their original authors—that aren’t available in standard Debian package sources.

We stick to the principle of “do it right, and it’ll work right,” which means Slackware-style dropping binaries into the system outside of package managers is frowned upon.

So instead, we’ll be building proper .deb packages for PHP extensions—without breaking compatibility with the existing environment.

Let’s go do us some compilin’, shall we?

Trading Addiction: How Millions of People Lose Years and Fortunes in the Markets

Reading time14 min
Views936

A lot of people around me spend time trading on the stock market. Some trade crypto, some trade stocks, others trade currencies. Some call themselves investors, others call themselves traders. I often see random passersby in various cities and countries checking their trading terminals on their phones or laptops. And at night I sometimes write analytical or backtesting software—well, I did up until recently. All these people share a common faith and a set of misconceptions about the market.

Read more

How we test the backend

Level of difficultyEasy
Reading time13 min
Views2.4K

We are a brokerage platform operating in a dynamic and complex domain. This specificity comes with a set of challenges. On the one hand, it entails a high variability of scenarios and potentially significant risks associated with errors. On the other hand, it has short development iterations with frequent delivery cycles. 

In this article, we will share how we maintain the quality of our numerous backend services, which provide essential information to our trading terminals.

Read more

How to create a better UX design for the users of younger generations

Level of difficultyEasy
Reading time5 min
Views2K

Gen Z – a generation of young people born between the last few years of the 20th century and the first ten years of the 21st, are the primary users of a modern-day Internet. They started using technology since their early childhood, being almost constantly glued to their smartphones and tablets, which led to them being very demanding users that have their own requirements in UX. At the same time, they are known for their sense of humor and straightforwardness – which means they love using products that are both easy to navigate but full of interactive elements. Below we’ve collected a few things you should consider when creating a UX design aimed at a young audience.

Read more

Understanding SSH Key Pairs: A Developer's Guide

Reading time5 min
Views1.6K

In today's interconnected development world, secure authentication is not just a luxury—it's a necessity. Whether you're a seasoned DevOps engineer or a junior developer just starting your journey, understanding SSH key pairs is crucial for your daily workflow. They're the unsung heroes that keep our git pushes secure, our server access protected, and our deployments safe from prying eyes.

But let's be honest: SSH keys canbe confusing. With terms like “public key infrastructure,” “cryptographic algorithms,” and “key fingerprints” floating around, it's easy to feel overwhelmed. This guide aims to demystify SSH key pairs, breaking down complex concepts into digestible pieces that will help you make informed decisions about your security setup.

Read more

PostgreSQL 18: Part 1 or CommitFest 2024-07

Level of difficultyMedium
Reading time10 min
Views1.4K
Read more →

Effective Monitoring with Firebase Performance for Flutter Apps

Level of difficultyMedium
Reading time7 min
Views2.4K

Firebase Performance offers a free, comprehensive solution for tracking app performance. As part of the Firebase suite, it provides seamless integration with other Firebase services like Crashlytics, making it easier to manage all performance and crash data in one place. This not only simplifies access but also streamlines team collaboration without the need to manage multiple platforms.

Read more

Starfive visionfive 2: home cookbook

Reading time10 min
Views3.2K

Recently I have bought starfive visionfive-2 SoC for my own experiments, honestly speaking
I am striving to work with risc-v. After some time I decided to share my experience. Here my bulletpoints:

Small preparation USB-to-Serial connector Write image to microSD/SSD Set boot mode settings

Boot Update bootloader Build kernel Native build Pod build Cross-build on amd64: fast and handy

Chroot to risc-v system from amd64 and install packages

Bonus 1: run qemu with risc-v

Bonus 2: build deb packages for risc-v

Bonus 3: kernel build script

Conclusions

Read more