Horses are much more expensive to own than cars. You can't just leave them sitting in a lot for 20 out of 24 hours a day, they only feed themselves if you're living out in the middle of the prairie, and you can't just replace a broken leg.
If horses are more "pro-social" than cars, it's because the only people who could afford them are the very wealthy and people who made their living riding horses like cowboys and taxi drivers. Cars are "worse" than horses because they're too superior, which means the middle class all own personal cars and have stopped financing public transit and pedestrian-friendly city layout that the lower classes would coincidentally benefit from.
More importantly, email has become extremely consolidated. It has most of the disadvantages of being federated, and not very many of the advantages (Google sees most of the emails I send and receive even though I don't use them).
Of course it's related to the format. Many formats, like PNG and Gemtext, are inherently self-contained, while other formats, like HTML and SVG, are not.
Annoyingly, EPUB isn't inherently self-contained [1], but external access is explicitly optional [2], and it does make self-containment easier, because you can reuse resources across multiple pages, whereas HTML requires you to either duplicate the resources across multiple pages, or you have to build your thing as a single massive HTML page.
I've seen a few people on here recommending everything from "just use HTML" (which misses the point) to "just use Gemini" (which misses the point even more).
Why not HTML? Why not Markdown? They aren't self-contained.
* A web page written in either format can leak your IP address to external bad actors because of the way inline images work.
* Loading resources from more than one server is a reliability and security problem, and it performs bad on initial load (it's great for subsequent loads, since external resources can be cached, but initial load time is bad and tech designers should really spend more time thinking about worst-case perf than about average-case).
* Downloading a web page is overly complicated. I should be able to download a page to my computer and never have to worry about the origin server going away, and that's not possible on the HTML5 web. This is one of the main reasons for the enduring popularity of PDF. IPFS, in particular, would benefit from a self-contained document format, because it needs to know the full set of dependencies in order to pin a page as a whole, and ensure that you don't accidentally pin an HTML file without pinning its images and wind up with a broken site.
Sure, you can make HTML pages that are self-contained, but because they aren't always, people don't build workflows around them.
Why not Gemtext/Gemini?
* Nobody but nostalgic nerds cares about simplicity of implementation. I mean, come on, Markdown is even harder to parse than HTML is! Nostalgic nerds might be a worthwhile demographic to appeal to, but I think IPFS wants a wider audience than that.
* Inline images are not optional. Too many great creators with a lot of worthwhile things to say are either creative artists or technical artists. In the BBS era before inline images were practical, it didn't stop people from drawing; they just relied in ANSI and ASCII art, and "let's go back to typewriter art" only appeals to nostalgic nerds.
* And once you have inline images, you have to offer rich text layout features like tables, otherwise people will start posting pictures of text to work around your missing features (which sucks for either accessibility, because blind people can't read them, or it sucks for simplicity, because deploying OCR is even more complicated than just offering decent text layout).
* You can download an EPUB, and when the original host goes away, it still works! Pinning an EPUB in something like IPFS can work without requiring the CDN to know anything about the file format, since EPUBs are self-contained.
* Tooling already exists. It's just XHTML in a ZIP file anyway, but there's also EPUB-specific tooling (for example, the Texinfo release announcement a few days ago mentioned that you can export EPUBs from GNU info manuals).
* It supports text and image layouts that writers demand.
The ballot I filled out a few weeks ago had several such things on it. They are called "ballot measures," or "referenda," and the overall ideology for them is called "Direct Democracy."
Obviously, they are subject to all the typical "push polling" weaknesses, where people can be coaxed into voting a certain way using manipulative wording.
I think you might have a point, but it's not applicable to this situation. Software architecture isn't like architecture. It's more like mathematics, or maybe poetry. There's a language to it, and if you don't speak it, you're not going to get it.
Imagine presenting the original version of King Lear to someone who doesn't know English. It's beautify poetry, I won't argue that, and our hypothetical listener might even be able to detect the rhythm of its iambic pentameter buried under the seemingly-gibberish words, but they won't appreciate it on the same level as someone who actually speaks the language. And while they'd be able to get the story if it was translated, it would lose the rhythm unless the translator recreated it, at which point you've got a new work of art.
Similarly, nobody's going to be able to appreciate the Git data model unless they've already got a solid sense of algorithmic thinking, and preferably the background knowledge of filesystems to know what problem it's actually trying to solve. Or the Quicksort algorithm to someone who doesn't even know what a recursion is.
(Some anal-retentive postmodernist would probably argue that there is, in fact, a language to physical architecture, and that if you don't speak it, you won't get it. The problem is that the only way I know of to test that would be to find someone with zero experience with human-made structures, which seems impossible. I see no real purpose in arguing this point, because when it comes to algorithmic beauty, there is definitely a skill floor below which you just won't get it.)
That seems like an impossible standard. What happens if the criminal took a job that payed less because of their criminal activity, put the legal paychecks into house payments, and the illegal money into food and other consumables?
If you just want to have your language throw up an error whenever it sees an unrecognized element, then you’ll probably be able to simplify it a lot. It’s probably fine, since
* as long as you use a build tool the errors will be seen by the author (who will know how to fix them) and not the reader
* graceful degradation and format extensions are a crapshoot due to Hyrum’s Law [1]
> If `class` was instead a kind of child, initially limited to a single instance per element, extending to multiple instances in a backward-compatible manner would not require introducing the DSL. It would be natural. Just allow many `class` children.
That's not the operative difference between children and attributes in HTML.
In HTML, if an element is unsupported, its contents are shown, while its attributes are ignored. This means, if a browser saw something like this:
<p>
<class>literature</class>
<class>english</class>
Billions of years ago, the Universe was created. This made a lot of people very angry, and has been widely considered a bad idea.
</p>
In browsers that don't support, or even predate classes, you would want them to be ignored. This only works if they're attributes.
The "attack" I'm thinking of is hijacking the back button, but done using iframes instead of history.pushState. It doesn't involve any third-party origins, so x-frame-options doesn't matter, because a domain owner that wants to launch this attack has control of all the HTTP headers.
As much fun as it is seeing everybody reiterate the "SPAs are stupid and we should all go back to native apps" argument for the thousandth time with exactly the same arguments again...
It's all a moot point, because you can reproduce this particular attach using nothing but 2001-era DHTML. Start with a page that has a hidden iframe, a link that targets it, and a timer that polls the contents of the iframe. When the page first loads, use JS to click the link to add a new item to the back stack. If clicking the link with JavaScript doesn't add a back stack item, make the link visible, but also attach an onclick event handler to it so that the link can simultaneously do what you want and also do what the victim wants.
After you've poisoned the back stack, you can detect that the user clicked "back" when the iframe gets reset back to its initial page. Once this is done, use `document.body.innerHTML = whatever` to set up your fake SERP.
The article literally says it's probably not going to happen.
> He said that it was unlikely that Covid-19 outbreak would shape our immune system in a similar way — largely because the disease predominantly kills people after their reproductive age, meaning it's unlikely genes that confer protection would be passed on to the next generation.
FOSS is useful, and may be a part of the solution, but it is not the solution in and of itself the way Free Software advocates portray it as.
Most people aren't programmers, people who are programmers don't read the source code of everything they run even if they're allowed to, and even people who try to read the source code for everything they run won't necessarily be able to catch every potential nefarious act. The ingredients list on the back of the box is not the only form of consumer protection in place for food. It shouldn't be the only consumer protection in place for software, either.
> That kinda feels like saying Linux is too crazy because new apps get made for Linux frequently.
Apps are okay, but other parts of userland that roll out breaking changes on a regular basis are definitely a problem [1] [2] [3]. Even if they aren't technically part of the kernel, they are usually used with it to provide a complete working system, and they break stuff all the time.
If horses are more "pro-social" than cars, it's because the only people who could afford them are the very wealthy and people who made their living riding horses like cowboys and taxi drivers. Cars are "worse" than horses because they're too superior, which means the middle class all own personal cars and have stopped financing public transit and pedestrian-friendly city layout that the lower classes would coincidentally benefit from.