HNHacker News
TopNewBestAskShowJobs

ventana

724 karma · joined March 16, 2026

ex-FAANG engineer in the Bay area
submissionscomments
ventana··on If your agent commits a crime, who is responsible?
They won't defend you from IRS if you underpaid the tax, and "sorry I used TurboTax" is not a valid excuse.
ventana··on If your agent commits a crime, who is responsible?
I feel it's somewhat similar to using TurboTax or other online services to file your taxes. For those not in the US, the tax forms have a special field to fill in if the form was prepared by a paid preparer (licensed, I guess); TurboTax and other online services leave that field blank so you, as a taxpayer, are responsible for all possible mistakes that you didn't see in the forms you signed and sent.

I feel it's very similar to using an agent; the main difference is that we kind of trust that TurboTax won't hallucinate in your forms, while the agent surely will.

ventana··on Things I know about beets
I clicked thinking it's something about beets the vegetable. No, it is not.
ventana··on Protobuf has LSP support
Of course, the whole concept of a breaking change does not really apply if all usage is within the controlled code. The problems start to appear when you have external users with old versions; then protobuf starts having a bunch of weird limitations. My favorite is that it's forbidden to move a field into or out of a `oneof`: it's a compatible change in a sense of wire format and JSON, but breaks the generated Golang code.
ventana··on Understanding the HEIC Format
For HN, where readers are expected to be hackers, reading that you might want to go online to convert a HEIC to something is a little bit weird. Paragraphs like this:

  The Shift to Client-Side Processing (Local Conversion)
  To solve this privacy dilemma,
  modern web development has shifted towards Client-Side Processing.
  This means the conversion software runs entirely
  inside your web browser using your device's own hardware,
  without ever transmitting the file over the internet.
makes me cringe. Local conversion is not when you open a conversion website in your browser monstrosity that runs JavaScript locally. Local conversion is when you use ImageMagick to convert a file from any format to any format locally, without launching a browser, completely unnecessary for this purpose.
ventana··on Protobuf has LSP support
Renaming is forbidden though (because JSON and textproto). In Google, it's a documented antipattern to try to make protobuf look "nice" by changing field indices, rearranging fields, etc. — the common ground is that it's better to not do it.
ventana··on Protobuf has LSP support. You're welcome
Considered breaking change because JSON serialization will change, and JSON is used quite often.

Reordering fields without changing their ID is indeed a non-breaking change from what I understand, albeit quite a useless one :)

ventana··on Protobuf has LSP support
That's not Google. Buf.build is, hilariously enough, a completely separate company that tries to make sense of Google's protobuf, and it's doing a decent job from what I can see.
ventana··on If your agent commits a crime, who is responsible?
I find it obvious that if a person allowed an agent to do things on behalf of themselves or their company (e.g. send emails, sign contracts, update websites, etc.), they are responsible for the results.
ventana··on Show HN: A mobile app to keep up with most important news on Agentic Coding
I wonder how you got it approved; it seems like a direct violation of guideline 4.2:

  4.2 Minimum Functionality
  Your app should include features, content, and UI that elevate it beyond
  a repackaged website.
  
  4.2.2 Other than catalogs, apps shouldn’t primarily be marketing materials,
  advertisements, web clippings, content aggregators, or a collection of links.
Not that I would expect consistency from Apple reviewers, just noticing.

And, while we are on this topic: maybe it indeed makes sense to make a website instead of an app? You can send push notifications the same way, but users won't need to install one more app and could use their favorite browser with their favorite settings, bookmarks, etc. etc.

ventana··on Rewriting in Rust
I understand that's a guest post in Jetbrains blog, and these guests could very well be real people, project maintainers, conference speakers and whatnot, but I feel they used LLM so heavily that it reads like a slop. Pease do better next time.
ventana··on MIT Webscraper :)

  I was worried that getting this data would be difficult,
  but unironically, they literally have a single div for all
  of the text in the article and a single div for the header
  that contains the article name, author and date released.

  IT'S LIKE THEY WANTED ME TO SCRAPE THE SITE.
Why such a conclusion, and why is this "unironically"? A normal blog page, MIT or not, which is not obsessed with monetization or showing ads after each paragraph, is literally just a text with some very minor formatting (adding a few HTML tags here and there). It's very much expected that you would have a single <div class="content"> and an actual content inside of it.
ventana··on Yes, Code Review Is Still Necessary
It passed my bar, at least. I might have a very low bar; but it passed it.
ventana··on Delete DoorDash
I did, and the facts were not enough to make me delete my DoorDash account, and their request for DoorDash to express an opinion about ICE is very naive; standing against the government is not what I would expect of an American company.

So, no, I will pass on this one.

ventana··on Delete DoorDash
I may despise corporations, but I also despise activists telling me what to do. “Delete your DoorDash account!” How about no? Give me facts to decide and I will figure out.
ventana··on Yes, Code Review Is Still Necessary
Not exactly on topic, but I do like this disclaimer in the bottom of your post:

  AI Disclaimer: This article is original content produced 100% by me (a human).
  This post was composed by me dictating my thoughts to an LLM and asked it to
  produce a cleaned up version of it. I reviewed and edited the output to make
  sure it matched my original thoughts.
