Hacker Newsnew | past | comments | ask | show | jobs | submit | dilDDoS's commentslogin

As others have said, it's definitely volume, but also the lack of respecting robots.txt. Most AI crawlers that I've seen bombarding our sites just relentlessly scrape anything and everything, without even checking to see if anything has changed since the last time they crawled the site.


Yep, AI scrapers have been breaking our open-source project gerrit instance hosted at Linux Network Foundation.

Why this is the case while web-crawlers have been scrapping the web for the last 30 years is a mystery to me. This should be a solved problem. But it looks like this field is full of wrongly behaving companies with complete disregards toward common goods.


>Why this is the case while web-crawlers have been scrapping the web for the last 30 years is a mystery to me.

a mix of ignorance, greed, and a bit of the tragedy of the commons. If you don't respect anyone around you, you're not going to care about any rules or ettiquite that don't directly punish you. Society has definitely broken down over the decades.


I'm happy to finally see this take. I've been feeling pretty left out with everyone singing the praises of AI-assisted editors while I struggle to understand the hype. I've tried a few and it's never felt like an improvement to my workflow. At least for my team, the actual writing of code has never been the problem or bottleneck. Getting code reviewed by someone else in a timely manner has been a problem though, so we're considering AI code reviews to at least take some burden out of the process.


AI code reviews are the worst place to introduce AI, in my experience. They can find a few things quickly, but they can also send people down unnecessary paths or be easily persuaded by comments or even the slightest pushback from someone. They're fast to cave in and agree with any input.

It can also encourage laziness: If the AI reviewer didn't spot anything, it's easier to justify skimming the commit. Everyone says they won't do it, but it happens.

For anything AI related, having manual human review as the final step is key.


Agreed.

LLM’s are fundamentally text generators, not verifiers.

They might spot some typos and stylistic discrepancies based on their corpus, but they do not reason. It’s just not what the basic building blocks of the architecture do.

In my experience you need to do a lot of coaxing and setting up guardrails to keep them even roughly on track. (And maybe the LLM companies will build this into the products they sell, but it’s demonstrably not there today)


> LLM’s are fundamentally text generators, not verifiers.

In reality they work quite well for text and numeric (via tools) analysis, too. I've found them to be powerful tools for "linting" a codebase against adequately documented standards and architectural guidance, especially when given the use of type checkers, static analysis tools, etc.


The value of an analysis is the decision that will be taken after getting the result. So will you actually fix the codebase or it’s just a nice report to frame and put on the wall?


> So will you actually fix the codebase…

Code quality improvements is the reason to do it, so *yes*. Of course, anyone using AI for analysis is probably leveraging AI for the "fix" part too (or at least I am).


That's a fantastic counterpoint. I've found AI reviewers to be useful on a first pass, at a small-pieces level. But I hear your opinion!


I find the summary that copilot generates is more useful than the review comments most of the time. That said, I have seen it make some good catches. It’s a matter of expectations: the AI is not going to have hurt feelings if you reject all its suggestions, so I feel even more free to reject it feedback with the briefest of dismissals.


What about something like this?

Link to the ticket. Hopefully your team cares enough to write good tickets.

So if the problem is defined well in the ticket, do the code changed actually address it?

For example for a bug fix. It can check the tests and see if the PR is testing the conditions that caused the bug. It can check the code changed to see if it fits the requirements.

I think the goal with AI for creative stuff should be to make things more efficient, not replace necessarily. Whoever code reviews can get up to speed fast. I’ve been on teams where people would code review a section of the code they aren’t familiar with too much.

In this case if it saves them 30 minutes then great!


I agree and disagree. I think it's important to make it very visually clear that it is not really a PR, but rather an advanced style checker. I think they can be very useful for assessing more rote/repetitive standards that are a bit beyond what standard linters/analysis can provide. Things like institutional standards, lessons learned, etc. But if it uses the normal PR pipeline rather than the checker pipeline, it gives the false impression that it is a PR, which is not.


IMO, the AI bits are the least interesting parts of Zed. I hardly use them. For me, Zed is a blazing fast, lightweight editor with a large community supporting plugins and themes and all that. It's not exactly Sublime Text, but to me it's the nearest spiritual successor while being fully GPL'ed Free Software.

I don't mind the AI stuff. It's been nice when I used it, but I have a different workflow for those things right now. But all the stuff besides AI? It's freaking great.


> while being fully GPL'ed Free Software

