HNHacker News
TopNewBestAskShowJobs

csnover

2,331 karma · joined May 1, 2013

submissionscomments
csnover··on Dear Software Makers
From [0]:

> The funny thing about scoring systems is they are kind of little dictators. They tell you what you’re supposed to want and value. And that’s the weird thing. Scoring systems are little definitions of success and failure. I think one of the biggest differences is that, in games, those definitions are temporary and playful and under your control. And if you don’t like it, you can throw it away and you never have to play again. And in institutions, they’re authoritarian. […] After a period of time, [metrics] seem to drain what’s genuinely valuable from the system because they point people at something that’s very easily and mechanically checkable and measurable.

[0] https://99percentinvisible.org/episode/673-the-score/transcr...

csnover··on Memory Companies Have Destroyed the Consumer Market
Oh, I understand what you are saying now. Thank you for clarifying! I agree that executives these days do seem to persist in operating according to the shareholder value myth, despite it being a myth, and despite a bunch of them seemingly admitting to knowing better in 2019[0].

That false pledge certainly suggests that rather than being controlled by the dogma, they perpetuate it so workers and citizens accept turpitude as inevitable and necessary. The carrot is the stock option; the stick is the myth that everyone will get in big trouble if workers refuse to put shareholder wealth first.

[0] https://en.wikipedia.org/wiki/Business_Roundtable#2019_corpo...

csnover··on Memory Companies Have Destroyed the Consumer Market
So your contention is that a Cornell corporate & business law professor wrote and published a book and ignored all of the de facto case law that disproved their thesis? If so, do you have a rebuttal of the thesis by another subject matter expert that you can offer as a citation?

> Willingly getting sued by hostile shareholders is in itself not acting in the best interest of shareholders

Really? So if I am a hostile shareholder demanding massive workforce reductions so I can get a $1 dividend today, even though this action will make it impossible for anyone to get a $10 dividend tomorrow, it is in the best interest of shareholders for the company to capitulate to my demand? What if other shareholders are employees? Whose best interests are served then?

csnover··on Memory Companies Have Destroyed the Consumer Market
As far as I am aware, the answer to your question is ‘no’[0].

> Contrary to what many believe, U.S. corporate law does not impose any enforceable legal duty on corporate directors or executives of public corporations to maximize profits or share price. The economic case for shareholder-value maximization similarly rests on incorrect factual claims about the structure of corporations, including the mistaken claims that shareholders “own” corporations, that they have the only residual claim on the firm’s profits, and that they are principals who hire and control directors to act as their agents.

[0] https://corpgov.law.harvard.edu/2012/06/26/the-shareholder-v...

csnover··on MentalHealthBench
> I can not however change American society, our economic structure, or political dysfunction single handedly, can you?

Luckily this is only about fixing health care, so much easier. ;-) And, no, neither of us can single-handedly fix the more proximal causes of the problem, but you and me and around 268 of our best friends could.

I have no crystal ball and I am no genius. All I know is that an LLM will not make the inpatient beds come back once a hospital has been gutted by PE. It will not make the drugs suddenly affordable for the patient who needs them. It will not fix the terror and suffering caused by the system. It will not offer a genuine human connection. But it might give ammunition to the next guy who wants to “save money” by defunding 988, or discourage the next generation of mental health providers from choosing this as a discipline at all.

Obviously something must be done. But could the effort you spend on developing another hack atop the broken system instead be spent on getting the right people into the right places to fix the right problems? At the least, I’d ask “what would cause me to change my mind about this?”, and then work to make sure that there’s no way that thing could be true.

Thank you for the conversation, I appreciate it.

csnover··on MentalHealthBench
> I think the ethics of allowing people to suffer due to economics while ignoring a technology that can help them is worse, no? Telling them to seek a health professional when none are available is worse ?

