MurphyA/hacker-news huggingface dataset:
by noirscape | 2025-07-10 09:11:57+00:00
> My gut says that practice (or at least its breadth) stems from a misunderstanding of the legislated requirements.

Sorta yes. The "cookie law" is the EU ePrivacy Directive (not the same as the GDPR, it predates the GDPR by around a decade) and doesn't directly talk about cookies. Rather, it talks about any means in which a remote server can store data on your PC (which includes cookies, but also things like LocalStorage - the law is resilient to innovation).

Basically if you want to store data for things that aren't obviously necessary to provide service, you need to ask for consent to store this information (getting consent for using and sharing information obtained by using these cookies is a separate matter, that's what the GDPR is for). So a shopping cart or a session cookie don't need consent banners, since those get filled out in accordance with things users expect (if you login, it's expected that the site knows who you are in future requests, if you add an item to a shopping cart, it's expected to be kept somewhere and to be cross referenced. Rejecting a cookie consent banner can also place a cookie for this same reason; users expect to not be shown that popup again if they said no.)

Cookie banners are effectively an attempt to maliciously comply with this directive combined with legal paranoia. The second one is easier to explain; if you need consent to store some cookies, then legal is just gonna tell you that you need consent to store any cookies, no matter how trivial. This is standard legal paranoia, which leads to sites that don't place tracking cookies getting consent banners.

The first is more malicious; browsers can send indicators to servers that they don't want to be tracked at all. That's the DNT header or the GPC header. They are basically the same thing, except the GPC header allegedly has more legal backing - to my knowledge there's no evidence that DNT doesn't work for this purpose and in fact, GPC is worse at protecting against tracking. GPC only opts out against selling data, DNT opts out against tracking for any purpose whatsoever.

Advertisers habitually ignore/use these headers for fingerprinting, but a German court has decided that the DNT header has full legal backing as a "I don't want to be tracked" indicator in a case against LinkedIn and that spamming users with consent popups if these headers are present is essentially pestering them to relinquish consent that isn't going to be given. The GPC Header has no such protections, but might be more amenable to the (worse) Californian privacy laws. Advertisers and other companies like to pretend that the DNT header has no legal backing, but it does. Cookie banners could entirely be handled on the browser side, but browsers and advertisers refuse to take this idea seriously because it'd lead to mass rejection of tracking. (Due to perverse incentives at this point; both Mozilla and Google own/are ad companies respectively. This is why Mozilla quietly killed the DNT header at the start of the year, in favor of the GPC header.)
by oblio | 2025-07-10 09:12:30+00:00
The fact that the EU just doesn't have big companies in the fields that are more likely to be abusive with customer data.

It's a bit like the sweatshop argument. If your company wins out by using sweatshops, yeah, you're going to end up with the billion dollar argument. But if a certain market doesn't want stuff produced by sweatshops, and they decide to dis-incentivize it by tariffing it, that:

a) makes sense from their point of view

b) is moral from a global perspective

Similar approach here.
by KronisLV | 2025-07-10 09:13:20+00:00
> ...release the source code for your deployment/provisioning infrastructure...

SSPL works a bit similarly: https://www.mongodb.com/legal/licensing/server-side-public-l...

> If you make the functionality of the Program or a modified version available to third parties as a service, you must make the Service Source Code available via network download to everyone at no charge, under the terms of this License. ...

> “Service Source Code” means the Corresponding Source for the Program or the modified version, and the Corresponding Source for all programs that you use to make the Program or modified version available as a service, including, without limitation, management software, user interfaces, application program interfaces, automation software, monitoring software, backup software, storage software and hosting software, all such that a user could run an instance of the service using the Service Source Code you make available.

Not really a free software license, at least typically not considered one though.
by latexr | 2025-07-10 09:13:24+00:00
> It’s not dead dead

It’s not dead, period. Not dead, dead dead, dead dead dead, or any other combination.

Yes, some integrations were removed, but on the whole you have more apps and services for it than ever. The death of the behemoth that was Google Reader was a positive there.

Maybe fewer people are using it, but the technology itself is fine and continues to be widely available and supported by most websites, which was the point.

