MurphyA/hacker-news huggingface dataset:
by ttz | 2025-08-22 18:26:16+00:00
every language has its problems; Go I think is pretty good despite them. not saying points raised in the article are invalid, you def have to be careful, and I hate the "nil interface is not necessarily nil" issue as much as anyone.

It's hard to find a language that will satisfy everyone's needs. Go I find better for smaller, focused applications/utilities... can definitely see how it would cause problems at an "enterprise" level codebase.
by vlovich123 | 2025-08-22 18:26:35+00:00
The leaky model is that you could ever receive into a stack buffer and you're arguing to persist this model. The reason it's leaky is that copying memory around is supremely expensive. But that's how the BSD socket API from the 90s works and btw something you can make work with async provided you're into memory copies. io_uring is a modern API that's for performance and that's why Rust libraries try to avoid memory copying within the internals. Supporting copying into the stack buffer with io_uring is very difficult to accomplish even in synchronous code. It's not a failure of async but a different programming paradigm altogether.

As someone else mentioned, what you really want is to ask io_uring to allocate the pages itself so that for reads it gives you pages that were allocated by the kernel to be filled directly by HW and then mapped into your userspace process without any copying by the kernel or any other SW layer involved.
by missedthecue | 2025-08-22 18:27:02+00:00
yes I realize that, I worked a minimum wage job for a long time. The CEO has daily job requirements to meet too, and for that the Starbucks CEO receives a cash salary of about $5m a year. This publication should use that for the ratio, rather than pulling forward the next three years of RSUs that only vest if he hits extremely broad strategy dependent goals that can easily be sunk because of a pandemic or general economic recession.
by isaacremuant | 2025-08-22 18:27:18+00:00
I use LLMs, just like i use Google and other things but I don't vibe code as defined like the original meaning and I feel that all these people who are trying to tell me how good they are with it are yet to explain how on earth code is the most complex thing.

Coding is the easy part. Knowing what to code, how to work with people, how to interact with the real world and with chaos, with bad data, with poor integrations, and entropy.

I'm all for making AI and coding better and helping people do that and think.

I'm not impressed by anyone who doesn't show me they can think about the problems we face better and faster, and keep doing it without slowing down to a halt or making it someone's else's problem.

Everyone else is just talking themselves up or selling something, neither of which are useful to me.
by kbolino | 2025-08-22 18:27:29+00:00
It is rare to encounter this in practice, and it does get picked up by the race detector (which you have to consciously enable). But the language designers chose not to address it, so I think it's a valid criticism. [1]

Once you know about it, though, it's easy to avoid. I do think, especially given that the CSP features of Go are downplayed nowadays, this should be addressed more prominently in the docs, with the more realistic solutions presented (atomics, mutexes).

It could also potentially be addressed using 128-bit atomics, at least for strings and interfaces (whereas slices are too big, taking up 3 words). The idea of adding general 128-bit atomic support is on their radar [2] and there already exists a package for it [3], but I don't think strings or interfaces meet the alignment requirements.

[1]: https://research.swtch.com/gorace

[2]: https://github.com/golang/go/issues/61236

[3]: https://pkg.go.dev/github.com/CAFxX/atomic128
by eyelidlessness | 2025-08-22 18:27:30+00:00
Context: until fairly recently, I worked an implementation of XForms (as the project creator, and leading most of the architecture/design). Prior to that, I inherited maintenance of another implementation, which utilized XSLT[1] as a core aspect of its design.

I’m curious if you could describe more about what you envision. I have a difficult time imagining:

1. How the stateful/interactive aspects of XForms (such as insert/delete, as you mention) would be implemented client side without JS.

2. How XSLT factors into that vision.

It might be lack of imagination on my part! Admittedly, I don’t know everything about XSLT and maybe it has more interactive capabilities than I’m aware of. But at least as far as I know, when a browser vendor did implement XForms functionality it still ultimately depended on JS to achieve certain behaviors. It’s been a while since I was looking into this, but IIRC it looked conceptually similar to XUL. And granted, that might mean the JS is provided by a browser, and encapsulated from user space similar to browsers’ use of shadow DOM for standard form controls now.