Not necessarily. Half-measures—especially those that try to offer technological solutions to social problems—allow the actual root problems to remain unaddressed, fester, and grow. The ACA was a hack for a failing system, and then when that quit working, more hacks were added on top, and on and on. LLMs are just another hack that let the can get kicked down the road once more.

If and until actual meaningful health care system reforms happen, the rich will continue getting their $63,000 14-day concierge service from Mass General Brigham whenever they feel blue, and the rest of us will end up getting Doctor Amazon telling us to practice deep breathing and buy some supplements.

csnover··on Ideas on modernizing the open-source desktop
> I would replace the start menu with a Raycast clone. Most people want to open files, ask a question or run an app they know the name of, not scroll a list of things they might never use. If you add in semantic search users don't even need to know the app name.

So I’m looking at the Raycast web site, and aside from the UI being a little different, Raycast seems like it is itself a clone of the already long-existing KDE Plasma start menu (Kickoff) and KRunner? I guess the only thing missing from the KDE one is “AI”. Is there something I am missing about how Raycast is some innovation not already realised in the Linux desktop?

> If we can't do full extendable tags then at least add user defined groups/tags like Work and Games and Photos to make finding things easier. People remember what a file is better than where it's stored.

Extended attributes[0] already exist if you want. But, as the linked wiki page indicates, filesystem attributes are fragile. And what is the tangible benefit? In practice, users can already just dump all their files into a random directory and use Baloo or whatever. Which is probably better anyway since it’s easier to have a D-Bus API with multiple user-space implementations than having to wipe and reformat to use a different filesystem if you have some problem with it.

[0] https://wiki.archlinux.org/title/Extended_attributes

csnover··on Mullenweg has returned as CEO after attempted board ouster
The additional reporting at [0] about his alleged behaviour in internal channels along with his public posts on social media really reinforces this same feeling for me:

> “oh, since I’m a pirate now, I fucking curse. after 42 years of never uttering a curse word, it’s kinda fucking fun. if this is a HR problem @caron please wrangle me in since my normal wranglers are with @Mark Davies.” […] Mullenweg also posted that the Automattic Slack “smells funny, like turncoats” and said he was going to hang out in the WordPress.org Slack instead.

Good luck to everyone in the blast radius.

[0] https://www.therepository.email/matt-mullenweg-swears-for-th...

csnover··on Bill Gates tries to install MovieMaker (2003)
> Hey gang

“How do you do, fellow kids?”

> After thinking about it

Just say the thing.

> kinds of outcomes

What outcomes specifically?

> nipped in the bud

“stop”

> I suggest this probably happened because

“I think”

> ball dropped

“failure”

> must be the responsibility at the VP/Executive

What does this mean? Fire the VPs who failed to do their jobs? Say what you mean.

> ensuring smooth handoff

“doing their jobs”

> rethink and extend

“fix”

> engender a culture of design

This is a meaningless phrase.

> different kind of thinking

What kind of thinking?

> or a process to be fixed

Processes are how things get done! If programmers push garbage into the list of installed applications, that’s a process failure. If a product team makes a download available but it can’t be found on the main web site’s list of downloads, that’s a process failure. When things get done wrong it’s definitionally a process failure. Process also doesn’t flow from culture, they each exert influence on the other. Bad process will lead to bad culture as much as bad culture will lead to bad process.

I will reiterate what a sibling commenter already said: Nothing about this mealy mouthed corporate jargon liberally drizzled in passive voice comes across as candid. Effective communication does not look like this. Effective communication is assertive. It offers direct actionable advice, or asks direct questions which result in actionable answers.

csnover··on Evidence of Fraud in an Influential Study About Procrastination
Short of blindly outsourcing the work to an LLM and checking to see if its hallucinated problems are actually problems[0], how can more laymen (without the ability to run replication studies, and without degrees in statistics) learn to more easily identify questionable/potentially fraudulent research like this?

