MurphyA/hacker-news huggingface dataset:
by alexpotato | 2025-12-15 17:06:44+00:00
I was an undergrad at Rutgers in the late 1990s as they transitioned from teaching Pascal to Java for the introductory CS classes.

The lectures were primarily about algorithms, basic data structures etc and the extra "labs", taught by Teaching Assistants, was almost always for reviewing the lecture notes with a focus on answering questions.

At no point was there any discussion around "hey, here is a good way to design, write and test a program in a compiled language". My prior experience was with BASIC so just figuring out how to compile a program was a skill to pick up. I thankfully picked it up quickly but others struggled.

Another thing I saw often was people writing ENTIRE programs and then trying to compile them and getting "you have 500 compilation errors". I never wrote programs this way, I was more "write a couple lines, compile, see what happens etc" but it always struck me that even just suggesting that option in class would have helped a lot of folks.

(This being HN, I'm sure some people will say that students figuring this stuff out on their own helps weed out non-serious people but I still don't 100% buy that argument)
by alerighi | 2025-12-15 17:06:52+00:00
Why they are a security feature? They are not, the article even says it. Even if UUID4 are random, nobody guarantees that they are generated with a cryptographically secure random number generator, and in fact most implementations don't!

The reason why in a lot of context you use UUID is when you have a distributed system where you want your client to decide the ID that is then stored in multiple systems that not communicate. This is surely a valid scenario for random UUID.

To me the rule is use UUID as a customer-facing ID for things that has to have an identity (e.g. a user, an order, etc) and expose it publicly through APIs, use integer ID as internal identifier that are used to create relations between entities, and interal IDs are always kept private. That way numeric ID that are more efficient remain inside the database and are used for joining data, UUID is used only for accessing the object from an API (for example) but then internally when joining (where you have to deal with a lot of rows) you can use the more efficient numeric ID.

By the way, I think that the thing of "using UUID" came from NoSQL databases, where surely you use an UUID, but also you don't have to join data. People than transposed a best practice in one scenario to SQL, where its not really that best practice...
by regularization | 2025-12-15 17:07:08+00:00
The US is currently expelling students, firing professors and college presidents and so on, not because they aren't US aligned, but because they allow people on campus to criticize Israel.

CBS just got taken over by the same cabal.

Amidst ICE grabbing people out of Home Depot parking lots in the US, China is just doing the same thing over there.
by jcranmer | 2025-12-15 17:07:17+00:00
Metals, especially aluminum, are useful enough to recycle that it's sometimes worth extracting them from the municipal waste stream (this is a no-brainer if your waste is incinerated, rather than sent to a landfill directly).

Glass, plastic, and paper are generally at best marginal for recycling, especially because they can be sensitive to contamination in the recycling process (oops, somebody threw a greasy pizza box in the recycling!). Glass and some kinds of plastic products work really well for reuse rather than recycling, but a municipal recycling stream isn't conducive to reuse; you're probably more likely to see them ground up and 'recycled' as some kind of aggregate. For plastic, I'd expect that just about only a plastic water bottle or the like is close to practicably recyclable.
by mytailorisrich | 2025-12-15 17:07:35+00:00
There is a duality.

The Chinese were obviously always opposed to British imperalism and it was a major victory to finally get HK back, including in HK, and even acknowledged in Taiwan. There is a large body of quite nationalistic and anti-European/British films in HK cinema from British times.

However, this does not mean that there is no domestic politics with pro and anti communist party, but daily life hasn't changed in HK except from the larger influx of "mainlanders".

The narrative on HK in the West is simplistic and, frankly a little racist. European imperialism and colonialism has long been rejected except somehow for the so great thing it did in HK, conveniently forgetting that the British never had any democracy in HK and acquired HK by pretty nasty means.
by Reubachi | 2025-12-15 17:07:35+00:00
A question. If you think AI use by students to "bypass homework" is anything remotely approaching a problem, then I must ask you how you felt/feel about:

- University being cost prohibitive to 90 percent of all humans as financial driven institutions, not performance.

- Before AI, 20 + years of google data indexing/searches fueling academia

- study groups before that allowing group completion (or, cheating, in your view)