I wouldn't sing them praises for being FOSS. All contributions are signed away under their CLA which will allow them to pull the plug when their VCs come knocking and the FOSS angle is no longer convenient.


How is this true if it’s actually GPL as gp claimed?


The CLA assigns ownership of your contributions to the Zed team[^0]. When you own software, you can release it under whatever license you want. If I hold a GPL license to a copy, I have that license to that copy forever, and it permits me to do all the GPL things with it, but new copies and new versions you distribute are whatever you want them to be. For example Redis relicensed, prompting the community to fork the last open-source version as Valkey.

The way it otherwise works without a CLA is that you own the code you contributed to your repo, and I own the code I contributed to your repo, and since your code is open-source licensed to me, that gives me the ability to modify it and send you my changes, and since my code is open-source licensed to you, that gives you the ability to incorporate it into your repo. The list of copyright owners of an open source repo without a CLA is the list of committers. You couldn't relicense that because it includes my code and I didn't give you permission to. But a CLA makes my contribution your code, not my code.

[^0]: In this case, not literally. You instead grant them a proprietary free license, satisfying the 'because I didn't give you permission' part more directly.


Because when you sign away copyright, the software can be relicensed and taken closed source for all future improvements. Sure, people can still use the last open version, maybe fork it to try to keep going, but that simply doesn’t work out most times. I refuse to contribute to any project that requires me to give them copyright instead of contributing under copyleft; it’s just free contractors until the VCs come along and want to get their returns.


> I refuse to contribute to any project that requires me to give them copyright instead of contributing under copyleft

Please note that even GNU themselves require you to do this, see e.g. GNU Emacs which requires copyright assignment to the FSF when you submit patches. So there are legitimate reasons to do this other than being able to close the source later.


FSF and GNU are stewards of copyleft, and FSF is structured under 501(c)(3). Assigning copyright to FSF whose significant purpose is to defend and encourage copyleft…is contributing under copyleft in my mind. They would face massive backlash (and GNU would likely face lawsuits from FSF) were they to attempt such a thing. Could they? Possibly. Would they? Exceptionally unlikely.

So yes, I trust a non-profit, and a collective with nearly 50 years of history supporting copyleft, implicitly more than I will ever trust a company or project offering a software while requiring THEY be assigned the copyright rather than a license. Even your statement holds a difference; they require assignment to FSF, not the project or its maintainers.

That’s just listening to history, not really a gotcha to me.


I will start being worried about GNU approach the day they accept VC money.


> even GNU themselves require you to do this

Some GNU projects require this; it’s up to the individual maintainers of each specific GNU project whether to require this or not. Many don’t.


The FSF also typically requires a copyright assignment for their GPL code. Nobody thinks that they’ll ever relicense Emacs, though.


It has been decades since I've seen an FSF CLA packet, but if I recall correctly, the FSF also made legally-binding promises back to the original copyright holder, promising to distribute the code under some kind of "free" (libre, not gratuit) license in the future. This would have allowed them to switch from GPL 2 to GPL 3, or even to an MIT license. But it wouldn't have allowed them to make the software proprietary.

But like I said, it has been decades since I've seen any of their paperwork, and memory is fallible.


They’re also not exactly a VC-backed startup.


yeah I don't mind signing a CLA for copyleft software to a non-profit org, but i do with a for-profit one.


In my opinion, it's not. They could start licensing all new code under a non-FOSS license tomorrow and we'd still have the GPL'ed Zed as it is today. The same is true for any project, CLA or not.


why not just use sublime text?


That GPL/Free Software part is a pretty huge part of the reason.


until the inevitable VC rug pull…


It’ll still be GPL.


I found the OP comment amusing because Emacs with a Jetbrains IDE when I need it is exactly my setup. The only thing I've found AI to be consistently good for is spitting out boring boilerplate so I can do the fun parts myself.


I always hear this "writing code isn't the bottleneck" used when talking about AI, as if there are chosen few engineers who only work on completely new and abstract domains that require a PhD and 20 years of experience that an LLM can not fathom.

Yes, you're right, AI cannot be a senior engineer with you. It can take a lot of the grunt work away though, which is still part of the job for many devs at all skill levels. Or it's useful for technologies you're not as well versed in. Or simply an inertia breaker if you're not feeling very motivated for getting to work.

Find what it's good for in your workflows and try it for that.


I feel like everyone praising AI is a webdev with extremely predictable problems that are almost entirely boilerplate.

I've tried throwing LLMs at every part of the work I do and it's been entirely useless at everything beyond explaining new libraries or being a search engine. Any time it tries to write any code at all it's been entirely useless.

