(Jason) Gedge
banner
gedge.ca
(Jason) Gedge
@gedge.ca
he/him

👨‍💻 Unemployed, exploring everything.
🎼 Currently building https://github.com/thegedge/m8t
📽️ Live coding here: https://www.twitch.tv/thegedge
🕸️ Subscribe to my feed @ https://gedge.ca
📈 Be a little better each day
Mouse events in the terminal 🐁 🎉
December 24, 2025 at 6:09 PM
Testing the wonderful world of async (generators) is WILD.

I had a bug where the last epoch of a component would not render when there were two adjacent yields in an async generator with no `await` in between.
December 23, 2025 at 8:33 PM
A lesser-known work by Mondrian: "reimplementing flex box"
November 30, 2025 at 6:16 PM
🤔
November 26, 2025 at 4:31 PM
I like to educate as I live code, and one thing I talk about is how it's best to avoid obvious comments and focus on documenting the "why", or really anything implicit / unclear.

github.com/mozilla-fire... is a good example of an unnecessary comment that wastes energy (many devs _will_ read it)
November 25, 2025 at 5:15 PM
Now with proper borders!

Took a while to get here because I was over-engineering… I was trying to support varying border widths, and wow is that gonna be a pain.

I may consider filling in the borders, but for now I'm happy with this.

Now I just need to add in padding/margins, then we're cookin'
November 23, 2025 at 7:39 PM
Refactored my flex layout algorithm to be closer to the specification (www.w3.org/TR/css-flexb...). In particular, how the various dimensional constraints (e.g., auto height) are incorporated.

I think we're now in a better place moving forward :)
November 20, 2025 at 5:53 PM
I've been doing A LOT of work to prep for richer TUIs, input events in particular, so not many (visual) updates, but I finally got a really nice key event system in place. Here's a list component
November 17, 2025 at 7:18 PM
November 11, 2025 at 4:17 PM
And now we're responsive! Not amazing — for example, things flicker because we don't track which parts of the screen to change and instead erase most of it — but we're headed there :)
November 9, 2025 at 6:31 PM
It's been a lot of fun to do this though. Currently tying up my implementation of something akin to a flex box on the web, and it feels good when you switch to `alignItems: "center"` and it works without any tweaking!
November 7, 2025 at 7:28 PM
Debugging layout algorithms and rendering for a TUI = plus signs, vertical bars, and hyphens everywhere
November 7, 2025 at 7:23 PM
TFW you write out something correct and Cursor's autocomplete wants to rewrite it to something wrong.
October 29, 2025 at 4:44 PM
TFW you're working on something to parse ANSI escape sequences and a failing test emits those escape sequences without the "reset" bit, so all of your terminal output is now a hyperlink
October 24, 2025 at 6:16 PM
I can't say this enough: we've wasted so many $$$ on garbage tech "innovation" and prob could have made life better for so many humans if we actually spent a small percentage of that money on things that more directly benefit people, paying back long-term.

Myopia is a primary bigwig trait though.
October 23, 2025 at 3:41 PM
Me asking Cursor's LLM chat to help me find undocumented functions 🤦‍♂️

I only post a small sample, but my experience with Cursor's chat is ~10% success, ~20% of "ugh, okay, I'll clean up the mess", and the rest is bad.

I continue to be shocked at Cursor's valuation. We've set the quality bar SO LOW.
October 21, 2025 at 4:37 PM
I don't know how I pulled it off, but really wanting to hit my sub-4 hour goal allowed me to go from ~5:50/km to ~5:20/km in the last few kilometres. I'd like to thank Dragonforce's "Through the fire and the flames" for the high-energy push on the home stretch.
October 20, 2025 at 6:11 PM
literally no one:
cursor's autocomplete, if I were to "vibe":
October 9, 2025 at 4:48 PM
Saw this today when I (doom)scrolled through LinkedIn. This shouldn't be what we celebrate. If an employee at your company has to miss their once in a lifetime celebration, in my opinion, you've failed to build a company worth working for.

But, hey, at least the shareholders are happy, right?
October 9, 2025 at 2:52 PM
Seems like a huge oversight that `Array.isArray` doesn't narrow a readonly array type 🤔
October 2, 2025 at 5:17 PM
Another fun one today! Once I tidied up some CSS — font sizes and switching away from zoom to transform, in particular — I was able to quickly (just a couple of minutes!) create an overview mode for my presentation framework 🎉

I've been wanting this to quickly assess any (visually) broken slides.
September 26, 2025 at 6:39 PM
Spotify nailed the kind of Thursday morning vibe I'm looking for. I _know_ I can channel grandmother energy this morning.
September 25, 2025 at 1:49 PM
I just added a search feature to my website, entirely frontend, with a lazy-loaded index (<200kb gzipped). I had a lot of fun building it, even though it will probably never be used 🙃
September 21, 2025 at 7:34 PM
September 17, 2025 at 7:00 PM
I have to eat basically an extra days worth of food today. HOW?!

BRB while I go bathe myself in tub full of bacon cheeseburgers.

(Jokes aside, I'm very proud of this run. It's my longest so far. I'm also very hungry.)
September 17, 2025 at 6:57 PM