MurphyA/hacker-news huggingface dataset:
by ssl-3 | 2025-12-13 22:32:25+00:00
You used the thought experiment as the foundation for the anti-anti-tivoization sentiment expressed. If the thought experiment is false, then the sentiment which might rest upon it is without basis.

> The point is, nobody should be compelling you to make your products hackable. If you don't want to, that's your prerogative.

I agree.

Nobody is compelled to use GPLv3 code in the appliances that they want locked-down for whatever reasons (whether good or bad) they may wish to do that. There's other routes (including writing it themselves).

They may see a sea of beautiful GPLv3 code and wish they could use it in any way they desire, like a child may walk into a candy store and wish to have all of it for free, but the world isn't like that.

We're all free to wish for whatever we want, but that doesn't mean that we're going to get it.

> But this whole "Or any future version" clause gave FSF carte blanche to just alter the deal and suddenly make it so anyone can fork a project and make it GPLv3.

This "Or any future version" part isn't part of the GPL -- of any version.

Let us review GPL v1: https://www.gnu.org/licenses/old-licenses/gpl-1.0.en.html

> Each version is given a distinguishing version number. If the Program specifies a version number of the license which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the license, you may choose any version ever published by the Free Software Foundation.

The GPL itself does not in any way mandate licensing any code under future versions. An author can elect to allow it -- or not.

If they specify GPL 2, then they get GPL 2. Not 3. Not 4. Only 2.

