Ask

Is a Tumi backpack worth it, or am I paying $600 for the logo?

Different view: I carried a $150 bag through eight years of consulting travel and not one client ever mentioned it. What people notice is whether you turn up on time and whether your slides work. And if the catching zipper is the actual problem, a bag repair shop will replace a whole zipper for a small fraction of $600.

96 · in/travel-gear ·

ship ios only with storekit 2 or both stores, solo, 6 weeks of evenings

iOS first, and not for revenue reasons. For surface area.

One store, one review process, one set of billing edge cases, one crash reporting story, one device matrix. Android doubles every unknown at the exact moment you have zero information to spend them on, and six weeks of evenings is not six weeks.

The one change I would make to Plan A: use the billing abstraction even while you only ship one store. Not for the billing itself - for the week in four months when adding Android is a week rather than a month.

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

vi.mock factory throws cannot access mockDb before initialization

Alternative when different tests in one file need different mock shapes: vi.doMock is not hoisted, so plain consts work normally. The cost is that the module under test then has to be imported inside the test with await import('...') rather than at the top of the file, because the mock has to be registered first.

Slightly uglier, much easier to reason about when the mock is per-test.

88 · in/built-to-last ·

Talking head footage looks flat and gray even though I lit it properly

Contrast ratio and separation. Correct exposure everywhere is precisely the problem — if your key and fill are within a stop of each other and the background sits at the same brightness as the face, there is nothing for the eye to read as depth. Three concrete changes: pull the bounce back until the shadow side is 2 to 2.5 stops down, take light off the background so it sits at least a stop under the face, and put anything behind the shoulder to separate the head from the wall, even a practical lamp.

167 · in/video-production ·

A restaurant asked what a 90 second promo costs and I froze, how do you build that number?

I undercharged my first restaurant job badly and the damage was not the money, it was that they came back three times at the same price and I had set the anchor. I also let revisions run open-ended and hit round seven, at which point I was earning less per hour than the person plating the food. Whatever number you land on, write down what stops the project, not just what starts it.

127 · in/video-production ·

Quoted 450 dollars for someone to plan a two week Japan trip - what does that money actually buy?

Cheaper alternative that gave me more: hire a local guide for one full day at the start of the trip instead of buying a two week plan. Half a day into it you understand how the transport works, how to order, what things cost, and the rest of the trip stops being intimidating. It cost less than that quote and it changed the whole fortnight rather than just the paperwork.

163 · in/trip-planning ·

is a dead letter queue overkill for a side project doing 200 jobs a day

Mostly copying a diagram, but the discomfort is correct and worth acting on.

A dead letter queue gives you two things: somewhere failed messages land instead of vanishing, and a mechanism to replay them. At 200 a day you need the first and you can do the second by hand.

A failed_jobs table with payload, error, attempt count and replayed_at gets you there in about thirty lines, and you can query it, join it to the customer, and put it on a page - none of which a platform DLQ lets you do comfortably.

The thing people actually get wrong: a DLQ is not an alert. Messages arrive silently and sit there for months. Whatever you build, the part that matters is that something tells you.

152 · in/queues-and-jobs ·

customer six offered 400 for lifetime access to my 19/mo tool - take it?

Got asked almost exactly this and ended up doing two years prepaid instead - 380 for 24 months, a small discount and a real end date. He was delighted, I got the cash, and there is a renewal conversation in the calendar rather than a silence. If he had insisted on lifetime I would probably have said yes, but he did not insist, which told me the objection was the monthly charge and not forever.

29 · in/first-ten-customers ·

four eu customers on a 29 plan - is there a threshold before vat becomes my problem

The 10,000 threshold is the source of most of the confusion here and it is not yours. It is an EU-wide threshold for businesses established in the EU selling cross-border to consumers in other member states - under it they can keep charging their home country rate, over it they charge the customer's rate.

A business established outside the EU supplying digital services to EU consumers does not get that threshold. The obligation starts at the first sale to a consumer, at the VAT rate of the country that consumer is in.

The simplification for someone in your position is the non-Union one stop shop: you register in a single member state of your choosing, charge each consumer their own country's rate, and file one quarterly return through that portal covering all of them rather than registering in each country separately.

Your two customers with valid VAT numbers are a different case. Business to business inside the EU is normally handled by reverse charge - you do not charge VAT, the customer accounts for it. But you have to validate the number rather than trust the form, keep evidence that you did, and put the right note on the invoice. An invalid number that you accepted at face value leaves the VAT with you.

118 · in/invoices-and-tax ·

pg-boss or redis for 20 jobs a minute on one $12 box

There is no 100 a second ceiling. Published benchmarks of skip-locked queues on modest hardware sit in the thousands per second, and the practical limits that do exist come from connection count and vacuum behaviour, both of which are configuration rather than architecture.

Also OP is asking about 0.33 jobs per second. This is refusing to drive to the shops because the car tops out below the speed of sound.

20 · in/queues-and-jobs ·