Live data from Hacker News

Web development is fun again

ma.ttias.be

621–630 of 658 posts

Re: Web development is fun again

#621
post #549

Earlier quoted context omitted.

they have a data bank the size of the internet so they can pull hints that sometimes surprise even experienced devs. That's a polite way of phrasing "they've stolen a mountain of information and overwhelmed resources that humans would use to other find answers." I just discovered another victim: the Renesas forums. Cloudflare is blocking me from accessing the site completely, the only site I've ever had this happen t…

> they've stolen a mountain of information In law, training is not itself theft. Pirating books for any reason including training is still a copyright violation, but the judges ruled specifically that the training on data lawfully obtained was not itself an offence. Cloudfare has to block so many more bots now precisely because crawling the public, free-to-everyone, internet is legally not theft. (And indeed would st…

> Cloudfare has to block so many more bots now precisely because crawling the public, free-to-everyone, internet is legally not theft.

That is simply not true. Freely available on the web doesn't mean it's in the Public Domain. The "lawfully obtained" part of your argument is patently untrue. You can legally obtain something, but that doesn't mean any use of it is automatically legal as well. Otherwise, the recent Spotify dump by Anna's Archive would be legal as well.

It all depends on the license the thing is released under, chosen by the person who made it freely accessible on the web. This license is still very emphatically a legally binding document that restricts what someone can do with it.

For instance, since the advent of LLM crawling, I've added the "No Derivatives" clause to the CC license of anything new I publish to the web. It's still freely accessible, can be shared on, etc., but it explicitly prohibits using it for training ML models. I even add an additional clause to that effect, should the legal interpretation of CC-ND ever change. In short, anyone training an LLM on my content is infringing my rights, period.

Re: Web development is fun again

#622
post #621
post #549

Earlier quoted context omitted.

> they've stolen a mountain of information In law, training is not itself theft. Pirating books for any reason including training is still a copyright violation, but the judges ruled specifically that the training on data lawfully obtained was not itself an offence. Cloudfare has to block so many more bots now precisely because crawling the public, free-to-everyone, internet is legally not theft. (And indeed would st…

> Cloudfare has to block so many more bots now precisely because crawling the public, free-to-everyone, internet is legally not theft. That is simply not true. Freely available on the web doesn't mean it's in the Public Domain. The "lawfully obtained" part of your argument is patently untrue. You can legally obtain something, but that doesn't mean any use of it is automatically legal as well. Otherwise, the recent Sp…

> Freely available on the web doesn't mean it's in the Public Domain.

Doesn't need to be.

> The "lawfully obtained" part of your argument is patently untrue. You can legally obtain something, but that doesn't mean any use of it is automatically legal as well.

I didn't say "any" use, I said this specific use. Here's the quote from the judge who decided this:

  5. OVERALL ANALYSIS.
  After the four factors and any others deemed relevant are “explored, [ ] the results [are] weighed together, in light of the purposes of copyright.” Campbell, 510 U.S. at 578. The copies used to train specific LLMs were justified as a fair use. Every factor but the nature of the copyrighted work favors this result. The technology at issue was among the most transformative many of us will see in our lifetimes.
- https://storage.courtlistener.com/recap/gov.uscourts.cand.43...

> Otherwise, the recent Spotify dump by Anna's Archive would be legal as well.

I specifically said copyright infringement was separate. Because, guess what, so did the judge the next paragraph but one from the quote I just gave you.

> For instance, since the advent of LLM crawling, I've added the "No Derivatives" clause to the CC license of anything new I publish to the web. It's still freely accessible, can be shared on, etc., but it explicitly prohibits using it for training ML models. I even add an additional clause to that effect, should the legal interpretation of CC-ND ever change. In short, anyone training an LLM on my content is infringing my rights, period.

It will be interesting to see if that holds up in future court cases. I wouldn't bank on it if I was you.

Re: Web development is fun again

#623
post #521

Earlier quoted context omitted.

Yes and no. Yes, I recon coding is dead. No, that doesn't mean there's nothing to learn. People like to make comparisons to calculators rendering mental arithmetic obsolete, so here's an anecdote: First year of university, I went to a local store and picked up three items each costing less than £1, the cashier rang up a total of more than £3 (I'd calculated the exact total and pre-prepared the change before reaching…

> But if I didn't already have experience of code review, I'd be limited to vibe-coding (by the original definition, not even checking). Code review done visually is "just vibe testing" in my book. It is not something you can reproduce, it depends on the context in your head this moment. So we need actual code tests. Relying on "Looks Good To Me" is hand waving, code smell level testing. We are discussing vibe coding…

I agree that actual tests are also necessary, that code review is not enough by itself. As LLMs can also write tests, I think getting as close as is sane to 100% code coverage is almost the first thing people should be doing with LLM assistance (and also, "as close as is sane": make sure that it really is a question of "I thought carefully and have good reason why there's no point testing this" rather than "I'm done writing test code, I'm sure it's fine to not test this", because LLMs are just that cheap).

