MurphyA/hacker-news huggingface dataset:
by AlienRobot | 2025-09-16 20:02:53+00:00
I've been trying Java recently with IntelliJ and it's been funny watching Java's evolution from the IDE's suggestions.

In Java a lot of code looks like this

void foo(Bar bar);

where Bar is an interface, and in many cases it only has one single method, so it looks like a callback that must be wrapped inside a class. Fortunately, Java lets you create anonymous classes to use these methods.

void foo(new Bar { @override boolean baz(Fish fish) { return false; } });

I assume because this paradigm is so common somewhere along the way Java introduced "lambdas" that look like this (I learned this from an IDE hint)

foo((Fish fish) -> false);

But what if you have a class that has Bar.baz method signature but it's called something else like fries()? Turns out you can do this (another IntelliJ hint):

foo(this::fries);

This feels like a complicated way to declare a callback, but it means that if you do implement a method with the same name, you can just pass the instance, otherwise you can use the syntax sugar, e.g.

saveMenuItem.registerMenuClickListener(myMenuClickHandler); saveButton.registerClickListener(myMenuClickHandler::onMenuClick);

There is a lot in Java that just feels weird, though. From the top of my head:

1. No unsigned integers. "byte" is -127 to 128. I believe this means it's not straightforward to make a 32-bit RGBA structure since you options are either using a signed "red" or using a 16-bit integer to store the 8-bit values. by the way I tried to benchmark how slow Java was compared to C in a simple test (I had arr1[] with indexes of arr2[] which contained values and I created arr3[] by resolving them) and it seems to be only half the speed of C which is probably fast enough for some basic low-level 2D graphics.

2. String.split takes a regex argument and there is no standard way to split without a regex. This was really confusing to me, but fortunately it's very easy to write your own .split, so it's not that much of a big deal.

3. You can call a different constructor with this(), but it has to be the first statement in the constructor. This one is pretty crazy! It would make sense if you couldn't access member fields before calling the constructor, but having to be first statement means if you want to calculate the argument for one constructor based on an argument passed to another constructor you need to do it inside the parentheses.

So far there is only 2 things I wish Java had. First the ability to implement methods in interfaces so you could use them if you have an interface instead of using a static method. Second I wish @NotNull was the default. This is a problem that Kotlin fixes so I think if you like Typescript for tis type-safety learning Kotlin would be a good idea.
by ericskiff | 2025-09-16 20:03:04+00:00
Folks have been predicting that the next big shift in computing will be onto glasses that we wear and away from our phones.

The tech just hasn’t been there yet and most of the devices that do this are heavy clunky and hot

Meta is investing billions to get out ahead of this shift and to own the entertainment and data (and thus advertising) layers that sit on top of the real world through these glasses

The rumor mill is abuzz that Facebook finally making a play for it in the next set of smart glasses after a few years of sticking to VR headsets and audio/camera only glasses
by kccqzy | 2025-09-16 20:04:00+00:00
The induced demand argument works for trains too. If NYC didn't have MTA (no subway, no LIRR, no MNR) then the population of NYC would probably be 1% of what it currently is. Building more train tracks and having better train services also encourages more people to move to NYC so that these new train services become more utilized.

Neither roads or train tracks solve the traffic problem.
by tomhow | 2025-09-16 20:04:38+00:00
We can't make moderation HN decisions out of a fear that a censorship bill proposed by a small group of activist rank-and-file legislators in Michigan might eventually lead to us "being in the political crosshairs". That kind of "thin end of the wedge" fear is no different to the kind that's drummed up by the people proposing these laws. If we're not going to apply the HN guidelines and norms consistently we may as well not have them. It's interesting to see people who participate on HN every day repeatedly telling us that our guidelines and our ways of implementing them are bad.
by acdha | 2025-09-16 20:05:03+00:00
Yes, and the industry has been responding to it since approximately 5 minutes after Canter & Siegel started cranking out that green card spam in 1994. We have SPF, DKIM, DMARC, etc. _and_ more importantly, the victim in this case was using Google's mail client to access Google's mail service so they don't even need complex protocols designed to inform 3rd parties about whether a message is legitimate. If Gmail refused to accept any messages claiming to be from google.com which didn't originate from their servers, it'd be quite defensible given the ratio of attacks to the handful of legitimate cases where someone needs to do something like post to an outside mailing list using their @google.com email address.
by brazukadev | 2025-09-16 20:05:42+00:00
> I get the impression that people who are only used to seeing front end code as JSX don't have any idea how to proceed when its just JavaScript.

