Anton Sviridov @indoorvivants.com · 02/06/2026I have forked and published sbt-revolver with experimental Scala Native support – running long-lived Scala Native processes in the background directly from your sbt build. Things like HTTP servers and UI (e.g. gtk) apps seem to work. Also ported sbt 2 support from upstream. 110
Anton Sviridov @indoorvivants.com · 01/06/2026Recording of my talk from Scalar is up. In the talk, I invite you to a gentle waltz with a 50-year-old sabre-tooth behemoth called C and why Scala should care about learning to communicate with it. 100
Anton Sviridov @indoorvivants.com · 31/05/2026I was able to browse the catalogue without signing up or anything: www.libraryofthings.co.uk/catalogue/br... And can indeed see a thermal camera available near me, which I didn't know about. This will make things interesting. 120
Anton Sviridov @indoorvivants.com · 30/05/2026Highlighting is wonky, seems like it's not my browser 100
Anton Sviridov @indoorvivants.com · 05/05/2026I usually find overbaking more problematic for slow tasks. In Scala Native, I experimented with a custom merkle tree hashing of the config to provide detailed feedback about why exactly overbaking occurs: github.com/scala-native... Wonder if something like this (but more generic) can be in sbt 2? 211
Anton Sviridov @indoorvivants.com · 21/04/2026Felt cute, thought I'd do some compile time numbers 000
Anton Sviridov @indoorvivants.com · 20/04/2026Thought I'd see how sharp the bleeding edge is and converted my Scala Native CLI tool build from scala-cli to sbt2. And it works! Machine-wide caching works too, great for Github Actions 110
Anton Sviridov @indoorvivants.com · 24/03/2026Finally got around to do a tool I desperately need – Scala Native-specific interactive binary size explorer. $ sn-sizer serve test-binary Starting server on localhost:52616 100
Anton Sviridov @indoorvivants.com · 26/11/2025Scala Days talks are live! I can finally refer to my hot takes by timestamps www.youtube.com/watch?v=qkUV... 041
Anton Sviridov @indoorvivants.com · 14/11/2025I'm a big fan of Decline, but I still think that leaving macro-derived CLIs off the table is incorrect – you can get quite far with enums, case classes, and annotations in small to medium apps. In my projects I use both the raw Decline API and my own derivation mechanism for it. 110
Anton Sviridov @indoorvivants.com · 14/10/2025New post! Self-contained multi-stage Dockerfiles are rad Post: blog.indoorvivants.com/2025-10-14-s... Repo: github.com/indoorvivant... I use this old approach a lot in my apps (fullstack mostly) and I'm confident it's good enough for most people. 110
Anton Sviridov @indoorvivants.com · 22/09/2025To celebrate the release of Cats Effect for Native 0.5, I rebuilt my web interface for sn-bindgen in Smithy4s and Http4s. Now on Native 0.5, and actually working! Blog post: blog.indoorvivants.com/2025-09-22-s... App: sn-bindgen-web.indoorvivants.com Repo: github.com/indoorvivant... 020
Anton Sviridov @indoorvivants.com · 27/05/2025Got invited to Imperial College of London to do some livecoding for students, this time making a simple Electron app with Scala.js searching Scala libraries. github.com/keynmol/scal... 131
Anton Sviridov @indoorvivants.com · 11/05/2025For something more relatable, here's a Scaladex MCP server: github.com/keynmol/scal.... Note that the model did not get any project descriptions and decided to just wing it. 100
Anton Sviridov @indoorvivants.com · 11/05/2025I've been playing around with MCP to understand the hype, and wrote a small library (codegen, really): github.com/indoorvivant... This image itself was generated by my CLI (Scala Native btw!) tools, into which I added a mcp subcommand. 100
Anton Sviridov @indoorvivants.com · 14/03/2025With AST seemingly explorer not maintained, I decided to try and implement it in Scala.js. Lots of fun, until I hit several recursion bugs in my interval tree implementation, and it was hell from that point onwards. This will soon be hosted under Scalameta org and website. 0123
Anton Sviridov @indoorvivants.com · 01/03/2025Released scala-uri 4.2.0, now with Scala Native 0.5 support: github.com/indoorvivant... The native part currently depends on libidn2, but I'm working on a pure Scala Punycode implementation, to remove dependency on scalajs-dom (and browser) in Scala.js as well. 020
Anton Sviridov @indoorvivants.com · 16/02/2025Calling Scala Native from Java using Foreign Function & Memory API blog.indoorvivants.com/2025-02-16-s... Code: - example with Scala CLI: github.com/keynmol/scal... - self-contained SBT template: github.com/keynmol/scal... - sbt-jextract plugin: github.com/indoorvivant... pic.x.com/VaCkgTVEVm 010
Anton Sviridov @indoorvivants.com · 09/02/2025toml-scala 0.3.0 is out: now with Scala 3 derivation! github.com/indoorvivant... 084
Anton Sviridov @indoorvivants.com · 08/02/2025New blog post. Let's call Java/Scala JVM from Scala Native using JNI. Because why not. blog.indoorvivants.com/2025-02-08-j... 243
Anton Sviridov @indoorvivants.com · 17/12/2024Don't just take my word for it – I added a HLJS comparison mode 000
Anton Sviridov @indoorvivants.com · 17/12/2024Last night I added a bunch of improvements to my Tree Sitter powered Scala syntax highlighter. Themes, facelift, latest tree-sitter-scala (now with named tuples support!), and a bunch of build niceties. keynmol.github.io/scala-treesi... I plan to write a blogpost about how all of this works. 220
Anton Sviridov @indoorvivants.com · 01/12/2024Here's an interactive cue4s demo running in the browser, using xterm.js and Scala.js! Have a go: keynmol.github.io/cue4s-xterm-... See how it's built: github.com/keynmol/cue4... 020
Anton Sviridov @indoorvivants.com · 01/12/2024Cue4s 0.0.3 is out, and with this version I was able to port dexsearch to it, removing the javascript prompts dependency entirely! cue4s: github.com/neandertech/... dexsearch: github.com/neandertech/... 050
Anton Sviridov @indoorvivants.com · 14/11/2024Quickest I ever deployed anything probably Mimalyzer: check if a change triggers a MiMa problem Try it: mimalyzer.fly.dev Code: github.com/keynmol/mima... Template: github.com/indoorvivant... It's built in like 40 minutes, so it will constantly crash, bye :P 030