- The textbook that costs 500 dollars, or the textbook software from pearson that costs 500, that has the homework answers.

I think it's a silly posit that students using AI is...anything to even think about. I use it at my fortune 500 job every day, and have learned about my field's practical day-to-day from it than any textbook, homework assignment, practical etc.
by heliumtera | 2025-12-15 17:07:36+00:00
I think yes. If you don't create an obvious avenue for the user to infer his development, he won't be able to do it. You have to confuse the audience to bring in the sense of progress. People learn by being challenged, confused, and by building something. Nobody learns by interfacing with an application that promises it. But besides learning nothing, they can feel good about being engaged, by completing tasks, seeing progress bar moving, seeing number go up. Someone that decides to interface with a learning app instead of learning the damn thing is doomed, will never learn anything at all. Just give them a sense of accomplishment so they can feel good about it. Without gamification what would the platform give them? If don't help them cope with their inertia, there really is nothing you could do. Maybe you are equating gamification with dark patterns? Gamification is not necessarily a bad thing. It is a powerful psychological trick. Can definitely be used for good. Working on performance often feels amazing because we can profile, identify clear bottlenecks and work to reduce them. When you manage to make number go down, you have a clear indication something went right. Maybe you didn't absolutely improve de code, but you made it better in a very specific way under a very specific lens. People like it because of this aspect, and it does feel a little bit like a game. There is a clear requirement and a clear specification. The game aspect makes it very enjoyable. I suppose development against a test suite provides a similar experience. Feels good in a game-ish way. Gamification is more related to the feels good than dark patterns, but obviously, the whole industry will ONLY be interested in exploiting practices. There is no incentive to make the user feel good, at all, without being pervasive. If you care about your user, you should design around the user. Inevitably, you will think a bunch about what feels good. If all you care about is the user learning, developing competence, you will offer no platform at all. The platform will tell them to close it and go do the thing. If you want to motivate them, another story. If you want them to feel accomplished, another story. You're building a feels good, want to feel accomplished want to fool myself into learning app.s gamification is the whole point.
by jltsiren | 2025-12-15 17:08:08+00:00
There is more to recycling than energy consumption.

For example, wood is a limited resource. In many parts of the world, almost all growth outside protected areas is harvested and used. By recycling paper and cardboard, you make wood available for higher-value uses.

Household waste is often incinerated. Even if you are not going to recycle glass, it can make sense to separate it from general waste.
by embedding-shape | 2025-12-15 17:08:23+00:00
Some do, some don't. I was there recently, most of natives who I spoke to didn't really care that much, and the people who cared, was basically 50/50 between agreeing to more Chinese control vs against. Still, I'm a foreigner, so I'm likely not getting the full picture, people don't exactly go around flagging they're opposing China's crackdown, so YMMV.
by more_corn | 2025-12-15 17:08:31+00:00
Ai does us a crap-ton of water. Most data centers use closed loop liquid cooling with heat exchangers to water cooling. (At least all the big ones like Google and Amazon do)

I’m curious what evidence you think you’ve seen to the contrary. from my side, I used to build data centers and my friends are still in the industry. As of a month ago I’ve had discussions with Google engineers who build data centers regarding their carful navigation of water rights, testing of waste water etc.
by Arch-TK | 2025-12-15 17:08:43+00:00
Let's put aside whether you can trust apple for a moment.

Where the hardware comes from is much less of a risk than the fact than where the locked down firmware and software comes from.

Yes the west's over-dependence on Chinese hardware is a liability, but what's easier? Compromising hardware or compromising software? If you don't know, I'll tell you, it's the latter.
by krish678 | 2025-12-15 17:08:43+00:00
Thanks for checking it out! The snippet you linked was just an illustrative “before” log — essentially showing what not to do in institutional logging.

The actual framework uses multi-layered, auditable logs with:

Hardware timestamps (NIC, CPU, PTP-synced)

Cryptographic integrity manifests

Offline verification of latencies

PCAP captures for external validation

