MurphyA/hacker-news huggingface dataset:
by consumer451 | 2025-11-02 23:40:11+00:00
> Why does it have to be a red county.

Because the only thing that has saved me from the depths of schadenfreude and nihilism, is flirting with consequentialism.

I have only recently realized that I would rather lose one, or a thousand intellectual arguments, if that meant that the world became a better place.

In my experience, nothing can do that better than just showing up and disproving assumptions.
by brucehoult | 2025-11-02 23:42:05+00:00
I tried it on my primes micro-benchmark (http://hoult.org/primes.txt) and got a 2:1 slowdown on 13th gen i9.

It does a LOT of array access and updating, probably near to worst-case for code that isn't just a loop copying bytes.

The average slowdown is probably more in the same region as using Java or C# or for that matter C++ std::array or std:vector.
by tiltowait | 2025-11-02 23:42:42+00:00
Just two weeks ago, I spun up a FreeBSD server on OVH and migrated a service to it from Railway. Playing with jails, pf, ZFS, and some other goodies has been a lot of fun. Since I (massively) over-provisioned, I also spun up Gitea, Woodpecker CI (and agent; blazing fast CICD is so nice), and a personal blog. Been a great learning project.

[] It's not my first time with FreeBSD. I first ran it in ~2004. But it's been over 10 years since I last ran it, and I'd forgotten a decent bit. The last time I ran it, I just set up a couple of jails for NAS and Plex and proceeded to not touch it until I moved.
by JumpCrisscross | 2025-11-02 23:44:10+00:00
> if message board nerds and other ordinary people can't figure out what the law requires in the cases that probably won't be prosecuted, but could be, then it deters people from doing things that shouldn't be -- and maybe even aren't -- against the law

Message boards are constantly debating insane shit.

If someone feels—beyond generalized anxiety—they’re on the edge of the law, there are plenty of private and public resources they can consult. If they want to shoot shit, as, to be clear, we’re doing here, they can ponder on a message board. The former presages real work. The latter entertainment.
by treetalker | 2025-11-02 23:44:56+00:00
At the risk of sounding glib, the first way that comes to mind is that the learner is using their own intellect and (short-term) memory to code the information into their own words (often or usually entailing at least some self-checking and critique) instead of merely "reviewing" (really, seeing for the first time) an unfamiliar association of prompt and response, which was generated by a stochastic program, and which may not be correct at all.
by voidhorse | 2025-11-02 23:46:23+00:00
I would argue it's more correct to call that phase experimentation. I doubt the early manufacturers of steam machines would even call themselves engineers in a serious or precise sense. They were engineers in the sense of "builder of engine" as a specific object, but the term's meaning has evolved from that basic initial usage.

A discipline becomes engineering when we achieve a level of understanding. such that we can be mathematically precise about it. Of course experimentation and trial and error are a fundamental part of that process, but there's a reason we have a word to distinguish processes which become more certain and precise thereafter and why we don't just call anything and everything engineering of some form.
by whstl | 2025-11-02 23:47:18+00:00
That's a super interesting discussion

On most modern engines there is already a fixed-step that runs at a fixed speed to make physics calculation deterministic, so this independence is possible.

However, while it is technically possible to run the state updates at a higher frequency, this isn't done in practice because the rendering part wouldn't be able to consume that extra precision anyway.

That's mainly because the game state kinda needs to remain locked while: 1) Rendering a frame to avoid visual artifacts (eg: the character and its weapon are rendered at different places because the weapon started rendering after a state change), or even crashes (due to reading partially modified data); 2) while fixed step physics updates are being applied and 3) if there's any kind of work in different threads (common in high FPS games).

You could technically copy the game-state functional-style when it needs to be used, but the benefits would be minimal: input/state changes are extremely fast compared to anything else. Doing this "too early" can even cause input lag. So the simple solution is just to do state change it at the beginning of the while loop, at the last possible moment before this data is processed.

Source: worked professionally with games in a past life and been in a lot of those discussions!
by brucehoult | 2025-11-02 23:48:15+00:00
I almost always find that building Boehm GC as a malloc replacement (malloc() -> GC_malloc(), free() -> NOP), and then using LD_PRELOAD to get it used makes any random C/C++ program not only still work but also run faster.

Not only that, but you can then use GC_FREE_SPACE_DIVISOR to tune RAM usage vs speed to your liking on a program by program (or even instance by instance) basis, something completely impossible with malloc().
by strcat | 2025-11-02 23:48:23+00:00
Convincing people that the exploit protections are valuable and worth providing as even an opt-in feature let alone an enabled by default one is difficult.

Google shipped the Pixel 8 with production quality MTE support at a hardware level in October 2023 but still isn't using it by default and their Advanced Protection mode only uses it for a tiny subset of the OS and nearly no user installed apps. Enabling it would involve a whole lot of work fixing the bugs it finds, but we're already doing that work in GrapheneOS. They'd also need to fix several issues with their MTE integration in Chromium and elsewhere. It wouldn't be as good as our better implementation in hardened_malloc, etc. but they could be using it. They could start using it in full async mode for near zero performance and cost and then enable sync or asym mode for more components over time where the performance cost is irrelevant, which applies to most of the base OS. They might not want to use sync mode in the kernel for performance reasons, but other than that it mostly has no noticeable performance cost outside of apps.

Performance is likely a major factor Apple is not enabling it by default for apps and is instead discouraging app developers from opting into it by scaring them away with compatibility and performance concerns along with implying apps need to be written with it in mind which is really not the case. It finds memory corruption bugs and doesn't have false positives. Apps should not have memory corruption bugs in regular use and it's more than just an MTE compatibility issue if they do. Android made the smart decision to start tagging points with Top Byte Ignore in the system allocators many years ago which paved the way for HWASan support used by Android to nearly fully replace ASan and then later MTE support. HWASan is similar to MTE but with 8 bit instead of 4 bit tags using Top Byte Ignore but all accesses need to be instrumented to be checked since it's not a hardware feature. HWASan is much slower than MTE but Google has heavily used it for many years which means most of the OS was prepared for MTE other than hardware specific parts not well tested by automated testing.
by trashface | 2025-11-02 23:49:45+00:00
There is a big push in PA too. Our governor Josh Shapiro seems more pro-datacenter than not. (Note he is a potential 2028 presidential hopeful who, full disclosure, I voted for and don't regret doing that since the alternative was a total nut job IMHO).

Meanwhile everybody's electric rates are spiking, some dramatically so. There isn't much new power generation being built here. Amazon is taking over an old US steel plan that had a dedicated gas generator, and MS supposedly has invested in restarting TMI's non-melted down reactor - i'll be amazed it that ever produces a drop of power though I'm sure billions will be spent on it.
by pfannkuchen | 2025-11-02 23:50:06+00:00
Those are your personal abstraction boundaries. It is a perfectly coherent set of positions to oppose enslaving humans while at the same time being selective about which humans you allow into your nation. The “founding fathers” factually prohibited non-whites from being citizens of America. So what if they were opposed to slavery or not? Those are entirely different matters, and a position on slavery does not imply anything about a position on “any person on earth can be an American”.
by cjbarber | 2025-11-02 23:50:35+00:00
Found via: https://auren.substack.com/p/top-5-things-to-read-in-novembe...

See also: https://x.com/wangzjeff/status/1983914310738047291

And also Nick Gray's 2 hour cocktail party book

My personal thoughts on events:

(These don't really apply to parties, but they do apply to non-party events)

1. Do intro circles: If it's a 5-25 person event with a handful of people that don't know each other, do an intro circle about 15-20 mins after the start time. Turns it from something where people show up and might meet 1-3 random people that they happen to walk up to, vs something where everyone gets 1 point of contact with anyone else. Works well up to about 25 people, haven't tested it beyond that. Go round say name, and then pick a few questions depending on the audience (eg could be something you'd like help with, something you're reading about, etc). For non-parties (eg meetups, work mixers, things that don't have alcohol or aren't late), the easiest way to improve any event is for the host to do a brief intro circle.

2. The best events to host are the ones you wish you could attend but that don't exist

3. Minimize uncertainty for attendees: Clear parking info/photos and a photo of the space is always helpful too.

4. Host more events: Very positive sum. Even can be simple discussion groups. Anything that you enjoy doing where it'd be more fun with a few other people. Playing video games together, reading papers together, discussing how you're using AI coding tools, whatever. Workshops, mixers, talks, parties, peer groups, etc. If you enjoy reading about it on HN or twitter, you'd probably also enjoy discussing it with people directly. The world is undersupplied for events.
by downut | 2025-11-02 23:51:33+00:00
I used all of the plants discussed, interesting meats like various types of game, lamb, offal, turtles, frogs, raw oysters, all shellfish in general, and a whole bunch of fermented foods including every kind of cheese, and all the curries, to filter out the squeamish during the partner search. 45 years later I think the strategy has proved itself spectacularly. During the pregnancy all that stuff was in the mix every day and the result was by 1 1/2 years old depending on the meal we called the kid The Broccoli Monster or The Asparagus Monster on account of the kid's hilarious enthusiasm. Fascinating watching the asparagus get inhaled. Also we didn't force it but when the crawler snuck into the fridge for raids invariably she grabbed the BBQ chicken or the ham. "Guess she's not a vegetarian...". We have pix. Kid recently got a food science MS from UC Davis.

Kinda figures this is in the BritishBC.

Edit: I'm very happy for the down votes, because it gives me new data on a subset of current HN commenters. Musk really needs you because those Mars rockets aren't going to be a culinary paradise. He's probably going to just put in a row of push button dispensers for that stuff they dish out on the ship in The Matrix. Unclear if the tubes go directly to a row of hungry mouths, or even more efficiently right down into the stomachs.
by strcat | 2025-11-02 23:52:23+00:00
> You can't attack Debian like this without providing a few examples.

It's not specific to Debian. They're packaging a massive ecosystem of software nearly entirely not developed or significantly changed by Debian and are assembling an operating system out of it. Many of the projects they package have quite poor attitudes when it comes to privacy and security, including core components of the base OS. It's mainly criticism of projects including glibc, systemd, GCC and GNOME which is worse when using an OS lagging so far behind backporting a subset of the vulnerability fixes and doing the opposite of attack surface reduction / hardening with how they integrate most of it.

> This is just an empty accusation. Have you seen serious security problems in Debian with any noticeable consequences recently?

Yes, it has atrocious privacy and security including being far behind operating systems like macOS in deploying app sandboxing, a modern permission model, isolation throughout the OS, modern exploit protections and memory safe languages. Debian is focused on packaging and integrating software, not developing it. There's nearly zero work on overall privacy and security work. Backporting patches for issues assigned CVEs is not systemic work on improving privacy and security. Debian is not making the major ongoing advances in privacy and security which have happened on mobile and are happening at a slower and more limited pace for macOS. QubesOS largely exists to work around the extreme insecurity of traditional desktop operating systems. It also exists to work around the insecure architecture of the Linux kernel which is increasingly behind macOS and especially iOS doing increasingly sophisticated kernel hardening with substantial work done across the kernel along with moving more code into userspace. If anything, Linux is moving more code into kernel space where it has no isolation, particularly on traditional distributions simply enabling all the new features/functionality rather than doing more and more attack surface reduction and hardening like Android/ChromeOS (which are still falling further behind iOS in this area).
by xmprt | 2025-11-02 23:52:35+00:00
There's an argument to be made that if everyone is doing it then it will stop being effective and brands will have to start reaching for more honest forms of marketing/advertising their product. I think we've already gone through a cycle of this with influencer marketing where a decade ago, if a Youtuber recommended a product it had a lot more weight (eg. I could actually imagine a lot of creators using Audible/Squarespace) than today where most people realize it's just a way for them to make money and doesn't really hold much weight.
by viktorcode | 2025-11-02 23:52:41+00:00
Two more points to that:

First, due to substantial differences in graphics hardware, that is tiled-based deferred rendering for Apple Silicon and immediate mode rendering for NVIDIA and AMD the software simulation or translation layer will never be as good as DXVK/VKD3D, which essentially do rendering on exactly same GPUs. In case of using TBDR the pipeline must be rewritten to get the benefits. Simply put, for Apple hardware every Windows game wrapped in a translation layer will be significantly worse off than a native port. That’s why it’s important for Apple to push for that.

Second, Apple is the owner of the biggest game storefront in terms of revenue. They don’t have to ask for game developers to come, they are already here. The market we are talking about is AAA games market. And this market is characterised by dedicated hardware: consoles and gaming PC. So I think this is where lies the actual problem: Apple doesn’t make dedicated hardware for games.
by rogerrogerr | 2025-11-02 23:53:23+00:00
I dunno… what differentiates human labor in a few decades?

You don’t see ~anyone being paid because they are stronger than the next guy; hydraulics are stronger than all of us.

What happens when you don’t get paid for being smarter than the next guy, because AI is smarter than all of us?

And then next up is being paid for being more dexterous than the robots - basically all trade work. I think there’s a longer runway for those jobs, but it’s coming.
by derefr | 2025-11-02 23:54:12+00:00
I would think, if anything, it would be for creating a UI for a Godot-native game (after a prototype stage where the UI is Godot-native programmer art); and being able to break off the responsibility for that component to a UI team that can simply hire React frontend devs to do the design and development, where those devs don’t need any knowledge of how Godot works. Architecturally, the game UI wraps and controls the game engine, because of course it does; but organizationally, the UI team would serve the needs of the game dev team, rather than the other way around.
by nkrisc | 2025-11-02 23:54:42+00:00
Sound deadening and insulation, whether purpose-made or simply walls/trees/incidental stuff. Fifty people in a 200sq/ft space will almost always louder than twenty-five people in two 100sq/ft spaces connected by a doorway.

Unless the space has amazing purpose-built acoustic qualities, put physics obstructions between groups of people (walls, doors, bushes, trees, fences, whatever).

If a house-party is unbearably loud, there's just too many people for the space, or there's some anomaly that is concentrating too many people in one area.
by buildsjets | 2025-11-02 23:54:47+00:00
I sure miss the kind of parties where they have to get an emergency court order to cut power the building at 3am.

I learned everything I need to know about throwing parties from Dave Barry.

If you throw a party, the worst thing that you can do would be to throw the kind of party where your guests wake up today, and call you to say they had a nice time. Now you'll be be expected to throw another party next year.

What you should do is throw the kind of party where your guest wake up several days from now and call their lawyers to find out if they've been indicted for anything. You want your guests to be so anxious to avoid a recurrence of your party that they immediately start planning parties of their own, a year in advance, just to prevent you from having another one.

If your party is successful, the police will knock on your door, unless your party is very successful in which case they will lob tear gas through your living room window. As host, your job is to make sure that they don't arrest anybody. Or if they're dead set on arresting someone, your job is to make sure it isn't you.
by asa400 | 2025-11-02 23:54:58+00:00
As someone who has gone deep into both functional programming (with Elixir, Clojure, and Scala) and also Rust, they solve the same problem in different ways with different tradeoffs.

The problem is that shared mutable state is incredibly hard to get correct, especially when concurrency enters the picture.

Elixir and Clojure sidestep the problem by making copying data so cheap that instead of sharing references to mutable data, you make all data immutable and copy it whenever you want to change it in some way. (Which is a classic technique: don’t like the problem? Solve a different problem that sidesteps the original problem in a creative way)

So you have a lot of functions of roughly the shape `f -> f` (return a new thing) instead of `f -> ()` (mutate a thing in place).

This possible at all by the clever use of some novel data immutable structures like HAMTs that are able to approximate the performance of traditional mutable data structures like hashmaps or arrays while presenting an immutable API.

As it turns out, this is a much easier programming model for most of us to get correct in practice (especially in the presence of concurrency) than sharing mutable state in an imperative programming language like C or Java or Python.

The tradeoff is that the immutable functional data structures actually do have a some performance overhead. In most domains it's not large enough to matter, but in some domains it is, and in those domains you really do need mutable state to eek out that last bit of performance.

Which is where Rust comes in.

In Rust's model, data can either mutable or shared, but not both at the same time. The Rust compiler computes the lifetimes of data throughout your program to ensure that this invariant is upheld, so mutable data is not shared, and shared data is not mutated.

The downside of this is that you have to internalize these rules and program to them. They can be tough to learn and tough to program with even after you have learned them, though it does get much easier with experience, I will say.

The upside of Rust's model is that you can have your cake and eat it too: you can keep the high performance ceiling of a true mutable data model while maintaining memory and resource safety.

In short, you can think of Clojure/Elixir as sidestepping the shared mutability problem at the cost of some runtime performance (though again in practice it is smaller than you would think), and Rust as tackling the shared mutability problem head on by transferring the cost of solving the problem to a more complicated compiler and a harder-to-learn programming model.

These are just my opinions having used both Rust and the immutable data functional programming stuff in anger. I'm not trying to present one as being better than the other, the key point is that they're both better than what came before.
by strken | 2025-11-02 23:55:07+00:00
The problem is that now you use Postgres for 95% of your system, and also Redis or NATS, which means you lose the ability to atomically commit changes to your database and send a message in one transaction.

You can work around this, but to the best of my knowledge you can't have consistency (between your existing Postgres database and your separate queue or event log) and simplicity.
by summa_tech | 2025-11-02 23:55:48+00:00
Long ago, before access to the Internet was cheap and plentiful, and way before search engines made finding this kind of information easy, this was a priceless find for an aspiring low-level programmer. All the (semi-)common PC hardware and software documented in one place.

Endless hours spent exploring VGA hardware registers and trying to apply them for cool visual effects. Learning how the then-new 32-bit Windows interacted with DOS extenders, and trying to make a homemade - very basic - operating system that could do it, too. The thrill of writing a Terminate and Stay Resident alarm clock, and having it finally not explode...

I have very fond memories of the Ralf Brown's Interrupt List.
by social_quotient | 2025-11-02 23:57:20+00:00
I’ve run millions of jobs on MTurk.

For a major mall operator in the USA, we had an issue with tenants keeping their store hours in sync between the mall site and their own site. So we deployed MTurk workers in redundant multiples for each retail listing… 22k stores at the time, checked weekly from October through mid-January.

Another use case.. figuring out whether a restaurant had OpenTable as an option. This also changes from time to time, so we’d check weekly via MTurk. 52 weeks a year across over 100 malls. Far fewer in quantity, think 2-300. But it’s still more work than you’d want to staff.

A fun more nuanced use case: In retail mall listings, there’s typically a link to the retailer’s website. For GAP, no problem… it’s stable. But for random retailers (think kiosk operators), sometimes they’d lose their domain, which would then get forwarded to an adult site. The risk here is extremely high. So daily we would hit all retailer website links to determine if they contained adult or objectionable content. If flagged, we’d first send to MTurk for confirmation, then to client management for final determination. In the age of AI this would be very different, but the number of false positives was comical. Take a typical lingerie retailers and send it to a skin detection algorithm… you’d maybe be surprised how many common retailers have NSFW homepages.

Now some pro tips I’ll leave you with.

- Any job worth doing on mturk is worth paying a decent amount of money for.

- never runs. Job 1 tile run it 3-5 times and then build a consensus algo on the results to get confidence

- assume they will automate things you would not have assumed automated - And be ready to get some junk results at scale

- think deeply on the flow and reduce the steps as much as possible.

- similar to how I manage Ai now. Consider how you can prove they did the work if you needed a real human and not an automation.