However, code review can spot things like "this is O(n^2) when it could be O(n•log(n))", or "you're doing a server round trip for each item instead of parallelising them" etc.

You can also ask an LLM for a code review. They're fast and cheap, and whatever the LLM catches is something you get without having to waste a coworker's time. But LLMs have blind spots, and more importantly all LLMs (being trained on roughly the same stuff in roughly the same way) have roughly the same blind spots, whereas human blind spots are less correlated and expand coverage.

And code smells are still relevant for LLMs. You do want to make sure they're e.g. using a centralised UI style system and not copy-pasting style into each widget, because duplication wastes tokens and is harder to correctly update with LLMs for much the same reason it is with humans: stuff gets missed during the process when it's copypasta.

Re: Web development is fun again

#624
post #584

Earlier quoted context omitted.

> That's a polite way of phrasing "they've stolen a mountain of information and overwhelmed resources that humans would use to other find answers." Yes, but I can't stop them, can you? > But I'm glad you're able to have your fun. Unfortunately I have to be practical. > Doubtful. As the arms race continues AI DDoS bots will have less and less recent "training" material. Not a day goes by that I don't discover another…

The hope that they'll run out of relevant material is slim. If big corps are training their LLMs on their LLM written code…

You're almost there:

> If big corps are training their LLMs on their LLM written code >…

The last part is important.

Re: Web development is fun again

#625
post #623

Earlier quoted context omitted.

> But if I didn't already have experience of code review, I'd be limited to vibe-coding (by the original definition, not even checking). Code review done visually is "just vibe testing" in my book. It is not something you can reproduce, it depends on the context in your head this moment. So we need actual code tests. Relying on "Looks Good To Me" is hand waving, code smell level testing. We are discussing vibe coding…

I agree that actual tests are also necessary, that code review is not enough by itself. As LLMs can also write tests, I think getting as close as is sane to 100% code coverage is almost the first thing people should be doing with LLM assistance (and also, "as close as is sane": make sure that it really is a question of "I thought carefully and have good reason why there's no point testing this" rather than "I'm done…

I am personally working on formalizing the design stage as well, the core concepts being Architecture, Goal, Solution and Implementation. That would make something like the complexity of an algorithm an explicit decision in a graph. It would make constraints and dependencies explicitly formalized. You can track any code to its solution (design stage) and goals, account for everything top-down and bottom-up, and assign tests for all nodes.

Take a look here: https://github.com/horiacristescu/archlib/blob/main/examples... (but it's still WIP, I am not there yet)

Re: Web development is fun again

#626

Earlier quoted context omitted.

> It should load quicker compared to traditional React apps where the browser loads the HTML, then loads the JS bundle, and only then renders a loading skeleton while likely triggering more requests for data. Then your JS bundle is broken. Promises exist. Modules exist. HTTP/2+ exists. You can load data while you are loading a small amount of JS required to render that data while you are loading other parts of your J…

You cannot load any data in a regular React application before you loaded both React and your React components that trigger the fetch. If you use code splitting, your initial bundle size can be smaller, yes. That's about it. I guess in theory you can hack together static loading skeletons that you then remove when React loaded your initial bundle, but that's certainly far from a common approach. By that standard, the…

> You cannot load any data in a regular React application before you loaded both React and your React components that trigger the fetch.

You totally can!

Don't call fetch directly from a component - it's brittle. Write a hook to abstract that into one place. In your hook you can support prefetching by awaiting the promise you fired before you loaded your JS bundle (if you don't want to modify the server), or else take advantage of the browser cache. In this way your data and code can load in parallel.

Is it common? Not really. But it's a technique that is in the toolbox of a conscientious webdev.

Re: Web development is fun again

#628
post #572

Earlier quoted context omitted.

Learning means friction, it's not going to happen any other way.

"What an LLM is to me is the most remarkable tool that we've ever come up with, and it's the equivalent of a e-bike for our minds"

Which is about as useful as a bike for our airplanes.

Re: Web development is fun again

#629
post #598

Earlier quoted context omitted.

Wrong mental model. Addled old men can't write code 1000x faster than any human.

I'd prefer 1x "wrong stuff" than wrong stuff blasted 1000x. How is that helpful? Further, they can't write code that fast, because you have to spend 1000x explaining it to them.

Except it's not 1000x wrong stuff, that's the point. But don't worry, the Amish are welcoming of new luddites!

Re: Web development is fun again

#630
post #481

> I remember when PHP 4 was a thing. jQuery was new and shiny. Sites were built with tables, not divs. Dreamweaver felt like a life hack. Designs were sliced in Photoshop. Databases lived in phpMyAdmin. > It probably didn’t feel like it at the time, but looking back, those were simpler days. jQuery was bloat, there were others like MooTools. People idealize tables but it was not just grid, it was often used as hacks…

jQuery was not bloat. Before there was prototypejs (default in RoR for a long time), with over-complicated (and slow) ruby-inspired methods, and others and jQuery was at the time a breath of fresh air and sanity. I remember Angular had several methods with jquery in the name and, if memory serves, included sizzlejs (jquery selector library).
Post reply on HN