HNHacker News
TopNewBestAskShowJobs

pseidemann

85 karma · joined December 10, 2016

submissionscomments
pseidemann··on Nvidia wants to put a watchdog chip next to every AI agent
Appreciate the response.

However, I think you are mixing too many concerns into the same bag of problems. One problem space is software exploitation, which happens via missing access control or simply bugs. A sandbox can be made safe. VMs and hardware virtualization work. People just seem to use it in the wrong way, hence my initial proposal.

A second problem space is basically social engineering done by agents, which of course can't be solved by software alone. But this problem already exists today with humans doing this. Many fraud schemes work and are ran in company-scale manners. Agents will just do the same in an automated way. My initial comment doesn't propose a solution to that, and I think that is step two, after fixing that agents can hack arbitrary software systems, which is imho fixable to a sufficient degree. Once agents can't be "more criminal" than humans with criminal energy, the usual measures can be applied: police, legislation, education, etc. But that is imo independent of the software exploitation state of affairs we are in right now. We should not mix these two.

> People want tools that are able to connect to other resources.

I think you are misunderstanding my proposal. The architecture allows the agent to connect to resources. Just not directly, but via controlling e.g. a browser. The browser runs outside the agent's sandbox, potentially in another sandbox. The only API the agent can call within its sandbox is simple website interactions, like clicking or viewing the screen. It can click on links to navigate to a different website. It can read it via visually parsing screenshots of the viewport, but it can never read the source code, run JavaScript, or do arbitrary network requests (unless the website itself allows this, which is a security problem on its own and should be fixed/guarded). Also note that this would enable allowlisting or blocklisting websites. Native apps will be "connected to" in a similar fashion. Hence the "imitate remote controlling".

pseidemann··on Nvidia wants to put a watchdog chip next to every AI agent
> Ordinary and average human endusers break security all the time.

Of course. But that is just a software bug that is fixable. Same as websites that allow arbitrary requests to other websites. Not some alignment issue of a stochastic model which can never be fixed properly (for technical and philosophical reasons).

> I can install malware.

No you can't. At least not on external systems. The agent might be able to generate malware (or retrieve it from websites), and run that in the sandbox it is sitting in. But the agent itself is already considered malware for all intents and purposes. So there is no difference and no further impact.

pseidemann··on Nvidia wants to put a watchdog chip next to every AI agent
> At that point, the bots will find a way to game, hack or cheat the grader.

This is getting frustrating now. Of course agents can/will hack systems if they can do arbitrary network requests. Firewalls don't really solve this if _some_ requests are still allowed. A proper sandbox/VM is the basis.

Here is how to fix it properly: allow agents to only do things ordinary and average human endusers can do. Human endusers cannot pen-test arbitrary listening TCP ports of external systems. Step one is considering agents malware for all intents and purposes. Block any and all network requests. Implement some kind of API (callable from within the sandbox) which can only mimic human interaction with a computer. How to do this? Here are some pointers: apps should only be controllable by means used by humans. So a web app can only be accessed and controlled via a web browser, not via arbitrary network requests. Give the agent browser viewport screenshots, the capability to click on (x, y) and to send keys which only a normal keyboard/human could send (no control codes, no 0x00, no unicode messing). How do we solve this for native apps? Something like iPhone mirroring on Mac. Don't let agents call arbitrary APIs directly. Give them visual information of the app, like a human gets, and let it be able to simulate HID inputs. Imitate remote controlling.

pseidemann··on Footguns with Postgres “at time zone 'UTC'”
What you call "cultural/political datetime" should be "standard time" (or maybe "civil time"):

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

But this is still different to a time someone enters into a calendar. Standard time can change its offset (to UTC) over time (e.g. DST), while a time in a calendar is fixed in the nominal sense.

"scientific datetime" is quite ambiguous, since I would consider science-level precision time to be TAI (International Atomic Time, what UTC uses as a reference), or maybe UT1, which is one variant of UT (Universal Time, unrelated to UTC), depending on the scientific field. For simple cases, UTC might be enough, so you could call this "UTC".

I think practically what matters for developers are three things:

- Standard time (dependent on timezone)

- UTC (the reference for standard times in the different timezones)

- Calendar times (seems to be called "floating time" [0]), just referring to a specific date and time, usually independent from both standard time and UTC, from the author's perspective (others viewing a foreign calendar might see times interpreted in their own timezone). Often scoped by physical location, but not necessarily.

[0]: https://www.w3.org/TR/timezone/#floating-times

pseidemann··on Footguns with Postgres “at time zone 'UTC'”
> You are still storing an exact point in time in both cases.

No this is not correct. You store two different intents. Suppose you want a reminder in your calendar every day at 15:00 for the next 7 days. It should not change if DST changes in the middle of the seven days. It should not change if legislation of my timezone changes. How do you encode this? A UTC timestamp for each of the seven days will change the hour if the DST changes or the timezone changes. So what you can do is store a datetime _without_ a timezone, exactly reflecting what the user entered when creating the calendar entry, which is "2026-09-29 15:00:00", "2026-09-30 15:00:00", etc. This is the intent wanted by the user, which is a "sticky" time in their calendar. These are not exact points in time, since timezones can and will change (DST), so the "physical" instant of 15:00 can be a different "actual" (as in, the sun has a different position, earth rotation is different) time when comparing the days. Instead, these are exact times in 7 days only in a (specific) calendar.

