Gabriel Volpe
banner
gvolpe.com
Gabriel Volpe
@gvolpe.com
Software Engineer. Author of Practical FP in Scala & Functional Event-Driven Architecture. #NixOS #NeoVim #Scala #Haskell #UnisonLang
Happy New Year! 🥳

Starting 2026 with a lengthy new blogpost that has a bit of everything: gvolpe.com/blog/immich-...

#NixOS #Tailscale #S3QL #Immich #Hetzner #Borg
Immich Photos on S3 object storage
As someone who loves going for adventures abroad, the memories I’ve captured behind the lens have become extremely valuable to me. I’ve learned to …
gvolpe.com
January 1, 2026 at 10:12 AM
Note to self: stay away from any web analytics software using ClickHouse as the storage backend, unless fully documented.

Gave Plausible a try for over a year, but ultimately, it's just too much of a maintenance burden.

github.com/plausible/co...
ClickHouse store folder grows uncontrollably and is not cleaned up · Issue #256 · plausible/community-edition
Hello team, I'm self-hosting Plausible CE using Docker Compose (with the official setup). Plausible 3.0.1. I’ve noticed that the plausible-ce_event-data volume (used by ClickHouse) keeps growing in...
github.com
December 20, 2025 at 10:25 AM
Trying to migrate away from Google Photos is a monumental task that I have postponed forever... Now trying both immich.app (self-hosted) and ente.io (free-tier account).

Hosting a photo server is easy, but dealing with replicas and backups is the difficult (and costly) part to get right.
Immich
Self-hosted photo and video management solution. Easily back up, organize, and manage your photos on your own server. Immich helps you browse, search and organize your photos and videos with ease, wit...
immich.app
December 6, 2025 at 6:46 PM
Reposted by Gabriel Volpe
Do you depend on Signal? Please donate to keep us growing

Settings > Donate
signal.org/donate
December 3, 2025 at 4:17 PM
Reposted by Gabriel Volpe
Today I'm releasing niri v25.11 with long-awaited config includes, Alt-Tab, true maximize, custom modes, and a bunch of other improvements! Enjoy the release notes :)

github.com/YaLTeR/niri/...

We also have new quick start guides: yalter.github.io/niri/Getting...

#niri #smithay #wayland #rust
November 29, 2025 at 10:37 AM
Reposted by Gabriel Volpe
🎉 Unison 1.0 has landed!

After years of engineering, design, and community collaboration, we’re excited to announce this milestone!

Spread the word!
Announcing Unison 1.0
After years of engineering, design, and community collaboration, we're excited to release Unison 1.0. This version delivers a refined programming workflow and a mature toolchain. Join us as we celebrate this milestone and look ahead to the future of Unison.
www.unison-lang.org
November 25, 2025 at 7:01 PM
Reposted by Gabriel Volpe
“It works on my machine!”

If you’ve ever uttered those words, then come & learn about Nix. Julian Arni joins me this week to discuss the tool that attempts to solve the problem of reproducible builds once and for all...

youtu.be/maw2hptpErI
Nix, The Build Everything Language (with Julian Arni)
YouTube video by Developer Voices
youtu.be
March 27, 2025 at 3:35 PM
Great presentation! Unison brings content-addressed code; Nix content-addressed derivations. This is the future, folks, don't sleep on it 🤩

#UnisonLang #Nix #NixOS
November 15, 2025 at 9:46 AM
Reposted by Gabriel Volpe
🚀 New deep dive: Distributed System Engineering in Unison

In our latest blog post, take a look at the design of the Volturno library: a distributed stream processing engine built atop Unison Cloud.

www.unison-lang.org/blog/volturn...
Distributed system engineering in Unison: Volturno · Unison programming language
We look at the design of Volturno, a streaming engine with exactly-once processing, to illustrate why Unison Cloud is a great enabler for distributed systems builders.
www.unison-lang.org
November 4, 2025 at 8:26 PM
Milestone achieved: 1k 🌟 on @github.com

Can I redeem them for something of value? 😆
October 30, 2025 at 4:44 PM
Reposted by Gabriel Volpe
You can now run GHC in your browser: haskell-wasm.github.io/ghc-in-browser #haskell
ghc-in-browser
haskell-wasm.github.io
October 30, 2025 at 2:26 PM
Reposted by Gabriel Volpe
🤯 Unison in the browser!?

Dan Freeman's new library, Proscenium, runs Unison code in WebAssembly.

Its companion library, @dfreeman/playbill, contains a walk-through of various features and live examples on Unison Cloud!

