Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
Rationale MAGIC (Morgan And Grand Iron Clojure) compiles Clojure to .NET so we can run it in Unity, including on iOS.
-
Why bother making it deterministic MAGIC is a compiler.
-
Why a dotfiles repo Setting up a new Mac by hand takes a day, and you always forget something: the shell config, the git identity, the AWS credentials, the SSH keys, the forty Homebrew packages.
-
Context We built our pull-pattern API on lasagna-pull, a library designed by Robert Luo that lets clients send EDN patterns to describe what data they want.
-
The problem Take a blog API backed by one database.
-
Context Most blog setups separate the content from the knowledge that produced it.
-
The problem Storing notes is a solved problem.
-
The problem I lead a small engineering team and our stack is mostly Clojure.
-
Learning a DSL from documentation is slow The lasagna-pattern DSL is central to how we build APIs at Flybot: the client sends an EDN pattern shaped like the data it wants, and the same syntax covers reads and writes (see Building a Pure Data API with Lasa…
-
The problem A web app never runs in just one shape.
-
Context Most web applications scatter their data access logic across the stack.
-
The problem The flybot.sg website is a full-stack Clojure app (Ring backend, ClojureScript + Replicant SPA) running as a single container.
-
The problem Most Clojure monorepos start with a single root deps.edn and one alias per job.
-
The problem with one handler per endpoint In a typical Clojure web app, every API endpoint is a function that does the same five things: parse the parameters, check authorization, call the database, transform the result, and build a response.
-
The problem Replicant is a small ClojureScript library that renders the UI as a pure function from state to hiccup.
-
Context The POC proved the chain: events flowed from Kafka through PStates to an authenticated API and a dashboard UI, in Clojure top to bottom.
-
Why bother Most people reuse the same two or three passwords everywhere.
-
The problem with one address for everything Most people use one or two email addresses for everything: shopping, banking, social media, friends.
-
Context Our gaming platform produces a high volume of events across multiple Kafka topics.
-
Start with pure functions Most testing pain does not come from the test framework, it comes from the code under test.
-
Introduction Depending on the size of the projects and its CI/CD requirements, one might choose one of the popular Git Workflows.
-
The problem Every project I have worked on eventually hits a time bug.
-
The problem I wanted flybot.sg to redirect to www.flybot.sg, where the app is hosted.
-
Context Flybot needed an AI player for its card games that could replace AFK players and provide different difficulty levels for offline play.
-
Update (2026) This is the 2021 account of the original collaboration with Ramsey.
-
Context Flybot is a small engineering team in Singapore.