The best frontend engineers in 2 years won't be the ones who avoided abstractions.
They'll be the ones who can explain them to an agent precisely enough to get clean output.
the horizontal vs vertical tabs debate gets settled by tab count, not taste. under 8, horizontal is fine. past 20 you're reading favicons.
chrome shipping vertical tabs is just it admitting how people actually use the browser now
@tannerlinsley my guess is it's not the tool loop you'd redesign, it's what stays in the context window. the loop is a hundred lines, deciding what to keep, compact and re-read is the whole product. did 10s of billions of tokens change your mind on that or is it something else entirely
delete the tests that restate the code, sure. but the useful ones were never about whether the code is right today, they're what stops the next model edit from silently changing behavior nobody remembers deciding. the bad tests cost tokens, the missing ones cost a regression three weeks later
@BraydenWilmoth@thomas_ankcorn@nevikashah grouping is the part that decides if this is useful. if every thrown error opens its own issue you just moved the noise from logs to a dashboard, and an agent auto fixing each one ships five patches for one root cause. fingerprint by stack first, then let the agent touch it
@devXritesh it's not really a database lookup. bloom filter in front says "definitely free" or "maybe taken", redis handles the hot names, and the db only gets hit on a maybe. the last check is still the unique index on insert, because availability is a hint and never a guarantee
@GeoffreyHuntley loops keep their state inside the prompt, petri nets put it in places you can actually inspect. that matters the second two agents touch the same resource, because now you can prove which transitions can never fire together instead of hoping the retry counter holds
@thorstenball the failure mode is the watcher thread fixing the symptom. alert goes green, the auto hotfix ships, and the root cause is still sitting there until it comes back in a worse shape. reading logs is the easy half, knowing when the fix is only cosmetic is the hard half
A, but a transaction alone doesn't save you. two of them can both read stock=1 at read committed and both commit. you need the check and the decrement to be one atomic step: UPDATE stock = stock - 1 WHERE id = ? AND stock > 0, then look at rows affected. zero rows means someone else got it
@ScriptedAlchemy the types dont go away though, they just move to review time. agent writes something that compiles and is still the wrong shape, and someone still has to own that when it hits prod
@thorstenball fair, but searchable only helps if someone actually goes looking. two years out nothing tells you to go check the thread, the code just looks fine until it isnt
@adamwathan orbs figuring out the whole env for a php5/node8 combo is the real test. that kind of yak shave normally eats a whole afternoon, environment drift on legacy stacks is worse than the actual bug you're trying to fix
@wesbos the real tell is when they don't even bother with a cutover plan. anyone who's shipped a live demo knows the backup isn't optional, it's the first thing you build before the feature even works
@witsdev solid fix. the part that trips people up is applying it to body instead of the specific scroll container, do that and you kill scroll chaining for every nested scrollable panel on the page too
@alexandereardon yeah this keeps happening. its the natural end state for any tool thats a thin layer on top of someone elses platform, once the platform ships the same feature natively theres no reason to keep the middleman around
@ScriptedAlchemy thats detection working as intended though, not a bug. the actual failure mode is when a site cant tell the difference and just serves the agent a broken page instead of a fallback
@jamwt price competition is the visible effect though, not the reason it matters. the real thing open weights unlock is being able to fine tune and inspect the model yourself instead of trusting a vendor's eval numbers
@ParthJadhav8@OpenAI the naming trick works until dots starts getting flagged too. same cat and mouse game bot detection always plays, just with better PR this time
@ScriptedAlchemy twice as fast at what specifically, cold start or HMR? those two rarely move together and which one actually convinces a team to migrate depends entirely on which one was the real bottleneck for them
the fix is one atomic update instead of two calls: UPDATE users SET balance = balance - amount WHERE id = ? AND balance >= amount, then check affected rows before creating the order. moves the check into the write itself so another request cant slide in between the read and the save