I knew anything I said your answer would be something in this line. You think what you wrote is amazing but it is just verbose bad abstraction. If you think the difference between 4k lines of code and separated logical modules is just a matter of fewer lines (which might not even be the case), there is nothing I can say to you but it is funny that you use this terrible code as an example. You literally wrote all DOM manipulation repetitively and inefficiently by hand. But it makes you proud! Congratulations, I guess.

I couldn't care less about JSX tho you made too many assumptions about someone that thinks the example code sucks.
by Ozzie_osman | 2025-09-16 20:05:47+00:00
I feel like parent probably meant Paul Graham. Garry holds polar opposite opinions (he blocked me on X because he had had made claims about what Intifada means, and as an Arabic speaker I felt compelled to point out the correct meaning).

In any case, I don't think Paul or Garry are interfering with the algorithm or moderation here.
by westurner | 2025-09-16 20:05:49+00:00
From https://github.com/google-gemini/gemini-cli/pull/5342#issuec... :

> Would .ipynb format solve for this? Unfortunately there's not yet a markdown format that includes output cells (likely due to the unusability of base64 encoded binary data). There are existing issues TODO to create a new format for Jupyter notebooks; which have notebook-level metadata, cell-level metadata, input cells, and output cells.

API facades like OpenLLM and model routers like OpenRouter have standard interfaces for many or most LLM inputs and outputs. Tools like Promptfoo, ChainForge, and LocalAI also all have abstractions over many models.

What are the open standards for representing LLM inputs, and outputs?

W3C PROV has prov:Entity, prov:Activity, and prov:Agent for modeling AI provenance: who or what did what when.

LLM evals could be represented in W3C EARL Evaluation and Reporting Language.

From https://news.ycombinator.com/item?id=44934531 :

> simonw/llm by default saves all prompt inputs and outputs in a sqlite database. Copilot has /save and gemini-cli has /export, but they don't yet autosave or flush before attempting to modify code given the prompt output?*
by Fomite | 2025-09-16 20:05:59+00:00
The evolution of who gets HPV vaccines is really interesting. At first it was young women, as vaccinating young men had a very marginal decrease in cervical cancer rates via indirect protection (which itself is a function of how many young women are vaccinated). Then as HPV infection was linked to more cancers, vaccinating young men crossed the cost-effectiveness thresholds many governments use.

Vaccinating older populations is similarly just a less clear-cut case, but it's a cost-effectiveness argument, not one purely driven by if the vaccine offers protection.
by unkulunkulu | 2025-09-16 20:06:35+00:00
> The avoidance of the words in no way devalues the achievement.

You basically say that “there are no miracles, this is just an engineered system that we can reason about and study its parts”?

> If anything, I feel their use devalues the achievement, assigning progress to luck or providence.

Magic is not luck or providence, it is about pure appreciation of something that could have not existed, but here it is in your hands.

Yes, thanks to the effort and creativity of a lot of people, but without the “appreciating like a kid”, only dissecting the thing to “parts” might miss something. That was my point
by slig | 2025-09-16 20:06:38+00:00
I'm get tons of email from @google.com, not spoofed, but somehow they send some email to $myname@google.com, which doesn't exist, and it google server returns back to my $myname@gmail.com telling me that with a huge CTA from the spammer. That bypasses all spam filters since it's an actual email from google.
by red-iron-pine | 2025-09-16 20:06:51+00:00
wild read.