This is a question that has been really bothering me for a while. I have a short list of things I’ve learnt to check, but it’s all stuff I’ve picked up in a very ad hoc way (reading and listening to these kinds of critical analyses, mostly). For example, until now, I wouldn’t think about implausibly large Cohen’s d, despite this seeming like an easily generalisable rule that anyone could eyeball. But without being told, and without the reference points given in the article, I wouldn’t have a clue. And I would like to have more of a clue. And I would like other people to have more of a clue. How?

[0] https://news.ycombinator.com/item?id=49484925

csnover··on As AI eats the web, the internet’s collective memory is disappearing
I don’t agree with the parent that the solution for SEO spam is paying for the search engine (I think there are other good reasons to do this though), especially since people have been doing things like naming their company “AAA Auto Repair” to be first in the phone book since before computers ever existed. But the person you originally replied to does have a point in blaming Google for the problem. Most SEO spam sites make their money from ads, and Google are the ones who run the ad network, which means Google are the ones funding them and creating an incentive for them to exist.
csnover··on The UK's war on anonymity has come to America
> Finally, anonymity didn't exist for my grandparents.

Your grandparents could walk to the next town over and give themselves a different name and nobody would ever know who they were. They could get a job, be paid in cash, and deposit that money in a bank account with no KYC. They could drop a letter in a public mailbox without a return address, or put up posters at night, or make phone calls from public telephones. Nobody would know who did it, and there would be no surveillance footage to review after the fact, no digital footprint to trace. They could write a letter to their local newspaper to be printed with a fake name, or publish a book or story or magazine under an assumed identity. There were no ALPRs, no automated facial recognition, no built-in vehicle telematics, no drones, no smartphones to track anyone’s movement, no doorbell cameras on every block, no video tapes, no serial numbers hidden in the printouts from copy machines, no DNA analysis, no databases instantly searchable with the click of a button.

Feel free to make a value judgement about whether what we have now is better or worse than the past, if you want, but don’t invent history to rationalise it. The internet did not invent anonymity. It used to be the default.

csnover··on Show HN: Fortress – a stealth Chromium so your agents stop getting blocked
Man, this sucks. I doubt there’s anything that I can say to get people to stop doing things like this, but the eventual outcome here isn’t going to be freedom for you to scrape sites that are trying to avoid being DDoSed by bots, but instead that we all end up in a world where device attestation is required to do practically anything online. And for what?
csnover··on Only 16 Percent of Americans Think AI Will Have a Positive Impact on Society
> There is no successful social media company that actually cares about the negative impacts it has had on society. They speak about things such as "providing value" where value = time spent on the platform. They do not care if they ruin lives.

I will never forget Ruchi Sanghvi’s remarks at the Female Founders Conference talk in 2015[0]:

> It [the News Feed] became this virtuous cycle that we all dream of: consumption and production that just kept on giving. […] Even though everyone said they hated it, engagement had doubled.

[0] https://www.youtube.com/watch?v=01FjJyBAOUE#t=6m29s

csnover··on Smoking ban for people born after 2008 in the UK agreed
As with the cars, those are not alcohol issues, they are violence issues. Whether a drunk person turns to saccharine displays of affection or destructive acts of violence is likely driven by cultural norms and the underlying conditions of their lives.[0] Blaming alcohol for violence is akin to blaming the internet for increases in fraud.

[0] https://doi.org/10.4135/9781483331096.n184

csnover··on The Bromine Chokepoint
The article isn’t arguing that if ICL facilities are disrupted, that’s it, no more bromine forever. It is saying that if these facilities are disrupted there will be an even bigger problem with DRAM supply than already exists because there is no excess supply, no good alternative, and no quick way to ramp up production.

This dismissive contrarian Pollyanna attitude might serve well to minimise your personal anxiety, but I do not see how what you are saying is in any way the correct approach for making decisions or managing risk.

This is not some article saying that the sky is falling without evidence. It is not even an article saying the sky is falling with evidence. It is an article that says that there is a significant risk, due to an entirely preventable man-made problem, where steps can be taken now to reduce the medium-term impact of the problem. And then it lists those steps. Why is this not OK to you?

