Posts by Cyril Kato
Shipped `GlickoRatingSystem`, a pure #Elixir implementation of the Glicko-2 rating system. Zero dependencies, fractional scores, plain tuples.
A rating system that won't deviate from the spec.
hex.pm/packages/glicko_rating_system
Just published AcceptLanguage, a zero-dependency Elixir library for parsing Accept-Language HTTP headers. RFC 4647 Basic Filtering, BCP 47 tags, wildcards, exclusions — one function.
elixirforum.com/t/acceptlanguage-lightweight-accept-language-header-parser-with-rfc-4647-basic-filtering/74651
New post to celebrate accept_language gem v2.2.0 🎉
Behind a single Accept-Language header hides a story: where you've lived, what you've studied, and what you refuse to read.
blog.cyril.email/posts/2026-0...
Spent a while getting these right: SVG assets for abstract strategy board games, now in the public domain. Hope they save someone else the trouble.
blog.cyril.email/posts/2026-0...
Elegant players resign rather than force opponents to capture the King.
blog.cyril.email/posts/2025-1...
We've just published a video about SvelteKit's new Remote Functions by @dummdidumm.bsky.social. Watch it on our YouTube channel: www.youtube.com/watch?v=0hy7...
OAuth updates for app devs!
Over the past few weeks we've been chatting with devs and doing a pass over our SDKs and docs to address issues. This blog post summarizes the main changes we've made, some tweaks still in flight, and links to longer form writing about security and design trade-offs
Working on chess game systems at @sashite.com — we needed a strict, minimal #RubyLang protocol to keep things clean and predictable.
So we wrote one: sashite.github.io/ruby-develop...
Still a work in progress, but might be useful to others too.
Many board games — chess, shogi, xiangqi — have their own formats to describe positions (FEN, SFEN, etc).
I've tried to design a single, rule-independent format that could cover them all: FEEN.
It’s simple, and maybe it’ll be useful to others.
📝 blog.cyril.email/posts/2025-0...
Contemplating the elegant simplicity of cryptographic URL signatures with practical implementation insights. A scholarly exploration of secure, tamper-proof links for modern web applications.
blog.cyril.email/posts/2025-0...
I put together an experimental Go OAuth client. Works well, though definitely _experimental_ so there are bound to be bugs or things I missed. It's not official, but should be a starting point! Will be enlisting the help of @bnewbold.net to clean it up and get our client SDK working with OAuth.
You first.
How can a one-way function (cryptographic hash) be used to ensure message confidentiality? I wrote an article explaining a simple symmetric encryption protocol that demonstrates this interesting concept. blog.cyril.email/posts/2025-0...
NESFab – A new programming language for creating NES games (pubby.games)
Main Link | Discussion
In the next version of Bun
`bun ./index.html` starts a frontend dev server
hello world computer
Bun is a complete JavaScript toolkit Everything you need to ship & maintain your app, built-in Builtin Core Features Essential runtime capabilities Node.js compatibility Bun aims to be a drop-in replacement for Node.js apps View Docs Web Standard APIs powered by WebCore (from WebKit/Safari) Support for web standard APIs like fetch, URL, EventTarget, Headers, etc. View Docs TypeScript First-class support, including "paths" enum namespace View Docs JSX First-class support without configuration View Docs Module loader plugins Works in browsers & Bun Plugin API for importing/requiring custom file types View Docs Builtin APIs Built-in performance and native APIs designed for production PostgresSQL driver Bun.sql Fastest available to JavaScript High-performance cloud database access View Docs SQLite driver bun:sqlite Fastest available to JavaScript High-performance local database access View Docs S3 Cloud Storage driver Bun.s3 Fastest available to JavaScript High-performance S3-compatible
you probably didn't know Bun has all this builtin
What will you #RSpec for 2025? To all Rubyists, we wish you pure specifications, crystal-clear tests, and happy testing! Happy New Year! ✨