1: I also have good reason to believe my work on this prior project helped keep XSLT alive in Chrome the last time there was a major push to deprecate it! Albeit totally inadvertently: my work just happened to correlate very closely to a spike in usage metrics around the same time, which was then cited as a reason to hold off on deprecation.
by eschaton | 2025-08-22 18:27:50+00:00
It’s completely different from an IDE’s autocomplete because autocomplete in an IDE is only helping you type identifiers that already exist in your codebase or in any SDKs you’re using.

An LLM is regurgitating things from outside that space, where you have no idea of the provenance of what it’s putting into your code.

It doesn’t just matter that the code you’re contributing to a project is correct, it matters quite a lot if it’s actually something you’re allowed to contribute.

- You can’t contribute code that your employer owns to a project if they don’t want you to. - You can’t contribute code under a license that the project doesn’t want you to use. - And you can’t contribute code written by someone else and claim it’s your intellectual property without some sort of contract in place to grant that.

If you use an LLM to generate code that you’re contributing, you have both of the latter two problems. And all of those apply *even if* the code you’re contributing is identical to what you’d have written by hand off the top of your head.

When you contribute to a project, you’re not just sending that project a set of bits, you’re making attestations about how those bits were created.

Why does this seem so difficult for some supposed tech professionals to understand? The entire industry is intellectual property, and this is basic “IP 101” stuff.
by bigyabai | 2025-08-22 18:27:54+00:00
> “In principle, given that software companies like Microsoft do not themselves manufacture any physical hardware, it should be possible to simulate them entirely with AI,” he added.

Those are big words coming from the "I can make you car drive itself without LIDAR" guy. In principle a lot of things are true, but a government contractor ought to know better than to write off Microsoft.
by bigstrat2003 | 2025-08-22 18:28:56+00:00
> in the global international connected computing world it doesn’t fit at all.

Most people aren't living in that world. If you're working at Amazon or some business that needs to interact with many countries around the globe, sure, you have to worry about text encoding quite a bit. But the majority of software is being written for a much narrower audience, probably for one single language in one single country. There is simply no reason for most programmers to obsess over text encoding the way so many people here like to.
by Animats | 2025-08-22 18:29:12+00:00
I don't want their extra services. Just a local email client. I already have servers. Do not want to have to have a "Thunderbird account" in the "cloud", with overreaching terms of service and privacy terms that weaken over time.

Mozilla tried this with "Pocket", then gave up. But as part of Pocket integration, Firefox bookmarks were made less useful. Wonder what will be enshittified in Thunderbird to force people to the "pro" services.
by happymellon | 2025-08-22 18:29:14+00:00
> Happy to hear that they've introduced video encoders and decoders based on compute shaders.

This is great news. I remember being laughed at when I initially asked whether the Vulkan enc/dec were generic because at the time it was all just standardising interfaces for the in-silicon acceleration.

Having these sorts of improvements available for legacy hardware is brilliant, and hopefully a first route that we can use to introduce new codecs and improve everyone's QOL.
by wibbily | 2025-08-22 18:29:37+00:00
> The Bang & Olufsen deserves a mention all of it's own. This was a luxury set that retailed at £1200 in the early to mid-90s... it can be nabbed for £10-£40 on eBay

They're going on the 'bay now for $1200. Time is a flat circle, etc. etc.
by lloyddobbler | 2025-08-22 18:29:38+00:00
“A 30% revenue share can easily be the difference between a company that can afford to scale, hire new employees, and reinvest in its product, and one that is perpetually struggling to stay afloat.”

This brought up a fun thought exercise for me. Pretty sure that Y Combinator would argue that giving away 7% of one's company for access to intangible (but beneficial) things like funding, advisors, etc, is completely worth it for a company. Pretty sure that they also fund companies that pay salespeople fairly significant commissions on sales.

Interesting to see them argue that asking a company to give up 30% "commission" on revenue for access to a large market stifles competition and innovation.

