

Fixing the typo (‘damage’ instead of ‘damaged’) would’ve gone a long way.


Fixing the typo (‘damage’ instead of ‘damaged’) would’ve gone a long way.


It’s way too easy to not see the assumptions you make when writing code. Having a mouse, usining a QWERTY layout, screen size over a certain width, … and it’s so fucking annoying to be on the receiving end of these assumptions. I feel you.


For 150 basically random strings I wouldn’t trust AI to not drop one or invent one or slightly change one. In this case multiline editing would be my go-to solution, hands down.


Why 2TB? Why during startup? Why does cryptography free the heap? Why is the data stored off-site?
So many questions!
There are morons on both sides. Some refuse to read, others refuse to provide information in a way that’s accessible without C.S. degree.
The average person is a moron. If a dev fails to provide information comprehensible to a moron, they are a moron, too.


From the project’s README:
Also note that the python visualizer tool has been basically written by vibe-coding. I know more about analog filters – and that’s not saying much – than I do about python. It started out as my typical “google and do the monkey-see-monkey-do” kind of programming, but then I cut out the middle-man – me – and just used Google Antigravity to do the audio sample visualizer.
This is the commit: https://github.com/torvalds/AudioNoise/commit/93a72563cba609a414297b558cb46ddd3ce9d6b5


Exactly my experience.


If the CPU or the memory were the problem, why wouldn’t Windows have issues?


I’m also in the “cursed hardware” camp. Whenever the support for my OS runs out, I usually need to try 2 or 3 distros to find one where everything works out of the box. It’s a bit annoying, but doable on a rainy afternoon.


NVIDIA? NVIDIA of “Fuck you, NVIDIA” fame?


In VSCode, for instance, the middle mouse button adds extra cursors. Which is very annoying if it also pastes.


TBH, I’ve seen this cause more confusion in people than being considered helpful. Ctrl+V/Cmd+V are universally understood and behave predictably. Middle mouse click not so much. (Did you know there are two clipboards on Linux and MMB only pastes from one of them?)


First do it, then do it right, then do it better. Get the ugly prototype in front of users.
I tend to agree with that one. I’ve heard it phrased “Don’t ask users what they want. They don’t know. Just give them something to work off of, because they most definitely know what they don’t want”.
But there’s a catch that I’ve seen twice now: If a feature doesn’t work correctly when you present it, users lose trust and avoid it. That could mean they use the ‘long way around’ when creating entities instead of just copy/pasting them, or that they unnecessarily refresh web pages instead of trusting the state that’s displayed to them.
Even when you tell them that their behaviour is … not optimal, they stick to it.
Soo… Some characters are not valid in URLs (or not used for other reasons) and must be replaced. In this case, the + is percent-encoded to %2B, which renders Loss_(Ctrl+Alt+Del) as Loss_(Ctrl%2BAlt%2BDel), which is a perfectly fine URL (cut off the front for clarity).
Hower, something on the client (OS, browser) then seems to look at that URL and think that the percent sign cannot be there and encodes that again to yield Loss_(Ctrl%252BAlt%252BDel).
When Wikipedia looks at this and tries to figure out the page to load, it de-encodes that string back to Loss_(Ctrl%2BAlt%2BDel) and seems to stub its toe on the %2B, if @SpaceNoodle@lemmy.world is to be believed.


That really tells you what they think of you.
The “bypasses” your first link talks about are mostly ways of telling the compiler about types. If I make an HTTP request, how is TypeScript supposed to know of the return type of some arbitrary API? That’s where as Foo comes in. If that makes a language not type safe to you, then you must also throw out the types in Java’s variable declarations.
Quite a few more of these ‘bypasses’ fall into the category ‘garbage in, garbage out’. If you declare a string index on an object that does not, in fact, return a value for every string passed, what do you expect the compiler to do about it? This is easily fixed by declaring the proper type Partial<{[key: string]: T]>.
If you declare a variable as an Integer and then let the database driver write a Person reference into that variable, Java will fail in the same way.
Some of these bypasses are just lies, like “delete operator - Remove required properties”. You cannot delete a mandatory property from a type.
One thing I grant you that I was reminded of while reading that article is this: Some constructs are simply not expressible in TypeScript (that I know of). For instance, an object that serializes to valid JSON. That could be used to introduce type-unsafety (or whatever the correct term is).
From your second link:
TypeScript is indeed type-safe
Thanks for disproving yourself, I guess.
The medium article contains good examples, if a bit contrived. Thanks for digging that up.
10MB? Oh no! How is this going to fit on my 1TB drive?
What you’re describing is not really an ‘any’ type in the code but garbage data. No language is going to save you if you read a file expecting a character but it’s actually an int.
I wish people downvoting literal case studies would at least give a reason…
Reminds me of the time my whole website started spinning because I forgot to close a tag.