pseidemann··on Footguns with Postgres "at time zone 'UTC'"
I'm referring to a "datetime", which should be a data type which stores a date, e.g. "2026-09-28", and a time, e.g. "16:58:18". The unix epoch is not relevant here, unless you _want_ to store a UTC timestamp. You could store a UTC timestamp also as ISO 8601, which is not a number. But this is not related to the timezone-less datetime I'm talking about. To make my points more clear, just imagine the datetime is stored as a string "2026-09-28 16:58:18" with no implied timezone whatsoever.
pseidemann··on Footguns with Postgres “at time zone 'UTC'”
In practice, if you have participants from different timezones, you agree on one "reference" timezone, which can be also UTC, as in your nomads example. You can consider UTC as just another calendar you can stick to (but you should just not hardcode this in software for this appointment use-case). You actually need a reference to be able to plan an event in the first place. Otherwise you don't know which time you can propose. You would need to propose a "fixed" time for every timezone which participates, but that doesn't work, because these times might not refer to the same physical instant, so the meeting would not be (fully) synchronized. So instead, you take some time from some timezone and translate that to all the other timezones. You can even see that in online games, where some of them have an official "server time", which is globally the same, helping players to meet at the same time instant. UTC itself is another examples of this, used e.g. for global navigation or air traffic control.
pseidemann··on Footguns with Postgres “at time zone 'UTC'”
The fix is storing the datetime without a timezone, so the hour stays stable, no matter what the timezone of Perth does, plus optionally and separately the location (Perth), which could be stored as the timezone id of the location. But you could also use coordinates. Anything which can be mapped to its timezone later works. Now the time will never change for the original location (sic), and you can always compute the time for any timezone in the world, because in the instance of computation, you take the current valid timezone of the location, and you apply that to the stable datetime. Of course a current computation of that might have a different value in the future. But that doesn't matter, since the time for the original location (sic) never changes, and the value for different timezones is supposed to change.
pseidemann··on Footguns with Postgres "at time zone 'UTC'"
It's not only about display. If you store a user's appointment only as a UTC timestamp, you actually can't know the hour of the day (and the day itself to be precise) on which this appointment should happen, for a given calendar (probably the user's calendar, in a specific non-UTC timezone). You would have to guess by using the calendar's/user's timezone and compute some offset with UTC. But what if the user changes timezones or the timezone itself changes its value? Store without a timezone, and you know the exact hour and day the user intended. One is pointing to a day and hour in a calendar, the other is pointing at a point on the line of a linear timeline.
pseidemann··on Footguns with Postgres “at time zone 'UTC'”
There is actually a simple heuristic you can use: if a point in time should be sticky to a calendar (e.g. calendar app or appointments which need to be synchronized between multiple humans or parties for a given context/location/region), store a datetime _without_ a timezone and make the timezone configurable for the user/infer it from the user. If you want a point in time which will not "physically" change, store a datetime _with_ a timezone, always, preferably UTC (e.g. logging, timers, measuring the occurrence of events).
pseidemann··on European sunscreens are safer than American (2024)
The FDA's purpose is protection of the public health. Drug approval would be one specific example. The SCCS (EU) evaluating UV filter safety is another.
pseidemann··on European sunscreens are safer than American (2024)
You seem to be unaware of the asymmetry of information and competence. This is why consumer protection exists.
pseidemann··on Sweet Jeebus, macOS 27 Golden Gate Removes the Dumb Icons from Menu Items
Is pixel golf a thing? Apple definitely did it.
pseidemann··on Anthropic's model naming, extrapolated
Let's hope for Claude yAGnI.
pseidemann··on Anthropic's model naming, extrapolated
- Claude Cloud

- Claude Copilot

- Claude Vibe Code

pseidemann··on Zig by Example
If you know C well already, there is nowhere to go deeper systems-wise, apart from assembly. Maybe you mean higher as in more abstract? Rust is pretty abstract compared to C. Zig not so much by design. If you want to try something else entirely paradigm-wise, maybe something like Haskell could be interesting to you, or if type systems interest you, TypeScript's is quite sophisticated.
pseidemann··on Zig by Example
If you want to learn systems programming, I can recommend learning C. If you want to learn a programming language which allows systems programming, I guess Rust is not a bad choice. But it might be less helpful if the systems basics are unknown.
pseidemann··on Automatic Programming
AI is like an instrument which can be played in various ways, different styles and intensities.

One might say it's spec strumming.

pseidemann··on Claude Code daily benchmarks for degradation tracking
What is "level of quality"? Doesn't this apply to any product?
pseidemann··on Winapp, the Windows App Development CLI
How is such a product decision even possible? Genuinely curious.
pseidemann··on Why does SSH send 100 packets per keystroke?
Performing with highly elevated privileges? (Joke)
pseidemann··on Can you slim macOS down?
Perfectly working drivers.

As a power user, I want to use, not to fix, my tools.

I might tinker sometimes, but that is unrelated for me.

pseidemann··on Prediction markets are ushering in a world in which news becomes about gambling
Isn't this just the result of unregulated capitalism?
pseidemann··on American importers and consumers bear the cost of 2025 tariffs: analysis
United Statesians just doesn't sound as nice as Canadians or Mexicans.
pseidemann··on American importers and consumers bear the cost of 2025 tariffs: analysis
Imports are needed and important, not "bad". Most countries import goods. Why? Because not everyone produces everything. That is how society started and still works today.
pseidemann··on PCs refuse to shut down after Microsoft patch
You can always long-press the on/off button to force a power cycle.
pseidemann··on C++ std::move doesn't move anything: A deep dive into Value Categories
There is no giving (or taking).

I think std::rvalue would be the least confusing name.

pseidemann··on C++ std::move doesn't move anything: A deep dive into Value Categories
std::rvalue
pseidemann··on C++ std::move doesn't move anything: A deep dive into Value Categories
I'm convinced naming things is equivalent to choosing the right abstraction, and caching things is creating a correct "view" from given normalized data.
pseidemann··on Sugar industry influenced researchers and blamed fat for CVD (2016)
Such "science" should be illegal.
Page 1 of 2Next →