But then I see so many praising all it can do and how much work they get done with their agents and I'm just left confused.


Can I ask what kind of work area you're in?


Yeah, the more boilerplate your code needs, the better AI works, and the more it saves you time by wasting less on boilerplate.

AI tooling my experience:

- React/similar webdev where I "need" 1000 lines of boilerplate to do what jquery did in half a line 10 years ago: Perfect

- AbstractEnterpriseJavaFactorySingletonFactoryClassBuilder: Very helpful

- Powershell monstrosities where I "need" 1000 lines of Verb-Nouning to do what bash does in three lines: If you feed it a template that makes it stop hallucinating nonexisting Verb-Nouners, perfect

- Abstract algorithmic problems in any language: Eh, okay

- All the `foo,err=…;if err…` boilerplate in Golang: Decent

- Actually writing well-optimized business logic in any of those contexts: Forget about it

Since I spend 95% of my time writing tight business logic, it's mostly useless.


Highlighting code and having cursor show the recommended changes and make them for me with one click is just a time saver over me copying and pasting back and forth to an external chat window. I don’t find the autocomplete particularly useful, but the inbuilt chat is a useful feature honestly.


I'm the opposite. I held out this view for a long, long time. About two months ago, I gave Zed's agentic sidebar a try.

I'm blown away.

I'm a very senior engineer. I have extremely high standards. I know a lot of technologies top to bottom. And I have immediately found it insanely helpful.

There are a few hugely valuable use-cases for me. The first is writing tests. Agentic AI right now is shockingly good at figuring out what your code should be doing and writing tests that test the behavior, all the verbose and annoying edge cases, and even find bugs in your implementation. It's goddamn near magic. That's not to say they're perfect, sometimes they do get confused and assume your implementation is correct when the test doesn't pass. Sometimes they do misunderstand. But the overall improvement for me has been enormous. They also generally write good tests. Refactoring never breaks the tests they've written unless an actually-visible behavior change has happened.

Second is trying to figure out the answer to really thorny problems. I'm extremely good at doing this, but agentic AI has made me faster. It can prototype approaches that I want to try faster than I can and we can see if the approach works extremely quickly. I might not use the code it wrote, but the ability to rapidly give four or five alternatives a go versus the one or two I would personally have time for is massively helpful. I've even had them find approaches I never would have considered that ended up being my clear favorite. They're not always better than me at choosing which one to go with (I often ask for their summarized recommendations), but the sheer speed in which they get them done is a godsend.

Finding the source of tricky bugs is one more case that they excel in. I can do this work too, but again, they're faster. They'll write multiple tests with debugging output that leads to the answer in barely more time than it takes to just run the tests. A bug that might take me an hour to track down can take them five minutes. Even for a really hard one, I can set them on the task while I go make coffee or take the dog for a walk. They'll figure it out while I'm gone.

Lastly, when I have some spare time, I love asking them what areas of a code base could use some love and what are the biggest reward-to-effort ratio wins. They are great at finding those places and helping me constantly make things just a little bit better, one place at a time.

Overall, it's like having an extremely eager and prolific junior assistant with an encyclopedic brain. You have to give them guidance, you have to take some of their work with a grain of salt, but used correctly they're insanely productive. And as a bonus, unlike a real human, you don't ever have to feel guilty about throwing away their work if it doesn't make the grade.


> Agentic AI right now is shockingly good at figuring out what your code should be doing and writing tests that test the behavior, all the verbose and annoying edge cases,

That's a red flag for me. Having a lot of tests usually means that your domain is fully known so now you can specify it fully with tests. But in a lot of setting, the domain is a bunch of business rules that product decides on the fly. So you need to be pragmatic and only write tests against valuable workflows. Or find yourself changing a line and have 100+ tests breaking.


If you can write tests fast enough, you can specify those business rules on the fly. The ideal case is that tests always reflect current business rules. Usually that may be infeasible because of the speed at which those rules change, but I’ve had a similar experience of AI just getting tests right, and even better, getting tests verifiably right because the tests are so easy to read through myself. That makes it way easier to change tests rapidly.

This also is ignoring that ideally business logic is implemented as a combination of smaller, stabler components that can be independently unit tested.


Unit tests value is mostly when integration and more general tests are failing. So you can filter out some sections in the culprit list (you don’t want to spend days specifying the headlights if the electric design is wrong or the car can’t start)

