MurphyA/hacker-news huggingface dataset:
by Borealid | 2025-08-31 13:10:49+00:00
Copyright and patents are absolutely not the same thing at all.

A patent makes it illegal to use a particular idea, by any means. It is a limited-time universal monopoly on a set of specific "claims" (the selected applications of the idea). It has nothing to do with whether someone copied you or not.

A copyright is a prohibition on someone copying you, with certain exceptions where they are allowed to do so ("fair use" or "fair dealing"). Copyrights also, in the USA, bring certain protections against people attempting to use a work in a way you did not intend even where they are not duplicating it.

A trademark is a prohibition on someone causing confusion by copying something you use to identify yourself, or by using/referencing it (without copying) in a context you don't wish.

A trade secret is a criminal prohibition on someone intentionally causing another to divulge certain information that you contractually banned them from divulging.

A security classification is a ban on certain ideas/information being shared with parties that a government agency did not wish them shared with, or used in certain contexts. This is not a protection available to individuals, only to governments.

A license is an intentional weakening of one or more of the above types of protection, potentially with attached civil penalties in the event the bounds of the license are exceeded. It can thus, when accepted, limit behaviour beyond what would normally be allowed by one of the IP types above.

All six of these IP types protect against Person B doing something that is in some way related to an activity Person A did earlier, but they are really quite different in what they cover and how. I don't agree at all they're the same thing.
by forducks | 2025-08-31 13:11:08+00:00
Unsure about the author's financial situation but the calculus tends to change depending on it. I wasn't applying to Anthropic mind you but $50k-80k tech positions with 4 YoE in industry already. I had already burned through nearly all my savings before hitting another interview and rejection (for far less than what I used to make) and then realizing the job search had burnt me out and I was in danger of losing my lease and everything on top of that. I haven't gotten past a phone screen for half a year by now.

When America prescribes that you only deserve health insurance and shelter if you have a good enough job, and you're at the end of your rope financially, it is in my experience very difficult not to take things personally. I was actually pretty good at this earlier on, when I still had savings! But contrary to what some people say, it became harder and harder to stay positive as time went on until it became all but impossible. The last straw was when 13/hr jobs started rejecting me for not having "moving things around in a warehouse" experience.

I'm now having to work an eye-wateringly menial job with no experience requirement just to make ends meet, and even that still isn't enough for my poverty-level expenses. It's not the prestige of the job that bothers me but the fact that it isn't livable. It does feel sometimes that my life could have diverged significantly if I had just passed that interview all those months ago. So much was riding on that final interview and yet I didn't perform to some arbitrary unknowable standard to deserve a livable salary, and this is the end result of my rejection.

I'm hoping that if I get an HVAC certification or something I can just... survive comfortably. I don't think I'd be happy changing careers and I wanted to work in tech until I died or retired, but seems like it's not going to happen at this rate.
by Bender | 2025-08-31 13:11:29+00:00
If using Firefox one can unban words and other forms of compelled speech using the addon FoxReplace [1] to put back words that people try to usurp. For example, if anyone here says "Burp", I instead see "Fart" because I can. People will not know until someone using the addon quotes them. There is an option for case sensitivity, match only on a URL, etc...

[1] - https://addons.mozilla.org/en-US/firefox/addon/foxreplace/
by mb7733 | 2025-08-31 13:11:55+00:00
That's not a good analogy. Mostly shows you don't understand the problem being solved.

It's not "faking" an analog system within a digital system. (If anything, that's what a full digital DJ set up is.) It's an adapter between the two.

As such a purist, would you prefer that digital music is never used? Or that digital music must only be used with digital controller? In that case DJs that use both types of music have to lug around two separate controllers.
by p_l | 2025-08-31 13:12:22+00:00
The lack of traditional 'fsck' is because its operation would be exact same as normal driver operation. The most extreme case involves a very obscure option that lets you explicitly rewind transactions to one you specify, which I've seen used to recover a broken driver upgrade that led to filesystem corruption in ways that most FSCK just barf on, including XFS'

