welcome to riverxia.sh ★ CTF player ★ competitive programmer ★ osu! enjoyer ★ rust haver ★ thanks for visiting ★ welcome to riverxia.sh ★ CTF player ★ competitive programmer ★ osu! enjoyer ★ rust haver ★ thanks for visiting

uses.riverxia.sh

the tools, languages and infra i actually use

desktop & shell

  • arch + hyprland — daily driver, tiling wm (fedora userland with mostly arch components)
  • ghostty — terminal. i do basically everything in it
  • fish + zoxide — shell, and `z` instead of `cd`
  • neovim — custom config tuned for speed and competitive programming (see Neovim Dots on the projects page)
  • mpv, ffmpeg, yt-dlp — media, from the terminal

languages & tooling

  • python + uv — scripts, CTF tooling, this site's build
  • rust + cargo — cctf.rs, bromine-tui, anything that should be fast and correct
  • c++ — competitive programming
  • js/ts + bun — web stuff
  • go — game server work
  • git + gh — obviously

ctf toolbox

  • ida pro + binary ninja — reversing, personal licenses for both
  • pwntools, z3, sage — the usual crypto and pwn kit
  • binwalk, zsteg, exiftool — forensics and stego triage
  • netcat, curl, mitmproxy — web and traffic poking, all from the terminal

infra

  • cloudflare workers — all four sites here are static-asset workers, plus dns
  • ovh vps — mail (postfix, dovecot, rspamd, opendkim, roundcube) and dev stacks
  • docker + kubernetes — per-team challenge instancing for cctf.rs
  • tailscale — private networking between machines

this site

  • python-markdown + pygments — posts are markdown files, built to static html
  • katex — math rendered at build time, no client js
  • make — one command builds, checks, deploys and verifies everything