MurphyA/hacker-news huggingface dataset:
by phtrivier | 2026-01-05 13:39:52+00:00
I can steelman this into a “everything is about oil today, and minerals tomorrow”.

* Let’s assume the US is going to stabilise Venezuela quickly enough, that the Venezuelan oil will soon flow around, but only to “selected” countries (basically, …. Anyone but China)

* Let’s assume that the US is going to keep the war in Ukraine dragging on (it’s winter anyway), so that Ukraine can continue bombing the Russian oil infrastructure and

Then the outcome would be:

* USA kept happy because cheap oil will flow from Venezuela to USA, which would help keeping gas price down at the pumps, during an election year

* Europe kept obedient, because it’s not guaranteed to be on the list of “selected” countries that will get the cheap oil. Maybe they’ll even strike a “nice” bargain for Groenland, “or else...”

* Ukraine kept busy fighting ; and the “coalition of winning” kept “unable” to put boots on the ground in Ukraine (which they only want to do at the latest possible time, as the first “coalition” soldier to fall will trigger a domino effect leading to either WW3, or humiliation

* Putin kept annoyed, because they can’t sell cheap oil at all without refineries in Venezuela, and with less and less infrastructure in Russia

* China kept annoyed, because they can’t buy cheap oil, or at least not enough to stockpile for a war against USA

* OPEC kept “happy ish”, I guess, because they can hike up prices for whoever is not on the “selected” list of countries approved by Emperor Trump ?

* Eventually, maybe the USA gets the minerals in Ukraine and Groenland, making them double-happy

Of course I’m missing things, this is pure keyboard geopolitics.

But my point is just that I don’t need USA to be completely “crazy” to justify what they’re doing. Just “more willing to take bold risks” then we have been used to. In a sense, that’s what USA voted for in 2024.

Pray the Emperor may ignore you for long enough.
Show HN: Dating Standards Calculator – Quantify your dating pool with data
by 18272837023 | 2026-01-05 13:39:56+00:00
We've all heard "never settle," but how do we know if our standards are reasonable? This calculator turns abstract dating preferences into concrete statistics—showing the percentage of people in your area who meet your criteria. It's not about lowering standards, but making intentional choices. We'd love HN's take on the data sources (census, dating app anonymized data) and any improvements to the filtering logic.
by mindcrash | 2026-01-05 13:40:36+00:00
> I’m sure that recruiters are going to scour the Internet looking for you.

They don't have to do that. Apparently there are services which link any known email address, mobile phone etc. to your LinkedIn account through a browser addon even when you didn't hand these over to LinkedIn.

I know because my mom was called several times on her mobile phone (which has a number not in any phone book) by a very aggressive and disrespectful recruiter looking for me while I even was not looking for a job. (her first initial and mine are the same).

Only when I threatened him to report him and his company to LinkedIn and the authorities, and blocking him on LinkedIn he stopped calling her.
by wavemode | 2026-01-05 13:41:06+00:00
I don't see anything that is the slightest bit "rude" in the comment you're replying to. It actually begins with enthusiastic praise of the project and its goals.

I don't understand why you feel it's not "constructive" to review the quality of code of a project. Are people supposed to just blindly believe in the functionality without peeking under the hood?
by michaelrambeau | 2026-01-05 13:41:19+00:00
This is the 10th edition of JavaScript Rising Stars. I've been building this annual report for a decade now, tracking the most popular projects in the JavaScript ecosystem based on GitHub stars.

The report includes expert insights from guest writers, experts in their field (Jack Herrington, Jamie Birch, Sébastien Lorber...)
Hope you enjoy it!
by dTal | 2026-01-05 13:41:51+00:00
Nah, your install is broken somehow. That's not in any way normal.

Diagnostics: Ubuntu/Arch? So you're triple booting? With I assume automatic updates enabled in Ubuntu and Windows, and manual in Arch? Spread over a plethora of disks?

Yeah, no, don't get in too deep with a complex configuration you can't handle and blame Linux for being an unusable daily driver. My girlfriend daily drives Linux. My dad daily drives Linux. It's fine.
by publicdebates | 2026-01-05 13:42:32+00:00
I used to be a die hard UI perfectionist. I thought there were perfect UIs, and that you could go more or less away from or toward perfection with choices.

But lately, over the past 5 or 10 years, it seems to me that perfection in UI is just as arbitrary and mutable as people's tastes and preferences.

It's hard to admit it to myself, but I think my love for the early Mac OS and Windows 9x UIs was mere puppy love at first sight, and now is simply nostalgia.

To me, it seems very related to the idea of how to fall in love with a person. There seems to be nothing you can measure it against. You simply either do or do not feel a connection with the person, an inexplicable infatuation. And if you do, then that love cools and settles into something more subtle but just as real over decades, until you're holding hands on your deathbeds. Yet I can't for the life of me figure out how it begins, or what its metrics are, or where its catylists come from. I suppose this is what Randall Monroe wondered all those years ago when he came up with his blog's subtitle. If only I could ask him, perhaps I would have the answers to everything.
Show HN: Lightning Image Viewer – overlay, map-like controls, toggling, image-rs
by shatsky | 2026-01-05 13:42:52+00:00
Hi HN!

I'd like to share my app for viewing images the way I find comfortable on a desktop computer. No window frame, no menus, no toolbars, just the image itself in transparent fullscreen overlay; pan (move around) with mouse with left button pressed (or keyboard arrows), zoom into point under cursor with scroll (or into point at center of display with keyboard +=/-/0), close with left click anywhere (or keyboard Enter, allowing "instant toggle" between file manager and image view). Written in C and Rust with SDL3 and image-rs.

Source and builds for Linux (Ubuntu 25.10, Nix expr) and Windows: https://github.com/shatsky/lightning-image-viewer

Microsoft store (with screenshot): https://apps.microsoft.com/detail/9np4j8k90smk

Web demo: https://shatsky.github.io/lightning-image-viewer/

Dev notes: https://shatsky.github.io/notes/2025-03-07_sdl3-image-viewer...
by zahlman | 2026-01-05 13:43:11+00:00
Thanks; lots of great information here.

Regarding duplicates and deletion you may be interested in my thoughts: https://meta.stackoverflow.com/questions/426214/when-is-it-a... ; https://meta.stackoverflow.com/questions/434215/where-do-the... ; https://meta.stackoverflow.com/questions/421677/closing-a-qu... seem relevant here, browsing through a search of my saved posts.

Having duplicates should make the search better, by pointing people who phrase the same problem in different ways to the same place. But low-quality questions often don't produce something searchable for others, and they cover topics relevant to people who lack search skills.
by senfiaj | 2026-01-05 13:43:20+00:00
Weird. If V8 produces different optimized codes for different loops, this might be true on some CPUs. But when I get 100% convergence when increasing the repeats, this becomes a bit suspicious. Also, it might be some timing difference related to initial warmup or some adjustments in V8 for specific CPUs (including some power saving). I also ran on Pixel 3a , both classic and for-of were 100%, foreach was ~9% (on Windows 11 and AMD Ryzen 5000U was the same, except foreach was 62.96%).

I created another benchmark https://jsben.ch/sdaEM . The difference is that doSomethingWithValue now assigns the passed value to some variable. I think the optimizer could still notice that the function was dummy and do weird things, but not sure 100%. So I store in a variable to prevent this. Now the tests run slower, but still both classic and for-of tend to be 100%. forEach is sometimes slower, sometimes on par with the other 2 (on both AMD Ryzen 5000U Laptop and Pixel 3a).

Could you please run this test on your mentioned machine? Also could you gradually increase the number of repeats in each test case and see if there is some convergence? Also make sure the tab and the browser window are active during the benchmark. Otherwise the browser / OS might give less priority to the task. And BTW, can you also test on Chrome 143 and even Chrome 144 (it will be released tomorrow)?
by jimmar | 2026-01-05 13:43:39+00:00
> "The Dominance of PostgreSQL Continues"

It seems like the author is more focused on database features than user base. Every metric I can find online says that MySQL/MariaDB is more popular than PostgreSQL. PostgreSQL seems "better" (more features, better standards compliance) but MySQL/MariaDB works fine for many people. Am I living in a bubble?
by ChicagoDave | 2026-01-05 13:43:49+00:00
It’s not just my metrics. It’s because ALL the gaps in my engineering knowledge are closed with GenAI.

Well except for graphic design.

But all the complexity of web development is erased. AWS development and deployment complexity and time requirements are erased. Debugging problem time is erased. Refactoring times are squashed. Assessing gaps time requirements are squashed.

This is why I say 40x. It’s not what I knew. It’s that I can have GenAI do all the things I don’t know.
by mpweiher | 2026-01-05 13:43:51+00:00
It isn't 100% proof that the concept is flawed, but the fact that the for decades most successful CPU manufacturer in the world couldn't make segmentation work in multiple attempts is pretty strong evidence that at least there are, er, "issues" that aren't immediately obvious.

I think it is safe to assume that they applied what they learned from their earlier failures to their later failures.

Again, we can never be 100% certain of counterfactuals, but certainly the assertion that linear address spaces were only there for backwards compatibility with small machines is simply historically inaccurate.

Also, Intel weren't the only ones. The first MMU for the Motorola MC68K was the MC68451, which was a segmented MMU. It was later replaced by the MC68851, a paged MMU. The MC68451, and segmentation, was both rarely used and then discontinued. The MC68851 was comparatively widely used, and later integrated in simplified form into future CPUs like the MC68030 and its successors.

So there as well, segmentation was tried first and then later abandoned.

My interpretation is that segmentation is one of those things that sounds great in theory, but doesn't work nearly as well in practice. Just thinking about it in the abstract, making an object a protection boundary sounds absolutely perfect to me. For example something like the LOOM object-based virtual memory system for Smalltalk.

But theory ≠ practice. Another example of something that sounded great in theory was SOAR: Smalltalk on a RISC. They tried implementing a good part of the expensive bits of Smalltalk in silicon in a custom RISC design. It worked, but the benefits turned out to be minimal. What actually helped were larger caches and higher memory bandwidth.

Another example was the Rekursiv, which also had object-capability addressing and a lot of other OO features in hardware. Also didn't go anywhere.

Again: not everything that sounds good in theory also works out in practice.
Show HN: Inspect your data for subtle data issues before pipeline breaks
by sumit_entr42 | 2026-01-05 13:43:57+00:00
Hi folks,

I’ve been working on a tool called DatumInt that inspects data files or data snippets for subtle issues that often slip past basic parsing and only cause problems downstream.

This came from repeatedly seeing files that:

- parsed successfully

- passed schema checks

- but still caused issues later (empty required fields, weird placeholder values, encoding/whitespace problems, type inconsistencies, etc.)

Right now it’s a simple web app:

- upload a data file or paste data

- run an inspection

- get a structured report of potential data quality issues

This is very early and focused on small-to-medium files. It’s not meant to replace full data quality frameworks or observability tools, more of a fast “sanity check” at the file boundary.

I’m mainly trying to learn:

- what kinds of file-level issues people actually run into

- whether this kind of inspection is useful in real workflows

If you try it, I’d really appreciate any honest feedback or cases it misses.
by pjmlp | 2026-01-05 13:44:31+00:00
Office was already slowly adopting UWP, some of the new WinUI 2.0 components came from them, in a spirit similar to how Ribbon went from Office into Windows.

Then came Project Reunion, with the whole reboot, that five years later still hasn't reached feature parity, seems most of the team is gone, and they are even open sourcing it, with hopes that the community fixes the bugs that a $4 trillion valued company doesn't care about.

Of course only people on the Windows team care about this, because their salaries depend on it.
by latexr | 2026-01-05 13:44:54+00:00
You Ableton and Logitech issues seem to be the same: screwed up access permissions. Not your fault, macOS has been sucking at it for a while. It’s not unheard of for System Settings to show you some app has some permissions, but in practice it doesn’t.

What usually works is fully resetting permissions for an app:

tccutil reset All <APP BUNDLE ID HERE>

To find the bundle ID for an app:

mdls -raw -name kMDItemCFBundleIdentifier <APP PATH HERE>
by HarHarVeryFunny | 2026-01-05 13:45:20+00:00
Sure, the basics of neural nets, but it seems just as a foundation leading to LLMs. He doesn't cover the zoo of ANN architectures such as ResNets, RNNs, LSTMs, GANs, diffusion models, etc, and barely touches on regularization, optimization, etc, other than mentioning BatchNorm and promising ADAM in a later video.

It's a useful series of videos no doubt, but his goal is to strip things down to basics and show how an ANN like a Transformer can be built from the ground up without using all the tools/libraries that would actually be used in practice.
by oneeyedpigeon | 2026-01-05 13:45:27+00:00
> These are OS basics, these are foundational. Every app has them, and they are always in the same place. They shouldn’t look different!

This is the key point for me. I think I go further than the OP, though; I would almost force apps to use the stock menu items. Declare that your app has to save stuff, and the OS can take care of supplying a 'File -> Save' menu item, a Save toolbar icon, and a Save keyboard shortcut.

I guess the more 'liberal' way of doing this would be to make it so easy to do the above that you would really have to go very far out of your way to purposefully deliver a worse experience. But you're free to do that if you're so inclined.
by matheuzsec | 2026-01-05 13:45:50+00:00
The rootkit now disables SELinux enforcing mode on-demand when the ICMP reverse shell is triggered, leaving zero audit logs.

How it works: SELinux maintains a global kernel structure called selinux_state that contains the enforcement flag. The rootkit resolves this non-exported symbol via kallsyms at module load time, then directly writes enforcing = 0 when triggered. This bypasses the normal setenforce() interface entirely.

The clever part is the dual-layer approach:

* Hooks netlink_unicast to drop audit messages for hidden PIDs
* Modifies selinux_state->enforcing directly in kernel memory

Result: SELinux enforcement stops, but userspace tools still report enforcing mode, and /var/log/audit/audit.log shows nothing. The system looks normal while the rootkit shell operates unrestricted.

- Advanced Network Hiding

Previous versions only hide TCP connections from /proc/net/tcp* by hooking tcp_seq_show, which blocked netstat. But modern tools like ss and conntrack bypass /proc entirely - they query the kernel directly via netlink.

The new version filters at the netlink layer:

* SOCK_DIAG filtering: ss uses NETLINK_SOCK_DIAG protocol to get socket info directly from the kernel. Singularity hooks recvmsg to intercept and filter these netlink responses before userspace sees them. Commands like ss -tapen or lsof -i return empty for hidden connections.

* Conntrack filtering: Connection tracking (nf_conntrack) maintains state for all network flows. Reading /proc/net/nf_conntrack or running conntrack -L would expose hidden connections. The rootkit now filters both the proc interface and NETLINK_NETFILTER messages with conntrack types.
* UDP hiding: Added hooks for udp4_seq_show and udp6_seq_show - previous versions only hide TCP.

- Other improvements:

* Optimized log filtering (switched from multiple strstr() calls to switch-case with strncmp())
* Audit statistics tracking (get_blocked_audit_count(), get_total_audit_count())
* Automated setup script

Repo: https://github.com/MatheuZSecurity/Singularity
One dashboard for all your Git repos – no GitHub knowledge required
by akhnid | 2026-01-05 13:46:07+00:00
Gitmore (https://gitmore.io) – one dashboard for GitHub, GitLab, and Bitbucket. AI-powered queries, automated reports, Slack integration.

I built this for a specific person: the founder who can't read GitHub.

*Why non-technical founders need this most:*

- Your engineers already documented their work in commits and PRs
- But that info is locked in a UI you don't understand
- So you sit in standups, send "quick status?" messages, and feel like a bottleneck
- Meanwhile, investors ask "what did the dev team ship?" and you scramble

*How Gitmore fixes this:*

Connect your repos. Ask in plain English:
- "What shipped this month?"
- "Which PRs are stuck in review?"
- "Summarize the frontend team's work"

Schedule automated reports:
- Daily, weekly, or monthly
- Sent to Slack or email
- Forward to investors or let it auto-send

*More features:*
- Slack bot: Anyone can ask questions without GitHub access
- Public changelog: yourcompany.gitmore.io/changelog for customers
- Contributor leaderboard: See who's shipping

*Security: we never see your code.*

Webhooks only. When you connect a repo, we register a webhook. The Git platform pushes event metadata to us.

What we collect:
- Commit messages, timestamps, author names
- PR titles, states, branch names
- File change counts (not contents)

What we never access:
- Source code
- File contents or diffs
- Secrets or environment variables

*Don't trust me – verify it:*

After connecting, check Settings → Webhooks in your repo. See exactly what events we subscribe to. Those payloads don't include code.

*Stack:*
- Tokens: Encrypted at rest (Fernet)
- Webhooks: HMAC-SHA256 signature verification
- Auth: bcrypt + TOTP 2FA
- Framework: NextAuth.js

Free for 1 repo: https://gitmore.io

Any other founders here flying blind on dev progress?
by fullstop | 2026-01-05 13:46:13+00:00
I have one, and specifically got one without a camera because I don't want that driving around my house. The first time it went through I made sure to stow cables and such, and I do a quick walk-through to make sure that none of the cats have barfed and that there's no obvious obstacles before I release the hypnodrone.

It still saves me time, which was the reason that I bought it in the first place.
by al_borland | 2026-01-05 13:46:46+00:00
It takes over 10 seconds to turn off fully. I had to go back and try it after your comment, because I thought that button just turned the page yellow, which was worse than the blue.

I ended up using reader mode to read the page. The whole site design undermined the point being made. One of the first things mentioned is not to be distracting. Yet they went out of their way to make their own site distracting. "Do as I say, not as I do."
by DannyBee | 2026-01-05 13:47:00+00:00
"And there's the rub — most regulators and AGs will have some political leaning, and ALL of them have limited resources and will be unable to pursue every case, so many cases with great merit will go un-prosecuted"

Private litigators also have some political leaning, often as much or more as the AG, but ignoring that for a second, the limited resources part is very fixable.

Additionally, they are accountable to the people that vote for them (directly in some states, indirectly otherwise), ignorant or not, whereas private litigators are not. This is a feature and not a bug.

Instead we are optimizing or deoptimizing (depending on the state and viewpoint) for private litigation.

IE either they cap it or they uncap it, or ....

Also, as a general rule, if you have way too many cases with merit, the problem is probably not resources, but something else.

IE if you have tens of thousands of murders you can't prosecute due to lack of resources, you actually have a bigger, and different problem, than "we don't have the resources to prosecute all these murders". You won't actually get much of anywhere by having the resources to prosecute them all because you won't be solving the bigger, different problem causing you to have tens of thousands of prosecutable murders in the first place.

The same is true of most of these consumer class action cases.
Infinite lawsuits have not caused lots of behavior change, all told.
It is very hard for me to believe that 10x infinite lawsuits will somehow do it.
by ben_w | 2026-01-05 13:47:01+00:00
"Gibberish" code is necessary code which doesn't work. Even in the broader use of the term: https://en.wikipedia.org/wiki/Gibberish

Especially in this context, if a mystery box solves a problem for me, I can look at the solution and learn something from that solution, c.f. how paper was inspired by watching wasps at work.

Even the abject failures can be interesting, though I find them more helpful for forcing my writing to be easier to understand.
by DemocracyFTW2 | 2026-01-05 13:47:13+00:00
I've found the 'same' (abstract) gripe in related fields: for example, PostgreSQL allows users to extend the language with custom operators that must be composed from multiple punctuation marks; the intended use is so you can write succinct formula-like operations like `case when my_container <@ my_elements then ...` or `set participants = applicants <&&> employees` and so on. The problem with these of course is that it's often very hard to guess what some kind of !!`#+*@ semantics a given grawlix is intended to have; both `case when is_subset_of( my_elements, my_container ) then ...` and `set participants = union_of( applicants, employees )` are much clearer.

Another example are customized extensions of MarkDown syntax. To my mind constructs like `[link title](like_address)` already stretch things and the only justification for having brackets plus parentheses to stand in for link syntax is their ubiquity. One of the downsides of this terse syntax is its resilience to extensibility. For example, when you start with an exclamation mark as in `![](URL)` now all of a sudden your code is understood as an `<img>` tag, not an `<a>` tag. What if you need extra attributes? There have been multiple suggestions how to extend `![](URL)` to include desired image dimensions, none have become standard. You probably should fall back to inserting HTML, which I am fine with.

Lastly, when designing a user interface, I have found that having to choose icons is a significant burden, and often one without satisfactory solution. One of my solutions in the past was to fall back to Apollo-era text-only buttons; sure, the texts would have to be localized, but then the entire application is subject to localization anyway. A plus is that each button with a short text instead of a picture already provided the mnemonic, the identifier for that action, something an icon does not do for you.