Other versions of the GPL are ~the same in this way. (You know where to find them, right? They're easy reads.)
by AndrewKemendo | 2025-12-13 22:32:36+00:00
And if my grandmother had wheels she would be a bike

There are categories and ontologies are real in the world. If you create one thing and call it something else that doesn’t mean the definition of “something else” should change

By your definition it is impossible to create a state based on coherent specifications because most states don’t align to the specification.

We know for a fact that’s wrong via functional programming, state machines, and formal verification
by abdullahkhalids | 2025-12-13 22:32:54+00:00
I just installed this app and it is very nice. The UX is very clean and whatever I say it transcribes it correctly. In fact I'm transcribing this comment with this app just now.

I am using Whisper Medium. The only problem I see is that at the end of the message it sometimes puts a bye or a thank you which is kind of annoying.
by tptacek | 2025-12-13 22:33:08+00:00
This is just wrong. Not that you can't blow up from a data race; you certainly can. Simply that any of these properties admit to exploitable vulnerabilities, which is the point of the term as it is used today. When you expand the definition the way you are here, you impair the utility of the term.

Serious systems built in memory-unsafe languages yield continual streams of exploitable vulnerabilities; that remains true even when those systems are maintained by the best-resourced security teams in the world. Functionally no Go projects have this property. The empirics are hard to get around.
by ben_w | 2025-12-13 22:33:20+00:00
Probably, given it's famously a desert, but the water issues for DCs are a meme rather than the actual limiting factor even in Arizona's case.

Last time this came up in an HN discussion, I looked at the sources and noticed that all 108 DCs in Arizona combined currently use about as much water as about 3k residents: https://news.ycombinator.com/item?id=45952965

How big is the rejected new DC compared to all the existing ones combined? I could believe just about anything in the current bubble, but that's where we're at for the existing ones.
by catketch | 2025-12-13 22:33:24+00:00
for me it has varied based on the product type and scope, i.e release note for everyone like on a mobile app release or a SaaS platform, vs a tenant specific customized release. There are multiple ways to single source it, and now LLMs can help you out a bit.

If you just need a simple thing, query what you are releasing (from jira or whatever tracking system you are using) and package them up into categories of features/bug fixes and keep the release notes general.

if it's important to have an accurate curated set of release notes, create a field in your bug db for external release notes---leave those for tehncical product managers, support etc to edit as they want. THen you can have internal and external ones.

you always need to review for language and sensitive data, so human review (but again LLMs are helpful now fo this stuff too)
by lpil | 2025-12-13 22:34:17+00:00
Ah, that’s good feedback. I agree, that documentation is misleading. I’ll fix them ASAP.

> Elixir also provides for much OTP functionality via direct access to the Erlang libraries.

This is the norm in Gleam too! Gleam’s primary design constraint is interop with Erlang code, so using these libraries is straightforward and commonplace.
by d3Xt3r | 2025-12-13 22:35:20+00:00
Most likely because this was a star ship (or space station) with a limited number of personnel, all of whom have fixed duties that need to be done. You simply can't afford to waste your time away in holodecks.

The people we saw on screen most of the time also held important positions on the ship (especially the bridge, or engineering) and you can't expect them to just waste significant chunks of time.

Also, don't forget that these people actually like their jobs. They got there because they sincerely wanted to, out of personal interest and drive, and not because of societal pressures like in our present world. They already figured out universal basic income and are living in an advanced self-sufficient society, so they don't even need a job to earn money or live a decent life - these people are doing their jobs because of their pure, raw passion for that field.
by crystal_revenge | 2025-12-13 22:35:25+00:00
> Because LLMs make it that much faster to develop software

I feel as though "facts" such as this are presented to me all the time on HN, but in my every day job I encounter devs creating piles of slop that even the most die-hard AI enthusiasts in my office can't stand and have started to push against.

I know, I know "they just don't know how to use LLMs the right way!!!", but all of the better engineers I know, the ones capable of quickly assessing the output of an LLM, tend to use LLMs much more sparingly in their code. Meanwhile the ones that never really understood software that well in the first place are the ones building agent-based Rube Goldberg machines that ultimately slow everyone down

If we can continue living in the this AI hallucination for 5 more years, I think the only people capable of producing anything of use or value will be devs that continued to devote some of their free time to coding in languages like Gleam, and continued to maintain and sharpen their ability to understand and reason about code.
by happytoexplain | 2025-12-13 22:35:57+00:00
It's just a semantic disagreement. In my experience, "vibe coding" means "software made with genAI, casually iterated until it passes tests and appears to work, without exhaustive or experienced review of the output, and is therefore often bad." It doesn't have to mean that, but in practice that seems to be the dominant definition currently.
by vlovich123 | 2025-12-13 22:36:06+00:00
You can do that but you keep missing that you’re no longer a true microservice as originally defined and envisioned, which is that you can deploy the service independently under local control.

Can you imagine if Google could only release a new API if all their customers simultaneously updated to that new API? You need loose coupling between services.

OP is correct that you are indeed now in a weird hybrid monolith application where it’s deployed piecemeal but can’t really be deployed that way because of tightly coupled dependencies.

Be ready for a blog post in ten years how they broke apart the monolith into loosely coupled components because it was too difficult to ship things with a large team and actually have it land in production without getting reverted to an unrelated issue.
by ignoramous | 2025-12-13 22:36:10+00:00
Windscribe and iVPN up there with Mullvad in TFA.

> Mullvad ... security and privacy _very_ seriously. Not surprised to see them shine here.

? TFA reflects on dishonest marketing on part of public VPN providers more than privacy / security.

That said, VPNs don't add much security, though, they are useful for geo unblocking content and (at some level) anti-censorship. In my experience, the mainstream public VPNs don't really match up to dedicated censorship-resistant networks run by Psiphon, Lantern, Tor (and possibly others).
by theturtletalks | 2025-12-13 22:36:21+00:00
Each store has its own Openfront setup, with its own database, checkout, and payment (Stripe & Paypal) account. The marketplace just connects to the store’s API in real time, fetching products, adding items to the cart, and handing off to checkout. When a customer pays, the funds go directly to the store’s Stripe account.

There’s no central database or shared backend. The marketplace is simply a discovery layer that sits on top of fully independent stores.
by rstuart4133 | 2025-12-13 22:36:58+00:00
True, but it's turtles all the way down. There is lots of non-reprogramable firmware in what you call "hardware". The recent article here pointed out the 8087 (an old floating point co-processor) had so much firmware (for the time) Intel had to use a special type of transistor to make it fit. Modern CPU's have many such tiny CPU's doing little jobs here and there. I'm being you didn't even know they exist. They not only exist, they also have a firmware programmed into ROM's you can never change. The bottom line is you have to trust the manufacturer of the silicon, and that isn't much different to trusting someone else who loaded firmware into the device.

The fact that there is always something you must trust in a device, as opposed to being able to prove it's trustworthy to yourself by just looking at it is so well known it has a name: is called the root of trust.

The interesting thing is it can ensure the root of trust the only thing you need to trust. The ability to do that makes your statement factually wrong. In fact it's drop dead simple. The root of trust only need let you read all firmware you loaded back, so you can verify it is what you would have loaded yourself. TPM's and secure boot are built around doing just that. Secure boot is how the banks and whoever else know you are running a copy of Android produced by Google.
by verdverm | 2025-12-13 22:37:03+00:00
I went to DDG to get away from all the Google AI stuff being shoved down my throat.

While it seems DDG is on the same path of AI / chat centric search UX, at least they allow me to turn off all that stuff. But... search has gotten so bad in general, DDG is having the same results issue I had on Google. I don't see DDG as a player in the Ai space so I think my usage will only decrease as search result quality continues to decrease.

I am hopeful in the long run that search index / results will become better as the core UX for most people becomes chat, search result pages become low human traffic (meaning ads are worthless), and search becomes one of many research tools for to the agents
by oritron | 2025-12-13 22:37:30+00:00
A surprising fact I /do/ know about DDG: they don't update bang searches anymore, which was one of my favorite differentiators. This feature adds a lot of utility to DDG as a browser default search engine.

You can search "!w Gabriel Weinberg" and it will open the Wikipedia article because of the leading exclamation mark and w. If a site changes their search url, you can submit the precise new pattern they should use for a redirect. If a new service pops up, you can use the same form to request a new search prefix. These form submissions could give someone at DDG an easy interface to verify quickly and approve or reject them.

These form submissions get ignored and have been for years at this point.
by rgovostes | 2025-12-13 22:37:32+00:00
Yeah, and there's no search field, either. Surely, this is my misunderstanding and I should click the "Show Help" icon for a product tutorial, right? This pops up a window saying:

> Now Assist offers real-time guidance and support for users seeking help with Virtual Agent. This feature’s generative AI skills blah blah blah

Ok...? There is no input box to interact with "Now Assist" or the "Virtual Agent", it's just like a marketing blurb for some other feature.
by AnthonyMouse | 2025-12-13 22:37:48+00:00
> Right, because every executive who pursued offshore manufacturing was thinking, "gosh, how can I deliver even lower prices and better value to my customers?", and not "OK, we've shown the market will pay $X for product Y, how can I cut my costs and free up more money for bonuses and cocaine?"

Suppose it used to cost you $1 to make something in the US that you had been selling for $1.50. The cost of domestic real estate and other things goes up, so now to make it in the US it costs you $1.60. If you sell for $1.50 you're losing money and to have your previous gross margin percentage you'd have to sell for $2.40. Meanwhile it still costs $1 to make it in China and one of your competitors is doing that and still selling it for $1.50.

Your options are a) don't raise prices, lose $0.10/unit and go out of business, b) raise prices, lose all of your sales to the company who still charges the old price and go out of business, or c) offshore manufacturing.

