MurphyA/hacker-news huggingface dataset:
by ChuckMcM | 2025-06-30 18:12:01+00:00
What this article highlights for me is the unintended consequence of filling our space with electromagnetic waves. As someone who got hooked by the software defined radio (SDR) bug I was amazed with all the "stuff" that is going on between 70kHz and 6GHz[1]. And curious people thing "Hmm, what else can I do with this resource?" and the whole "seeing through walls" thing and using WiFi hotspots to geolocate in urban areas Etc have been falling out of that abundance of signals in the air.

Cell towers are interesting because they are strong emitters on well defined frequencies and are generally directional in their emissions[1]. Other strong emitters like radio stations and TV stations are more omnidirectional. Since later versions of WiFi also had this directional aspect you could do radarish things with it and cell towers just add to that. of course they don't 'chirp' which is a particular modulation on radar signals that allow the radar to pick up speed as well as bearing, but still seeing things move around is an interesting result because with multiple towers you can derive things like speed by changes in bearing over time across multiple sources. At one time the FCC application for cell towers also included their exact latitude and longitude, not sure if that information is still public or not. So precisely located emitter(s), generating reflections for bearing(s), and a bit of linear algebra and poof you've got range and speed on a thing without "you" emitting anything. I find that pretty neat.

[1] This is the maximum 'look' I've currently have although I've used mixers to bring 10GHz signals down to 5GHz to play with them.

[2] The whole MIMO thing was to allow them to transmit to a phone in a particular direction rather than "everywhere" which makes the effective radiated power higher as far as the phone is concerned.
by shepmaster | 2025-06-30 18:12:55+00:00
You certainly can use thiserror to accomplish the same goals! However, your example does a little subtle slight-of-hand that you probably didn't mean to and leaves off the enum name (or the `use` statement):

low_level_result.context(ErrorWithContextSnafu { context })?; low_level_result.map_err(|err| CustomError::ErrorWithContext { err, context })?;

Other small details:

- You don't need to move the inner error yourself.

- You don't need to use a closure, which saves a few characters. This is even true in cases where you have a reference and want to store the owned value in the error:

#[derive(Debug, Snafu)] struct DemoError { source: std::io::Error, filename: PathBuf } let filename: &Path = todo!(); result.context(OpenFileSnafu { filename })?; // `context` will change `&Path` to `PathBuf`

- You can choose to capture certain values implicitly, such as a source file location, a backtrace, or your own custom data (the current time, a global-ish request ID, etc.)

----

As an aside:

#[error("failed to open a: {0}")]

It is now discouraged to include the text of the inner error in the `Display` of the wrapping error. Including it leads to duplicated data when printing out chains of errors in a nicer / structured manner. SNAFU has a few types that work to undo this duplication, but it's better to avoid it in the first place.
by boroboro4 | 2025-06-30 18:13:18+00:00
First of all this particular ruling has nothing to do with merits of the case. It's very unlikely they will rule in favor of EO in the end, which is while possible (with this court everything is possible) still is highly unlikely.

> This is roughly equivalent to the EPA or BATFE changing the way it interprets an longstanding statute

Here we're talking about constitution amendment. While the court does reinterpret constitution from time to time it's not something they do very frequently. Especially if you talk about more than a century precedent. Especially if the original meaning was quite straightforward: obviously a foreign national who is present in the US without legal authorization is subject to the jurisdiction of the US, I haven't seen illegals running around killing people and police choosing to ignore them because, hm, they aren't subject to US jurisdiction.
by thomasbetous | 2025-06-30 18:13:23+00:00
I recently participated in a CTF with GitHub Copilot as my AI assistant. In this article, I share how AI helped me solve challenges faster, where it reached its limits, and practical tips for anyone interested in using AI in cybersecurity competitions. While I focus on Copilot, the lessons apply to any AI assistant. I’d love to hear about your experiences or opinions on using AI for CTFs or security research!
by lcnPylGDnU4H9OF | 2025-06-30 18:14:16+00:00
> to think that the right think trans people are "to blame for this misfortune" shows a huge ignorance of the right's politics

