MurphyA/hacker-news huggingface dataset:
by danparsonson | 2025-12-17 23:16:45+00:00
No you're right, I didn't mean the firewall would have saved them, but just as a general point of advice. And yes a second VPS running opnSense or similar makes a nice cheap proxy and then you can firewall off the main server completely. Although that wouldn't have saved them either - they'd still need to forward HTTP/S to the main box.
by jtrn | 2025-12-17 23:16:59+00:00
I tested it for coding in Cursor, and the disappointment is real. It's completely INSANE when it comes to just doing anything agentic. I asked it to give me an option for how to best solve a problem, and within 1 second it was NPM installing into my local environment without ANY thinking. It's like working with a manic patient. It's like it thinks: I just HAVE TO DO SOMETHING, ANYTHING! RIGHT NOW! DO IT DO IT! I HEARD TEST!?!?!? LET'S INSTALL PLAYWRIGHT RIGHT NOW LET'S GOOOOOO.

This might be fun for vibecode to just let it go crazy and don't stop until an MVP is working, but I'm actually afraid to turn on agent mode with this now.

If it was just over-eager, that would be fine, but it's also not LISTENING to my instructions. Like the previous example, I didn't ask it to install a testing framework, I asked it for options fitting my project. And this happened many times. It feels like it treats user prompts/instructions as: "Suggestions for topics that you can work on."
by stouset | 2025-12-17 23:17:17+00:00
My point isn’t that my experience is universal, but that I find it statistically unlikely that this is nearly as hard as people are making it out to be at the majority of SWE roles.

If you find yourself repeatedly working at places where the only option is to crank out garbage at breakneck pace, I don’t know what to tell you. If you stipulate as an axiom that it's impossible to write quality software at ${JOB}, then you're right, by definition there's nothing to be done. I just don't find that a particularly helpful mindset.
by niyikiza | 2025-12-17 23:18:10+00:00
Thanks! Just looked at Agent OS. Love the 'Signed Receipts' concept in your AIR spec.

We reached the same conclusion on the 'Ambient Authority' problem, but I attacked it from the other end of the stack.

Tenuo is just the authorization primitive (attenuating warrants + verification), not the full runtime. The idea is you plug it into whatever runtime you're already using (LangChain, LangGraph, your own).

I'm currently in stealth-ish/private alpha, but the architecture is designed to be 'userspace' agnostic. I’d love to see if Tenuo’s warrant logic could eventually serve as a primitive inside an Agent OS process.

I'll shoot you a note. I would love to swap notes on the 'Capabilities vs. Guardrails' implementation details.
by 3np | 2025-12-17 23:18:27+00:00
> I also enabled UFW (which I should have done ages ago)

I disrecommend UFW.

firewalld is a much better pick in current year and will not grow unmaintainable the way UFW rules can.

firewall-cmd --persistent --set-default-zone=block firewall-cmd --persistent --zone=block --add-service=ssh firewall-cmd --persistent --zone=block --add-service=https firewall-cmd --persistent --zone=block --add-port=80/tcp firewall-cmd --reload

Configuration is backed by xml files in /etc/firewalld and /usr/lib/firewalld instead of the brittle pile of sticks that is the ufw rules files. Use the nftables backend unless you have your own reasons for needing legacy iptables.

Specifically for docker it is a very common gotcha that the container runtime can and will bypass firewall rules and open ports anyway. Depending on your configuration, those firewall rules in OP may not actually do anything to prevent docker from opening incoming ports.

Newer versions of firewalld gives an easy way to configure this via StrictForwardPorts=yes in /etc/firewalld/firewalld.conf.
by marwamc | 2025-12-17 23:18:39+00:00
Hahaha OP could be in deep trouble depending on what types of creds/data they had in that container. I had replied to a child comment but I figure best to reply to OP.

From the root container, depending on volume mounts and capabilities granted to the container, they would enumerate the host directories and find the names of common scripts and then overwrite one such script. Or to be even sneakier, they can append their malicious code to an existing script in the host filesystem. Now each time you run your script, their code piggybacks.