The only way out of this is to get the domestic costs back down, which is a matter of changing the government policy over zoning rules etc.

> Graphs of price indices (aside from a few sectors such as electronics where it was the core technology that improved, not labor efficiency) and wages over the last 50 years clearly show that the bulk of any offshoring savings were not passed along to consumers or front-line workers.

Are these graphs being adjusted for the increasing cost of things like domestic real estate having to be incorporated into the prices of everything? Even if you make it in another country you still have to pay for a domestic warehouse or retail store.
by kokada | 2025-12-13 22:38:50+00:00
Nix with Flakes never randomly break, I still have projects from 3 or 4 years ago that I can still run `nix build` and getting it running. Yes, if you try to update the `flake.lock` this may introduce breakages, but this is expected if you're pining `nixos-unstable` instead of a stable branch.
by AshamedCaptain | 2025-12-13 22:39:40+00:00
> AppleTV doesn’t record everything you watch on your TV like the smart TVs.

Obviously it only records what you watch through it.

> A smart TV can track what you watch no matter which input source you are using. How could an AppleTV or any device connected to an HDMI port know what you are watching on other input sources?

I thought the entire point was to _use_ the Apple TV. If you buy the Apple TV, but still use the other HDMI ports for your viewing .... why did you buy the Apple TV in the first place?