Maybe Facebook and Instagram don’t have RSS access, but you can’t even navigate two pages on them without an account, anyway. They are closed to everything they don’t control, which has nothing to do with RSS.
by pu_pe | 2025-07-10 09:13:30+00:00
As a customer, especially corporate, the PR shitstorm is definitely connected regardless of whether it's just a system prompt that was changed on the X version. Now that the owner of both X and xAI has demonstrated his inclination to introduce his bias on the main public version of their model, I wouldn't be so confident that training of the base model itself won't be biased too in the future, or perhaps already has been.
by terhechte | 2025-07-10 09:13:36+00:00
The "open Terminal of selected folder" is the proper way, it requires a different workflow though, so I understand the issue in terms of muscle memory. An easy enough alternative (for me) is to drag and drop the current folder onto iTerm. When you have a folder open in Finder, and hover over the name of the Folder in the titlebar of the window, a blue "folder" icon appears. if you drag that to the iTerm icon in the dock and drop it, iTerm will activate and open a new terminal window in this folder.
by Thyrdevv | 2025-07-10 09:14:29+00:00
I'm Thyrdev, a freelance web developer. Together with my friend and collaborator Skyzouwdev, we built a simple tool to solve a problem we know well: the hassle of creating invoices quickly without wasting time.

That’s how InvoiceFast was born.

Professional invoices. Zero friction. The idea is to help freelancers and small teams send clean, professional PDF invoices in just a few seconds. We focused on what matters: a fast interface, polished output, and nothing unnecessary.

We’d love to hear your thoughts. Would a tool like this be useful to you? What could we improve?
I Built a Voice AI That Made a Real RC Car (At 16)
by nakstup | 2025-07-10 09:14:38+00:00
Hey Hacker News!

I'm Shourya, a 16-year-old developer from India. Over the past few months, I've been working on Miliana — a JARVIS-style voice-controlled AI assistant that I built entirely from scratch.

She can: • Code in Python, Arduino, and web tech • Draw circuits and sketches • Chat with ChatGPT and Gemini • Control apps like YouTube, Spotify, and PowerPoint • Build UI clones, play music, and more — all via natural voice

Just recently, I pushed her one step further by letting her control and build a real remote-controlled car. She drew the sketch, wrote the Arduino/ESP code, set up the Flask backend, and created a frontend site — all in one continuous workflow.

Main Demo (AI skills overview): https://youtu.be/TORqB4gTqUM Car Project (end-to-end build): https://youtu.be/ROkvzCi-ueU

I'm working toward making Miliana fully offline with LLM-level performance on local hardware like RTX 4090 — and your feedback, suggestions, or just a view would mean a lot.

Happy to answer any technical questions here!
by bheadmaster | 2025-07-10 09:14:47+00:00
> And if the original can't compete it means the additional functionality was only going to exist because the financial model of the closed fork could pay for it.

This completely disregards the fact that the "financial model of the closed fork" explicitly chose to build upon the permissively licensed original.

If the company chooses to build upon free software, they should be obligated to give back to the community from which they leech. Otherwise, they should just build their own thing from scratch with all the money they've hoarded, and keep it closed.
by 0x000xca0xfe | 2025-07-10 09:14:55+00:00
Thanks, didn't see that!

> when you're compiling reasonably-sized programs you're already using all the cores

Only on full rebuilds. I would assume most build jobs with a human in the loop only compile a handful of crates at once.

In fact as CPUs get more and more parallel we'll cross the threshold where thread count surpasses work items more often and then will come the time to get creative ;)
by louwrentius | 2025-07-10 09:15:09+00:00
In Star Trek The Next Generation, energy is a 'solved problem'. Material needs are also a 'solved problem'.

Money doesn't exist anymore.

I think at least 70% of the Hacker News crowd would hate this world because they would have no idea what to do with their life under these circumstances.

What is life about except turning a profit? How can you have power over other people? Feel important with all your money? Look at Elon, he's happy.

(They probably would become Ferengi).

Maybe people can learn something from the anarchist David Graeber.
by ynik | 2025-07-10 09:15:31+00:00
You are not testing what you think you are testing.

"let &mut a2 = &mut a;" is pattern-matching away the reference, so it's equivalent to "let a2 = a;". You're not actually casting a mutable reference to a pointer, you're casting the integer 13 to a pointer. Dereferencing that obviously produces UB.

