TIL: Streaming Data in Go with iter and yield

While building RagPack, a library that chunks files for embedding, I needed a common way to stream parsed content from multiple file formats. RagPack supports CSV, PDF, DOCX, HTML, XLSX, Markdown, JSON and more. Each format has its own parser, but the ingester that consumes them should not care which one it is talking to. I needed a shared contract. In Java I would have reached for an Iterator<T> or an InputStream, but in Go the answer turned out to be the iter package, introduced in Go 1.23.

More …

Using pg_cron for Match Notifications

While working on my side project, worldcuppicks.co (a site where you predict World Cup games), I needed to add web push notifications. To build this, I used a Postgres extension I’d been wanting to try: pg_cron. It ended up doing more than I expected, so I wanted to write about it.

More …