Gatlin.io Icon
Menu Icon
Lua Primer for Neovim
June 17, 2021
Or: What I wish I knew about Lua before I started writing my Neovim `init.lua` config file, from scratch, and with no previous Lua experience.
On an Ecto Preload Dilemma
May 22, 2021
Is `Repo.preload/3` a "code smell"? If so, what can be done about it? Ecto Queryable expression-syntax in secondary contexts to the rescue!
Social Login with FaunaDB and Auth0
March 30, 2020
Serverless design patterns are a revolution in web app development because they simplify the developer responsibility space. FaunaDB with social sign-on furthers this goal, but is it simple enough?
Typescript Namespace Tricks
February 18, 2020
Namespaces do one thing exceptionally well: Enforce logical groupings. In this article I show how you can leverage the power of the (somewhat controversial) Typescript namespace to clean up your codebase and improve the semantic value of your type system.
Software Architecture and the Paradox of Choice
December 3, 2019
What is software architecture? It's a difficult question, just look at how IEEE tries to define it! In this article I break it down into three simple questions. (1) What are the things? (2) Where are the things? (3) What are the relationships between the things?
Stuck on Position Sticky
November 1, 2019
CSS 'position: sticky' is a subtle and often misunderstood setting. In this blog post I break it down to its logical core to improve your intuitions around its behavior. (Here's a hint: the sticky element has to stick to something!)
Software Delivers Information
October 1, 2019
In my unacknolwedge masterpeice of blogposting in philosophy of computer science, I tell the world the truth it won't believe: Software does one thing and one thing only: It delivers information! This implies certain predictions around the future of tech, and will prove I'm right (which I will update and change when wrong, of course).