MurphyA/hacker-news huggingface dataset:
by WillAdams | 2026-01-01 13:46:18+00:00
It's a perception thing --- a given period of time is related to one's total life experience/recent memory --- to a toddler, a week is a long time because at that age one cannot remember many weeks and the weeks which one remembers are full of new experiences each of which is vivid and fresh, while to a person in middle age, there are many, many weeks accumulated into many repeated years, and the experiences are much the same and repeated.

The big thing which we need to change and solve is education --- I have memories of going to a school in Mississippi which my perception of was that it was quite well run, and that classes in it were divided between academic and social --- social classes were attended at one's age level, while academic classes were attended at one's ability level (4 grade cap up through 8th grade) and that students who progressed beyond high school courses were able to take college courses, some teachers being accredited as faculty at a local college, or instructors from that institution being brought to the school for classes at need.

Maybe AP classes offer a similar facility in public school systems? Though one wants to cue the _Doonesbury_ cartoon of the college dean who after being told that his entire Freshman class is taking remedial 051 level _everything_ is running a glorified pre school.

Roger Zelazny made much of college education becoming quite a different thing when Samuel Eliot of Harvard made the conceptual leap of dividing education by the college credit hour and allowing customization beyond the rote repetition of previous generations in his wonderful novel _Doorways in the Sand_ --- perhaps that should be extended down on some sort of skills basis? The school I attended after Mississippi did reading with a pair of boxes of Scholastic Reading Assessment (SRA) booklets, which, not understanding that one was supposed to do a two or three at each level and get approval on before moving to the next level, I did _all_ of in a matter of weeks, which left me with nothing to do for the balance of the school year but go to the (meager) elementary school library.
by qsera | 2026-01-01 13:46:24+00:00
There is a third kind. Those who want to have a lot of fun by using their imagination to come up with interesting ways build something, but in rust, the borrow checker often won't have any of it.

In rust you have to learn and internalize lot of the non-intutive borrow checker reasoning to remain sane. If you remember to spend a fraction of that effort to remember the "unsafe" things you could end up doing in C, then I think most people would be fine.

But rust enforces it, which is good for a small fraction of all software that is being written. But "Rust for everything!?"..Give me a fucking break!
by senko | 2026-01-01 13:46:46+00:00
This is a physiology research article published in a physiology journal, not a Tiktoken influencer peddling "get ripped fast" schemes.

In an ironic twist, you then proceed to peddle your own. In a single paragraph you added more contentious "advice" than in the entire article you're dismissing.

> Stop reading these studies thinking there is some optimal way! It's just hard work over time.

"Hard work" and "learning new things" are not mutually exclusive. Stop presuming you know what I think while I'm reading these studies.
by ordersofmag | 2026-01-01 13:46:53+00:00
I will find this often-repeated argument compelling only when someone can prove to me that the human mind works in a way that isn't 'combining stuff it learned in the past'.

5 years ago a typical argument against AGI was that computers would never be able to think because "real thinking" involved mastery of language which was something clearly beyond what computers would ever be able to do. The implication was that there was some magic sauce that human brains had that couldn't be replicated in silicon (by us). That 'facility with language' argument has clearly fallen apart over the last 3 years and been replaced with what appears to be a different magic sauce comprised of the phrases 'not really thinking' and the whole 'just repeating what it's heard/parrot' argument.

I don't think LLM's think or will reach AGI through scaling and I'm skeptical we're particularly close to AGI in any form. But I feel like it's a matter of incremental steps. There isn't some magic chasm that needs to be crossed. When we get there I think we will look back and see that 'legitimately thinking' wasn't anything magic. We'll look at AGI and instead of saying "isn't it amazing computers can do this" we'll say "wow, was that all there is to thinking like a human".
by laristine | 2026-01-01 13:47:37+00:00
Of course, I don't disagree with you. But OP tried to refute the fact in their parent comment that using adblock is generally better than relying on browser's pop-up blocking. However, adblock does no worse than pop-up blocking in the specific case of non-window pop-ups, making it irrelevant in the context.

