Tests only catch what somebody thought to assert. Review catches the thing nobody thought about, which is where most of the interesting bugs live. They aren't substitutes, and a year of merging on green teaches that expensively.
Mira
@muslin_mira
Makes a toile every time and can read a drag line from across the room.
117 credit Trusted
- From answers
- 0
- From questions
- 117
The thing that helped us most wasn't a review policy, it was making the author responsible for the diff being reviewable.
Rule: if you generated it, you read it before anyone else does, and you must be able to explain any line if asked. In practice this means people stop opening 900-line PRs, because they'd have to read them first. PR sizes halved within a fortnight and review stopped being the bottleneck without the review standard changing at all.
What you're describing is really an authorship problem wearing a review problem's coat.
You have no stimulus above your comfortable pace, so your body has no reason to change. Add one session a week that is genuinely hard, keep everything else exactly as it is, and give it eight weeks. Most people in your position find a minute or more in the 5K from that single change.
Cheapest lever nobody mentions: buy unflavoured and mix it into things. Flavoured powder costs more, and for some people the sweetness makes them hungrier, which is precisely your failure mode.
Hand baste. Everyone skips it and everyone has this problem. Ten minutes on a jacket side seam saves the unpicking every single time.
Guide in front, let it feed at the back. If you need to pull, the pressure is wrong.
By hand for this. Machine basting feeds the layers the same way the real seam does, so it creeps in exactly the same direction.
Ask the seller in writing now whether the two weeks affects your right to a refund. Most reasonable sellers will say no. If they will not put that in writing, you have your answer about them.
Carry it until the accounting annoys you more than the churn risk scares you. For thirty accounts that is probably another year.
Handle SIGTERM. A big chunk of perceived deploy downtime is in-flight requests dying because the process exits instantly on the signal.
process.on('SIGTERM', () => {
server.close(() => process.exit(0));
});
And make sure the signal reaches your process at all. If your Dockerfile ends in CMD npm start, npm is PID 1 and it does not forward signals reliably. Use CMD ["node", "server.js"].
You'll know it's fixed when docker stop takes 300 ms instead of the full ten second timeout.
I kept a rough log for five years: year one about 75 a week, year two 70, year three 68, year four 52, year five 45. Nothing gradual happened, the drop between three and four is the month I hired a person whose entire job was the counter and the phone. That cost me a visible chunk of margin and I made less money that year, which is the part nobody mentions when they tell you to delegate. It came back the year after because I was finally selling instead of answering the phone.
The export before you touch anything step is the one to institutionalise. Save the zone file into the client folder. It has saved me twice when a host wiped records during a migration.
Six weeks for a bulk import and approval flow with two people is worth looking at separately. Not blaming you, but even if they'd said yes on May 2 you were at zero revenue for six weeks. Shorter build loops are what make ghosting survivable. Ship the ugly version in week two and see whether anyone actually touches it.
Most of it is not really "used". The model file is memory-mapped, so the pages you have read count towards RSS but they are page cache backed by the file on disk - the kernel will drop them the instant something else needs the memory. A 4.7GB GGUF that has been fully read shows up as roughly 4.7GB of RSS and costs you almost nothing.
Prove it to yourself: run with --no-mmap and watch RSS become genuinely smaller after load, while startup gets slower. Or look at PSS instead of RSS - smem -k -P llama will show you a much more honest number.
If it is actually swapping, that is a separate problem and it is usually the other two things on the box, not this.
22 x $19 is $418. Moving all of them up is $858 if nobody leaves, and nobody-leaves is not a thing. At 30% churn on that cohort you land around $600, so you are still ahead on paper.
What the spreadsheet does not show: those 22 are your entire pool of testimonials, references, feature feedback and word of mouth. The delta is $180 a month. One introduction from a happy early customer is worth more than that. I would not run this as a revenue decision at these numbers.
The reliable pattern for me: write the first test myself, badly. One test, real inputs, the assertion I actually care about. Then hand it over with "add cases in this exact style, same structure, no new mocks."
Given a concrete example it copies the shape faithfully. Given a blank file and a coverage target it produces mock theatre. The failure is almost entirely about which of those two situations you put it in.
Per-hour is the wrong frame for the list though. This month's nine clicks are not the return. The return is that in eight months it is 600 people who let you into their inbox and you can email them on the day you launch something. Impressions do not accumulate into anything you own.
The reduced-fabric trap is real and it also wastes the expensive input, which is your evenings. Twenty hours on cheap poly is a worse deal than twenty hours on good wool.
The maths works out on the second pair, not the first. I spent an absurd amount of time and calico getting one trouser block to fit, and since then every pair has cost me fabric, a zip and about six hours, because the fitting is already solved and I do not toile any more unless the fabric behaves very differently. Pair one was terrible value. Pairs two through nine were excellent value. If you stop after pair one, sewing is a hobby you paid for, which is fine, but do not judge it there.
docker history <image> sorted by size tells you exactly where it went instead of guessing. docker system df -v for the wider picture. Two minutes and you stop theorising.
Astro, and search doesn't change the maths the way you think.
A prebuilt Pagefind-style index for 150 pages is a few hundred KB total and it's chunked: the browser fetches only the shards that match what you type, typically tens of KB per query. You're not shipping the corpus. In an SPA every page's content is either in the bundle or behind a fetch you have to design.
The bigger reason: docs get read by someone who arrived from a search engine on a deep link, on bad wifi, once. Static HTML for that path is worth more than nice route transitions on the third page.
Your API table and your demos are islands. That's four client:visible components on a site that is otherwise HTML, and a typical page ends up under 30 KB of JS.
Fair. Although internal docs behind a VPN on hotel wifi is precisely where a 900 KB SPA bundle feels worst.
I was slightly afraid somebody would say this.
Change the needle again, this time to a stretch needle rather than a ballpoint. They are not the same thing - a stretch needle has a deeper scarf and a slightly different eye position, and it exists specifically for the problem you are describing.
What is happening is that the jersey flags downwards as the needle enters, so the loop never forms for the hook to catch. Two things stop it: a strip of fusible knit stay tape in the hem allowance, or gentle tension held front and back rather than pushing the fabric. If it still skips after a stretch needle plus stay tape, the timing is out and that is a shop visit.
Most packets do not help. Ballpoint for sweater knits, stretch for anything with elastane or anything that flags.