Chris Rybicki's Avatar

Chris Rybicki

@rybickic.bsky.social

tinkerer interested in distributed systems, compilers, and sometimes philosophy. he/him.

161 Followers  |  242 Following  |  161 Posts  |  Joined: 26.04.2023  |  1.9203

Latest posts by rybickic.bsky.social on Bluesky

sui generis (adj.) - unique; in a class by itself

01.11.2025 16:14 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
photo of NYC subway times display, where the orange M line is shaped like a pumpkin instead of a circle, and faded ghosts overlay

photo of NYC subway times display, where the orange M line is shaped like a pumpkin instead of a circle, and faded ghosts overlay

nice Halloween touches NYC!

31.10.2025 17:45 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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.

31.10.2025 04:40 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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.

31.10.2025 04:40 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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

31.10.2025 04:40 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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"?

31.10.2025 04:31 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
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/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.

31.10.2025 04:29 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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! πŸ™‚

30.10.2025 14:40 β€” πŸ‘ 208    πŸ” 81    πŸ’¬ 9    πŸ“Œ 10
Slack thread in #all-water-cooler: this past weekend some friends invited me to watch the first game of the world series, in part so i could learn how to watch baseball.

they kept recommending a slide deck which explained how the game worked, made by "some rando on the internet".
this is what they shared with me:
https://slim.computer/assets/teaching/ baseball.pdf

at first i thought maybe this deck was made by some other person who happened to call themselves "slim lim".
but after a few slides i was convinced it was made by our own @sliminal and eerie.

28 :slim: reacts

Slack thread in #all-water-cooler: this past weekend some friends invited me to watch the first game of the world series, in part so i could learn how to watch baseball. they kept recommending a slide deck which explained how the game worked, made by "some rando on the internet". this is what they shared with me: https://slim.computer/assets/teaching/ baseball.pdf at first i thought maybe this deck was made by some other person who happened to call themselves "slim lim". but after a few slides i was convinced it was made by our own @sliminal and eerie. 28 :slim: reacts

I'm delivering tremendous value in the enterprise Slack

29.10.2025 20:43 β€” πŸ‘ 8    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

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?

20.10.2025 23:09 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Dining philosophers problem - Wikipedia

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...

18.10.2025 18:44 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Andrej Karpathy shown mid-speech, caption underneath saying "it's over"

Andrej Karpathy shown mid-speech, caption underneath saying "it's over"

18.10.2025 04:21 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Copy-pasting from Stack Overflow was the OG vibecoding.

16.10.2025 21:35 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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

15.10.2025 00:22 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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.

15.10.2025 00:22 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
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.

We open sourced a read-through cache for S3, called Cachey github.com/s2-streamsto...

14.09.2025 18:01 β€” πŸ‘ 39    πŸ” 10    πŸ’¬ 1    πŸ“Œ 1

(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!)

10.09.2025 03:50 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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.

10.09.2025 03:50 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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.

πŸ€·β€β™‚οΈ

10.09.2025 03:50 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
You Have to Feel It

mitchellh.com/writing/feel...

31.08.2025 03:42 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

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)

23.08.2025 17:11 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
The Best New Programming Language is a Proof Assistant by Harry Goldstein | DC Systems 006
YouTube video by Antithesis The Best New Programming Language is a Proof Assistant by Harry Goldstein | DC Systems 006

Neat talk about Lean, specifically focusing on its metaprogramming capabilities!

www.youtube.com/watch?v=c5LO...

23.08.2025 17:11 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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.

23.08.2025 16:51 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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.

23.08.2025 16:51 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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.

23.08.2025 16:51 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

For /most/ code I've written in industry companies, side effects (writing logs, emitting metrics, making queries, sending requests) are the *bulk* of the real work being done. Not a small fraction.

So treating them as "exceptional" feels off.

23.08.2025 16:51 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

But on the other hand, trying to formalize this distinction in the type system seems to make language less ergonomic for new users.

23.08.2025 16:51 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

On one hand, splitting code with and without side effects is a great way to make programs and libraries easier to reason about. 100%.

Functions without side effects are easier to unit test. Putting side effects into dedicated functions often makes it easier to write/use test mocks.

23.08.2025 16:51 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

These days I feel mixed when folks talk about how great it is when a language makes it clear when functions have side effects. (1/n)

23.08.2025 16:51 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

There are only two types of people in this world: weirdos and closeted weirdos.

15.08.2025 07:56 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@rybickic is following 19 prominent accounts