544 karma · joined May 3, 2017
It's good that you provided the example...
> i could write a program that reads a csv row by row, converts it to my internal model, then emits those data into a ndjson file. Or I could just write a program that converts csv to ndjson , agnostic of the data. The former costs you every time the model changes. The latter is useful for a variety of system architectures again in the future.
...because in this case I can agree (although I'd need to drill into the details a bit more). Anyway, far more commonly (in my experience) unnecessary effort is spent on making generic code when a solution only targeting the specific problem in hand would suffice. Then later the requirements change or your original assumptions turned out to be wrong, and you need to spend time changing the generic solution to fit the new problem. This can require 10x the effort vs. just continuing from the specific and simple solution.
I guess the difficult art is to be able to recognize those exceptions where it is in fact reasonable to do the extra work for the generic solution. There was a recent submission [1] here about "YAGNI exceptions" which included a few common cases.
With Spotify, it's sort of similar to when the paid YouTube (Red/Premium) became a thing. Yea, you'd get rid of the Google-picked ads, but the in-video sponsored ads added by the video creator would still obviously remain.
[1] hn-share.now.sh
To me the biggest benefit of Tailwind, apart from the great base design system, is not needing to come up with class names for 99% of the things in the app. This is of course only possible when you have some way to abstract components out of the reused parts of your markup – e.g. you're using React.
Edit: The title was "Open Props: Tailwind Alternative from Chrome Dev Team" when I posted this comment.
[1] https://www.w3resource.com/sql-exercises/employee-database-e...
Git somes to mind too, where it changed the way I think about how to do the day-to-day writing of my code and that the knowledge is very transferable across all kinds of projects.
I understand this is very typical with online video. I wish it wasn't though.
I never got around to read Racing the Beam [1] but Retro Game Mechanics Explained on YouTube has a good demonstration [2] on how the graphics programming seemed like a nightmare compared to later computers and game consoles. Just positioning things on screen required calculating machine cycles of other preceeding instructions. Refactoring must've been fun.
In HBO's Talking Funny [1] (from 2011) there's a discussion (around 1:00–2:00), where it's pretty clear how his habbit of replacing old material in the act is far more infrequent and little-by-little compared to the other comedians around the table, who generally throw away their entire hour almost every year after a special.
[1] https://joshworth.com/dev/pixelspace/pixelspace_solarsystem....
2. Like the article suggests, additional UX improvements could be made besides making it possible to restore a backup or providing an undo action.
3. I feel you are ignoring the fact that technology-wise it was probably Rails along with its MVC model that got them into their scale in the first place.
4. Had they focused on a more exotic architecture from day one, the UX of other features on the site could've been significantly worse.
I have no research on this of course. I just have an anecdote that my mom didn't even consider the mini (and just bought the regular 12) even though a few years back she did complain how big all the phones were. I guess an average person just gets used to everything and aren't as nit-picky on all the details and ergonomics as myself.
I still long for one-handed flagships. Maybe I'm just a weirdo for whom 5" phones from a few years back (e.g. Pixel 1) were perfectly operable with one hand. For a lot of the population those phones were already two handed devices in most use cases I guess? Couple this with how phones are the main computing and media consumption devices for most people nowadays... why not have it remarkably bigger I guess.
What is "full-stack mode" specifically? Do you mean the fact that each dev needs to run all parts of the application locally? You'd want that for most small and medium size web projects anyway, even if it e.g. consisted of stricly separated SPA and REST backend parts.
With very large projects/teams there are obviously challenges. My gut feeling is that a project started with a framework like Blitz would probably naturally evolve into some kind of a monorepo, which of course comes with both strengths and challenges. If you get that far though it'd seem to me that the full-stack architecture worked really well for the problem.
Even if you don't follow sports that much (like me), it's also a great way to browse news in general – without any clutter or clickbait, as the technology is so restricted. I've noticed it's so much easier to avoid doomscrolling traps compared to regular websites, especially during the latest global horrors.