For low-level meddling and recovery, there's a filesystem debugger that understands all parts of ZFS and can help for example identifying previous uberblock that is uncorrupted, or recovering specific data, etc.
by bigDinosaur | 2025-08-31 13:14:22+00:00
This is perhaps the single worst form of argument I've ever seen. It does not help, it does not engage with anything scientific, it doesn't promote any new ideas (an example of an idea worth exploring is 'how can a cancer cell live indefinitely but other cells cannot' or 'why do different animals live for different lengths of time and what triggers this process'?). Things not worth exploring include whatever you're engaging in.
by Thorrez | 2025-08-31 13:14:36+00:00
>It’s hard to explain in words just how frustrating this M/D/Y madness is to everyone else in the world. There is just no sane way to tell what a date is referring to if it has numbers less than 13 for the day part. It becomes a wild guess.

Those criticism apply to both MM/DD/YYYY and DD/MM/YYYY. (MM/DD/YY and DD/MM/YY are even worse.)

>> Some people promote YYYYY-MM-DD though, which I guess is more future proof

>It’s the only unambiguous, sortable, sane format and the use of anything else should be deprecated on the web.

Are you talking about YYYYY-MM-DD or YYYY-MM-DD? They're both unambiguous and sortable. (Not sortable with the other one though.)
by koverstreet | 2025-08-31 13:14:41+00:00
Linus has broken the build more recently than I have. (In the time since bcachefs went upstream, we've both done that once, that I've seen).