Is Y Combinator's forcing companies to give up 7% of their companies for access to advisors and funding stifling innovation and competition? (Spoiler: I don't think so. I think both Y Combinator and apple should be able to capitalize on the access they provide.)
by dboreham | 2025-08-22 18:29:46+00:00
Is it possible to train a machine to drive in snow? Yes. But consider that humans are trained to do so by means of things like: actually crashing, observing others crashing, talking to people who crashed, and all of the above is highly localized. Where I live there are many days in winter when someone not from the immediate area should not drive at all. But I might if there was a good reason because I have 25 years experience with the specific roads, conditions, how those conditions relate to wind and on and on. Training a machine to know all that seems feasible but unlikely to be commercially viable. It's just not a problem that can be solved with a simple closed loop control system like ABS or traction control.
by diarrhea | 2025-08-22 18:30:09+00:00
Yes, Python is massively ahead there. The largest wart is that types can be out of sync with actual implementation, with things blowing up at runtime -- but so can Go with `any` and reflection.

Python, for a number of years at this point, has had structural (!) pattern matching with unpacking, type-checking baked in, with exhaustiveness checking (depending on the type checker you use). And all that works at "type-check time".

It can also facilitate type-state programming through class methods.

Libraries like Pydantic are fantastic in their combination of ergonomics and type safety.

The prime missing piece is sum types, which need language-level support to work well.

Go is simplistic in comparison.
by Nevermark | 2025-08-22 18:30:26+00:00
> It’s not an economic argument, it’s an ideological one.

I see. Other's shouldn't make economic choices based on economically created benefit or harm, but to submit to your ideology.

Yet, these were never public goods. And they are more available to the public now.

Reality doesn't conform to ideology. The latter only helps when it contributes to understanding, instead of limiting it.
by TranquilMarmot | 2025-08-22 18:30:43+00:00
I spent the past month "de-Googling" my life after I saw a notice in my Gmail inbox that it was 20 years old. I took a step back and realized just how invested into the Google ecosystem I was. Gmail, Calendar, Docs, Drive, Maps, Keep, Photos, YouTube, FitBit, Android. Basically my entire digital life. My goal was more diversifying than security/privacy, but security/privacy is a really nice bonus.

I ended up going with Proton because they had a good solution for mail, calendar, and drive which I was looking to replace. I set up my custom domain to point to it and have my Gmail forwarding to it - any time I get an email to the old Gmail address I go change it on the website or delete the account altogether.

For Google Docs / Keep, I switched over to Obsidian and pay for the sync there. It's a great replacement for my main use case of Docs / Keep which is just a dumping ground for ideas.

For Google Photos, I now self-host Immich in Hetzner on a VPS with a 1TB storage box mounted via SSHFS. I use Tailscale to connect to it. It took a few days to use Google Takeout + immich-go to upload all the photos (~300GB of data) but it's working really well now. Only costs $10/mo for the VPS and 1TB of storage.

Android I think I'll be stuck on - I have a Pixel 8 Pro that technically supports Graphene but there are too many trade-offs there. Next time I need a new phone I'll take a serious look at Fairphone but I think the Pixel 8 Pro should last a few more years.

My FitBit Versa is really old and starting to die - I ordered one of the new Pebble watches and am patiently waiting for it to ship!

YouTube I'm stuck on because that's where the content is. I have yet to find a suitable replacement for Google Maps - OpenStreetMap is still really hard to use and gives bad directions.
by godelski | 2025-08-22 18:31:12+00:00
That makes some more sense. I think I just misunderstood what Charlie was saying above.

But I'll also add another suggestion/ask. I think this could be improved

$ ruff format --help Run the Ruff formatter on the given files or directories $ uv format --help Format Python code in the project

I think just a little more can go a long way. When --help is the docs instead of man I think there needs to be a bit more description. Just something like this tells users a lot more

$ ruff format --help Formats the specified files. Acts as a drop-in replacement for black. $ uv format --help Experimental uv formatting. Alias to `ruff format`