> The AppleTV+ service knows what you watch on their service.

And if you use the Apple TV, what you watch through Apple TV's TV program.

> Their is no justification for the TV to know anything.

Of course there is. They will claim this way it remembers your favorite channel, or that then they can send you spam^W updates in the schedule of your favorite programs, or whatever other crap people like you eventually end up thinking as an indispensable feature for which they happily accept tracking for.

> There is obviously a reason for each service to know what you watch on their service. What exactly are you arguing? That you should be able to use the AppleTV+ service anonymously?

That _there is_ a way to do broadcast TV anonymously. You do not need accounts, sync between multiple devices, or anything; and even if you need them, there are alternatives. That you are in error when you think that your pseudo-justifications are worth anything more than the ones Samsung will provide. The fact that that you immediately jump from "I need this" to "Therefore service provider must be able to track everything I do" is telling.
by Nextgrid | 2025-12-13 22:40:39+00:00
Microservices were a fad during a period where complexity and solving self-inflicted problems were rewarded more than building an actual sustainable business. It was purely a career- & resume-polishing move for everyone involved.

Putting this anywhere near "engineering" is an insult to even the shoddiest, OceanGate-levels of engineering.
by cogman10 | 2025-12-13 22:40:58+00:00
No, it doesn't. Believe me, I'm an expert this.

The JVM determines the maximum allocation it will take at startup. It will not grow beyond what that determination is. Effectively it sets the `XMX` setting once whether explicitly or implicitly from various memory settings.

The JVM, without explicit configuration, is also reluctant to give back memory to the OS. Most of the collectors will keep whatever memory they have requested.

And now that you've posted 8GB and 2GB, that pretty much confirms to me that you are both running older JVMs and using the default settings. For older JVMs the default was to take 25% of the available memory without further configuration.

Here's an article describing exactly this problem [1].

Your devs likely ran into OOME problems in production and merely increased their pod request. Cutting it down to "save" memory is a bad move, you need to do that in tandom with having the devs correctly set the JVM settings in their container. Otherwise, you reducing it to 2gb will cause the app to run with 512MB max heap size (almost certainly causing problems).

You may have seen a pod exceed that 2GB. That is simply because there are a lot of situations where the JVM can do "off heap" allocations, application dependent. The 2GB max is for the heap and not all the off heap allocations.

For Java, off heap allocations are somewhat rare. But you should know about them just so you don't set the JVM heap to 100% the pod memory. You need to leave a buffer big enough to accommodate those off heap scenarios (including garbage collections). For smaller heaps (<1gb) 60% is probably a good target. For larger heaps (10+gb) 80 or even 90% is a pretty good target.

[1] https://www.baeldung.com/java-docker-jvm-heap-size
by tzs | 2025-12-13 22:41:08+00:00
> I run a local system that mirrors approved channels to our home server and serves them through Plex. Creators lose ad revenue; that’s unfortunate.

Have your home server note when the kids are watching one of your mirrored channels and launch a browser on a computer the kids cannot see that is watching the same video on YouTube without an ad blocker.