If you fix the program ("let a2 = &mut a;"), then Miri accepts it just fine.
by Gravityloss | 2025-07-10 09:15:55+00:00
There's at least one HVDC cable connected to Netherlands, Norned: https://en.wikipedia.org/wiki/NorNed .

As probably everyone knows, Netherlands is very flat and Norway very mountaneous. Norways is also very rainy. So it's a match made in heaven - Norway's mountain reservoirs can act as balancers for dutch wind power.
by ivan_gammel | 2025-07-10 09:16:38+00:00
Maybe you should reconsider the way you ask questions on this forum. Your tone is not appropriate and the question itself just demonstrates that you don't understand this topic.

Yes, I'm aware of this header and know the web standards well enough.

In hypermedia API you communicate to client the list of all operations in the context of the resource (note: not ON the resource), which includes not only basic CRUD but also operations on adjacent resources (e.g. on user account you may have an operation of sending a message to this user). Yes, in theory one could use OPTIONS with a non-standard response body to communicate such operations that cannot be expressed in plain HTTP verbs in Allow header.

However such solution is not practical, because it requires an extra round trip for every resource. There's a better alternative, which is to provide the list of operations with the resource using one of the common standards - HAL, JSON-LD, Siren etc. The example in my another comment in this thread is based on HAL. If you wonder what is that, look no further than at Spring - it does support HAL APIs out of the box from quite a long time. And of course there's an RFC draft and a Wikipedia article (https://en.wikipedia.org/wiki/Hypertext_Application_Language).
by druskacik | 2025-07-10 09:17:59+00:00
He wanted to be the CEO and merge it with Tesla[0], but the researchers had a problem with him (some had a problem with Altman as well, but that's another story). He did not have any real options since OpenAI was a non-profit then, so he just left. The new book The Optimist[1] about Sam Altman has some more details on this and other OpenAI Game of Thrones, I definitely recommend for those interested.

[0] https://openai.com/index/openai-elon-musk/

[1] https://www.goodreads.com/book/show/223400731-the-optimist
by teekert | 2025-07-10 09:18:36+00:00
I often don't understand why my comments get flagged. Sometimes it feels random, sometimes I can see that it is because I'm too libertarian or something?

Idk, it feels like people push comments into the 1 dimensional US political dimension (like critical of vaccins = pro-life = climate-change-denier or polar-opposite). Whereas one can be anywhere on a spectrum on any of the axes.

Critical of some research branches? You must be pro-doge then, and you are the "don't look up crowd" and vote maga.

So detrimental to open discussion.
by Jingyi0321 | 2025-07-10 09:19:12+00:00
In general, WebRTC VAD uses pitch information for VAD. Note that pitch only appears in voiced speech, but not in unvoiced speech. With this characteristic, WebRTC VAD may fails in detecting the start of a word, losing the unvoiced start, which will then result in e.g. increased WER in ASR system. On the other hand, noise whose spectrum is similar to voiced speech, e.g. music, may be extracted a non-zero pitch by WebRTC VAD pitch detection system.

Our model incorporates fbank and the pitch information together, and can analyse the input pattern deeply, therefore has better performance than WebRTC VAD.
by smcl | 2025-07-10 09:21:42+00:00
Those can be easily identified as "Microsoft Word", "Microsoft Office" and "Microsoft Windows". However "X" is the name of the company and the product.

I guess you could refer to it as "X The Everything App" or using the incredibly corny and near-immediately-binned tagline "X: Blaze Your Glory!" but I've only ever seen those used by people making fun of the product, company, Elon or all three.
by VBprogrammer | 2025-07-10 09:21:55+00:00
Terraform Industries (and others); I'd seriously consider taking a long bet that these companies turn out to be better at converting investor capital into employee salaries, for a finite period of time, than they are at converting atmospheric CO2 into natural gas.

If such a technology was possible then it would be far better to start with carbon capture from existing emitters. The concentration of CO2 being easily 3 orders of magnitude higher.
by roenxi | 2025-07-10 09:21:57+00:00
I'd personally say typing or not is a style choice, but your criticism here seems to be that Hickey doesn't have a visual neuroscience Master's degree which seems a bit arbitrary.

If your argument is you are an expert but Hickey is not, criticising him on his language design skills seems like a logical mistake. He's one of the foremost language designers of the current era. "Maybe Not" is a speech by an expert talking in his field of expertise.

If your argument is that his confidence is unfounded, again, he's an expert talking in his area. He can reasonably take a confident attitude in that, even if he has unfounded confidence in other fields he isn't an expert in. Lots of experts do that, it is a well founded stereotype of smart people.

He doesn't need to be an expert in implementing types to judge whether they are a good language feature.
by eru | 2025-07-10 09:21:59+00:00
> It is a technical solution for a people problem. It is better to guide and to mentor people in designing the right abstractions. What we should learn from this experiment is that this is the wrong approach.

Nah, it was just the wrong solution.

People problems are basically intractable in the grand scheme of things. Whenever you can turn a people problem into a technical problem, that's an opportunity for progress.

Imagine telling everyone to be a professional and being careful not to break our program when they edit the code? Sounds like a big people problem!

Instead, we give everyone their own copy to muck around with (instead of a shared folder), and we only allow changes to be integrated into the 'master copy', if they pass automated tests.

A good manager and really motivated and professional workers can help cope with people problems. But there's a limit to their ability. So the more we can offload to technological solutions, the more 'professionalism' (for lack of a better word) we can spare for other task that aren't feasible to be solved via technology, yet.

And I agree that not all technical solutions work! You need to experiment, and make judgement calls.
by ben_w | 2025-07-10 09:22:26+00:00
No, I'm not saying that. What is weakening is:

1) *The global geopolitical support that Israel requires to continue to exist because Israel is not a superpower able to stride the world alone*.

2) *The Netanyahu government itself*, which is unpopular within Israel and many Israelis consider incompetent and/or corrupt; the domestic protests against him personally and his government include many people who know about #1 and don't like it and are loud about this.
by lproven | 2025-07-10 09:22:30+00:00
I disagree on all points. I suspect that you lack historical context to this design, and may be too young to thoroughly grasp it. I have read that younger people (millennials and younger) tend not to think in hierarchies and find them complex and difficult.

