Yos Riady optimize for learning

Half Life

Knowledge has a half-life.

You should apply it, or it expires.

Either we forget, or that knowledge becomes obsolete.

Knowing something matters less than doing something consistently.

Event-Driven APIs with Webhooks

Software today is becoming increasingly interconnected.

Instead of building things from scratch, an increasing amount of engineering work today is ‘connecting’ prefabricated parts together. We can rely more and more on third party services: businesses that expose an API - a software interface - that other systems connect to and use for services like payments, email, etc.

Read on →

Excerpts from ‘The Daily Stoic’

We’re not trying to ace tests or impress teachers. We are reading and studying to live, to be good human beings – always and forever.

Here are my highlights from The Daily Stoic, a modern take on Stoic philosophy.

Read on →

Beyond JSON

Above is a recorded talk I gave on ‘Beyond JSON: Fantastic Serialization Formats and Where to Find Them’ for API Craft. Slides are available here.

This blog post is an aspirational transcript for the talk. Keep reading for more!

Read on →


Life can be much broader, once you discover one simple fact, and that is that everything around you that you call “life” was made up by people that were no smarter than you. And you can change it, you can influence it, you can build your own things that other people can use. Once you learn that, you’ll never be the same again.

Read on →

GraphQL in an Age of REST

Above is a recorded talk I gave on GraphQL at the GeekCamp.sg conference. Slides are available here.

This blog post is an aspirational transcript for the talk. Keep reading for more!

Read on →


Mind and Hand

If you’re the smartest person in the room, you’re in the wrong room.

Read on →

So Good They Can't Ignore You

Passion comes after you put in the hard work to become excellent at something valuable, not before.

Here are my highlights from So Good They Can’t Ignore You, a blueprint for developing compelling careers.

Read on →

Entity Component Systems in Elixir

Entity Component System is used in the video game Caves of Qud

Entity-Component-System (ECS) is a distributed and compositional architectural design pattern that is mostly used in game development. It enables flexible decoupling of domain-specific behaviour, which overcomes many of the drawbacks of traditional object-oriented inheritance.

Elixir is a dynamic, functional language built on top of the Erlang VM designed for building scalable and maintainable applications.

In this article, discover how we can use both ECS and Elixir in a novel approach to structure our programs beyond the class based inheritance paradigm.

This is a follow-up article for my Entity Component Systems talk. The source code for my ECS implementation in Elixir is open source on Github.

Read on →

Composable APIs with Elixir pipes

Composable APIs with Elixir pipes

Our hero, climbing out of the mess that could be your library.

Taking lessons from Plug, Ecto, and Swoosh let’s examine how these libraries create composable and intuitive APIs like so:

# Plug
  |> put_resp_content_type("text/plain")
  |> send_resp(200, "Hello world")

# Ecto
  |> where(city: "Kraków")
  |> order_by(:temp_lo)
  |> limit(10)
  |> Repo.all

# Swoosh
  |> to({user.name, user.email})
  |> from({"Dr B Banner", "hulk.smash@example.com"})
  |> subject("Hello, Avengers!")
  |> html_body("<h1>Hello #{user.name}</h1>")
  |> text_body("Hello #{user.name}\n")
Read on →