HN user

ptx

5,178 karma
Posts90
Comments1,974
View on HN
carter.sande.duodecima.technology 13d ago

Every JavaScript bundler handles inline <script> tags wrong

ptx
3pts0
blog.documentfoundation.org 1mo ago

What Ooxml Transitional Tells Us About Format Sovereignty

ptx
6pts0
www.freebsd.org 3mo ago

FreeBSD Status Report First Quarter 2026

ptx
3pts0
www.freebsd.org 4mo ago

FreeBSD Status Report Fourth Quarter 2025

ptx
1pts0
alexwennerberg.com 7mo ago

Software Engineers Are Not Politicians

ptx
3pts4
dl.acm.org 1y ago

Dynamic Region Ownership for Concurrency Safety

ptx
2pts0
microsoft.github.io 1y ago

Project Verona: Fearless Concurrency for Python

ptx
166pts145
openjdk.org 1y ago

JEP 483: Ahead-of-Time Class Loading and Linking

ptx
148pts38
www.freebsd.org 2y ago

FreeBSD 14.1-Release Announcement

ptx
5pts0
www.usenix.org 2y ago

Swivel: Hardening WebAssembly Against Spectre

ptx
3pts0
docs.kernel.org 2y ago

Landlock: Unprivileged Access Control

ptx
59pts12
streams.spec.whatwg.org 2y ago

Streams Standard

ptx
2pts0
onekey.com 2y ago

Clock Fault Injection on Mocor OS – Password Bypass (2023)

ptx
1pts0
trust-in-soft.com 2y ago

A dangling pointer is indeterminate (2014)

ptx
1pts0
webdevelopmenthistory.com 2y ago

Web Development History – Internet history for the technically curious

ptx
124pts15
objective.st 2y ago

Objective-S

ptx
19pts8
cdaemon.com 2y ago

Sandbox Your Program Using FreeBSD's Capsicum

ptx
4pts0
archive.fosdem.org 2y ago

A Rusty CHERI – The path to hardware capabilities in Rust [video]

ptx
48pts1
codasip.com 2y ago

Fine-grained memory protection with the first commercial implementation of CHERI

ptx
12pts0
www.gnu.org 2y ago

GNU Mes

ptx
19pts2
slsa.dev 2y ago

SLSA – Supply-Chain Levels for Software Artifacts

ptx
1pts0
blog.jetbrains.com 2y ago

Compose Multiplatform 1.5.0 Release

ptx
3pts0
blog.jetbrains.com 2y ago

Reproducible Kotlin Compiler Artifacts

ptx
1pts0
kotlinlang.org 2y ago

Kotlin Roadmap

ptx
1pts0
www.youtube.com 2y ago

Build an iOS and Android app in 100% Kotlin with Compose Multiplatform [video]

ptx
4pts1
www.geoffchappell.com 3y ago

A Study of the Windows Shell

ptx
2pts0
kotlinlang.org 3y ago

Get Started with Kotlin/WASM in IntelliJ Idea

ptx
1pts0
www.neowin.net 3y ago

Zelda: A Link to the Past can now be compiled on Windows and Nintendo Switch

ptx
3pts0
wiki.gnome.org 3y ago

Msitools

ptx
2pts0
blog.jetbrains.com 3y ago

Kotlin 1.8.0 Released

ptx
4pts0

This is not new, and it's weird that this blog post doesn't acknowledge that.

A a snapshot from 2017 [0] of their docs show the UI for this very feature. A snapshot from 2023 of their knowledge base [1] says that "Firefox Containers is a basic built-in feature".

I just created a new profile in Firefox 140 ESR, started it in safe mode (which disables extensions), enabled "privacy.userContext.enabled" in about:config - and there you go, native containers accessible from File -> New Container Tab.

I'm not talking about the Multi-Account Containers extension. There are no extensions installed or enabled. It comes with Firefox 140 ESR, without extensions.

