Skip to content
vx

Open to work

I’m vx, a software engineer based in Uruguay.

I write C for Linux, down to PID 1, and TypeScript for the web. I’m interested in how things work underneath, from network layers to language models.

Work

01 · Terminal emulator

poopterm

A fast terminal emulator in Rust for Linux, macOS and FreeBSD, with its own Vulkan renderer, escape-sequence parser, font engine and image decoders.

  • Handles real-world output at 75 to 375 MB/⁠s end to end on a low-power laptop CPU, 137 MB/⁠s overall with images included.
  • On Linux and FreeBSD it draws whole frames on the GPU through its own Vulkan bindings, with its software renderer as the fallback; macOS draws in software for now.
  • Shows images over Sixel and the kitty graphics protocol, and speaks the kitty keyboard protocol and shell integration for zsh, fish and bash.
  • On Linux, each tab’s shell runs in its own cgroup with a memory cap, so a runaway program can’t starve the other tabs.
Made at
Poopware Laboratories, main contributor
Built with
Rust, Vulkan, winit, softbuffer, mimalloc
Status
Released, with packages for Homebrew, Debian, Fedora and Arch; not yet a complete xterm implementation
License
AGPL-3.0-or-later
poopterm in its brown Poop theme: a cargo build, its benchmark of log, CJK and emoji output, text in Greek, Cyrillic, Chinese and Korean, emoji, styled text, a link and a row of colour swatches ending in a gradient.poopterm’s Settings window, drawn on the GPU, open at its keyboard shortcuts: new tab, command palette, cycle theme, search, close tab, prompt jumps and zoom, each with its key chord.poopterm’s diagnostics page on a dark theme, listing the grid, window chrome, overlays, images and wallpaper as hardware accelerated through Vulkan, on Intel graphics.

02 · Voxel sandbox

blockclonia

A Minecraft-style voxel sandbox written from scratch in C11 and Vulkan, with physics in real units and a simulated human body instead of a health bar.

  • Every block needs a load path to the ground: knock out a support and what it held falls as rigid bodies.
  • Every texture and sound is generated at start-up.
  • The renderer needs only Vulkan 1.0 with no optional features, so it runs down to a Raspberry Pi 4.
Built with
C11, Vulkan, GLFW, mimalloc, miniaudio, SQLite, CMake
Status
Builds on Linux and Raspberry Pi OS; macOS is experimental
License
AGPL-3.0
blockclonia’s title screen: the name in pixel letters and a menu with Play, Settings, Controls and Quit, over blocky hills, trees and a beach.

03 · Discord presence daemon

claude-presence

Discord Rich Presence for Claude Code, in Rust: a small daemon, driven by Claude Code’s hooks, that shows what a session is doing on your Discord profile.

  • Uses about 3 to 4 MB of memory and has no polling loop; a hook call takes about 2 ms.
  • Keeps lifetime stats in one SQLite file, imported from your existing transcripts.
  • Installs itself as a per-user service on Linux, macOS and Windows.
Built with
Rust, SQLite
Status
Version 0.2.0, installed with cargo
License
Apache-2.0
claude-presence’s terminal dashboard: the daemon running and connected to Discord, the card reading “Working in claude-presence”, and today’s tokens, prompts, active time and streak.

04 · Terminal code editor

neocaca

A modal terminal code editor in Zig, with Kakoune-style keys, multiple selections, regex search and undo.

  • Ships with bounds and overflow checks on; its SIMD text scanning still runs at about 14 to 24 GiB/⁠s.
  • Treats file contents as untrusted: escape sequences and control bytes are shown, never written to the terminal raw.
  • Saves atomically, so a crash never truncates a file.
Made at
Poopware Laboratories, contributor
Built with
Zig, mimalloc
Status
Early days: edits one file at a time, with no syntax highlighting yet
License
AGPL-3.0

05 · Linux distribution

Poop Linux

A Linux distribution built from source by its own recipes, on Poopware Laboratories’ own kernel fork, musl fork, init and package manager.

  • Its first edition boots to a text console only, on x86_64 with UEFI.
  • Its init and service supervisor is 4suite, as poopsuite; its package manager, poop, is designed to check signatures and install in atomic transactions.
  • Each performance target in its design, such as a login prompt in QEMU within 20 seconds of boot, gets measured in CI before it’s claimed.
Made at
Poopware Laboratories, main contributor
Built with
Linux, musl, archiso, Shell
Status
Pre-alpha: the design and contributor docs so far, with nothing to install yet
License
BSD-3-Clause

06 · Boot stack

4suite

A self-contained boot stack for Linux in C: 4init, an init that runs as PID 1 and only manages processes, and 4rc, a service manager.

  • 4init is 81 lines of C, linked statically against musl.
  • Poop Linux uses it as its init, as poopsuite, the same repository at Poopware Laboratories.
Built with
C, musl, Ninja
Status
Experimental
License
MIT

07 · This site

kthread.dev

This site: a static Next.js export served by Cloudflare, with a strict content security policy and no cookies.

  • The Cerro behind it is pixel art drawn by a script, pixel by pixel, on a sunny day in the light theme and at night in the dark one, and only ever shown at whole-number scales.
  • Everything moves in CSS, with a switch to turn the motion off.
Built with
Next.js, TypeScript, Tailwind CSS, Cloudflare Workers
Status
Live
License
BSD-3-Clause

What I work with

Skills

Languages
C
x86 Assembly
Python
JavaScript
TypeScript
Web
HTML
CSS
Next.js
Node.js
Networking
L2 and L3: data link, network
L4: transport
L6 and L7: presentation, application
nftables
nginx
AI
How LLMs work
Working with AI

Get in touch

I’m open to work.

Write to me by email. All of this work is public on GitHub.