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!?"
In the next chapter of "things that I somehow didn't know about after a decade of professional work in software engineering but which turn out to be super nice", this week I learned about worktrees in git and my repo management will never be the same.
January 8, 2026 at 7:01 PM
Another year, another 30 minutes of searching for a random streaming app that I haven't already used for a free trial to watch the Rockin' New Year's Eve show and then promptly cancel afterwards.
January 1, 2026 at 3:59 AM
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