MurphyA/hacker-news huggingface dataset:
by amlib | 2025-09-19 09:01:27+00:00
I dislike how people seem to recommend KDE for power users when GNOME is actually.. great?

I'm an old power user/dev and I used to absolutely love KDE 3 for its take on 90s OS UI, I went into v4 thinking it was a major downgrade (I used KDE 3 as far as the KDEMOD maintainers could push it) and it never got as good as the old v3 days. Somewhere by the end of the KDE 4 life, GNOME 3 formed into something kind of usable and I started noticing some advantages to it, even tried it for a while. Fast forward to now (including a few years where I rolled my own LXDE/XFCE hybrid setup, I was desperate lol) and now I pretty much only use GNOME. I consider it a fine DE for power users... or whatever use you have really. It's great on a notebook, it's great on a desktop and it's great even as an HTPC interface. You do have to wrestle with it for some advanced functionality (dealing with extension isn't always fun, digging into dconf isn't fun...) but the OOB defaults and basic functionality are actually the best there is, maybe even among all desktop OSes.

I mean, if Linus Torvalds out of all people uses it then it must be at least decent for more advanced users, right?

Now whenever I try KDE it feels like an uncomfortable car where every single adjustable thing needs to be tweaked for it to feel minimally usable, except many adjustments are finicky and leave you with a half assed solution. It won't resonate with me anymore...
by d--b | 2025-09-19 09:02:43+00:00
I'll probably use your unattach service soon (gmail keeps bugging me about being 98% full).

Your pricing is a bit weird though. For a $9 subscription a year, I might as well upgrade my gmail storage to 100gb.

The pay-as-you-go is $0.01 per email, but I don't know how many emails with attachment I have in there. Gmail only tells me of "many". Could be tens of thousands... I have no idea...

I have 250 emails with attachment since June, so a bit less than 100 per month, and I 've had that inbox since 2004 ish. So conservatively, I have 1200 emails a year, so about 25k emails to clean up. So that would be a one time fee of $24. But perhaps much less because attachments were rarer back then.

But I could also pay a one year subscription. Only use it once to clean up the whole thing, and then cancel and come back the next time I need it, like in 5 years. But yeah, I don't really want to do that, cause I don't want to forget that it's a subscription...

What I would like is a usage-based price, that's based off the inbox size in gb and that's quite cheaper than upgrading my gmail.

So maybe cleaning 15gb for $15 would be great. Or maybe $2 for each gb that's freed (I wouldn't know how much exactly that would cost, but I know it'd less that $30).
by D-Machine | 2025-09-19 09:03:04+00:00
Yeah, I am aware that there are sort of long residuals even in classic ViTs, and that, as you say, you can sort of even skip the whole transformer. Like you said, though, this seems very unlikely in practice, and at least, this is a different kind of long residual as in DenseNets or U-Nets though (and yes, Dense Transformers - though I know very, very little about these). I.e. the long residual connections in these seem to be far more "direct" and less "sequential" than the "long residuals" in a classic transformer.

It is hard for me to say what the different consequences for training and gradients are between these two kinds of long residuals, that sounds like more your expertise. But, practically, if you implement your own e.g. DenseNet and torch `forward` calls with Conv layers and adds (or concats), and then implement your own little ViT with multiple MultiheadAttention layers, these really don't feel like the same things at all, in terms of the values you need to save access to, and what you pass in to deeper layers. Just doing a bit of research, it seems like these dense residual transformers are being used for super-resolution tasks. This again seems like the U-Net long residuals, in that the functionality here from the direct long residuals is again about more efficient information propagation, and less clearly about gradients, whereas the "sequential" long residuals implicit in transformers feels again more like a gradient thing.

