---
title: "Blog — reports as data, safe rendering, documents that hold up | quario"
description: "Essays and engineering writing from the making of quario — on reports as definitions you can review, rendering without eval, and documents that hold up."
url: "https://getquario.com/blog"
---

# Blog

Essays and engineering writing from the making of quario — on reports as data, safe rendering, and documents that hold up.

- [Oct 10, 2026](https://getquario.com/blog/rendering-a-1000-page-report.md)
  ## [A 1,000-page report](https://getquario.com/blog/rendering-a-1000-page-report.md)
  [One definition, 35,000 rows, four targets. Render time, peak memory and output size for a 1,005-page statement, measured on one laptop, with the method to repeat it.](https://getquario.com/blog/rendering-a-1000-page-report.md)
- [Sep 14, 2026](https://getquario.com/blog/reports-have-bands-not-pages.md)
  ## [Bands, not pages](https://getquario.com/blog/reports-have-bands-not-pages.md)
  [Drawing a report is the easy part. The hard part is deciding what repeats, what totals, and where page two starts. Report writers answered that with bands, and HTML-to-PDF dropped the answer.](https://getquario.com/blog/reports-have-bands-not-pages.md)
- [Aug 27, 2026](https://getquario.com/blog/reports-in-code-review.md)
  ## [Reports in code review](https://getquario.com/blog/reports-in-code-review.md)
  [A report you can't diff is a report you can't review. Why the layout belongs in a definition you store, version and read like any other file in the repository.](https://getquario.com/blog/reports-in-code-review.md)

```json
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://getquario.com/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https://getquario.com/blog"}]}
```
