Sign in

Anton Sviridov

@indoorvivants.com
93 followers 64 following 66 posts

I keep a detailed account of my various projects over at blog.indoorvivants.com and specifically the summary page: blog.indoorvivants.com/projects

PostsRepliesMedia
Anton Sviridov @indoorvivants.com · 15/08/2026
That's how they come out of the truck – no idea by what magic they stack them (probably a wall against which to stack helps), but in my years of using those ~daily I don't believe it's possible to make this arrangement in the wild because the whole fucking thing will topple over.
000
Reposted by Anton Sviridov
scala-js.org @scala-js.org · 20/06/2026
#Scala.js 1.22.0 is out! This release adds support for sbt 2.x, and officializes the support for WebAssembly as stable. It also comes with performance improvements and bug fixes. www.scala-js.org/news/2026/06...
scala-js.org
Announcing Scala.js 1.22.0
Harness the Scala and JavaScript ecosystems to develop robust apps for browsers, serverless, and Node.js.
097
Anton Sviridov @indoorvivants.com · 15/06/2026
Congrats! I am surprised however that with 3.9 LTS being imminent, sbt2 stayed on 3.8.4 Is that intentional?
110
Reposted by Anton Sviridov
∃ugene -Yokota 🥙 @eed3si9n.com · 15/06/2026
🛠️ sbt 2.0.0 is released! sbt 2.0 is a new major series of sbt, based on Scala 3 constructs and Bazel-compatible cache system. many thanks to Scala Center, Anatolii Kmetiuk (new maintainer), Adrien Piquerez (alumni), and other volunteers like Kenji Yoshida eed3si9n.com/sbt-2.0.0 #Scala
a screenshot of sbt session demonstrating sbt run called twice. the first run shows the startup sequence of the sbt server and shows "hello" on screen.

