this is only tangentially related to the article, but I've always found text justification strange. For me paragraphs with ragged edges are easier to read than justified paragraphs, because the irregular ending point helps me keep track of where I am. And justification can lead to some very odd-looking lines. So I've just never quite understood why it's so common in typesetting
One advantage in print; pages are often not entirely opaque. So on page 3, you see a bit of the text of page 2 shine through. If page 2 has a jagged right margin, this also makes the left margin of page 3 look uneven.
Meanwhile, the right margin of page 3 looks has a "shadow" that goes all the way to the right because the left margin of page 2 pokes out underneath it - your eye might want to glide to the end of the block, but the sentence stops earlier.
It looks better when it's aligned, which is also why you can specify a left- and right margin that alternates on odd and even pages.
This is obviously only a concern for books and papers, and not so much for e.g. glossy magazines.
Differences are supposed to convey information. E.g. a paragraph's first line is indented to indicate that this is a start of a paragraph. Differences in line width convey no useful information, so the are suppressed. Same goes for overall text height on a page, although this rule is broken more often.
Typesetters are known to be very specific about small details. E. g. tables are typeset with meticulous alignment rules. It may look superfluous, but it is not. The nature of the craft is that it has to be invisible unless you know where to look.
People will bend over backwards to rationalize it but the actual explanation is quite simple: 16th-century typesetters saw it as beautiful, and a norm was born.
IIRC, the somewhat random allocation of trailing silent "e"s in English spelling can partly be explained by typesetters trying to fill lines.
Totally agree with you BTW. I find justification ugly as sin.
I guess in printed material it’s more space efficient, which is why it has historically been used. Justified text can be made look nice but it requires hyphenation and a non-greedy linebreaking algorithm, which unfortunately is not implemented in browsers or Microsoft Word.
what makes TCO so difficult to implement? it feels like it should be a very simple "if the final instruction before RET is CALL, then eliminate the call"
In particular it's that if you return the result of a function call, then it's a tail call. For example, in `return f() + g();` neither the call to f() nor the call to g() are tail calls because they return into an expression (`+`) other than `return`.
If you scroll up you'll see a discussion of how the caller does the popping of arguments it pushed, so it has to be the case that if a different number of arguments were needed for a tail call then the caller will still pop the correct number of arguments, and that is where the complexity lies: because the caller does not actually know anything about the called function's tail call details, so how does one cause the correct thing to happen? One way is by changing the calling conventions radically to ensure that either the called function cleans up the arguments before returning, or that the number of bytes to pop is effectively part of the return signature of the function (with the caller somehow being careful to check that the advertised number wouldn't destroy its frame), or just arrange to leave exactly the number of bytes on the stack that the caller expects even if one tail-calls a function that would leave a different number of bytes.
I would tend to agree in the case that someone is using LLMs as their primary source for learning. But I've found a lot of use in having a claude project containing the PDF of a textbook I'm working through so that I can ask it to clarify or help me through parts I find confusing. I would definitely say that's greatly accelerated my learning - or at least greatly accelerated the speed at which I integrate information from textbooks.
I think saying "nobody has the patience" is assuming that everyone is using agents for hours on end to do enormous tasks. I tend to prompt claude to do smaller, more contained tasks that I understand the entirety of, in which case manual review is straightforward and actually preferred, because I can stop it before it makes a change I disagree with.
The great thing about Wikipedia is that anyone can participate. Anyone can advocate for change, such as changing the rules around notability.
But if you want to have enough influence to effectively advocate for changing a rule as impactful as the site-wide notability guidelines, then you'd likely want to spend quite a while volunteering, integrating yourself into the community, and learning a lot about how and why the site rules are what they are.
I think that's a good thing. It means the people who have the influence to make huge decisions like that are deeply familiar with the website and the community, and therefore deeply familiar with the consequences of those decisions.
So I just find it frustrating when people who don't participate in the community whatsoever write inflammatory diatribes on why they think the editing guidelines should be changed because their favorite programming language got marked for deletion.
And it's even more frustrating how, when their handful of drive-by tweets fail to immediately enact sweeping change, they and their followers then start a huge flame war, accusing Wikipedia mods of being "cultural marxists" and "shills for the mainstream media" and etc.
Anyways, my point is -- if you want to change things, try participating in the community rather than shouting slurs at it from the outside.
I looked and the cultural marxism tweet has zero likes, zero comments, and only 35 views. Although it has caused much consternation for you and the author. So it seems strange that you don't understand why people might be concerned about what Wikipedia has to say about things, and how it works, given its prominence.
> Not to mention how I want to know how curl works, even if I don’t keep 100% intimate knowledge of every single angle and corner, I know most of it. I think it helps me make better decisions, debug better, help users better and keep the architecture sound.
> Getting the initial code written is not the big deal. For curl, maintaining and polishing the landed code through decades is the real task.
This is the real sticking point for me with vibecoding. In the short term, vibecoding everything might get you something that works. But I have a hard time accepting that in the long-term, maintaining a large and complex codebase is feasible when you haven't actually developed a deep understanding of it.
But maybe that's my bias as someone who considers their job description to be basically "develop a deep understanding of and maintain this large codebase".
in my mind unfortunately this basically destroys KDE's viability as a gaming platform. SO many older games just do not work properly unless run under X11 (hell, some newer ones too). XWayland is good for everyday applications but for games in my experience it too often falls flat.
As someone who likes games from various periods (from Ultima IV to WH40K: Rogue Trader), I haven't ran into many games which do work on X11 and don't work on Wayland. Though I don't really have any of the old Loki games (I believe there was a port of Unreal Tournament?), so I might be missing out on the specific games which really lean into certain X11 features which XWayland doesn't support well.
I'm very surprised to hear that. Ive seen some issues with apps using Xwayland, mostly scaling related. I dont recall ever seeing an issue with a game running on Xwayland. Its also how the Steam Deck runs all games.
You can try running in gamescope, although in my experience Wayland has not been an issue.
The few games I have that gave me problems in Wine didn't work any better when using an X11 session.
I can't say I've run into issues running games under XWayland, but I have only been using the Wayland session for a couple of weeks now. The blocker for me was Discord (you wouldn't get messages on your phone if you were afk because the idle detection didn't work in Wayland), but the devs there seem to have finally fixed it.
nothing at all, because it's PR security theatre done out of desperation as their platform has been gradually revealed to be a machine that destroys children's lives
I work with C#/NuGet on windows every day and my experience is entirely the opposite.
The build and dependency systems are an abysmal esoteric, poorly documented mix between csproj files, sln files, random scattered json files, etc.
The standard library in my experience sucks and has all sorts of issues, especially around Uris, DateTimes, etc.
And the ecosystem itself has such a low quality bar, ironically _especially_ with anything made by microsoft. For every nuget package that's well-designed, well-documented, and easy-to-use, there's five which have bugs and undocumented exceptions and poorly-designed APIs.
If you work with old .NET Framework, then maybe I would agree. What kind of issues do you have in standard library or how they are only biting you? Nothing is perfect, but compared to other (popular) alternatives, C#/.NET is the best you can get today.