csnover··on Scientists used the same data, but their politics predicted the results
> real scientists’

This is a classic “no true scotsman” fallacy.

Some people working in genetics allow their personal politics to draw conclusions about racial superiority. Some people working in medical science allow their personal politics to draw conclusions about the safety and efficacy of vaccines and other medicines, or about the health effects of certain diets or body weights. Some people working in geology allow their personal politics to draw conclusions about the age or shape of the Earth, or about the safety of extractive industries. Some people working in biology allow their personal politics to draw conclusions about the origin of life. Some people working in computer science allow their personal politics to draw conclusions about the likelihood of AGI and the emergence of machine sentience.

Does this mean genetics, medicine, geology, biology, and computer science “fake” sciences? Of course not. The fact that some people in a field are engaged in scientific malpractice doesn’t invalidate the premise that some subject is worth studying in a scientific way. There are many in the social sciences who publish research that runs counter to their own personal politics because they are, in fact, doing science.

Setting that aside, what even is the relevance of a distinction between “personal politics”, and, say, someone who is willing to accept money in exchange for publishing favourable research in any direction? Or someone who engages in fraud in order to feed their ego? Or people who spend 30 years down the amyloid plaque rabbit hole due to fraud and what appear from the outside to be very unhealthy group dynamics (which might not be so unhealthy if they took some cues from the social sciences)?[0]

But let’s set all that aside for a moment.

If we were to do as you propose and “denounce and defund” whatever you define as the “social sciences”, what method should be used instead to guide our lawmaking and personal decision-making about important questions that fall under that umbrella? Majority rule? Might makes right? Whatever fable we learn as children must be true and remain unquestioned?

What you are proposing is to take a system that at least attempts to be objective some of the time, and say it should be destroyed in favour of… what, exactly?

I cannot object to the premise that there is a lot of junk science in the social sciences. I wish it were better. It is deeply ironic that you are here using research from a social science field as proof for your claim that social sciences should be denounced and defunded.

Getting back to your original claim. Perhaps a big reason why something like physics may seem as though “personal politics don’t determine the outcome” is because most of it is sufficiently abstract that, today, there is rarely some direct conflict with any deeply ingrained cultural belief. Social sciences, on the other hand, usually point the spotlight directly on things people hold as sacrosanct. This is a double-edged sword, since it means researchers are also more likely to put a thumb on the scale—which is exactly what this research suggests. But there is no fundamental error in the idea that the scientific method can and should be used to look at humans and human systems, so a call to “denounce and defund” is reactionary nonsense.

[0] https://www.statnews.com/2025/02/11/amyloid-hypothesis-alzhe...

csnover··on Dead Internet Theory
> Why are you so insistent that people don’t do what they clearly seem to do?

I’m not rejecting the idea that people fixate on stimuli that produce anger. The question is why they do that, and the answer is unlikely to be “people just want to be angry”.

> Why is that hypothesis so unbelievable?

Because it runs counter to the best available literature I am aware of and is a conclusion based on a superficial observation which has no underlying theoretical basis, whereas the hypothesis I present is grounded in some amount of actual science and evidence. Even the superficial Wikipedia article on anger emphasises the role of threat response here. Mine isn’t, as far as I can tell, some fringe position; it is very much in line with the research. It is also in line with my personal experience. “People just want to be angry” is not.

It is important to understand that the things people try to avoid through gossip, exaggeration, and expressions of anger are not all mortal threats. They can also be very mundane things like not wanting to eat something that they just think tastes bad. So make sure not to take the word “threat” too narrowly when considering this hypothesis.

I don’t have any skin in the game here other than an interest in the truth of the matter and a willingness to engage since I find this sort of thing both interesting and sociologically very important. If you or anyone have some literature to shove in my face that offers some compelling data in support of the “people love feeling angry” hypothesis, then sure, I would accept that and integrate that into my understanding of human behaviour.