OTOH if I had written such a script for linux I'd be looking to grab the contents of $(hist) $(env) $(cat /etc/{group,passwd})... then enumerate /usr/bin/ /usr/local/bin/ and the XDG_{CACHE,CONFIG} dirs - some plaintext credentials are usually here. The $HOME/.{aws,docker,claude,ssh} Basically the attacker just needs to know their way around your OS. The script enumerating these directories is the 0777 script they were able to write from inside the root access container.
by agentultra | 2025-12-17 23:19:41+00:00
Absolutely, I was waving my hands a lot there. Thanks for adding that.

And I’d also add the small model theory from Software Abstractions: if there is an error in your spec in a large instance then it is likely also going to appear in a small one. Most of errors can be caught by small instances of a model.

I only mention it because the common retort when people find out that the model checker only exhaustively checks a limited instance is, software is complex and you can’t model everything.

It’s true. But we don’t need models that account for the gravitational waves in our local region of space to get value from checking them. And neither do most programmers when they use unit tests or type checkers.

And proofs… I think I might disagree but I don’t have the professional experience to debate it fully. I do know from a colleague who does proof engineering on a real system written in C++ that it’s possible however… and likely more difficult than model checking.
by englishcat | 2025-12-17 23:20:00+00:00
Thanks for pointing this out. You're absolutely right that 'Zero Privacy Trace' was a bit too absolute.

I’ve just updated the website to be more precise: we use enterprise-grade APIs where they said data is not used for training by default, and we don't log any original content on our own servers.

We also only send the specific text snippets needed for processing to minimize exposure. I really appreciate the feedback, it helps make the project better!
by curt15 | 2025-12-17 23:20:01+00:00
The administrative law proceeding is a judicial proceeding. Its purpose is to determine whether someone has violated the rules created by the SEC. It's fundamentally no different than a court proceeding to determine whether someone has violated the criminal code. Both are trying to decide "were the rules broken, and if so, what should be the penalty?"

A fundamental principle in any legal system is that no one can be the judge in his own case. But if the ALJs and the SEC rulemakers are under the direct control of the president, then the president is effectively performing legislation, prosecution, and adjudication all at once. The president could keep sacking ALJs until he finds one willing to issue his favored ruling. That is precisely the kind of scenario that separation of powers seeks to avert.
by xp84 | 2025-12-17 23:20:14+00:00
This is written without any acknowledgement of how short-term thinking has poisoned the entire (world of work? Capitalist system? IDK).

Yes, killing your talent pipeline is a horrible idea. But that's Future CEO's problem. When we need new seniors to backfill natural attrition, we can poach them from competitors.

And juniors don't make that much less money, either. Sure, there are people who do light frontend work on Wordpress sites and stuff, who make a lot less. But at my place of work, when we had junior SWEs (we either developed them into seniors in the past 3 years or let them attrition), they were making about ¾ of what seniors make. So, you can pay 4 juniors or you can pay 2-3 seniors. Arguably 1 senior using AI will be a lot more sustainable than 4 juniors burning tokens all day trying to get Cursor to do things they don't really even understand and can't evaluate effectively.

Anyway I completely agree that all of this, especially eliminating the bottom 2 steps of the career ladder for engineers, is horrible for our entire industry. But our incentive structure will richly reward companies for doing this. Stock price go up. Let Future CEO worry about it.
by everlier | 2025-12-17 23:20:28+00:00
Hi,

I've been rocking my LLM setup for more than two years now and it grew quite extensive enough to warrant an "awesome" list.

You may read in detail about my experience with all the services here on r/LocalLLaMa: https://www.reddit.com/r/LocalLLaMA/comments/1oclug7/getting...
by andrewsthoughts | 2025-12-17 23:21:08+00:00
In short, yes:

Create a new task with your prompt, and hit "Create" (instead of "Create and Run"). The interface will show a little hint "Edit steps in plan.md", with 'plan.md' being clickable. Click on it and edit it, experimenting with some ideas. {Bonus tip: toggle "Auto-start steps", to keep it Ralph-y)