Seems to be an example of a healthy usage of an LLM!
ventana··on Amazon reinstates binding arbitration, bars class-action lawsuits
Every time I read about some company setting up mandatory arbitration process, I think of two things.

First, the great article describing someone's successful experience with Paypal's forced arbitration [1].

Second, my own successful experience with the Lemon Law arbitration against Stellantis in California. Not much to talk about here; it just worked and I got my money back in exchange for the car, just as it should be).

In general, I think that for a regular consumer, the arbitration process paid by the company might actually be better than a court process: it's much faster, easier, and indeed helps resolve issues, at least sometimes.

[1]: https://jessesingal.substack.com/p/i-fought-the-paypal-and-i...

ventana··on Stop sending me huge PRs; a rant
Just an idea which I haven't personally tried: AI agents understand technical limitations, such as CI failures. Maybe make a CI job which checks that a PR has a reasonable size, and auto-reject with a polite message if it's not? Something like, "This PR size exceeds the limit of N lines that we accept for review; if you implement a big feature please consider splitting it in several smaller PRs." There are chances that it won't help, but it might!
ventana··on Musk assembled a full-stack AI coding play while everyone watched benchmarks
Just a half-off-topic rant: I am not planning to pay any money to any of the X projects, including Grok. I once tried to create an ad campaign on X for my app, and to do that, you need to be a paid user. I paid for the premium account and then my campaign was never approved. After a few days trying to reach out to a human I gave up and canceled my subscription. I know that AI support is everywhere these days, but I don't want to encourage this with my money.
ventana··on NP-overrated
Just an example: Klondike (the solitaire game) is NP-hard (and, if I remember correctly, NP-complete) and it never stopped players from playing it, or developers from implementing it, even though it's sometimes impossible to know if the given setup has a solution at all, or not.
ventana··on Privacy Email with No Logs
No one is saying it's illegal. It's just "now please collect more data and give it to us" whenever they really need to know something about someone on your platform.
ventana··on Privacy Email with No Logs
Just until the government comes for your service, as in [1].

[1]: https://en.wikipedia.org/wiki/Lavabit

ventana··on Ask HN: What's slop? what's AI written text and why read/not read?
Yes, for the NTFS driver point, I guess "slop" is nothing new, it's just now it's much faster and easier to produce it in crazy amounts.

But also, even the NTFS driver passes my test of "more effort to create it than to review it", by the way.

ventana··on Starting a blog could lead to you meeting the love of your life
Maybe orthogonal to the topic, but I would suggest to not only start a blog, but start it on the platform you control: your own domain and self hosting.

First of all, it's just more fun and freedom to write on your own website. You want to make your post have some special feature? You do what you want, it's your platform.

But also, there is no risk of your own platform to block your account for whatever reason, to require payment to continue blogging, to start covering your content with paywalls, or to require that your readers created their own accounts, or anything like that.

ventana··on Ask HN: What's slop? what's AI written text and why read/not read?
One good measure is that in pre-AI world the person creating a piece of information normally used more time to create it than the person consuming it would need to consume it. Writing used to be slow, reading is fast.

So, when I see an AI wall of text without any editing, I assume that the author did not bother spending their time on it, but they want me to spend more of my time on reading it than they spent on creating it, and I refuse. Everyone has access to the same AI, and if I want to read AI generated text with little to no human author involvement, I'll go ask ChatGPT or Claude.

Same goes for GitHub slop PRs which are faster to create than to review.

ventana··on Can you tell if a comment is AI?
But if the post says that it's written by Codex and is AI generated, some people, myself included, won't bother scrolling to the point. It's not too difficult to write readable texts without LLMs and grab readers' attention!
ventana··on Can you tell if a comment is AI?
As much as I disapprove AI slop posts and won't read it, I appreciate you being honest about it and disclosing that it's AI generated, so thank you for that.
ventana··on `whoport` – which agent is using localhost:3000?
On Linux, that would be netstat -lpn (from my memory, not from the shell history) :) On Mac, netstat won't show the pids, so it would be lsof.
ventana··on `whoport` – which agent is using localhost:3000?
netstat and/or lsof will normally take care of that, but sure, everyone makes their own tools these days!
ventana··on Simple Sudoku Solvers
> I implemented branching and backtracking

The solvers they describe are indeed based on depth-first search and backtracking; in Python, the backtracking part involves some copying:

      for v in cands:
          new_board = [row[:] for row in board]
          new_board[i][j] = v
          solved = solve(new_board)
For anyone interested in solving sudokus, I recommend reading Knuth's Dancing Links paper [1] and implement sudoku solver as an exact cover problem. The idea is to completely get rid of copying the state, switching the pointers of doubly linked lists instead, which speeds up the backtracking part a lot.

It's a little bit more code than plain DFS, but much more exciting when it actually works!

[1]: https://arxiv.org/pdf/cs/0011047

← PreviousPage 2 of 8Next →