I think man/help pages are underappreciated. I know I'm not the only one that discovers new capabilities by reading them. Or even the double tab because I can't remember the flag name but see something I didn't notice before. Or maybe I did notice before but since the tool was new I focused on main features first. Having the ability to read enough information to figure out what these things do then and there really speeds up usage. When the help lines don't say much I often never explore them (unless there's some gut feeling). I know the browser exists, but when I'm using the tool I'm not in the browser.
by kiitos | 2025-08-22 18:31:15+00:00
> Not all filenames are printable, but most languages don't help you deal with this

literally every filename is printable, the question is only how to render the filename in a "printable" form, which is a function of the filename and the destination output

this isn't an interesting problem, every language and/or its stdlib should have reasonable defaults for this kind of thing. these kinds of details are exactly the kinds of things that a program like the one in the OP shouldn't need to care about, unless they explicitly opt-in to that complexity

> in other languages you face the same problems, those languages just won't help you handle them.

good languages let you handle these sorts of problems, but they don't force you to handle them. whereas rust lifts all of these problems up to the programmer directly and unavoidably and says "hey you need to deal with this"

managing low-level details like ownership or memory management or whatever isn't somehow inherently virtuous or valuable
by roscas | 2025-08-22 18:31:27+00:00
Let me change "a threat to national security." to "a threat to Europe and World security.".

Ah that is better. We were on the right track to bring Tesla sales to 0%. European politics are dumb I know but we have to change that and make them change the laws that make car makers to buy credits in electric car makers. That and many other laws are reallys stupid.

But having that company to supply anything is already bad.
by hangonhn | 2025-08-22 18:31:49+00:00
No because people never really talk about the quantity of the alternatives -- i.e. Huawei Ascent. Even if Huawei can match the quality, their yields are still abysmal. The numbers I've heard are in the hundreds of thousands vs. millions by Nvidia. In the near future, Nvidia's dominance is pretty secure. The only thing that can threaten it is if this whole AI thing isn't worth what some people imagined it is worth and people start to realize this.
by mitkebes | 2025-08-22 18:31:56+00:00
The author cites fear mongering over kernel anticheat, but I don't think anyone reasonable should be ok with their personal computer having kernel anticheat installed.

Genshin's anticheat was used to install ransomware, ESEA's anticheat was used to install bitcoin miners on users machines, EA's anticheat was used to hack clients computers during a tournament, etc.

When not explicitly malicious, anticheat software is at best spyware that's spying on your computer use to identify cheating. People complain a ton about Microsoft recall storing screenshots of your computer locally being a security risk, and yet they're fine with a Chinese owned anticheat program taking screenshots of your computer and uploading them online. And even if the company isn't trying to use that info to spy on you, my understanding is that when you're a chinese company, you have to give full access of that data to the government.

With the ongoing/rising tensions between the US and China, I actually think there's a significant chance that we may see all Chinese owned anticheat programs banned in the US, which would be pretty significant since they own or partially own the majority (as far as I know).
by joecool1029 | 2025-08-22 18:32:18+00:00
> It is in NYC also, except it's entirely unenforced.

It's enforced in the worst congested zones, the intersections around tunnel entrances and midtown, but as I said in my other comment usually by parking enforcement not NYPD.

A workaround in the law is to throw your turn signal on if stranded in the box, this doesn't count as blocking the box.
by renodino | 2025-08-22 18:32:22+00:00
My recent vibe code experience made me realize it's almost exactly like being a tech lead managing offshore development. I learned early on that the key to leading successful offshore projects is precise, detailed specifications, and very rigorous code review and testing. Now I'm using the exact same discipline to "vibe" code. I really think there needs to be a different term for professional solution engineering using LLMs (like "prompt engineering" but for coding) to differentiate from casual prototyping or simple web UI hacking by non-devs that uses "vibe" coding.
by AnonC | 2025-08-22 18:32:23+00:00
If you can afford it, renew the domain for 10 years into the future (which means having it paid for till 2035, for example). Every year, renew the domain for one more year so that it’s always paid for 10 years into the future. If payment fails or you’re busy with something else, you’d still have several years of no worrying (some caveats and risks may still apply depending on the TLD and registrar).
by 0x457 | 2025-08-22 18:32:27+00:00
> And due to instability of a few features (async trait, return impl trait in trait, etc) there is not really a standard way to write executor independent async code (you can, some big crates do, but it's not necessarily trivial).

Uhm all of that is just sugar on top of stable feature. None of these features or lack off prevent portability.

Full portability isn't possible specifically due to how Waker works (i.e. is implementation specific). That allows async to work with different style of asyncs. Reason why io_uring is hard in rust is because of io_uring way of dealing with memory.
by lubujackson | 2025-08-22 18:32:46+00:00
I think the idea that LLMs are just good at "automating" is the old curmudgeon idea that young people won't have.

I think the fundamental shift is something like having ancillary awareness of code at all but high capability to architect and drill down into product details. In other words, fresh-faced LLM programmers will come out the gate looking like really good product managers.

Similar to how C++ programmers looked down on web developers for not knowing all about malloc and pointers. Why dirty your mind with details that are abstracted away? Someone needs to know the underlying code at some point, but that may be reserved for the wizards making "core libraries" or something.

But the real advancement will be not being restricted by what used to be impossible. Why not a UI that is generated on the fly on every page load? Or why even have a webform that people have to fill out, just have the website ask users for the info it needs?
by PaulHoule | 2025-08-22 18:33:04+00:00
He can outdo Microsoft when it comes to bad mergers. Beating Activision is hard, but he did it with X.

I'll add also that Azure makes Microsoft really a hardware company in a big way, though xAI has data centers to. Azure's business is cloudy and invisible and doesn't look like hardware but it is, it is definitely a CAPEX thing.
by afro88 | 2025-08-22 18:33:10+00:00
> The moment you see it go off the rails, just throw it out. That problem is too hard for Claude, it’s for you now.

Or, any of:

- the problem was too big in scope and needed a stepped plan to refer to and execute step by step

- your instructions weren't clear enough

- the context you provided was missing something crucial it couldn't find agentically, or build knowledge of (in which case, document that part of the codebase first)

- your rules/AGENTS.md/CLAUDE.md needs some additions or tweaking

- you may need a more powerful model to plan implementation first

Just throwing away and moving on is often the wrong choice and you'll get better at using these tools slower. If you're still within the "time it would have taken me to do it myself" window, think about what caused it to go off the rails or fail spectacularly and try giving it another go (not following up, throw away current results and chat and try again with the above in mind)
by chasd00 | 2025-08-22 18:33:12+00:00
> Kind of a rant, but I absolutely see a future where some code bases are well maintained and properly built, while others have tacked on years of vibe-coded trash that now only an LLM can even understand.

this offshoring all over again. At first, every dev in the US was going to be out of a job because of how expensive they were compared to offshore devs. Then the results started coming back and there was some very good work done offshore but there was tons and tons of stuff that had to be unwound and fixed with onshore teams. Entire companies/careers were made dedicated to just fixing stuff coming back from offshore dev teams. In the end, it took a mix of both to realize more value per dev $
by trhway | 2025-08-22 18:33:22+00:00
>Waymo should add a thin layer of "assertiveness"

well, just couple weeks ago here on the intersection of Middlefield and Shoreline, half-mile from Google headquarters - 100 million times driven by Waymo cars, thousands by us - midday, perfect visibility, perfect intersection with all the markings, lights, etc., we and a Waymo are doing left turns from dedicated lanes on the opposite directions. We were saved from head on collision by the "lack of assertiveness" on the part of my wife as she swerved last moment as the Waymo apparently decided that its left turn point lies way into, very deep into, our trajectory, and it was assertive enough to not care that we were in its path. I almost soiled my pants upon seeing how it went for barreling into us instead of turning.

It looks like the same extra assertiveness like with Uber back then - i.e. to not have an emergency braking and similar features because it gets too much false positives.