257 private links
Onitama is an elegant and simple game which captures the essence of martial arts
Each game is quick, usually 15 minutes in length
Each game will use 5 cards chosen randomly from the 16 game cards
The board begin's with each player controlling 4 pawns and 1 king
Each player has a hand of 2 cards
One card is a spare on the side of the board (or on mobile highlighted in the hand)
Playing the Game
Players alternate turns until the game has ended
On a player's turn, they select one of their two cards, determining where they can move one of their pieces
For example, the Ox card lets the player move a piece either
One square forward
One square right
One square behind
Note: Card moves are relative to the player's perspective, so the card will rotate 180 degrees when the opponent has it
Pieces can be moved to any square that is not occupied by a same coloured piece
The played card then switches with the spare card
Capture
If a piece is moved to the same square as an opponent's piece, the opponent's piece is captured and removed from the game
Discarding
If you have no moves that you can legally make, you instead will discard a card, playing it and not moving a pieces
If you can play a move, you cannot discard
Winning the Game
The game can be won in one of two ways
King Capture
If a player captures an opponent's king, they win the game
Base Capture
If a player moves their king to the starting square of the opponent (the coloured square), they win the game
This repository makes software projects which are funded by the Next Generation Internet (NGI) initiative of the European Commission through the NLnet Foundation available as
Configuration modules compatible with NixOS
Package recipes compatible with Nixpkgs
and provides automatically tested example NixOS configurations.
Le règne animal (Metazoa en grec) regorge de nos lointains parents... certains plus éloignés que d'autres ! Metazooa est un jeu qui teste vos connaissances sur notre arbre généalogique étendu.
Votre but est de trouver l'animal mystère du jour en un minimum d'essais. Les mauvaises propositions réduiront le champ des possibles grâce aux rangs taxonomiques (règne, embranchement, classe, ordre, etc.). Plus votre proposition aura de points communs avec la réponse du jour, plus vous en apprendrez sur l'animal mystère.
Exports Rocksmith 2014 songs to Guitar Pro tabs
Conclusion
For most cases, I prefer this syntax:
let Some(value) = some_function() else {
return Err("Descriptive error message".into());
};
To me, let-else is the best solution for handling None because:
It’s part of the standard library.
It works for both libraries and applications.
It’s easy to understand for beginners.
It’s reasonably compact.
It allows for more complex error handling logic in the else block if needed.
Learning the mechanics behind it is helpful in other places in Rust.The largest collection of free stuff on the internet!
The stack
Here's what I landed on after a lot of trial, error, and migration headaches.
Hetzner handles the core compute. Load balancers, VMs, and S3-compatible object storage. The pricing is almost absurdly good compared to AWS, and the performance is solid. If you've never spun up a Hetzner box, you're overpaying for cloud compute.
Scaleway fills the gaps Hetzner doesn't cover. I use their Transactional Email (TEM) service, Container Registry, a second S3 bucket for specific workloads, their observability stack, and even their domain registrar. One provider, multiple services, it simplifies billing if nothing else.
Bunny.net is the unsung hero of this stack. CDN with distributed storage, DNS, image optimization, WAF, and DDoS protection, all from a company headquartered in Slovenia. Their edge network is genuinely impressive and their dashboard is a joy to use. Coming from Cloudflare, I felt at home rather quickly.
Nebius powers our AI inference. If you need GPU compute in Europe without sending requests to us-east-1, they're one of the few real options.
Hanko handles authentication and identity. A German provider that gives you passkeys, social logins, and user management without reaching for Auth0 or Clerk. More on this in the "can't avoid" section — it doesn't eliminate American dependencies entirely, but it keeps the auth layer European.
Self-hosting: Rancher, my beloved
This is where things get fun... and time-consuming. I self-host a surprising amount:
Gitea for source control
Plausible for privacy-friendly analytics
Twenty CRM for customer management
Infisical for secrets management
Bugsink for error tracking
All running on Kubernetes, with Rancher as the glue keeping the whole cluster sane.
Is self-hosting more work than SaaS? Obviously. But it means my data stays exactly where I put it, and I'm not at the mercy of a provider's pricing changes or acquisition drama.
For email, Tutanota keeps things encrypted and European. UptimeRobot watches the monitors so I can sleep.
Recipe Management For The Modern Household
Mealie is an intuitive and easy to use recipe management app. It's designed to make your life easier by being the best recipes management experience on the web and providing you with an easy to use interface to manage your growing collection of recipes.