I just winged the workflowsbelow, and it worked for the prompt I threw at it. If you like it, you can save it as your custom workflow and use it in the future. If you don't like it - change to your preference.

Now, I prefer a slightly different flow: Implement > Review > [Fix] (and typically limit the loop to 3 times to avoid "divergence"). We'll ship some pre-built templates for that soon. Our researchers are currently working on various variations on our private datasets.

--- # Quick change

## Configuration - *Artifacts Path*: {@artifacts_path} → `.zenflow/tasks/{task_id}`

---

## Agent Instructions

This is a quick change workflow for small or straightforward tasks where all requirements are clear from the task description.

### Your Approach

1. Proceed directly with implementation 2. Make reasonable assumptions when details are unclear 3. Do not ask clarifying questions unless absolutely blocked 4. Focus on getting the task done efficiently

This workflow also works for experiments when the feature is bigger but you don't care about implementation details.

If blocked or uncertain on a critical decision, ask the user for direction.

---

## Workflow Steps

### [ ] Step: Implementation

Implement the task directly based on the task description.

1. Make reasonable assumptions for any unclear details 2. Implement the required changes in the codebase 3. Add and run relevant tests and linters if applicable 4. Perform basic manual verification if applicable

Save a brief summary of what was done to `{@artifacts_path}/report.md` if significant changes were made.

After you are done with the step add another one to `{@artifacts_path}/plan.md` that will describe the next improvement opportunity.
by fvwmuser | 2025-12-17 23:23:37+00:00
fvwm95 was a fork of fvwm2 and has remained in that state, and never updated.

It was created at a time when the theming in fvwm was not as flexible, but it's completely possible to emulate all of fvwm95 in fvwm3, and behind the scenes, the application support in fvwm3 greatly outweighs the version of fvwm2 which fvwm95 wad forked from.

In other words, it remains a curio in fvwm's history, and that's where it should remain.
by danudey | 2025-12-17 23:23:52+00:00
I tried switching to Ungoogled Chromium lately but had to switch back because, even on 32 GB of RAM, having another chromium process running meant that all my apps were getting killed left right and centre. Do too much browsing and VS Code gets killed. Restart VS Code and do a build and Slack gets killed. Open Zoom and Chromium gets killed.

Now I'm back to Firefox again and nothing has died so far.
by Havoc | 2025-12-17 23:24:52+00:00
Cool that they publish reasonably detailed info! Couple points that stood out to me

* Perplexity beating Gemini for volume?

* Globo #1 in news...never heard of it (Latin Am. news)

* Only 4.2% http is from bots? Seems low relative to people's complaints about it on blogs

* >50% post quantum encrypted (of TLS1.3 I think, not overall)
by dakshgupta | 2025-12-17 23:25:09+00:00
We have ways to approximate our impact on code quality, because we track:

- Change in number of revisions made between open and merge before vs. after greptile

- Percentage of greptile's PR comments that cause the developer to change the flagged lines

Assuming the author is will only change their PR for the better, this tells us if we're impacting quality.

We haven't yet found a way to measure absolute quality, beyond that.
by trhway | 2025-12-17 23:25:34+00:00
>there still would need to be a vulnerability in docker for it to “attack” the host, or am I missing something?

non necessary vulnerability per. se. Bridged adapter for example lets you do a lot - few years ago there were a story of something like how a guy got a root in container and because the container used bridged adapter he was able to intercept traffic of an account info updates on GCP
by movedx | 2025-12-17 23:25:54+00:00
You’ll set yourself up for success if you check the dependencies of anything you run, regardless of it being containerised. Use something like Snyk to scan containers and repositories for known exploits and see if anything stands out.

Then you need to run things with as least privilege as possible. Sadly, Docker and containers in general are an anti-pattern here because they’re about convenience first, security second. So the OP should have run the contains as read-only with tight resource limits and ideally IP restrictions on access if it’s not a public service.

Another thing you can do is use Tailscale, or something like it, to keep things being a zero trust, encrypted, access model. Not suitable for public services of course.

