HNHacker News
TopNewBestAskShowJobs

subhobroto

626 karma · joined January 2, 2012

Like something I said? Hate something I said? Want to talk more?

Feel free to reach out: my handle at gmail.com

Writings from 10 years ago: https://www.quora.com/profile/Subhobroto-Sinha-1

submissionscomments
subhobroto··on Grok 4.5
> A diverse market full of choices keeps it from becoming the browser wars all over again.

This is a great analogy but I worry you might be implying something I don't agree with but you didn't explicitly say what I'm worried about, so let me call it out:

Microsoft played a dirty game with I.E, but they are in the dirty game business. It wasn't only I.E, it was their OS, Office suite and everything else they do business in.

Google Chrome took advantage of that dirty game and now you have the Chromium engine that powers a lot of browserlike frameworks.

No one born in the LLM age even knows what I.E means or stands for, as it should be - a horribly designed, poorly working product foisted upon users via the Windows distribution system - a dishonorable product from an ethically corrupt company forever lost in history, right alongside Clippy and DCOM.

OTOH, I am glad that Microsoft played a dirty game with I.E and didn't just stop playing dirty there - they jacked up the price of Windows if an OEM even dared to bundle in Netscape Navigator instead - who knows, if they hadn't done that, there wouldn't have been a Google or Apple. We would all be using Windows and Windows Search and Windows Phone.

And without Google, we might not have had the modern LLM as we know it. We would have had some trashy Windows Autocomplete Copilot Clippy. Ugh!

subhobroto··on Grok 4.5
> this doesn’t make sense to me

My hypothesis is that all the top providers realize that, lacking vendor lock in, all SOTA models in a year or so's time will be similar in capability. Also, open weights models are continuing to catch up in a year's time, sometimes less.

So they are trying to lure you in with differentiating, superior capabilities into their proprietary, non-open, non-standard agent harness.

It's the Hotel California playbook: These amazing capabilities are to attract you like moths to a flame and keep you warm and alive around the flame but waterboard and shock you if you attempt to move away from it. Like AWS Egress charges.

