Mastro.{js,ts} @mastrojs.bsky.social · 8hYeah, teams using up all their energy on wrangling the complexities of their “tech stack” that they never get around to the most important thing: is their website even usable? 020
Mastro.{js,ts} @mastrojs.bsky.social · 9hMaybe. Definitely a new powerful tool in the “attackers” toolbox in this everlasting game of cat and mouse 🤷🏾♂️ 000
Mastro.{js,ts} @mastrojs.bsky.social · 9hIf somebody wants to pirate a game, seems there are a lot easier ways to run it than decompilation? Regarding ArtCraft: 110
Mastro.{js,ts} @mastrojs.bsky.social · 13hRegarding the last point: www.phillipcarter.dev/posts/dont-b...phillipcarter.devDon't build your own CRMYou really don't want to be in the business of building your own Salesforce. 120
Mastro.{js,ts} @mastrojs.bsky.social · 14hUntil the SaaS app is too enshittified, or the open source library abandoned because the developer burnt out. Then the cycle starts anew. Because most software is a commodity nowadays. Perhaps the calculus of build vs buy has shifted a bit, but I’m convinced it’s only a tiny, tiny bit. 🤷🏾♂️ 120
Mastro.{js,ts} @mastrojs.bsky.social · 14hLLMs are just the latest in a long list of developments that made it cheaper to produce average software. The more things change, the more they stay the same. When having to choose, consumers and enterprises will continue to default to what everyone else is using. 130
Mastro.{js,ts} @mastrojs.bsky.social · 14hThere are millions of free or cheap apps on the app stores, open source programs or libraries on GitHub and package managers, and webapps in your web browser. In fact, there are so many that nobody has the time to install and evaluate all of them for their given use-case. 120
Mastro.{js,ts} @mastrojs.bsky.social · 14hThe commoditization of software has been ongoing for decades: higher level languages, faster hardware, open source, the internet, the web, app stores, LLMs – each made it dramatically easier and cheaper to produce and/or distribute software. Conversely, consumers have been flooded with software. 150
Mastro.{js,ts} @mastrojs.bsky.social · 06/10/2026Agreed. @scope goes a long way:mastrojs.github.ioFour ways to do component-scoped CSS without a complex build step 140
Mastro.{js,ts} @mastrojs.bsky.social · 05/10/2026After checking everything else twice, I usually discover them in the dish washer 😅 010
Mastro.{js,ts} @mastrojs.bsky.social · 05/10/2026Agree 100%. But I do worry that a lot of business no longer consider their codebases “sufficiently important” 🫠 110
Mastro.{js,ts} @mastrojs.bsky.social · 04/10/2026macOS Preview is surprisingly good at editing PDFs (although I’m guessing you need a few features that it doesn’t have) 110
Mastro.{js,ts} @mastrojs.bsky.social · 04/10/2026Who will be Bluesky’s paying customer? Did they publish a business plan or something? (serious question, I haven’t read up on that stuff) 000
Mastro.{js,ts} @mastrojs.bsky.social · 02/10/2026I fear many SPA-only devs don’t even know what “form submit” means 😭 020
Mastro.{js,ts} @mastrojs.bsky.social · 02/10/2026I got used to it after writing too much JavaScript ;-) 140
Mastro.{js,ts} @mastrojs.bsky.social · 02/10/2026oh wow, okay. if you see multi-second backend queries, I agree that’s a problem worth throwing an index at. and yeah, if you’re in a world of internal tools that people use with laptops on fast networks, frontend performance is suddenly a lot better than in my world where 60% of users use phones. 010
Mastro.{js,ts} @mastrojs.bsky.social · 02/10/2026Agree that Tanstack Query is the same in React and Solid, but that’s not the entire world. Hard disagree that most real-world performance is lost in the backend. I’ve rarely seen an API that didn’t load 1MB of JSON in under 500ms. But look at RUM data and you’ll often see LCPs over 5secs! 110
Mastro.{js,ts} @mastrojs.bsky.social · 02/10/2026And why do we need faster JS compilers/tools now? Because we’ve started shipping so much JS to our users browsers that just transpiling it is slow! Never mind how slow downloading and running it will be on a slow phone! 110
Mastro.{js,ts} @mastrojs.bsky.social · 02/10/2026Agreed that swapping out one SPA framework for another in a huge app doesn’t move the needle much. But it does for smaller websites, and I was also thinking MPAs and islands and whatnot. Apologies if “lost interest” isn’t the same thing as “stopped caring.” Like I said, can’t blame you if it is. 000
Mastro.{js,ts} @mastrojs.bsky.social · 02/10/2026I understand that people stop caring, considering… everything. But it’s still very sad people just don’t care about web performance etc. anymore. Especially now that it’s easier than ever to migrate a codebase. 210
Mastro.{js,ts} @mastrojs.bsky.social · 02/10/2026But yes, some finally do the migration they’ve always wanted to do but couldn’t realistically pull off without the clanker. 000
Mastro.{js,ts} @mastrojs.bsky.social · 02/10/2026In theory, yes. But are people migrating their projects en masse? It doesn’t seem so. Some people are even saying they continue to use React because the LLMs have more of it in the training data 😭 and their team’s novelty budget is all used up on AI, so they stick to what they know. 110
Mastro.{js,ts} @mastrojs.bsky.social · 01/10/2026right? Seems a lot of people might prefer “the original”? But it is a great incremental migration story! 110
Mastro.{js,ts} @mastrojs.bsky.social · 01/10/2026Fair, that's exactly what I'd say if I worked support for a WP plugin! 000
Mastro.{js,ts} @mastrojs.bsky.social · 01/10/2026They just moved the red stuff to another file and added zod to packge.json 🤣 (sorry, I shouldn't always expect the worst). 020
Mastro.{js,ts} @mastrojs.bsky.social · 01/10/2026but the $ namespace is already taken by jQuery! more seriously, to save two characters, you can also use the module system as a namespace: import { C } from "./helpers" 000
Mastro.{js,ts} @mastrojs.bsky.social · 01/10/2026A <darkmodeswitch> element (similar to <geolocation> in a way). 000
Mastro.{js,ts} @mastrojs.bsky.social · 01/10/2026“The part where I write code is such a small part of what I do, that there’s not huge efficiency gains to be had there. When I do generate code using AI, I find that the requirement to check it for accuracy negates any time saved during the coding part.” 000
Mastro.{js,ts} @mastrojs.bsky.social · 01/10/2026“The most frustrating thing is that it’s the first part of the process where AI can be most helpful. It can help you answer questions, do research, and pull together data much faster than has been possible before.” 110
Mastro.{js,ts} @mastrojs.bsky.social · 01/10/2026“You might reach out to a coder, who won’t have time to fix the problem as they will need to go back and do the needed research. Even if they do have time, you probably won’t have time to wait for the solution.” 100
Mastro.{js,ts} @mastrojs.bsky.social · 01/10/2026Surprised how well replacing writing with coding worked here! “If you come from a starting point of assuming the job of a coder is to write code, you will ask the agent to write code. You will get lines of code, probably a lot of them, and then you will wonder why you aren’t achieving your goals.” 120
Mastro.{js,ts} @mastrojs.bsky.social · 01/10/2026Could create a function that’s just called capital C to do that? 100
Mastro.{js,ts} @mastrojs.bsky.social · 01/10/2026Maybe nobody expected an article author to write an actual code block not inside a codepen? 😅 020
Mastro.{js,ts} @mastrojs.bsky.social · 30/09/2026This is awesome! nit-pick: I just feel like all the drawers should be openable ;-) 110
Mastro.{js,ts} @mastrojs.bsky.social · 30/09/2026I wouldn't call anything built on top of a bundler like vite "simple" 😅 But I get it: if you want to do an SPA you don't really have a choice, you must ship the whole next page's code to the client, and that means you need a bundler that does chunking etc. 000
Mastro.{js,ts} @mastrojs.bsky.social · 30/09/2026Maybe become a PO/product manager if such a thing still exists? 😬 010
Mastro.{js,ts} @mastrojs.bsky.social · 30/09/2026Unfortunately, the market can stay irrational longer than I can stay solvent 😭 030
Mastro.{js,ts} @mastrojs.bsky.social · 29/09/2026yes, it's great that you can add it later. if it's a ref that would prevent downloading it always if you only want the other fields (basically what's in package.json)? 001
Mastro.{js,ts} @mastrojs.bsky.social · 29/09/2026can you leave room for a binary field in the future, where you can attach a zip of the npm package? 😁 100
Mastro.{js,ts} @mastrojs.bsky.social · 29/09/2026I get that things like "EmDash CMS" are not a drop-in replacement because existing WP plugins don't work there. But looking in from the outside, I'm surprised there is no WP fork that has gained traction yet. 🤔 110
Mastro.{js,ts} @mastrojs.bsky.social · 29/09/2026ha, I read "clunky" at first and was wondering for far too long why that'd be the case :-) 110