MurphyA/hacker-news huggingface dataset:
by jcranmer | 2025-08-22 17:56:52+00:00
Yes and no.

In my case, I have code that essentially looks like this:

struct Parser { state: ParserState } struct Subparser { state: ParserState } impl Parser { pub fn parse_something(&mut self) -> Subparser { Subparse { state: self.state } // NOTE: doesn't work } } impl Drop for Subparser { fn drop(&mut self) { parser.state = self.state; // NOTE: really doesn't work } }

Okay, I can make the first line work by changing Parser.state to be an Option<ParserState> instead and using Option::take (or std::mem::replace on a custom enum; going from an &mut T to a T is possible in a number of ways). But how do I give Subparser the ability to give its ParserState back to the original parser? If I could make Subparser take a lifetime and just have a pointer to Parser.state, I wouldn't even bother with half of this setup because I would just reach into the Parser directly, but that's not an option in this case. (The safe Rust option I eventually reached for is a oneshot channel, which is actually a lot of overhead for this case).

It's the give-back portion of the borrow-to-give-back pattern that ends up being gnarly. I'm actually somewhat disappointed that the Rust ecosystem has in general given up on trying to build up safe pointer abstractions in the ecosystem, like doing use tracking for a pointed-to object. FWIW, a rough C++ implementation of what I would like to do is this:

template <typename T> class HotPotato { T *data; HotPotato<T> *borrowed_from = nullptr, *given_to = nullptr; public: T *get_data() { // If we've given the data out, we can't use it at the moment. return given_to ? nullptr : data; } std::unique_ptr<HotPotato<T>> borrow() { assert(given_to == nullptr); auto *new_holder = new HotPotato(); new_holder->data = data; new_holder->borrowed_from = this; given_to = new_holder; } ~HotPotato() { if (given_to) { given_to->borrowed_from = borrowed_from; } if (borrowed_from) { borrowed_from->given_to = given_to; } else { delete data; } } };
by bryanlarsen | 2025-08-22 17:56:55+00:00
The interesting snow & ice problem for me is that humans will drive in winter conditions that are unsafe -- for example white-out blizzards. Robocars won't be able to drive in a white-out blizzard, so they'll likely refuse to do so. Humans should also refuse to drive, but people drive anyways.

NYC doesn't generally get white-out blizzards, so refusing to drive in them is quite feasible.
by toss1 | 2025-08-22 17:57:30+00:00
YUP.

It used to be that people would use local brick & mortar stores to examine the item and then buy it cheaper on Amazon.

I now use Amazon to search, then go buy more reliably at the source company itself, a specialized online store, or locally.

It isn't just about getting ripped off, it's about actual personal and household safety. Many categories such as electronics and batteries, I NEVER buy from Amazon, and I also understand any health & beauty products are so rife with sometimes-dangerous counterfeits that they should be also avoided. This is only going to get worse with the current US regime actively dismantling regulation and H&S systems.
by TeeMassive | 2025-08-22 17:57:43+00:00
I've been doing Python full time for about 4 years now. I always found that when pattern matching is used it always ends up increasing the cognitive load significantly. It shines for simple cases, and for precise object pattern sniping. But anything that acts on nested objects or more than 3 members with multiple case statements is pre-programmed for failure. What makes it worse, is that there seems to be a trend where other Python adepts will default to pattern matching over everything else, like a too good of a hammer.
by mmastrac | 2025-08-22 17:57:55+00:00
Browser vendors really screwed the pooch on XSLT, the same way that MNG got sidelined in the past. They integrated an early version of a tech and then completely failed to modernize it.

There's potentially a real need for something like XSLT + XForms for low-to-no JS interactivity.

Even a basic JS-free, HTML-modifying operation for WebForms would go a long way towards that (ie: insert a row, delete an element matching this ID on click), etc.
by lupire | 2025-08-22 17:57:58+00:00
The handwritten label was by far the dominant aspect of the "iPod" image. The only mildly interesting aspect of that attack is a reminder that tokenizing systems are bad at distinguishing a thing (iPod) from a refernce to that thing (the text "iPod").

The apple has nothing to do with that, and it's bizarre that the researchers failed to understand it.
by const_cast | 2025-08-22 17:58:23+00:00
I doubt it heavily. CF has control over a large chunk of the global internet - they're not going to go thru their clients one by one and make sure they're doing age verification. That's absurd and far too expensive.

The alternative to that is either:

1. UK blocks cloudflare (unlikely, come on now)

2. UK gives cloudflare a pass (fairly common)

3. Somewhere in-between. Maybe UK cares about highly visible people behind cloudflare like 4Chan but not others.
by otterley | 2025-08-22 17:58:29+00:00
This is a fair response to the point:

https://github.com/whatwg/html/issues/11582#issuecomment-321...

Frankly I think this is a tempest in a teapot, and the primary reason people are complaining is because Google is sponsoring the idea, not because it's going to harm users in some tangible way.
by redeyedtreefrog | 2025-08-22 17:58:34+00:00
It's hardly original, but my take is that vibe coding works brilliantly for personal projects (or potentially for tiny startups that need to rapidly churn out CRUD boilerplate, API integrations, etc), but terribly for most large commercial systems.

I'm having fun with Claude Code and Vibe Kanban on personal projects, and before that I spent a lot of time with both the Windsurf and Cursor agents. It's making me literally 10x more productive on personal projects, maybe even 50x.

On personal projects:

- no-one but me needs to decide on requirements

- no-one but me needs to make decisions

- no-one but me needs to maintain the code going forward

- much of the time I'm intentionally using languages and frameworks that I am somewhat clueless about, and an LLM providing continuous ideas (even if sometimes entirely silly ones) stops me getting stuck

- I don't mind if there are large chunks of useless or half-working code

On commercial projects:

- every line of code is a massive liability. Every line needs to be reviewed by another engineer, and every developer who joins the project needs to be aware of it, take it into consideration when making changes elsewhere, and potentially debug it if something goes wrong

- senior engineers are almost always hired to work with languages and technologies they are already very familiar with, meaning for many tasks it's often quicker to write out the code by hand (or perhaps with Cursor's auto-complete) than guide an LLM to do it

- much of the time is spent in meetings trying to unearth the real product requirements or providing updates to stakeholders

- much of the time is spent reading old code and working out how to implement things in extremely large and complex systems in a minimally disruptive way

- a lot of time is spent reviewing other people's PRs, and getting infuriated when people (often either very junior or very senior) produce 1000 line PRs consisting of unnecessary changes, excessive boilerplate, half-finished experiments, and things that clearly haven't been tested properly. This was the case long before LLMs, AI just makes it ever more tempting for people to act this way.

- trying to avoid or gently negotiate political games over who is in control of the project, or who gets to makes technical decisions
by tmcdos | 2025-08-22 17:59:16+00:00
I have heard that in Netherlands there used to be (not sure if it is still there) a system where you have for example 4 rooms of children. Room A contains all children that are ahead of rooms B, C, D. If a child from room B learns pretty quickly - the child is moved to room A. However, if the child leaves behind the other children in room B - that child is moved in room C. Same for room C - those who can not catch up are moved to room D. In this way everyone is learning at max capacity. Those who can learn faster and better are not slowed down by others who can not (or do not want to) keep the pace. Everyone is happy - children, teachers, parents, community.
by leptons | 2025-08-22 17:59:25+00:00
Not a good analogy. You can put effort into getting better sleep. If the sunlight wakes you up too early, block out the windows. If your bed is uncomfortable, get a more comfortable bed. If the room is too hot, adjust the thermostat before you go to bed. A little bit of effort can go a long way towards getting better sleep.

But you can't change the fundamental operation of an LLM, by its very nature it is not suitable for producing consistently correct results. Getting better at "vibe coding" is an exercise in futility.
by tracker1 | 2025-08-22 17:59:27+00:00
Yeah... the friends in question run groups/chats including group live streams, which is like a half a step up from X's Spaces as opposed to twitch or youtube streams that seem to have text only chat.

Telegram groups seems to be pretty popular among security minded, survivalists and actual far-right, there's moderate right users in there as well though. Nothing like death threats from ignorant nutjobs though, usually get that from the antifa types, having worked in election services in 2019/2020.
by takkatakka | 2025-08-22 17:59:31+00:00
It's pretty basic and missing a lot of features, but the session recording core is there.

For now, I built the backend just using Java, SpringBoot, PostgreSQL, Jooq.

The recording part uses rrewb: https://github.com/rrweb-io/rrweb

The frontend in general is just React, TanStack Query, TypeScript, and TailwindCSS.

Looking for early users, feedback, etc!
by bryanrasmussen | 2025-08-22 17:59:39+00:00
I'm not sure I understand -

did you mean:

it seems like a pretty cut and dried case for removal (of a feature that is not only not used but even in cases where it might be useful the sites have html versions and don't expect people to click on the xml links) because it will break many government sites?

or

it seems like a pretty cut and dried case for removal (of a feature that is not only not used but even in cases where it might be useful the sites have html versions and don't expect people to click on the xml links) because the feature is not used etc. etc. ?
by roscas | 2025-08-22 17:59:53+00:00
Congrats for the move. "Away from Gmail" is by itself a happy title.

The report is also very good and that should be a service every other mail service could provide to people who want to move away from G'rab'mail.

Another curiosity is that you use the same password I use for everything: xxx

Simple to remember and nobody will ever figure that out! Wink! :)
by jbeninger | 2025-08-22 18:00:40+00:00
It depends. I had an LLM whip up a JavaScript function "theThursdayAfterNextSunday"

JavaScript isn't my primary language and date functions are always a pain. But I know enough to review and test the code quickly. It doesn't change a 1-week project into a 4-hour one, but it can change a 20-minute project into a 5-minute one.
by giuliomagnifico | 2025-08-22 18:01:14+00:00
As far as I know, Gmail doesn’t allow saving PGP keys or using them to write new emails, whereas mailbox.org integrates the entire PGP service and to send an email, even from iOS where PGP apps are "ugly," you just need to do it from the web interface.

Anyway I wrote the details in the post.

Edit: I have to mention that I generated my PGP keys locally and then imported to Mailbox.Org
by 0xbadcafebee | 2025-08-22 18:01:21+00:00
What's popular and what's good are rarely (if ever) the same thing.

Python sucks balls but it has more fanboys than a K-pop idol. Enforced whitespace? No strong typing? A global interpreter lock? Garbage error messages? A package repository you can't search (only partially because it's full of trash packages and bad forks) with random names and no naming convention? A complete lack of standardization in installing or setting up applications/environments? 100 lines to run a command and read the stout and stderr in real time?

The real reason everyone uses Python and Go is because Google used them. Otherwise Python looks like BASIC with objects and Go is an overhyped niche language.
by bonoboTP | 2025-08-22 18:01:22+00:00
You can have a multi-track high-school system, like in much of Europe. Some are geared towards the academically inclined who expect to go to university, others hold that option open but focus on also learning a trade or specialty (this can be stuff like welding, CNC, or hospitality industry / restaurants etc.), while others focus more heavily on the trade side, with apprenticeship at companies intertwined with the education throughout high school, and switching to a university after that is not possible by default, but not ruled out if you put in some extra time).

Or you can also have stronger or weaker schools where the admission test scores required are different, so stronger students go to different schools. Not sure if that's a thing in the US.
by mjr00 | 2025-08-22 18:01:40+00:00
No, it's clickbait and that's why this submission got flagged, sorry.

A team is comprised of people. Being able to prompt an LLM to create a pull request based on specifications is very useful, but it's not a team member, the same way that VSCode isn't a team member even though autocomplete is a massive productivity increase, the same way that pypi isn't a team member even though a central third party dependency repository makes development significantly faster than not having one.

If this article were "I get a massive productivity boost from $41.73/month in developer tools" it'd be honest. As it is, it's dishonest clickbait.

As the saying goes, there is no "AI" in "Team".
by nkrisc | 2025-08-22 18:01:44+00:00
If someone else is sleeping on it, it’s not your couch until you remove them from it and occupy it yourself.

Unless we agree upon the abstract concept of “owning” property even while you do not physically possess it.

You need look no father than a kindergarten to see the natural way of things: the toy belongs to whichever toddler is holding it.

While not entirely comparable, it is no more absurd to extend the idea to intangible ideas as well.
by mooreds | 2025-08-22 18:02:03+00:00
I read the article. He didn't fire someone for not adopting AI, but rather for not even having a good reason not to onboard into an AI tool for a week.

> [he told] engineers that they didn't have to use the tools on a daily basis yet but "at least onboard by the end of the week."

Would you be fired if you refused to set up a tool (not AI, any tool) that your CEO said you were going to use in the future? And that the company was investing in?

I don't know, but there'd surely be some repercussion.
by bigyabai | 2025-08-22 18:02:05+00:00
It's pretty sad how we're only framing these society-wide issues as gender flaws.

Pick-me girls race to court men -> Fake feminism is making men look foolish Women quit Instagram over unhealthy beauty standards -> Men have a loneliness epidemic Doomscrolling is radicalizing/traditionalizing female audiences -> the "manosphere" has corrupted male youth

Maybe these are bigger-scale issues than we give them credit for? It feels like you have to wade through seas of pugilist opinion columns before people admit that it's not a gendered issue.
by mantra2 | 2025-08-22 18:02:21+00:00
I started the get itchy about so much of my life sitting on Google about 5 years ago, so I decided to take the leap to Fastmail and haven’t looked back.

Didn’t need to do anything special for the migration. The in house importer they offer pulled over 80GB in a day and I was set from there.

Fastmail isn’t going to give you end to end encryption - but - I think just shedding a major Google service is a massive win privacy-wise.

I remember briefly looking into Proton but the search was awful.
by JustExAWS | 2025-08-22 18:02:27+00:00
Out of the literally thousands of companies that YC has invested in, only about a dozen have gone public, the rest are either dead, zombies or got acquired. These are all acquisition plays.

Even the ones that have gone public haven’t done that well in aggregate.

https://medium.com/@kazeemibrahim18/the-post-ipo-performance...

Dropbox was solving a hard infrastructure problem at scale. These companies are just making some API calls to a model.

If an established company in any of these verticals - not necessarily BigTech - see an opportunity, they are either going to throw a few engineers at the problem and add it as a feature or hire a company like the one I work for and we are going to knock out an implementation in a few months.

The one YC company I mentioned above is expecting to have their product written by one “full stack engineer” that they are only willing to pay $150K for. How difficult can it be?
by Zigurd | 2025-08-22 18:02:32+00:00
If you look into the fleet size serving Waymo service areas, it's remarkably small. But because they work 24/7 they serve up a lot of rides, punching way above their weight in terms of market share in ride hailing.

Their effect on traffic and how drivers behave will be similarly amplified. It could turn out to be disastrous for Waymo. But I suspect that low speed limits in New York will work to Waymo's favor.]
by toast0 | 2025-08-22 18:02:56+00:00
The problem with string length is there's probably at least four concepts that could conceivably be called length, and few people are happy when none of them are len.

Of the top of my head, in order of likely difficulty to calculate: byte length, number of code points, number of grapheme/characters, height/width to display.

Maybe it would be best for Str not to have len at all. It could have bytes, code_points, graphemes. And every use would be precise.
by convolvatron | 2025-08-22 18:03:27+00:00
its interesting. at beginning in SF the waymos would just stop cold anytime they saw a person or a bicyclist. now they're acting a lot more like a person. if I'm in the crosswalk they've started playing chicken just like a normal driver would, starting to go into the turn while watching to see if you're going to stop and give them the right of way. if you keep going, they will stop.
by masklinn | 2025-08-22 18:04:20+00:00
Technology Connections is a rabbit hole of its own, and if you let it it will send you into a billion more.

You watch 2h30 about RCA's CED (video disc format from the mid 60s which didn't see production before the early 80s at which point it was DOA), and when the playlist ends you're sad and wonder if you should watch it again. It's great.
by throwway120385 | 2025-08-22 18:04:25+00:00
That's a great idea if your kid is less than 15 pounds, but it's very hard to wrangle a willful 2 or 3 year old the 100 feet across a busy parking lot and back to the car without picking them up which is a monumental task for many people. My wife has this issue because our son is more than 30 pounds which is very heavy for her. Every kid is different and people don't always have the same physical abilities as you do.
by IshKebab | 2025-08-22 18:04:35+00:00
Yes. iostreams overriding << and >> was pretty much universally seen as a bad idea and they eventually abandoned it in C++20/23 with std::format and std::print.

It's usually a good idea for operators to have a specific meaning and not randomly change that meaning depending on the context. If you want to add new operators with new meanings, that's fine. Haskell does that. The downside is people find it really tempting and you end up with a gazillian difficult-to-google custom operators that you have to learn.
by JohnMakin | 2025-08-22 18:04:41+00:00
almost every job ive ever had has been to build stuff. frequently programming is used to build stuff. programming is not my job, building stuff is. it’s perfectly normal (and a sign of a more mature engineer, imho) to prefer building stuff to the annoying stuff that gets in the way of building stuff, especially since many languages are obnoxious to work with.
by Aurornis | 2025-08-22 18:04:42+00:00
AMD’s fastest consumer CPUs are a great value for small servers. If you’re doing just one task (like in this article) the clock speed is a huge benefit.

The larger server grade parts start to shine when the server is doing a lot of different things. The extra memory bandwidth helps keep the CPU fed and the higher core count reduces the need for context switching because your workloads aren’t competing as much.

The best part about the AMD consumer CPUs is that you can even use ECC RAM if you get the right motherboard.
by zahlman | 2025-08-22 18:04:51+00:00
This just seems like several unnecessary layers of complexity to me.

For making a static site that you're personally deploying, exactly why is Docker required? And if the Docker process will have to bring in an entire Linux image anyway, why is obtaining Python separately better than using a Python provided by the image? And given that we've created an entire isolated container with an explicitly installed Python, why is running a Python script via `uv` better than running it via `python`? Why are we also setting up a virtual environment if we have this container already?

Since we're already making a `pyproject.toml` so that uv knows what the dependencies are, we could just as well make a wheel, use e.g. pipx to install it locally (no container required) and run the program's own entry point. (Or use someone else's SSG, permanently installed the same way. Which is what I'm doing.)
by jdpage | 2025-08-22 18:04:52+00:00
One thing that I think this discussion is highlighting to me is that there's very little support in the web standard (as implemented by browsers) for surfacing resources to users that aren't displayable by the browser.

Consider, for example, RSS/Atom feeds. Certainly there are <link /> tags you can add, but since none of the major browsers do anything with those anymore, we're left dropping clickable links to the feeds where users can see them. If someone doesn't know about RSS/Atom, what's their reward for clicking on those links? A screenful of robot barf.

These resources in TFA are another example of that. The government or regulatory bodies in question want to provide structured data. They want people to be able to find the structured data. The only real way of doing that right now is a clickable link.

XSLT provides a stopgap solution, at least for XML-formatted data, because it allows you to provide that clickable, discoverable link, without risking dropping unsuspecting folks straight into the soup. In fact, it's even better than that, because the output of the XSLT can include an explainer that educates people on what they can do with the resource.

If browsers still respected the <link /> tag for RSS/Atom feeds, people probably wouldn't be pushing back on this as hard. But what's being overlooked in this conversation is that there is a real discoverability need here, and for a long time XSLT has been the best way to patch over it.
by GauntletWizard | 2025-08-22 18:04:54+00:00
> In a random, non-repeating sequence, at each of 576 separate evenly spread locations on any drive, ValiDrive reads the current contents of that region. It then fills that region with random “data noise” then reads back the region's contents to verify that the “data noise” was actually stored. ValiDrive then always rewrites the region's original data to restore whatever data may have been originally stored there.

Does this test actually spot modern fakes? My understanding was that they typically used simple modulo addressing such that any write was immediately readable, and even large continuous chunks operated perfectly fine, it just also "overwrote" that address every 4GB or whatever.