1,461 karma · joined December 3, 2023
Electricity also wears down electronic components, so I think it also shortens the lifespan of your PC parts.
1. People who have no idea what decentralized is.
2. People who would try to figure exactly how decentralized something is.
If you are the latter, you would instantly question the data model of Bluesky and of Mastodon as well. If you are the former then that just sounds like a buzzword.
.zip .pdf .mp3
I'd like to thank Caribbean island of Anguilla for having a ccTLD that helps identify which websites aren't worth your time in one quick look.
Well that is kind of ironic, isn't it?
"Uses the personal information of the user to advertise"
Is 99.9% of all websites. So long as websites don't sell things, they will be having ads.
This includes Facebook, Instagram, Reddit, Twitter, Tumblr, Pinterest, Imgur, TikTok, Twitch, Youtube, etc. I think even Steam and other game platforms would fall into this category despite the fact they make money selling products. Naturally search engines also fall into this category.
Websites like HN are the exception, not the norm.
It's also disingenuous to say "a personal blog" would be exempt from this when most people don't have blogs in first place since they start microblogging instead. In fact, most people don't want to go through the trouble of maintaining their own blog, dealing with spam, hosting, hacking attempts, software updates, etc., when they can just use tumblr and pin the responsibility on the platform anytime something bad happens.
Eventually you'll get a chip implanted in your brain that just sends everything you see and hear to the cloud. Because why not? Privacy doesn't matter anyway!
and service B asks for a photo of your ID/face to give you access to your account
that's basically using the same password in two places except you will never be able to rotate your password.
How is the public supposed to know how the black box of an online service handles their data?
There is a mountain of code written in C that you can simply include in Zig without a wrapper dependency and without having to create the wrapper yourself.
Can I do that in C3 or Odin?
I think endianness is the footgun that Zig is solving, rather than Zig being the one introducing a footgun when you deal with endianness.
I was thinking about desktop OS's, actually.
You don't need to use that Windows API. You can just access any file you want. There is no reason a music player, for example, needs to access ~/Pictures. An arbitrary program requiring access to all your files is a huge red flag, but it's a red flag that users aren't allowed to see. Proper filesystem permissions would fix that.
I wrote a Python script to do it using xsetwacom, but I don't know if it would work for anybody else. I don't know if xsetwacom is only for wacom tablets, or if xsetwacom is only for X11 (I'm not on Wayland yet).
Media only gives you super-hearing.
By contrast it's pretty unlikely for buggy code to mess the length. Add an element? +1. Remove an element? -1. Number of elements larger than capacity? Allocate a new array. Not much room for error.
The null in a linked list is the null in the .next field, right? That's the way you would implemented linked lists independent of language. It's not the .value that is null.
A string is an array of characters (well, for characters representable in one byte at least) that has a specific value to represent the end of string.
It would be like if Int::MAX was reduced by 1 to make space for an Int:NUL constant that represented the end of an integer array. Or if you were creating your own ENUM, let's say for NORTH, SOUTH, EAST, WEST, and you added a fifth enumeration called Direction.NUL for use in arrays.
That isn't really a problem.
The problem with null-terminated strings is specifically what happens when you reach the end of the allocated array and there ISN'T a NULL character.
Every string function is designed to keep going until it finds the NULL character, so if a hacker gets rid of the NULL character, he can exploit pretty much any standard string manipulation function being used elsewhere in the program to manipulate whatever memory comes AFTER the string data structure.
No other data structure works like this. You can't mess this up in an array, because no function that manipulates arrays is just going to keep going until there is a null. That would be stupid because it would require users of the function to add a NULL to the end of their arrays before passing it to the function, so instead we just pass the size of the array to everything. Strings are the only data structure that assume there will be a NULL at end.
By the way, I read once that if you use UTF-32 every code point will be 4 bytes, constantly, but even then a single code point isn't necessarily a single character. Text is just complicated.