But, I am definitely NOT an expert here, I just have done a lot of practical twiddling with custom architectures in academic research contexts. I've also often worked with smaller datasets and more unusual data (e.g. 3D or 4D images like MRI, fMRI, or multivariate timeseries like continuous bedside monitoring data), also often with a limited training budget, so my focus has been more on practical differences than theoretical claims / arguments. The DenseNet and "direct" long residual architectures (e.g. U-Net) tended to be unworkable or inordinately expensive for larger 3D or 4D image data, because you have to hold so much monstrously large tensors in memory (or manually move between CPU and GPU to avoid this problem) for the long direct skips. Absent clear performance (or training efficiency) evidence for these architectures made me skeptical of the hand-wavey "feature reuse" claims made in their support, especially when the shorter more sequential residuals (as in classic ViTs, or, in my case, HighResNet for 3D images: https://arxiv.org/abs/1707.01992) seemed just obviously better practically in almost every way.

But of course, we still have much to learn about all this!
by j4coh | 2025-09-19 09:03:37+00:00
I can turn my hand over and it still functions. I can turn lots of things over that still function. I can even set something on top of my upside-down mug. This is not mind blowing to me, your mileage may vary. I also don't seem to have this association with "the bottom of things is bad" so maybe that's why it doesn't seem so shocking or clever to flip things over.
by lock1 | 2025-09-19 09:04:01+00:00
Sure, I guess that's worth mentioning in the context of the original post. It's true that Java implementation of parametric polymorphism has a performance drawback compared to Rust or C++. And it's certainly a bad idea to use Java generics without considering the drawback in hot code paths.

But GP described something they wanted from a type system and basically said container with `Functor`-like behavior is not possible to do in Java. It's possible, albeit with a performance drawback and a bit more clunky to work with compared to Rust, Haskell, or a language with native HKT support.
by numpad0 | 2025-09-19 09:04:28+00:00
I'm kind of wondering when will it become a universal understanding that LLMs can't be trained with equal amounts of Japanese and Chinese contents in training data due to Han Unification, making these two languages incoherent mix of two conflicting syntax in one. It's remarkable that Latin languages is not apparently facing issues without clear technical explanation as to why, which I'm guessing has to do with the fact of granularity of characters.

That said, in my tiny experience, LLMs all think in their dataset majority language. They don't adhere to prompt languages, one way or another. Chinese models usually think in either English or Chinese, rarely in cursed mix thereof, and never in Japanese or any of their non-native languages.
by tux3 | 2025-09-19 09:04:30+00:00
>I've actually never thought about this before but also the user could free it concurrently I think?

Yup. But if you only send it back to the malloc heap, the kernel doesn't notice, it will happily read data that has been freed.

Unless the data is unmapped, then the kernel is going to get a page fault while trying to read your input. What goes up must come down, so that gets translated to SIGSEGV, and the program stops.
by openmarkand | 2025-09-19 09:06:07+00:00
> Prompt for user input. If a user doesn’t pass an argument or flag, prompt for it. (See also: Interactivity)

prompting is usually the worse choice in a command line utility. on error you lost what you've type and have to copy back and forth unless the terminal disappeared.

> Prefer flags to args

Options are designed to be... wait for it... optional. as the name suggests. If you actually require to pass at least one option to a command to get it working then it's bad designed. An option is there to change what a default is not suitable for you.

For example, tar uses -x, -c to determine what to do. We're all used to it now but that is not the way we should design a command. A correct way is more like tar/untar similarly to zip/unzip. That would make more sense.

To me, rpm is definitely the worse in terms of use of options. If I'd redesign it I'd imagine something like:

- rpm i(nstall) [options...] packages...|files... - rpm e(rase) [options...] packages...

Having fuzzy match for the first argument makes it still convenient to use and much clearer for those who want to type it entirely.
by trklausss | 2025-09-19 09:06:14+00:00
Oh boy that strikes a nerve with the "Video memory could be gone after Suspend/Resume". Countless hours lost trying to fix a combination of drivers and systemd hooks for my laptop to be able to suspend/hibernate and wake up back again without issues... Which makes it even more complicated when using Wayland.

