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

This is not true in any meaningful way. The most widely-used zig project (Ghostty) is very welcoming of AI contributions, and the lead developer of the project uses it heavily.

In elixir, processes (these are Erlang "processes", not OS processes) are designed to fail when they encounter errors, and the supervising process will restart it according to various rules you can configure. This isn't dissimilar to how kubernetes restarts jobs when they fail, but at a more fine-grained level.

It's actually intended that your function doesn't try too hard to validate it's input types, and just that it will malfunction and crash when it gets something it doesn't know how to handle, because the supervision tree will rescue it and your program can continue, albeit without whatever input caused the malfunction.

This obviously isn't ideal for many types of software, but for complex backend servers and other long-running operations it works really well.

Of course this is not a guarantee to eliminate bugs, but it's a factor that reduces them more than you'd think when coming from a different programming paradigm.


I mean - you're arguing there about a small blast radius, and I genuinely appreciate that not taking down the whole system when a bug occurs is incredibly valueable.

But, the discussion is about dynamic typing, and the fact that the function is in a state where it cannot compute because of bad input.

This might as well be a Null Pointer Exception - the function has encountered bad input, and crashes.

The argument is, that a MUCH stronger position is for all callers to be forced to provide input that cannot get the function into such a state - and a major subset of the set of all inputs possible can be eliminated with static or strict typing (I know the nomenclature gets a bit hazy here, but I hope that my intended meaning is clear)

If the callers know in advance that they cannot provide input shaped in ways that the function will not handle, then they will not call the function in those ways.

And that forces the call chain to be sure about the data transferred from top to bottom.


People only need cars because people have cars and cars make cities worse for everyone outside of one. If nobody owned cars everyone would get by just fine. It's a race to the bottom.


Sure, but that doesn't change the fact that today people need cars. In an ideal world I'd also love a European or Asian city model but American cities are not like that.


Most American cities have decent enough public transit where it is viable (or even a preferable) alternative to driving. I can think of Seattle, New York, Chicago, San Francisco, etc. Not every city in America is like El Paso or Phoenix. But even in cities like El Paso or Phoenix, the hostility towards public transit is a political choice and an alternative policy is available if politicians want it.

I my self live close to the good American cities and even though my community is rather rural (I literally live across the street from a dairy farm) I still prefer biking to town. And when I go to the city, I rarely bring my car with me, as I prefer the bus over waiting in the ferry line and dealing with parking in the city.


I contacted their support because my charging cable frayed and I thought I was still in warranty. Turns out I'd miscalculated and I was a year out but they replaced it for free anyway.

Their support has been very responsive and helpful every time I've contacted them so I'd be surprised if they wouldn't have helped the GP.


Git rebases don't work if there are conflicts, jj doesn't have this problem. Also idk if you can rebase onto multiple parents with git but jj can do it.


Can you explain how conflicts are not conflicts?

If I change a line of code several times and rebase on to a branch that changed the same lines of code, how are you sure what the right one is?


JJ can save conflict related state with the change so that you don't need to resolve a conflict in the middle of a stack of changes for rebasing to continue for the remaining changes. Concretely, it uses a "conflict algebra" where it can track the impact of a conflict as it propagates through the stack of rebased changes: https://docs.jj-vcs.dev/latest/technical/conflicts/


But what does that bring? Your code won't compile as long as you don't fix the conflicts, so anyway you have to fix them when you rebase, right?


You have to fix them at some point, but not in the middle of doing other things. Right now. With no possible way to make progress elsewhere while deferring this decision.



Not really very similar at all for the scenario discussed here. Rerere remembers how you have resolved a conflict before. It doesn't let you rebase a stack of commits that result in different conflicts. You will have to stop and resolve each conflict and then `git rebase --continue`.

However, the conflict algebra does remove many common uses of rerere. See https://github.com/jj-vcs/jj/issues/175#issuecomment-1079831... for a longer discussion.


Avoiding manual conflict resolution isn't really a good thing though - conflicts are an indication that multiple different changes affect some code and you really should think hard about what the combination of them should be. Even what git does automatically already can be dangerous.


I agree, but that doesn't seem relevant. I did not say the jj automatically resolves conflicts.


We probably don't want to head down the path of creating new competitions for people that meet arbitrary criteria. White-straight-man only olympics anyone?


I'm guessing you wouldn't say this if you attended the paraolympics, or perhaps it would enforce your already held views, I'm not sure. But there are already 64 different classes of impairment that compete as far as I can tell. Frankly I found it a bit fascinating.


White straight men aren't being barred from the Olympics.


I think the point is that regardless of what benefits LLMs are bringing to the table, there are a list of downsides that Drew views as non-negotiables. It doesn't matter what other people are seeing, because he sees a fundamental issue underlying the entire premise.