subhobroto··on Grok 4.5
What would have been fantastic is if Cursor offered Grok 4.5 in the same usage tier as "Auto + Composer", than provide it as "double usage until July 12" under the API tier (which is what they're doing right now).

EDIT: After looking at my own usage stats - I stand corrected! It is under the "Auto + Composer" tier - brilliant!

subhobroto··on Grok 4.5
I think we need to be explicit about the domains we're applying Composer 2.5 to in these discussions.

I mentioned here (https://news.ycombinator.com/item?id=48766275) how poorly it handles my specific use cases. My coworkers in DevOps and frontend UI swear by its cost-effectiveness, whereas I strongly prefer the reasoning capabilities of Opus 4.8 and Fable 5.

Composer 2.5 seems to be SOTA for Helm charts and React/Vue, but, for my usecases it absolutely struggles spectacularly when tasked with rigid body dynamics or kinematic logic.

subhobroto··on Show HN: Mail Memories – A desktop app to rescue photos from Gmail
Are you in the U.S.? Which state?

You're trying to establish a chain of custody here. The only person who remotely cares about the forensic integrity of the message is the judge (and the jury if it's a jury trial) and it seems like an argument you would like to make is "this email came from Google's servers so we didn't tamper with it" - but the judge won't take your word for it, you will need Google to substantiate that and they won't unless it's a workspace account.

If it's a workspace account, then your org already has a retention policy.

So again, what problem are you trying to solve and in which jurisdiction?

subhobroto··on Show HN: Mail Memories – A desktop app to rescue photos from Gmail
> Indeed. And re the image fingerprinting, it just checks the file names of "message parts", not content-type or content-disposition (even though imapflow exposes those)

Thank You for the explanation. This sheds some light on why the OP kept saying this tool works only on GMail while also saying this is IMAP based. An IMAP solution should be mostly provider agnostic but because of all of this GMail filter business, it's not.

subhobroto··on Show HN: Mail Memories – A desktop app to rescue photos from Gmail
I was monitoring this thread because of the comments. Unsure how I came across this post to begin with! (was it on the FP?)

You really handled all the feedback well and if you wouldn't mind answering (email works too), I had some followups:

1. Did you get a boost in sales from this post?

2. What's your typical customer like and do they email you questions/support?

3. If you had provided this as a hosted service and continued to use IMAP, would you have had to ask for the user's GMail password?

4. I see you had toyed with the idea of $5/yr - why did you withdraw it and go $30 flat rate?

5. Any idea how many customers you're leaving on the table with the $30 flat rate that would have converted at a lower price?

6. Did HN throttle your ability to respond to comments ("slow down...") during this episode?

I learned a lot from your thread - Thank You for keeping up with it

subhobroto··on Show HN: Mail Memories – A desktop app to rescue photos from Gmail
The details are interesting! How did you find all of this out? Did you download the tool in a VM and disasm it?

I assumed the OP was literally making throttled, batched, parallel IMAP FETCH calls with the BODYSTRUCTURE parameter to the mailbox, inspecting the `Content-Type` and/or `Content-Disposition` for image fingerprints and then grabbing the real payload.

However, from what you said here, it's a bit less sophisticated than that?

subhobroto··on Show HN: Mail Memories – A desktop app to rescue photos from Gmail
Watching this thread unfold over 24h was illuminating.

The biggest pushback seemed to be the price: people are upset it's priced at $30. Some suggested $3. A few suggested open sourcing it under MIT and moving on.

The primary argument was that there are already existing, free tools that can be chained together to do exactly what Mail Memories does. The secondary argument was that LLMs can already code this up, implying the OP was rentseeking.

IMHO, this comment (now dead) from the OP was on point and ironic:

> My target audience isn't engineers who know how to parse maildirs, it's everyday people (and busy devs) who just want a secure, 1-click interface that downloads their family photos into a folder on their computer (without touching a terminal).

This is entirely true - this thread is strong indication that this tool wasn't appreciated by the HN crowd (lots of engineers and technical people)! I noticed most of OP's comment went gray and then dead in a matter of minutes. The OP must have had a real hard time even responding to comments before HN throttled them from responding, asking them to "slow down".

But this raises a question - what if I one-shot something that my non-technical parents and family members would find incredibly valuable and so I'm hoping yours does as well? If an LLM could absolutely one shot it, perfectly, should I never post it on HN at all, in fear of the wrath that would be unleashed?

Anyone here can slap together a breakfast sandwich for ~$3 in ingredients. Is it blasphemy that you can't buy the same from a McDonald's or your neighborhood Deli for less than $15?

subhobroto··on CursorBench 3.1
> it tends to leave big, dangerous holes hiding inside implementations unless babied

it's fascinating that I used these same exact words to express my distaste for Composer and my preference for Opus. I suspect, the domains and problems we are trying to solve need to be shared. I wrote about it here: https://news.ycombinator.com/item?id=48766275

Would love to reach out to discuss more, if you're ok with it, or absolutely feel free to do the same as my email's in the profile like yours!

subhobroto··on CursorBench 3.1
True - I wrote my own comment here - https://news.ycombinator.com/item?id=48766275

Didn't notice yours until now.

subhobroto··on CursorBench 3.1
I'm not disputing what you're saying. The slowness of Opus in particular is pretty accurate but you should have been getting little popups in Cursor saying Opus is under load and to try switching to other models?

I mentioned my frustration with Composer in another thread and why I rely on Opus, but Opus, atleast via Cursor is practically unusable for me M-F 9-5 EST. As a result, I have modified my working schedule outside those hours when I use Opus. On weekends and nights, Opus via Cursor is at the same speed as Composer but vastly superior quality where it's not even comparable.

Composer is not 20% worse than Opus for me. Composer hands me a quickly put together college project that was started the night before it was due. Opus hands me a actual production ready deliverable that I can defend if I was sued in court.

subhobroto··on CursorBench 3.1
> Cursor's benchmark finds that Cursor's model (Composer 2.5) is basically as good as Opus 4.8 max and GPT-5.5 xhigh, but at a fraction of the price.

Your skepticism is well-founded IMHO. I have found that if you are one-shotting a Django/Next CRUD app, a typical React/Vue UI, shell scripts or GitHub Actions, Composer 2.5 is fantastic!

But for anything outside the median of the last decade's web development - like free-body physics, kinematics, or optimization - Composer is horribly unpredictable.

That's what makes it _dangerous_ IMHO.

It isn't universally trash! Rather, it confidently makes subtle, incorrect assumptions. It will hallucinate formulas that don't appear in your specification and design docs. Then write tests that pass it.

It inserts tiny footguns that require you to scrutinize every single token it generates. At that point, I would rather be coding by hand.

Opus 4.8 max, on the other hand, refuses to guess, atleast the way I have set it up. If there's any ambiguity about the implementation or how tests should be written, it stops and asks me for clarification. I actually trust the output without worrying about hidden disasters and ticking timebombs. I can confidently review the test suite, add a few edge cases on my own, spot check the code and be comfortable knowing there are no disastrous footguns lurking in the shadows only to come out in the darkness of production deployments.

Let me repeat - Opus 4.8 max stops and asks me for clarification. It writes the tests I would have written. It writes tests that fail, exposing gaps and errors, that then allows me to iterate.

Composer 2.5 OTOH will run with whatever it decides I meant and write something that steals productivity, not add to it.

Same harness (Cursor), same rules, same prompts, vastly different outcomes!

Yes, Opus is far more expensive, but it's worth it for the time saved on review and refactors, which are our current blockers.

The real friction is that Cursor's marketing is so aggressive that the people paying the bills look at my Opus usage and demand to know why I'm not using the cheaper alternative!

It's an impossible argument to win when the rest of the company's devs are happily building standard web apps on Composer without issue, blissfully unaware of how the model not only falls apart but is just unreliable on harder engineering problems.

Fable 5 is on a league on its own. If history in the LLM space is any predictor of the future, in ~6 months (Q1 2027) we should have open weight models that are competitive with Fable 5. Without considering what it will take to run such a thing, I would be extremely excited to have open access to such a capability. Great times ahead!

subhobroto··on Show HN: Mail Memories – A desktop app to rescue photos from Gmail
I have not used Windows for decades. With that context:

> For $30 you should sign your binary so you don't have a UAC popup.

How much does it cost to be able to sign a binary so you can deploy it on Windows without a UAC popup? How arduous is it?

> Also is it not doable with Google takeout ( with Gmail )?

It sure is. You do a takeout and iterate over the compressed mbox looking for media attachments. Then you write them out. The edge cases, and the actual value is ensuring you properly grab all the media dispositions.

I also have emails from people who like to zip up a bunch of pictures and then email them to me - my own script takes care of this detail but I wonder if most other tools, including this one does.

subhobroto··on Show HN: Mail Memories – A desktop app to rescue photos from Gmail
That's what they used to do: https://news.ycombinator.com/item?id=48708270

The OP had posted a detailed reply here as well, that they since deleted - I think because they didn't want to deal with all the pushback here.

subhobroto··on Show HN: Mail Memories – A desktop app to rescue photos from Gmail
> Like, I just one-shot a script that does the same with Claude, after it listed 5 free projects that do the same, including one GUI. The whole thing took less time than writing this comment.

I'm assuming the author put in the effort to validate their program handles all kinds of pictures. With that assumption:

- how did *you* validate the one-shot script that Claude handed you works correctly?

- after all said and done, and getting it to work correctly, did you end up spending atleast $30 in time, effort and money?

I am curious how coding agents would affect the future of "micro apps" - apps/scripts that do one thing and just one thing very well.

subhobroto··on Get your passwords out of Bitwarden while you still can
I'm a huge fan of AliasVault https://github.com/aliasvault/aliasvault - the author is responsive, receptive. The whole ecosystem is opensource.

Bitwarden/Vaultwarden had a good run but if someone's going to self-host Vaultwarden, I would encourage people to look into AliasVault instead. It's a complete opensource ecosystem.

subhobroto··on Get your passwords out of Bitwarden while you still can
Vaultwarden is a very lean implementation of Bitwarden but if you want to look into an alternative to the Bitwarden ecosystem, I recommend - AliasVault https://github.com/aliasvault/aliasvault - check it out!
subhobroto··on Claude Account Suspended Seconds After Purchase?
It seems Anthropic has taken an aggressive stance on their buffet, flat rate plans being used in any tool not created by them, where they immediately ban such accounts.

I believe they still allow API usage in this manner though.

In this case, the OP attempted to use Zed with Anthropic's $20/mo plan and was banned immediately. I imagine if they had went the API usage route, this wouldn't have transpired.

Surprisingly, I wonder if this will push more people to use Cursor because they allow you to use a variety of models, including SOTA. That, or manage your own API key subscriptions with a middleware like LiteLLM that also monitors usage so that your coding frenzy doesn't turn into a $20k bill. Or maybe OpenRouter where you manually top up the account.

subhobroto··on PyInfra 3.8.0
IMHO PyInfra and Pulumi are complementary.

You can substitute Pulumi for Terraform, PyInfra for Ansible and google for sample projects that use Terraform and Ansible to get a good idea of their strengths and how they come together.

Then, you take that understanding and you realize using PyInfra and Pulumi, you can do all of that in just Python, using all of Python's rich ecosystem.

subhobroto··on White House Considers Vetting A.I. Models Before They Are Released
> even EU politicians are beginning to see that they've over regulated their tech industry so much that it can't compete

Yes, it feels a bit weird to me that the HN crowd is a fan of regulation although much of the crowd works in the least regulated profession.

Maybe we need to have regulation that puts an automatic expiration on regulation and there's no way to bypass that. Existing regulation nearing expiration can only be extended by a democratic voting process. Just the burden of handling this should naturally filter out regulation that's unpopular or no longer relevant.

subhobroto··on PyInfra 3.8.0 Is Out
Nick, Yes Indeed! I sent you a fanmail Sun, Aug 3, 2025, 11:06 AM PST to your n..fizzadar.com email.

If you're reading this, I'll indulge and reask you the two questions:

- question 1: There's clearly a demand for a "Python as a DSL" for infrastructure projects - CDKTF/Python, CDK/Python, Pulumi, cdk8s etc are very popular. I would have imagined pyinfra to be way more popular and ubiquitous than it really is! Do you have thoughts on why pyinfra isn't more popular? How do people typically discover pyinfra? I would imagine any Python dev would intuitively grab pyinfra over Ansible?

- question 2: Do you have any thoughts about cdk8s? As you know well, Kubernetes has similar YAML "hell," and as someone who spends significant resources on pyinfra, I would guess you have given something like cdk8s thought?

I'm happy to engage either over email or here, don't have a preference.

Again, Thank You for building and sharing pyInfra.

subhobroto··on DAG Workflow Engine
Hi Felipe! Just point your agent at https://docs.dbos.dev/python/prompting and give it a go - you can really play around with it as much as you want and solve real problems you care about than me lecturing you about it :)

That said, DBOS really makes durable workflows accessible and approachable. Having already used Temporal, I think you're really appreciate how quickly you can get started with DBOS. I forget if they support SQLite but if you have a PostgreSQL server set up, you really don't need anything else to write your first few DBOS durable workflows (vs. needing a Temporal server or cluster)

Let me know if I got you interested to try it out. I first learned about Temporal from Mitchell Hashimoto as they were using it for Hashicorp Cloud. Eventually I discovered DBOS and now all my personal projects are on DBOS.

subhobroto··on DAG Workflow Engine
This is a good exercise but IMHO, when you really start using a workflow for production usecases, you need a a proper, turing-complete programming language as a DSL.

There used to be a project called Benthos (since acquired and rebranded by Redpanda in 2024) that was amazing, that you might want to gain some inspiration from.

However, durable workflows have also gained popular acceptance as functional design reaches a wider audience.

While Temporal is the most popular choice when it comes to durable workflows, DBOS (cofounded by the father of PostgreSQL) is my personal favorite.

At the moment, orchestration in DBOS has certain gaps - you might very well consider spending your effort on closing those gaps. The value there would be phenomenal!

subhobroto··on Removable batteries in smartphones will be mandatory in the EU starting in 2027
Good points, but from a chemistry perspective, fast charging is detrimental to the battery. It would be more efficient to have two or three batteries standard charged to 70% that you can swap in as you go than have one that you need to repeatedly fast charge.

I argue that easier they make for user to swap batteries themselves, higher the demand for the batteries will be, thus lower their price.

> The needed mechanism and the protective shell the replaceable battery needs definitely takes up space

This is true

> The real problem I think is the hostility towards repair, glue everywhere, no spare parts, etc.

I think when a manufacturer isn't designing to allow a regular customer (the owner) to be able to replace the battery themselves, using glue and restricting spare parts is a natural consequence of financial realities: Most people are not going to take a $500 phone that has been used a few years to a shop that will need to charge $100+ in just labor to swap out a battery. So there's no incentive to have a bunch of spare batteries.

I'm a huge fan of user replaceable batteries because in addition of obvious benefits, you can also just remove the battery and power it simply off USB-C when running something heavy on the phone for extended periods of time. A battery used in that scenario wouldn't just overheat itself but stop the phone from cooling off too.

subhobroto··on Removable batteries in smartphones will be mandatory in the EU starting in 2027
I'm not a fan of regulation in general but over the last decade it has been extremely frustrating with the removal of replaceable SD cards and batteries from Androids.

I never put my phones in my back pocket nor do I wear butt hugging leggings, so having a thick phone stick out my ass and make it look bad isn't on my list of worries. I end up purchasing thick waterproof cases for these slim phones anyways.

What's most confusing is the premium phones lack replaceable SD cards and batteries - it's like they are trying to take the worst ideas from the Apple ecosystem and simply don't understand why some people use Androids.

Surprisingly, it's the cheaper models that carry replaceable SD cards and batteries - I would have imagined the opposite!

I often go on trips and hikes with poor cellular coverage and having some SD cards with useful information or being able to swap them out as the camera gets full is really helpful. Attaching drives over the USB port isn't really practical.

When I do have cellular coverage, I might have to rapidly download a LOT of data, which overheats the phone and discharges the battery. With a replaceable battery, this isn't even an issue.

The benefits of replaceable batteries cannot be overstated when you're not on the grid or take great care of the phone where they last more than a few years. I can have a few batteries charged, during the day using solar that I can then just swap them in as evening sets in, instead of having to plug the phone into a powerbank and pray it doesn't shut off as I keep using it.

subhobroto··on PyInfra 3.8.0
It's amazing to see more contributors!

TBH, I was worried a few years ago that there was basically just one (original) contributor. This now gives me added trust that I'm taking the right decision to lean heavily into it.

I hope more people start using pyInfra.

Thank You for your contribution and attention!

subhobroto··on PyInfra 3.8.0
Congrats on shipping 3.8.0!

If you're a software engineer who wants to setup and maintain infrastructure, give PyInfra and Pulumi a go!

Huge fan of PyInfra. For my homelab, I use Pulumi with Python and PyInfra to build fully declarative intent based infrastructure. You can use actual software engineering principles like composition, inheritance, DI to setup and wire your infrastructure and services. One of the benefits of this is your infrastructure and services are now self documenting (have them write out a mermaid diagram!) and easily testable using pytest (from cheap unit tests to extensive integration tests (I use Incus)).

Instead of Pulumi, I originally used Terraform CDK with Python before CDK got IBM'd. The migration to Pulumi was refreshingly painless. My original reason for not choosing Pulumi was the crippled state of the open source, self hosted backend support a decade ago but it looks like that is now way more mature and less crippled.

PyInfra is a breath of fresh air compared to Ansible - its not just fast, it's more Pythonic, so IDE features actually work, readable, maintainable, debuggable. I call it infrastructure for software engineers.

If anyone wants to use an AI agent to try out PyInfra - One issue I've faced is that PyInfra was rearchitected in v2 (and some more in v3?) but what belongs in v1 vs v2 vs v3 isn't very clear, so an AI agent could spend a lot of time writing v1 code, having it fail and iterate to v2 and then to v3.

The official site uses the version in the URL as the namespace but it seems like the SOTA AI agents don't pay much attention to that.

Maybe writing a llms.txt for PyInfra v2, or v3 would be an extremely useful task to help with onboarding newcomers?

---

The original post by the OP https://news.ycombinator.com/user?id=wowi42:

Disclosure: PyInfra core contributor here. We just shipped 3.8.0.

PyInfra is an agentless infrastructure automation tool. Same job description as Ansible, Salt, Chef. SSH into hosts, describe desired state, it diffs and converges. No agent, no central server, no daemon.

The difference: your "playbook" is just Python. Not Python cosplaying as YAML. Not Jinja smuggled inside YAML inside a Helm chart inside a Kustomize overlay. Actual Python:

    from pyinfra.operations import apt, files, server

    apt.packages(packages=["nginx"], update=True)
    files.template(src="nginx.conf.j2", dest="/etc/nginx/nginx.conf")
    server.service(service="nginx", running=True, enabled=True)
Idempotent operations. Facts gathered from hosts, branched on with normal `if` statements. Real loops, real imports, a real debugger, real type hints. Your editor autocompletes arguments because, brace yourself, they are just function signatures. About YAML. Wonderful format. For about eleven minutes. Then someone needs an `if`, and you have `{% if %}` inside a string inside a list inside a map. Then someone types `no` as a country code for Norway and it ships to prod as `False`. Then someone indents with a tab and the parser dies without saying where. Congratulations, you reinvented a programming language. Badly. The honest move is to admit you wanted code, then write code.

PyInfra skips the eleven good minutes and goes straight to code.

Release notes in the link. Happy to answer questions.

Infrastructure as Code, not infrastructure as YAML.

subhobroto··on Does Postgres Scale?
> On the whole, in fact, it looks like all of the combined advice clear this hurdle up so much that we can no longer say we observe Postgres having an actual problem dealing with our current volumes and intensity of ingestion.

I am extremely happy for you!

This is fantastic news. I would really appreciate a followup post on DB SE and/or PostgreSQL ML because I assure you, there are others in your position. A deeply nested HN thread is not something that will be visible - you would be saving a lot of people heartburn.

Also remember, we just got started! The tips I gave you earlier is just a drop i the bucket. In the days of AWS RDS, knowledge about these are a "lost art" but running PostgreSQL yourself is extremely empowering. If you could make the posts, please do and I also urge you to test out https://github.com/pgsty/pigsty

subhobroto··on I Do Not Recommend Bitwarden
Vaultwarden is a very lean implementation of Bitwarden but if you want to look into an alternative to the Bitwarden ecosystem, I recommend - AliasVault https://github.com/aliasvault/aliasvault - check it out!
← PreviousPage 2 of 16Next →