I have been looking at high-end laptops with dedicated AMD Graphics chip, but can't find many... So I will probably go with AMD+NVidia with MUX switch, let's see how it goes... Unless someone else has other suggestions?
by sak5sk | 2025-09-19 09:06:31+00:00
Some nostr apps to demonstrate what it's capable of: https://www.openux.app/ - Mobbin alternative https://kinostr.com/ - movies with chat room https://zap.stream/ - live streaming similar to Twitch https://dtan.xyz/ - torrents https://zapstore.dev/ - permissionless app store https://nostrnests.com/ - audio room chats https://zapmeacoffee.com/ - like buy me a coffee
by ipdashc | 2025-09-19 09:07:24+00:00
I was thinking the same thing. Never thought I'd see a world where Arch has an installer (and, jokes aside, many Linux distros have very straightforward GUI installers) while people have to... "hit Shift+F10 to get a terminal, then enter start ms-cxh:localonly" to install Windows with a local account. Jeez.
by ViewTrick1002 | 2025-09-19 09:07:28+00:00
Take for example working with file names and paths. In for example Linux paths are a collection and bytes and does not need to be valide unicode. Which some programming languages hides from you and subtly introduces errors. Or even worse, accepting that strings may contain invalid unicode poisoning the entire language with uncertainty.

If you are iterating over the files in a directory the Rust standard library gives you paths. Not strings.

To convert a path that to a regular string type which is valid unicode you need to acknowledge that the path may be invalid. Either unwrapping and panicking or handling the error.

To do this the standard library gives two options:

/// Yields a [`&str`] slice if the `Path` is valid unicode. /// /// This conversion may entail doing a check for UTF-8 validity. /// Note that validation is performed because non-UTF-8 strings are /// perfectly valid for some OS. pub fn to_str(&self) -> Option<&str>

https://doc.rust-lang.org/std/path/struct.PathBuf.html#metho...

Or accept that the conversion may be lossy:

/// Converts a Path to a Cow<str>. /// /// Any non-UTF-8 sequences are replaced with U+FFFD REPLACEMENT CHARACTER. pub fn to_string_lossy(&self) -> Cow<'_, str>

https://doc.rust-lang.org/std/path/struct.PathBuf.html#metho...

You get to make a choice, and panicking/erroring is perfectly valid if you only expect valid unicode paths.

As the world and your software changes if you suddenly encounter a non-unicode path then you will immediately know where the error comes from and can fix the issue. Instead of trying to pinpoint the root source of an error far exposing itself far down stream.
by mogoman | 2025-09-19 09:07:44+00:00
Around 2001 I worked for one of the big dot com news outlets. In our reception we had a PC with a browser set up where people could "use the internet" while they waited. One day the receptionist asked me to fix the PC as it wasn't connected to the internet and no one from IT was available. So I messed around a bit (think in the end I just reset the DCHP lease) and to test I opened the browser to surf the net.

Of course with the millions of websites available I couldn't think of one specific one, so I just held down the "x" key and then pressed CTRL+ENTER (which automatically added "www" and ".com" to your entry - typing this on a mac I see it still works with Firefox).

Of course www.x(and a few more x).com was a porn site.

Of course there were a bunch of people (including customers) sitting in reception (and the receptionist herself) who could directly see the screen.

Of course the PC was running nothing else, so a quick alt+tab didn't hide anything.

I announced that all was fine and ran for my desk.
by leakycap | 2025-09-19 09:08:00+00:00
Yes, and it's wise not to apply general advice to niche situations: like using a Mac mini for a web host.

With this attitude, we'd all still be running 2U Dell PowerEdge and poor Raspberry Pi would have gone out of business.

It's 2025, almost 2026. A web server from a few years ago has less power than consumer mac Mini today while using much more energy.

Throw out the advice that is from the era of physical install media and let's focus on specific (instead of general, unhelpful) advice as we move into the modern era where cheap computers are just fine.
by Terr_ | 2025-09-19 09:09:29+00:00
I'm quite willing to believe that human brains do Weird Stuff with respect to reusing circuits and development, but I still don't see how they concluded "the skill encourages the brain state" by disproving "the brain state encourages the acquisition of the skill."

It would be ethically difficult to randomly assigned children to groups (A) taught to read versus (B) forced to remain illiterate while ensuring both groups had the same number of people's faces in their social circles.
by tehbeard | 2025-09-19 09:10:07+00:00
A key part you're missing either willfully or ignorantly is that they're midway through the refactoring to make it data driven, so you have these odd/rough edges.

