Sign in

🍥kvndy

@kvndy.bsky.social
59 followers 88 following 595 posts

Unaffiliated ex Mondo Kim’s. Called “Unemployable” by Marc Maron. Writing a chess web app for you and your robot friend

PostsRepliesMedia
🍥kvndy @kvndy.bsky.social · 28/07/2026
A.I. generated images with obvious latent space artifacts, of chess pieces and the word vibe of varying legibility
020
🍥kvndy @kvndy.bsky.social · 21/07/2026
Sunflower Lecithin dramatically reduces the frequency and severity of iatrogenic seizures
010
🍥kvndy @kvndy.bsky.social · 17/03/2026
You are an expert artist from the Japanese collective Jikken Koubou. Form follows function. The medium is the message. Be curious
000
🍥kvndy @kvndy.bsky.social · 17/03/2026
Chess notation doesn’t just predate the personal computer, it predates the Leyden jar chess-teacher.com/history-of-c...
000
🍥kvndy @kvndy.bsky.social · 16/03/2026
There is no Relative Animation skill 😥 There is no Relative Animation skill 😍
The bus passengers meme
000
🍥kvndy @kvndy.bsky.social · 16/03/2026
Kind of embarassing to admit but I only just recently replaced `execCommand` for textarea undo/redo with my own undo management library. Works well except I still haven’t figured out how to preserve scroll position after the window is resized
001
🍥kvndy @kvndy.bsky.social · 14/03/2026
Our blessed frontend / their barbarous backend
000
Reposted by 🍥kvndy
Adam Argyle @nerdy.dev · 07/03/2026
how to make #CSS view transitions swoop or have motion blur or how I learned to help view transitions not always go in straight lines ⤷ nerdy.dev/swoop-there-...
nerdy.dev
View Transitions can swoop‽ · March 7, 2026
How to make View Transitions not always a straight line
56811
🍥kvndy @kvndy.bsky.social · 05/03/2026
“Right side of history” www.einpresswire.com/article/8973...
einpresswire.com
Supermajority of American Voters Support Health and Medical Freedom, New Poll Reveals
A New Zogby Poll Reveals a Nation in Revolt against Mandates
000
🍥kvndy @kvndy.bsky.social · 02/03/2026
Fifteen years of forbidden animation openradar.me/12085417
openradar.me
rdar://12085417: Explicit Additive Animation - Bounds and Opacity
100
🍥kvndy @kvndy.bsky.social · 25/02/2026
www.chess.com/blog/Chessab...
chess.com
Rating Your Moves: Guess the Elo, Move by Move
When a chess game ends the outcome is simple: your rating goes up or down. The thoughtful buildup, rush decisions, small inaccuracies and big blunders are all condensed into one number. However, chess...
000
🍥kvndy @kvndy.bsky.social · 14/02/2026
I hope your robot likes the software I’m writing for it
A still from the movie "Interstellar" (2014) of a spaceship falling into a singularity
000
🍥kvndy @kvndy.bsky.social · 12/02/2026
Just published an update to undo-manager on NPM. Send your robot friend over if you want to preserve and restore presentational state (appearance) through the undo stack www.npmjs.com/package/@kvn...
000
🍥kvndy @kvndy.bsky.social · 09/02/2026
Memories. You’re talking about memories.
A still from the movie "Blade Runner 2049" (2017) showing a dimly-lit birthday party
000
🍥kvndy @kvndy.bsky.social · 08/02/2026
epoch.ai/benchmarks/c...
epoch.ai
Chess Puzzles
100 novel puzzles, generated programmatically with a chess engine. Each puzzle has a single best next move.
000
Reposted by 🍥kvndy
Bramus @bram.us · 29/01/2026
🎉 Yay, I got the glitches fixed! (*) The solution was to do less. No more copying of animations from one element onto the other, I simply directly apply them on the ::view-transition-group(box). (*) In Firefox. Both Chrome and Safari already were (and still are) glitchy :-/
1103
🍥kvndy @kvndy.bsky.social · 28/01/2026
Retargetable View Transitions might become reality! I’ve sort of slacked off on my attempt, but now it’s getting the attention it deserves. Absolute best news ever:
030
Reposted by 🍥kvndy
Bramus @bram.us · 27/01/2026
Here’s an updated version of that first demo, using a technique @kvndy.bsky.social taught me: relative animations. The path the dot follows is much smoother now as it doesn’t get interrupted at its mid-flight location but, instead, the new animation gets added to the existing ones. However …
161
🍥kvndy @kvndy.bsky.social · 28/01/2026
The probability distribution of Todo List applications
000
🍥kvndy @kvndy.bsky.social · 19/01/2026
Two pixels to the left
A screenshot from the movie "Blade Runner 2049" of the character named Luv getting a manicure
000
🍥kvndy @kvndy.bsky.social · 11/01/2026
You are an expert prompt engineer
000
🍥kvndy @kvndy.bsky.social · 03/01/2026
Status update: yak shaving
A still from the cartoon "Ren & Stimpy" of a yak shaving
010
🍥kvndy @kvndy.bsky.social · 24/12/2025
Some chess apps insert a delay before replying with the next engine move, to align with user expectations and not bruise their ego
000
🍥kvndy @kvndy.bsky.social · 18/12/2025
Animation is a UI diff
000
🍥kvndy @kvndy.bsky.social · 17/12/2025
Once upon a time, the expected pattern for animating transforms was to start at zero instead of end, then set new values on completion. To prevent jumping to new start values on interruption, the workaround was to block or queue events just like with View Transitions today
000
🍥kvndy @kvndy.bsky.social · 10/12/2025
The former is now an antipattern. The latter is now an industry-backed best practice
100
🍥kvndy @kvndy.bsky.social · 10/12/2025
Imagine the code smell
000
🍥kvndy @kvndy.bsky.social · 09/12/2025
Once upon a time, the expected pattern for animating transforms was to start at zero instead of end, then set new values on completion. On interruption, devs would block or queue events to avoid jumping to new start values, just like what’s done with View Transitions today
000
🍥kvndy @kvndy.bsky.social · 17/11/2025
Added an optional boolean parameter to getComputedStyle in (my local copy of) Firefox that returns discrete, non-animated values when true. Next up is getBoundingClientRect but will be much harder gitlab.com/kevindoughty...
100
🍥kvndy @kvndy.bsky.social · 15/11/2025
Has localized change descriptions and coalescing for continuous inputs like sliders, unlike most of the other packages on NPM. Has a solution to preserve appearance and presentation unlike all of the other packages on NPM. Also signals 😘
000
🍥kvndy @kvndy.bsky.social · 15/11/2025
Updated undo-manager to use up-to-date dependencies www.npmjs.com/package/@kvn...
000
🍥kvndy @kvndy.bsky.social · 11/11/2025
View Transition animation starts from a transform of “None” and ends at a positive or negative value! Now I need to figure out how to reverse this. Pseudos need to be positioned at destination values. Exciting progress
100
🍥kvndy @kvndy.bsky.social · 10/11/2025
First deep dive into the Firefox View Transitions implementation. Pretty sure my math is correct re: subtract op, but elements scale to zero. First thought is pseudos have no layout/graphics transform, it’s entirely determined by animation, i.e. nothing to animate relatively to
100
🍥kvndy @kvndy.bsky.social · 10/11/2025
An entirely new way of animating interactions!
000
🍥kvndy @kvndy.bsky.social · 10/11/2025
An easing made from a log spiral around one is good for dragging codepen.io/kvndy/full/b...
A graph of a spring easing with y = 1 at t = 0 and y = 1 at t = 1, with many plots shaded from green to red, which extend y above 1, then below, then above, settling at 1 when green, and the opposite when red
000
🍥kvndy @kvndy.bsky.social · 09/11/2025
Can someone help me fit this into my header?
A still from "Le Voyage dans la Lune" (1902) of the crew asleep under the stars, moon, and planets represented as people
000
🍥kvndy @kvndy.bsky.social · 09/11/2025
Web app navigation should traverse states instead of locations, but the Navigation API is incapable. I tried. Believe me, I tried
100
🍥kvndy @kvndy.bsky.social · 08/11/2025
Don’t know what everyone is complaining about. My issue with Omarchy was that it has a screensaver 😱
000
🍥kvndy @kvndy.bsky.social · 07/11/2025
Once upon a time, the expected pattern for transforms was to start at zero instead of end, and set new values on completion. On interruption, devs would jump to start, block, or queue, just like what’s done with View Transitions today
000
🍥kvndy @kvndy.bsky.social · 06/11/2025
The best line of code I ever wrote
Firefox source code screenshot with a highlighted line "Procedure::Subtract => (-1., 1.)"
000
🍥kvndy @kvndy.bsky.social · 06/11/2025
If animations are additive and relative, they can be interrupted and retargeted without performing a style recalculation for current animated values, which happens on the main thread (even for transforms). They only ever need discrete start and end values
000
🍥kvndy @kvndy.bsky.social · 06/11/2025
Once upon a time, the expected pattern for transforms was to start at zero instead of end, and set new values on completion. On interruption, devs would jump to start, block, or queue, just like what’s done with View Transitions today. Can you guess where I’m going with this?
000
🍥kvndy @kvndy.bsky.social · 04/11/2025
Retargeting in Relative Animation doesn’t replace old animations with new ones that begin where they left off. All animations run to completion, using the easing function to blend together. In terms of the Trolley Problem, it takes both tracks simultaneously and EVERYBODY DIES
The standard trolley problem meme template
000
🍥kvndy @kvndy.bsky.social · 04/11/2025
Two theories I disregard without consideration are Simulation and Many Worlds
100
🍥kvndy @kvndy.bsky.social · 01/11/2025
A graveyard of failed scrolljacking attempts litter the internet, but this achieves what no others have. Scroll position isn’t changed, and final item position isn’t changed. Made possible by Relative Animation (animating additively to zero) and a Push Easing (from one to one)
100
🍥kvndy @kvndy.bsky.social · 01/11/2025
Scrollbar drag and two-finger scroll have been fine tuned. Bug with touchstart between items still remains
100
🍥kvndy @kvndy.bsky.social · 01/11/2025
Tonight’s haul
A single Swedish Fish in its plastic wrapper
000
🍥kvndy @kvndy.bsky.social · 31/10/2025
Not Halloween themed and there’s still a few bugs and fine-tuning needed, but I released a scrolljack example codepen.io/kvndy/pen/bN...
100
🍥kvndy @kvndy.bsky.social · 31/10/2025
You talkin’ to me? You talkin’ to me? You talkin’ to me? Then who the hell else are you talkin’ to? You talkin’ to me? Well, I'm the only one here. Who do the f*** do you think you're talking to?
The Neo robot from their PR video looking down from above
000
🍥kvndy @kvndy.bsky.social · 30/10/2025
The problem is the same as always. I only ever need discrete, non-animated values, but here animated values (completely unnecessary style recalculations) are interfering with scroll bar position and length calculation when dragging
100