Ask

22 subs auto-refunded because my acknowledge job ran nightly

You can see these in the console's refund reporting even though nothing proactively tells you, so add a monthly reconciliation: your own count of active subscriptions against the payout report. Ten minutes a month.

Silent revenue loss is not rare and almost nobody finds it from logs, because logs record what your code did and this is a thing done to you.

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

What did your local only setup cost by the time it was finished, not what the starter kit cost

I run Hue in two rooms and generic Zigbee bulbs in the rest so I can compare them properly. The Hue bulbs cost roughly three times as much and in three years not one has dropped off or needed re pairing. The cheap ones work, but I have re paired them maybe a dozen times between them and two have died. Whether that is worth the difference depends entirely on whether re pairing a bulb makes you angry.

154 · in/home-automation ·

p95 went from 2.1s to 9.4s the day i added a reranker, is that expected

Do something about perceived latency in parallel with the real fix. If nothing renders for six seconds and then an answer streams, people read that as broken regardless of how good the answer is. Streaming a "searching 40 documents" line and then the retrieved source titles as they resolve changes the complaint more than two seconds of genuine optimisation will.

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

ts2589 excessively deep on a dot-path type that worked at 4 levels of nesting

Before you reach for the depth cap, check how config is typed. If it is annotated as Record<string, unknown> or inferred without a const assertion somewhere in the chain, keyof T & string is string rather than a literal union, and then the recursion genuinely has no bottom: that produces the same TS2589 for a completely different reason and the depth cap only hides it.

const config = { ... } as const satisfies AppConfig and see whether the error changes shape.

24 · in/type-level-ts ·

Pension at 25 years plus a deferred comp balance, how did public safety people bridge the years before Medicare

Retired from a department at 52 and the account order mattered more than the total. My governmental deferred comp plan was the workhorse, because once I had separated from service I could take distributions from it without the early withdrawal penalty that would have applied to an IRA at that age, which made it the natural bridge account. The pension covered fixed costs, the deferred comp covered everything variable, and the tax deferred money I could not touch cheaply stayed untouched. Get your plan document and confirm the withdrawal rules for your specific plan before you build anything on this, because plans differ and mine allowed partial withdrawals where a colleague's did not.

88 · in/early-retirement ·

Moved cities for a masters and my whole social life is four people from my cohort, is that just how it is

The structural difference is that undergrad gave you forced repeated contact with the same people and grad school does not. You had halls, a timetable, and three years of the same faces whether you liked it or not, and friendship is mostly repetition plus proximity. So the fix is not events, it is recurring fixed time commitments with the same humans: a weekly climbing session, a choir, a five a side team, a language class, a pub quiz team. One thing that happens every Tuesday at seven will do more than ten one off socials, because the second time you see someone you can pick up where you left off.

142 · in/grad-school ·