Yes, having to declare json files for your new block in your mod is a pain...

Meanwhile what it was built for, resource packs, this actually gives a good amount of power to the pack maker without having to ask the client to run untrusted java code.
by fuy | 2025-09-19 09:10:22+00:00
Looking at first optimization, I wonder if double-checking after acquiring exclusive lock brings any performance benefits. The whole premise is that cache access is read-heavy, so not acquiring exclusive locks for reads eliminates by far the biggest problem.

Rare (I presume) cases of overlapping updates from different threads (considering updates themselves are also infrequent) don't seem like a big deal compared to lock elimination. Would be interesting to see benchmark numbers for those optimizations separately.
by 12ian34 | 2025-09-19 09:10:44+00:00
this is one of the most unsubstantiated claims and blog posts I've ever seen. How something can be presented as a "favorite desktop" with this little justification, and a heavy focus on a few features which provide such little value to most of the population, is absurd to me. This is not a useful feature comparison for 99.999999% of people. However, it seems to have sparked some good discussion here so I guess that is valuable!
by austin-cheney | 2025-09-19 09:10:50+00:00
Slack is based upon IRC. IRC is a free and open chat protocol that anybody can easily self host on the oldest hardware.

IRC is command driven and scary. Terrifying.

That people would pay thousands of dollars a year for vendor lock-in and that will abuse their privacy for a visually pleasing alternative is a quite a business model. It’s like targeting people with a history of abuse because you know they are exploitable and will eagerly fulfill your desires.
by staticelf | 2025-09-19 09:10:55+00:00
What exactly is wrong about my statement? Stating that my experience is wrong is stupid.

I don't know how the app I used works. I simply used the "Snort" app, connected to a few relays and did not use it for a couple of months. Then I came back and instantly saw CP freely shared. Instantly removed the app from the phone.

You can't say that it don't exist when people like me have seen it with their own set of eyes. This only makes protocols/projects like nostr set to fail, since regular people won't fucking care and just think of the nostr as something pedophiles are using, which they would not be incorrect in thinking at this moment.

I was betting on nostr in the beginning, I was running my own relay and started on a nostr client. But I gave up since clients came popping up everywhere so I didn't really have time to compete.
by leakycap | 2025-09-19 09:11:34+00:00
I'd rather know how a mac server is to run today than how it was over the last 15-20 years. Seems things are getting better now, especially with this ssh news.

Security is rarely convenient. Since the early OS X days, Apple seems to be willing to do things the more secure way even if it's a bit of a hassle. Seems to be paying off for them.
by frou_dh | 2025-09-19 09:11:36+00:00
This is just one feature of the v3.6 release:

https://iterm2.com/downloads/stable/iTerm2-3_6_1.changelog

It's quite a treat going through iTerm changelogs and finding new gems. For example, this sounds nice:

> [Timestamps] can be configured to be relative to a particular line by right-clicking and selecting "Set Baseline for Relative Timestamps"

The following is interesting too, because it seems to work on an individual cell basis and not just one overall background colour:

> [in editors and other TUIs] Detect when there is a non-default background color and extend it into the margins. In Minimal [theme], it is also extended into window chrome.
by t-sauer | 2025-09-19 09:11:55+00:00
A non-Apple solution (without these restrictions) could also be implemented on MacOS. I don't see why this makes using Linux computers more compelling. WKWebView is simply a convenient solution I guess but it could have also be implemented through CEF for example.

As I see it, if I was using a Linux computer I wouldn't have access to a terminal with such a feature at all.
by Gravityloss | 2025-09-19 09:12:05+00:00
There's a difference between design and styling. I'm a visual person rather than a verbal thinker, but more like a graphs / topolological kind of visual person, not about alignment, size or colors of things so much at all.

I wish I could specify the content and topology and the computer would do the styling. I don't want to select fonts, font sizes, align boxes etc.

Currently I think the best a computer can do is bullet points. Anything beyond that and you have to become a manual stylizer, which is what I specifically want to avoid.

