Kevin Chen

Software Engineer. I write about technology. Thoughts are my own, not my employer's.

  • Frycook preparing a cheeseburger

    Hasura and Temporal: How to Make the Perfect Hamburger

    May 1, 2023

    Contextualizing the challenge I recently wrote about the challenges of trying to build a distributed microservices architecture on top of Hasura. When it comes to reading data, Hasura is one of the greatest technologies I've ever had the pleasure of building with. It provides powerful capabilities…

  • Einstein. AI-generated by Midjourney. Credit: Tatiana Tsiguleva, @ciguleva — Prompt: minimalistic editorial photo of old Einstein with white hair wearing a dark jacket, a star trail above the mountains, in the style of circular abstraction, 8k resolution, spirals, abstract, black and white colors --ar 3:2 --v 5

    In Search of Style

    Apr 30, 2023

    Style is all around us, yet it can be hard to define sometimes! Naming Being one of the hardest problems in computer science, it's fitting that naming gets its own section. Names — of variables, functions, structs, fields, etc — are important. I recently found a comprehensive naming cheatsheet…

  • Randall, the chameleon, from "Monsters, Inc." (2001)

    Polymorphism with GraphQL, Hasura, Genqlient, and Golang

    Apr 30, 2023

    Polymorphism reminds me of Randall from "Monsters, Inc." He can change his color and appearance to blend in with his environment. Similarly, polymorphic code relies on an abstraction that can blend in and be reused across situations. This post discusses a few strategies for polymorphism,…

  • Generated by Midjourney. Beer on a shelf. Credit: @karolkuterere -- https://media.discordapp.net/attachments/989274712590917653/1021942452355088384/karolkuterere_beer_on_shelf_illustration_in_style_of_carter_goo_03f90de0-0f8d-4a28-9bc0-030312da58b5.png?width=2508&height=1672

    Custom Customer

    Apr 24, 2023

    Enterprises that offer platforms or marketplaces for other institutions or businesses will inevitably face modeling challenges. How do you bring all of these entities under one tent? Do you create The Perfect Model™, the one-size-fits all approach? Is that even possible? It's the problem of…

  • Cybernetic woman. Midjourney. Credit: @ChuckmanCharlie -- https://discord.com/channels/662267976984297473/1074029344902615091/1099238708458295367

    Hasura and Microservices: The Good and The Bad

    Apr 22, 2023

    The Good Parts If you're interested in building an architecture consisting of microservices, SQL, and GraphQL, chances are you've heard of Hasura. For small teams that need to ship quickly, it's one of the best choices out there because: You get a GraphQL API over your data for free. You get to…

  • Fine-grained Authorization

    Apr 12, 2023

    With the recent malfunction of Twitter Circles (a feature that only shows your tweets to a select set of followers) we were reminded of the importance of data privacy. Breaches are bad! In the best case, users are left unhappy and trust in the platform erodes. In the worst case, you have legal…

  • Semantics of Light and Time

    Apr 9, 2023

    Light We're able to look up at the night sky and see distant galaxies because outer space is transparent, not opaque, to light. Light is able to pass right through out, with its path and properties largely unchanged by any encountered objects. This wasn't always the case. In the earliest years of…

  • Running microservices with Taskfile

    Jan 6, 2022

    In a polyrepo setup consisting of several microservices, the traditional method of running everything locally has been to use Docker Compose. A Dockerfile would copy in the dependency file (go.mod), download dependencies, then copy the source code, then build it... Then another stage of the…