Ghostty is great but I am too reliant on iTerm's tmux integration so I'm switching back for now :|
27.05.2025 10:00 β π 1 π 0 π¬ 0 π 0@disintegrator.dev.bsky.social
Confused and coding. Building code generators @speakeasy.com.
Ghostty is great but I am too reliant on iTerm's tmux integration so I'm switching back for now :|
27.05.2025 10:00 β π 1 π 0 π¬ 0 π 0Since we're not going to get keyword arguments in @golang.org in the foreseeable, I've become very invested in using type definitions to "brand" common types in our codebase e.g. string, int, uuid.UUID and so on...
15.05.2025 21:58 β π 1 π 0 π¬ 1 π 0I think it has super interesting uses that were tedious to pull off in the past. Hereβs one way I take advantage of it.
blog.disintegrator.dev/posts/clean-...
It would be so cool if @pnpm.io could support single file scripting the same way `uv` does including specifying dependencies in at the top of the script file.
docs.astral.sh/uv/guides/sc...
There are 2 kinds of structs in a codebase: 1. structs that act as configuration/options for components in the system and 2. structs that carry state to/from DBs, to/from http endpoints, etc... In the case of 1. there is some affordance for unset fields but with 2. it can be really bad to miss one.
15.04.2025 13:21 β π 0 π 0 π¬ 0 π 0Consider what happens to code shown below when a new field is added to the ProductResult struct. To compound the problem, imagine a larger codebase where you're creating `ProductResult` values in a few places. Similarly imagine adding a field to `Product` and forgetting to fill it out before INSERT.
15.04.2025 13:11 β π 0 π 0 π¬ 1 π 0I now firmly believe that the zero value concept for structs in @golang.org does more harm than good and have taken to running the exhaustruct linter through golangci-lint to prevent me from ever accidentally relying on it. I might write a post about this some day.
15.04.2025 12:50 β π 1 π 0 π¬ 1 π 0Incredible pun. Hat tip and π«‘.
15.04.2025 12:45 β π 3 π 0 π¬ 0 π 0Pleas hire Adam so he can keep making incredibly content and educate the rest of us. If Iβm at all good at CSS, itβs because of him.
11.04.2025 19:18 β π 0 π 0 π¬ 0 π 0I actually have a proposal for something like that. github.com/golang/go/is...
07.04.2025 21:58 β π 2 π 1 π¬ 1 π 0Oh my, that is spot on haha! Thanks for sharing :)
Here's hoping it gets more eyes.
Code snippet: foo := { "Name": "Georges", "Employer": "Speakeasy", } type Person struct { Name string } type Employee struct { Name string Employer string } p := foo.(Person) e := foo.(Employee) fmt.Println(p.Name, e.Employer) // all good
I wonder if Go could benefit from object literal syntax that can be late-bound (if that's even a word) #golang
07.04.2025 20:00 β π 2 π 0 π¬ 1 π 0- Classes are confusing when used as types. Not nominally typed and you can mistakenly pass a compatible literal object.
- Classes cannot be augmented like interfaces iirc.
- Far easier to discriminate union of classes than union of object types that donβt have a natural discriminator key.
No corepack? No problem, mise and aqua are here to make life easier. You can have different versions in different repos and mise will switch to the right ones automatically. And I haven't gone into how useful mise tasks are - so much better than `make` and npm scripts.
20.03.2025 15:32 β π 1 π 0 π¬ 0 π 0I love the evolution of projects like TanStack Query where stewardship is shared/passed over to deeply aligned & invested folks. The way Query passed hands from Tanner to Dominik and the project only continued to thrive is inspiring. similar great examples on the Vue/Vite/VoidZero side of the world.
19.03.2025 12:59 β π 2 π 0 π¬ 1 π 0I thought about this and I couldnβt come up with an example where open governance wasnβt ceased by big players or used to greatly slow down progress on an otherwise great project. I also donβt think Iβm looking hard enough for counter-examples. To me @tanstack.com is setting an important standard.
19.03.2025 12:54 β π 1 π 0 π¬ 1 π 0Thatβs actually genius hahaha
19.03.2025 03:23 β π 1 π 0 π¬ 0 π 0Amazingβ¦ One of our competitors just copies our docs for features weβve built and they havenβt yet. Basically selling through.
18.03.2025 23:26 β π 2 π 0 π¬ 1 π 0Excitement intensifies!!!
06.03.2025 09:36 β π 1 π 0 π¬ 0 π 0Whoβs the best Python developer you know thatβs looking for a job? You knowβ¦ the sort that sets all
linters to strictest and has their finger on the pulse of the ecosystem. I want to meet them.
Waaaaaait what? Are we going to be able to support SSE APIs and various AI libraries with this?
06.03.2025 02:08 β π 4 π 0 π¬ 1 π 0@dr-axel.de you might find this interesting after your recent post on enums too π
02.03.2025 17:11 β π 3 π 0 π¬ 0 π 0I wrote about the main feature of @typescriptlang.org enums that I'm going to miss: TSDoc support on enum members. I hope the TypeScript team can port this over to union members as more folks migrate towards string unions instead of enums.
blog.disintegrator.dev/posts/ode-to...
Screenshot of the Exhaustiveness Checks section of Axel's blog post on TypeScript Enums
A great tip with exhaustiveness checks using switch blocks is to add a `value satisfies never;` expression to the default branch. This adds a compile time check and you'll spot that you missed a case in your IDE. Demo:
tsplay.dev/w2y48W
The Event Destinations Initiative is a community effort aimed at creating a model for event interoperability between event producers and their consumers.
27.02.2025 14:19 β π 7 π 2 π¬ 1 π 1I love TypeScript so effing much. Iβm laughing so hard at the commitment to the bit.
26.02.2025 23:50 β π 3 π 0 π¬ 0 π 0I did this with `uvx posting` yesterday and it was soooo magical!
26.02.2025 21:34 β π 3 π 0 π¬ 0 π 0Oh and if I recall correctly, @thedsp.bsky.social mentioned that he worked on LSPs before creating MCP so there's lineage there I guess.
26.02.2025 11:36 β π 0 π 0 π¬ 0 π 0Maybe @ssalbdivad.dev can tell you more about @ark/attest
github.com/arktypeio/ar...
Itβs such a small spec that itβs easy to pass over it in many instances but, when building a protocol, itβs a nice choice to lean on and focus on the actual messages that make up a protocol instead of having to invent another envelope format.
26.02.2025 09:35 β π 1 π 0 π¬ 1 π 0