When using tables, you already you have to start manually adjusting column widths or they become very often very wasteful and hard to read.
by Incipient | 2025-09-19 09:12:40+00:00
Wow people are asses on the internet. Great job making prompts public. It's pretty hilarious to see how basic and bitter some people are haha.

Cool tool however. Very coherent output given how I find AI.

One question however, if op or anyone knows, any good way/at all to feed a UI and UI interactions back into a model?
by kketch | 2025-09-19 09:13:02+00:00
Yes there is some glue needed. The amount of boilerplate needed can be reduced with a bundler or depending on the library you use (just like it is the case when you use workers with JavaScript on the web, you can use a bundler with support for them or plugins to make it less of a pain to setup). wasm bindgen rayon provide support to use rayon in that context. There are also projects that provide lower level apis similar to std::thread. Std::thread will probably never support the wasm target.

It’s not WASI that gives you access to threading. Multi threading is a WebAssembly spec feature. Each thread is a separate web assembly module, they can share memory/code using SharedArrayBuffer if needed or WebAssembly tables for code. The host runtime for WASM whether it’s the web or something like wasmtime is responsible for instantiating those module in Web workers on the Web (or node…) or in new OS threads for wasmtime. I guess this is the thick amount of glue needed
by denis_dolya | 2025-09-19 09:14:10+00:00
If you need regular Deep Research without relying on a UI the simplest option is to run a model locally or via an API such as HuggingFace or OpenAI Chat API with a Python script that runs on a schedule using schedule or cron. Locally you can use models like Falcon LLaMA or GPT4All wrap them in a function that takes a prompt and returns the result and run it automatically on a server or PC. For a long term solution store the results in a file or database. This gives full control and independence from external interfaces.
by psidium | 2025-09-19 09:15:25+00:00
I do not have the time now to craft you a full answer as I don’t have the book on hand and have only been commenting from memory so far. But to give you a quick answer: I don’t think all of it is shallow, especially given the format: the book is mostly a prose re-writing of the author’s own peer-reviewed anthropology scientific papers. Most of the authors claims are backed by actual papers for reference on the footnotes. As for replication it seems that the author himself replicated some of his studies with different hunter gatherer societies in the world. It’s been a good while since I read it.

I can tell you from my personal experience that the info there has helped me understand the differences between how people think in Brazil (where I come from) and how people think here in the US. Could it be me pattern matching? Possibly

I wouldn’t expect all of it to be true, but I would be very surprised if most of the sources the author provide are false or lack theory and tests, since he explain control groups and experiments in details.

I’m not that married to the book either, as I find some claims rather bold (like the Italy divide)

The title does sound catchy tho

Edit; the author’s main point is how the papal rule on monogamy changed Europe and its colonies to this day, which I didn’t capture on my main comment. Lots to unpack there
by brainwad | 2025-09-19 09:15:41+00:00
As an Australian, I do find it a bit perjorative for countries north of us (many of them in the northern hemisphere!) to be deemed the "global south", while we are excluded despite actually being the only inhabited continent entirely in the south. It just reminds one that nobody cares about the southern hemisphere, and that northern hemisphere types think anything south of the mediterranean is "south".

North/South doesn't have anything to do with it, anyway, as you alluded to. What people actually want to talk about is whether a country is a former colonial master, a former settler colony or a former extractive colony (or possibly multiple of these, as with e.g. the US).
by flwi | 2025-09-19 09:16:10+00:00
Hey author here. Your argument is completely valid, we only model physics implicitly and thus have no prove that the model "actually knows the physics". Practically, this might not matter much: If the model can predict the evolution of the system to a certain accuracy, the user won't care about the underlying knowledge. And even for modern physics (quantum / GR), we know we miss something and yet, the models we have are incredibly useful.

On a tangent, we cannot prove that LLMs actually know language, yet they can be incredibly useful. Of course, a true world model would be much nicer to have, I agree with that!
by menaerus | 2025-09-19 09:16:22+00:00
You said

> With a standard library and culture built on exposing the edge cases at compile time.

So, how exactly is "you need to acknowledge that the path may be invalid" from your example a compile-time trait? That's certainly not something you know during the compile-time, and if so, then you should be treating all the files like that, so, I see no difference here wrt other languages.