csnover··on Dead Internet Theory
> In these gossip circles they brush off anything that doesn't make them upset

Things that they have no fear about, and so do not register as warranting brain time.

> eager to get to the outrageously stuff.

The things which are creating a feeling of fear.

It’s not necessary for the source of a fear to exist in the present moment, nor for it to even be a thing that is real. For as long as humans have communicated, we have told tales about things that go bump in the dark. Tales of people who, through their apparent ignorance of the rules of the group, caused the wrath of some spirits who then punished the group.

It needn’t matter whether a person’s actions actually caused a problem, or whether it caused the spirits to be upset, or indeed whether the spirits actually ever existed at all. What matters is that there is a fear, and there is a story about that fear, and the story reinforces some shared group value.

> It's a pattern of behavior which old people in particular commonly fall into,

Here is the fundamental fear of many people: the fear of obsolescence, irrelevance, abandonment, and loss of control. We must adapt to change, but also often have either an inability or unwillingness to do so. And so the story becomes it is everyone else who is wrong. Sometimes there is wisdom in the story that should not be dismissed. But most often it is just an expression of fear (and, again, sometimes boredom).

What makes this hypothesis seem so unbelievable? Why does it need to be people seeking anger? What would need to be true for you to change your opinion? This discussion thread is old, so no need to spend your energy on answering if you don’t feel strongly about it. Just some parting questions to mull over in the bath, perhaps.

Thank you for raising this idea originally, and for engaging with me on it.

csnover··on Nearly a third of social media research has undisclosed ties to industry
You aren’t the only one who remembers. But in that time it was a self-selecting process. The problem with “the algorithm”, as I see it, is not that it increases the baseline toxicity of your average internet fuckwad (though I do think the algorithm, by seeking to increase engagement, also normalises antisocial behaviour more than a regular internet forum by rewarding it with more exposure, and in a gamified way that causes others to model that antisocial behaviour). Instead, it seems to me that it does two uniquely harmful things.

First, it automatically funnels people into information silos which are increasingly deep and narrow. On the old internet, one could silo themselves only to a limited extent; it would still be necessary to regularly interact with more mainstream people and ideas. Now, the algorithm “helpfully” filters out anything it decides a person would not be interested in—like information which might challenge their world view in any meaningful way. In the past, it was necessary to engage with at least some outside influences, which helped to mediate people’s most extreme beliefs. Today, the algorithm successfully proxies those interactions through alternative sources which do the work of repackaging them in a way that is guaranteed to reinforce, rather than challenge, a person’s unrealistic world view.

Many of these information silos are also built at least in part from disinformation, and many people caught in them would have never been exposed to that disinformation in the absence of the algorithm promoting it to them. In the days of Usenet, a person would have to get a recommendation from another human participant, or they would have to actively seek something out, to be exposed to it. Those natural guardrails are gone. Now, an algorithm programmed to maximise engagement is in charge of deciding what people see every day, and it’s different for every person.

Second, the algorithm pushes content without appropriate shared cultural context into faces of many people who will then misunderstand it. We each exist in separate social contexts with in-jokes, shorthands for communication, etc., but the algorithm doesn’t care about any of that, it only cares for engagement. So you end up with today’s “internet winner” who made some dumb joke that only their friend group would really understand, and it blows up because to an outsider it looks awful. The algorithm amplifies this to the feeds of more people who don’t have an appropriate context, using the engagement metric to prioritise it over other more salient content. Now half the world is expressing outrage over a misunderstanding—one which would probably never have happened if not for the algorithm boosting the message.

Because there is no Planet B, it is impossible to say whether things would be where they are today if everything were the same except without the algorithmic feed. (And, of course, nothing happens in a vacuum; if our society were already working well for most people, there would not be so much toxicity for the algorithm to find and exploit.) Perhaps the current state of the world was an inevitability once every unhinged person could find 10,000 of their closest friends who also believe that pi is exactly 3, and the algorithm only accelerated this process. But the available body of research leads me to conclude, like the OP, that the algorithm is uniquely bad. I would go so far as to suggest it may be a Great Filter level threat due to the way it enables widespread reality-splitting in a geographically dispersed way. (And if not the recommendation algorithm on its own, certainly the one that is combined with an LLM.)

