# Sorting

Sorting is the computational process of arranging a collection of elements into a specified order according to a defined key.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## CodeSOD: An Odd Sort

DevFeed: [CodeSOD: An Odd Sort](<https://devfeed.tech/articles/codesod-an-odd-sort-28504.md>)

Original publisher: [Read original article](<https://thedailywtf.com/articles/an-odd-sort>)

Author: Remy Porter

Published: 2026-09-15T06:30:00Z

Content type: opinion

Language: en

Sources: [The Daily WTF](<https://devfeed.tech/sources/the-daily-wtf.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [PowerShell](<https://devfeed.tech/topics/powershell.md>), [Script](<https://devfeed.tech/topics/script.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [codesod](<https://devfeed.tech/tags/codesod.md>), [csv](<https://devfeed.tech/tags/csv.md>), [excel](<https://devfeed.tech/tags/excel.md>), [powershell](<https://devfeed.tech/tags/powershell.md>), [report](<https://devfeed.tech/tags/report.md>), [script](<https://devfeed.tech/tags/script.md>), [sorting](<https://devfeed.tech/tags/sorting.md>)

### AI overview

The article critiques a PowerShell script that queries Active Directory for users and their last logon times. It explains that the script's alphabet-based approach does not correctly sort names, performs unnecessary searches and property loading, and generates a CSV report for Excel despite these inefficiencies.

### Source excerpt

Let's say we wanted to query Active Directory and print out a report of all of our users, and their last logon time. That seems like a pretty normal task for a Powershell script. It'd probably be short and easy to read, at least if it were written by a normal person. Alice sends us one that wasn't. She's already done us a favor, as she writes: "Code cleaned up and indented for the whitespace-missing-impaired." ##################################### # lists accounts and selected attributes alphabetically ##################################### foreach( $letter in "a", "b", "c"......"z") { $strfilter = $letter + "*" $objdomain = New-object System.DirectoryServices.DirectoryEntry $objSearcher = New-object System.DirectoryServices.DirectorySearcher $objSearcher.SearchRoot = $objdomain $objSearcher.Filter = $strFilter $objSearcher.PropertiesToLoad.Add("name"); $colResults = $objSearcher.FindAll() foreach($result in $colResults) { $name = $result.Properties.Name $searcher = New-Object DirectoryServices.DirectorySearcher([adsi]"") $searcher.filter "(&(objectCategory=User)(sAMAccountName=$name))" $users = searcher.FindAll() foreach($user in $users) { Write-Output $user.properties.item("name") + "," + $user.properties.item("lastLogon") } } } This accomplishes sorting alphabetically by iterating across the alphabet. Which, I suspect, isn't going to actually get them in alphabetical order; it makes sure that albert and alice appear before bob, but doesn't enforce that albert must come before alice. In any case, we iterate across the alphabet, and then create a searcher that finds a*, then b*, etc. We explicitly tell the searcher that the only property we care about is the name field, so that we don't load unnecessary fields, like the ones we want to report on. We then iterate across the list of names, construct a new searcher, and search for the account with the username we fetched. That lets us get all of the fields we need, including the ones we aren't going to use. Now, we sea

## Benchmarking vector indexes

DevFeed: [Benchmarking vector indexes](<https://devfeed.tech/articles/benchmarking-vector-indexes-14092.md>)

Original publisher: [Read original article](<https://www.percona.com/blog/benchmarking-vector-indexes/>)

Author: Evgeniy Patlan

Published: 2026-08-27T13:35:32Z

Content type: article

Language: en

Sources: [Blog - Percona](<https://devfeed.tech/sources/blog-percona.md>)

Topics: [benchmarking](<https://devfeed.tech/topics/benchmarking.md>), [Ground truth / benchmark quality](<https://devfeed.tech/topics/ground-truth-benchmark-quality.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [ann](<https://devfeed.tech/topics/ann.md>), [datasets](<https://devfeed.tech/topics/datasets.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>)

Tags: [ai-vector](<https://devfeed.tech/tags/ai-vector.md>), [ann](<https://devfeed.tech/tags/ann.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [benchmarking](<https://devfeed.tech/tags/benchmarking.md>), [benchmarks](<https://devfeed.tech/tags/benchmarks.md>), [blog](<https://devfeed.tech/tags/blog.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [data](<https://devfeed.tech/tags/data.md>), [database-performance](<https://devfeed.tech/tags/database-performance.md>), [database-trends](<https://devfeed.tech/tags/database-trends.md>), [databases](<https://devfeed.tech/tags/databases.md>), [datasets](<https://devfeed.tech/tags/datasets.md>), [embeddings](<https://devfeed.tech/tags/embeddings.md>), [index](<https://devfeed.tech/tags/index.md>), [measurements](<https://devfeed.tech/tags/measurements.md>), [model](<https://devfeed.tech/tags/model.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [percona](<https://devfeed.tech/tags/percona.md>), [points](<https://devfeed.tech/tags/points.md>), [report](<https://devfeed.tech/tags/report.md>), [run](<https://devfeed.tech/tags/run.md>), [search](<https://devfeed.tech/tags/search.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [vector-search](<https://devfeed.tech/tags/vector-search.md>), [vectorsearch](<https://devfeed.tech/tags/vectorsearch.md>)

### AI overview

This article explains how Percona's vector-bench measures vector indexes by building database engines from pinned versions, running them in identical containers with the same data and hardware, and comparing consistent measurements. It describes embeddings, exact search, approximate nearest neighbour search, and ground truth as the brute-force reference needed to evaluate index accuracy.

### Source excerpt

Nearly every database has vector search now, and every one of them has a blog post with a big number in it. Almost none of those numbers can be checked, because the thing that makes them meaningful is usually missing. We built a vector-bench to stop guessing. You name the engines you want, build them ... Continued The post Benchmarking vector indexes appeared first on Percona.

## Coding Challenge #130 - Sort Visualiser

DevFeed: [Coding Challenge #130 - Sort Visualiser](<https://devfeed.tech/articles/coding-challenge-130-sort-visualiser-29206.md>)

Original publisher: [Read original article](<https://codingchallenges.substack.com/p/coding-challenge-130-sort-visualiser>)

Author: John Crickett

Published: 2026-08-08T08:01:19Z

Content type: tutorial

Language: en

Sources: [Coding Challenges](<https://devfeed.tech/sources/coding-challenges.md>)

Topics: [Sorting](<https://devfeed.tech/topics/sorting.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [coding](<https://devfeed.tech/topics/coding.md>), [ui](<https://devfeed.tech/topics/ui.md>), [implementation](<https://devfeed.tech/topics/implementation.md>)

Tags: [algorithms](<https://devfeed.tech/tags/algorithms.md>), [animation](<https://devfeed.tech/tags/animation.md>), [coding](<https://devfeed.tech/tags/coding.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [tool](<https://devfeed.tech/tags/tool.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

Coding Challenge #130 asks readers to build a sorting algorithm visualiser that animates how eight classic algorithms operate on arrays. The project also provides practice with UI rendering, animation timing, and clean abstractions, while allowing choices such as algorithm, sample size, data order, display mode, and animation speed.

### Source excerpt

This challenge is to build your own tool to visualise how sorting algorithms work.

## Turn any table sortable in 20 lines

DevFeed: [Turn any table sortable in 20 lines](<https://devfeed.tech/articles/turn-any-table-sortable-in-20-lines-9027.md>)

Original publisher: [Read original article](<https://markodenic.tech/turn-any-table-sortable-in-20-lines/>)

Author: Marko

Published: 2026-07-17T12:26:58Z

Content type: tutorial

Language: en

Sources: [Marko Denic Tech](<https://devfeed.tech/sources/marko-denic-tech.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [HTML](<https://devfeed.tech/topics/html.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [blog-for-developers](<https://devfeed.tech/tags/blog-for-developers.md>), [build-faster](<https://devfeed.tech/tags/build-faster.md>), [code](<https://devfeed.tech/tags/code.md>), [code-productivity](<https://devfeed.tech/tags/code-productivity.md>), [code-smarter](<https://devfeed.tech/tags/code-smarter.md>), [content-monetization](<https://devfeed.tech/tags/content-monetization.md>), [css](<https://devfeed.tech/tags/css.md>), [css-animation](<https://devfeed.tech/tags/css-animation.md>), [css-performance](<https://devfeed.tech/tags/css-performance.md>), [developer-growth](<https://devfeed.tech/tags/developer-growth.md>), [developer-resources](<https://devfeed.tech/tags/developer-resources.md>), [email-newsletter-for-coders](<https://devfeed.tech/tags/email-newsletter-for-coders.md>), [front-end-development](<https://devfeed.tech/tags/front-end-development.md>), [github-profile-automation](<https://devfeed.tech/tags/github-profile-automation.md>), [html](<https://devfeed.tech/tags/html.md>), [html-tips](<https://devfeed.tech/tags/html-tips.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [javascript-tricks](<https://devfeed.tech/tags/javascript-tricks.md>), [learn-to-code](<https://devfeed.tech/tags/learn-to-code.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [responsive-design-tips](<https://devfeed.tech/tags/responsive-design-tips.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [ui](<https://devfeed.tech/tags/ui.md>), [web-dev-newsletter](<https://devfeed.tech/tags/web-dev-newsletter.md>), [web-development](<https://devfeed.tech/tags/web-development.md>), [web-development-tips](<https://devfeed.tech/tags/web-development-tips.md>), [weekly-dev-tips](<https://devfeed.tech/tags/weekly-dev-tips.md>), [workflow-optimization](<https://devfeed.tech/tags/workflow-optimization.md>)

### AI overview

A concise tutorial showing how to make a plain HTML table sortable with about 20 lines of vanilla JavaScript. It explains moving existing DOM rows, reversing sort direction, parsing numeric values correctly, and falling back to text sorting.

### Source excerpt

Make any HTML table sortable in 20 lines of vanilla JS.

## Zaks's suffix-reversal algorithm for generating permutations

DevFeed: [Zaks's suffix-reversal algorithm for generating permutations](<https://devfeed.tech/articles/an-elegant-formulation-inspired-by-the-one-and-only-paper-bill-gates-ever-wrote-37563.md>)

Original publisher: [Read original article](<https://blog.klipse.tech/aboulafia/2026/07/06/an-elegant-formulation-inspired-by-bill-gates.html>)

Author: Yehonathan Sharvit

Published: 2026-07-06T08:00:00Z

Content type: article

Language: en

Sources: [Klipse](<https://devfeed.tech/sources/klipse.md>)

Topics: [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>), [ordering](<https://devfeed.tech/topics/ordering.md>)

Tags: [aboulafia](<https://devfeed.tech/tags/aboulafia.md>), [algorithm](<https://devfeed.tech/tags/algorithm.md>), [math](<https://devfeed.tech/tags/math.md>), [permutations](<https://devfeed.tech/tags/permutations.md>), [reversing](<https://devfeed.tech/tags/reversing.md>), [sequence](<https://devfeed.tech/tags/sequence.md>), [sorting](<https://devfeed.tech/tags/sorting.md>)

### AI overview

This second article in a series connects Aboulafia's recursive Tserouf permutation algorithm with Shimon Zaks's 1984 algorithm. It explains how Zaks generates permutations by repeatedly reversing suffixes and describes the recursive sequence of suffix lengths behind the ordering.

### Source excerpt

Aboulafia's Tserouf - Part 2 of 4 <- Previous: An algorithm ignored for 700 years - Next: Too big to draw, but yet drawable ->

## Domain Search is now available through the Vercel CLI

DevFeed: [Domain Search is now available through the Vercel CLI](<https://devfeed.tech/articles/domain-search-is-now-available-through-the-vercel-cli-903.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/domain-search-is-now-available-through-the-vercel-cli>)

Author: Elliot Dauber

Published: 2026-06-09T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Vercel](<https://devfeed.tech/topics/vercel.md>), [Availability](<https://devfeed.tech/topics/availability.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>)

Tags: [availability](<https://devfeed.tech/tags/availability.md>), [cli](<https://devfeed.tech/tags/cli.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [vercel](<https://devfeed.tech/tags/vercel.md>)

### AI overview

Vercel CLI now supports domain searches across supported top-level domains, returning availability and pricing results. Users can filter by TLD, exclude unavailable domains, sort results, and must upgrade to version 54.10.1 to use the feature.

### Source excerpt

You can now use the Vercel CLI to search domains. Using the vercel domains search command, you can supply a domain name and retrieve availability and price results for all TLDs that Vercel supports. You can also filter by TLD, apply sorting, and filter out unavailable domains. Upgrade your Vercel CLI to version 54.10.1 to get started. Read more

## Vercel Domains now supports price sorting and availability filtering

DevFeed: [Vercel Domains now supports price sorting and availability filtering](<https://devfeed.tech/articles/vercel-domains-now-supports-price-sorting-and-availability-filtering-1144.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/vercel-domains-now-supports-price-sorting-and-availability-filtering>)

Author: Elliot Dauber

Published: 2026-05-26T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [Vercel](<https://devfeed.tech/topics/vercel.md>), [Availability](<https://devfeed.tech/topics/availability.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>)

Tags: [availability](<https://devfeed.tech/tags/availability.md>), [cost](<https://devfeed.tech/tags/cost.md>), [search](<https://devfeed.tech/tags/search.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [vercel](<https://devfeed.tech/tags/vercel.md>)

### AI overview

Vercel Domains adds price sorting and availability filtering. Users can find lower-cost domains more easily and focus on domains that are available for purchase.

### Source excerpt

Vercel Domains now supports price sorting and availability filtering. Price sorting shows lower cost domains first, so you can quickly find a domain that fits your budget. Availability filtering moves unavailable domains to the bottom of the search results, so you can focus on domains that you can actually purchase. Try it at vercel.com/domains. Read more

## April 2026 newsletter

DevFeed: [April 2026 newsletter](<https://devfeed.tech/articles/april-2026-newsletter-4900.md>)

Original publisher: [Read original article](<https://clickhouse.com/blog/202604-newsletter>)

Author: Mark Needham

Published: 2026-04-16T15:05:56Z

Content type: article

Language: en

Sources: [ClickHouse Blog](<https://devfeed.tech/sources/clickhouse-blog.md>)

Topics: [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Database](<https://devfeed.tech/topics/database.md>), [agentic-coding](<https://devfeed.tech/topics/agentic-coding.md>), [cloud-infrastructure](<https://devfeed.tech/topics/cloud-infrastructure.md>), [Compression](<https://devfeed.tech/topics/compression.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>), [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>), [API keys](<https://devfeed.tech/topics/api-keys.md>), [OAuth](<https://devfeed.tech/topics/oauth.md>)

Tags: [agentic](<https://devfeed.tech/tags/agentic.md>), [agentic-coding](<https://devfeed.tech/tags/agentic-coding.md>), [api](<https://devfeed.tech/tags/api.md>), [api-keys](<https://devfeed.tech/tags/api-keys.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [blockchain](<https://devfeed.tech/tags/blockchain.md>), [cli](<https://devfeed.tech/tags/cli.md>), [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [compression](<https://devfeed.tech/tags/compression.md>), [data](<https://devfeed.tech/tags/data.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [networking](<https://devfeed.tech/tags/networking.md>), [newsletter](<https://devfeed.tech/tags/newsletter.md>), [observability](<https://devfeed.tech/tags/observability.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>)

### AI overview

The April 2026 ClickHouse newsletter covers recent developments in real-time data warehousing, including the 26.3 release, materialized CTEs, WebAssembly UDFs, asynchronous inserts, and JOIN reordering. It also introduces clickhousectl for local and cloud management, highlights agentic coding, describes Open House 2026, and reports on faster blockchain data backfills.

### Source excerpt

Welcome to the April 2026 ClickHouse newsletter, which will round up what's happened in real-time data warehouses over the last month.

## Index-based pruning in ClickHouse

DevFeed: [Index-based pruning in ClickHouse](<https://devfeed.tech/articles/index-based-pruning-in-clickhouse-5312.md>)

Original publisher: [Read original article](<https://clickhouse.com/blog/index-based-pruning>)

Author: Mark Needham

Published: 2026-04-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [ClickHouse Blog](<https://devfeed.tech/sources/clickhouse-blog.md>)

Topics: [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [data](<https://devfeed.tech/topics/data.md>), [dataset](<https://devfeed.tech/topics/dataset.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [data](<https://devfeed.tech/tags/data.md>), [learn](<https://devfeed.tech/tags/learn.md>), [post](<https://devfeed.tech/tags/post.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [speed](<https://devfeed.tech/tags/speed.md>), [techniques](<https://devfeed.tech/tags/techniques.md>)

### AI overview

This tutorial explains three ClickHouse index-based pruning techniques--primary indexes, lightweight projections, and skip indexes--using a 243-million-row UK property sales dataset. It shows how sorting and alternative data layouts allow ClickHouse to skip granules and reduce the amount of data read by analytical queries.

### Source excerpt

Learn how ClickHouse uses primary indexes, lightweight projections, and skip indexes to prune data before reading it. Demonstrated on a 243 million row UK property sales dataset.

## ClickHouse Release 26.3

DevFeed: [ClickHouse Release 26.3](<https://devfeed.tech/articles/clickhouse-release-26-3-5140.md>)

Original publisher: [Read original article](<https://clickhouse.com/blog/clickhouse-release-26-03>)

Author: ClickHouse

Published: 2026-04-07T00:00:00Z

Content type: release

Language: en

Sources: [ClickHouse Blog](<https://devfeed.tech/sources/clickhouse-blog.md>)

Topics: [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [dataset](<https://devfeed.tech/topics/dataset.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>)

Tags: [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [community](<https://devfeed.tech/tags/community.md>), [contributed](<https://devfeed.tech/tags/contributed.md>), [contributors](<https://devfeed.tech/tags/contributors.md>), [features](<https://devfeed.tech/tags/features.md>), [performance](<https://devfeed.tech/tags/performance.md>), [release](<https://devfeed.tech/tags/release.md>), [sorting](<https://devfeed.tech/tags/sorting.md>)

### AI overview

ClickHouse 26.3 introduces 27 features, 40 performance optimizations, and 202 bug fixes, including default async inserts, expanded JOIN reordering, materialized CTEs, improved EXPLAIN output, and natural sorting.

### Source excerpt

ClickHouse 26.3 is here! In this release, async inserts are turned on by default, we've got more JOIN reordering, materialized CTES have arrived, and more!

## Sorting Algorithms Series

DevFeed: [Sorting Algorithms Series](<https://devfeed.tech/articles/sorting-algorithms-series-4512.md>)

Original publisher: [Read original article](<https://feeds.feedblitz.com/~/952881908/0/baeldung/cs>)

Author: baeldung

Published: 2026-04-01T15:54:31Z

Content type: article

Language: en

Sources: [Baeldung - CS](<https://devfeed.tech/sources/baeldung-cs.md>)

Topics: [Sorting](<https://devfeed.tech/topics/sorting.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>), [Algorithms, Complexity](<https://devfeed.tech/topics/algorithms-complexity.md>), [Computer science](<https://devfeed.tech/topics/computer-science.md>)

Tags: [algorithms](<https://devfeed.tech/tags/algorithms.md>), [analysis](<https://devfeed.tech/tags/analysis.md>), [comparison](<https://devfeed.tech/tags/comparison.md>), [complexity](<https://devfeed.tech/tags/complexity.md>), [efficiency](<https://devfeed.tech/tags/efficiency.md>), [guide](<https://devfeed.tech/tags/guide.md>), [memory](<https://devfeed.tech/tags/memory.md>), [series](<https://devfeed.tech/tags/series.md>), [series-sorting](<https://devfeed.tech/tags/series-sorting.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [time](<https://devfeed.tech/tags/time.md>)

### AI overview

A guide to sorting algorithms, covering comparison-based methods such as merge sort, quicksort, and heapsort alongside adaptive and specialized non-comparison algorithms. It focuses on trade-offs involving time complexity, stability, memory requirements, and practical applicability.

### Source excerpt

This guide covers the full spectrum of sorting: from foundational comparisons and merge sort to quicksort, heapsort, adaptive algorithms, and specialized non-comparison sorts. The post Sorting Algorithms Series first appeared on Baeldung on Computer Science. Related Stories Natural Language Processing (NLP) Series Cycle Sort Algorithm LaTeX Series

## Top 10 best practices tips for ClickHouse

DevFeed: [Top 10 best practices tips for ClickHouse](<https://devfeed.tech/articles/top-10-best-practices-tips-for-clickhouse-4884.md>)

Original publisher: [Read original article](<https://clickhouse.com/blog/10-best-practice-tips>)

Author: Yonatan Dolan

Published: 2026-03-26T00:00:00Z

Content type: article

Language: en

Sources: [ClickHouse Blog](<https://devfeed.tech/sources/clickhouse-blog.md>)

Topics: [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [data-modeling](<https://devfeed.tech/topics/data-modeling.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Compression](<https://devfeed.tech/topics/compression.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>), [dataset](<https://devfeed.tech/topics/dataset.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [analytics](<https://devfeed.tech/tags/analytics.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [benchmarks](<https://devfeed.tech/tags/benchmarks.md>), [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [compression](<https://devfeed.tech/tags/compression.md>), [data](<https://devfeed.tech/tags/data.md>), [data-modeling](<https://devfeed.tech/tags/data-modeling.md>), [database](<https://devfeed.tech/tags/database.md>), [efficiency](<https://devfeed.tech/tags/efficiency.md>), [observability](<https://devfeed.tech/tags/observability.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [performance](<https://devfeed.tech/tags/performance.md>), [popular](<https://devfeed.tech/tags/popular.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [reduce](<https://devfeed.tech/tags/reduce.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [techniques](<https://devfeed.tech/tags/techniques.md>)

### AI overview

A practical guide to ten ClickHouse best practices for improving query performance, compression, storage efficiency, and analytical workloads. It covers primary-key and sorting-key design, data types, schema and data modeling, table engines, materialized views, query and join optimization, and monitoring, with benchmark examples based on a 150-million-row dataset.

### Source excerpt

Ten best practices for getting the most out of ClickHouse, from primary key design and data types to materialized views, ReplacingMergeTree, and join optimization -- illustrated with benchmarks on a 150M row dataset.

## How ClickHouse makes Top-N queries faster with granule-level data skipping

DevFeed: [How ClickHouse makes Top-N queries faster with granule-level data skipping](<https://devfeed.tech/articles/how-clickhouse-makes-top-n-queries-faster-with-granule-level-data-skipping-5155.md>)

Original publisher: [Read original article](<https://clickhouse.com/blog/clickhouse-top-n-queries-granule-level-data-skipping>)

Author: Tom Schreiber

Published: 2026-01-19T10:29:01Z

Content type: article

Language: en

Sources: [ClickHouse Blog](<https://devfeed.tech/sources/clickhouse-blog.md>)

Topics: [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>), [IO](<https://devfeed.tech/topics/io.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>)

Tags: [analysis](<https://devfeed.tech/tags/analysis.md>), [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [dashboards](<https://devfeed.tech/tags/dashboards.md>), [data](<https://devfeed.tech/tags/data.md>), [deep-dive](<https://devfeed.tech/tags/deep-dive.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [performance](<https://devfeed.tech/tags/performance.md>), [scale](<https://devfeed.tech/tags/scale.md>), [sorting](<https://devfeed.tech/tags/sorting.md>)

### AI overview

ClickHouse accelerates Top-N queries by using min/max metadata from data-skipping indexes to prune entire granules before reading them. Combined with streaming execution, ordered reads, and lazy column loading, this approach can reduce data read and improve query speed, especially for large tables and cold caches.

### Source excerpt

A deep dive into how ClickHouse uses data-skipping metadata to turn Top-N queries into a pruning problem, cutting I/O and speeding up queries at scale.

## ClickHouse projections now behave like true secondary indexes

DevFeed: [ClickHouse projections now behave like true secondary indexes](<https://devfeed.tech/articles/clickhouse-projections-now-behave-like-true-secondary-indexes-5529.md>)

Original publisher: [Read original article](<https://clickhouse.com/blog/projections-secondary-indices>)

Author: Tom Schreiber

Published: 2026-01-13T00:00:00Z

Content type: article

Language: en

Sources: [ClickHouse Blog](<https://devfeed.tech/sources/clickhouse-blog.md>)

Topics: [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [data](<https://devfeed.tech/topics/data.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>)

Tags: [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [cost](<https://devfeed.tech/tags/cost.md>), [data](<https://devfeed.tech/tags/data.md>), [release](<https://devfeed.tech/tags/release.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [speed](<https://devfeed.tech/tags/speed.md>), [storage](<https://devfeed.tech/tags/storage.md>)

### AI overview

ClickHouse introduces lightweight projections that function as secondary indexes without duplicating full table rows. With granule-level pruning, multiple projections can work with the base table's primary index to accelerate queries using several filters while reducing storage overhead.

### Source excerpt

ClickHouse now supports granule-level pruning for lightweight projections, enabling them to act as true secondary indexes that work together to dramatically speed up multi-filter queries without duplicating full table data.

## \[RevEng\]\[CS\] Fuzzy topological sorting

DevFeed: [\[RevEng\]\[CS\] Fuzzy topological sorting](<https://devfeed.tech/articles/reveng-cs-fuzzy-topological-sorting-20562.md>)

Original publisher: [Read original article](<https://yurichev.com/blog/fuzzy_topo_sort/>)

Published: 2026-01-08T23:00:00Z

Content type: article

Language: en

Sources: [Dennis Yurichev](<https://devfeed.tech/sources/dennis-yurichev.md>)

Topics: [Sorting](<https://devfeed.tech/topics/sorting.md>), [Graphs](<https://devfeed.tech/topics/graphs.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>)

Tags: [algorithms](<https://devfeed.tech/tags/algorithms.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [graphs](<https://devfeed.tech/tags/graphs.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [linux](<https://devfeed.tech/tags/linux.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [terminal](<https://devfeed.tech/tags/terminal.md>)

### AI overview

The article describes a fuzzy topological sorting method for graphs that may contain cycles. It uses simulated annealing to minimize backward references and maximize forward references, then applies the resulting ordering to call graphs from Linux 0.99.15 and the Boolector SMT solver to estimate function abstraction levels.

### Source excerpt

[RevEng][CS] Fuzzy topological sorting

## Sort Lines in Source Code

DevFeed: [Sort Lines in Source Code](<https://devfeed.tech/articles/sort-lines-in-source-code-23864.md>)

Original publisher: [Read original article](<http://testing.googleblog.com/2025/09/sort-lines-in-source-code.html>)

Author: Google Testing Bloggers (noreply@blogger.com)

Published: 2025-09-15T13:45:00Z

Content type: tutorial

Language: en

Sources: [Google Testing Blog](<https://devfeed.tech/sources/google-testing-blog.md>)

Topics: [Sorting](<https://devfeed.tech/topics/sorting.md>), [Code](<https://devfeed.tech/topics/code.md>), [bug](<https://devfeed.tech/topics/bug.md>), [configuration](<https://devfeed.tech/topics/configuration.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [code](<https://devfeed.tech/tags/code.md>), [config](<https://devfeed.tech/tags/config.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [env-file-security](<https://devfeed.tech/tags/env-file-security.md>), [git](<https://devfeed.tech/tags/git.md>), [kyle-freeman](<https://devfeed.tech/tags/kyle-freeman.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [tott](<https://devfeed.tech/tags/tott.md>)

### AI overview

This Google Tech on the Toilet article explains how duplicate configuration flags can cause bugs and shows how the keep-sorted tool can sort source code, configuration, and text files to make such errors easier to spot and maintain.

### Source excerpt

This article was adapted from a Google Tech on the Toilet (TotT) episode. You can download a printer-friendly version of this TotT episode and post it in your office. By Kyle Freeman Imagine you're adding a two-player mode to a game. When testing the feature, you launch the game but don't see the option to add a second player. The configuration looks correct; you enabled two-player mode on the last line! So what happened? Can you spot the bug in the following example? allow_warping: false enable_two_players: false show_end_credits: true enable_frost_band: false enable_two_players: true Using keep-sorted (github.com/google/keep-sorted) to sort lines makes the error easy to spot: the flag enable_two_players is set twice, with different values: # keep-sorted start allow_warping: false enable_frost_band: false enable_two_players: false enable_two_players: true show_end_credits: true # keep-sorted end Sorted lists and lines of code are easier to read and maintain, and can help prevent bugs. To use keep-sorted in your source code, config, and text files, install keep-sorted and then follow these instructions: Add keep-sorted start and keep-sorted end comments in your file, surrounding the lines you want to sort. Run keep-sorted: keep-sorted [file1] [file2] ... (Optional) Add keep-sorted to your pre-commit so it runs automatically on git commit You can add options to override default behavior. For example, you can ignore case, sort numerically, order by prefixes, and even sort by regular expressions: bosses := []int{ // keep-sorted start by_regex=//.* 111213, // Aethon Annie 52816, // Blazing Benny 711, // Daisy Dragon 1003, // Kenzie Kraken // keep-sorted end } Remember: before sorting, ensure the original order isn't intentional. For example, order can be critical when loading dependencies.

## Optimizing Apache Iceberg tables for real-time analytics

DevFeed: [Optimizing Apache Iceberg tables for real-time analytics](<https://devfeed.tech/articles/optimizing-apache-iceberg-tables-for-real-time-analytics-18585.md>)

Original publisher: [Read original article](<https://www.tinybird.co/blog/optimizing-apache-iceberg-tables-for-real-time-analytics>)

Author: Alberto Romeu

Published: 2025-06-03T10:00:00Z

Content type: tutorial

Language: en

Sources: [Tinybird](<https://devfeed.tech/sources/tinybird.md>)

Topics: [Apache Iceberg](<https://devfeed.tech/topics/apache-iceberg.md>), [Apache Iceberg tables](<https://devfeed.tech/topics/apache-iceberg-tables.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [apache-iceberg](<https://devfeed.tech/tags/apache-iceberg.md>), [apache-iceberg-tables](<https://devfeed.tech/tags/apache-iceberg-tables.md>), [high-performance](<https://devfeed.tech/tags/high-performance.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [performance](<https://devfeed.tech/tags/performance.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [scalable-analytics-architecture](<https://devfeed.tech/tags/scalable-analytics-architecture.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

A tutorial on using Apache Iceberg partitioning, sorting, and compaction features to build high-performance real-time analytics systems.

### Source excerpt

Learn how to use Iceberg's partitioning, sorting, and compaction features to build high-performance real-time analytics systems

## Unlocking Flexibility in Configuration: The Power of Hydra

DevFeed: [Unlocking Flexibility in Configuration: The Power of Hydra](<https://devfeed.tech/articles/unlocking-flexibility-in-configuration-the-power-of-hydra-20392.md>)

Original publisher: [Read original article](<https://tech.olx.com/unlocking-flexibility-in-configuration-the-power-of-hydra-3f9e69263bb4?source=rss----761b019b483f---4>)

Author: Catarina Goncalves

Published: 2025-06-02T17:02:34Z

Content type: tutorial

Language: en

Sources: [OLX](<https://devfeed.tech/sources/olx.md>)

Topics: [configuration-management](<https://devfeed.tech/topics/configuration-management.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>), [recommendation systems](<https://devfeed.tech/topics/recommendation-systems.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [command-line](<https://devfeed.tech/tags/command-line.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [configuration-management](<https://devfeed.tech/tags/configuration-management.md>), [hydra](<https://devfeed.tech/tags/hydra.md>), [integration](<https://devfeed.tech/tags/integration.md>), [project-organization](<https://devfeed.tech/tags/project-organization.md>), [python](<https://devfeed.tech/tags/python.md>), [ranking](<https://devfeed.tech/tags/ranking.md>), [search](<https://devfeed.tech/tags/search.md>), [sorting](<https://devfeed.tech/tags/sorting.md>)

### AI overview

OLX describes centralizing Learning to Rank projects and adopting Hydra to manage configuration across teams and repositories. The article introduces Hydra's hierarchical organization, runtime command-line overrides, optimization-tool integration, and Python usage.

### Source excerpt

As software systems continue to grow in complexity, the demand for effective configuration management tools becomes not just important but essential. Our work on Learning to Rank (LTR) projects exemplifies this challenge. At OLX we use LTR to improve the search results based on their relevance. This involves training models to rank ads based on various features, ensuring that the most relevant ones appear at the top of the list. The resulting sorting can be found under the 'Recommended Ads' option, the default option currently live on our OLX websites in several countries. Given the potential to enhance user experience and increase engagement -- while balancing the visibility of paid (boosted) ads-- this approach is also being tested in other business units, such as Motors and Real Estate. More projects meant increased complexity, with multiple repositories holding various configuration files. These projects were spread across different teams and repositories, leading to duplicated efforts and repeated issues for similar tasks. This growing redundancy pushed the team to centralize all LTR projects within a single repository. We quickly recognized the need to enhance the experience for Data Scientists and Machine Learning Engineers who would work directly with this new centralized framework. Enter Hydra. Hydra -- The configuration tool Developed and maintained by Facebook AI Research, Hydra stands out when it comes to configuration management. It empowers developers with a sophisticated yet easy-to-use solution that simplifies even the most complex configuration setups. With features such as hierarchical organization, runtime command-line overrides, and seamless integration with optimization tools like Optuna, Hydra offers flexibility and efficiency. These qualities made Hydra the ideal choice for our project, and we have successfully integrated it to enhance our configuration management workflow. And don't worry too much about a learning curve -- Hydra has extensive doc

## ClickHouse Input format matchup: Which is fastest & most efficient

DevFeed: [ClickHouse Input format matchup: Which is fastest & most efficient](<https://devfeed.tech/articles/clickhouse-input-format-matchup-which-is-fastest-most-efficient-5102.md>)

Original publisher: [Read original article](<https://clickhouse.com/blog/clickhouse-input-format-matchup-which-is-fastest-most-efficient>)

Author: Tom Schreiber

Published: 2025-02-26T07:41:17Z

Content type: article

Language: en

Sources: [ClickHouse Blog](<https://devfeed.tech/sources/clickhouse-blog.md>)

Topics: [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [client](<https://devfeed.tech/topics/client.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [batching](<https://devfeed.tech/tags/batching.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [data](<https://devfeed.tech/tags/data.md>), [insights](<https://devfeed.tech/tags/insights.md>), [performance](<https://devfeed.tech/tags/performance.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [speed](<https://devfeed.tech/tags/speed.md>)

### AI overview

This article benchmarks ClickHouse input formats to identify the fastest and most hardware-efficient options for server-side data ingestion. It also examines batching, pre-sorting, and client-side insert optimizations.

### Source excerpt

Discover the fastest and most efficient ClickHouse input formats with our benchmark-driven insights--plus how to optimize inserts for maximum performance.

## Learning Path: Python Data Structures

DevFeed: [Learning Path: Python Data Structures](<https://devfeed.tech/articles/learning-path-python-data-structures-4376.md>)

Original publisher: [Read original article](<https://realpython.com/learning-paths/basic-python-data-structures/>)

Author: Real Python

Published: 2024-11-14T12:00:00Z

Content type: tutorial

Language: en

Sources: [Real Python](<https://devfeed.tech/sources/real-python.md>)

Topics: [Data structures](<https://devfeed.tech/topics/data-structures.md>), [Python](<https://devfeed.tech/topics/python.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>)

Tags: [learning](<https://devfeed.tech/tags/learning.md>), [python](<https://devfeed.tech/tags/python.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

A learning path for working with Python's core built-in data structures, including strings, lists, tuples, dictionaries, sets, bytes, and bytearrays. It also covers comprehensions, copying, sorting, range(), and related operations.

### Source excerpt

Learn Python's built-in data structures: strings, lists, tuples, dictionaries, sets, and bytes, plus sorting, copying, and comprehensions.

## Choosing the right Postgres indexes

DevFeed: [Choosing the right Postgres indexes](<https://devfeed.tech/articles/choosing-the-right-postgres-indexes-11716.md>)

Original publisher: [Read original article](<https://incident.io/blog/choosing-the-right-postgres-indexes>)

Author: Milly Leadley

Published: 2024-10-25T16:45:00Z

Content type: tutorial

Language: en

Sources: [The incident.io Blog](<https://devfeed.tech/sources/the-incident-io-blog.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [database](<https://devfeed.tech/tags/database.md>), [database-performance](<https://devfeed.tech/tags/database-performance.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [incident](<https://devfeed.tech/tags/incident.md>), [incident-channel](<https://devfeed.tech/tags/incident-channel.md>), [incident-management](<https://devfeed.tech/tags/incident-management.md>), [incident-response](<https://devfeed.tech/tags/incident-response.md>), [learn](<https://devfeed.tech/tags/learn.md>), [outage](<https://devfeed.tech/tags/outage.md>), [performance](<https://devfeed.tech/tags/performance.md>), [post-mortem](<https://devfeed.tech/tags/post-mortem.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [slack-incident](<https://devfeed.tech/tags/slack-incident.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [strategy](<https://devfeed.tech/tags/strategy.md>)

### AI overview

A practical guide to choosing Postgres indexes to improve query performance. It explains sequential and index scans, the tradeoffs of disk space and slower writes, suitable indexing scenarios, b-tree indexes, unique indexes, and column ordering in multi-column indexes.

### Source excerpt

Indexes can dramatically boost your database performance, but knowing when to use them isn't always obvious. This blog covers what indexes are, when to use them, how to choose the right type, and tips for spotting missing ones. Whether you're optimizing queries, enforcing uniqueness, or improving sorting, you'll learn how to fine-tune your indexing strategy without overcomplicating it.

## Automatically clean up whitespace and duplicate class names

DevFeed: [Automatically clean up whitespace and duplicate class names](<https://devfeed.tech/articles/automatically-clean-up-whitespace-and-duplicate-class-names-3456.md>)

Original publisher: [Read original article](<https://tailwindcss.com/blog/2024-05-30-prettier-plugin-collapse-whitespace>)

Published: 2024-05-31T16:30:00Z

Content type: release

Language: en

Sources: [Tailwind CSS Blog](<https://devfeed.tech/sources/tailwind-css-blog.md>)

Topics: [Prettier](<https://devfeed.tech/topics/prettier.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>), [VS Code Extension](<https://devfeed.tech/topics/vscode-extension.md>)

Tags: [extension](<https://devfeed.tech/tags/extension.md>), [github](<https://devfeed.tech/tags/github.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [vs-code](<https://devfeed.tech/tags/vs-code.md>)

### AI overview

A new version of prettier-plugin-tailwindcss automatically removes unnecessary whitespace and duplicate class names while sorting. The release also notes that the VS Code extension has long warned about duplicate classes, and invites users to report issues on GitHub.

### Source excerpt

We just released a new version of prettier-plugin-tailwindcss which adds support for removing unnecessary whitespace and duplicate classes when sorting.

## Little Big Outtakes

DevFeed: [Little Big Outtakes](<https://devfeed.tech/articles/little-big-outtakes-9945.md>)

Original publisher: [Read original article](<https://www.figma.com/blog/little-big-updates-behind-the-scenes/>)

Author: Figma

Published: 2023-03-28T00:00:00Z

Content type: article

Language: en

Sources: [Figma Blog](<https://devfeed.tech/sources/figma-blog.md>)

Topics: [Figma](<https://devfeed.tech/topics/figma.md>), [User Experience](<https://devfeed.tech/topics/user-experience.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>), [bug](<https://devfeed.tech/topics/bug.md>)

Tags: [design](<https://devfeed.tech/tags/design.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [experimentation](<https://devfeed.tech/tags/experimentation.md>), [feature](<https://devfeed.tech/tags/feature.md>), [features](<https://devfeed.tech/tags/features.md>), [figma](<https://devfeed.tech/tags/figma.md>), [prototyping](<https://devfeed.tech/tags/prototyping.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [updates](<https://devfeed.tech/tags/updates.md>), [user-experience](<https://devfeed.tech/tags/user-experience.md>), [visual-hierarchy](<https://devfeed.tech/tags/visual-hierarchy.md>)

### AI overview

Figma's "Little Big Outtakes" describes the design and engineering decisions behind more than 30 small feature updates. It focuses on improving multi-select search through clearer sorting logic, specialized interfaces, visual hierarchy, and experimentation, and briefly introduces blur effects for prototyping overlays.

### Source excerpt

The quick pivots and aha moments we made on the way to launching 30+ Little Big Updates.

## Announcing PostgreSQL 15 on Heroku

DevFeed: [Announcing PostgreSQL 15 on Heroku](<https://devfeed.tech/articles/announcing-postgresql-15-on-heroku-26368.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/announcing-postgresql-15-on-heroku/>)

Author: Jonathan Brown

Published: 2023-03-20T23:00:00Z

Content type: release

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Heroku](<https://devfeed.tech/topics/heroku.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Sorting](<https://devfeed.tech/topics/sorting.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [benchmarking](<https://devfeed.tech/topics/benchmarking.md>)

Tags: [announce](<https://devfeed.tech/tags/announce.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [heroku-postgres](<https://devfeed.tech/tags/heroku-postgres.md>), [news](<https://devfeed.tech/tags/news.md>), [performance](<https://devfeed.tech/tags/performance.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [release](<https://devfeed.tech/tags/release.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

Heroku announces general availability of PostgreSQL 15 on Heroku Postgres. The article describes upgrade guidance for older and deprecated versions and summarizes PostgreSQL 15 improvements to sorting, memory management, duplicate-row operations, and parallel execution.

### Source excerpt

We are excited to announce that Postgres version 15 is now generally available! The developers of Postgres release a new version around October every year, and we aim to release it on Heroku Postgres each Q1. Additionally, we track Postgres end-of-life dates to ensure that our service and our customers are always on the latest [...] The post Announcing PostgreSQL 15 on Heroku appeared first on Heroku.

[Next page](<https://devfeed.tech/topics/sorting.md?cursor=WyIyMDIzLTAzLTIwVDIzOjAwOjAwKzAwOjAwIiwgIjMxMzEyMmUyLTg5NTctNDkwOC1hM2IxLTY3MDVlNWMyOTg2ZCJd>)