Second the toString() and not toNumber(). Decimal exists precisely because 1234.56 is not representable, and toNumber() hands you 1234.5600000000001 on some values. If you own the schema, store minor units as an integer and format at render. Money in floats is a slow-motion incident.
Ines Marchetti
@ines_marchetti
Freelance illustrator and reluctant business owner. My superpower is chasing late invoices without burning the client relationship.
38 credit Contributor
- From answers
- 0
- From questions
- 39
- Lifetime
- 39
svelte, less code, you'll ship in four weeks instead of six
The version of this that finally worked for me was ending on the thing I got wrong rather than a question. Questions read as engagement bait; "I picked the wrong queue and here is what it cost" gets four people telling you what they picked.
Also check the cached region is long enough to be cacheable at all. There is a minimum prefix length below which the cache control marker is simply ignored, and you get no error and no warning: just a response with zeroes in it that looks exactly like your situation.
If your system block alone is a few hundred tokens and the breakpoint sits right after it, that is the whole explanation. Move the breakpoint later so the cached region includes the tools and any stable context.
The logger rewrite is the tell. That is not engineering, it is avoidance - the comfortable, bounded, obviously-correct work you drift into when the real task is ambiguous. The cure is not discipline, it is removing the ambiguity: finish every session by writing down the exact next action, at the level of "add POST /projects that returns the created row".
Practical runway note: apply for whatever unemployment support you are entitled to on day one rather than when you are worried, because the processing time is the part nobody budgets for. Mine took several weeks to arrive and backdating rules vary enormously by country and state. It is dull admin and it moved my personal deadline by a month.
The reload bar paid for itself the same week we shipped it - it also killed the recurring "the page looks broken" tickets that were actually stale chunk 404s after a deploy. One banner, two classes of bug.
Take photos of the outfits that do work, even badly lit phone photos. On the mornings where nothing feels right you scroll the album instead of standing in front of the rail. Sounds silly, works.
Two questions decide it, and neither of them is answerable on a forum: what does your contract limit assignment to (company time, equipment, confidential information, or genuinely everything), and what does your jurisdiction override regardless of what the contract says. Several places void assignment of work done entirely on your own time and equipment outside the employer's line of business. Several others do not.
The practical move is duller than the legal question. Ask for a written waiver. One paragraph naming the project, signed by someone with authority. Most managers sign it without blinking because a habit tracker is obviously not competitive with a payments company.
Ask before there is meaningful revenue. Right now it is a small conversation. At $200k ARR it is a negotiation.
Spending most days is completely normal and not by itself a symptom of anything. The question worth asking is not whether you spent, it is whether you can name what you bought a week later. Anything you cannot name is the part to look at.
Fair, read the room. But "they never knew" is not a defence, it is a postponement, and it postpones to the worst possible moment - usually due diligence on an acquisition of your side project.
Jury duty summonses still find you and ignoring one is a bad time. Set up the mail scanning so you actually read what arrives, weekly, on a fixed day.
the important design decision isn't the tool, it's the threshold. a monthly budget percentage is useless for detection because early in the month everything is under budget and late in the month everything is over. we alert on the trailing seven day median hourly spend per service, and page at four times that for two consecutive hours. that catches a runaway within roughly two hours regardless of where you are in the month, and it has fired three times in eighteen months - twice legitimately, once because a colleague started a genuinely large batch job on a friday without telling anyone.
Get three quotes, insist on the full policy wording, and check unattended vehicle, commercial use and replacement basis. If any of the three is wrong for how you actually work, the price is irrelevant. A broker who works with photographers is worth the ten minute call.
This is the one people underestimate. Residency for tax purposes, residency for a driving licence, and where your post arrives are three different concepts, and nothing in the system helps you keep them straight.
Niche job boards are underrated and take ten minutes to find. Every industry has two or three, usually run by a trade body or one obsessive person, and the postings there get a fraction of the applications. My last two roles both came from a board with an ugly website and about forty listings.
Partial disagreement. Two works if one of them is close to free. Running plus journalling for three minutes after the run is basically one habit with a tail, because the cue is already there and the cost is trivial. Running plus gym plus journalling plus an earlier bedtime is four separate negotiations with four separate cues. The number that matters is not how many habits, it is how many new decision points you are creating in a day.
Ninety minutes of real focus after a full day of the same activity is not low. It is approximately the ceiling. Most people describing four evening hours are counting time at the desk, not output, and if you asked them to log what shipped you would see something close to your number.
Two adjustments that made mine feel bigger without being bigger:
- Weeknights get mechanical work, copy, small fixes, support email, the thing you already know how to do. Anything requiring a decision or a design goes to a weekend morning. Trying to design a schema at 21:30 produces a schema you rewrite on Saturday.
- End every session by writing the exact next step. Otherwise the first twenty minutes of your ninety go on reloading context, and you have just spent a quarter of your evening remembering where you were.
Popper first, always. If you are still roasting weekly a year later, buy the drum and you will know exactly what you want from it.
The bag strap line is the tell. Switch to a bag you carry in hand or a wide flat strap for the days you wear knitwear. I lost two good sweaters to a thin crossbody before that clicked.
Four out of eight is not bad luck, it is an untested area. What broke each time? If it is the same subsystem twice, that is one focused afternoon of tests, not a character flaw. People reach for discipline when the answer is a fixture.
This is the correct caveat and it comes up constantly. For my own things it is irrelevant. For client work where somebody else may inherit the setup, I keep the registrar and the DNS separable on principle.
The wrangler is the part I would have assumed happens by itself. Adding it to the confirmation email today.
Fifteen flat is easier to sell to a client than eight to twelve with buffers, and it removes the argument about who ran late.
Disagreement with the it-all-evens-out consensus. It absolutely was cheaper for me, by a lot, but only because I picked two bases and stayed six months in each, cooked at home like a normal person, and did not use coworking. The expensive version of this life is the one that looks like a holiday. The cheap version looks like your ordinary life relocated, which is much less photogenic and much more sustainable.