The Containers feature is already a "native, first-party feature" in older versions of Firefox. Firefox already has a "first-party version of containers". They have already brought it "directly into the heart of Firefox for all to benefit".

So what are they talking about in this blog post? Are they simply flipping the config setting to true by default? Are they replacing the existing "Containers" feature with a new feature which is also called "Containers"? Are they rebranding the Multi-Account Containers extension as "Containers" and making it built-in (seemingly not, since apparently "Not all of the features of the add-on are available in the first-party version of containers").

[0] https://web.archive.org/web/20170821073747/https://developer...

[1] https://web.archive.org/web/20230307151023/https://support.m...

It made perfect sense to me, FWIW.

Paintings, sculptures, blog posts, HN comments, etc. are all examples of different things that can be reductively viewed as "content" by those who only want to exploit them for profit, just like the illustration shows. I don't think the article is saying that these things are all the same.

Right, that's the sort of thing I meant.

As you read it, you would naturally try to understand why the author used such profound-sounding prose in that particular part of the text. You would expect that the author's intent was to emphasize the important bits. When the author talks about slowing down or something being load-bearing, you would expect that they're going somewhere with this, that this particular bit is especially important in some way.

But with an LLM-generated text, these attempts at understanding will get you nowhere and only produce frustration. The reader is left trying to interpret a signal that isn't really there.

Probably because LLM output only gives the appearance of cohesive writing, but the more you try to understand the author's intent and meaning, the more confusing and annoying it gets, as there is no author, no intent and no meaning there to understand.

Sure, but I was addressing the question that was asked (although perhaps it was asked rhetorically): LG cannot do this to you if you don't install their proprietary software, so Linux users are safe (assuming they use a trustworthy distro).

You could choose to buy from another vendor, but other vendors have the same incentives to abuse your trust in the same way once they manage to persuade you into running their proprietary software on your machine.

My understanding is that the monitor doesn't do anything by itself - it's just Windows detecting the device and automatically downloading and installing LG:s proprietary add-on software. The monitor itself isn't attacking the machine by exploiting vulnerabilities or spoofing user input or anything like that.

So you won't have this problem if you're running Linux and other Free Software under your own control. The problem in this case is just another example of why proprietary software can't be trusted.

Minikotlin 5 days ago

The example program they give as a "specimen" doesn't compile unless you specify the generic type of the "lanes" variable explicitly. And the compiler doesn't tell you where the error is. But it does build and run once you change it to "listOf<Lane>".