Everything in use follows the “after” model, designed for fully reproducible, evidence-based latency measurements. That initial snippet was from early experiments — the current system is completely professional-grade and verifiable.
by Analemma_ | 2025-12-15 17:08:46+00:00
He's being downvoted because it's a dumb, knee-jerk comment. This has nothing to do with RAM, the thing getting really expensive at the moment, and Samsung isn't even stopping SSD production (which would be worth getting really mad about). It's about stopping production for a specific interface which has long since been saturated by even the cheapest, crummiest SSDs.

SATA SSDs don't really have much of a reason to exist anymore (and to the extent they do, certainly not by Samsung, who specializes in the biggest, baddest, fastest drives you can buy and is probably happy to leave the low end of the market to others).
by matt_kantor | 2025-12-15 17:09:03+00:00
I don't understand the second part of your comment (that's a value, not a type), but the first part looks like this:

/** @typedef {`${number}.${number}.${number}`} SemVer */

Here's a playground: https://www.typescriptlang.org/play/?filetype=js#code/PQKhAI...
by TheAmazingRace | 2025-12-15 17:09:20+00:00
I do see 2.5 GbE NICs really making huge headway just within the past few years alone. Even lower end AMD and Intel motherboards are including 2.5 GbE ethernet ports by default these days, and that standard has the advantage of using the same copper RJ45 cabling, while giving you a theoretical 2.5x gain in speeds. For many users, even including myself, 2.5 GbE is a fantastic leap forward without having to dump money into fancier gear in order to properly take advantage of something faster like 10 GbE networking.
by spacebanana7 | 2025-12-15 17:09:27+00:00
Hong Kong is the only business friendly place in the world that’s genuinely independent of the US/EU transatlantic regulatory blob.

The mainland government want to keep it prosperous so will likely work to protect it from sanctions or international regulations.

If you’re a Russian oligarch it’s probably safer to keep your money in HK than Cayman or Switzerland these days. Even if you’re a petrostate sovereign wealth fund or non NATO central bank there’s some value in holding assets that can’t be frozen at will by the US treasury secretary.

You could argue that Signapaore and the UAE compete here but they have much more dependency on the west for security and diplomacy.
by demarq | 2025-12-15 17:10:04+00:00
> The law was enacted without consulting the Hong Kong legislature and gave authorities broad powers to charge and jail people they deemed a threat to the city's law and order, or the government's stability.

The UK throwing a very big rock at a thin glass house.

I don’t agree with any such laws in any country, but I think it’s important to point out the hypocrisy here
by ralferoo | 2025-12-15 17:10:33+00:00
> Norwegian PNs have your birth date (in DDMMYY format) as the first six digits. Surely that doesn't change, right? Well, wrong, since although the date doesn't change, your knowledge of it might. Immigrants who didn't know their exact date of birth got assigned 1. Jan by default... And then people with actual birthdays on 1 Jan got told, "sorry, you can't have that as birth date, we've run out of numbers in that series!"

To me, what your example really shows is the problem with incorrect default values, not a problem with encoding data into a key per se. If they'd chosen a non-date for unknown values, maybe 00 or 99 for day or month components, then the issue you described would disappear.

But in case, the intention for encoding a timestamp into a UUID isn't for any implied meaning. It's both to guarantee uniqueness with a side effect that IDs are more or less monotonically increasing. Whether this is actually desirable depends on your application, but generally if the application is as a indexed key for insertion into a database, it's usually more useful for performance than a fully random ID as it avoids rewriting lots of leaf-nodes of B-trees. If you insert a load of these such keys, it forms a cluster on one side of the tree that can the rebalance with only the top levels needing to be rewritten.
by benzible | 2025-12-15 17:11:00+00:00
UCSF published a comprehensive study of homelessness in California in 2023 [1]. A few relevant points:

The ~1/3 substance use figure holds up (31% regular meth use, 24% report current substance-related problems). But the study found roughly equal proportions whose drug use decreased, stayed the same, or increased during homelessness. Many explicitly reported using to cope with being homeless, not the reverse.

On whether money helps: 89% cited housing costs as the primary barrier to exiting homelessness. When asked what would have prevented homelessness, 90% said a Housing Choice Voucher, 82% said a one-time $5-10K payment. Median income in the 6 months before homelessness was $960/month.

The severe-mental-illness-plus-addiction cases like the family member mentioned exist in the data, but the study suggests they're the minority. 75% of participants lost housing in the same county they're now homeless in. 90% lost their last housing in California. These are mostly Californians who got priced out.

[1] https://homelessness.ucsf.edu/sites/default/files/2023-06/CA...
by ck2 | 2025-12-15 17:11:02+00:00
propublica.org has endless great articles on this and other horrors in the US

but if we aren't going to change a damn thing with daily mass shooting we sure aren't going to fix poisoning the environment, fracking is 100x worse than this and "sacrifice zones" are a real thing

follow the money, sue before current administration makes it illegal to sue

https://www.propublica.org/series/sacrifice-zones
by tuhgdetzhh | 2025-12-15 17:11:33+00:00
Just for comparison, this is how the code could look like in Python:

SUCCESS = 0 TOO_FAR_LEFT = 2 TOO_SLOW_OR_TOO_LOW = 4 TOO_FAST_OR_TOO_HIGH = 8 MIN_ALTITUDE = 100 MAX_ALTITUDE = 300 MIN_SPEED = 200 MAX_SPEED = 400 MIN_SPEED_200_RANGE = 238 MAX_SPEED_300_RANGE = 338 MAX_HEADING_RIGHT = 8 def landing_skill_check( altitude: int, speed: int, heading: int) -> int: if altitude < MIN_ALTITUDE: return TOO_SLOW_OR_TOO_LOW if altitude >= MAX_ALTITUDE: return TOO_FAST_OR_TOO_HIGH if speed < MIN_SPEED: return TOO_SLOW_OR_TOO_LOW if speed >= MAX_SPEED: return TOO_FAST_OR_TOO_HIGH if speed < 300: if speed < MIN_SPEED_200_RANGE: return TOO_SLOW_OR_TOO_LOW else: if speed >= MAX_SPEED_300_RANGE: return TOO_FAST_OR_TOO_HIGH if heading < 0: return TOO_FAR_LEFT if heading >= MAX_HEADING_RIGHT: return TOO_SLOW_OR_TOO_LOW return SUCCESS
by jijijijij | 2025-12-15 17:11:38+00:00
> this is where i switch back to downloading music off russian pirate websites.

As a bonus you may even get discount codes for your VPN!

For real tho, fuck all those rent-seeking control freaks. Piracy was almost dead, we had a good deal. But no, it's never enough, so here we are.

Also, some piracy boards are actually pretty steady, nice and cool communities, and listing to local files feels way more intentional.
by toast0 | 2025-12-15 17:11:44+00:00
A few generations old, and HEDT, which isn't exactly consumer but ok. I see one for $100 on ebay, so that's not awful either.

Even that gives you one m.2 slot, and 8/8/8/16 on the x16 slots, if you have the right cpu. Assuming those are can all bifurcate down to x4 (which is most common), that gets you 10 m.2 slots out of the 40 lanes. That's more than you'd get on a modern desktop board, but it's not 16 either.

For home use, you're in a tricky spot; can't get it in one box, so horizontal scaling seems like a good avenue. But in order to do horizontal scaling, you probably need high speed networking, and if you take lanes for that, you don't have many lanes left for storage. Anyway, I don't think there's much simple software to scale out storage over multiple nodes; there's stuff out there, but it's not simple and it's not really targeted towards a small node count. But, if you don't really need high speed, a big array of spinning disks is still approachable.
by barrkel | 2025-12-15 17:11:56+00:00
Fwiw, SATA and NVMe are mutually incompatible concepts for a single device; SATA drives use AHCI to wrap ATA commands in a SCSI-shaped queuing mechanism called command lists over the SATA bus, while NVMe (M.2/U.2/add-in) drives talk NVMe protocol (multiple queues) over PCIe.
by bri3d | 2025-12-15 17:12:17+00:00
> Nobody forces you to use a real Unix timestamp.

Besides the UUIDv7 specification, that is? Otherwise you have some arbitrary kind of UUID.

> I would not count on the first 48 bits being a "real" timestamp.

I agree; this is the existential hazard under discussion which comes from encoding something that might or might not be data into an opaque identifier.

I personally don't agree as dogmatically with the grandparent post that extraneous data should _not_ be incorporated into primary key identifiers, but I also disagree that "just use UUIDv7 and treat UUIDs as opaque" is a completely plausible solution either.
by dap | 2025-12-15 17:12:19+00:00
It is, although you can have sharded PostgreSQL, in which case I agree with your assessment that you want random PKs to distribute them.

It's workload-specific, too. If you want to list ranges of them by PK, then of course random isn't going to work. But then you've got competing tensions: listing a range wants the things you list to be on the same shard, but focusing a workload on one shard undermines horizontal scale. So you've got to decide what you care about (or do something more elaborate).
by Pet_Ant | 2025-12-15 17:12:27+00:00
> The work was given to other humans. They paid taxes.

Says who? I mean what if black artists said they gave blues to black people, and white people making rock'n'roll? Black people spent money in black communities, now it's white people making it and spending it in theirs.

In essence they are the same point about outflows of value from the originating community. How you define a community, and what is integral is subjective.

I'm not convinced either way, but this line of reasoning feels dangerous.

I'd rather say that all ownership is communal, and as a community we allow people to retain some value to enable and encourage them further.
by marzchipane | 2025-12-15 17:12:39+00:00
That's a cool thought! For those who may not know, Shor's algorithm is fundamentally quantum because it relies on the interference of probability amplitudes, which can be both positive and negative. It could not be directly implemented on a p-computer because you could only simulate this interference, which removes the exponential advantage.

It's possible that an entirely different approach is made possible by p-computers, but this would be tricky to find. Furthermore, it seems that the main advantage of p-computers is sampling from a Boltzmann-like distribution, and I'm not aware that this is the bottleneck in any known factorisation algorithm.
by Tyrannosaur | 2025-12-15 17:12:57+00:00
Hot water recirculation is a thing I have heard of done in the United States. I don't know how common it is, but a simple Home Depot search brought up a bunch of results for options.

https://www.plumbingsupply.com/recirculating-systems-explain...

https://www.homedepot.com/s/hot%20recirculation?NCNI-5
by n_u | 2025-12-15 17:13:32+00:00
> I think there are a lot of reasons to use this flag besides a write()+f(data)sync() sequence:

> * If you're putting something in a write-ahead log then applying it to the primary storage, you want it to be fully committed to the write-ahead log before you start changing the primary storage, so if there's a crash halfway through the primary storage change you can use the log to get to a consistent state (via undo or redo).

I guess I meant exclusively in terms of writing to the WAL. As I understand most DBMSes synchronously write the log entries for a transaction and asynchronously write the data pages to disk via a separate API or just mark the pages as dirty and let the buffer pool manager flush them to disk at its discretion.

> * If you're trying to atomically replace a file via the rename-a-temporary-file-into-place trick, you can submit the whole operation to the ring at once, but you'd want to use `IOSQE_IO_LINK` to ensure the temporary file is fully written/synced before the rename happens.

Makes sense
by rhgraysonii | 2025-12-15 17:14:01+00:00
It's doing a great job. It has built itself with itself, the story is here

http://notactuallytreyanastasio.github.io/deciduous/story.ht...

the time-relevant stuff is all well beyond anything it does. It keeps confidence weights and decision paths and can analyze those.

I've also been using it at work with pretty great success.
by MarkusQ | 2025-12-15 17:14:16+00:00
This is either pseudo-mystical nonsense or a simple category error, depending on charitable you care to be.

The charitable interpretation is that the authors think an argument for interdisciplinary research must begin by disparaging one of the parent fields--sort of an academic analog of negging I suppose. But the argument could easily be extended ad absurdum. Physicist don't study X, so they are "missing something", and we needed a new subject X-Physics, but this didn't fix the problem because "mainstream" physicists still don't study X. For any X you want, no matter how silly.

The less charitable assumption is that it's yet another attempt to sneak vitalism back in via complexity theory and emergence.
by rhgraysonii | 2025-12-15 17:15:02+00:00
Deciduous is built using itself. It tells the story of that here

http://notactuallytreyanastasio.github.io/deciduous/story.ht...

There is also a living graph of the entire development lifecycle thus far here

http://notactuallytreyanastasio.github.io/deciduous/demo/

I began the project 12 days ago, so this is all very fresh. I extracted it from another tool I built after building it to help me build that tool.