1 day ago:pava1::pava2: :pava3::pava4:HACKER TEENBecause everyone at the Birdsite seemed to like this feature now, I made some code and ... released tootchains! 1 day ago:pava1::pava2: :pava3::pava4:HACKER TEENNow anyone can just post multiple posts at once! 1 day ago:pava1::pava2: :pava3::pava4:HACKER TEENJust kidding. Though, I can effectively have any object I want.Read more

High school: I can’t believe it’s sixth period already
College: I can’t believe it’s Friday already
20s: I can’t believe it’s the end of the month already
30s: I can’t believe it’s December already
Soon: I can’t believe it’s a new decade already

BORN TO SCHEME
OOP IS A FUCK
CURRY EM ALL 1989
I AM TRASH FUNCTION
289,858,919,123 TAIL CALLS

the point is, I'm a dumbass, help me find tools that'll tell me in which exact ways I'm being a dumbass in protocol design, kthx

Show thread

wait fuck TLA+ isn't the tool I was thinking of, *handwave* process calculus or something, urgh

Show thread

I know of tools like TLA+ for modelling protocol interactions between agents, and all I'm adding here is a notion of (derived) knowledge, and I strongly doubt I'm the first to want this.

Show thread

dear formal methods folk, is there a convenient tool for modelling agent-knowledge in (cryptographic) protocols that I should know of?
I've been playing around in Prolog a little (see image), but I'm sort of drawing a blank on how I'd properly model this. mastodon.social/media/5xooGPOV

hey lazyweb, I'm looking for recommendations on free/libre UI mockup software
preferably stuff that looks more sketch-like, I'm not trying to depict the polished final product, because that tends to inhibit critique

what makes this all even funnier is that I'm starting to see a lot of the value of XML's extensibility mechanisms
sure, the attr/tag distinction is iffy, but namespaces and DTDs were an incredibly good move

Show thread

current status: being way too entertained about how we're reinventing failed big dreams of the past with JSON instead of XML

I'm pretty shocked at how expensive internet pharmacies are? These folks must be making incredible margins on this stuff

okay that was enough yammering about overly serious shit, what's up Mastodon?

of course none of the synchronisation primitives actually compose well, other than channels (there's a single, rather inflexible `select` primitive)
so you end up reinventing a bunch of the `sync` package out of channels, or using additional goroutines to wrap them, though g'luck if you want cancellation in the latter case

Show thread

my favourite feature by far is the I/O / concurrency runtime: it's solid as heck, you don't have to argue with people using some other concurrency framework because there isn't anything else you could or would want to use (node sort of has this)

Show thread

I miss the shit out of Result/Either/etc style error handling, instead of having two nullable return values (no tuples, multiple return values!) that you get to check yourself
nor do you actually have any clue about what your errors look like at the type system level
enjoy your interface{Error() string} and checked downcasts

Show thread

it's not all sunshine, obviously: I spend a tonne of time thinking about data ownership due to the lack of immutability, checked thread-safety, etc
nullable everything is a fucking scourge even though you can sometimes make clever use of it
the lack of enums / tagged unions is the absolute fucking worst and I spend too much time designing data structures because of it

Show thread

I've found some value in the limited abstraction capabilities forcing me to build more concretely, instead of allowing me to build inappropriate abstraction boundaries with ease
It's really easy to mess that up in generic programming and never truly realise - I've been forced to clean up a lot of conflation of concerns early due to the lack of real generic programming.

Show thread

the uniformity in Go code and project setups also ensures external code is easy to adopt and treat as your own, and thanks to having really solid editor tooling, exploring external code is something I do often and with pleasure

Show thread
Show older
Mastodon

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!