Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 22 additions & 4 deletions docs/blog/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,29 @@ <h1>Blog</h1>
PyArrow, pandas or NumPy. Measurements, not estimates.
</p>

<!-- DRAFT, not yet listed: parquet-in-aws-lambda-without-pyarrow.html
Add its card here once reviewed. -->
<a class="post-card" href="lambda-cost-break-even.html">
<h2>
When rugo makes your Lambda cheaper, and when it
doesn't
</h2>
<p class="post-meta">17 October 2026</p>
<p>
What rugo, PyArrow, DuckDB and Polars cost per million
Lambda calls. rugo costs 15–35% less than PyArrow at
every cold-start rate and, at 1024 MB, beats DuckDB and
Polars once about one call in ten is cold.
</p>
</a>

<!-- DRAFT, not yet listed: lambda-cost-break-even.html
Follow-up to the Lambda post above; list it after that one. -->
<a class="post-card" href="parquet-in-aws-lambda-without-pyarrow.html">
<h2>Reading Parquet in AWS Lambda without PyArrow</h2>
<p class="post-meta">17 October 2026</p>
<p>
PyArrow takes 69% of Lambda's 250 MB package limit and
no longer fits a direct upload. rugo takes 5.4%, and
starts 1.5–2.2× faster than PyArrow, DuckDB or Polars.
</p>
</a>

<a class="post-card" href="jsonl-logs-grep-vs-pandas-vs-rugo.html">
<h2>
Expand Down
22 changes: 1 addition & 21 deletions docs/blog/lambda-cost-break-even.html
Original file line number Diff line number Diff line change
@@ -1,24 +1,4 @@
<!doctype html>
<!--
============================ DRAFT — DO NOT PUBLISH ============================
Follow-up to parquet-in-aws-lambda-without-pyarrow.html, which is itself still
an unlisted draft. Publish that one first; this post depends on it.

Unresolved before this can go live:

1. Both posts now use the same run (benchmarks/lambda-cost, 17 October 2026)
and the same 38.6 MB file, so their numbers should agree. If either is
re-measured, re-measure both.

2. Publish the parent post first.

3. Check Lambda prices on the day of publishing (us-east-1 figures below).

All numbers here: measured 17 October 2026, rugo 0.5.4, pyarrow 26.0.0,
duckdb 1.5.6, polars 2.0.0, python3.12, us-east-1. The AWS stack is torn down;
re-run with benchmarks/lambda-cost.
===============================================================================
-->
<html lang="en">
<head>
<meta charset="UTF-8" />
Expand Down Expand Up @@ -48,7 +28,7 @@
<header class="post-header">
<h1>When rugo makes your Lambda cheaper, and when it doesn't</h1>
<p class="post-meta">
Justin Joyce <span class="sep">·</span> [date]
Justin Joyce <span class="sep">·</span> 17 October 2026
<span class="sep">·</span> 8 min read
</p>
<div class="post-tags">
Expand Down
17 changes: 1 addition & 16 deletions docs/blog/parquet-in-aws-lambda-without-pyarrow.html
Original file line number Diff line number Diff line change
@@ -1,19 +1,4 @@
<!doctype html>
<!--
============================ DRAFT — DO NOT PUBLISH ============================
Unresolved before this can go live:

1. Re-measured 17 October 2026 on rugo 0.5.4 (was 0.4.30, 14 August). The
Brotli and INT96 zero-row bugs are fixed: Brotli now raises a clear
"codec not supported" error, and INT96 timestamps read correctly. Re-check
the "What rugo cannot do" list against the current release on the day.

2. Publish before lambda-cost-break-even.html, which follows on from this post.

3. The benchmark AWS stack has been torn down. The harness and raw results are
in benchmarks/lambda-cost.
===============================================================================
-->
<html lang="en">
<head>
<meta charset="UTF-8" />
Expand Down Expand Up @@ -43,7 +28,7 @@
<header class="post-header">
<h1>Reading Parquet in AWS Lambda without PyArrow</h1>
<p class="post-meta">
Justin Joyce <span class="sep">·</span> [date]
Justin Joyce <span class="sep">·</span> 17 October 2026
<span class="sep">·</span> 12 min read
</p>
<div class="post-tags">
Expand Down
Loading