sounds like the core of the issue was that Netgate hired a weirdo, and then botched how they handled it when the weirdo got -- go figure -- weird.

and it showed how FreeBSD does commits badly and may not have any (or few) code reviews

honestly makes me feel bad about using netgate boxes -- what else needs to be fixed?
by ejstronge | 2025-09-16 20:06:57+00:00
> I'm not a woman, but I wonder how necessary pap smears (one of them most invasive procedures to which women are subjected) are if everyone's vaccinated against HPV? https://www.cuimc.columbia.edu/news/cervical-cancer-screenin...

It will continue to be necessary because there are more strains of HPV than those that are targeted by vaccines.

The way this article is broken into sections is a bit misleading - the recommendation for cervical cancer hasn't been annual screening for a long time. This is acknowledged in the text, but even there is unclear.
by xnx | 2025-09-16 20:07:01+00:00
> $20+ per ride is affordable?

In the US, the unsubsidized price of a ticket is close to this amount.

> Waiting 10m+ for your ride and slowly sifting through traffic is quick?

In my city, it's difficult to pick any 2 points that are faster to get between by public transit vs. taxi.

Every city is different, but trains rarely make sense in the US (outside of NYC).

Right of way is the huge advantage of trains, it would be great if self-driving vehicles could have that same advantage.
by jkaplowitz | 2025-09-16 20:07:22+00:00
It’s very common in the tech world to have a relationship between companies and international remote workers which legally meets the definition of employment in one or both countries but which pretends in the contract wording to be an independent contracting relationship.

A lot of companies decide that the risk of getting caught in this deception and the penalties which would be imposed in that case are lower than the hassle, expense, and uncertainty of doing things the legal way; while some truly don’t even realize that it is in fact a deception. And there’s very little legal risk for the employee aside from the loss of rights and benefits they should be entitled to and legally unwarranted extra financial burdens on their part, so they often bow to macroeconomic factors and accept what sources of income they can find.

Independent contracting can of course be fully legitimate if the substance of the relationship is arranged to match what the law understands independent contracting to mean. Maybe Nate’s legal advisors correctly concluded that the arrangement he’s implementing falls in this category. Maybe.

But when the substance of the relationship is employment and only the legalese and payroll look like contracting, then what’s actually happening is the employer is dodging a lot of mandatory contributions to the employee’s local social security systems (such as pension and healthcare) and a lot of the mandatory employment protections applicable in that jurisdiction.

This also pushes some or all of the mandatory contributions and benefits which legally should be the employer’s financial responsibility onto the misclassified employee, and usually without a sufficiently compensatory increase in contracting rate vs the amount they’d be paying in salary if it were correctly handled as employment. (The illegal contracting rate in an international context might still very well be above legal local employment salaries. But I’m instead comparing to what the salary would be if the exact same working relationship were handled according to the law, such as the same employer might often offer to employees in their headquarters jurisdiction.)

The employee can make a huge mess for the employer if they ever report the misclassification to the authorities with adequate proof of the true nature of the relationship, because misclassifying an employee as an independent contractor is illegal. The employer will often be audited and required to pay unpaid social contributions going back years. Sometimes the employee can also recover contributions they paid which should never have been their responsibility according to the law. But most don’t want to risk informal blacklisting from the industry or even the stress of engaging in that complaint process in the first place.
by jchw | 2025-09-16 20:07:40+00:00
As a word of warning, it is still not 100% perfect. I've noticed that on my laptop, when the Zed editor is maximized, there is a tiny gap between it and the panel at the bottom. I think this happens when an app, even if it supports fractional scaling in general, can't handle a logical window size that is not a whole number. To be fair, this is one of the only apps I've really had any scaling issues with lately, and it is just a minor visual annoyance. The Linux DPI scaling story is finally pretty solid.

