787 karma · joined March 26, 2023
Yeah, the prevailing notion in Sweden is now that Norway is so much better off that we swedes should declare war on Norway.
After which we promptly surrender, and all our problems become Norway's problems instead.
Do you have any experience at all with different charsets under the hood by the way?
There are examples of where people used encryption libraries in the wrong way and undermined the strength of the encryption (for example, CVE-2024-31497 in PuTTY).
A very big part of software development is dealing with leaky abstractions. We don't work with perfect black boxes. We need to understand enough of how things works in the lower layers to avoid problems. Note here that I wrote "enough", not "everything", or "write everything yourself".
I would not want a person writing software to handle charset conversion if he refuses to learn how the various encodings work, which charset will decode as another charset or not, etc.
What are the common pitfalls that the library must deal with?
How do you know how to evaluate them if all you know is "not UTF-8? Abort with error" ?
In the 1980s, we had a version of 7-bit ASCII in Sweden where the three extra Swedish vowels "åäö" were represented by "{}|".
So what might look like regular US 7-bit ASCII should be interpreted as the Swedish version if the text is in Swedish with "{}|" where "åäö" normally goes.
Write all software like NASA needs to do for spacecraft?
Let me know when anyone has developed a web browser to those standards.
But the point of the article is not the same thing as how well it achieved its goals.
>> We collectively discovered that we were underestimating the long term costs, by a lot, so its lustre has faded.
>> If you'd like to see why, read the HTML 5 parsing portion of the spec.
> Can you give a hint as to what the issue is that one should find reading a portion of the HTML 5 spec
I think the point was that the HTML 5 spec tries to parse all kinds of weird input instead of drawing a line in the sand and forcing the input to follow a simple format?
Me: "I'll make the program stop and ask the user."
Customer: "No. We have 10 million files. Start by using heuristics for batch processing."
The article doesn't say that you should. It clearly states that for many cases, the input format is known or explicitly stated in the input headers.
The article talks about cases where the input files are in an unknown input format. Even then, it states: "Perhaps there is a case to be made that csvbase's auto-detection should be a more explicit user interface action than a pre-selected combo-box."
But for the case where the requirements call for heuristics, the article then talks about how that can be done.
> at that point I'm writing an adapter to convert into UTF-8 JIT in front of my service.
And at that point you might need the advice in the article, right?
It depends on the requirements.
If you're hired by a company to convert millions of old textfiles, they might want you to do it as well as possible using heuristics without any human input as a starting point.
You can choose to never work on projects where you have to deal with files like that.
But there may come a day where you have to choose between not paying your rent or writing a tool that converts old textfiles to UTF-8. At that point, it's nice to have references on the internet on how other people have actually dealt with it and what works. "Abort with an error" is not very useful advice then.
I assume you mean "rip them", as in transcode to a different format?
In that case, you need a tool that takes the old input format(s) and convert them to the new format.
For text files, you'd need a tool that takes the old text files with various encodings and converts them to UTF-8.
Isn't the point of the article to describe how an engineer would create such a tool?
I took the article to be for people who would be writing that "standalone program"?
I have certainly been in a position where I was the person who had to deal with input text files with unknown encodings. There was no-one else to hand off the problem to.
Then it's no longer "someone else's problem".
It depends on the circumstances. It might be the least bad thing to do. Or not.
But that wasn't my point. I replied to this:
> I can assume the length of a meter or the weight of a gram
Sure, the length of a meter and the "weight" of a gram are both standardized. (To be very picky, "gram" is a mass, not a weight. The actual weight depends on the "g" constant, which on average is 9.81 m/s^2 on earth, but can vary about 0.5%.)
So if you know the input is in meters, you don't need to do any further processing.
But dealing with input text files with an unknown encoding is like dealing with input lengths with an unknown unit.
So while UTF-8 itself might be standardized, it is not the same as all input text files always being in UTF-8.
You can choose to say that all input text files must be in valid UTF-8, or the program refuses to load them. Or you can use silent heuristics. Or something inbetween.
It works much better for handling discrete integers.
Once you get into bitfield instructions it is nice to have bit 0 be the "left most bit".
If you're dealing with lengths, you can get input data in meters, centimeters, millimeters, inches, feet, etc.
If the input data is human heights, would you automatically assume meters even if the input data is "183"?
If the input data is the weight of humans, would you always assume grams, even if the input data is "75"?
That guy is a literal pain in my behind.
But just like junk food and no exercise softens the body, interacting mostly with overly friendly AI-buddies will soften the mind.
Sure, not arguing that.
> the fact that the advice came from a person and that we know another person is out there caring is important.
What if the AI pretends to be a real person? Does that not make you feel the same as when a real person responds in exactly the same way?
I'd agree that this does not make for a good society, but that's a different question from "how does the interaction make you feel".
I'm not saying we should have a society where people get much of their social interaction from AIs.
I'm saying that if you argue against that, you undermine your argument if you downplay how capable AIs can become.
In a sense, your argument is: "AIs can't make you feel the same way as another person can". But what happens if people start thinking "Hey! The AI makes me feel even better than when I interact with real people!" ? Your stated argument against AIs is gone.
Can another person give you truly good advice over email? Is it still possible if that person has never met you before, so that the advice is only based on what you have written to that person?
If yes, then it is possible in theory for an AI to give you exactly the same advice as this other human being.
How can you then say that email A from the AI is bad, while the exact same email B from a human is truly good?
> ChatGPT is like the person giving advice about the stock market. It only speaks of averages that are already in the direction of the general movement of the masses.
You have to distinguish between how AIs are trained (or rather, selected for) and whether that can lead to intelligence.
AIs are selected for how well they predict text.
Humans were naturally selected for how well they reproduce.
Neither one automatically leads to intelligence. But that doesn't mean that you have scientifically proven that either type of selection can never lead to intelligence.
A big LLM has on the order of 10^12 parameters. At the base level, it is not that different from a regular 10 TB hard drive. Even if each fact is only a byte big, you could't store more than 10^13 different facts before it starts running out of space. Your address space (or input vector) is only 13 digits long, or let's say 30 letters.
So you only have up to all combinations of 30 letters as the input vector, or about six words. The output vector (response / fact) is just one byte in this example. That is tiny compared to the length of the conversations and the amount of facts that today's LLMs can recall.
During training, the LLM evolves ever smarter compression to store as much information as possible. At some point, it becomes necessary to start developing some sort of model of the world and how different things interact to improve the compression even more.
Now, that doesn't mean that it can do this perfectly, or even well. It can be infurating to argue with an LLM once you hit the limits. But I do believe that we are starting to see the building blocks of real intelligence in the bigger LLMs.
> all the help it provides displaces the need for real human beings, and thus propels society into having even more problems
Your key claim here is a completely orthogonal question.
I would say that this question becomes more and more important the more intelligent the AIs become. Not the other way around.
An AI that can perfectly mimic how you would like to interact with other people would be living in a padded cell. All struggles and challenges that allow you to grow as a person disappear. We'd become like the people in the spaceship in Wall-E.
So you're doing your key claim no favors by trying to prove that the LLMs are dumb.
I assume the crypto is unbreakable for outside parties that just sniff the traffic along the way.
But what if Tailscale gets hacked? Are my keys available there for someone else to connect into my network? How hard would it be for the hacker to add their own machine to my network?