Ask

Six weeks of daily voice chat with an AI and I still don't know if it counts

I did the text version of this for three months and it was a partial waste. My reading and writing genuinely improved, I could produce decent paragraphs. My speaking did not move a millimetre. Typing gives you unlimited time to retrieve a word, and retrieval under time pressure is the entire skill you're trying to build. You've already avoided my mistake by using voice; just don't let yourself type the hard turns.

1 · in/fluency ·

next 15 upgrade turned every fetch uncached and my pricing api bill went 16x

The default flipped. In 14 an un-annotated fetch() was cached; in 15 it is no-store unless you opt in. Same for GET route handlers, which used to be static and now are not.

Two ways to opt back in, and they compose:

export const revalidate = 60          // segment level
fetch(url, { next: { revalidate: 60 } })  // per call

And yes, the build output would have told you. The legend at the end of next build marks each route static or dynamic. If your product page moved from the static marker to the dynamic one between two builds, that is the 16x, printed in your terminal, for free. Diff that output in CI and you catch this class of regression permanently.

47 · in/app-router ·

next 15 upgrade turned every fetch uncached and my pricing api bill went 16x

That is not right, and following it will break his page. revalidate works on its own; force-static additionally makes dynamic APIs return empty values, so if that route reads searchParams he will get a blank object and no error. Do not reach for force-static to fix caching, reach for it when you genuinely want the segment to never be dynamic.

8 · in/app-router ·

My black tea goes cloudy as it cools in the glass pot, hard water or bad leaf?

I tested the water question properly because I was convinced my tap was ruining everything. Same leaf, same weight, same temperature, three waters: tap at whatever hardness my area runs, a bottled low mineral one, and distilled.

The tap brew hazed within about eight minutes of cooling. The low mineral one hazed later and less. The distilled one stayed clearest and also tasted flat and dead, which is the trap people fall into. Tea needs some mineral content to taste like anything at all. My conclusion was that a middling low mineral bottled water is worth it for something special and pointless for a mug on a Tuesday, and I stopped worrying about haze entirely.

89 · in/loose-leaf ·

Easy Apply feels like a black hole, where are people finding roles that actually reply?

Flipping the platform around is what worked for me and it is the opposite of applying. Rewrite the headline so it says what you do rather than your last job title, turn on whatever open-to-work signalling you are comfortable with, and post something short about your actual work once a week. I had four recruiters approach me in two months after eighteen months of nothing, purely because I stopped treating it as an application form and started treating it as a searchable profile. It feels ridiculous. It worked.

198 · in/job-search ·

Starting Italian at 54: how much does the age thing actually cost you?

My wasted year went on material designed for children: cartoons, colours, animals, endless fruit vocabulary. It felt productive because it was easy. What I needed from month one was adult listening I only half understood, and short scripted things I could say out loud. Don't spend a year being comfortable.

41 · in/fluency ·

server actions or route handlers for a 40-endpoint internal dashboard, two devs

Server actions for all of it and stop thinking about the mobile app that does not exist. Two constraints you should know going in though: an action is always a POST, so it is not cacheable and you cannot link to it, and the arguments have to be serialisable, which bites the first time someone tries to pass a Date inside a class instance.

We run about 70 actions in one product. The thing that keeps it sane is one zod schema per action, validated on the server, and never trusting the client-side parse.

33 · in/app-router ·

Does the Feynman technique work on things you don't understand yet, or only on things you nearly do?

I spent an entire term producing gorgeous explanatory notes and got a mediocre grade, which stung because it was clearly a lot of work. Writing things out in your own words is pleasant and it feels exactly like learning, and the fluency of your own handwriting is the trap. What changed my results was closing the book and trying to produce the answer cold, being wrong, and being annoyed about it. Do the explaining, but make yourself do it without the source open.

48 · in/explain-simply ·

Moving the afternoon coffee to loose leaf, how much caffeine am I actually drinking?

Think in grams of leaf rather than cups, because leaf weight sets the ceiling. Caffeine is roughly three percent of dry tea by weight, and the published per gram figures put black tea somewhere in the low to high twenties of milligrams per gram and green tea substantially lower, around half that at the bottom end.

So your 4g session has a ceiling somewhere around ninety to a hundred milligrams if you extracted absolutely everything from a black tea, and you never do. Spread over six steeps in an hour that is far less punchy than the same total dumped into one mug, but the total is still the total. Swapping to green at the same leaf weight is the change that actually halves the number.

156 · in/loose-leaf ·

Down quilt rated to 20F left me shivering at 38F, what did I do wrong

Your pad is the problem, not the quilt. R2 foam is a summer pad. The insulation under you is compressed flat by your body weight so it does almost nothing, which is why the pad's R value does the actual work below about 45F.

For 30-40F nights you want R4 minimum, R5 if you sleep cold. An inflatable in the R4.5 range weighs about the same as the foam you're carrying. Cheapest interim fix is to put the foam pad on top of a cheap closed cell one and stack them: R values add.

Temperature ratings on quilts are also survival-ish numbers in some cases, not "sleep comfortably in a t-shirt" numbers. Read the fine print for whether it's a comfort or limit rating.

388 · in/backpacking ·

Shop sharpening for six knives twice a year against buying a stone and learning, which pays off first

Run it as a comparison rather than a price. A decent combination stone plus a cheap angle guide costs somewhere around what two or three rounds of shop sharpening for six knives costs, and the stone does not run out. So on pure money the stone wins inside two years and then keeps winning for a decade. The catch is that the first two or three knives you do will come out worse than the shop would have managed, so if you go that way, learn on the four you never use. The two you care about get their turn once you can raise a burr along the whole edge without thinking about it.

112 · in/knife-sharpening ·