Also, many apps (including Electron/Chromium apps) will still run under XWayland when using a Wayland session by default, because there are still a handful of small issues and omissions in their Wayland drivers. (It's pretty minor for Electron/Chromium so you can opt to force it to use native Wayland if you want.) In case of XWayland apps, you'll have to choose between allowing X11 apps to scale themselves (like the old days) or having the compositor scale them (the scaling will be right, even across displays, but it will appear blurry at scales higher than 1x.) I still recommend the Wayland session overall; it gives a much more solid scaling experience, especially with multiple monitors.
by MrDarcy | 2025-09-16 20:09:39+00:00
> — no support group from a big company is going to call you. Ever

> - never give out codes sent to use via sms or push notifications to someone requesting them via phone or email. Never. The messages often even say that.

Chase bank still, as of last week, asks for these codes over inbound calls. Drives me mad. They do so when calling me about fraud alerts, not the other way around.
by ACCount37 | 2025-09-16 20:10:04+00:00
Before there was technology for power generation and distribution at scale, "you can use electricity to make light" was a mere curio. Fit to be showcased at fairs, but not something that could be put to practical use.

The first arc lights were made in early 19th century - not long after the invention of voltaic pile made electric power readily obtainable in a lab. But it wasn't until late 19th century that arc lights began to be used as street lights. Why?

Because dynamos and alternators didn't exist in early 19th century. They only became usable for industrial power generation in the late 19th century.

Only when both power generators and arc lights were viable, electric lighting became practical. And electric lighting becoming practical has, in turn, caused electric power to be deployed at an ever-increasing scales, and spurned further investment into electric light, generators and transmission line technology. The invention of incandecent lights fit for household use and the war of the currents were both downstream from better power generation technology.
by toomuchtodo | 2025-09-16 20:10:12+00:00
HPV tests are of low value (as an adult, if ever sexually active, you likely have it but can do nothing about it); a new biomarker test that can detect the cancers is being developed [1]. Ongoing cancer surveillance is all you can do once exposed without having been vaccinated (and if cancer occurs, immunotherapy).

As pm90 wrote, I strongly recommend getting vaccinated [2] unless a doctor tells you otherwise, even if you already have HPV or have had previous potential exposure.

[1] Circulating tumor human papillomavirus DNA whole genome sequencing enables human papillomavirus-associated oropharynx cancer early detection - https://academic.oup.com/jnci/advance-article-abstract/doi/1... | https://doi.org/10.1093/jnci/djaf249

[2] https://en.wikipedia.org/wiki/HPV_vaccine

(had three doses in my 30s via Planned Parenthood)
by lillecarl | 2025-09-16 20:10:54+00:00
There doesn't have to be an equivalent of everything, I wouldn't want to use US cloud because of price and governance. At most I use the "cloudy" services and rent "capacity" from a European provider, companies are fleeing the cloud. They're done subsidizing Amazon deliveries.

MobilEye and Mercedes works on self-driving, so does BMW. It's probably not Waymo quality, but just because there aren't cars on the (wide and car friendly) roads doesn't mean nothing is happening.

Meanwhile Europe has solid infrastructure for electricity (esp France), ASML has no competition, Carl Zeizz is world leading in optics, there's probably a Leica LIDAR in the Waymo cars... I mean while we're throwing pies and bringing up other markets..

My old boss was working on a project with Leica where he was working with some partner on self-driving industrial machines, they we're using Leica gear for collosion avoidance and such.

Europe doesn't need self-driving cars, we have alternative modes of transportation. Where it's needed (mines and industry) it's already there. And whatever modern car you're driving here has ADAS which helps make driving comforable.
by modeless | 2025-09-16 20:10:59+00:00
The Meta Ray-Bans have been extremely successful for a completely new consumer device form factor. But they don't have a screen. Meta is releasing new glasses with a screen and this is a look into the display technology they are using. It is "newsworthy" for tech people who are interested in the development of new technology in displays and optics, and new computing devices more generally.

This is the kind of content HN was made for, much more so than the Israel/Gaza or Bertrand Russell stories I see on the front page right now for example.
by LorenPechtel | 2025-09-16 20:11:00+00:00
The thing is gun laws won't protect against school shootings unless you basically completely disarm the population--which is not realistically possible as there would be too much non-compliance. And note two things about the data:

1) Many sources seek to inflate the number of school shootings by counting incidents in which the school is only incidental, not the target. Think drug deal in the parking lot when school is out etc. And note that counting firearm deaths to minors counts mostly gang vs gang stuff.