the second run, invoked via "sbt run" shows "hello" again, but in 0s.
22613
Reposted by Anton Sviridov
The Scala Programming Language @scala-lang.org · 09/06/2026
The Scala Center is working on improving Scala's documentation and website. This blog post describes what we hope to achieve in 2026, based on community feedback: www.scala-lang.org/blog/2026/0...
scala-lang.org
Improving Scala's docs and website
Our plans for improving Scala's documentation and website, based on community feedback.
0111
Anton Sviridov @indoorvivants.com · 02/06/2026
github.com/indoorvivant...
github.com
GitHub - indoorvivants/sbt-revolver: An SBT plugin for dangerously fast development turnaround in Scala
An SBT plugin for dangerously fast development turnaround in Scala - indoorvivants/sbt-revolver
000
Anton Sviridov @indoorvivants.com · 02/06/2026
I 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/2026
www.youtube.com/watch?v=0kIj...
youtube.com
Scala and C – tight as brothers by Anton Sviridov | Scalar 2026
YouTube video by SoftwareMill
000
Anton Sviridov @indoorvivants.com · 01/06/2026
Recording 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/2026
I 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 · 31/05/2026
looks right now
110
Anton Sviridov @indoorvivants.com · 30/05/2026
FWIW I get that in Safari, Chrome, and Firefox :)
100
Anton Sviridov @indoorvivants.com · 30/05/2026
Firefox I added a screenshot of the CSS – the text node has no custom class, and the default fallback seems to have the same color I see in the browser
100
Anton Sviridov @indoorvivants.com · 30/05/2026
Highlighting is wonky, seems like it's not my browser
100
Anton Sviridov @indoorvivants.com · 05/05/2026
I published a diffable merkle tree implementation for this specific work: github.com/indoorvivant...
github.com
GitHub - indoorvivants/merkle: Diffable and serialisable Merkle tree
Diffable and serialisable Merkle tree . Contribute to indoorvivants/merkle development by creating an account on GitHub.
011
Anton Sviridov @indoorvivants.com · 05/05/2026
I 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/2026
Felt cute, thought I'd do some compile time numbers
000
Anton Sviridov @indoorvivants.com · 20/04/2026
The workflows and the build are in Sniper repo: github.com/indoorvivant...
github.com
GitHub - indoorvivants/sniper: Snippet manager with templates, Alfred integration, and MCP
Snippet manager with templates, Alfred integration, and MCP - indoorvivants/sniper
000
Anton Sviridov @indoorvivants.com · 20/04/2026
Thought 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
SBT 2 build for Sniper CLI using Scala NativeRelease on Github made by sbt 2 with various CLI assets for different platforms
110
Reposted by Anton Sviridov
The Scala Programming Language @scala-lang.org · 26/03/2026
Time to meet again 🥰 🙌 Scala Days 2026 🗓️ Conference 12 - 13 October 🛠️ Workshops 14 - 15 October 📍Berlin, Germany Looking forward to welcoming you this autumn! scala-lang.org/blog/...
083
Anton Sviridov @indoorvivants.com · 24/03/2026
github.com/indoorvivants/sn-sizer Self-contained Scala Native CLI application published for Mac and Linux on GH release, embedding a C++ HTTP server to serve frontend and generated data. It needs more frontend work (and improvements to file parsers), but it's already quite useful
github.com
GitHub - indoorvivants/sn-sizer: Break down the size of a Scala Native binary
Break down the size of a Scala Native binary. Contribute to indoorvivants/sn-sizer development by creating an account on GitHub.
000
Anton Sviridov @indoorvivants.com · 24/03/2026
Finally 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
Reposted by Anton Sviridov
London Scala @londonscala.bsky.social · 16/02/2026
Thank you for attending last week's Scala Talks! Thanks go to Mercator for having us round for pizza, drinks and a beautiful venue. Special thanks go to our fantastic speakers @jatcwang.bsky.social and Jack Higgs. See you next time!
312
Reposted by Anton Sviridov
∃ugene -Yokota 🥙 @eed3si9n.com · 16/02/2026
👩‍🔬 sbt 2.0.0-RC9 is released! sbt 2.0 is a new version of sbt, based on Scala 3 constructs and Bazel-compatible cache system RC9 is a big change, featuring - JDK 17 + Scala 3.8.1 in metabuild - Maven BOM (Bill of Materials) usage support eed3si9n.com/sbt-2.0.0-RC9 #Scala (1/n)
eed3si9n.com
sbt 2.0.0-RC9 · eed3si9n
151
Reposted by Anton Sviridov
∃ugene -Yokota 🥙 @eed3si9n.com · 27/01/2026
happy to announce that along with Scala library, compiler, sbt 2.0 project has been awarded Sovereign Tech Fund (German gov grant), recognized as a critical digital infrastructure, or an xkcd open source picture scala-lang.org/blog/2026/01... #Scala
1112
Reposted by Anton Sviridov
Jamie Thompson @bishabosha.bsky.social · 27/01/2026
By the way I am taking lead on the Scala standard library project and am open here for suggestions on what we should be working on - the sky is the limit! Or find the contributors forum post.
062
Reposted by Anton Sviridov
The Scala Programming Language @scala-lang.org · 27/01/2026
The Sovereign Tech Fund Invests in Scala: 🔐 security audits 🔧 sbt 2.0 📚 core library maintenance 💪 and long-term resilience for critical digital infrastructure Check out the announcement: www.scala-lang.org/b... 🙏 Huge thanks to @sovereign.tech
1179
Reposted by Anton Sviridov
Voytek Pitula @krever01.bsky.social · 22/01/2026
New library in Business4s ecosystem! And my semi-rant on scala.js usability. medium.com/business4s-b...
medium.com
Forms4s: Rapid (Internal) UI Development
Scala.js is genuinely great. It lets backend developers build web applications using the same language, type system, and mental models they…
021
Anton Sviridov @indoorvivants.com · 08/01/2026
Simple logging context propagation in Scribe logging library and http4s client/server blog.indoorvivants.com/2026-01-08-l...
blog.indoorvivants.com
Log context propagation in http4s with Scribe
As a sign of nature healing, we no longer need to use Kleisli and polymorphic effects to do something as trivial as attaching request metadata to log statements. Let's take a look at how IOLocal helps...
000
Reposted by Anton Sviridov
scala-js.org @scala-js.org · 05/01/2026
#Scala.js 1.20.2 is released! It features more performance improvements and some bugfixes. www.scala-js.org/news/2026/01...
scala-js.org
Announcing Scala.js 1.20.2
Harness the Scala and JavaScript ecosystems to develop robust apps for browsers, serverless, and Node.js.
024
Anton Sviridov @indoorvivants.com · 19/12/2025
That's the thinking that let them They™️ take away fast compilers from Us.
000
Reposted by Anton Sviridov
The Scala Programming Language @scala-lang.org · 17/12/2025
✨ Sometimes a bit of frustration leads to good questions. This talk looks at what Scala highlighting gets right, what it gets wrong, and why it still matters. Here’s "Tree Sitting will continue until Scala highlighting improves" by Anton Sviridov
youtube.com
Anton Sviridov: Tree Sitting will continue until Scala highlighting improves [Scala Days 2025]
In this talk we take a problem – accurate Scala syntax highlighting – and build a microcosm of tools around it, relying on industry-proven Tree Sitter grammars and parsers. Good tooling follows you across platforms, locations, and usecases, and so we will build a browser app with Scala.js, a CLI wit
031
Anton Sviridov @indoorvivants.com · 30/11/2025
Scala.
000
Reposted by Anton Sviridov
∃ugene -Yokota 🥙 @eed3si9n.com · 26/11/2025
from #Scala Days 2025 edition, 'sbt 2.0: go big' www.youtube.com/watch?v=GM2y... (video) www.slideshare.net/slideshow/sb...
a screen capture from the 'sbt 2.0: go big' talk.