They're pointing out the use of Goldsteins to distract from the root cause of the issue (increasing wealth inequality) and get a significant fraction of the general population to believe the problem is more directly caused by immigrants than changes in legislation that allow for more corporate abuse. It's moot that trans people aren't a reasonable cause of economic problems because they are a distraction from economic problem.s
by rented_mule | 2025-06-30 18:14:34+00:00
We're not replacing our central, forced-air propane furnace because of unreliable electricity. We have stretches where our electricity is out for 1-10 days at a time. That tends to correlate with times when our daily high temperatures are below freezing. The outages are typically caused by trees falling after several feet of snow fall on them before a windstorm finishes them off. We're in rural mountains in Northern California.

We have whole-house backup batteries, which we can charge with a generator for longer outages (we also have solar in summer, but the sun doesn't get above the trees in the winter). The batteries/generator would have to be much bigger to replace that furnace with a heat pump. They will power the propane furnace (mainly the forced-air part). About 1/3 of our heating is firewood, but during deep cold spells, it's hard to keep it above ~55°F in rooms other than the one with the fireplace without help from the furnace.

We do plan to install a mini-split system before too long, and use that when we do have electricity, relegating the central propane furnace to power outages. We already use an evaporative cooler for cooling, which uses far less electricity than AC. We'll only use the AC function of the mini-splits when we have a lot of smoke from wildfires in the area (evaporative coolers blow in lots of outside air).
by hazrmard | 2025-06-30 18:14:46+00:00
I am working on a budgeting app!

Features:

- Local. No internet connection needed. - Manual. Every transaction is added by the user. - One-off or arbitrarily recurring transactions. - No lock-in. Check out your data any time. - Arbitrary metrics to track performance. - Hosting on the cloud for mobile access.

Why?

I've been using Google sheets + forms for the last 8 years to track my finances. It's worked well, except for minor inconveniences. This app is my answer to my own problems.
by jrowen | 2025-06-30 18:14:56+00:00
I'm really not big on advertising. I dislike ads as much as anyone, especially when they're obnoxious and intrusive.

But I feel like a lot of people, on here especially, have this "all advertising is the devil period lalalala" attitude, but it does have real value. People don't like that it's been taken to a psychologically manipulative science of big brands being shoved down your throat. But I have genuinely found the ad experience on FB/IG to be the best there ever was. I do legitimately find out about things that I end up buying and liking and people ask where I got it and laugh when I say "a Facebook ad."
by layer8 | 2025-06-30 18:15:09+00:00
This is about the representation and alignment of the pointer object, not about the object being pointed to. And C requires struct pointer types to all have the same representation and alignment. This is generally necessary due to the possibility of having pointers to opaque struct declarations in a translation unit.

Regarding your second point, if I understand the model correctly, there is only an ambiguity in pointer provenance if the adjacent objects are independent "storage instances", i.e. separately malloc'ed objects or separate variables on the stack — not between fields of the same struct.
by msgodel | 2025-06-30 18:15:43+00:00
Eh. Apple's chips are good but not exactly game changing. At the end of the day if they're doing anything useful they still run the same software everyone else's do with roughly the same performance. It's a great analogy for the situation with language models.

Can you get a slight edge with the particular RL tuning on some models? Sure. Does it actually result in qualitative changes in what the model can do? No not really, all of them can do MCP, all of them still hallucinate etc.
by NobodyNada | 2025-06-30 18:16:02+00:00
It's mostly the audio clock that is suspectible to drift. Everything except the audio subsystem is derived from a single master clock, so even if the master clock varies in frequency slightly, all the non-audio components will remain in sync with each other.

That means the 2 clock cycles could theoretically make an observable difference if they cause the CPU to miss a frame deadline and cause the game to take a lag frame. But this is rather unlikely.
by andrewl-hn | 2025-06-30 18:16:12+00:00
Their first milestone is due later this year: to show the 2-way C++ interop.

Their second milestone should show memory safety features, and AFAIK it comes up a year or two later.

These milestones will produce technology demonstrators - so there's no expectations people would be using Carbon for anything beyond small demos and maybe check if it can be integrated with their existing C++ codebases.

Then they will try to package up the language and tooling around it with these two flagship features. This is where they expect some people to use the language for real. The language will only support a subset of C++ (they haven't decided what exactly it should include), and they mentioned Rust-like subdivision into "unsafe" and "safe" Carbon. To me this all looks like even after those milestones it may take a while.

Also, while Google folks are hopeful they also donated billions to Rust to improve C++ interoperability there, too. They don't bet on one language only but rather see multiple of them develop and spread.

So, tldr: it's years and years away.
by zo1 | 2025-06-30 18:16:38+00:00
Yes, and get bombarded with 20 ads, go through a few blog-spam articles about "10 of the coolest old-Saxon words you never heard before but use every day", open the website and get old-school popups in the form of GDPR spam, an unecessary Google account sign-in popup, and promptly close 6 ads before giving. But you're insistent and repeat it by adding Reddit to your search term, and maybe you get some sort of Old English-focused sub-reddit and find something, else you maybe maybe maybe go through and find a decent 2010's website that has the thing you want.

Or you just ask the damn AI that has gone through the useless corpus of the ad-ridden web that was infested and prompted by VC's, and somehow magically, through a lot of effort, math, and 150Gigakilowatts of electricity, and extracted the piece of info you want, and simply gives it to you with a bit of annoying fluff.

My time is precious, and I want to see the useless web burn.
by rkhalaf | 2025-06-30 18:16:52+00:00
Now that machines can also follow natural language instructions, then programs can become a mix of code and natural language - using each where it makes the most sense.

We looked into how we could blend this by integrating natural language within a programming system here https://blog.ballerina.io/posts/2025-04-26-introducing-natur...

and @bwfan123, we did cite Dijkstra as well as Knuth. I believe sometimes you need the rigor of symbolic notation and other times you need the ambiguity of language - it depends on what you are doing and we can let the user decide how and when to blend the two.

It's not about one or the other, but a gentle and harmonious blending
by phoronixrly | 2025-06-30 18:16:52+00:00
> If this is a problem, you should buy a new printer that actually keeps the filament conduits away from the hotend

The filament is still in contact with the PTFE tube, the PTFE tube is also hand-cut by me and in motion with the head so it undergoes wear. Even when you get an all-metal hotend there are ways of contamination by PTFE passing through the hot-end and degrading into harmful chemicals.

> purging old filament anyways before starting a new one. My slicer does this by default.

I do purge and cold-pull. While this removes the bulk of the old filament it does not remove all trace amounts of it.

> These days, heated beds are covered in PEI. That's food-safe too.

It is food-safe only if it was produced in a food-safe manner and was kept food safe afterwards, including no contact with pollutants.

Since you mention evidence, I have no way of proving that anything I produce is food-safe. Literally not anything in my extrusion path is certified food-safe, let alone I have equipment to test.

The fact of the matter is that glass, ceramic, and stainless steel has replaced any vessels that are in contact with food at home, and I don't intend to look back on that, and I am in fact looking to replace anything in regular contact with human skin with non-synthetic/non-plastic alternatives -- this includes clothes, bed sheets and others.

While there is the hacking mindset, people also need to be responsible, and my red lines on that is making stuff with a safety aspect to it. Food safety is safety as much as fire and electrical safety in my book.
by o11c | 2025-06-30 18:17:30+00:00
For your level 2 code, `uint64_t data[];` is wrong for types whose alignment is greater than `uint64_t`, and also wasteful for types whose alignment is smaller (for example, under an ilp32 ABI on 64-bit architectures).

For your level 3 code, it should be `int main() { List(Foo) foo_list = {NULL};`

Note that working around a lack of `typeof` means you can't return anything. Also, your particular workaround allows `const`ness errors since `==` is symmetrical.

You can't safely omit `payload` since you need it to know the correct size. Consider a `List(int64_t)` and you try to add an `int32_t` to it - this should be fine, but you can't `sizeof` the `int32_t`. Your code is actually lacking quite a bit to make this work.

=====

There are 2 major limitations to generics in C right now:

* Delegating to a vtable (internal or external) is limited in functionality, since structs cannot contain macros, only functions.

* Delegating to an external vtable (mandatory to avoid overhead) means that you have to forward-declare all of the types you'll ever use a vtable with. So far the best approach I've found is to declare (but not define) static functions in the same forwarding header I declare the typedefs in; note that GCC and Clang differ in what phase the "undefined static" warning appears in for the case where you don't actually include that particular type's header in a given TU.

(think about writing a function that accepts either `struct SizedBuffer {void *p; size_t len;};` or `struct BoundedBuffer {void *begin; void *end;};`, and also const versions thereof - all from different headers).
by nsingh2 | 2025-06-30 18:18:11+00:00
Better served to students and those unfamiliar with the field, but noisy to those familiar. Considering that much of mathematical work is done using pen/paper, it would be a total pain to write out huge variable names every time.

Consider a simple programming example, in C blocks are delimited by `{}`, why not use `block_begin` and `block_end`? Because it's noisy, and it doesn't take much to internalize the meaning of braces.
by throwaway5752 | 2025-06-30 18:19:03+00:00
Yes. Poorer people buy things made overseas that requires a lot of shipping, and are lower quality that require more frequent replacement. They tend to have more children. They usually have more polluting energy sources. And there are many orders of magnitude more of them than rich people.

None of this is their fault, but ignoring it isn't good either.

All aircraft emissions are just 3% of US total. If all rich people (either the top 1% or 10%) reduced their emissions to zero tomorrow we would still not reach reduction targets needed to avoid catastrophic warming.

Everyone needs to contribute.
by jsbisviewtiful | 2025-06-30 18:19:56+00:00
> Electric tools are 90% made of petroleum oil. They batteries are mined with petroleum oil. The batteries are charged by oil as well.

These are the same weak and increasingly inaccurate with more time arguments that are constantly tossed around. It's so similar to a parrot that can't stop yapping its phrases. Fossil fuels are destroying the planet and they are replaceable - especially outside of the industrial markets.

It's also quite humorous to notice so many pro-fossil fuel posts having typos in them. It's no wonder propaganda works so well on the uneducated.
by Boogie_Man | 2025-06-30 18:20:52+00:00
I am personally extremely tired of seeing random misbehaved non service breeds in red amazon.com vests which say "service dog". It's entitled, disrespectful to the public, disrespectful to the rule of law, and disrespectful to individuals who legitimately require a service animal. I will loudly state "oh nice it's one of those fake service dogs" at the aquarium, you cannot stop me. I also loudly announce "No dogs on the walking path, thank you citizen" at the public park when people ignore posted signs. Every single square foot of our world is not a playground for the invasive species you keep exclusively for emotional and social benefits. My productive milk cow, on the other hand...
by NotAnOtter | 2025-06-30 18:20:55+00:00
Great iteration on the -dle format.

Bug: My word happened to be "will". When I typed "w", "i", "l", "l", the input area showed "wi". Since the second "l" was interpreted as a backspace operation.

General feedback, I would find a way to squeeze in variable hints. Maybe part of the definition, homophones, antonyms, 'rhymes with', etc.

And definitely find a way to get it on Northernlions playthrough. He does a dozen of these like every day.
Ask HN: How have you shared computers with your young child (~3 to 5)
by msencenb | 2025-06-30 18:21:00+00:00
My kids are not quite screen time age, but at some point will be. I'd like to give them an interesting computer experience instead of just plopping them in front of an iPad with some media.

When I was a kid I had fond memories of exploring the file system, figuring out how applications worked, playing with Kid Pix, Paint, and a few games (roughly Apple IIGS, Macintosh 2, through iMac + a Windows XP desktop).

Do you have any fun old laptops or device you've got lying around that you've used to introduce kids into a desktop environment?

Any and all recommendations welcome :)
by jawns | 2025-06-30 18:21:23+00:00
> Even for them it has a high failure rate.

Care to cite a source?

Here's a run-down of some modern methods:

> Contemporary, evidence-based methods of natural family planning track the various phases of a woman’s cycle each month via observable biomarkers, such as hormone levels (taken from a urine sample gathered first thing in the morning), basal body temperature (taken by mouth first thing in the morning), patterns of cervical mucus (observed during bathroom visits throughout the day), or a combination thereof. You’ll find the studies that produced the following effectiveness rates linked in the descriptions below.

> The Symptothermal Method (STM) combines basal body temperature (BBT) readings with observations of cervical mucus and sometimes that of the cervix itself. The perfect use rate for this method is 0.4%, and the typical use rate is 1.8%.

> The Billings Ovulation Method uses cervical mucus observations to determine when a woman is fertile and when she is infertile. This universal method has been successfully taught to populations with low literacy rates, little access to technology, and even those who are visually impaired. With perfect use, the failure rate is 1%, and with typical use, it’s 10%.

> The Creighton Model is another method which relies on the categorization of observed cervical mucus. Creighton uses color-coded stickers to interpret a woman’s chart. With perfect use, the method’s failure rate is 0.5%. With typical use, the failure rate is 4%.

> The Marquette Model utilizes a ClearBlue Easy Fertility Monitor to track levels of luteinizing hormone (LH) and estrogen in the urine. Variations on the method use cervical mucus or BBT in conjunction with hormone readings. With perfect use, the failure rate is 0.1%; with typical use, it’s 7%. Marquette Method researchers are currently developing protocols for use of the Mira fertility monitor.

> The Two Day Method is a method in which a woman asks herself if she noticed any cervical secretions today or yesterday. If either answer is “yes,” then she understands herself to be fertile. If both answers are no, she understands herself to be infertile. The perfect use failure rate is 4%, while the typical use rate is 14%. Though this method, in particular, sounds simple (and it is!), it is always best to learn any method from a trained instructor.

https://naturalwomanhood.org/topic/effectiveness-rates/
by perching_aix | 2025-06-30 18:21:36+00:00
For the record, I did not downvote (and I do think there are valid reasons to downvote without saying anything, even if I appreciate that it is frustrating sometimes from the other side).

I think there's merit to recognizing how loose the concept of cheating can be, it's much akin to the concept of vulnerabilities.

That said, a very very very large part of cheating in videogames revolves around these points:

- ensuring the inputs are not altered: not shaped, not injected into, not filtered, not replaced

- ensuring the inputs are issued by a human

- ensuring that the inputs issued by said human are made in response to the output of the game being processed by said human

- ensuring the that these happen at roughly the same time, and in real time

- ensuring that the identity of the human in question is unique among the playerbase (to prevent veterans sockpuppeting as newbies, as well as multiboxing, and many other forms of abuse)

- [several more I probably forget]

And I'd go as far as to say that even individually these are impossible to actually solve, let alone combined. The equivalent problems for machine-to-machine communication are already hard enough, but making one of the participants a human really twists the knife. It's also essentially the analog hole problem.
by TulliusCicero | 2025-06-30 18:21:41+00:00
US rules around service animals (typically dogs) are a bit odd. You're allowed to take a service dog nearly anywhere, which itself is fine, but the problem is that there's no official licensing system that a business could somehow check to make sure your animal is legit. Legally, they're only allowed to ask what service the animal provides and they can kick it out if it's disruptive. So the inevitable result is people taking advantage of this legal gray area by bringing in dogs that they pretend are sorta-service dogs (emotional support/therapy dogs) and getting away with it for the reasons explained in the article. And once those dogs are normalized, then it seems like dogs in general are okay and so just about anyone might decide to bring in their dog.

A common point of comparison here is handicapped parking spots, since it's also a situation where the handicapped are granted a special privilege to mitigate the handicap, but obviously for parking spots there's a whole legal system for being allowed to park in those special spots. You can't just "self certify" that you can park in a handicapped spot, you have to get a placard from the government that you put on display on your car.