HNHacker News
TopNewBestAskShowJobs

DonaldPShimoda

2,791 karma · joined January 27, 2017

submissionscomments
DonaldPShimoda··on DraftKings Is Using AI to Behaviorally Target Chronic Gamblers
At least those often fund things like state education so, over time, the pool of victims is maybe lessened by the success of the program? Maybe?

(I am not defending state lotteries, but I do think there's some distinction to be made between "we actively exploit people to maximize our profits for our own sakes" and "we regulate the passive exploitation of people to supplement taxes in a regressive manner." Or something. I dunno, maybe somebody has more elaborate thoughts on this to share.)

DonaldPShimoda··on How I changed teaching after AI managed to do all my homework assignments
Good homework feedback for a proof isn't "Did you get this right?", it's "Why did you not get this right?" or "How can we make your correct solution better?", neither of which fall out of a Lean translation-and-verification pass.
DonaldPShimoda··on C++26: Trivial infinite loops are no longer undefined behaviour
Oh undoubtedly; I didn't mean to imply that performance was the reason behind the origin of UB, though I can see how my comment would read that way. Thank you for adding the note!
DonaldPShimoda··on C++26: Trivial infinite loops are no longer undefined behaviour
The "billion-dollar mistake" was about implicitly nullable values, i.e., allowing a variable with type `T` to also be set to `null`, not null-terminated strings.

Anyway, one argument is that UB is fundamentally useful in languages that are insufficiently type-safe, like C and C++. The "holes" in the specification allow for regions where the compiler can optimize the code in ways you may not expect.

As we have developed more advanced type systems, the utility of undefined behavior has lessened considerably.

DonaldPShimoda··on Vox, a systems language whose code reads like English
I don't mean to be overly disparaging, but I think the concept of "programming languages that look like natural language" has been played out. The result is that it's generally just a bad experience.

Natural languages are useful in large part because they have ambiguity and semantically fuzzy edges. That's how we get jokes and poetry and implication, among plenty of other things. Not only that, but natural language necessarily evolves over time: a word that may have meant something very specific at one time can come to be associated with things that may not seem related at first. (For example, I recently learned that average, as in the process of dividing a sum among a number of constituents, originates in an obligation of a ship's crew to compensate a merchant for the value of goods lost in transit.)

Meanwhile, the value of programming languages is specifically that they are designed to be un-ambiguous: they are meant to correspond one-to-one from text on the screen to actions in the computer. Nobody wants a programming language that probably corresponds to a particular set of instructions but might correspond to another. (Or, at least, nobody wants this for serious purposes; it definitely sounds fun, in a way.)

So when we unite the two by trying to implement a programming language that "feels like" natural language, we end up obfuscating intent rather than clarifying it: your programmers now have to learn a different, very specific verison of the natural language at hand (e.g., English) that only applies to this specific set of circumstances. They have to learn a bunch of conventions that are phrased in ways that might, to one programmer or another, feel like they mean one thing but actually mean another. It's an endeavor that often seems good to the person (or small group of people) designing it, but these languages frequently are inhibited from widespread adoption due to footguns the designer(s) did not encounter themselves, because, of course, the language is written in their dialect of the language.

DonaldPShimoda··on I Changed My Name
Yeahhh currently considering going through the legal name-change process to move one of my family names to a middle name or something. It's made all the worse by the fact that my parents didn't always use both family names when I was growing up, so some legal documents disagree on what my "last name" is.
DonaldPShimoda··on TypeScript 7
Most complex, perhaps, but not "most advanced". I don't think there's necessarily a meaningful "correct" choice for that title, but surely one of the proof assistant languages would be a more likely candidate?

(I don't say this to be disparaging of TypeScript's type system, by any means — it's very interesting stuff!)

DonaldPShimoda··on CS 6120: Advanced Compilers: The Self-Guided Online Course (2020)
That's part of it. I think another part is that it seems like the students are asked to read the papers behind a lot of the concepts, and academic literature is not generally very accessible to undergrads. (Not that they can't read it, but without someone guiding you through at least the first few papers, it can be a frustrating experience for many.)
DonaldPShimoda··on The Unsung Hero of the Lord of the Rings (2025)
I think I agree with you, overall.

