I’m not sure if you would classify this as a “social media platform”, but imagine a federated MMO. Each server could specify its own rules for things like XP and drops, allow or disallow mods among its playerbase, or even have custom items and quests - but in certain areas (ie “in town”) all of this stuff would be disabled so that players from multiple different servers could all interact. You could choose a server based on whether you like a high pop or a low pop experience, temporarily try other servers out by partying up with someone from it, major guilds could run their own servers with their own events and stuff, and so on. Admins would want to defederate from poorly-moderated servers, servers with cheaters or with mods/rules that they think disrupt the experience they’re after, or whatever other reason.
That’s pure nonsense. Types don’t tell you that your code is correct, they just tell you that your types align. Here’s a perfect example of where the mentality that if it compiles, ship it leads you in practice.
Haskell bro wrote a benchmark comparing Haskell with C implementation of websockets. The initial results looked extremely favorable for Haskell. However, it turned out that the Haskell implementation failed to deliver messages reliably, dropping 98% of the messages it received.
Furthermore, static typing is that it’s inherently more limiting in terms of expressiveness because you’re limited to a set of statements that can be verified by the type checker effectively. This is a subset of all valid statements that you’re allowed to make in a dynamic language.
So, a static language will often force you to write code for the benefit of the type checker as opposed to the human reader because you have to write code in a way that the type checker can understand. This can lead to code that’s more difficult to reason about, and you end up with logic errors that are much harder to debug than simple type mismatches. People can also get a false sense of confidence from their type system as seen here where the author assumed the code was correct because it compiled, but in fact it wasn’t doing anything useful.
At the same time, there is no automated way to check the type definitions themselves and as you encode more constraints via types you end up with a meta program describing your program, and there is nothing to help you know whether that program itself is correct. Consider a fully typed insertion sort in Idris. It’s nearly 300 lines long! I could understand a 10 line Python version in its entirety and be able to guarantee that it works as intended much easier than the Idris one.
Doesn’t it bug you that the LMDE logo in neofetch has the top line messed up? I have all my local systems patches and there is a PR up on their repo for it.
When I was in high school, before smartphones, I would sit on the left side of the classroom, put my flip phone in my left hand next to my thigh, and play Tetris one handed. I’d have my pencil in my right hand to make it look like I was taking notes and would pause periodically to look up and look like I was paying attention. It got me through the vast majority of classes haha.
I had a game watch around 5th grade. It was LCD and had a tiny little joystick at the bottom of the screen. It would play imitations of games like Pac Man and Space Invaders. Apparently I wasn’t ghosty enough because it got confiscated pretty quickly.
There’s never been a bad year for the Linux desktop. The share size doesn’t matter. So, yes, it is the year of the Linux desktop in my book and it has been that way for decades.
lemmy.ml
Top