Pinned Tweet
Do you like Caliban? Or maybe Shardcake? Enjoyed OSS contributions I’ve done over the years? Have I helped you on Discord?
I’ve just setup a GitHub Sponsor page so if you’d like to give a little back or encourage future contributions, head up to github.com/sponsors/ghostdog… 🙏
I applied an idea from @fwbrasil to create my own "refine" skill that reduces code complexity (and size) using an orchestrator agent and 3 subagents iterating on Constraints (Bjarnason), Simplicity (Hickey) and Parametricity (Wadler). Produced design and code looks much better!
Constraints: what freedom can we remove so fewer incorrect implementations are possible?
Simplicity: which independent concerns have become entangled?
Parametricity: what does the type actually guarantee, and what still depends on implementation discipline?
Been asked a few times so I shared the skill at github.com/ghostdogpr/skills
Introducing Caliban Gateway, a new module to combine remote Apollo Federation subgraphs, plain GraphQL services and local Caliban APIs into a single graph.
This has been in the works for more than 3 years, and I am glad to finally release a first version in Caliban 3.2.0. As usual, UX should be quite nice and performance is very competitive 🚀
Give it a try and let me know what you think 🙏
More details here: ghostdogpr.github.io/caliban…
Released a new version of Sage (my Redis/Valkey Scala client) with an easy to use distributed lock feature.
Ideal for cases where you want to prevent something running concurrently across multiple servers and don't want to reach for distributed actors or other more complex solutions (e.g. low contention, order doesn't matter).
Also upgraded Scala version to the new LTS (3.9.0).
Release Notes: github.com/ghostdogpr/sage/r…
PureLogic 0.3.0 is out! 🚀
This release moves to freshly baked Scala 3.9 LTS and adds support for experimental capture checking. Enable it to catch capabilities escaping through closures, lazy collections, and more.
See release notes for a concrete example!
github.com/ghostdogpr/purelo…
After 6+ years at Devsisters, I’m ready for my next challenge.
I’m a hands-on backend architect with 15+ years of experience designing and building large-scale backend systems, distributed architectures, and high-concurrency live-service game platforms.
I’m also a library author and maintainer in the Scala open-source ecosystem, where I’ve created projects including Caliban, Shardcake, and Proteus. I’d love to continue working primarily with Scala in my next role.
I’m looking for:
- Location: Remote worldwide or hybrid/onsite in South Korea
- Focus: Backend architecture, distributed systems, and lead/principal engineering roles
If you think my experience could be a good fit for your team, feel free to send me a DM. If you know someone hiring, a share or repost would be hugely appreciated!
Revived an old project of mine, building a Caliban-powered GraphQL gateway capable of composing multiple services into a single graph, with excellent performance 👀
github.com/ghostdogpr/caliba…
Sage is now running in prod serving thousands of req/s 😎
ghostdogpr.github.io/sage/
Sage now comes with a built-in and easy to use Redis/Valkey distributed rate-limiter!
Also: JSON support, as well as many improvements and fixes for cluster mode.
github.com/ghostdogpr/sage/r…
Working on adding a Redis/Valkey-backed distributed token-bucket rate limiter to Sage, super easy to use 🚀
I just discovered that an interesting new parser library was built on top of PureLogic: PureParser github.com/Iltotore/purepars…
More details in this blogpost (in French but easy to translate) hub.notaname.fr/paradigmes/f…
Had an agent do multiple rounds of review over the entire Caliban codebase and fixed a bunch of edge cases and rare bugs, some over 6 years old.
Release notes: github.com/ghostdogpr/caliba…
Released Sage 0.2.0 with new features and improvements. The highlight is a new OpenTelemetry integration which gives you traces for Redis/Valkey commands by adding a single line of code.
github.com/ghostdogpr/sage/r…
Released Proteus 0.5.1 with some nice performance improvements on the decoding side 🚀
github.com/ghostdogpr/proteu…
Wrote a little something about the dilemma of Scala library authors regarding which effect system(s) to support and how kyo-compat offers a nice alternative.
blog.pierre-ricadat.com/the-…
By popular demand, I added a fifth backend to Sage, my new Redis/Valkey Scala library. You can now use it with Future and Pekko Streams!
ghostdogpr.github.io/sage/
Kyo-compat is quite interesting for library maintainers! This is what allowed me to support 4 backends (5 soon as I'm adding Future/Pekko) in Sage without much duplication and no overhead.
Kyo RC4 is out, and it's yet another big one 🚀
🧩 kyo-ui: web UIs as pure values, rich reactivity across clients and servers
🌐 kyo-browser: drive a real browser with automatic settlement across all platforms
🔌 kyo-ffi: bind a C library once, call it from JVM, JS, and Native 😱
🪄 kyo-compat: write a library once, ship it to six effect backends (Kyo, ZIO, Cats Effect, Future, Ox, Twitter Future)
🕸️ WebAssembly is now a fourth cross-build target, published to Maven Central
The cherry on top? The project is finally fully documented and has a new website 🥳
Sharing for visibility, as I think most major Scala OSS projects will be impacted. The limits are particularly low. The days of supporting every version and target "just because" might be numbered.
There was no e-mail, and I learned it by accident, but I feel all #Scala OSS devs should learn ASAP: Maven is introducing publishing limits. We most likely will have to apply for exemption:
- sonatype.com/blog/open-publi…
- central.sonatype.org/publish…
Opened this github.com/scala/scala3/issu…




