Sign in

Kenton Vizdos

@kv.codes
66 followers 234 following 308 posts

Go & Lit (web components) Developer making cool things Technical Blog @ go.kv.codes/blog

PostsRepliesMedia
Kenton Vizdos @kv.codes · 13/07/2026
Another test.
000
Kenton Vizdos @kv.codes · 13/07/2026
This is a test.
100
Reposted by Kenton Vizdos
chloe 🐇 @sapphic.moe · 02/03/2026
this is so cool haptics.lochie.me
haptics.lochie.me
WebHaptics – Haptic feedback for the mobile web.
Haptic feedback for the mobile web.
1322446
Kenton Vizdos @kv.codes · 26/02/2026
Instead, create a browser extension that’ll show OTP codes sent to emails :-)
100
Kenton Vizdos @kv.codes · 14/02/2026
Takeaway: when you want a targeted update, treat it like a file-level import. Use git restore, keep main clean, and keep the change set small and auditable.
000
Kenton Vizdos @kv.codes · 14/02/2026
After running it, you still control what lands in main. Review the diff, run tests, then commit just that file change.
100
Kenton Vizdos @kv.codes · 14/02/2026
Command: git restore --source branch_name -- file_path This replaces the file in your current branch with the version from the specified branch.
100
Kenton Vizdos @kv.codes · 14/02/2026
Git can restore a file from another branch directly into your working tree. No cherry-pick, no merge commit, no rebasing gymnastics.
100
Kenton Vizdos @kv.codes · 14/02/2026
Scenario: you updated a file in a branch, but main only needs to update that one file. Merging the branch would pull unrelated commits, risk conflicts, and expand the review surface.
100
Kenton Vizdos @kv.codes · 14/02/2026
Needed one change from a feature branch, without dragging the whole branch into main? There is a clean Git move for that. Quick thread on copying a single file across branches, no merge required.
100
Kenton Vizdos @kv.codes · 13/02/2026
Takeaway: avoid shadowing predeclared identifiers (`nil`, `len`, `new`, `make`). Go allows it, but it creates code that is correct and deeply misleading at the same time.
000
Kenton Vizdos @kv.codes · 13/02/2026
Finally: ```go fmt.Println(x, nil) ``` prints something like: `<nil> a` `x` is still the real nil interface value. `nil` is your local string variable. Same token, different binding.
100
Kenton Vizdos @kv.codes · 13/02/2026
That comparison is false. `x` is a nil interface value, not a string. So the `panic(nil)` never runs, even though it reads like it should. If it did run, it would panic with `"a"`, because `nil` is your string.
100
Kenton Vizdos @kv.codes · 13/02/2026
So this line: ```go if x == nil ``` is no longer “is x nil?”. It is “is x equal to the string `a`?”. In other words, it becomes: ```go if x == "a" ```
100
Kenton Vizdos @kv.codes · 13/02/2026
After `nil := "a"`, every `nil` in that scope refers to your string variable, not the built-in `nil`. You did not change the language, you just hid the predeclared identifier behind a local name.
100
Kenton Vizdos @kv.codes · 13/02/2026
In this program: ```go var x any nil := "a" ``` `x` is the zero value for `any`, which is a nil interface value. Then you create a new variable literally named `nil`, holding `"a"`.
100
Kenton Vizdos @kv.codes · 13/02/2026
Go lets you do something that feels illegal: shadow `nil`. Yes, `nil` is not a keyword. It is a predeclared identifier, so you can redefine it in a scope, and the compiler will accept it.
100
Kenton Vizdos @kv.codes · 13/02/2026
Web Share API enables native sharing from the browser, via `navigator.share({ title, text, url, files })`. It returns a promise, so you can log success vs cancel. Implement feature detection and fall back to copy-to-clipboard for unsupported browsers kv.codes/post/Web-Share-API
kv.codes
Web Share API
A quick dive into the Web Share API: how it works, when to use it, and why it's surprisingly useful for modern web apps (especially on mobile). Includes code, fallbacks, and a few UX tips.
000
Reposted by Kenton Vizdos
Bruce Lawson @brucel.bsky.social · 22/12/2025
Masonry Layout is now grid-lanes css-tricks.com/masonry-layo...
css-tricks.com
Masonry Layout is Now grid-lanes | CSS-Tricks
It's settled! A new CSS display property keyword called grid-lanes will trigger a masonry layout mode.
1193
Kenton Vizdos @kv.codes · 09/12/2025
🔥🔥🔥
000
Kenton Vizdos @kv.codes · 11/11/2025
%q is game changer in very unique situations
110
Kenton Vizdos @kv.codes · 06/11/2025
real
120
Kenton Vizdos @kv.codes · 31/10/2025
I saw you’re post on self hosting Reddit, seems to have done well!! Congrats!
010
Kenton Vizdos @kv.codes · 28/10/2025
oh HECK YEAH
110
Kenton Vizdos @kv.codes · 18/10/2025
welcome to the dark side 😇
010
Kenton Vizdos @kv.codes · 26/09/2025
I’d guess it’s people asking “what’s Bruno?” when they see it 😅
000
Kenton Vizdos @kv.codes · 07/09/2025
0 OpenAPI and a few comments 🫡
000
Reposted by Kenton Vizdos
Filippo Valsorda @filippo.abyssdomain.expert · 14/08/2025
Just refreshed the whoami.filippo.io database. If you are one of the “lucky 10,000” who’s never heard of it, try $ ssh whoami.filippo.io
2426
Kenton Vizdos @kv.codes · 07/08/2025
linecon was an experience 😆 8pm-8am eeesh. I’ll probably go in a tad later next year ;)
020
Kenton Vizdos @kv.codes · 02/08/2025
try out just files next! make has a ton of useful stuff for detecting build changes, but with go, it’s not *as* big of a concern, so more simplistic justfiles work really well imo
110
Reposted by Kenton Vizdos
Tib3rius @tib3rius.bsky.social · 30/07/2025
Base64 encoding is everywhere on the web: in HTTP headers, JWTs, even in HTML. But what is it and how does it actually work? I break it down in my latest video! Watch now: youtu.be/8v4moossLXo
1205
Kenton Vizdos @kv.codes · 24/07/2025
Charge for an API Key. Devs can scrape, at least an API key you can track usage and charge appropriately 😉
010
Kenton Vizdos @kv.codes · 24/07/2025
I’ll Venmo u the last $5
110
Kenton Vizdos @kv.codes · 14/07/2025
The untold truth about Sentry? It's an amazing tool. Getting users to click the "Report a bug" button? Hardest challenge in life.
000
Kenton Vizdos @kv.codes · 11/07/2025
Honestly dunno, I haven’t used either enough! 😅 I like the hands-on-code bit of motion canvas, though.
010
Kenton Vizdos @kv.codes · 11/07/2025
Quite nice! I’ve always been curious about how to make those nice lines between things.. how are you making that happen? Is it a chart?
110
Kenton Vizdos @kv.codes · 09/07/2025
ah yes, the big conundrum of using Snappify or code it up in motion canvas 😩
110
Kenton Vizdos @kv.codes · 09/07/2025
TIL about the rabbit hole that is HLS! 🫨
020
Kenton Vizdos @kv.codes · 09/07/2025
Correlation events, because why not! 🤩 “What caused that massive spike in downloads? Oh, a spike in Bluesky refereed downloads that day”
100
Kenton Vizdos @kv.codes · 08/07/2025
“Insightful” feels more actionable.. I can do things with insights; can’t do much with power (well…)
010
Kenton Vizdos @kv.codes · 08/07/2025
I like the contrast of “yet”. But “simple and insightful” also works 😅
110
Kenton Vizdos @kv.codes · 08/07/2025
I agree. Taking a closer look at the video, a few things are interesting: - it never finishes loading - even once loaded, a cache is used. Clicking refresh does a hard pull. I modified my internal user filter as a demo. Solution here is probably “let it load, then click reload if still persists”
020
Kenton Vizdos @kv.codes · 08/07/2025
Somewhere, a Sentry (or ehm PostHog error capture) hopefully triggered
010
Kenton Vizdos @kv.codes · 08/07/2025
PostHog, usually it’s better than this 😅
120
Kenton Vizdos @kv.codes · 08/07/2025
I read up on a bunch.. I like how just is just a command runner, not a full build tool imo. I don’t believe Go gets much benefit from file-awareness. Might be helpful for building frontend? My prod is built in ci docker, though. Plus, “just run” is way more fun than “task run” 😝
000
Kenton Vizdos @kv.codes · 08/07/2025
justfiles are so nice 😀 makefiles, but better. and more go. #golang
100
Kenton Vizdos @kv.codes · 06/07/2025
border: 1px solid red is the biggest css cheat code
110
Reposted by Kenton Vizdos
Rob Bowley @robbowley.net · 05/07/2025
Every slide in @charity.wtf's deck "In praise of normal engineers" is a banger speakerdeck.com/charity/in-p...
speakerdeck.com
In Praise of "Normal" Engineers (LDX3)
The software industry is obsessed with hiring and recruiting “top talent”, “best of the best”, “10x engineers”, and so on. I think this obsession misund&hellip;
48522
Kenton Vizdos @kv.codes · 05/07/2025
throw in a manifest.json and you’ve GOT an app !
010
Kenton Vizdos @kv.codes · 05/07/2025
this seems like such a good conference, hopefully one year I’ll be able to go!
110