csnover··on Dead Internet Theory
> When they don't have outrage media they form gossip networks so they can tell each other embellished stories about mundane matters to be outraged and scandalized about.

But again in this situation the goal is not to be angry.

This sort of behaviour emerges as a consequence of unhealthy group dynamics (and to a lesser extent, plain boredom). By gossiping, a person expresses understanding of, and reinforces, their in-group’s values. This maintains their position in the in-group. By embellishing, the person attempts to actually increase their status within the group by being the holder of some “secret truth” which they feel makes them important, and therefore more essential, and therefore more secure in their position. The goal is not anger. The goal is security.

The emotion of anger is a high-intensity fear. So what you are perceiving as “seeking out a reason to be angry” is more a hypervigilant scanning for threats. Those threats may be to the dominance of the person’s in-group among wider society (Prohibition is a well-studied historical example), or the threats may be to the individual’s standing within the in-group.

In the latter case, the threat is frequently some forbidden internal desire, and so the would-be transgressor externalises that desire onto some out-group and then attacks them as a proxy for their own self-denial. But most often it is simply the threat of being wrong, and the subsequent perceived loss of safety, that leads people to feel angry, and then to double down. And in the world we live in today, that doubling down is more often than not rewarded with upvotes and algorithmic amplification.

csnover··on Fixing a Buffer Overflow in Unix v4 Like It's 1973
Your response is a non-sequitur that does not answer the question you yourself posed, and you are responding to yourself with a chatbot. Given that it is a non-sequitur, presumably it is also the case that no work was done to verify whether the output of the LLM was hallucinated or not, so it is probably also wrong in some way. LLMs are token predictors, not fact databases; the idea that it would be reproducing a “historical exploit” is nonsensical. Do you believe what it says because it says so in a code comment? Please remember what LLMs are actually doing and set your expectations accordingly.

More generally, people don’t participate in communities to have conversations with someone else’s chatbot, and especially not to have to vicariously read someone else’s own conversation with their own chatbot.

csnover··on CSS sucks because we don't bother learning it (2022)
It used to be the case that a web developer could be reasonably expected to actually learn and know pretty much all of CSS, but it has reached the point where it is actually not possible for a single person to “learn” CSS in the way you could in the 2000s or 2010s.

Just as one example, there are now, by my count, at least eight[0] layout models (column, anchor, positioned, flow, float, table, flex, and grid), plus several things that sit in some ambiguous middle place (the inline versions of block types, sticky positioning, masonry grid layout, subgrid, `@container`, paged media), each of which is different and each of which interacts with the others in various confounding ways. Flow collapses margins; table elements can’t have margins at all, but tables can have `border-spacing`, which is like `gap`, but different. Flex has a different default `min-inline-size` than flow, and `flex-basis` overrides `inline-size` if it isn’t `auto`, which is its initial value, until you use the recommended `flex` shorthand, at which point it becomes `0%`, unless you redefine it explicitly. Table layout[1] uses a special shrink-wrapping algorithm, which the CSS authors noted back in CSS 2 might make sense to add a way to work more like a regular block-level element, and then that just never happened. Grid is a mix of implicit and explicit placements with competing ways to do the same things (named areas, number ranges, templates on the parent, properties on the child) and a bunch of special sizing algorithm keywords like `minmax` and `fit-content` which only work in grid, some of which also work in flex, most of which don’t work in flow, but some of them do now, but they didn’t before.

You can select your elements with the old CSS 3 selectors, or `:where`, or `:is`, or `&`, or `:has` (but not if they’re nested), or `@scope`, or `@layer`. Definitely don’t try to put trailing commas on your selector lists, though, since that’s not syntactically valid in CSS, until it is, in some future revision.

