Hello, I'm Onur

I write about the tools I use and the things I build. ✍️


Fortune-as-a-Service

fortune is a lightweight Go service that delivers random fortune cookies over HTTP.

Cubic Limit reimplemented with Effect

This post walks through the process of recreating Manfred Mohr's Cubic Limit, P-161 with TypeScript and Effect.

Building a transactional email service with PostgreSQL triggers

How PostgreSQL alone can handle your account activation and password reset workflows without relying on a message broker.

Implementing monads in Go

The introduction of generics in Go 1.18—a long-awaited feature enabling parametric polymorphism—has greatly expanded the language's potential for unlocking functional paradigms, offering an exciting new playground for nerds like myself to explore.

Thinking in Haskell

The basics of denotational semantics and how it provides a mathematical framework for reasoning about program correctness in Haskell.

Building a full-stack web app with fp-ts

This post outlines the architecture and key components of flixbox, a full-stack web app built exclusively with fp-ts and its ecosystem of composable modules.

Multiplexed binary protocol in Go

binproto provides binary message framing using a length-prefixed format and supports multiplexed streams.

Querying CouchDB with human-readable syntax

tango provides a C-like syntax for logical and relational expressions, parsing them directly into Mango selectors.

CouchDB design document bundler

couchilla is a bundler for packing design documents for CouchDB with CommonJS support.