Hey @sockpuppet.org @fly.io, just wanted to flag that the flydotio Twitter account appears to be hijacked and is spreading crypto coin spam. I can't DM on bsky sadly, sorry for the public message.
Hey @sockpuppet.org @fly.io, just wanted to flag that the flydotio Twitter account appears to be hijacked and is spreading crypto coin spam. I can't DM on bsky sadly, sorry for the public message.
Ghostty is great but I am too reliant on iTerm's tmux integration so I'm switching back for now :|
Since 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...
I 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.
Consider 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.
I 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.
Incredible pun. Hat tip and π«‘.
Pleas 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.
I actually have a proposal for something like that. github.com/golang/go/is...
Oh 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
- 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.
I 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.
I 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.
Thatβs actually genius hahaha
Amazingβ¦ One of our competitors just copies our docs for features weβve built and they havenβt yet. Basically selling through.
Excitement intensifies!!!
Whoβ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?
@dr-axel.de you might find this interesting after your recent post on enums too π
I 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.
I love TypeScript so effing much. Iβm laughing so hard at the commitment to the bit.
I did this with `uvx posting` yesterday and it was soooo magical!
Oh and if I recall correctly, @thedsp.bsky.social mentioned that he worked on LSPs before creating MCP so there's lineage there I guess.
Maybe @ssalbdivad.dev can tell you more about @ark/attest
github.com/arktypeio/ar...