And I agree that these types of ads remain a hard to solve problem today.
by Tanoc | 2026-01-01 13:48:15+00:00
I've been using NoScript since 2016, and the number of things that get loaded in via Javascript has sextupled since then. This isn't an exaggeration, some websites like Wal-Mart's went from five extra domains to thirty. Going to Fossil's website to look at a watch for a Christmas gift this year, the domain whitelist panel for NoScript was so long I actually had to scroll down because there were just that many.

And there's no silver bullet to fix it, because there's three parts of it. The first is that these Javascript modules are literally drag and drop, so you can add new functionality in minutes. The second is that most of this stuff is being delivered offsite from a CDN anyways, so why bother doing anything like a static page? And the third is that it forces the users to enable Javascript so that trackers, fingerprinters, third party cookie loggers, and all sorts of other things get their filthy little digits into your window.

Javascript devs aren't going to change, because they don't want things to be harder and slower (putting side the mess that is the Javascript ecosystem). The hosts don't want things to revert, because then that's more money paid for bandwidth when that cost can instead be dropped in someone else's lap. And the little bastards doing the tracking definitely aren't going to change, because it's a source of money for doing nothing other than being a voyeur.

I still block Javascript everywhere just so that things will actually work and won't crash my browser by eating an entire gigabyte of RAM just loading fonts from some third party website. I still recommend other people to as well. Not because I think it will actually protect them, but instead to show them just how inefficient and predatory modern website design is. It spooks people when they see two dozen URLs that aren't the website they're currently on.
by CamouflagedKiwi | 2026-01-01 13:48:58+00:00
Right, but that means the end user has to have (or install) uv, and then you ship them all your code, and then they can use uv to run that. That's a development workflow - and exactly what I meant when I said that uv didn't solve distribution in the way a language like Go or Rust does by producing a single binary.
by imtringued | 2026-01-01 13:49:03+00:00
The crazy part about this is that (auto) vectorization in Rust looks something like this: iter.chunks(32).map(vectorized)

Where the vectorized function checks if the chunk has length 32, if yes run the algorithm, else run the algorithm.

The compiler knows that the chunk has a fixed size at compile time in the first block, which means it can now attempt to vectorize the algorithm with a SIMD size of 32. The else block handles the scalar case, where the chunk is smaller than 32.
by altmanaltman | 2026-01-01 13:49:06+00:00
I think the issue is that, for a moment, people legit thought of him as a good writer/his books having actual research etc. Then he got too popular and people started ripping his work apart because they got tired of hearing how good his books were etc. It's a pretty normal cycle for a pop author.

As for comparing him to Hitler, people gonna be people.
by dartharva | 2026-01-01 13:49:21+00:00
Well that too isn't exactly correct; Windows isn't getting beaten by Wine/Proton on Linux by any significant (nontrivial) margin; at best they're at par, and most of Linux's advantage comes from not having to bear the load of a thousand background processes (unlike Windows) when it's running a Windows app. I perfectly understand the appeal of desktop Linux being an avid user myself, but let's be real here, it's not very likely to run a Windows-native app or game much better than a debloated/LTSC Windows setup.
by CGamesPlay | 2026-01-01 13:49:45+00:00
Yes. An analog would be uninitialized memory. The compiler is free to make optimizations that assume that uninitialized memory holds every value and no value simultaneously (because it is undefined behavior to ever read it).

In the following example, z is dereferenced one time and assigned to both x and y, but if z and x are aliased, then this is an invalid optimization.

fn increment_by(x: &mut i32, y: &mut i32, z: &i32) {
*x = *z;
*y = *z;
}

https://rust.godbolt.org/z/Mc6fvTzPG
Need for 'Untagged' Label in Keep Notes
by mil10akash | 2026-01-01 13:49:51+00:00
I like how simple Keep Notes is. In fact, I tried every other app, and I felt Keep is the best. Even at some point, I moved programmatically every Keep note to Notion, but still Keep is the best. But the small problem that could fix it is it doesn't have an untagged tab. This makes things very worse. I don't want to see, I don't know if it is my OCD, but I don't like to see the bunch of all my unarchived notes as default.