Vision sbt 2.0
An idea of the ultimate build tool

1. Simplify build.sbt DSL
2. Use Scala 3 constructs
3. Caching
4. sbtn by default
5. Continuitya screen capture from the 'sbt 2.0: go big' talk.

sbt 2.x: test results will be cached on CIcaching is IO-effect-hard
At least as hard as the IO problem

someTask := {
  val conv = fileConverter.value
  val out: java.nio.file.Path = createFile(...)
  conv.toVirtualFile(out): xsbti.HashedVirtualFileRef
}

This will just memorize the file path and hash but won't materialize the file on disk

someTask := {
  val conv = fileConverter.value
  val out: java.nio.file.Path = createFile(...)
  val vf: xsbti.VirtualFile = conv.toVirtualFile(out)
  Def.declareOutput(vf)
  vf
}

Def.declareOutput(vf) will materialize the file on cache hita screen capture from 'sbt 2.0: go big' talk

the section slide for sbtn + sbt server

It shows a seemingly large, but abstract concrete structure with forest area in the background. it's the base part of The Open Hand Monument in Chandigarh by Le Corbusier.
053
Reposted by Anton Sviridov
The Scala Programming Language @scala-lang.org · 26/11/2025
Scala Days 2025 is a wrap! 🎉 Conference highlights and talk recordings are here! 🏔️ Lausanne was buzzing with talks, workshops, and community energy. ▶️ All recordings are now live on YouTube 👁️ Read more: scala-lang.org/blog/...
0165
Anton Sviridov @indoorvivants.com · 26/11/2025
Scala Days talks are live! I can finally refer to my hot takes by timestamps www.youtube.com/watch?v=qkUV...
041
Reposted by Anton Sviridov
∃ugene -Yokota 🥙 @eed3si9n.com · 26/11/2025
🦃 sbt 2.0.0-RC7 is released! sbt 2.0 is a new version of sbt, based on Scala 3 constructs and Bazel-compatible cache system - sbt 2.0.0-RC7 updates the metabuild to Scala 3.7.4 - adds scalaEarlyVersion source directories - adds cleanFull command eed3si9n.com/sbt-2.0.0-RC7 #Scala
eed3si9n.com
sbt 2.0.0-RC7 · eed3si9n
041
Anton Sviridov @indoorvivants.com · 14/11/2025
All the annotations are optional :P You can have a super terse definition. In my current experience it helps me throw a CLI config into an existing service in ~0 time (e.g. set number of workers, modify port/host, etc.), so I try to minimise the LoC-to-result metric. Good luck with your macros :)
010
Anton Sviridov @indoorvivants.com · 14/11/2025
I'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 · 13/11/2025
Ugh, I was hoping to avoid learning any new kubernetes concepts for my server
010
Anton Sviridov @indoorvivants.com · 03/11/2025
There are limits to this of course, but long term committment to a behaviour that is no longer correct/doesn't align with the vision of the interface and its contracts doesn't serve the maintainers or the majority (sic!) of users
020
Anton Sviridov @indoorvivants.com · 03/11/2025
I think it depends what you define as compatibility (and IMO it shouldn't be an all encompassing "this will never change promise"). In my area where compatibility is defined by binary and syntactic vectors, a prominent maintainer responded to exactly such a question: github.com/typelevel/ca...
github.com
isn't 3.5.0 `async` a breaking API change? · typelevel cats-effect · Discussion #3621
@djspiewak, please help us to understand, why async changes didn't lead to major version bump? If I understood correctly, now we have to be very careful with any library upgrade as our application ...
120
Anton Sviridov @indoorvivants.com · 20/10/2025
Restarting Kubernetes deployments with Github Webhooks and Scala blog.indoorvivants.com/2025-10-20-...
blog.indoorvivants.com
Restarting Kubernetes deployments with Github Webhooks and Scala
On my lazy Kubernetes cluster that hosts various apps I want to have the easiest possible way for automatic deployments - and reacting to Github package publishing seems just simple enough
000
Anton Sviridov @indoorvivants.com · 14/10/2025
But the good thing is that once it works (after trial and error) it continues to work in different environments, and you have a single file with a blueprint of what it takes to build the app on a clean machine. Using a slightly more portable DSL than GH workflows
000
Anton Sviridov @indoorvivants.com · 14/10/2025
Probably the most horrific application of this approach is in sn-bindgen-web: github.com/indoorvivant... Copying individual linux and llvm files, publishing 6 different forks into local cache, installing system AND vcpkg dependencies... It used to build NGINX Unit from source!
github.com
sn-bindgen-web/Worker.Dockerfile at main · indoorvivants/sn-bindgen-web
Web interface to sn-bindgen (https://sn-bindgen.indoorvivants.com/) to generate Scala 3 Native bindings to C header files - indoorvivants/sn-bindgen-web
100
Anton Sviridov @indoorvivants.com · 14/10/2025
New 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.
An image of a self-contained multi-stage dockerfile deploying a simple Scala backend service using Scala CLI
110
Anton Sviridov @indoorvivants.com · 22/09/2025
To 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 · 01/08/2025
Code (and details) are here: github.com/keynmol/scal...
github.com
GitHub - keynmol/scala-native-interop-livecoding-lsug: Live coding session demonstrating approaches to interop with C, C++, Assembly from Scala 3 Native
Live coding session demonstrating approaches to interop with C, C++, Assembly from Scala 3 Native - keynmol/scala-native-interop-livecoding-lsug
000
Anton Sviridov @indoorvivants.com · 01/08/2025
Here's a live coding session I did for London Scala User Group about Scala Native and how it can interop with C, C++, and even Assembly. Super fun, by the end of it we had a blazing fast HTTP server built with a sprinkle of ARM64 assembly www.youtube.com/watch?v=rRPe...
youtube.com
LSUG July 2025 Scala Native Live Coding - Anton Sviridov
YouTube video by London Scala User Group
132
Reposted by Anton Sviridov
London Scala @londonscala.bsky.social · 03/07/2025
We have two exciting live-coding talks for you this July! ☀️ Join us on Jul 23rd (Wed) 6pm to see some cutting edge Scala in action from Nicolas Rinaudo and Anton Svirdov! Sign up here: 👇 www.meetup.com/london-scala...
meetup.com
Scala Talks: Hands-On Capture Checking & Scala Native live-coding ☀️, Wed, Jul 23, 2025, 6:00 PM | Meetup
🎉 Come along to the London Scala Talks! 🎉 Summer is upon us and it's time to get active! What's more active than, not just one, but TWO cutting-edge Scala live-coding ta
135