HN user

matt_kantor

822 karma

https://mattkantor.com

Posts1
Comments526
View on HN

No one would have entertained the idea of rewriting a project in Rust before this.

I largely agree with your comment, but is this sentence typo'd or something? "Rewrite it in Rust" happens so often that it's become a meme (and that was so before the rise of agentic coding).

Maybe you meant to say that nobody would have entertained the idea of rewriting this project in Rust?

Simple example: [package.json is JSON]

Why can't you fix this while embracing existing tech? I can imagine monkeypatching Node & NPM to add support for JSONC or JSON5 or whatever in the same way that Nub adds various features via monkeypatching. Is there some architectural reason that can't work?

You'd need `npm publish` to compile it down to plain JSON when publishing, but that seems like an okay compromise.

CSSQuake 1 month ago

It'd be like if the IOT AI Smart Air Fryer had a constraint of only being allowed to use friction to create heat.

CSSQuake uses an intentionally-absurd rendering pipeline. It's not surprising that the result is sub-optimal.

(Though I agree that the meatloaf analogy is not very good.)

My immediate question while reading your post (as someone who doesn't know much about ATProto) was "but where is the box for Bluesky?".

You didn't draw a box for Mastodon either, but my understanding is that it'd encompass all the individual instance boxes in the Mastodon-brained diagram. I think if you were to draw a box for ATmosphere it'd encompass everything in your ATProto diagrams. But what about Bluesky, Eurosky, etc? Are they "apps" in your diagram? I don't think so because I'm pretty sure they also host users' data. Are they the dotted "hosting" boxes? What are these things even called? Apparently not "instances"; are they "services"? "Networks"? "Providers"? Something else?

I'm spiritually sympathetic to your final sentence, but intellectual property law is not.

There are already a bunch of replies pointing out ways in which your metaphor breaks down, but here's another: the super intelligent speed reading human is not a "work" (in the sense of "derivative work").

Also, if I'm understanding your position, why wasn't your scenario about the human pirating the books and then reading them? It should make no difference if you really believe knowledge can't be stolen; both situations should be equivalent.

Presumably there's some natural semantic relationship between the elements if you're going for that kind of visual layout (and even blind users might benefit from encoding that relationship in the DOM), but I don't necessarily disagree with your overall point.

Sparingly-used non-semantic grouping elements only inserted when absolutely necessary is a pretty different story from the "layers and layers of wrapper elements" that the article mentions, though.

---

you need to modify HTML to modify the presentation in practice

If you're e.g. grouping together content that was previously unstructured, arguably that's a semantic change as well as a presentational one.

Multiple sequential paragraphs all sitting next to two images? Or multiple rows, each containing a single paragraph + two images?

The latter probably would need an element for each row to be maintainable/scalable, but depending on the content, `<article>` could be a semantically-meaningful container. Or (again, depending on the content) it could make semantic sense to put the `<img>` elements inside the `<p>` elements.

You almost always need wrapper elements to group elements you want to align together for presentation purposes only (e.g. "a vertically centered row containing one paragraph next to two vertically stacked images")

Challenge accepted: https://codepen.io/editor/mkantor/pen/019eb65b-5b17-70cc-872...

You aren't entirely wrong, but I think I'd change "almost always" to "often" or even "sometimes". A lot of the specifics come down to how you want stuff to reflow when the content and/or viewport sizes change.

It seems like you don't actually want to engage with me in discussion. If I'm mistaken about that, please correct me (I enjoy talking about stuff like this and would love to understand your perspective). If not, that's fine too, but I don't want to waste my time.

The domain of your claim was "in any universe, under any set of assumptions". I now take it that you assume (see what I did there?) that all universes are sound according to classical logic and can admit no contradictions. You might be interested in <https://plato.stanford.edu/entries/impossible-worlds>, an overview of philosophical thinking on that subject.

Separately, if you scrub "plus rules like modus ponens" from my previous comment, do you agree with the rest of it?

No, not every statement requires assumptions in order to hold. "The assumptions A implies B and B implies C, taken together, yield A implies C." This statement contains assumptions and makes observations about them, but it is true regardless of whether the assumptions it describes are true. The statement as a whole is "true" in the exact sense that the no counterexample to it can ever be given in any universe, under any set of assumptions.

"The assumptions A implies B and B implies C, taken together, yield A implies C" is a statement using propositional logic. Like any formal system, propositional logic has axioms (for example, as defined by Frege[0]). Those axioms plus rules like modus ponens are things you need to "assume" to decide the truth value of that statement.

[0] https://en.wikipedia.org/wiki/Hilbert_system#Frege's_Begriff...

Deno 2.8 2 months ago

Is this a joke I'm not getting or are your wires crossed? Bun is the topic of this subthread.

The alternative presented is intuitionist logic, which is practically what in the computing world? Where is it used? Or where could or should it be used?

The Curry-Howard correspondence[1] tells us that every function is a proof (in the intuitionistic sense) of the proposition represented by its return type, given the axioms ("context" in the article) represented by its arguments.

This fact is leveraged heavily by proof assistants (as mentioned in the article), but is generally useful in any statically-typed programming language.

[1] https://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspon...

Well the rainforest is about 6 million km² so that's what I have to work with. Assuming I can finish my other project of turning the Grand Canyon into a giant iron mine to produce enough steel, I want to use as much of that space as I can (but I'll need to set aside at least a million km² for parking lots, bathrooms, concessions, etc). I'll probably keep the main channel of the Amazon River in place for sewage and other waste disposal, but I can bridge the coaster over it so that's not a problem.

I don't owe you further debate

You most definitely don't have to reply. I wasn't really expecting you to.

I've already moved on

Imagine there's a certain kind of candy that you enjoy. Now imagine you learn that candy is manufactured by literal child slaves, its ingredients include the ground-up bones of an endangered species (which happens to be carcinogenic), and the company which makes it donates all of their profits to political causes that you strongly disagree with. Would you reconsider buying said candy in the future?

Are there any facts or perspectives that you could become aware of which might change your mind about the ethics surrounding large language models? Or is it an entirely closed case for you?

I personally try to keep an open mind about pretty much everything. It's not that I don't have opinions, but they're always subject to change.

To put my cards on the table regarding my current opinions of the current subject: I've historically been pretty anti-copyright; I believe that information wants to be free. However, I'm unsettled by the uneven application of existing intellectual property laws (if these laws are going to exist they should be enforced consistently). I'm undecided as to whether I think LLMs themselves should be considered derivative works of their training material, but I definitely think they're often used to produce derivative works (sometimes unintentionally/unknowingly). None of that means they aren't useful for building cool stuff or that the technology behind them isn't amazing.

The argument that you're ignoring is about whether they're ethical or not. Your priors may land you on either side of that argument, but ideally you're willing to have your mind changed if the other side makes a strong enough case.

But intentionally blinding yourself to the debate and plowing ahead anyway (which is how I interpreted your parent comment) sounds like willful ignorance.

Yeah, don't let pesky discussions about ethics get in the way of building cool stuff.

I'm working on paving over the Amazon rainforest so I can build the world's largest roller coaster, but for some reason people keep trying to talk me out of it. Good thing I have this bucket of sand to put my head in so I can tune them out.

Help me understand how your above comment[0] squares with your previous one[1].

Above, you said:

We still require a code review for any change

And:

We don't really vibe though. At least I don't. I see it more as comment driven development. I need to understand the code and what I want to achieve where in the codebase

But in your previous comment, you said:

since I'm no longer looking at code

And:

Branches are now irrelevant

How can all of these things be true?

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

[1] https://news.ycombinator.com/item?id=47713557