The video creators then get exactly the same ad revenue and view counts they would have gotten had the kids used YouTube.
by cheald | 2025-12-13 22:41:09+00:00
There's absolutely nothing wrong with SSE. The problem is that the author is, apparently, stapling SSE directly onto streaming LLM responses, using the LLM inference provider as the "message queue", and then complaining that it doesn't provide seekability and resumption. Things that aren't MQs make pretty bad MQs. The problem isn't the message bus, it's trying to treat an LLM as a message queue.

Use an MQ if you want MQ things. Worse, the conclusion is wrong - pubsub isn't an MQ, though it often uses them. Pubsub is a pattern for message delivery, which by itself, makes no inherent guarantees about message durability or ordering; Rails' ActionCable, for example, utilizes the PubSub pattern (and in fact is built on Redis' pubsub feature!), but due to its implementation, it makes no delivery order guarantees, which is completely inappropriate for LLM inference.
by jhhh | 2025-12-13 22:41:10+00:00
I understand the desire to want to fix user pain points. There are plenty to choose from. I think the problem is that most of the UI changes don't seem to fix any particular issue I have. They are just different, and when some changes do create even more problems there's never any configuration to disable them. You're trying to create a perfect, coherent system for everyone absent the ability to configure it to our liking. He even mentioned how unpopular making things configurable is in the UI community.

A perfect pain point example was mentioned in the video: Text selection on mobile is trash. But each app seems to have different solutions, even from the same developer. Google Messages doesn't allow any text selection of content below an entire message. Some other apps have opted in to a 'smart' text select which when you select text will guess and randomly group select adjacent words. And lastly, some apps will only ever select a single word when you double tap which seemed to be the standard on mobile for a long time. All of this is inconsistent and often I'll want to do something like look up a word and realize oh I can't select the word at all (G message), or the system 'smartly' selected 4 words instead, or that it did what I want and actually just picked one word. Each application designer decided they wanted to make their own change and made the whole system fragmented and worse overall.
by vlovich123 | 2025-12-13 22:41:35+00:00
> Segfault" is simply Go's reporting convention for things like nil pointer hits.

Blatantly false. From Ralf’s post:

> panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x2a pc=0x468863]

The panic address is 42, a value being mutated, not a nil pointer. You could easily imagine this address pointing to a legal but unintended memory address resulting in a read or write of unintended memory.
by AnthonyMouse | 2025-12-13 22:42:53+00:00
> Even if I don't necessarily agree with the concept, or who is actually being blocked, my business is dead in the water if I'm a) sent to prison or b) fined out of existence.

Is there some specific way we can get the laws like this to be gone? They're obviously useless (witness this very thread of people describing ways for anyone to get around them) and threatening people with destruction for not doing something asinine isn't the sort of thing any decent government should be doing.
by josephg | 2025-12-13 22:43:10+00:00
Well implemented network hardware can have high bandwidth and low latency. But that doesn't get around the complexity and headaches it brings. Even with the best fiber optics, wires can be cut or tripped over. Controllers can fail. Drivers can be buggy. Networks can be misconfigured. And so on. Any request - even sent over a local network - can and will fail on you eventually. And you can't really make a microservice system keep working properly when links start failing.

Local function calls are infinitely more reliable. The main operational downside with a binary monolith is that a bug in one part of the program will crash the whole thing. Honestly, I still think Erlang got it right here with supervisor trees. Use "microservices". But let them all live on the same computer, in the same process. And add tooling to the runtime environment to allow individual "services" to fail or get replaced without taking down the rest of the system.
by RedNifre | 2025-12-13 22:43:13+00:00
Because the LCARS GUI is only for simple recurring tasks, so it's easy to find an optimal interface.

Complex tasks are done vibe coding style, like La Forge vibe video editing a recording to find an alien: https://www.youtube.com/watch?v=4Faiu360W7Q

I do wonder if conversational interfaces will put an end to our GUI churn eventually...