Having a lot of tests is great until you need to refactor them. I would rather have a few e2e for smoke testing and valuable workflows, Integration tests for business rules. And unit tests when it actually matters. As long as I can change implementation details without touching the tests that much.

Code is a liability. Unless you don’t have to deal with (assembly and compilers) reducing the amount of code is a good strategy.


This is a red flag for me. Any given user-facing software project with changing requirements is still built on top of relatively stable, consistent lower layers. You might change the business rules on top of those layers, but you need generally reasonable and stable internal APIs.

Not having this is very indicative of a spaghetti soup architecture. Hard pass.


Tests breaking when you change things is... kind of the point?


You can over specify. When the rules are stringent it's best to have extensive test suites (Like Formula 1). But when it's just a general app, you need to be pragmatic. It's like having a too sensitive sensor in some systems.


What languages and contexts are you getting these good results for?


Which model are you using?


Good marketing bro


AI is solid for kicking off learning a language or framework you've never touched before.

But in my day to day I'm just writing pure Go, highly concurrent and performance-sensitive distributed systems, and AI is just so wrong on everything that actually matters that I have stopped using it.


But so is a good book. And it costs way less. Even though searching may be quicker, having a good digest of a feature is worth the half hour I can spend browsing a chapter. It’s directly picking an expert brains. Then you take notes, compare what you found online and the updated documentation and soon you develop a real understanding of the language/tool abstraction.


In an ideal world, yeah. But most software instructional docs and books are hot garbage, out of date, incorrect, incomplete, and far too shallow.


Are you reading all the books on the market? You can find some good recommendation lists. No need to get every new releases from Packtpub.


I knew you were up to jab Packt XD I have yet to find a good book from Packt it may be exist. My fav publishers are manning and nostarch press


I’m using Go to build a high performance data migration pipeline for a big migration we’re about to do. I haven’t touched Go in about 10 years, so AI was helpful getting started.

But now that I’ve been using it for a while it’s absolutely terrible with anything that deals with concurrency. It’s so bad that I’ve stopped using it for any code generation and going to completely disable autocomplete.


AI has stale knowledge I won't use it for learning, especially because it's biased towards low quality JS repos on which has been trained on


A good example would be Prometheus, particularly PromQL for which the docs are ridiculously bare, but there is a ton of material and stackoverflow answers scattered al over the internet.


zed was just a fast and simple replacement for Atom (R.I.P) or vscode. Then they put AI on top when that showed up. I don't care for it, and appreciate a project like this to return the program to its core.


I actually think pirating encourages a healthier approach to watching TV/movies. I've fully made the switch to pirating instead of subscribing to any streaming services, and it's led to me thinking more critically about what I want to spend time downloading and watching rather than just flipping mindlessly through endless amounts of readily available garbage on a streaming service.

I do still have Kanopy though, which is great for me but obviously depends on your library.


For me, I only seek out media I plan to actually watch. Rather than flipping through what is available and choosing from there. Currently it is stargate sg1/atlantis what I am watching.

Also, a lot of movies/series are only available dubbed here. (I really effing hate "Sie" in dubbed media. So much so, that it's one of the major reasons I go for subbed in english, at most)


When i first used netflix at my friends house, I immediately used the search bar and looked for Jurassic Park... what kind of movie service doesn't have JP, i thought. It must be around 10 years ago, and I never used it once afterwards.


They've had Jurassic Park repeatedly over the years since then, and I've watched it a couple of those times.

But when Netflix was new to streaming they had so much more content; it was great. Then all the rights-holders decided they didn't want just a cut of Netflix's rates, they'd rather have all of it. Since then, the services have seemingly reluctantly agreed to license some of their stuff, some of the time, to other services, often with temporary exclusivity. If Netflix wanted it all back, they'd need a friendly blue genie and a monkey to defeat a multitudinous Jafars.


Not always. Now I just flip mindlessly through endless amounts of readily available garbage on my jellyfin server instead.


Then don’t be a hoarder and only get what you want to watch

I have my watchlist hooked up to *arr so it pulls that stuff automatically. Once I watched it and it’s not something I want to show to others, I delete it.


> Then don’t be a hoarder

Of course. Why didn't I think of that?


> led to me thinking more critically about what I want to spend time downloading and watching rather than just flipping mindlessly through endless amounts of readily available garbage

For me it's a bit different. I have the *arr stack fully automated (with 22Tb of storage for now maaaaybe it's overkill), for friends and family too.

