← Înapoi la Urmăritori

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 26
  1. Making Magic stable

    Rationale MAGIC (Morgan And Grand Iron Clojure) compiles Clojure to .NET so we can run it in Unity, including on iOS.

  2. Drift Checks for a Self-Hosting Compiler

    Why bother making it deterministic MAGIC is a compiler.

  3. Dotfiles with Chezmoi and Age

    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.

  4. 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.

  5. Clojure Protocols and the Decorator Pattern

    The problem Take a blog API backed by one database.

  6. Obsidian Vault as Blog Source

    Context Most blog setups separate the content from the knowledge that produced it.

  7. Claude Code and Obsidian for Note-Taking

    The problem Storing notes is a solved problem.

  8. Building Claude Code Plugins for the Team

    The problem I lead a small engineering team and our stack is mostly Clojure.

  9. Pull Playground - Interactive Pattern Learning

    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…

  10. Managing Web App Modes with Fun-Map in Clojure

    The problem A web app never runs in just one shape.

  11. Flybot.sg - A Full-Stack Clojure Web App

    Context Most web applications scatter their data access logic across the stack.

  12. Deploying a Clojure App to AWS with App Runner

    The problem The flybot.sg website is a full-stack Clojure app (Ring backend, ClojureScript + Replicant SPA) running as a single container.

  13. Clojure Monorepo with Babashka

    The problem Most Clojure monorepos start with a single root deps.edn and one alias per job.

  14. Building a Pure Data API with Lasagna Pattern

    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.

  15. The problem Replicant is a small ClojureScript library that renders the UI as a pure function from state to hiccup.

  16. 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.

  17. Why bother Most people reuse the same two or three passwords everywhere.

  18. Email Privacy with Custom Domains and Aliases

    The problem with one address for everything Most people use one or two email addresses for everything: shopping, banking, social media, friends.

  19. Gaming Stats Aggregation with Rama

    Context Our gaming platform produces a high volume of events across multiple Kafka topics.

  20. Testing in Clojure - Tools and Techniques

    Start with pure functions Most testing pain does not come from the test framework, it comes from the code under test.

  21. Choosing a Git Workflow

    Introduction Depending on the size of the projects and its CI/CD requirements, one might choose one of the popular Git Workflows.

  22. Date and Time in Clojure with Tick

    The problem Every project I have worked on eventually hits a time bug.

  23. Apex Domain to Subdomain Redirect

    The problem I wanted flybot.sg to redirect to www.flybot.sg, where the app is hosted.

  24. Context Flybot needed an AI player for its card games that could replace AFK players and provide different difficulty levels for offline play.

  25. MAGIC Compiler and Nostrand Integration

    Update (2026) This is the 2021 account of the original collaboration with Ramsey.

  26. Card Game APIs in Clojure

    Context Flybot is a small engineering team in Singapore.