• 1 Post
  • 792 Comments
Joined 3 years ago
cake
Cake day: June 14th, 2023

help-circle


  • So you’re talking about Markdown. It’s a specific format, popularized initially on Reddit, that has now become so widely used it is almost universal nowadays (and only growing more popular since so many AI seem to use it natively), and while I agree with you in general and I’d even go as far as to call this a fundamental anachronistic design flaw of Markdown, I think to gain any understanding of this issue you have to understand the historical context that Markdown was born from, and for that you need a history lesson.

    Let’s start by establishing some terminology: “ASCII” is the most basic standard for computerized text. It’s quite limited, 127 characters, ~30 of which are non-printable control characters (including CR). This is pretty much the most universal, most compatible form of transmitting text over the internet. It’s built into almost every other standard as its foundation, and we basically can’t live without it anymore. We often call it “plain text”, although nowadays we also have unicode, or “UTF-8” in its most common form, that would also like to claim that title, even unicode contains those original 127 ASCII characters hardcoded right at its base.

    Anything beyond pure ASCII or sometimes unicode typically falls under the umbrella of “rich text”. “ANSI” was one of the earliest and most basic forms of rich text, again completely built on top of ASCII, and is still used sometimes for terminals today. It allows some basic colors and bold/underline, occasionally supporting double-width or italic. It’s very primitive compared to what we are used to nowadays and it relied heavily on non-printable ASCII control codes to do its work. In the old days, there was no capability for any sort of line-spacing other than 1. if you wanted a paragraph, you typically did TWO newlines to add 1 line of extra space in between the paragraphs to make it clear the previous paragraph had ended and a new one was starting.

    The first truly cross-platform “rich text” that came around was “HTML”, which is still of course what we use for the web today in all its glory. It wanted to do things differently than ANSI, and in a way, this was so that it could be compatible with ANSI. If you’re copy-pasting code out of a terminal and getting a whole bunch of hidden non-printable ASCII that are going to mess up your HTML, that’s a problem. This is where the roots of that issue you’re seeing in Markdown were born. HTML intentionally has a whitespace-agnostic definition. It intentionally wanted to get away from all those ASCII “non-printable” control codes and it consciously chooses to completely ignore them, crucially, including CR/LF (which have all sorts of their own problems with cross-platform implementations, DOS/Windows uses both CR-LF and sometimes only recognizes both CR-LF in that specific order. Unix ONLY uses CR. Older macs ONLY used LF. It was a mess, and it caused a lot of problems (sometimes still does). HTML got around this entirely by completely ignoring those characters and treating them as if they didn’t exist. They can’t have cross-platform compatibility issues if they don’t do anything in the first place.

    HTML instead supports tags that control when to move text to a new line, and just as critically, HTML decided to make a key semantic distinction between “lines” and “paragraphs”. <br> specifies a line break ONLY, without breaking the paragraph. <p> specifies a paragraph break, or a paragraph block depending how you use it, and that caused confusion of its own. But like it or not, paragraphs quickly became the standard method of laying out text on the web, and <br> was sidelined as an afterthought.

    As HTML and the web as whole grew, HTML started to gain a lot of very advanced and powerful features. Early internet forums wanted to make it easy for novices to communicate in some form of rich text without necessarily knowing HTML, and they didn’t want to enable all the advanced features of HTML some of which posed legitimate security or usability risks for the rest of the site especially with javascript and web requests. They created their own forms of tagging like BBcode that they translated into a safe subset of HTML behind the scenes. Again it was typical to use paragraphs here, it was starting to become the expectation for “CR” to mean paragraph. Sometimes, the old typesetting definition of paragraphs was adopted, where two CRs meant a new paragraph, and one CR meant a new line only.

    Meanwhile, you’ve got Microsoft Word and other word processors which are also working natively in rich text and paragraphs, and hitting enter in Word gives you a new paragraph, OR a new line depending on exactly what context you’re currently in, but again paragraph is kind of the assumed default.

    Finally, Markdown enters the scene. It comes from the world of HTML and BBcode and Word, but it wants to go back to the days of ASCII and make invisible choices of whitespace start mattering again, to get rid of all the ugly tags wrapped around all of our rich text up to this point and make nicely readable plain text where the whitespace defines how it’s going to be presented, and its choice to resolve this dilemma is that it decides to keep the historical typesetting distinction of two CRs in a row makes a new paragraph, and it translates that into an HTML paragraph so it’s not actually separated by two full lines when you have an HTML rendering of markdown, it’s a proper HTML paragraph. So far so good. At this point, they could’ve chosen to do exactly what you said and what I think would’ve been the consistent thing to do: one CR (not two) means just a single new line, and sensibly, that would translate to an HTML <br> element and everything would’ve been lovely.

    But they didn’t.

    Instead, for whatever baffling reason, possibly because Markdown does interpret CR/LF in other formatting contexts like headings and tables, possibly because DOS/Unix/Mac line endings were still a bit of problem even at that time, and like I said <br> was very, very sidelined by the whole culture and history of HTML, but without being able to see into their minds I can’t say for sure exactly why they decided to go their own way for the <br> implementation, coming up with this wonky “two spaces after a line” to require people to be deliberate about it. But they obviously continued following the HTML tradition of CR/LF being otherwise ignored.

    Not to fully excuse this decision, but in their defense, sometimes copy-paste can insert newlines where you don’t want them, so it’s not always as clear that a CR is intentional the way you’re hoping. Maybe the idea was that these non-spaced CRs aren’t necessarily going to be intended if you’re often copy-pasting long, wrapped lines out of an 80 column terminal or something. I still don’t think that is justifiable, but it is what it is.


  • This might piss off some of the hydro-homies out there but when talking about water in this context it’s also important to remember that food often contains more hydration than most people give it credit for. Even “dry” foods can end up being like 50% water by weight, and something like soup is obviously very close to 100% water, so people who overcompensate by trying to drink like 8L of straight water a day without considering the rest of their diet can easily get themselves into serious trouble, and water poisoning is actually a real thing that can happen. I think the least controversial take is that for most people, drinking when you’re thirsty is totally sufficient to maintain adequate hydration unless you’re in an extreme situation or you have a personal predisposition towards chronic dehydration. I’m not a big fan of the overgeneralized advice that everyone needs to constantly drink “X” much every day. There isn’t really a one-size-fits-all guideline and the reality varies quite a lot, and in most cases your own body is going to be the most accurate judge of how much water it needs.


  • How many hoops will they have to jump through? Will those hoops change over time to continue to make it difficult or they still find ways to monetize those hoops while technically complying with the settlement? Will they still hold ultimate control over the ecosystem and use lawsuits and deliberate engineering to drive third-parties out?

    Spoiler: The answer to all of the above is almost certainly going to be yes. These sort of agreements are toothless because they’re meant to be. The fight for right to repair is not a fight that is going to end as long as it’s more profitable to do the opposite.


  • To help answer your question, you can also think about what happens to a fire when you scale it up. This thought experiment will help guide you on whether the scaling is linear, or by volume (cubed) or perhaps even more dramatic than that. In the case of fire, if you imagine a campfire that is 10x the width, 10x the height, and 10x the depth, you are probably looking at a fire that has not 10x the energy, but more like 1000x the energy. It’s got a massive energy output compared to a modest campfire, it is going to consume a lot more than 10x as much fuel, and it’s potentially going to set stuff on fire and consume it and keep trying to consume more fuel in a way that you wouldn’t expect a 10x sized campfire to, and it is a huge emergency that is difficult to put out for that reason. It’s not just a 10x bigger fire because you scaled it up in 3 dimensions. It’s a vastly bigger monster.

    So vice versa, if you’re scaling your body from roughly 1.8 meters to 1.8 milllimeters, that’s a 1000x reduction, so you might want to take your campfire down to 1/1000th of its human-sized dimensions too. But you’re probably not looking at a fire that scales down to 1/1000th with you, you’ll be looking at a fire that only has 1/1000th-cubed or 1 billionth as much energy. That is a very small amount of energy, it will barely do anything or even be noticeable at that scale. It may not even sustain a flame. And if you want a campfire with more proportional energy like 1/1000th of a regular campfire for your ant-sized campfire, that means you’ll need a campfire that is still 1/10th the physical dimensions of your human-sized campfire. So it’s still a really, really big fire relative to your ant-sized body. It’s maybe the size of a large candle or alcohol burner, but that’s HUGE compared to ant-size dimensions. So no, put quite simply, it doesn’t scale like that.

    These estimations are approximate and there are probably even more complex scaling factors at play for something as physically complex as fire at such extreme scales, but that should help give you the general idea. You’d probably need much more thorough study and experimentation to get a better idea, unless somebody has already scientifically researched this which wouldn’t surprise me.


  • The solution to all the billionaires taking everyone’s money is not going to be solved by finding the right billionaire. Nobody with a billion dollars gives a shit about you. They aren’t going to help you. They don’t even have the personal human context to have any understanding of anything you need help with, and even if they can afford to have someone tell them, and have the empathy to bother, they’ll still end up trying to fix in ways that don’t actually help you. They don’t get it. They won’t get it. They can’t. They’re living in a totally different universe. Money doesn’t measure success, it measures privilege.




  • No, because it’s not a competition. There is more than enough to go around, except for the people at the top rationing it out and keeping 99.999999% of it for themselves. That’s why it’s a hard world.

    Being selfish is not the solution, emulating the people who are being successful by being selfish is not the answer. Stop fighting over the crumbs the successful leave for us after they’ve eaten all the pie and thinking you will eventually collect a whole pie if you are just selfish enough. It’s a myth, it’s not realistic. They didn’t put their pies together out of crumbs. They baked it in the oven they made us build for them.

    Don’t fight against your fellow crumb-gatherers. We live in one of the wealthiest and most prosperous times that humanity has ever existed in. We simply need to start acting like it. If austerity were actually necessary, we certainly wouldn’t be able to afford having billionaires and trillionaires either. It’s a lie, and people are getting insanely rich because people keep believing it.


  • The difference, unlike a Playstation console, is that you also control the hardware and OS on a PC (mostly, and for now, at least; they’re working on fixing that)

    This means that you don’t need to “jailbreak” it with a modchip to gain access to basic functionality like simply deciding to make backups and other copies for yourself or to simply not to run the DRM requirement since you don’t want to run that on your hardware that you own and you should not be obligated to. They call this piracy and cracking and say it’s illegal, but I say it’s a fundamental right. When it’s convenient they’ll tell you that you own the games, and when it’s inconvenient they’ll tell you you don’t own them and they decide what you can do with them. It’s like saying I can’t photocopy pages from or write in the margins of a book I bought and own, whether it’s digital or not. I reject that principle and refuse to abide by it, and you should too, and PC allows you to. Playstation does not, at least not with a nontrivial amount of work and a lot of penalties. It only requires a trivial amount of work on PC and generally will not allow the enforcement of any penalties (it shouldn’t require any work and shouldn’t enforce any penalties, but DRM and laws and always-online content are doing their best to make it difficult as much as they can)

    The reality of the encroaching enshittification is real, but that is still the fundamental difference that a PC gives you, and I suspect it will always remain so. Never give up on this platform, defend it like a fortress and do not let anyone entice you away from it, only suffering leads down those paths.






  • I mean, I can already do that in Timberborn, so maybe not the most impressive example. The later example about basements collapsing due to the walls turning to mud? That sounds quite a bit more interesting, but it also makes me wonder how much they are overpromising here because that sounds wildly ambitious and unrealistic based on my current understanding of technology. I have no idea how they expect to be able to pull this off at anything resembling a reasonable simulation rate and fidelity without exactly the kind of pre-simulated, “you can do it here but not over there” situation he describes becoming inevitable.

    It sounds really implausible. I wish them luck, because it would be really cool to see, but I’m not going to get too excited unless and until I can actually see the final result.


  • The pressure in your arm is not unrelated to or disconnected from the pressure in your legs. They are directly correlated. If the pressure in your legs goes up, so will the pressure in your arm, it’s the same system. The pressure in the entire system is what the arm measurement is supposed to show, that’s why they’re taking it. They usually don’t care about your arm specifically, they are trying to understand the whole system, including the pressure in your legs, which will be reflected in that same arm measurement. That’s the whole point, otherwise it wouldn’t be a good measurement.


  • Morally I think it’s reasonably clear in many (not all) cases, but it can become complicated. Who is responsible when the inherently ineffective safety guardrails fail? What about someone who intentionally uses a bypass technique to jailbreak and escape the guardrails? Who is responsible for an open weights model that had some of the guardrails removed or rendered even more ineffective either intentionally or by accident?

    Legally, it is an entirely different story, and it is absolutely and entirely unclear. Several cases are already before the courts and I don’t think we’ll know where any of them end up within this decade, and even if they do receive some token legal judgement against them eventually, that just sets the stage for those legal responsibilities to be overturned by new legislation. These are companies that are positioning themselves as bulwarks in the new frontier of economic warfare, information warfare and physical warfare, they are critical national security and geopolitical assets, they have infiltrated governments at all levels and are receiving direct protection from same.

    Do you believe they will ever be truly held accountable for the damage they’ve already done to society, much less the damage they will do over time? That’s part of responsibility, and it needs to be debated because that’s the only way to even start to hold them accountable for anything. We need to hold them accountable with words first if we want to have any hope of holding them accountable in any other way. And these are my words to help start doing that.


  • Of course that’s a possibility, but AI does not have responsibility. The question is who does?

    Do I blame a train for hitting someone who steps onto railroad tracks when there’s a train approaching? It’s a machine. It doesn’t have responsibilities or opinions or agency. It does what it has been built to do, in exactly the manner that anyone with sufficient understanding of its operating principles could tell you, because that’s what machines do. The person or persons interacting with the machine is not absolved of any responsibility by how complex or inscrutable the machine is. It’s still a machine.

    The question is, who is responsible for the person stepping onto the railroad tracks when there was a train approaching? Was the person trying to end their own life? Maybe it’s their responsibility. Or maybe the crossing signals failed and told them it was safe, and they did not realize a train was approaching. Maybe there were too many trees or signs or construction that was blocking their view. Is the train company responsible for that? Maybe. Did the brakes fail due to poor inspections or substandard work during the last maintenance? Maybe. Did the train have plenty of time to stop and the engineer was not paying attention? Maybe. These are all people, and groups of people, who may have responsibility. The only thing that’s certain is: The train doesn’t.

    We, as a society, need to decide who is responsible for the possibility of a horrific consequence arising from the use of these sort of machines. Is it the person using the machine? The people who made the machine in the first place? The people who put it in a place where this person could easily use it? By assigning responsibility, ideally in advance of any horrific consequences, that provides a clear incentive for the people we deem responsible to actually start acting responsible and take the appropriate measures to avoid such horrific consequences that they might be held responsible for.