It does seem like most people completely ignore the obvious harms caused by AI when talking about using LLMs for programming, as though somehow it is disconnected from the other deployments of the technology.


> It does seem like most people completely ignore the obvious harms caused by AI when talking about using LLMs for programming, as though somehow it is disconnected from the other deployments of the technology.

I feel that the people who are completely ignoring the harms are the ones who need and/or benefit from it and do whatever it takes to justify their use of it. The rest are people who understand the harms and minimize interaction followed by the blissfully ignorant.

I was just talking to a content creator who uses AI at work social media platforms to display her personal projects. She talked about how she is fully aware of the harm social media platforms bring while acknowledging they empower her to present her work to the world without gatekeeping. AI allows her to power through boring office tasks but she loathes their use in the art world and replacing people in general.


> It does seem like most people completely ignore the obvious harms caused by AI when talking about using LLMs for programming, as though somehow it is disconnected from the other deployments of the technology.

I would insist that the deployments of a technology should be disconnected from the technology itself - I criticize AI too, and I get a lot of downvotes for it, but I try to separate the science of AI from its economics and politics.

The harms of AI and other technologies come from two sources 1. Capital destroying market bubbles and 2. Deployments motivated and enabled by political and moral corruption.

Both of these are in turn enabled and sustained by legislation. That is, we have to talk politics, not technology and not AI. AI has a great potential - both for improving human life and for making it a lot worse and which way it goes depends entirely on politics.

If we fail to cleanly separate these issues and keep moralizing about technology, we will be chasing red herrings and bumping heads in the dark all the while the tech is being deployed against us.


> there are a list of downsides that Drew views as non-negotiables

Which is all fine and dandy. But why play the "You simply don't understand it as well as I do" rather than something more investigative and curious? Just fuels the whole "holier than thou" vibe Drew been trying to increase seemingly every day.

It's a disagreement of opinion, not some "I'm the only smart person who can realize this", which is why it kind of sours the entire piece.


> Which is all fine and dandy. But why play the "You simply don't understand it as well as I do"

I'll say this from the perspective of a person who publishes content online: because people's revealed preference is for content written this way. You can spend weeks polishing thoughtful, original content that will get few clicks, or you can crank out throwaway op-eds about AI and get thousands of likes and upvotes from people who just wanted to hear their own beliefs explained back to them.

My stuff appeared on HN a couple of times over the years and the less effort I put into it, the better it fared. The temptation to change your writing style and to offer increasingly more provocative and shallow opinions is difficult to resist.

My point is probably this: if you want to see better stuff, I think you gotta stop engaging with articles like this. Patrol /newest and upvote cool in-depth stuff.


> But why play the "You simply don't understand it as well as I do" rather than something more investigative and curious?

That's not the tone of the article; he uses the word "pretending". That tells me that he thinks that people do understand, but they don't want to admit that they understand because that would reveal their values.


In fairness he pretty explicitly states that he thinks people do understand it, but are pretending not to to wash their hands of the consequences. I'm definitely not reading it in the same way you are.


It's a difference in values, not understanding. I understand that AI burns tons of power, and I don't care. Drew understands it the same as I, but he does care. The difference is in what people value, and relative to what.


It makes sense that those with huge libraries may never want to move. But there are many existing and future PC gamers who do not have particularly large libraries on Steam, who would likely be much easier to lure if Epic actually made their launcher worth it.


Very disappointing honestly. Vercel's leadership has shown itself to be aligned with some murderous characters.

Despite the fact I have contributed only a small number of PRs and bug reports to Ghostty, and I don't think my absence would be notable to the maintainers, I still feel compelled to boycott the product unless Mitchell clarifies his stance on Vercel's alignment with the Israeli government.

I'd always hoped that Mitchell would be the odd exception to the disagreeable politics of the billionaire class. I'd previously hoped his ongoing association with DHH (and his abhorrent views[1]) was just a result of prior friendship and not an indication that he'd aligned himself with the ruling class. Alas, this is certainly not a good look.

[1]: I was going to link a specific blog post here but upon investigation I was blown away by how awful his entire blog is. The titles of posts are bad but please read past each one to discover a whole new level of awful. https://world.hey.com/dhh


This really is a fantastic video. I don't think I'd considered many of the ideas behind dithering before seeing how it could be extrapolated to this degree.

The video ends in a place where I suspect even further advances could still be made.


There's a follow up video with variations of the technique (some of them with color) demonstrated in a game: https://www.youtube.com/watch?v=EzjWBmhO_1E

But yes, there's still the issue of oblique angles looking different that still remains open AFAIK.


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

Search: