MurphyA/hacker-news huggingface dataset:
by ceridwyn | 2025-08-20 15:10:15+00:00
Strongly agree. Consider the case of a healthcare application where, during the course of business, staff may perform searches for patients by name. When "Ada Lovelace" appears even briefly in the search results of a "search-as-you-type" for some "Adam _lastname", has their privacy has been compromised? I think so, and the audit log should reflect that.

I'm a fan of FHIR (a healthcare api standard, but far from widely adopted), and they have a secondary set of definitions for Audit log patterns (BALP) that recommends this kind of behaviour. https://profiles.ihe.net/ITI/BALP/StructureDefinition-IHE.Ba...

"[Given a query for patients,] When multiple patient results are returned, one AuditEvent is created for every Patient identified in the resulting search set. Note this is true when the search set bundle includes any number of resources that collectively reference multiple Patients."
by Philpax | 2025-08-20 15:10:28+00:00
The argument isn't that it's difficult for them to circumvent - it's not - but that it adds enough friction to force them to rethink how they're scraping at scale and/or self-throttle.

I personally don't care about the act of scraping itself, but the volume of scraping traffic has forced administrators' hands here. I suspect we'd be seeing far fewer deployments if the scrapers behaved themselves to begin with.
by parineum | 2025-08-20 15:10:34+00:00
> I guess it's a problem of incentives. The developer of the game doesn't pay when the game is larger, I do.

This is everywhere in computing but there's a better reason for it than you're giving. It's a cheaper/easier for companies to develop "bloated" software that runs on more powerful hardware. That includes uncompressed textures/sound (because why bother finding a codec or fine tuning quality tradeoff when you can just get give uncompressed data). But the end result, for you, is more software is available and more developers exist (because writing efficient and performant code is much harder).

A game like Stardew Valley, for instance, probably doesn't exist. I've put a ton of hours into that game and I think it's excellent but, not to cast any shade, the game isn't exactly a masterclass in efficiency. It's only slightly more advanced than a SNES game but it consumes many many time more resources.

The benefit to you is that an inexperienced software engineer with a great idea can bring their idea to fruition using all sorts of bloated tools.
by loloquwowndueo | 2025-08-20 15:10:36+00:00
Technical pens (staedtler) are great for math writing and quite precise (I studied engineering and used these a lot for notes with lots of formulas, diagrams, math notation etc), but the ink does take a bit to dry so it can be smeary particularly for left-handed use. They’re also a bit unforgiving with writing angles (likely not optimized for writing, for sure but they do work)
by 1718627440 | 2025-08-20 15:10:41+00:00
I switched from Thuringia to Saxony and have younger siblings that were in Saxony and they don't differ in that regard. I thought "Schulausgangsschrift" was mandatory. Where do you went to school? What did you do in class two in German lessons? This was basically the main thing we learned there (I think).
by cddotdotslash | 2025-08-20 15:11:07+00:00
In China, nearly everything works via the same app (WeChat) and via QR code. Every grocery store, coffee shop, train station, or point of sale has the same scanner, where you can flash your QR code. I don't think I saw a single physical currency exchanged in the entire 6 weeks I was there.

I keep hearing that X wants to be the "everything" app. WeChat is _already_ the everything app. It's DoorDash, Venmo, Facebook, Instagram, and about 500 other apps in one.

I will say that I disliked the pattern of every restaurant using a WeChat "mini app" where it basically loads an entirely new app within WeChat just to see the menu or order. It felt much clunkier than just using a web page.
by JustExAWS | 2025-08-20 15:11:14+00:00
I flag submissions even when I agree on the topic. Basically any topic where I can’t see the comments as enhancing someone’s knowledge and will just be politics and whataboutism.

Before the usual retorts come that I can only afford to think that way because I’m not a member of a “disaffected group”, my still living parents dealt with the Jim Crow south and my son who grew up in the suburbs all of his life still got looked at with suspicion walking around in our neighborhood.

But that doesn’t mean I want to see a dozen post a day about police brutality, BLM, the inequities in the justice system or whatever anti woke BS Trump was talking about today on HN.

What possible good discussion could come out of a post about Palestine vs Israel unless it was a technical “innovation” [sic] that one side or the other was using?
by Retr0id | 2025-08-20 15:12:09+00:00
A lot of writing suffers from the problem of "this explanation only makes sense if you already understand it", and I think it's the default - if the author is essentially explaining the problem to themselves, of course it makes sense to someone who already understands it.

The problem can be perpetuated when e.g. a lecturer sets recommended reading to students. From the lecturer's perspective the selected reading material has clear explanations (because the lecturer understands the subject well), but the students do not feel the same way.

As you say, this takes effort to overcome, both on the author's side and from anyone trying to curate resources - including what we choose to upvote on HN!
by lemonwaterlime | 2025-08-20 15:12:36+00:00
I’ve been working on similar refactoring and grepping utility functions for vim, though mine are meant to work in any language.

The most recent one I’ve made runs 'git grep' on the word under cursor or on the visual selection and puts everything into a quick fix list.

Since it is generic, it works on any phrases as well, and helps me find prose snippets and phrases in docs or other writings.
by pjmlp | 2025-08-20 15:12:55+00:00
Interactive development, and scripting that isn't tied to UNIX CLI culture.

But maybe I am strange, because I got to experience Smalltalk transcript, Oberon REPL, AmigaDOS and REXX, was into XEmacs when there were no UNIX based IDEs to chose from, got to use VB REPL before Microsoft killed it on VB.NET, Alegro Common Lisp, Caml Light,...

And I guess that is why nowadays I am a big Powershell fan, even if it errs on the verbosity side.

It is like having the debugger always turned on, and being able to script the OS as well.
by PaulHoule | 2025-08-20 15:13:30+00:00
You might even get better responses over text or in a situation that's just different.

A lot of doctors are under pressure to handle a lot of patients and they are used to telling patients that they ought to lose weight or quit smoking or something and the patients never do so they are not really engaged.

If you tasked a real doc to work like the AI and answer questions on an a la carte basis and not have another patient scheduled in 20 minutes and be more concerned about "how do I bill insurance for this?" [1] than anything else.

[1] I worked for a very early clinical notes startup and I was the cynical one who thought the sure path to a viable product was billing/rebilling.
by Aurornis | 2025-08-20 15:13:34+00:00
> There are real diminishing returns in terms of follow-up traffic and follow-up effects

I’m probably in the minority, but whenever I read a good blog or article on HN I scan for social media links and follow the author. It has been helpful to find their future work when it doesn’t catch the upvote wave on HN.

A lot of HN participants turn their nose up at other social media sites but I’ve found it very helpful for exactly this purpose. I unfollow people if they’re too chatty or they start engaging in culture war or other topics I don’t care about, which keeps my feed high quality.
by mhitza | 2025-08-20 15:14:09+00:00
Extract expression is such a common refactoring, happy to see support for it. I'm even more curious to see now if there are going to be more advanced refactoring possible. A List.map, to for loop, and back refactoring would be such a great thing to have in how I program.

Only thing that would go on my OCD nerve, is the lack of an empty newline when the show_markup function is extracted. Kind of "common sense" when writing top level bindings to leave some breathing room between them.
by chubot | 2025-08-20 15:14:15+00:00
That's exactly why the "main" should be shell, not make (see my sibling reply). So when someone needs to add that step, it becomes:

#!/bin/sh step-I-added-to-shell-rather-than-CI-yaml make debug # or cmake, bazel

This is better so you can run the whole thing locally, and on different CI providers

In general, a CI is not a DAG, and not completely parallel -- but it often contains DAGs
by dannyw | 2025-08-20 15:14:36+00:00
There are certainly use cases, but whether they’re warranted is a good question.

One popular router maker offers a ‘magic URL’ (domain name) that scans your network for the gateway management page, and redirects. It’s not necessary, but it certainly helps novice users. Having worked in IT support,

I’ve also purchased hardware devices that have a web management UI; which connects directly instead of proxying through a cloud.

Ultimately this is probably one thing that should be behind a permission request (like webcam access), but it’s not a feature without value.
by pjbk | 2025-08-20 15:14:56+00:00
Ahh... Brings me memories. Back in the 80s I did something similar after reading Dawkin's The Blind Watchmaker and his Biomorph evolution app. I wanted to recreate it but doing something more fun. So I hacked an Atari Logo space invaders game that used genetic programming on the invaders that survived most of the hits based on their shape (some pixels worked as shields) and motion. After 5 levels the game was almost impossible to beat.
by DrBazza | 2025-08-20 15:14:58+00:00
Fortunately most CI/CD systems expose an environment variable during the build so you can detect most of those situations and still write a script that runs locally on a developer box.

Our wrapping is 'minimal', in that you can still run

bazel build //...

or

cmake ...

and get the same build artefacts as running:

build.bash release

My current company is fanatical about read-only for just about every system we have (a bit like Nix, I suppose), and that includes CI/CD. Once the build is defined to run debug or release, rights are removed so the only thing you can edit are the build scripts you have under your control in your repo. This works extremely well for us.
by blancotech | 2025-08-20 15:15:23+00:00
I’m curious how any project management to code agent workflow can be successful given how messy the process is in real life.

Especially discovering unknown unknowns that lead to changes in your original requirements. This often happens at each step of the process (e.g. when writing the PRD, when breaking down the tickets, when coding, when QAing, and when documenting for users).

That’s when the agent needs to stop and ask for feedback. I haven’t seen (any) agents do this well yet.
by joelfried | 2025-08-20 15:15:37+00:00
Would a smart AI accept such foolishness? I doubt it. It'll still use something deterministic under the hood - it'll just have a conversational abstraction layer for talking to the Product person writing up requirements.

We used to have to be able to communicate with other humans to build something. It seems to me that's what they're trying to take out of the loop by doing the things that humans do: talk to other humans and give them what they're asking for.

I too am not a fan of the dystopias we're ending up in.
by roscas | 2025-08-20 15:16:17+00:00
Oh no, a Recall wannabe dude...

This is where teaching people enters. We all should teach everyone we know about this problems. Bad browsers, privacy, bad extensions, mandatory use of uBlock Origin and many other privacy and security tips.

Still most people will click on everything that moves or says "Free something..."!

Is Recall already shipped? I don't know because it has been delayed.
by reactordev | 2025-08-20 15:16:37+00:00
The rule for CI/CD and DevOps in general is boil your entire build process down to one line:

./build.sh

If you want to ship containers somewhere, do it in your build script where you check to see if you’re running in “CI”. No fancy pants workflow yamls to vendor lock yourself into whatever CI platform you’re using today, or tomorrow. Just checkout, build w/ params, point your coverage checker at it.

This is also the same for onboarding new hires. They should be able to checkout, and build, no issues or caveats, setup for local environment. This ensures they are ready to PR by end of the day.

(Fmr Director of DevOps for a Fortune 500)
by pizlonator | 2025-08-20 15:16:43+00:00
OpenJDK has used thin locks since back when it was called HotSpot.

The fact that the JVM is hanging in futexes doesn’t meant anything for the purpose of this discussion. Futexes are _the_ OS locking primitive on Linux so I would expect modern JVM thin locks to bottom out in a futex syscall. That doesn’t mean that the JVM is “using” futexes in the sense of the original post.
by krisoft | 2025-08-20 15:17:13+00:00
> AI Agents, instead, directly access the database, completely bypassing this layer.

If so, then as the wise man says: "well, there‘s your problem!"

I don't doubt there are implementations like that out there, but we should not judge the potential of a technology by the mistakes of the most boneheaded implementation.

Doing the same in the bank analogy would be like giving root SQL access to the phone operators and then asking them pretty please to be careful with it.
by sfink | 2025-08-20 15:17:26+00:00
Awesome visualizations.

The part that I was expecting to see but didn't: how can you move at a constant speed? For the original purpose of positioning objects along a path, it doesn't matter. But when moving, you can see it's moving much more slowly at the beginning and end (mostly determined by the radius). What if I want it to travel at a constant rate? Or even apply an easing function to the speed?

I'm sure there's some fancy mathematical trick that would just do it. If I were only more comfortable with math... my handwavy sketch would be to compute the speed function by differentiating the formulas to get dx, dy, and dz and passing them through the Pythagorean equation, then reparameterize on a t' variable using the inverse of the speed function? Maybe? I feel like I'm speaking using words I don't understand.
by gjvc | 2025-08-20 15:17:27+00:00
Someone moved Intel's cheese, and they didn't go after it until it was too late.

Nobody is going to be switching their ARM-based chip provider from TSMC or anyone else (with whom they've only just built up enough trust) to even thinking of changing.

Without a track record of delivery, intel is just there to be used in leverage with price negotiations with TSMC.
by usbpoet | 2025-08-20 15:17:41+00:00
Most of my personal beef with AI comes from the way that it's being framed as an end-all tool for everything, despite the fact that it really can only do a small subset of things right now. It's horrid at math, it's wrong about basic information given to it; I've had it give me code that just used a library that doesn't exist (granted, it only did this once).

It's a very new, shiny hammer, but a hammer isn't going to be able to carve a hole into wood. I look forward to it being regulated and finding a real, approachable niche for it to work into.
by mystraline | 2025-08-20 15:18:27+00:00
When I first opened it, its basically a bunch of static pages that made absolutely no sense. My first question was 'why is this garbage being #1 on HN?'

Then I realized that, unlike the early web with banners of "best viewed in Netscape navigator", this was an unstated "best viewed in google chrome".

Alas. At least please check and validate if the site works in Firefox, or notify appropriately. Because this demonstrably does not.
by topspin | 2025-08-20 15:18:28+00:00
Good question, and yes, I did. RMT can work, but ACT has a key advantage. Motion curves are naturally segmented into phases. With ACT, the Repeat Count Register (RCR) defines how many cycles to hold a given frequency and duty, so each phase is exactly 64 bits: PSC, ARR, CCR, and RCR. A full curve reduces to a compact precomputed table that can be hardcoded, generated once, or streamed with negligible core load for continuous motion.

With RMT, you either need a large table of individual level/duration symbols or involve the core to manage phase pulses.

It’s entirely feasible to do this with ESP32 using MCPWM, RMT, etc. Its been done and has worked well. But I value the dead-simple, hard-to-get-wrong invariants of ST's timers.
by taeric | 2025-08-20 15:19:52+00:00
I don't remember being punished for bad handwriting, but I know I got chided for it a lot. And I know we spent a lot of time on it. It definitely sucked, at every level of the experience.

I also find it odd that people have some off assertions on why we learn cursive. I'm sure there is a multitude of reasons, but I find it hard to think it has any strong advantage over other ways.

I do get a kick out of my kids being baffled that I write in cursive. At this point, I think I get as much fun out of that as I do anything else.
by MathMonkeyMan | 2025-08-20 15:20:50+00:00
I haven't used Datomic, but you're right that the part that requires over there is "single consistent source of truth." There's only ever a single node that is sequencing all writes. Perhaps as a result of this, it provides strong [verified ACID guarantees][1].

What I got from Hickey's talk is that he wanted to design a system that resisted the urge to encode everything in a stored procedure and run it on the database server.

[1]: https://jepsen.io/analyses/datomic-pro-1.0.7075
by ksymph | 2025-08-20 15:21:27+00:00
This is neither here nor there but the character isn't a cat. It's in the name, Anubis, who is an Egyptian deity typically depicted as a jackal or generic canine, and the gatekeeper of the afterlife who weighs the souls of the dead (hence the tagline). So more of a dog-girl, or jackal-girl if you want to be technical.
by WesolyKubeczek | 2025-08-20 15:22:21+00:00
I disagree with the post author in their premise that things like Anubis are easy to bypass if you craft your bot well enough and throw the compute at it.

Thing is, the actual lived experience of webmasters tells that the bots that scrape the internets for LLMs are nothing like crafted software. They are more like your neighborhood shit-for-brain meth junkies competing with one another who makes more robberies in a day, no matter the profit.

Those bots are extremely stupid. They are worse than script kiddies’ exploit searching software. They keep banging the pages without regard to how often, if ever, they change. If they were 1/10th like many scraping companies’ software, they wouldn’t be a problem in the first place.

Since these bots are so dumb, anything that is going to slow them down or stop them in their tracks is a good thing. Short of drone strikes on data centers or accidents involving owners of those companies that provide networks of botware and residential proxies for LLM companies, it seems fairly effective, doesn’t it?
by busfahrer | 2025-08-20 15:22:42+00:00
Only tangentially related:

In the Quake source code, they have strings to represent the intensity over time of a flickering light source:

https://github.com/id-Software/Quake/blob/bf4ac424ce754894ac...

// 3 CANDLE (first variety) lightstyle(3, "mmmmmaaaaammmmmaaaaaabcdefgabcdefg");

They range from a to z and progress through the string with time, so the candle starts out at medium "m" intensity for a bit before it goes dark ("a") for some time, etc.
Show HN: What country you would hit if you went straight where you're pointing
by brgross | 2025-08-20 15:23:01+00:00
This app was designed to answer my wife’s question “what country would we hit if we went straight” (generally posed while pointing her phone)

But with two additional twists:

1. It loads up historical maps from different years (right now 1 BC, 700 AD, 1000 AD, 1300 AD, 1800 AD, 1900 AD) so you can see what you would hit if you had a time machine AND you went in the direction your phone is pointing

2. Tap a country/territory for an (AI-generated) blurb on what you are pointing at

How it works: Starting from your phone’s bearing, we trace the great-circle in 200 km steps, prefilter candidate countries with bounding boxes (~5–10 instead of ~200), then check ~20 km points along each segment to catch coastlines and stop when the path first enters another country.

Great-circles (https://www.movable-type.co.uk/scripts/latlong.html) are why you can hit Australia from NYC, even though when you look at a flat map that can be hard to see.

There might be some weird stuff in the explanations, I haven’t read all 1,400 of them. If you see something weird let me know and I will update it!

The app is free and doesn’t have ads or tracking — your location and bearing are only used locally to figure out where you are and what you’re pointing at

Probably will work best if you hold your phone pretty flat :)

Thank you to André Ourednik and all the contributors to the Historical Basemaps project: https://github.com/aourednik/historical-basemaps)
by PaulHoule | 2025-08-20 15:23:01+00:00
I've thought about it. I think of the people who are active in the 11-8 EST window when I'm not active as "the night shift" and I imagine that they're mainly geographically different from me. I imagine it skews towards Asians and Europeans.

Submission time is not such a good indicator of who interacts with a post because a post could be active for 12-24 hours and considering most people are awake 16 hours a day you're going to get people from all time zones. It's probably fair to say that comments written around 2am EST were not likely to have been written by North Americans and the same is true for submissions.

I've done some experiments that involved looking at submissions on days of the week individually or looking at dayparts (say the 5am-6am EST slot) or daypart+day-of-week and never felt I got a much better model as a result.
by hearsathought | 2025-08-20 15:23:03+00:00
> A. I'm neither vegan nor vegetarian

And yet you go around using terms like "plant based food" and push a "plant based" narrative? Sure.

> I don't mean _now_

Neither did I. That's why I asked "Since when have people of the mediterranean and indian been "mostly plant based" for thousands of years?" The answer is never.

> People in Italy, Greece, ... couldn't afford to eat meat more than a few times a year (if they were lucky)

This is a flat out lie. They couldn't afford the choicest cuts but they ate meat and they certainly weren't plant-based. Just because people eat prime roasts once or twice a year doesn't mean that the american diet is plant based. You are being intentionally and purposefully deceptive.

> This is why most recipes aren't really focused on "good" cuts of meat, but mince, offal, bad cuts, .. and lots of vegetables.

What you described isn't a "planted based diet". "Bad" cuts of meat, offal, etc aren't "plant-based". Cheese isn't plant-based. Neither is milk or eggs or anything.

> My grandma was born a peasant in the 1920's and literally ate meat for Christmas and that was it.

Right. A peasant without access to chickens, pigs, etc? So your grannie ate a plant-based diet? Is that what you are telling me?

You do realize that you aren't special. Most people are from peasant stock. None of them were plant-based or mostly plant-based. Your argument went from plant-based to my granny only ate "prime roast" on chistmas. But you for sure aren't vegan or vegetarian. Absolutely not.