Is there a way I could just see untagged notes so I could just keep that as my default and tag those? Things will be very organized.
by 12ian34 | 2026-01-01 13:50:24+00:00
> Rich guy has a job so easy he works until old age.

How would you know how difficult his job is? It's not easy to run a company, let alone a hugely successful one responsible for a vast amount of assets.

> Never made anything, just leant money to companies that weren't as rich as him and his cronies, to get a share of profits for doing nothing.

Providing capital to companies helps them grow which in turn helps add value to an economy. And it's not even like it's easy to lend money because this is an inherently risky process so requires a lot of hard work and intelligence to perform sustainably.

I'm curious as to why you're so judgemental of him and presumably by logical extension of your arguments: capitalism in general.
by nickjj | 2026-01-01 13:50:24+00:00
Sometimes speed isn't everything too.

As much as I want to use Linux on the desktop I've had terrible cases of instability:

My hardware on Windows 10 works perfectly well. Literally 11 years of being super stable, running assorted workloads (WSL 2, Docker based development, browsers, heavy terminal based workflows with Neovim, tmux, etc., video recording and editing, image editing, gaming, etc.). There's no lag, jittering or instability. My system never crashes or has weird issues requiring a reboot on Windows 10.

1 day into using Arch Linux, as soon as my GPU's memory gets close to 75% full then apps crash, my Wayland based window compositor (niri) starts to fail in unpredictable ways and I have to reboot basically every 3 hours because of GPU memory usage.

It's not stable or very usable IMO.

All I did was open 3 Firefox windows and 2 Ghostty terminals. Both apps are hardware accelerated so they use GPU memory.

Windows seems like it does something magical with how it offloads GPU requested memory to system memory in a transparent way if GPU memory is full but Linux, at least with the official proprietary 580 series DKMS NVIDIA drivers doesn't seem to do this. Instead, I get kernel errors from the NVIDIA drivers when it fails to allocate memory, such as:

kernel: [drm:nv_drm_gem_alloc_nvkms_memory_ioctl [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to allocate NVKMS memory for GEM object

It's wild that my system can be using 2 GB out of 16 GB of system memory at 5% CPU load with no disk I/O happening but I can't run a few apps in parallel, it's especially bad when trying to record 1080p videos with OBS. I recorded literally over 1,000 videos on Windows without a single hiccup.

I wrote a lot more details about this Linux issue in an Ask HN but it didn't gain traction https://news.ycombinator.com/item?id=46436245.

I have to hand it to Windows with how it manages system memory and "just works", especially with older hardware.

Also as an inside, Ghostty on this Linux machine is very slow compared to the Windows Terminal. Opening half a dozen Neovim splits on my 4k monitor completely tanks its performance to where there's a lot of input lag and jitters. The screen redraws are very slow. The Microsoft Terminal had no issues with the same Neovim version and configs running in Arch Linux within WSL 2, it was buttery smooth. I opened a discussion about this on Ghostty with more information https://github.com/ghostty-org/ghostty/discussions/10114.
Show HN: Bloomberry – Find out what SaaS products a company uses
by AznHisoka | 2026-01-01 13:51:34+00:00
Happy New Year HN!

Bloomberry is a tool that tells you what SaaS products a company uses (in addition to what companies uses a specific product).

Unlike Builtwith, which focuses mostly on frontend technologies, Bloomberry also tells you what enterprise tech products a company uses (not just frontend). So stuff like devops tools, status page tools. CRMs, AI products, project management tools, etc. While its definitely not 100% coverage of everything, it covers a lot more than Builtwith.

The tools looks at the javascript files embedded on a company website, but it goes further than that. It looks at a company’s dns records (often used to validate their domain for sso), internal subdomains created (ie git.domain.com), certificate transparency logs, changes to subprocessor lists and more.

Right now the tool covers 5 million companies so if you search for small 1-man bootstrapped startup you probably wont get any results. I recommend trying it for any medium or large sized company instead :)
by elcritch | 2026-01-01 13:51:57+00:00
Zionist settlement started in the 1870’s on legally purchased land. Most of that land was uninhabited. Tel Aviv was founded on literal sand dunes in 1908 and is Israel’s most populated area. Jaffa was the closest Arab city which is still predominately Arab. Northern Israel become majority Jewish without military force under the Ottomans and then British empires.

However even then there were regular pogroms and killing of Jews by the Arabs as there had been for centuries before.

The British Mandate also turned away ships full of Ashkenazi Jews Holocaust survivors as well.

Don’t forget the nearly 850,000 MENA Jews expelled from across every Arab country after Israel was created.

It’s not nearly as cut and dry as many believe.
by tristenharr | 2026-01-01 13:52:02+00:00
Happy new year HN! After a few late nights this past week, I've finally got this one over the finish line just in time to kick the year off.

I'm happy to answer any questions that might pop up...

Some things of note:

Built-in P2P Mesh Networking

Listen on "/ip4/0.0.0.0/tcp/8080".
Connect to "/ip4/192.168.1.5/tcp/8080".
Sync counter on "game-room".

That's all you need for libp2p, QUIC transport, mDNS discovery, GossipSub pub/sub

Full conflict-free replicated data types:
- GCounter, PNCounter — distributed counters
- ORSet with configurable AddWins/RemoveWins bias
- RGA, YATA — sequence CRDTs for collaborative text editing
- Vector clocks, dot contexts, delta CRDTs

Wrap any CRDT in Distributed<T> and get:
- Automatic journaling to disk (CRC32 checksums, auto-compaction at 1000 entries)
- Automatic GossipSub replication to all peers
- Unified flow: Local mutation → Journal → Network. Remote update → RAM → Journal.
- Survives restarts, offline nodes, network partitions.

Go-Style Concurrency
- TaskHandle<T> — spawnable async tasks with abort
- Pipe<T> — bounded channels (sender/receiver split)
- check_preemption() — cooperative yielding every 10ms for fairness

There's more... but those are my personal favorite features.

I've put a good bit of work into this, so I hope you all can appreciate and maybe find some uses for it here on my favorite place on the interwebs!
by neomantra | 2026-01-01 13:52:23+00:00
Unusual tones all around in the thread here. My initial observations before reading the comments here:

* "wow, OSS projects are starting to have some pretty wild landing pages, guess it's not just AI logos at the top of the README anymore"

* "wow, all in one commit. was it vibe-one-shotted, curated private work that was squashed, or something in between"

* "wow, Zig is kind easy to read although I really don't want to learn another language in 2026 although I already started learning some to use libghostty"

* "wow, is Zig really this much performant than Golang at the tails"

* "weird it uses Bazel, doesn't Zig have it's own build system like Golang"

* "so who is the author? I see they made an GitHub org for this. Are they going to keep doing stuff after the commit and should I keep this in my messaging queue neurons? Is this some company or person I should follow"

* "the README has a misalignment, do I PR that?"

* "oh cool, it lets you tune memory and the dispatcher"

---

I never thought of exactly how it manifested, except about the single commit. I have started "vibe coding" much more as the capabilities really improved in the last few months, so that isn't intrinsically a trash approach.

But the "who" and the "how" and the "why" do matter, in terms of whether one should look at it for education or infotainment or as a potential tool.

Disclosure of the intention and method would be courteous to the community when we create and share these things. Otherwise we'll all have high cognitive burden with the amount of projects we'll be seeing in 2026!
by grunder_advice | 2026-01-01 13:52:31+00:00
What if you have a community but it's boring and uninspiring? It's always the same shit, STEM nerds, who can only talk shop, tech, video games, sports and bitcoin/crypto/libertarianism/ancap stuff. I mean, I've moved like 3 times in the span of 7 years and every time I end up in the same kind of community. Also, no women. :(
by wolvoleo | 2026-01-01 13:52:38+00:00
Yes I know blendle but this was decades ago. In a market that was completely different, where paywalls weren't yet a thing and they would just display ads. It was "ads vs paying a bit". Not really a big incentive.

I think in this day and age where most news outlets simply give you a paywall I think this will work just fine. Because now the alternative is just not reading the content (or paying a sub which is ridiculous for a site you view a couple times a month)
by shevy-java | 2026-01-01 13:52:48+00:00
I've also noticed this recently. Python has a slide-in "donate
now or we mug you". I consider this abuse of the visitor.

I want my browser to protect me from ALL those things. Ublock
origin did precisely that, then Google went in to kill ublock
origin. Ublock lite is nowhere near as good.

I consider this betrayal - naturally by Google, but also by
random web designers such as on the python homepage who consider
it morally just to pester visitors when they do not want to be
pestered. I don't accept ads; I don't accept pop-ups or slide-in
effects (in 99.999% of the cases; notifications for some things
can be ok, but this does not extend in my book to donation
Robin Hood waylanders).

Note that ads like this have a negative effect on me, that is,
if e. g. python resorts to pop-ups to pester people to donate,
it will be permanently blocked by me and as a consequence never
receive any donation ever. This is my policy for dealing with
such malicious actors. This includes corporations, but as the
example of python shows, also python-devs who think they can
abuse users. I understand that some companies depend on ads,
but this is not my problem; I could not care about their thinking
that it were ok to waste people's time. This is why ublock origin
was so important: it helped people waste less time with crappy
ads and annoying UI. We need to take the web back from Evil such
as Google. We should not allow them to hijack our computer
systems and make excuses about it. The browser is too important
to leave it in the hands of Google or anyone else who thinks
pester-pop-ups are ok. Can someone fire the guy who made this
decision for the python homepage and ban him for life please?
by CamouflagedKiwi | 2026-01-01 13:53:08+00:00
Right, as I said I also think Python has similar issues with startup time.

I've used a limited amount of Java CLIs, the most obvious ones are things like Gradle which never felt snappy to use - it is annoying when even doing basic things takes 2+ seconds. I guess not the end of the world, but that seems suboptimal to me compared to a system that feels fast to use and hence well engineered.
by aster0id | 2026-01-01 13:53:50+00:00
I had a similar problem this year after having moved to a new country, working a remote job and separated from my partner. Having had a terrible social life since I was a kid, I knew it in my bones that I'd have to find myself new friends or else. So I did - I renewed my relationship with old friends, joined a book club (was a big reader as a kid), and my dog helped me make friends at the dog park.

I find it interesting that I've thought about the exact social mechanics of making friends before as well - low stakes in person common context where you meet on a regular basis is key.
by reactordev | 2026-01-01 13:54:11+00:00
Any flat surface on a ship that is designed for electric should be covered in flexible solar panels.

Why do this if it can’t fully charge the ship? To offset the costs of charging the ship at port, to provide longer range by providing a lower voltage power source for 12V DC charging (cell phones, iPads, 5w LED lights).

So the commenter is correct, she needs panels and the fact that this isn’t part of the launch shows that they were more interested in being first than practical.
by masklinn | 2026-01-01 13:54:30+00:00
> So it is surprising to me that it doesn’t blow up somewhere when that invariant doesn’t hold.

The final program may be broken in various manners because you don't respect the language's prescribed semantics, in about the same way they do in C and C++. From the compiler's perspective the borrow checker validates that rules it assumes are upheld are actually upheld.

mrustc already compiles rust code without having a borrow checker (well IIRC recent-ish versions of mrustc have some borrow checking bits, but for the most part it still assumes that somebody else has done all the borrow checking).
by bc569a80a344f9c | 2026-01-01 13:54:41+00:00
An alternative is that he isn’t on that list because he’s a bad person, like Hitler. He’s on a list of people GP doesn’t want to read. He doesn’t want to read Hitler because Hitler is a bad person, he doesn’t want to read Dan Brown because Dan Brown’s prose is clumsy and not worth reading, and he doesn’t want to read Ayn Rand for both reasons. (Sorry for the dig at the end. I think that’s funny).
by abicklefitch | 2026-01-01 13:55:50+00:00
I lost hope in humanity and decided to retire, and not bother quitting smoking anymore.
I relearned French, and my understanding of category theory doesn’t suck as much, anymore.
I solved a novel problem and had it stolen.
My accuracy shooting has increased.
My doctors no longer think I need medication, and I got a referral to a fertility specialist.
But I finally gave up wanting children.
So, sanity achieved?