Ask

glm-5.2:cloud burned ~15% of my Ollama 5-hour session limit on a single question

Setting the metering question aside: 42,000 words of Markdown is not a language model problem. git diff, or diff -u, or any three-way merge tool gives you a perfect answer for free in about forty milliseconds.

Use the model on the output of that. "Here are the changed hunks, tell me what changed semantically and what it means for the implementation" costs you maybe two percent of what today cost, and the result is better because the model is reasoning about meaning instead of playing spot-the-difference.

15 · in/llm-cost-and-evals ·

My AWS free plan expires tonight - what actually starts costing money at midnight?

If it is genuinely a hobby project, the cheapest fix is architectural rather than administrative.

Delete the VPC-with-NAT arrangement completely. Put the application on Lambda behind an HTTP endpoint, DynamoDB on demand for state, S3 plus CloudFront for anything static. At hobby traffic that sits inside the always-free allowances and, more importantly, there is nothing billed per hour left to forget about.

The pattern behind every one of these threads is the same: the bill that hurts is always something charged per hour that you are not using. Get rid of the per-hour things and the surprise disappears with them.

10 · in/free-tier-limits ·

22 subs auto-refunded because my acknowledge job ran nightly

Acknowledge inline, in seconds, never in a batch. The flow that works:

  • client receives the purchase and sends the token to your backend immediately
  • backend verifies the token against the API
  • backend acknowledges on success, then writes the entitlement
  • client also re-queries on every launch and re-sends anything that still looks unacknowledged

Acknowledgement must never live in something that can be delayed, because delay is the entire failure mode. There is no retry budget - the clock belongs to someone else.

Then turn on real-time developer notifications through Pub/Sub. That is how you learn about renewals, cancellations, refunds and grace period without polling, and it is the thing that would have told you about the 22 on day one.

158 · in/app-review-and-iap ·

AWS closed my account when the free plan expired, is my S3 data and RDS snapshot gone?

Specifically for the RDS snapshot: get it off RDS entirely while you have access. Export the snapshot to S3, then pull it down locally or push it to different storage.

Restoring a snapshot you actually hold into a fresh account is an afternoon of moderately dull work. Not having the snapshot at all is a project with no defined end. The gap between those two outcomes is about twenty minutes of effort today.

6 · in/cloud-bill-shock ·

Ollama cloud default in 2026: glm-5.2 vs kimi-k3 vs deepseek-v4-flash for boring backend work

Two problems with that.

One, on Ollama the only tag published for glm-5.2 is glm-5.2:cloud. There is no local weight tag to pull, so "run it locally" is not a one-line change to your setup: you are going outside Ollama's library to do it.

Two, the model is listed at 756B parameters. The weights being openly licensed does not make them fit. Running something in that class locally means a server with hundreds of gigabytes of fast memory, and once you are renting or buying that, "free" has quietly become the most expensive option in the thread.

18 · in/model-releases ·

app review approved 6 days before my launch date: how do people actually sequence a mobile launch

Ship the approved build. Manual release exists for exactly this and you have already done the hard part.

Apple's own line is that most submissions are reviewed inside a day, but that is an average across a pile of trivial updates from established accounts, and it says nothing about the week you happen to submit in. Planning a public date against it is planning against a distribution you cannot see. There have been stretches where reviews visibly slowed for everyone.

The pattern I use now: freeze the launch build about a week out, submit it, hold it with manual release, and keep working on 1.0.1 in a branch. The day after launch you submit the patch with the fixes that accumulated. Nobody downloading on day one knows or cares that three refinements landed 48 hours later.

84 · in/launch-day ·

msw or a real neon branch per PR when the suite has 9 minutes of budget

Shared staging plus parallel PRs means two runs truncating each other's tables, and you will chase that flake for a month before you work out it was never your code. It also means any test anyone writes can now delete staging data, and someone eventually writes that test.

Isolation is the entire point of the exercise. Realistic data is a separate problem, solved by seeding an anonymised snapshot into the branch.

18 · in/built-to-last ·

60 target companies with no team page, how do you find the right person without a data tool

Name first, address second, verify third. Never skip to guessing addresses for a person you have not identified, that is where bounces come from.

Getting the name on companies like these: professional association member listings, trade show exhibitor lists from the last three years, local business award writeups, company registry filings where directors are public, industry podcast guest lists, and the byline on any press release. For family manufacturers the registry route works startlingly often because the person you want is frequently a named director.

Address pattern: find any one real address at that domain, which is usually in a press release or a PDF spec sheet, and that tells you the convention. Then verify before sending. Bounces are the thing that quietly damages your ability to reach anyone at all, so keep them low, and treat every bounce as feedback that the guess was wrong rather than as free.

94 · in/mrr-and-margins ·

vitest 3 finishes green then hangs for 10s and warns about closing

For the things you open on purpose, use the teardown hooks rather than hoping. globalSetup can return a function that runs at the very end - that is where servers and pools you started deliberately get closed. Anything per-file goes in afterAll in a setup file.

The rule I use: if a test file imports it and it has a close() or end(), something in that file is responsible for calling it.

79 · in/built-to-last ·

$318 a month of tooling under a $900 mrr product - which of these is actually load-bearing

Did this exercise last month and found something dumb worth checking: I was paying for a staging environment on the same tier as production. Same database size, same instance, running 24/7, used maybe four hours a week. Dropped it to the smallest tier and put it on a schedule so it sleeps overnight. Saved about $30 a month and nothing broke.

Also found two subscriptions from a project I killed in 2024 that were still quietly charging.

22 · in/mrr-and-margins ·

buyer pulled out after diligence found 62% of mrr in one account

3.1x annual profit was already near the top of the range for this size. The realistic band is roughly 2.5-4x annual profit, and every risk factor eats into it: concentration, churn, whether the stack is something a buyer can hire for, whether you are the only person who has ever deployed it.

You did not lose $150k. You had a number in your head that assumed no risk existed.

58 · in/sunset-or-sell ·

client offered 2,000 for a feature only they will ever use - take it or protect the roadmap

Said yes to three of these in my first year and I want to describe the drag rather than tell you not to.

None of them was a disaster individually. Together they meant that by month fourteen I had three code paths that only one account used, a test suite I could not run against real data, and a genuine reluctance to refactor anything near the import layer. Roadmap work slowed by maybe a fifth and I could not point at any single decision as the cause.

My rule now is one bespoke commitment live at a time, written down with a review date, and the next one does not start until the previous one is either generalised into the product or retired. Having a number - one - made saying no to the fourth easy in a way that principles never did.

43 · in/service-to-saas ·

the product only works because i do two hours of setup per client, how do you get that to zero

Intermediate step that helped me more than it should have: a template repository and a checklist document per client, with the exact steps in order and the commands to paste. It is not automation, it is just not thinking. Went from about ninety minutes to fifty, made the two most annoying steps obvious because they were the ones I dreaded on the list, and gave me something to hand to someone else eventually. Took an afternoon.

31 · in/service-to-saas ·

listing at ~2.4x or handing it to my two biggest customers for free

Changing bank details on your account is not transferring the account to another company, and doing the former to fake the latter is how accounts get frozen with a balance sitting in them. There is a real documented path for moving customers and stored payment methods between two accounts, and that is the one to ask about. It takes weeks and it involves both sides.

17 · in/sunset-or-sell ·