To make sure your site works correctly with all scripts, all the directional keywords now have logical versions with `inline` and `block` keywords. Unless it’s a transform[2]. Or a gradient[3]. That’ll probably eventually be fixed, just keep checking the spec periodically until you have to re-learn something that used to be false is now true. Which is how “learning” CSS works. There is never an end.

And this is just the tip of the iceberg. There are also all the CSS units, colours, the whole animation engine, forms, pseudo-classes, pseudo-elements, containment, paints, filter effects, environment variables (yes, those are a thing), maths functions, overflow, scroll snaps, backgrounds and borders, feature queries, font features, writing modes, the different-but-not-really CSS of SVG, the half-forgotten weirdo things like `border-image` and `clip-path`, or the half-dozen other major and minor CSS features which I am not even thinking of right now.

CSS doesn’t suck “because we don’t bother learning it”. CSS sucks because its core strength is its core weakness. It is infinitely flexible and extensible, and that means it has been flexed and extended to fulfil every design trend and address every edge case. Then it needs to support all of those things forever. Making CSS do what you want as a web developer has probably never been easier, but “learning” CSS has never been harder.

[0] Please, for my own sanity, resist the urge to pedantically nitpick in the responses about whether everything in my list is actually a “layout model”. I am aware that some of these things overlap more than others. This is just my list. You can make your own list. It’s fine.

[1] Tables also create their own anonymous layout block such that a child `<caption>` element is drawn outside the putative `<table>` in the actual layout. Framesets do a similar thing with `<legend>`. These are all things that are the result of having to retroactively shoehorn weirdo features into CSS in a backwards-compatible way, but that doesn’t make it any less insane to learn.

[2] https://github.com/w3c/csswg-drafts/issues/1544

[3] https://github.com/w3c/csswg-drafts/issues/1724

csnover··on Debian's Git Transition
As someone who uses Debian and very occasionally interacts with the BTS, what I can say is this:

As far as I know, it is impossible to use the BTS without getting spammed, because the only way to interact with it is via email, and every interaction with the BTS is published without redaction on the web. So, if you ever hope to receive updates, or want to monitor a bug, you are also going to get spam.

Again, because of the email-only design, one must memorise commands or reference a text file to take actions on bugs. This may be decent for power users but it’s a horrible UX for most people. I can only assume that there is some analogue to the `bugreport` command I don’t know of for maintainers that actually offers some amount of UI assistance. As a user, I have no idea how to close my own bugs, or even to know which bugs I’ve created, so the burden falls entirely on the package maintainers to do all the work of keeping the bug tracker tidy (something that developers famously love to do…).

The search/bug view also does not work particularly well in my experience. The way that bugs are organised is totally unintuitive if you don’t already understand how it works. Part of this is a more general issue for all distributions of “which package is actually responsible for this bug?”, but Debian BTS is uniquely bad in my experience. It shows a combination of status and priority states and uses confusing symbols like “(frowning face which HN does not allow)” and “=” and “i” where you have to look at the tooltip just to know what the fuck that means.

csnover··on An SVG is all you need
> Also, allowing CSS inside SVG is not a great idea because the SVG renderer needs to include full CSS parser, and for example, will Inkscape work correctly when there is embedded CSS with base64 fonts? Not sure.

For better or worse, CSS parsing and WOFF support are both mandatory in SVG 2.[0][1] Time will tell whether this makes it a dead spec!

[0] https://www.w3.org/TR/SVG2/styling.html#StylingUsingCSS

[1] https://www.w3.org/TR/SVG2/text.html#FontsGlyphs

csnover··on An SVG is all you need
> - cannot wrap text

This is possible, but only in the stupid way of using a `<foreignObject>` to embed HTML in your SVG (which obviously only works if your SVG renderer also supports at least a subset of HTML). SVG 2 fixes this by adding support for `inline-size`[0], so now UAs just need to… support that.