Linus doesn't seem to believe in automated testing. He just seems to think that there's no way I could QA code as quickly as I do, but that's because I've invested heavily in automated testing and building up a community of people doing very good testing and QA work; bcachefs's automated testing is the best of any upstream filesystem that I've seen (there's a whole cluster of machines dedicated to this), and I have people running my latest branch on a daily basis.

Nearly all of the collaboration just happens on IRC.

For big changes I wait for explicit acks from testers that they've ran it and things look good; a lot of people read and review my code too, it's just typically less formal than the rest of the kernel.
by jqpabc123 | 2025-08-31 13:15:07+00:00
EVs are good for the environment but what will drive auto electrification is simple economics.

EVs are much simpler than ICE vehicles. And this simplicity will eventually lead to lower cost --- both purchase cost and operating cost.

Most of the cost of an EV is In the battery. We are one battery breakthrough away from an EV takeover of the "free market" for autos.

China knows this. Elon Musk knows this --- and so do the powers that be in the USA.

China is working to own the world wide auto market. The USA is working to isolate itself and perpetuate ICE for as long as possible --- not because it advantages the country or it's industry or it's citizens but because it is advantageous to select entrenched interests.

Current policy is inherently hostile to the well being of the country and it's citizens. "America First" really means isolation and obsolescence and "America Last" in the global marketplace and consequently a decline in American living standards.

In short, it is a capitulation to Chinese dominance.
by binaryturtle | 2025-08-31 13:16:08+00:00
Yes, sadly Little Snitch (or a similar app) is required to tame Firefox. It's a real shame since they use "Privacy" as selling point, but for me that starts with being transparent about what they do behind the users' backs with very clear ways to disable any nonsense (no about:config or policy BS, but proper GUI exposed options), or even better with a proper opt-in to those "security" and comfort features.

It pretty much eroded any trust I had in this browser and Mozilla (they are no more better than Google, Meta, Apple in that regard.) If it wasn't for uBlock Origin and availability for older OSX versions I would ditch it (the Dynasty build is the only option I have for a recent browser on my old Mac.)
Show HN: My first Go project, a useless animated bunny sign for your terminal
by stgr_codes | 2025-08-31 13:16:12+00:00
Hi HN, I wanted to share my very first (insignificant) project written in Go: a little CLI tool that displays messages with an animated bunny holding a sign.

I wanted to learn Go and needed a small, fun project to get my hands dirty with the language and the process of building and distributing a CLI. I've built a similar tool in JavaScript before so I thought porting it would be a great learning exercise.

This was a dive into Go's basics for me, from package structure and CLI flag parsing to building binaries for different platforms (never did that on my JS projects).

I'm starting to understand why Go is so praised: it's standard library is huge compared with other languages. One thing that really impressed me was the idea (at some point of this journey) to develop a functionality by myself (where in the javascript original project I choose to use an external library), here with the opportunities that std lib was giving me I thought "why don't try to create the function by miself?" and it worked! In the Js version I used the nodejs "log-update", here I write a dedicated pkg.

I know it's a bit silly, but I could see it being used to add some fun to build scripts or idk highlight important log messages, or just make a colleague smile. It's easy to install if you have Go set up:

go install github.com/fsgreco/go-bunny-sign/cmd/bunnysign@latest

Since I'm new to Go, I would genuinely appreciate any feedback on the code, project structure, or Go best practices. The README also lists my planned next steps, like adding tests and setting up CI better.

Thanks for taking a look!
by fortyseven | 2025-08-31 13:16:48+00:00
Even assuming this is a good faith effort by Google (which I seriously down of course), there's a point where you can only do so much to protect people.

Showing them the permissions requested, training them to not install things from outside the store unless they know what they're doing, explicitly needing to manually enable installation of software from the outside, etc etc.

That's it. You've done your job.

And if, despite all that, some people still want to continue to use their phones in a dangerous manner LET THEM suffer the consequences of their ignorance. Let them bruise their knee. They're grown ups, presumably. Some people just need to learn the hard way, and we shouldn't architect the entire system to protect that lowest common denominator.

You absolutely do not need to childproof the entire phone to protect people from themselves. For me, that's why it's patently obvious that this move has an ulterior motive.
by YeGoblynQueenne | 2025-08-31 13:17:09+00:00
That's a great soundbite but if you asked e.g. the average British person just before Brexit they'd tell you that they are worried about all the Poles, Bulgarians and Romanians, i.e. other Europeans, coming here, taking our jobs, scrounging wellfare and so on.

I mean, realistically speaking, they'd be bitching about Pakistanis and Indians and Middle Eastern immigrants also, but in 2016 the British voted to exit the European Union, not the Middle Eastern Union. The hint is right there, in the name.
by rednafi | 2025-08-31 13:17:13+00:00
Do you run your changes in the original location?

The canonical workflow is this: you run chezmoi cd and make changes there first. Only then do you run chezmoi apply to propagate the changes to the original location.

The source of truth is always what lies in the chezmoi directory, not the other way around.

So if you’re experimenting with the dotfiles in their original location, running chezmoi apply will override them with the snapshot in the chezmoi directory. The vimdiff doesn’t do much here.

If you want to retain your changes there, you’ll have to manually copy them over to the chezmoi directory. This is a bit awkward, but having a consistent source of truth makes the behavior easier to reason about. I rarely look at the diff.
by diggan | 2025-08-31 13:17:22+00:00
> I fear for the variety in the internet coding culture. Significant portion of code is being written by ai, all looks the same, all has the same mediocre quality.

Who cares who actually "typed" it? Shit code will be shit code regardless of author, there is just more of it now compared to before, just like there was more 10 years ago compared to 20 years, as the barriers for getting started is lowered time and time again. Hopefully, it'll be a net-positive, just like previous times, it's never been easier to write code to solve your own specific personal problems.

Developers who have strict requirements on the code they "produce" will make the LLM fit with their requirements when needed, and "sloppy" developers will continue to publish spaghetti code, regardless of LLMs existence.

I don't get the whole "vibe-coding" thing because clearly most of the code LLMs produce is really horrible, but with good prompting, strict reviews and not accepting bad changes just to move forward lets you mold the code into something acceptable.

(I have not looked at this specific project's code, so not sure this applies to this project, but is more of a general view obviously)
by Earw0rm | 2025-08-31 13:17:45+00:00
Half true. You can switch to the mode of not needing to go halfway around the world (or even just across the country) so often, because efficient information flows allow you to accomplish vastly more while mostly staying relatively local.

Sure, we all like to complain about burrito taxis, dating apps and endless Zoom calls, but in terms of quality-of-life per unit of energy, it's a step change.
by Bender | 2025-08-31 13:18:20+00:00
Licaon_Kter @licaon-kter 4 hours ago Maintainer Looks like while we have new certificates ( https://monitor.f-droid.org/services/tls-certs ) rotation failed. :(

They acknowledge rotation failed but it is still failing [1]. Perhaps something to do with how certs are rotated on their CDN?

[1] - https://www.ssllabs.com/ssltest/analyze.html?d=f%2ddroid.org...
by TuxSH | 2025-08-31 13:18:27+00:00
In particular, std::thread constructor's (the non-default one) has a workaround against LTO optimizing the pthread call away: https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-...

> Parallelism without pthread

To get __atomic_add_dispatch to work, looks like one is expected to ensure pthread_create is referenced. One way to do it without creating a pthread or std::thread, is to do it outside LTO'd files, or like they did above.

> > It is possible to create threads by using the OS syscalls bypassing completely the requirement of pthead

As the other person said, it is impratical to do so, and it's easier to just reimplement gthread and pthread functions to be hooks (some toolchains do this).
by thoroughburro | 2025-08-31 13:18:51+00:00
What did you try before giving up?

All the anecdotes I see tend to be “my drive didn’t mount, and I tried nothing before giving up because everyone knows BTRFS sux lol”. My professional experience meanwhile is that I’ve never once been able to not (very easily!) recover a BTRFS drive someone else has given up for dead… just by running its standard recovery tools.
by sensanaty | 2025-08-31 13:19:05+00:00
"Poorer" in what aspect(s), exactly? Because not everything is about gross monetary amounts when it comes to a good life. Even the poorest of the European nations (never mind that EU !== Europe, and that by invoking Europe you're also talking about the countries with the highest QoLs in the entire world like the Scandinavians) still have superior worker protections & medical infrastructure that doesn't leave the poor in generational debt than the US, which for me both rank infinitely higher than earning more money. I'm sure the poor Mississippians wouldn't mind some of those 30+ paid vacation days my Spanish friends get in exchange for earning a bit less.
by motorest | 2025-08-31 13:19:11+00:00
> Too solve a bug with the filesystem that people in the wild were hitting.

So you acknowledge that this last episode involved trying to push new features into a RC.

As it was made abundantly clear, not only is the point of RC branches to only get tiny bugfixes after testing, the feature work that was presented was also untested and risked introducing major regressions.

All these red flags were repeatedly raised in the mailing list by multiple kernel maintainers. Somehow you're ignoring all the feedback and warnings and complains raised by people from Linux kernel maintainers, and instead you've opted to try to gaslight the thread.
Show HN: A WebPDF Reader with AI assistance, for research and studying
by MO-379 | 2025-08-31 13:19:28+00:00
Hey,

I've made a pdf reader with ai assistance, you can quickly ask questions about the text and the images, and it will have context about all of your reading material so you can ask questions freely, try it now, I'm in open beta to find bug and get feedback.

upcoming features:

- Highlighting - Highlighting with Notes - Bibliography - Automatic Reference file opening - Improved UX and robustness

currenlty alot of bugs so please let me know if you found any.

feedback appreciated
by gyomu | 2025-08-31 13:20:00+00:00
Yep, exactly this. If I have anything with sugar in the house, it'll get consumed in 24-48h. The solution is to just not have anything with sugar in the house.

If I want to splurge with a chocolate or ice cream bar, I take a walk to my corner store and buy just one, and eat it right away. It's extremely cost inefficient compared to if I bought a gallon of ice cream from the store, but that's not what I'm optimizing for here.
by torginus | 2025-08-31 13:21:25+00:00
I am of two minds on V

On one hand, I think there needs to be an applications programming language that's both fast, statically typed, and minimalistic (like C). C# and Java are unwieldy and carry too much baggage. I hoped Go would be that language. Unfortunately Go's weird choice to use green threads and channels made it very difficult and slow to interop with native code, especially desktop frameworks, which usually rely on a pumped message loop. V was supposed to be that language, that keeps the excellent syntax, but replaces much of the weirdness with much more convenient stuff, while adding a few extra features.

I first learned of V after reading the hit piece someone wrote on it, which has formed the majority of people's opinion's on the language. Back then I though most of the criticisms were unnecessarily harsh and belligerent, most of it boiling down to the compiler/stdlib having bugs, and one asserting that it's 'autofree' implementation leaked memory, based on an incorrect understanding of how valgrind and C memory management works.

I decided to get the truth for myself, and delve into the V language source code (after all, it's up on github). Oh boy.

- The 'compiler' itself doesn't seem to have a a codegen backend, it just produces C code, with every code generation call essentially becoming a stringbuilder concat pushing C code into a buffer. So it's more of a transpiler than a compiler.

- The compiler's code is very worrying - commented out snippets of code, TODOs like 'TODO: this isn't supposed to be null here' over a stray if statement

- The vaunted 'autofree' which (to be fair never claimed to be 100% effective, relying on GC for cases it can't figure out) is just checking objects allocated in the function scope, and frees them at the end of scope. (to be fair, autofree seems to have been deprioritised)

https://github.com/vlang/v/blob/master/vlib/v/gen/c/autofree...

While it works in some cases (including the original critical post where it claimed to fail), and I don't pretend to understand all the nuances of the compiler, I feel like the engineering behind this project is somewhat unsound.

It's super impressive just how much stuff they managed to do over the past few years, and I think a simple and pragmatic desktop language (that produces small binaries, has few dependencies and is easy to write and read) is still needed, I'm kinda reluctant to give V that role until the engineering behind it becomes more solid.
by koverstreet | 2025-08-31 13:21:59+00:00
Cap'n proto is basically a schema language that gets you a well defined in-memory representation that's just as good as if you were writing C structs by hand (laboriously avoiding silent padding, carefully using types with well defined sizes) - without all the silent pitfalls of doing it manually in C.

It's extremely well thought out, it's minimalist in all the right ways; I've found the features and optimizations it has to be things that are borne out of real experience that you would want end up building yourself in any real world system.

E.g. it gives you the ability to add new fields without breaking compatibility. That's the right way to approach forwards/backwards compatibility, and it's what I do in bcachefs and if we'd been able to just use cap'n proto it would've taken out a lot of manual fiddly work.

The only blocker to using it more widely in my own code is that it's not sufficiently ergonomic in Rust - Rust needs lenses, from Swift.
by segphault | 2025-08-31 13:22:30+00:00
Strudel is fun. If you're interested in getting Strudel-like sequencing inside of a DAW, check out the latest version of Renoise, which added a Lua-based phrase scripting environment with support for Tidal Cycles notation. They also added it to their Redux plugin, so you can use it in literally any DAW.
by rpdillon | 2025-08-31 13:23:14+00:00
> controlling household members sneakily installing creepy things on devices of those they live with and want to control.

This is actually the happy path: parenting! I would love to see this approach taken with parenting, rather than trying to age-verify the internet.

Of course what you're talking about is abusive behavior, but my point is that's not what we're solving for here: and "parent has control" scenario has the dual-use of "the abuser has control". I don't think we can fix that by requiring code signatures or banning sideloading.
by nilslindemann | 2025-08-31 13:25:45+00:00
I guess it would, but the problem of getting "bad karma" points on payment processors, etc. remains.

Further, this is not the only form of fingerprinting, there is also e.g. TLS fingerprinting [1].

Programmers should tell people that browsers and the internet are not private, and that everyone who claims otherwise does not tell the truth.

There should be more discussions between people more skilled than me, if and how such methods can be prevented. And that should be documented well. Including how to prevent getting blocked on sites.

A creative attempt would be when millions or billions of users have a software (self chosen!) which randomly visits sites, when the computer is not busy. This would not prevent fingerprinting, but the collected data would be useless (Someone in the other thread suggested that).

Another method would be to declare it illegal and require workers to report such methods to the authorities.

[1] https://roundproxies.com/blog/what-is-tls-fingerprint/