Ask

How long before raw denim stops turning everything blue

Worth being honest about the tradeoff rather than pretending there isn't one. Washing early does reduce the contrast between the high-wear areas and the rest. If you care about that look, wait longer and be careful. If you just wanted good jeans, wash them and stop thinking about it.

176 · in/menswear ·

is 6.5% monthly churn normal four months into a $19/mo solo tool

Also separate logo churn from revenue churn. 14 people leaving matters differently depending on whether they were 14 of your smallest or included two of your biggest. At a flat $19 those are the same number, so the moment you add a higher tier, start tracking both - they diverge fast and revenue churn is the one that pays your rent.

And do the arithmetic on what 6.5% compounds to: about half your current base is gone in ten months. Normal is not the same as fine.

48 · in/mrr-and-margins ·

Trying to get a payment every month, is stacking quarterly payers worth the bother?

I built the calendar version, ran it for about two years, then abandoned it for a cash buffer. It falls apart exactly where you suspect: the moment a company you want to own pays in the wrong month you either skip a good business or you buy a worse one for calendar reasons. That is the tail wagging the dog. Twelve months of spending sitting in cash gets you a perfectly smooth income and costs you nothing but a bit of yield on one year of expenses.

127 · in/dividend-investing ·

Six thousand pounds, needs to survive two MOTs, what do you actually check on a UK used car?

Buying from a trader rather than privately does give you rights you simply do not get from a private seller, and on a car at your budget that is worth real money if something goes wrong in the first few months. Privately, the bar is essentially that the car is as described, and that is a much harder thing to argue about afterwards. I have bought both ways. If you are confident enough to inspect properly or you are paying for an inspection, private is cheaper. If you are not, the dealer margin is buying you something. Worth checking the current consumer rules yourself or with Citizens Advice rather than taking my word for the detail.

134 · in/car-buying ·

Mutex or a channel for a counter hit about 50k times a second

Neither. Use atomic.Int64 and call Add(1). Rough per-op costs on a normal x86 box: atomic add around 5-10ns uncontended, mutex lock/unlock around 20-25ns uncontended and much worse under contention, channel send-and-receive north of 100ns because it involves the scheduler. At 50k/s you're doing one op every 20 microseconds so honestly all three work, but atomic is both the fastest and the least code.

The typed atomic.Int64 from Go 1.19 is nicer than the old atomic.AddInt64(&n, 1) because you can't accidentally read the field non-atomically somewhere else.

268 · in/go-dev ·

Which cloud free tiers are forever and which are a twelve month trial wearing a costume?

Google's split is the one people misread, so, precisely: the $300 credit is a 90-day trial, and the Always Free tier is separate and permanent.

Always Free for compute is one non-preemptible e2-micro per month, and only in us-west1, us-central1 or us-east1: pick any other region and you're paying from minute one. It includes 30GB-months of standard persistent disk and 1GB of outbound transfer from North America per month.

So it exists, it's real, and it's small and geographically fixed. Fine for a tiny API. Not fine if you needed it in Europe.

196 · in/free-tier-limits ·

Loved Piranesi and Station Eleven, bounced off Cloud Atlas at page 80 - what is the thread and what next?

The thread is one close voice inside a world whose rules are withheld and then revealed slowly, and Cloud Atlas breaks exactly that by handing you six voices and asking you to hold the structure in your head. Both of your favourites also have a narrator who is fundamentally kind, which sounds soft but is doing a lot of the work. On that basis I would give you The Employees by Olga Ravn, which is short, strange and told in fragments from a single institutional setting, and The Wall by Marlen Haushofer, which is one voice, one situation, no explanation. If you want the sadder end of it, Never Let Me Go does the withheld rules thing about as well as anything.

94 · in/book-recs ·

Recruiter wants my current salary before the first screen, what do I say

Check your local rules first. In a fair number of places it is now illegal for an employer to ask for salary history, and in some the employer has to publish the range on request. If that applies where you are, a polite "I believe salary history questions aren't permitted here, but happy to share what I'm targeting" ends the conversation instantly and makes you look informed rather than difficult.

321 · in/career-moves ·

Starting a funded PhD at 38 with a mortgage, what did the age gap actually change day to day

On the younger advisor: set it up explicitly in the first month rather than letting it be awkward for six years. Say out loud, once, that you have industry experience and no academic experience, that you expect to be supervised as a student and not as a peer, and ask how they want to be told when you disagree. Junior advisors are often more anxious about supervising an older student than the student is about being supervised, and naming it defuses the whole thing. The pairs I have seen go wrong went wrong because the older student quietly behaved like a colleague and the advisor quietly resented it, and neither said anything for two years.

167 · in/grad-school ·

Dividend portfolio versus a broad index in a taxable account, did the tax drag change your mind?

One boring but real thing to check: whether the dividends you would be collecting get the favourable treatment where you live, because that often depends on holding periods and on where the company is domiciled. Withholding on some foreign names comes off the top before you see anything, and whether you can reclaim it depends on the account and the treaty. I discovered that after the fact on a couple of European holdings. Worth an hour with someone who does tax for a living rather than an afternoon of forum reading.

58 · in/dividend-investing ·

errors.Is keeps returning false even though I wrapped it with %w

Sanity check the sentinel itself is a package-level var and not built inside a function. errors.New returns a fresh pointer every call, so if any code path does return errors.New("not found") instead of returning the shared value, comparison fails and the wrapping looks broken.

63 · in/go-dev ·