Kristin's Avatar

Kristin

@wiredaemon

Formal Methods, Programming languages, Specifications. discord: wiredaemon she / her ๐Ÿณ๏ธโ€โšง๏ธ

168
Followers
98
Following
358
Posts
30.07.2023
Joined
Posts Following

Latest posts by Kristin @wiredaemon

hiii ๐Ÿ‘‹

01.03.2026 15:33 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

You're not showing up because you talk about cringe

I just don't post

We are not the same

28.02.2026 21:48 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Thanks for mentioning me. I might just concede at this point that I don't know how to social media lmao

26.02.2026 22:33 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Unfortunately true ๐Ÿ˜ž

26.02.2026 22:32 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Yess!!!

26.02.2026 22:32 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Apparently? I thought I was washed fr getting 33 at first.

19.02.2026 00:40 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Ok, i got a 33 on my first attempt but on my third i got this

19.02.2026 00:37 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0

How are you doing this? This seems insane to me.

19.02.2026 00:29 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Holy shit, how?

19.02.2026 00:28 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

you may have heard of model checking, but what about modal checking? (tool that just wildly clicks buttons that sound vaguely positive)

18.02.2026 08:52 ๐Ÿ‘ 5 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

some of the coolest PRs are those that grow in size to thousands of locs of addition and after some deliberation shrink to like, 200 locs addition and 100 locs subtraction

17.02.2026 08:56 ๐Ÿ‘ 7 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

same problem with transients in clojure. it can be a nightmare. if you find a good workflow, do tell.

16.02.2026 18:06 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

I think @astralabyss.m1em.gay has both atproto and clojure experience. I'm gonna be so audacious and ping her here ^^

16.02.2026 12:36 ๐Ÿ‘ 4 ๐Ÿ” 2 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

*cough* c++ devs writing everything themselves in a shitty way instead of using a library unless it's header-only *cough*

16.02.2026 09:21 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

when someone tells you you've changed, how do you even react?

I was inclined to just thank them and tell them it took a lot. But that feels inauthentic. I changed because I had to. And in part it's not like I wanted to either.

It was as easy or difficult as staying alive, and about as inevitable.

16.02.2026 00:44 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

instant relief surgery free hemorrhoids terminating gel made with authentic CUTTING EDGE GERMAN BIOTECHNOLOGY

lmao

14.02.2026 07:16 ๐Ÿ‘ 4 ๐Ÿ” 2 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 1

type propagation via go channels. distributed type checking with Kafka. Using Amazon sns / sqs for type checking in the cloud. Type checking as a service. Watch out, I'm going to publish an update for your unification variable. Help my skolem ended up in dead letter queue. I won't ack this type.

13.02.2026 18:14 ๐Ÿ‘ 20 ๐Ÿ” 3 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 1

Something i noticed in general where I see AI coding assistants struggle a lot: If you start with a certain style, it'll perpetuate it, seldomly going for the more robust, simpler, or plain better approach. Makes me worried for vibe code heavy projects that the quality can at best stay the same.

13.02.2026 18:03 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Solutions built on Communicating Sequential Processes are just so nice. Having to solve problems in this domain without it is such a pain.

13.02.2026 17:54 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 1

have you considered

private <S, T extends S> S generify(T t) {
return t;
}

/j

12.02.2026 09:51 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

if you look at List<T> as a type constructor, it should be able to specify that it is considered covariant in T, and forbid write access. If you want write access, you need contravariance, which could be its own type.

idk, invariance with generics is a pain and inheritance was a mistake.

12.02.2026 09:50 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

yeah! i'm saying that should work as well in the default case.

i know, covariance and contravariance is specified on the function, not the type, but like, why?

a function that can work with a List<SomeType> should have not problems working with a List<SubType> unless it does mutation.

12.02.2026 09:50 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Java will slowly, but surely, drive me insane one day.

How the hell is a List<? extends SomeType> not compatible with a List<SomeType>? as in, a function taking a List<SomeType> parameter won't accept a List<? extends SomeType> value.

12.02.2026 08:44 ๐Ÿ‘ 10 ๐Ÿ” 0 ๐Ÿ’ฌ 4 ๐Ÿ“Œ 1

I've started datamining the video game doll's nest. never done this before. It's a fun process!

12.02.2026 02:31 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Becoming increasingly weird on the internet (affectionate)

I've had my paranoia hat on for long enough. Gotta stop doing that.

12.02.2026 02:30 ๐Ÿ‘ 6 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Some people don't seem to understand what other people value. If you want to make an AI tool for some existing niche, it should *improve* UX.

E.g. why the fuck would i want to write a prompt instead of click a button?

10.02.2026 10:10 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

raw sql? I would never. I use Spring Boot, which supports JPA, which nicely abstracts over all databases.

Needless to say, I only write JPQL, unless i need a postgres feature. Then I add "native = true" to my `@Query` annotations.

09.02.2026 20:36 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

angy clojure noises

07.02.2026 21:48 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Haskell does a special kind of type checking, which no other language does. But it's not overzealous ivory tower academics โ€” it's elegant and rigorous precision in action โšก

(/s in case that's needed)

05.02.2026 21:44 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

I'm more and more convinced that the main problem types can introduce is that they're not good general purpose specs, but will be used as such.

They're the allowlists approach, but once you want to specify illegalalities, e.g. "only even numbers", they quickly suck at modeling that.

04.02.2026 13:05 ๐Ÿ‘ 6 ๐Ÿ” 0 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0