2) It is almost certain that guns save more people in self defense situations than they take in all mass shootings (using the realistic test of public and indiscriminate targets--again, the numbers are inflated by things like gang fights), let alone just school shootings. (And, no, I do not believe Lott's numbers. He's way high and an awful lot of what he does count is deterred robbers and the like, where death was unlikely in the first place.)
by li2uR3ce | 2025-09-16 20:11:04+00:00
I'd be happier if they stopped using percentages. When percentage points don't consume close to an equal amount of time, don't use them. It's just complete nonsense at that point. It doesn't give the user any useful information just false hope that it might finish soon.

Of course if Windows update wasn't so horrible maybe it wouldn't matter as much.
by dboreham | 2025-09-16 20:11:13+00:00
Not updating is the other side of the same problem: library owners feel it is ok to make frequent backwards-compatibility breaking changes, often ignoring semver conventions. So consumers of their libraries are left with the choice to pin old insecure versions or spend time rewriting their code (and often transitive dependency code too) to keep up.

This is what happens when nobody pays for anything and nobody feels they have a duty to do good work for free.
by cycomanic | 2025-09-16 20:11:14+00:00
I've been arguing a couple of times that the 2 main reasons people want package management in languages are

1. Using an operating system with no package management 2. Poor developer discipline, i.e. developers always trying to use the latest version of a package.

So now we have lots of poorly implemented language package managers, docker containers on top being used as another package management layer (even though that's not their primary purpose but many people use the like that) and the security implications of pulling in lots of random dependencies without any audit.

Developing towards a stable base like Debian would not be a pancea, but alliviate the problems by at least placing another audit layer in between.
by mendeza | 2025-09-16 20:11:28+00:00
I agree this would be a great tool for organizations to use to see impact of AI code in codebases. Engineers will probably be too lazy to modify the code enough to make it look less AI. You could probably enhance the robustness of your classifier with synthetic data like this.

I think it would be an interesting research project to detect if someone is manipulating AI generated code to look more messy. This paper https://arxiv.org/pdf/2303.11156 Sadasivan et. al. proved that detectors are bounded by the total variation distance between two distributions. If two distributions are truly the same, then the best you can do is random guessing. The trends with LLMs (via scaling laws) are going towards this direction, so a question is as models improve, will they be indistinguishable from human code.

Be fun to collaborate!
by stockresearcher | 2025-09-16 20:11:50+00:00
The car has already been built and driven. Those carbon emissions have been made and you can’t do anything about them. You could think of things in terms of the butterfly-in-Africa-causes-hurricane-in-Florida sense and worry that your son buying that vehicle has somehow caused one additional new car to be manufactured. I think that’s way too much of a stretch.

Anyway, I had the prior generation Civic. Great car. I’m surprised that this one has a carburetor. I thought mine was the last generation to have them. It may surprise people from California, but in a place like Germany - with seasons and humidity and rain any time of year - there are going to be times when that car is not going to start. Like say you drove to the store in a drizzle and the rain stopped while you were inside, and now that you’ve got a load of ice cream and frozen pizza and a slightly warm engine and some pretty high humidity. Those Honda carbs aren’t perfect, ya know. Oh, also…. Cheap Honda/OEM-equivalent brake pads of that era tended not to have wear indicators. If you weren’t checking pad thickness frequently, your only indication that you needed a brake job was the very expensive sound of metal grinding against the rotors. Better make sure to check if this car has pads with wear indicators ;)