Gabriel Lebec
banner
glebec.bsky.social
Gabriel Lebec
@glebec.bsky.social
Developer, instructor, artist. #TypeScript, #Haskell, #LambdaCalculus, & #nihonto. The opinions stated here are my own, not those of my company.
Pinned
"It's called a merge commit, Marty! It's a directed acyclic graph! We need to bisect and revert, and then use interactive rebasing possibly with a cherry-pick. What aren't you getting about this!?"
YouTube has a *completely broken* feature which more or less ruined my feed. Basically, if you hover preview a video, by default it records that as having watched the entire video in your history. This drastically messes up recommendations. The only available option is to disable previews entirely.
November 8, 2025 at 4:10 AM
How have I been writing web apps for money for like a decade and I never knew of IndexedDB before? 🤯
August 7, 2025 at 11:10 PM
Performant CSS animation mini-technique: if you want to animate a sliding content reveal, where content below gets smoothly pushed down, don't transition `height`. Instead, use CSS grid with `grid-template-rows: 0fr` -> `1fr`. (This is also covered neatly in css-tricks.com/css-grid-can...)
August 1, 2025 at 2:41 AM
PSA: `git-spice` by @abhg.dev is a really good free alternative to certain paid PR stacking tools.
July 7, 2025 at 8:59 PM
There are a lot of surprising subtleties in defining precise TypeScript types for dealing with JSON. Vals which:

- can be `JSON.stringify`'d without error
- ...and actually return a string (instead of undefined)
- ...and can be converted back without key loss
- ...or data loss
- ...etc.
June 30, 2025 at 1:21 AM
Wire nuts are dead, long live WAGO connectors.
February 7, 2025 at 5:00 AM
"It's called a merge commit, Marty! It's a directed acyclic graph! We need to bisect and revert, and then use interactive rebasing possibly with a cherry-pick. What aren't you getting about this!?"
January 20, 2025 at 7:17 PM