Tell me, what pre-Windows 95 GUI designs are you familiar with? I don't mean know slightly, I mean know well.
by VoidWhisperer | 2025-07-10 09:22:54+00:00
Given that they've shown that they don't shy away from making questionable changes to Grok's main system prompt (i.e. the one telling it to not worry about being politically incorrect which subsequently lead to it being able to be pushed into making extremely antisemitic comments)[0], I would hope any company approaches this with that wariness in mind.

[0]: https://techcrunch.com/2025/07/09/x-takes-grok-offline-chang...
by ralfj | 2025-07-10 09:26:28+00:00
> it is inconsistent with "fearless concurrency" when the Rust stdlib has UB.

It is not. "fearless X" only applies to safe code. Rust was always very clear about that. It turns out that in practice, if >90% of your code are "fearless", that actually significantly reduces the amount of bugs you have to worry about, even if the remaining 10% can still have UB. (I don't have hard numbers on how much code is unsafe, AFAIK it is much less than 10%.)

But yeah, Miri cannot find all UB bugs. We are also very clear about that. But you don't have to find all UB bugs to make progress in this space compared to the status quo in C/C++.
by database64128 | 2025-07-10 09:26:32+00:00
Shameless plug: I wrote a DDNS service in Go [0] that uses Netlink on Linux and the IP Helper API on Windows to monitor network interface addresses in the most efficient way possible. As a result of working on this project, I sent 3 separate CLs to the x/sys module.

[0] https://github.com/database64128/ddns-go

[1] https://go-review.googlesource.com/c/sys/+/597915

[2] https://go-review.googlesource.com/c/sys/+/598895

[3] https://go-review.googlesource.com/c/sys/+/603755
by fn-mote | 2025-07-10 09:27:31+00:00
> in reality Apple would still lockdown their gadgets and just write the software themself if no permissive licence [were] available

This is a common opinion, but seems uninformed to me. The free code helped them get started. They are Goliath now, but the benefitted from not having to do the R&D earlier.

I don’t know if they could have done the R&D. I definitely imagine it would not have been as good as the product they got from using BSD.

Anyway, I believe this kind of thinking is a shallow dismissal of the value that companies receive from starting from Libre software.
by burnt-resistor | 2025-07-10 09:27:56+00:00
Next, on Steve Lehto...

Georgia had problem where a lawyer submitted documents with fictitious case citations. https://youtu.be/6RBQrcp0Lrg

Perhaps the way out is low tolerance for lazy, sloppy malpractice.

We're already that much closer to where a real ruling will include fictitious citations. Perhaps the LexisNexis and Westlaws of the world need to promulgate more toolbars and plugins to automatically check citations in documents for validity.
by thrance | 2025-07-10 09:28:21+00:00
At this point in time, if someone is still hailing Musk as a champion of free speech, I can't see any other explanation than that they're ideologically a nazi themselves. The guy outed himself several times as a nazi, doing salutes on national TV, twitting anti-semitic bullshit, and now tweaking their AI to promote a new holocaust and glorify Hitler. There comes a time when you have to call out nazism for what it is.
by barrell | 2025-07-10 09:28:31+00:00
This is not the best example, it's just the most recent example (what I was doing last night) that can fit in one screen:

(defn report [date] (let [[d w m q y] (-> (comp tier* recall* (partial c/shift date :day)) (map [1 7 30 90 365]))] (reduce (fn [memo {:keys [card code]}] (cond-> memo true (update code (fnil update [0 0 0 0 0 0 0 0 0 0]) (q card) inc) (<= 4 (d card)) (update-in [code 6] inc) (<= 4 (w card)) (update-in [code 7] inc) (<= 4 (m card)) (update-in [code 8] inc) (<= 4 (y card)) (update-in [code 9] inc))) {} (k/index :intels)))))