And the experience is nice because it makes content "crowd sourced". If something is on the server it means someone else purposefully added it, so you can still browse, but it's curated based on your friend/family circle.

But also the automation part can be a bit "mindlessly click download on everything even stuff I probably won't watch", but disk space constraints force you to delete it if nobody's watching.


Radarr and Sonarr are my two favourite pieces of software ever. Together with Plex I get an experience FAR superior to any streaming service. For the record I would be happy to pay for such a service, but they're so greedy they'll never offer such a unified service. Instead they keep making the direct to Netflix content worse. Removing content without any notice. Making the app UX worse, including removing useful reviews from the platform, and making content auto play when browsing. The best example of this clusterfuck is the Pokemon where to watch guide: https://www.pokemon.com/us/animation/where-to-watch-pokemon-...


Why not purchase the discs and copy them yourself? At least artists can get paid that way.


Most shows don't get a dvd release anymore.


And then sometimes you have to deal with a bunch of bullshit changes because of music licensing or something.


Or current streaming doesn't have the license for the original music or soundtracks. Thus it really is a different product.


I prefer physical media. However, it can sometimes be a chore to start the movie! Each disc is different. Some discs use non-standard methods to access the home menu. Some require that you at least skip past all the previews at the beginning. The worst discs require several minutes of fiddling in addition to finding and inserting the disc before you can watch it. Compare this with double-clicking an mkv and having it just...start.


I haven’t bought a lot of DVDs lately, but the ones I have all were from used DVD stores. I think the artists were paid once.


Why not buy them used or better yet check them out at the library and save myself some money in the process? Piracy is more convenient.


Nobody said you couldn't do this too.


Ehh sounds like an automation issue. Buy another hard-drive and just have everything new auto download.


This is so cool and impressive. I loved the original Animal Crossing but also feel like the clunky keyboard input hasn't aged well. Thanks for sharing!


In a way, I'm glad the OSK was so tedious, since it drove me to create this whole crazy project. Thanks for checking it out!


That example made me wonder if this was satire...I'm guessing not, but pretty funny nonetheless. I bet my boss would love me texting him the names of random people from LinkedIn.


i'd love to see it being real (someday)


I think LLMs have value, but what I'm really looking forward to is the day when everyone can just quietly use (or not use) LLMs and move on with their lives. It's like that one friend who started a new diet and can't shut up about it every time you see them, except instead of that one friend it's seemingly the majority of participants in tech forums. It's getting so old.


> When a video is playing, right click the speaker icon in the address bar or tab to enter Picture-in-Picture (PiP) mode.

You can also double right-click the video itself and enter Picture-in-Picture mode from that menu


Maybe I’m overlooking it, but is there any mention of how browser extensions will (or won’t) work? I imagine I’m not alone in needing a password manager and ad blocking extensions for any browser I use. Either way, looking forward to seeing how this develops!


I don’t think they are thinking of that yet, the UI is barebones, they are working on the web engine mostly.


Great read, I always love reading about the thoughts and intentions behind game design.

> I play a couple runs before I go to bed

I do see the relaxing component of the game once you’ve got the hang of it and are playing on white stake. But I do feel like the game encourages you to take on more difficult/frustrating stakes and decks, so for someone working on gold stake for the black deck for example, it would absolutely not be something to play before bed (unless you’re in the mood to cry yourself to sleep)


People that mention this are usually referring to this chunk of the source code: https://www.reddit.com/r/programminghorror/s/KmEWRILR1q

My assumption is that a lot of the people that look at small chunks of code and judge someone’s programming ability are people who have only worked in corporate environments and have never had to build a large project on their own, and don’t have any understanding of the effort it takes to make a game like Balatro by yourself. Maybe that’s an unfair judgment. But so is calling LocalThunk a “shitty programmer” over some questionable if-else logic.


People love to dunk on hacky looking gamedev code. Some of it is pretty ugly, e.g, VVVVVV's famous gigantic switch statement, but if it works and makes a fun game, that's the actually important part.


It's verbose and could be simplified, but also looks like something you write once and never look at again. If it works it makes no sense to spend any more time on it.


Yeah, working on a game myself and ... sometimes you just gotta do stuff like that.

Working on a game solo requires juggling several wildly different disciplines at the same time. Sometimes you're in "game designer" mode, you need to fix a bug or add a feature, and you bonk in the caveman thing that obviously works.

Solo gamedev is basically the "startups should accumulate technical debt" meme on steroids. As long as you can understand the code, nobody cares about how it looks. Only how the game plays.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: