Chris Rybicki
rybickic.bsky.social
Chris Rybicki
@rybickic.bsky.social
tinkerer interested in distributed systems, compilers, and sometimes philosophy. he/him.
sui generis (adj.) - unique; in a class by itself
November 1, 2025 at 4:14 PM
nice Halloween touches NYC!
October 31, 2025 at 5:45 PM
To that end, using AI seems like a great solution!

As a human there might not be a finite list of criteria for what makes a puzzle interesting. But if I give the model enough positive and negative examples, there's a chance (but not guarantee) it might pick up on some patterns.
October 31, 2025 at 4:40 AM
This is a good starting point, but depending on the puzzle type, your artifacts might still feel very randomly generated, so you might still need a human curation process.
October 31, 2025 at 4:40 AM
Many puzzles are like constraint-satisfaction problems (CSPs). One strategy I tried was to generate puzzles at random and rank them to:

- minimize the # of constraints, since elegant puzzles have fewer moving parts
- maximize the search tree complexity, so mentally finding the solution feels hard
October 31, 2025 at 4:40 AM
In college I used to hack around with writing code to generate grid-based pencil and paper puzzles like Sudoku, Numberlink, etc. So I love this stuff.

Teaching a computer to solve puzzles is straightforward once you have the algorithm down. But how do you make it generate puzzles that feel "human"?
October 31, 2025 at 4:31 AM
www.chess.com/news/view/ai...

Really cool results! In most game-like domains, the focus of AI is on maximizing win rate or score etc., but measuring the "novelty" of objects like puzzles turns out to be quite hard because it requires human taste, in a sense.
DeepMind's AI Learns To Create Original Chess Puzzles, Praised By GMs
In a new study, researchers from Google DeepMind have created an AI system that is capable of generating creative chess puzzles, some of which impressed experts in chess compositions.
www.chess.com
October 31, 2025 at 4:29 AM
Reposted by Chris Rybicki
I am looking for a full-time job.

Being independent in open source for 3.5+ years has been wonderful. I've gotten done most of the high-level goals I wanted to, and miss having people & structure around me.

If you know of a role for a staff-level TypeScript+web developer, let me know! šŸ™‚
October 30, 2025 at 2:40 PM
Reposted by Chris Rybicki
I'm delivering tremendous value in the enterprise Slack
October 29, 2025 at 8:43 PM
Saw an article about the AWS outage analogize the DynamoDB endpoint of AWS as "the digital phone book of the internet". This feels like the same as calling mitochondria the powerhouse of the cell, no?
October 20, 2025 at 11:09 PM
I only just now realized concurrency algorithms are called "starvation free" because the most famous concurrency problems/algorithms are about feeding people:

en.wikipedia.org/wiki/Dining_...

en.wikipedia.org/wiki/Lamport...
Dining philosophers problem - Wikipedia
en.wikipedia.org
October 18, 2025 at 6:44 PM
October 18, 2025 at 4:21 AM
Copy-pasting from Stack Overflow was the OG vibecoding.
October 16, 2025 at 9:35 PM
Two other aspects that make EarPods feel more shareable:

1. They're cheap - it's low risk if they're damaged
2. They don't have sensors detecting if they're in your ears or not. Most apps pause music if you take an AirPod out of your ear. Great for solo use, not for sharing
October 15, 2025 at 12:22 AM
Apple's wired EarPods are worse than AirPods Pro in most ways - the audio is less clear, they leak more sound to others, they're not noise cancelling, etc.

And yet, something about the wired, rubber tip-less design makes them feel more shareable.
October 15, 2025 at 12:22 AM
Reposted by Chris Rybicki
We open sourced a read-through cache for S3, called Cachey github.com/s2-streamsto...
GitHub - s2-streamstore/cachey: Read-through cache for object storage
Read-through cache for object storage. Contribute to s2-streamstore/cachey development by creating an account on GitHub.
github.com
September 14, 2025 at 6:01 PM
(IMO the other factor here is that it's still hard to formally model systems -- harder than traditional programming, arguably. It's a totally different skill set. I have a math undergrad degree and proof /model checking software still intimidates me a little bit!)
September 10, 2025 at 3:50 AM
The reality is that these are orthogonal statements; they don't conflict.

But there are times when it feels like they do, because software engineers often want to believe there's a best way to build software. And in practice, software robustness is a sliding scale.
September 10, 2025 at 3:50 AM
It's weird; I emphatically believe the more you can formally specify a system, the more robust it can be and the less of a chance that it has bugs.

And yet... JSON is one of the most widely used data interchange formats, and it doesn't specify how to handle duplicate field names.

šŸ¤·ā€ā™‚ļø
September 10, 2025 at 3:50 AM
You Have to Feel It
mitchellh.com
August 31, 2025 at 3:42 AM
Takeaways for me:

- When your language compiles to C, you get a really nice portability story.
- Macros can used to bridge the gap between functional and imperative syntaxes.
- One way to make your language more REPL-like is by letting macros run code to interact with the LSP server (see img)
August 23, 2025 at 5:11 PM
Neat talk about Lean, specifically focusing on its metaprogramming capabilities!

www.youtube.com/watch?v=c5LO...
The Best New Programming Language is a Proof Assistant by Harry Goldstein | DC Systems 006
YouTube video by Antithesis
www.youtube.com
August 23, 2025 at 5:11 PM
What I would find more useful than static analysis to identify pure functions, would be tooling that reads my programs and identifies what non-trivial "pure" parts can be split out into pure functions. Or that figures out how to unit test / create deterministic simulations of complex APIs.
August 23, 2025 at 4:51 PM
What I'm not sure about is what are the concrete type checking or compilation or DX benefits elevating pure functions to some different class or rank in a PL.
August 23, 2025 at 4:51 PM
This leads me to wonder if it's better for DX to treat pure functions instead as the exceptional case.

In practice, this rings true -- if I find some code that's purely manipulating data structures, that's where I try to extract it into a pure function.
August 23, 2025 at 4:51 PM