> - cannot embed font glyphs - your SVG might be unreadable if the user doesn't have the font installed. You can convert letters to curves, but then you won't be able to select and edit text. It's such an obvious problem, yet nobody thought of it, how?

Somebody did think of it. SVG 1.1 added the `<font>` element[1]; SVG 2.0 replaced this with mandatory WOFF support.[2] A WOFF is both subsettable and embeddable using a data URI, and is supported by all the browser UAs already, so it’s obvious why this was changed, but embeddable SVG fonts have existed for a long time (I don’t know why/how they got memory holed).

> - browsers do not publish, which version and features they support

It should be possible to use CSS `@supports` for most of this and hide/show parts of the SVG accordingly in most places.[3] The SVG spec itself includes its own mechanism for feature detection[4], but since it is for “capabilities within a user agent that go beyond the feature set defined in this specification”, it’s essentially worthless.

There are obvious unsolved problems with SVG text, but they are more subtle. For example, many things one might want to render with SVG (like graphs) make more sense with an origin at the bottom-left. This is trivial using a global transform `scaleY(-100%)`, except for text. There is no “baseline” transform origin, nor any CSS unit for the ascent or descent of the line box, nor any supported `vector-effect` keyword to make the transformation apply only to the position and not the rendering. So unless the text is all the same size, and/or you know the font metrics in advance and can hard-code the correct translations, it is impossible to do the trivial thing.

There are other issues in a similar vein where scaling control is just ludicrously inadequate. Would you like to have a shape with a pattern fill that dynamically resizes itself to fill the SVG, but doesn’t distort the pattern, like how HTML elements and CSS `background` work? Good luck! (It’s possible, but much like the situation with text wrapping, requires egregious hacks.)

Some of the new `vector-effect` keywords in SVG 2 seem like they could address at least some of this, but those are “at risk” features which are not supported by UAs and may still be dropped from the final SVG 2 spec.

[0] https://www.w3.org/TR/SVG2/text.html#InlineSizeProperty

[1] https://www.w3.org/TR/SVG11/fonts.html

[2] https://www.w3.org/TR/SVG2/changes.html#fonts

[3] https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/A...

[4] https://www.w3.org/TR/SVG2/struct.html#ConditionalProcessing...

csnover··on Fast Lua runtime written in Rust
As others have noted, this is not actually a Lua engine written in Rust. It is a wrapper over existing C/C++ implementations of Lua. There is, however, an actual Lua engine written in Rust. It is called piccolo.[0]

[0] https://github.com/kyren/piccolo

csnover··on StarGrid: A new Palm OS strategy game
When opening POSE without a previous session, on Windows it would open a reasonable window with some buttons (New, Open, Download, Exit). On *nix, they instead decided to open a blank window that said “Right click on this window to show a menu of commands”. (And then, due to programming errors and bitrot, actually trying to use the context menu would access invalid memory and crash.) So I replaced that bad UI with the less bad one from Windows. :-)
csnover··on StarGrid: A new Palm OS strategy game
Oh, how frustrating. I have no idea how I missed that since I feel like I spent quite a while looking for some later update that included the source. Well, thank you for making sure to release it! I did rewrite most of the Retro68 CMake code too, perhaps for similar reasons, so I can understand how that could have been a problem. At least the newer versions of GCC do not have race conditions in their Makefiles, unlike prc-tools-remix. :-)

The work I did was intended to eventually merge and live alongside the existing stuff in Retro68 instead of just blowing it away, with the hope that nothing like this would ever happen again to anyone else, but of course I failed to actually finish the work.

csnover··on StarGrid: A new Palm OS strategy game
Yes, I saw that, it would have been really great if the source code had ever been released, instead I had to start from scratch…

My implementation does not require editing SDK headers and the goal was to support multiseg. If I had stopped at 32k single seg it would probably have been working. But I never got quite as far as being able to e.g. test libgcc, so who knows.

Page 1 of 11Next →