# pages

Published articles for pages.

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

## Covering Indexes and Index-Only Scans in PostgreSQL

DevFeed: [Covering Indexes and Index-Only Scans in PostgreSQL](<https://devfeed.tech/articles/covering-indexes-the-cheap-10x-that-most-schemas-leave-on-the-table-39591.md>)

Original publisher: [Read original article](<https://ankit-rana.com/logs/39-covering-indexes-index-only-scans/>)

Author: hello@ankit-rana.com

Published: 2026-08-18T00:00:00Z

Content type: tutorial

Language: en

Sources: [Ankit Rana | Mechanical Sympathy](<https://devfeed.tech/sources/ankit-rana-mechanical-sympathy.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Query (disambiguation)](<https://devfeed.tech/topics/query.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [b-tree](<https://devfeed.tech/tags/b-tree.md>), [cache](<https://devfeed.tech/tags/cache.md>), [covering](<https://devfeed.tech/tags/covering.md>), [covering-index](<https://devfeed.tech/tags/covering-index.md>), [database-performance](<https://devfeed.tech/tags/database-performance.md>), [explain](<https://devfeed.tech/tags/explain.md>), [heap](<https://devfeed.tech/tags/heap.md>), [indexes](<https://devfeed.tech/tags/indexes.md>), [indexing](<https://devfeed.tech/tags/indexing.md>), [innodb](<https://devfeed.tech/tags/innodb.md>), [pages](<https://devfeed.tech/tags/pages.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [query](<https://devfeed.tech/tags/query.md>), [storage](<https://devfeed.tech/tags/storage.md>), [vacuum](<https://devfeed.tech/tags/vacuum.md>)

### AI overview

This tutorial explains why a normal index scan may still be slow: after finding matching entries, the database follows a pointer into the table for each row. Covering indexes store the selected columns in the index and can avoid those heap reads. In PostgreSQL, index-only scans also depend on the visibility map marking pages all-visible, while SELECT * prevents the technique from being fully effective.

### Source excerpt

A normal index scan finds matching rows and then follows a pointer into the table for every one of them, which is a random read per row. A covering index stores the columns the query selects, so the engine answers entirely from the index and skips those reads. In PostgreSQL this only works when the visibility map marks the pages all-visible, so an unvacuumed table will report Heap Fetches in EXPLAIN and give back most of the gain. SELECT star defeats the technique completely.

## Mapping Brazilian Cell Towers

DevFeed: [Mapping Brazilian Cell Towers](<https://devfeed.tech/articles/mapping-brazilian-cell-towers-37859.md>)

Original publisher: [Read original article](<https://carlosbecker.com/posts/tem-sinal/>)

Author: Carlos Alexandro Becker

Published: 2026-03-30T18:18:07Z

Content type: opinion

Language: en

Sources: [Carlos Becker](<https://devfeed.tech/sources/carlos-becker.md>)

Topics: [data](<https://devfeed.tech/topics/data.md>), [Python](<https://devfeed.tech/topics/python.md>), [Cloudflare](<https://devfeed.tech/topics/cloudflare.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Front end](<https://devfeed.tech/topics/frontend.md>)

Tags: [brazil](<https://devfeed.tech/tags/brazil.md>), [cities](<https://devfeed.tech/tags/cities.md>), [cloudflare](<https://devfeed.tech/tags/cloudflare.md>), [data](<https://devfeed.tech/tags/data.md>), [data-pipeline](<https://devfeed.tech/tags/data-pipeline.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [mapping](<https://devfeed.tech/tags/mapping.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [pages](<https://devfeed.tech/tags/pages.md>), [python](<https://devfeed.tech/tags/python.md>), [tower](<https://devfeed.tech/tags/tower.md>)

### AI overview

The author describes building temsinal.org, an open-source map of Brazilian cell towers. It combines tower data from ANATEL with population and municipality data from IBGE to help people compare infrastructure, coverage claims, and local commitments.

### Source excerpt

I was curious about how many cell towers were around me - so I built the tool I wanted.

## RSS vs VSZ in Virtual Memory: What the OOM Killer Actually Counts

DevFeed: [RSS vs VSZ in Virtual Memory: What the OOM Killer Actually Counts](<https://devfeed.tech/articles/rss-vs-vsz-in-virtual-memory-what-the-oom-killer-actually-counts-39569.md>)

Original publisher: [Read original article](<https://ankit-rana.com/logs/17-virtual-memory-rss-vsz-oom-killer/>)

Author: hello@ankit-rana.com

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

Content type: tutorial

Language: en

Sources: [Ankit Rana | Mechanical Sympathy](<https://devfeed.tech/sources/ankit-rana-mechanical-sympathy.md>)

Topics: [Processes](<https://devfeed.tech/topics/processes.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>)

Tags: [cpu](<https://devfeed.tech/tags/cpu.md>), [linux](<https://devfeed.tech/tags/linux.md>), [memory](<https://devfeed.tech/tags/memory.md>), [observability](<https://devfeed.tech/tags/observability.md>), [operating-systems](<https://devfeed.tech/tags/operating-systems.md>), [pages](<https://devfeed.tech/tags/pages.md>), [performance](<https://devfeed.tech/tags/performance.md>), [process](<https://devfeed.tech/tags/process.md>), [virtual-memory](<https://devfeed.tech/tags/virtual-memory.md>)

### AI overview

This tutorial explains the difference between virtual address space (VSZ) and resident memory (RSS). Allocating memory usually reserves virtual addresses without immediately assigning physical pages; pages are committed when accessed, often through page faults. It concludes that Linux's OOM killer primarily responds to physical memory consumption, making RSS more useful than allocation counters when investigating process termination under load.

### Source excerpt

malloc() does not hand you RAM, it reserves virtual address space. VSZ is a credit limit; RSS is cash. Physical pages are committed one page fault at a time as you actually touch memory, which is why the reservation is cheap and the memset is expensive. The OOM killer selects on RSS, so virtual promises are not what gets your process killed.

## How often do LLMs visit llms.txt?

DevFeed: [How often do LLMs visit llms.txt?](<https://devfeed.tech/articles/how-often-do-llms-visit-llms-txt-31022.md>)

Original publisher: [Read original article](<https://www.mintlify.com/blog/how-often-do-llms-visit-llms-txt>)

Author: Tiffany Chen

Published: 2025-06-27T00:00:00Z

Content type: article

Language: en

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

Topics: [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>), [Data analysis](<https://devfeed.tech/topics/data-analysis.md>), [Crawler](<https://devfeed.tech/topics/crawler.md>), [Retrieval-Augmented Generation](<https://devfeed.tech/topics/retrieval-augmented-generation.md>)

Tags: [ai-trends](<https://devfeed.tech/tags/ai-trends.md>), [claude](<https://devfeed.tech/tags/claude.md>), [data-analysis](<https://devfeed.tech/tags/data-analysis.md>), [google](<https://devfeed.tech/tags/google.md>), [llms](<https://devfeed.tech/tags/llms.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [pages](<https://devfeed.tech/tags/pages.md>), [retrieval](<https://devfeed.tech/tags/retrieval.md>), [retrieval-augmented-generation](<https://devfeed.tech/tags/retrieval-augmented-generation.md>)

### AI overview

The article presents a Profound data analysis of how language models access llms.txt and llms-full.txt. The supplied text says both files receive AI traffic, with a strong preference for llms-full.txt and ChatGPT accounting for most visits. It attributes this preference to models embedding full content instead of relying on retrieval-augmented generation, while noting that the analysis covers 25 companies.

### Source excerpt

Last month, we explored signals for the emerging standard of llms.txt, which is a Markdown file that makes websites easier for LLMs to index.

## Deeplink to specific PDF pages

DevFeed: [Deeplink to specific PDF pages](<https://devfeed.tech/articles/deeplink-to-specific-pdf-pages-31137.md>)

Original publisher: [Read original article](<https://technicalwriting.dev/2024/08/pdf/index.html>)

Published: 2024-07-11T00:00:00Z

Content type: tutorial

Language: en

Sources: [technicalwriting.dev](<https://devfeed.tech/sources/technicalwriting-dev.md>)

Topics: [pdf](<https://devfeed.tech/topics/pdf.md>), [browser](<https://devfeed.tech/topics/browser.md>)

Tags: [browser](<https://devfeed.tech/tags/browser.md>), [example](<https://devfeed.tech/tags/example.md>), [guide](<https://devfeed.tech/tags/guide.md>), [links](<https://devfeed.tech/tags/links.md>), [pages](<https://devfeed.tech/tags/pages.md>), [pdf](<https://devfeed.tech/tags/pdf.md>)

### AI overview

This article explains how to link directly to a specific page in a PDF by appending #page=X to the URL. It notes that browsers count the PDF's first page as page 1, which may differ from the page numbering used by the document's authors.

### Source excerpt

Append #page=X to your URL, where X is the page to link to.

## Outage January 21st

DevFeed: [Outage January 21st](<https://devfeed.tech/articles/outage-january-21st-34880.md>)

Original publisher: [Read original article](<https://pine64.org/2024/01/21/outage_january_21/>)

Published: 2024-01-21T00:00:00Z

Content type: news

Language: en

Sources: [Community blog on PINE64](<https://devfeed.tech/sources/community-blog-on-pine64.md>)

Topics: [Website](<https://devfeed.tech/topics/website.md>), [Wiki](<https://devfeed.tech/topics/wiki.md>), [version](<https://devfeed.tech/topics/version.md>)

Tags: [beta](<https://devfeed.tech/tags/beta.md>), [bugs](<https://devfeed.tech/tags/bugs.md>), [cluster](<https://devfeed.tech/tags/cluster.md>), [community](<https://devfeed.tech/tags/community.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [issue](<https://devfeed.tech/tags/issue.md>), [outage](<https://devfeed.tech/tags/outage.md>), [pages](<https://devfeed.tech/tags/pages.md>), [state](<https://devfeed.tech/tags/state.md>)

### AI overview

PINE64 reports an outage affecting its main cluster and says it is investigating the cause. A temporary beta website has been deployed, while documentation pages may be unstructured, outdated, and inconsistent with the wiki's current state.

### Source excerpt

We regret to inform you that we are currently experiencing an outage in our main cluster. We are currently actively investigating the cause of this issue. We understand the inconvenience this may cause and appreciate your patience during this time. In the meantime, we have deployed a beta version of our website to ensure that information are still reachable for the community. Please note that this is a quick and temporary solution - bugs are expected and the documentation pages are not structured yet and might be outdated and not reflect the current state of the wiki, which is affected by the outage as well. Thank you for your understanding!

## Petite-Vue: A 5.8 KB JavaScript Library for Adding Small Interactions to Server-Rendered Pages

DevFeed: [Petite-Vue: A 5.8 KB JavaScript Library for Adding Small Interactions to Server-Rendered Pages](<https://devfeed.tech/articles/a-little-taste-of-petite-vue-31234.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/a-little-taste-of-petite-vue>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2021-08-20T06:41:00Z

Content type: article

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Vue.js](<https://devfeed.tech/topics/vue.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Library](<https://devfeed.tech/topics/library.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [interactive website](<https://devfeed.tech/topics/interactive-website.md>)

Tags: [5-8kb](<https://devfeed.tech/tags/5-8kb.md>), [bits](<https://devfeed.tech/tags/bits.md>), [gives](<https://devfeed.tech/tags/gives.md>), [insights](<https://devfeed.tech/tags/insights.md>), [interaction](<https://devfeed.tech/tags/interaction.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [library](<https://devfeed.tech/tags/library.md>), [optimized](<https://devfeed.tech/tags/optimized.md>), [pages](<https://devfeed.tech/tags/pages.md>), [petite-vue](<https://devfeed.tech/tags/petite-vue.md>), [power](<https://devfeed.tech/tags/power.md>), [slimmed](<https://devfeed.tech/tags/slimmed.md>), [small](<https://devfeed.tech/tags/small.md>), [sprinkling](<https://devfeed.tech/tags/sprinkling.md>), [tiny](<https://devfeed.tech/tags/tiny.md>), [vue](<https://devfeed.tech/tags/vue.md>), [vue-js](<https://devfeed.tech/tags/vue-js.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

This article introduces Petite-Vue, a 5.8 KB JavaScript micro-framework for progressively enhancing server-rendered HTML with small interactive features. It compares Petite-Vue with Alpine.js and highlights its Vue-compatible API, migration path to Vue.js, existing Vue ecosystem, and TypeScript support.

### Source excerpt

Petite-Vue is a tiny 5.8kb JavaScript library that gives you the power of Vue.js, but slimmed down & optimized for sprinkling small bits of interaction on your web pages

## Optimizing the Django Admin Paginator

DevFeed: [Optimizing the Django Admin Paginator](<https://devfeed.tech/articles/optimizing-the-django-admin-paginator-33919.md>)

Original publisher: [Read original article](<https://hakibenita.com/optimizing-the-django-admin-paginator>)

Author: Haki Benita

Published: 2018-11-05T22:00:00Z

Content type: tutorial

Language: en

Sources: [Haki Benita](<https://devfeed.tech/sources/haki-benita.md>)

Topics: [Django](<https://devfeed.tech/topics/django.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [optimize](<https://devfeed.tech/topics/optimize.md>)

Tags: [articles](<https://devfeed.tech/tags/articles.md>), [count](<https://devfeed.tech/tags/count.md>), [django](<https://devfeed.tech/tags/django.md>), [django-admin](<https://devfeed.tech/tags/django-admin.md>), [optimizing](<https://devfeed.tech/tags/optimizing.md>), [override](<https://devfeed.tech/tags/override.md>), [pages](<https://devfeed.tech/tags/pages.md>), [performance](<https://devfeed.tech/tags/performance.md>), [query](<https://devfeed.tech/tags/query.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [table](<https://devfeed.tech/tags/table.md>)

### AI overview

This article examines the Django admin paginator's performance on large tables. It explains that counting all rows can dominate page-load time and discusses optimizing Django admin for consistent performance as datasets grow.

### Source excerpt

I often talk about making Django scale but what does it actually mean? It means getting consistent performance regardless of the amount of data. In this article we tackle The last nail in Django admin's scalability coffin - the paginator.

## A/B Split Testing with Nginx & Craft CMS

DevFeed: [A/B Split Testing with Nginx & Craft CMS](<https://devfeed.tech/articles/a-b-split-testing-with-nginx-craft-cms-31230.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/a-b-split-testing-with-nginx-craft-cms>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2017-05-10T18:52:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [A/B Testing](<https://devfeed.tech/topics/a-b-testing.md>), [nginx](<https://devfeed.tech/topics/nginx.md>), [Content Management System](<https://devfeed.tech/topics/cms.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [a-b-testing](<https://devfeed.tech/tags/a-b-testing.md>), [analytics](<https://devfeed.tech/tags/analytics.md>), [browser](<https://devfeed.tech/tags/browser.md>), [chrome](<https://devfeed.tech/tags/chrome.md>), [cms](<https://devfeed.tech/tags/cms.md>), [craft](<https://devfeed.tech/tags/craft.md>), [developer-tools](<https://devfeed.tech/tags/developer-tools.md>), [doing](<https://devfeed.tech/tags/doing.md>), [effectiveness](<https://devfeed.tech/tags/effectiveness.md>), [here-s](<https://devfeed.tech/tags/here-s.md>), [insights](<https://devfeed.tech/tags/insights.md>), [measuring](<https://devfeed.tech/tags/measuring.md>), [nginx](<https://devfeed.tech/tags/nginx.md>), [pages](<https://devfeed.tech/tags/pages.md>), [split](<https://devfeed.tech/tags/split.md>), [testing](<https://devfeed.tech/tags/testing.md>), [useful](<https://devfeed.tech/tags/useful.md>)

### AI overview

This tutorial explains how to implement A/B split testing with Nginx and Craft CMS. It describes serving different page variants based on visitor information, persisting the assigned variant in a 24-hour cookie, and sending test data to Google Analytics as a custom dimension.

### Source excerpt

Doing A/B split testing can be very useful in measuring the effectiveness of your pages; here's how to do it with Nginx & Craft CMS

## Google AMP: Should You Care?

DevFeed: [Google AMP: Should You Care?](<https://devfeed.tech/articles/google-amp-should-you-care-31266.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/google-amp-should-you-care>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2016-12-02T09:16:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Google](<https://devfeed.tech/topics/google.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Content Management System](<https://devfeed.tech/topics/cms.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Web Components](<https://devfeed.tech/topics/web-components.md>), [Web](<https://devfeed.tech/topics/web.md>)

Tags: [accelerated](<https://devfeed.tech/tags/accelerated.md>), [cms](<https://devfeed.tech/tags/cms.md>), [craft](<https://devfeed.tech/tags/craft.md>), [css](<https://devfeed.tech/tags/css.md>), [google](<https://devfeed.tech/tags/google.md>), [google-s](<https://devfeed.tech/tags/google-s.md>), [here-s](<https://devfeed.tech/tags/here-s.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [html](<https://devfeed.tech/tags/html.md>), [implement](<https://devfeed.tech/tags/implement.md>), [initiative](<https://devfeed.tech/tags/initiative.md>), [insights](<https://devfeed.tech/tags/insights.md>), [internet](<https://devfeed.tech/tags/internet.md>), [latency](<https://devfeed.tech/tags/latency.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [pages](<https://devfeed.tech/tags/pages.md>), [performance](<https://devfeed.tech/tags/performance.md>), [primer](<https://devfeed.tech/tags/primer.md>), [project](<https://devfeed.tech/tags/project.md>)

### AI overview

This primer explains Google AMP, its focus on improving mobile web performance, and its restrictions on external CSS, JavaScript, and certain HTML. It also describes how AMP uses web components and relates to Google PageSpeed Insights recommendations.

### Source excerpt

AMP is Google's Accelerated Mobile Pages initiative. Here's a primer, and how to implement AMP with Craft CMS

## Plugin Driven Development- Developing JIRA's new Project Configuration pages

DevFeed: [Plugin Driven Development- Developing JIRA's new Project Configuration pages](<https://devfeed.tech/articles/plugin-driven-development-developing-jira-s-new-project-configuration-pages-35662.md>)

Original publisher: [Read original article](<http://blogs.atlassian.com/developer/2011/09/plugin-driven-development-jiras-new-project-configuration.html>)

Author: Min'an Tan

Published: 2011-09-01T23:26:19Z

Content type: article

Language: en

Sources: [Atlassian Developer Blog](<https://devfeed.tech/sources/atlassian-developer-blog.md>)

Topics: [jira](<https://devfeed.tech/topics/jira.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [administration](<https://devfeed.tech/tags/administration.md>), [agile](<https://devfeed.tech/tags/agile.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [developer-relations](<https://devfeed.tech/tags/developer-relations.md>), [developing](<https://devfeed.tech/tags/developing.md>), [development](<https://devfeed.tech/tags/development.md>), [jira](<https://devfeed.tech/tags/jira.md>), [pages](<https://devfeed.tech/tags/pages.md>), [plugins](<https://devfeed.tech/tags/plugins.md>), [project](<https://devfeed.tech/tags/project.md>)

### AI overview

The article discusses customer-reported complexity in configuring JIRA projects, particularly the many controls in its administration screens, in the context of developing new Project Configuration pages through plugins.

### Source excerpt

One of the biggest pain points we hear from customers is how complex configuring projects in JIRA is. There are so many buttons and dials available to push in the administration screens...