And a whole host of other things.
by schoen | 2025-12-17 23:27:19+00:00
I was briefly considering trying to become a professional translator, and I partly didn't pursue it because of the huge use of MT. I predict demand for human translators will continue to fall quickly unless there are some very high-profile incidents related to MT errors (and humans' liability for relying on them?). Correspondingly the supply of human translators may also fall as it appears like a less credible career option.
by nialv7 | 2025-12-17 23:27:48+00:00
well japan has comiket. unlike the Western equivalents like Comicon, etc. which has been mostly captured by corporates as a channel of advertisement, comiket remained a grassroots market, where ordinary, individual artists can get a booth to sale whatever creative work they have produced. this is almost unimaginable in the West.

surely that has an enormous impact on the vitality of the creator community.
by andrewsthoughts | 2025-12-17 23:28:06+00:00
In our IDE plugins, we support BYOK: https://docs.zencoder.ai/features/models I'll check with the team how to do it in Zenflow.

Meanwhile, you can BYOA - bring your own agent - if you are a hobbyist, Gemini is free with gmail (but they WILL train on your data). And if you have ChatGPT sub, you can use codex CLI with Zenflow for no extra charge (and they don't train on paid users data).
by nephihaha | 2025-12-17 23:28:56+00:00
I think it depends what field you are in. In printing and publishing, these font differences can create major issues, such as in formatting and readability. You are right, it is not an exact science and can be subjective, but it is important in some instances. Differences in fonts can affect the entire layout of a page. I was watching a video discussing some font and logo design within the Alien franchise, and some of it worked on a level which was very subtle but I believe effective.
by pron | 2025-12-17 23:29:12+00:00
You say no tools but you can "verify floats" with TLAPS. I don't think that RAM or 64-bit integers have facsimiles in TLA+. They can be described mathematically in TLA+ to whatever level of detail you're interested in (e.g. you have to be pretty detailed when describing RAM when specifying a GC, and even more when specifying a CPU's memory-access subsystem), but so can floating point numbers. The least detailed description - say, RAM is just data - is not all that different from representing floats as reals (but that also requires TLAPS for verification).

The complications in describing machine-representable numbers also apply to integers, but these complications can be important, and the level of detail matters just as it matters when representing RAM or any other computing concept. Unlike, say, strings, there is no single "natural" mathematical representation of floating point numbers, just as there isn't one for software integers (integers work differently in C, Java, JS, and Zig; in some situations you may wish to ignore these differences, in others - not). You may want to think about floating point numbers as a real + error, or you may want to think about them as a mantissa-exponent pair, perhaps with overflow or perhaps without. The "right" representation of a floating point number highly depends on the properties you wish to examine, just like any other computing construct. These complications are essential, and they exist, pretty much in the same form, in other languages for formal mathematics.
by darth_avocado | 2025-12-17 23:29:53+00:00
There’s power dynamics that come into play when you’re a C level executive. You’re allowed to ask questions. For entry level employees, asking questions almost always comes with a judgement of lower skills/experience. This is often what senior and experienced folk forget, there’s a certain amount of assumed competence when you asked questions, that doesn’t get assigned to newer people.
by bikenaga | 2025-12-17 23:30:25+00:00
"Abstract. The education-mortality gradient has increased sharply in the last three decades, with the life-expectancy gap between people with and without a college degree widening from 2.6 years in 1992 to 6.3 years in 2019 (Case and Deaton 2023). During the same period, mortality inequality across counties rose 30 percent, accompanied by an increasing rural health penalty. Using county- and state-level data from the 1992–2019 period, we demonstrate that these three trends arose due to a fundamental shift in the geographic patterns of mortality among college and non-college populations. First, we find a sharp decline in both mortality rates and geographic inequality for college graduates. Second, the reverse was true for people without a college degree; spatial inequality became amplified. Third, we find that rates of smoking play a key role in explaining all three empirical puzzles, with secondary roles attributed to income, other health behaviors, and state policies. Less well-understood is why 'place effects' matter so much for smoking (and mortality) for those without a college degree."
by BoingBoomTschak | 2025-12-17 23:30:29+00:00
As linked, the extensible sequence protocol (https://shinmera.com/docs/trivial-extensible-sequences/) already exists and is quite workable. The problem is that it's not supported enough, both by implementations (CCL missing, for example) and the entire ecosystem.

In the end, it's simpler to stay with boring, ANSI compliant solutions well optimized by compilers.
by mingus88 | 2025-12-17 23:30:50+00:00
Seems ironic. Perhaps we should celebrate AI as the accelerator of capitalism’s ultimate unworkable demise

We aren’t getting regulations on AI. The military industrial complex includes the tech industry now. It’s an existential race to beat China.

The sad reality is that for all of our potential futures, we aren’t getting the Star Trek post scarcity utopia. Our onboard ship computers aren’t generating Earl Grey, hot, they are generating trillionaires on one hand and poverty on the other.
by defrost | 2025-12-17 23:31:05+00:00
That's reproductive sex.

The question of classifying human births is larger - not all humans born have gametes. Some have two sets.

For people interested in actual observed birth cases there's a lot more going on than a moronically over simplified two buckets cover all cases when it comes to attributing sex [] .. clearly M or clearly F with everything aligned (physical form + chromosones + gamates) covers most cases .. and then there's the rest.

It gets even broader when including mammals such as rabbits and pigs as they express cases that are potentially possible in humans but not (as yet) observed or on record.

> so it must fundamentally be based on gametes.

Wishful thinking stemming from a strong held preconceived idea of how the workd must be rather than field based observation of that which occurs.
by altmanaltman | 2025-12-17 23:31:09+00:00
How about email? Form runs on your (anything) -> creates a new email -> you get instant email notifications because it's an email. That's also perfect for MVPs, landing pages, portfolios or any low-volume use case. Why would I want to rely on a middleman or version control software for this?

If you know it's a glued-together solution that you'll have to rip apart if your program scales, why make it so complex in the first place?
by dredmorbius | 2025-12-17 23:31:32+00:00
Time proved you right long ago. See the Ashley Madison breach (2015):

<https://www.wnycstudios.org/podcasts/otm/segments/what-can-w...> (audio and transcript).

Based on Paul Ford's blog entry: "Fairly Random Thoughts on Ashley Madison & the Swiftly Moving Line" <https://medium.com/message/fairly-random-thoughts-on-ashley-...>.
by 3np | 2025-12-17 23:32:32+00:00
It still says:

> IT NEVER ESCAPED.

You haven't confirmed this (at least from the contents of the article). You did some reasonable spot checks and confirmed/corrected your understanding of the setup. I'd agree that it looks likely that it did not escape or gain persistence on your host but in no way have you actually verified this. If it were me I'd still wipe the host and set up everything from scratch again[0].

Also your part about the container user not being root is still misinformed and/or misleading. The user inside the container, the container runtime user, and whether container is privileged are three different things that are being talked about as one.

Also, see my comment on firewall: https://news.ycombinator.com/item?id=46306974

[0]: Not necessarily drop-everything-you-do urgently but next time you get some downtime to do it calmly. Recovering like this is a good excercise anyway to make sure you can if you get a more critical situation in the future where you really need to. It will also be less time and work vs actually confirming that the host is uncontaminated.
by sophiabk | 2025-12-17 23:33:20+00:00
I wrote this after my scheduling AI suggested filling every gap in my calendar the same week my kid was struggling because her dad was traveling. The AI was technically right—I could fit more meetings in. But it had no way to know I was running on fumes. Got me thinking about Weber's "iron cage"—how systems of rational efficiency trap us by optimizing for everything except what actually matters. Modern AI inherits the Protestant work ethic: productivity is moral, idle time is suspect, you are what you produce. These are design choices, not inevitabilities. We could build AI that asks "What do you want more of?" instead of "How can we optimize your time?" Curious what folks here think, especially those building productivity tools. Are we encoding the wrong values by default?