But I would say that Bombadil is hugely important to understanding Middle-earth as a crafted mythos. He gives us valuable insight into Tolkien's ideas about self-satisfaction (the Ring has no sway over Tom because he is his own master), relationships with the land (Bombadil is married to a river spirit), being gentlehearted but stern (accepts the Hobbits gracefully, but defends them from Old Man Willow ardently), and a host of other things. He's like a distillation of what The Lord of the Rings is "about", in a sense, without having much direct impact on the story proper. He also serves to give depth to the world: we are introduced to him as just this sort of enigmatic fellow who deus-ex-machinas our protagonists out of a tight spot and then we move on, but then half a book later we find out the the most learned of the Elves hold Tom in such incredibly high esteem they consider whether to send the Ring to him (and, if I recall, doesn't Treebeard make mention of Bombadil at some point, too? further suggesting his importance to the world at large).

But he is not important to the plot, nor does he really serve to move our characters along their respective arcs in any meaningful way. His chapters really establish, with respect to these elements of the narrative, just a few important things:

- He demonstrates that the Ring's power can be resisted, but it does not come easily.

- He arms our Hobbits, which of course comes in handy at the Battle of the Pelennor Fields.

- The calm of his house nestled in the chaos of the world gives rise to Frodo's foresight of his travel to Valinor: "the grey rain-curtain [...] rolled back, and a far green country opened before him under a swift sunrise."

DonaldPShimoda··on The company I work for is losing all of its humanity, I don't know where to go
You haven't looked up what "capitalism" or "communism" is nor considered the possibility of other alternative economic systems, I see...
DonaldPShimoda··on The company I work for is losing all of its humanity, I don't know where to go
I think parent commenter is using "men" in a manner similar to mensch, as in "a person of integrity and honor" [1]. In other words, "look around and notice nobody is taking responsibility, and choose to be the person who lifts others up." Or something.

It's a weird way to phrase it, in my opinion, especially in this era where we are generally avoiding ambiguously gendered collective nouns... but I'm pretty sure that's the gist. Or, at least, it's how I read it.

[1] https://en.wikipedia.org/wiki/Mensch

DonaldPShimoda··on Elixir v1.20: Now a gradually typed language
> Not necessarily. Since the word "typed" language is not well-defined.

This depends entirely on context. In the Benjamin C. Pierce school of thought (a common choice in programming langauges research; see his book Types and Programming Languages, 2002), "typed" means what we typically call statically typed, i.e., the language employs a static analysis to prevent the compilation/execution of (some subset of) faulty programs. Meanwhile, languages that are commonly called "dynamically typed" are, in this school of thought, not typed (or "untyped"). (TAPL provides a more rigorous definition, but it's in the other room and I am lazy.)

DonaldPShimoda··on Rendering the Sky, Sunsets, and Planets
Agreed, this is a gorgeous blog. Makes me get the itch to redesign my own at some point (even though I've never been great at design).
DonaldPShimoda··on Show HN: TikTok but for scientific papers
I think the AI portion is not just something that ought have a toggle, but it should not be part of the platform.

Somewhat recently, the ACM (one of the premier publishers for computer science) integrated AI-generated summaries for all papers, and it made these summaries appear in place of author-written abstracts; to find the abstract, users had to use a toggle. The ACM argued that this was a benefit. After significant community pushback, the ACM has swapped things: author-written abstracts now appear first, but users are still offered a toggle to access AI-generated summaries instead.

As highlighted by professor Anil Madhavapeddy [1], the AI summaries are often factually incorrect, sometimes obviously, but often subtly. This sentiment was corroborated by numerous colleagues of mine less publicly: they checked the AI-generated summaries of their own papers, and for almost every paper were able to identify at least one factually incorrect or significantly misleading statement.

Some people argue that AI-generated summaries help to democratize academia; I think instead they are democratizing misunderstanding. The models fundamentally lack the capacity to "understand" when what they say is wrong or misleading. It is not uncommon that I have students in office hours with severe misgivings about our course material because they asked an LLM some innocuous question to which they thought surely the LLM would generate an accurate response. The course material is, of course, drawn from various sources, so the LLM ought be fairly likely to generate accurate responses. In contrast, a publication is often (or, by definition in my field, necessarily) introducing novel conclusions; this means that the LLM is less likely to generate an accurate summary for a paper than for course materials, and the course material summaries are already problematic enough, so I think applying this to research is just a bad move.

I understand the appeal. I understand how liberating it must feel to someone to get to "talk to" a paper to seek greater understanding. But if you already don't know enough about the material that this is useful, you also don't know enough to know when the responses are subtly incorrect, and I think this completely undermines the purpose of publication in the first place.

[1] https://anil.recoil.org/notes/acm-ai-recs

DonaldPShimoda··on Reverse Engineering SimTower
Some people also have moral issues with LLMs. If the poster is such a person, the accuracy metric may simply be irrelevant.
DonaldPShimoda··on The Zig project's rationale for their anti-AI contribution policy
...why does it being 2026 make nondeterminism more desirable or reasonable?
DonaldPShimoda··on The Zig project's rationale for their anti-AI contribution policy
The normal distribution doesn't account for things like "huge megacorporations pour billions of dollars into accelerating product adoption" or "other companies force their employees to use AI whether they want to or not" though.
DonaldPShimoda··on "People who don't use AI will be left behind"
Have you... talked to people? Like, people generally, not domain experts using these tools to augment their existing process.

Tons of people think AI is significantly more capable than it is. We've known for the better part of a century that generating text that merely pretends competence is enough to convince a significant portion of the population that it is competence.

DonaldPShimoda··on "People who don't use AI will be left behind"
> The reductionist, mechanical explanation of what AIs do is not the full picture

It is the full picture, to a first approximation. The statistical models involved are incredibly complex, and the mechanisms used to tend towards better outputs have improved drastically, but it is still fundamentally just statistics. I don't understand why you would try to argue otherwise. "Just statistics" is not a pejorative; if anything, I think it's incredibly impressive that we can do so much by using statistical models to predict things based on a context. But that means there are inherent limitations, and this is where my concern lies.

> AIs know more and can reason better than most humans

They do not "know" things; they do not "reason". They generate statistically likely outputs based on a huge and complex training set. The distinction is that it is still possible to get even modern cutting-edge models to contradict themselves or express "thoughts" in a way that a self-aware "reasoning" person would never do.

That said, yes, the statistical models have been tuned to generate output that imitates reasoning processes very realistically, and the training data includes copious quantities of "facts" that reflect human knowledge, and this has even led to neat and surprising outcomes. I'm not suggesting otherwise. I just fundamentally do not believe it is the same process that humans use for cognition, and I think the fact that LLMs generate text that appears to follow these processes is misleading to many people.

> The easiest way isn't with rhetorical tricks or sycophancy—it's arguing compellingly, solving difficult problems, and producing good code.

This depends greatly on what you think "easiest" means. The trade-off here is that we have invested a huge amount of compute to get here, which came with a significant cost vis a vis available resources.

DonaldPShimoda··on "People who don't use AI will be left behind"
I don't think anywhere I said they weren't useful tools; I said that a lot of people fail to recognize the limitations, and that even aside from limitations/utility there is a discussion to be had about broader impact.

LLMs are not hype, but "AI" is. AI is a marketing term, and always has been.

DonaldPShimoda··on "People who don't use AI will be left behind"
> I thought people here got excited about technology.

I am passionately excited about technology that serves people, but the current hype around AI is not that.

LLMs are, fundamentally, a super cool development. That we can now generate large regions of text that are statistically likely to be perceived as accurate is phenomenally neat.

But that's all they are: statistical text prediction engines. They do not think or reason; they generate next tokens based on prior context[1]. Unfortunately, because they predict really convincing text, a lot of people are willing to believe them to be more capable than they are. As a consequence, the companies developing these technologies have chosen to lean into rhetoric that exacerbates these beliefs because it means more money for them. The people running these companies fundamentally do not care about the human experience when they could instead care about profits[2].

AI, as an industry, is mostly hype — and it's a particularly insidious form of hype that preys on people's desire for cool, new things at the expense of our collective long-term well-being. The exponential ramp-up of AI data centers is wreaking havoc on natural ecosystems and local communities; the humans "employed" for RLHF are severely underpaid and exploited, and are mostly powerless to make other choices; the damage to our digital infrastructure and community is visible daily (how many "are you a human?" captchas do you get today versus ten years ago? how many useless pull requests do repositories big and small receive on a daily basis? how many "look I vibe coded a shitty app in three days and it's riddled with bugs, let me post about it" posts do we see now?). And this is all to say nothing of the rapidity with which huge swaths of people have just decided they don't care about other people fundamentally; they'd rather AI-generate some garbage company logo than employ a graphic designer to do a better job; they'd rather AI-generate copytext rather than hire an editor; they'd rather reach for the cheap, built-from-the-labor-of-others-without-respect-to-them tool that outsources all creativity and effort and gives them an immediately available "eh, it's good enough" solution. Before long, we will be inundated with "good enough", and we will forget what it was like to have good.

I'm excited about technology. I am not excited about the current incarnation of this technology.

[1] I am fundamentally not interested in sophistic arguments that "this is how humans work!" We don't know how humans work, so I make a choice to maintain a belief — based on my own experiences and learning — that LLMs do not accurately reflect the workings of a human brain.

[2] See "Empire of AI" by Karen Hao.

DonaldPShimoda··on United Wizards of the Coast
> None of the would-be founders here would support unionization at their companies. :)

That's because none of these would-be founders know how to turn a profit without exploiting their workers. :)

DonaldPShimoda··on United Wizards of the Coast
> Layoff Protections

Companies often expect employees to give advance notice of termination of employment, but employers do not feel beholden to their employees to reciprocate. This is unreasonable.

> Remote Work Protections

Many companies showed improved productivity when people were given flexibility. Claims to the contrary are often not backed up by actual data outside of cherry-picked results chosen by those in managerial positions.

> Generative AI Protections

MTG is a creative endeavor, and its output is protected by copyright. Copyright is, so far (thankfully), only enforceable when the media is produced by humans. Protections against the use of generative AI are not only good for workers' long-term productivity, but also for legal purposes.

---

I think maybe you should stop licking boots and start understanding why any of our society works today at all. As a hint, every protection you have ever enjoyed (40-hour work weeks, pensions or retirement funds, health insurance guarantees, mandatory paid time off, health and safety regulations, and so on) was paid for in blood by someone a company decided was not more important than profit. Unions are a fundamental capability by workers to ensure their own safety. Shockingly, I think it more reasonable to rely on the interpretations of those working in these jobs who want to unionize than some random person online who thinks "no wait, but think of the poor endangered company! :("

DonaldPShimoda··on Show HN: leaf – a terminal Markdown previewer with a GUI-like experience
I don't think the em-dashes are particularly out of place in a list like this, though it's not the style I use.

I didn't realize ARCHITECTURE.md was an LLM thing (though I suppose I would've if I'd opened it); I'll have to keep my eyes open for that one in the future too.

DonaldPShimoda··on Show HN: leaf – a terminal Markdown previewer with a GUI-like experience
> Features:

> <bullet> <checkbox> description 1

> <bullet> <checkbox> description 2

> ...

Like... why are we doing this. What is the purpose of having a bunch of green checkbox emojis in the already bulleted list of features. The only thing it tells me is that an LLM was probably used extensively in building this project.

DonaldPShimoda··on It's time to reclaim the word "Palantir" for JRR Tolkien
> I swear I remember reading something Tolkien (maybe) said about the eye of sauron being basically an analogy about the press.

Hmm I'd be interested to see a citation for that. As far as I know, Tolkien maintained for his entire life that The Lord of the Rings was not in any way intended as an analogy or allegory (but he admitted that, of course, it was obviously influenced by his lived experience).

DonaldPShimoda··on Borrow-checking without type-checking
There is no consistent definition of the term "weak typing". Do you mean implicit coercion?

> Most people who think they have a problem with dynamic typing actually have a problem with weak typing.

Ironically, I would counter that, in my experience, most people who have a problem with static typing actually have a problem with verbose type systems, like Java's or C++'s — or Rust's. (Rust is at least gaining something for its verbosity.)

Type inference is a neat way to bridge the gap. OCaml, Haskell, and Swift (to name a few) all feature distinct type inferencing that give you the benefits of static types without as much syntactic overhead.

DonaldPShimoda··on It's time to reclaim the word "Palantir" for JRR Tolkien
> Palantir already has the blessings of the Tolkien estate.

Is that true? I can't find any articles corroborating this claim. As far as I can tell from some brief googling, there is simply no legal course of action to take to prevent companies from using these names (or names from other works of fiction), even if the Tolkien Estate would like to.

DonaldPShimoda··on The Theory of Interstellar Trade [pdf] (1978)
I saw the name and thought "that sounds familiar", only to realize it's the economist I've seen on social media a lot lately (e.g., he was recently interviewed by Hasan Minhaj [0]).

[0] https://youtu.be/qGxFLOw7KW8

DonaldPShimoda··on Isaac Asimov: The Last Question (1956)
Right — they're not reasoning, they're generating text that statistically models reasoning. Anyone who says differently is selling something.
Page 1 of 25Next →