41554 blogs · [
{
"id": "01a0bdcd-9114-7215-a968-4a3420453441",
"title": "Our Mill year in review",
"url": "http://www.peterbe.com/photos/our-mill-year-in-review",
"published_at": "2026-09-16T12:05:33+00:00"
},
{
"id": "01a08cd4-eb47-7373-b721-95eef4013d1a",
"title": "Beer koozie from exactly 15 years ago today",
"url": "http://www.peterbe.com/photos/beer-koozie-from-exactly-15-years-ago-today",
"published_at": "2026-09-10T11:33:44+00:00"
},
{
"id": "01a087c0-1589-7117-be8b-b79e1f55026d",
"title": "Where Herman Melville used to sit when he went to Bethal in New Bedford",
"url": "http://www.peterbe.com/photos/where-herman-melville-used-to-sit-when-he-went-to-bethal-in-new-bedford",
"published_at": "2026-09-06T00:42:35+00:00"
},
{
"id": "01a087c0-1589-7117-be8b-b79e1f6e3270",
"title": "Hippos in Boston",
"url": "http://www.peterbe.com/photos/hippos-in-boston",
"published_at": "2026-09-04T20:54:57+00:00"
},
{
"id": "01a087c0-1589-7117-be8b-b79e1f9675ab",
"title": "Spicy Green Beans",
"url": "http://www.peterbe.com/photos/spicy-green-beans",
"published_at": "2026-09-03T02:50:21+00:00"
},
{
"id": "01a087c0-1589-7117-be8b-b79e1fde5d4a",
"title": "Bun 1.4.0 made some binaries of gg2 smaller",
"url": "http://www.peterbe.com/plog/bun-1.4.0-made-some-binaries-of-gg2-smaller",
"published_at": "2026-08-21T12:39:14+00:00"
},
{
"id": "01a087c0-1589-7117-be8b-b79e20a990c0",
"title": "This is the noise level of the crickets on my back porch",
"url": "http://www.peterbe.com/photos/noise-level-crickets-back-porch",
"published_at": "2026-08-15T13:26:01+00:00"
},
{
"id": "01a087c0-1589-7117-be8b-b79e2113ad59",
"title": "useSlowTruth - React hook to throttle booleans",
"url": "http://www.peterbe.com/plog/useslowtruth",
"published_at": "2026-08-10T15:09:04+00:00"
},
{
"id": "01a087c0-1589-7117-be8b-b79e2189d988",
"title": "Cart path bounce is my jam",
"url": "http://www.peterbe.com/photos/cart-path-bounce-is-my-jam",
"published_at": "2026-08-10T11:34:10+00:00"
},
{
"id": "01a087c0-1589-7117-be8b-b79e21967468",
"title": "Cracked my Callaway driver",
"url": "http://www.peterbe.com/photos/cracked-my-callaway-driver",
"published_at": "2026-07-28T10:43:08+00:00"
},
{
"id": "01a0821d-df1e-72e1-b63e-1750d0bd96f9",
"title": "Claude Opus is 10x faster than OpenAI GPT 5 at non-streaming completions",
"url": "http://www.peterbe.com/plog/claude-opus-is-10x-faster-than-openai-gpt-5-at-non-streaming-completions",
"published_at": "2026-07-24T15:48:18+00:00"
},
{
"id": "01a087c0-158a-7241-9d1e-c0441320c219",
"title": "Best Django Redis configuration",
"url": "http://www.peterbe.com/photos/best-django-redis-configuration",
"published_at": "2026-07-20T19:11:05+00:00"
},
{
"id": "01a0821d-df1e-72e1-b63e-1750d18ef24a",
"title": "Best Django Redis configuration for speed and size",
"url": "http://www.peterbe.com/plog/best-django-redis-configuration-for-speed-and-size",
"published_at": "2026-07-19T20:01:27+00:00"
},
{
"id": "01a0821d-df1e-72e1-b63e-1750d261984f",
"title": "How to use a list/tuple/array in Django with a raw SQL cursor",
"url": "http://www.peterbe.com/plog/how-to-use-a-listtuplearray-in-django-with-a-raw-sql-cursor",
"published_at": "2026-07-14T13:14:40+00:00"
},
{
"id": "01a0821d-df1e-72e1-b63e-1750d2c55c99",
"title": "pytest \"import file mismatch\"",
"url": "http://www.peterbe.com/plog/pytest-import-file-mismatch",
"published_at": "2026-04-01T13:20:53+00:00"
},
{
"id": "01a0821d-df1e-72e1-b63e-1750d3694499",
"title": "logger.error or logger.exception in Python",
"url": "http://www.peterbe.com/plog/logger.error-or-logger.exception",
"published_at": "2026-03-06T15:27:44+00:00"
},
{
"id": "01a0821d-df1e-72e1-b63e-1750d37fd59d",
"title": "Autocomplete using PostgreSQL instead of Elasticsearch",
"url": "http://www.peterbe.com/plog/autocomplete-using-postgresql-instead-of-elasticsearch",
"published_at": "2025-12-18T09:46:00+00:00"
},
{
"id": "01a0821d-df1e-72e1-b63e-1750d3fca4ce",
"title": "Comparison of speed between gpt-5, gpt-5-mini, and gpt-5-nano",
"url": "http://www.peterbe.com/plog/comparison-of-speed-between-gpt-5-mini-nano",
"published_at": "2025-12-15T23:37:05+00:00"
},
{
"id": "01a0821d-df1e-72e1-b63e-1750d4dcd369",
"title": "Using AI to rewrite blog post comments",
"url": "http://www.peterbe.com/plog/using-ai-to-rewrite-blog-post-comments",
"published_at": "2025-11-12T12:42:45+00:00"
},
{
"id": "01a0821d-df1e-72e1-b63e-1750d5be5874",
"title": "In Python, you have to specify the type and not rely on inference",
"url": "http://www.peterbe.com/plog/in-python-you-have-to-specify-the-type-and-not-rely-on-inference",
"published_at": "2025-10-10T13:07:37+00:00"
},
{
"id": "01a0821d-df1e-72e1-b63e-1750d687db44",
"title": "Faster way to sum an integer series in Python",
"url": "http://www.peterbe.com/plog/faster-way-to-sum-an-integer-series-in-python",
"published_at": "2025-08-28T12:11:22+00:00"
}
] posts Claim your blog