(The program builds as-is in the Kotlin Playground, at least for the JVM platform; the other platforms don't seem to have kotlinx.coroutines available.)

Building on standards like POSIX prevents vendor lock-in, which is beneficial in the long run because it prevents the vendor from holding you hostage once you start relying on the system. It's a sensible requirement.

Microsoft's deliberately useless POSIX support is a result of Microsoft acting in bad faith and sabotaging the efforts, as usual, because the lock-in is what they want. Just like they did with OpenDocument, for example. And what they tried to do with Java and the web.

You're probably right about that. It looks like llama.cpp lets you specify a grammar file or a JSON schema - is that what you mean? If the syntax of your DSL can be expressed that way, I suppose you wouldn't have to validate it externally and retry.

Always using the same replacement word seems like it doesn't quite solve the problem. The appropriate choice of replacement word could be context-dependent.

Maybe you could choose the word based on the previous words as context. Maybe the algorithm could be based on machine learning, using some sort of language model perhaps?

it eliminates entire swaths of syntactical errors, allowing the LLM to focus on the semantics

As I understood it, the idea the article presents is basically the opposite: The LLM is completely clueless about the semantics, but by constraining the language so that semantic errors are syntax errors, we can catch the LLM's bullshit with a simple validation step and make it try again until it produces valid syntax, which limits how wrong it can get the semantics.

It does apply to JSON in a way: An LLM doesn't always produce valid JSON, but it's easy to do a syntax check with a JSON parser and make the LLM try again until the JSON is valid. The JSON might still be semantically wrong on the level of the application domain (have the wrong values), but at least you can be sure that the generated data consists of lists, dictionaries, strings and numbers.

Recital 11 of the GDPR says that consent must be "freely given", and recital 43 says (in part):

"Consent is presumed not to be freely given if it does not allow separate consent to be given to different personal data processing operations despite it being appropriate in the individual case, or if the performance of a contract, including the provision of a service, is dependent on the consent despite such consent not being necessary for such performance."

Why are they repeating the 6 key themes twice but phrased in different ways and in different order? And then there are 6 recommendations and 5 improvements which are very similar to each other, but the article doesn't say how they are related.

I would suggest they first "demystify the language" and "streamline information architecture" of the article itself.

Also some details would be nice. And some acknowledgement of an understanding that the UI being "dated" and not "modern" probably isn't what's making it difficult to use.

Elop oversaw the 2011 launch of a Linux-based smartphone, the Nokia N9. [...] But the N9’s accolades did not ultimately carry the day. Nokia announced its Lumia line of phones the same year—a direct pivot away from MeeGo toward the Windows Phone.

This seems a little misleading. From what I remember, and from what Wikipedia says, Elop had already announced the deal with Microsoft long before announcing the N9, so Nokia was in essence already dead when it launched.

Does Docker use user namespaces by default? Otherwise root in the container is actually root on the host, from what I read. Correct me if I'm wrong.

(Privileges are still limited by seccomp filters blocking some syscalls, and there's SELinux to block some other stuff, but it's still the actual root user without user namespaces, I think?)

Right, but even if you have a lawful basis for processing the data to collect aggregate statistics (which the article mentions), the GDPR still doesn't allow you to process the data for unrelated purposes such as advertising, which is usually what cookie banners are about. If you're using cookies strictly to implement the expected functionality of the service, there's no problem to begin with - you don't need any banners in that case.

Next up: Stabbing people without a knife.

If you are tracking people without a lawful basis (e.g. consent), you are violating the GDPR. It doesn't matter if you use cookies. (The article does mention this towards the end.)

The "VM-isolated sandbox" is apparently not referring to the JavaScript VM but to a hypervisor, according to the text a bit further down on the page. I wouldn't expect that to be particularly fast or efficient, especially not if you're already running in a VM and have to use nested virtualization (if it's even available).

With each new Java release the previous one becomes instantly unsupported (meaning that it receives no security updates), unless you pay Oracle (or another vendor). So you are forced to update if you want security updates (or run only LTS releases, or pay a vendor).

Your blog isn't loading at the moment, so I'm not entirely sure what you mean here, but...

capsicum is after the fact

After the fact in what sense? The program enters capability mode before touching any arguments or doing I/O. You have to set things up before enter capability mode because you can't escape out of it afterwards.

it does nothing about syscalls

It does quite a lot about syscalls, in that it blocks or limits most of them. As the man page says: "Access to system calls in capability mode is restricted: some system calls requiring global namespace access are unavailable, while others are constrained."

In capability mode, you can use specific syscalls that operate on file descriptors, which limits the program to the specific capabilities it has been granted, e.g. pdkill(2) which is like kill(2) except you can only signal processes for which you have a process descriptor.

78% of those blocks are a single line — a pointer that came from C++, or one call into a C library

Don't those blocks need some additional lines for error checking to prevent the unsafety from spreading to the safe code?

https://en.wikipedia.org/wiki/First_International

"The International Workingmen's Association (IWA), commonly known as the First International [...] was founded in 1864 [...] The preparatory Address of English to French Workmen, drafted by trade union leader George Odger, articulated the need for international cooperation to prevent the importation of foreign workers to break strikes:

A fraternity of peoples is highly necessary for the cause of labour, for we find that whenever we attempt to better our social condition by reducing the hours of toil, or by raising the price of labour, our employers threaten us with bringing over Frenchmen, Germans, Belgians and others to do our work at a reduced rate of wages [...]"