Play a game in your browser entirely in Unison; better yet, write your own!
@dfreeman/playbill | Unison Share
A walkthrough of building UIs with Proscenium, including several example apps.
share.unison-lang.org
October 28, 2025 at 6:01 PM
Where were you during the 2025 #awsoutage? 🤣

www.youtube.com/watch?v=rXPp...
Interview with Senior DevOps engineer 2025
YouTube video by Kai Lentit
www.youtube.com
October 21, 2025 at 6:35 AM
Another fun project written in @unison-lang.org , deployed to Unison Cloud ⛅🚀

I promise one day I'll work on something more serious, but this will do for now to scratch that #UnisonLang itch 😅

share.unison-lang.org/@gvolpe/gig
Unison Share
Explore, read docs about, and share Unison libraries
share.unison-lang.org
October 20, 2025 at 7:37 PM
Turns out I needed the `Cache` ability in other projects too, so I released the code I had (plus some modifications) as a library. It's always fun working with @unison-lang.org :)

share.unison-lang.org/@gvolpe/cache
Unison Share
Explore, read docs about, and share Unison libraries
share.unison-lang.org
October 17, 2025 at 5:10 PM
I swear it's not the first time I get a hotel room that can't be found 😂🤓
October 12, 2025 at 10:31 AM
Niri is the perfect window manager (see gvolpe.com/blog/niri/), but we're out here making it extraordinary 🥳
The perfect tiling window manager • gvolpe's blog
XMonad has been my main driver for years, and I still think it’s the best X11 window manager ever. However, the X11 windowing system is quite dated, having o...
gvolpe.com
October 10, 2025 at 8:00 AM
It's alarming that European leaders that don't understand how E2EE works are going to be voting on this proposal.
We are alarmed by reports that Germany is on the verge of a catastrophic about-face, reversing its longstanding and principled opposition to the EU’s Chat Control proposal which, if passed, could spell the end of the right to privacy in Europe. signal.org/blog/pdfs/ge...
signal.org
October 7, 2025 at 7:38 AM
Reposted by Gabriel Volpe
You can now spin up Unison Cloud clusters on your own infrastructure!

✅ Build elastic distributed systems and services in vastly less code
✅ Fast, typed RPC
✅ Deployments in seconds
✅ Free to get started

youtu.be/0sZqI1XoGLY
Unison Cloud on your infrastructure
YouTube video by Unison Language
youtu.be
October 1, 2025 at 7:39 PM
XMonad has been my main driver for years, but X11 has become outdated long ago, and Wayland started taking over. So I took the plunge and switched to Hyprland for over a year. It's been fine, but I wasn't entirely satisfied with it.

Now I think I've found the perfect window manager: Niri 😍
September 10, 2025 at 6:05 PM
Reposted by Gabriel Volpe
🌐 New major release of Unison’s HTTP library

Making a bunch of requests to the same host? The new client features connection pooling + keep-alives for efficient connection re-use, plus custom TLS certs support.
HTTP client and server and common types used for both.
share.unison-lang.org
August 28, 2025 at 6:07 PM
Reposted by Gabriel Volpe
🧙 For fans of optics and traversals and other such functional programming wizardry, here's Unison's own @chrispenner.ca, explaining how he composed custom Traversable instances to speed up Unison Share database queries!
Using traversals to batch database queries
Techniques for lateralizing nested code
chrispenner.ca
August 13, 2025 at 4:25 PM
What is this madness? 🤯
xordev.com Xor @xordev.com · Aug 8
"Deathstar"
for(float i,z,d,f;i++<1e2;o+=vec4(4,6,8.+z,0)/f-min(dFdx(z)*r.y+z,0.)/exp(d*d/.1)){vec3 p=z*(FC.rgb*2.-r.xyy)/r.y,c=p;p.z+=8.;c.z*=3.;for(f=1.;f++<9.;c+=sin(c.yzx*f+z+t*.5)/f);z+=min(f=.1+abs(.2*c.y+abs(p.y+.8)),d=max(length(p)-3.,.9-length(p-vec3(-1,1,3))))/7.;}o=tanh(o/2e3);
August 13, 2025 at 3:56 PM
Reposted by Gabriel Volpe
And here it is, my LambdaDays 2025 talk on "Shoehorning DI into a functional programming language" : www.youtube.com/watch?v=LDln...
Shoehorning dependency injection into a FP language (...)? - Eric Torreborre | Lambda Days 2025
YouTube video by Code Sync
www.youtube.com
July 1, 2025 at 12:19 PM