The elixir code I was able to condense down into:

def report(facets, intels, day) do [d, w, m, q, y] = for x <- [1, 7, 30, 90, 365], do: Date.shift(day, day: x) Enum.reduce(intels, %{}, fn intel, acc -> facet = Map.get(facets, intel.uuid, :zero) [q0, q1, q2, q3, q4, q5, d4, w4, m4, y4] = acc[intel.code] || [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] quarterly_tier = tier(facet, q) Map.put(acc, intel.code, [ if(quarterly_tier == 0, do: q0 + 1, else: q0), if(quarterly_tier == 1, do: q1 + 1, else: q1), if(quarterly_tier == 2, do: q2 + 1, else: q2), if(quarterly_tier == 3, do: q3 + 1, else: q3), if(quarterly_tier == 4, do: q4 + 1, else: q4), if(quarterly_tier == 5, do: q5 + 1, else: q5), if(tier(facet, d) >= 4, do: d4 + 1, else: d4), if(tier(facet, w) >= 4, do: w4 + 1, else: w4), if(tier(facet, m) >= 4, do: m4 + 1, else: m4), if(tier(facet, y) >= 4, do: y4 + 1, else: y4), ]) end) end

It was much longer prior to writing this comment (I originally used multiple arity helper functions), but it was only fair I tried my best to get the elixir version as concise as possible before sharing. Still 2x the lines of effective code, substantially more verbose imho, and required dedicated (minor) golfing to get it this far.

Replacing this report function (12 lines) + one other function (6 lines) + execution code (18 lines) is now spread across 3 modules in Elixir, each over 100 lines. It's not entirely apples to oranges, but trying to provide as much context as possible.

This is all just to say that the high effort in reading it is normally a result of information density, not complexity or syntax. There are real advantages to being able to see your entire problem space on a single page.
by notahacker | 2025-07-10 09:29:32+00:00
Isn't that the point though? In a market of multiple competently-executed chatbots, a entrant whose distinguishing feature is edgelordism isn't likely to stay competitive. There is a market for "like the other chat bots in terms of parsing instructions, but with clumsy ad hoc prompting to make it generate more racist output rather than less racist output" but it isn't a particularly lucrative one Cf Musk's other businesses with lockin effect or massive technical advantages, and in some cases where his politics are largely irrelevant
by ralfj | 2025-07-10 09:29:54+00:00
That doesn't let you treat data in-place at two different types, unless one of them happens to be char. So you still need to make a copy in many cases, e.g. to convert between an array of uint32_t and an array of uint16_t.

In some cases you can use unions, but that, too, is very limited, and I am not sure it would let you do this particular case.