While Bootstrap certainly abstracts CSS away for you in a way that you can get by without knowing much about CSS (for simple things), Tailwind is just tokenized CSS. You can't use Tailwind without knowing CSS or learning CSS in the process.
The problem with tailwind is it does away with separation of concerns and messes up HTML, like the old styling tags in HTML. We moved on from those for good reasons.
It really isn’t the same as inline styles at all. It’s the best of both worlds, in my opinion. It’s hard to see myself ever going back to the old ways.
I have given a chance to Tailwind and it was neither nice or easy. I actually give up, wondering why my younger colleagues appreciate writing CSS using class names.
I write CSS since its debut. Clearly it wasn’t enough suffering: they reimplemented it as a class-name based language - with horrible IDE support. I am perplexed - I must be the boomer around here… :)
I think it makes sense when writing css for isolated components - usually ignoring the cascade. Makes it possible to not name things which is a plus in componentworld.
The thing is, it’s the cascade that makes css as powerful and elegant as it is.
And not naming the things comes at the cost of listing all css properties as classes on each element.
I write CSS and must say that in 2024 CSS is an amazingly powerful and elegant language.
If one is willing / given the time to learn it.
Using conventions like ITCSS, a few libraries like https://utopia.fyi and placing colors, font sizes and spacing into variables + the use of a few utility classes provide most of the conveniences of a utility-first framework with no downsides.
I can also see how devs focusing on components prefer utility-first frameworks for the speed of development. Despite the low maintainability and the horrible markup.
> along with the suspiciously-timed relaxation of pornographic generations
Has ChatGPT's censoring (a loaded term, but idk what else to use) been relaxed with GPT-4o? I have not tested it because I wouldn't have expected them to do it. Does this also extend to other types of censorship or filtering they do? If not, it feels very intentional in the way you're alluding to.
I don't see anything that says they've changed their policies yet. Just that they're looking into it. I also tested 4o and it still gives me a content policy warning for NSFW requests.
I have a LG 38WN95C (3480x1600, 144hz, thunderbolt 3) monitor that's plugged into my Macbook Pro (M1 Pro _I think_, I'm not home to doulble check). The laptop is in clamshell and plugged in via Thunderbolt 3. IIRC, I had to turn the refresh rate down to 120hz, but otherwise it works well. The only hiccup is that if I unplug it, use it for a bit, and plug it back in I have to open the lid one time after plugging it in so it can realize it's plugged in to a display.
I have a M3 Pro MacBook Pro for work that I also swap between on the display using the single cable that I remove from one to plug into the other. The laptop travels with me to work where it plugs into a 16:9 4k 60hz monitor while it's open. I have the same clamshell issue as my personal laptop where I have to open it once after plugging it in, but otherwise it works pretty well.
I do however have to do some workspace rearranging when I go from clamshell->ultrawide to my work setup of open lid->16:9 monitor. But that's no a huge deal since I'm going from 1 screen to 2 screens.
Considering those with ADHD have a life-expectancy that's 13 years shorter than someone without it [1], I'll take whatever mild neurotoxicity you're pointing out in exchange for being less likely to get into a car accident or whatever else I have a tendency to do.
There are benefits to a compilation (transpilation?) step that are worthwhile. Most notably, types/typescript.
Everyone's bar for what is bloat is a bit different. Everyone's definition of simple and clean is different. Typescript, even with a compilation step, is simple and clean to me. Javascript without types is the opposite of simple. Javascript without types is the opposite of clean.
I've been using JSDoc with tsserver and its been working great for development. Types from typescript are removed at compile time, so they just help with the dx around JS, but I've been noticing similar benefits just using JSDoc.
The parent comment was just offering alternative approaches to the problem that the thread's link addresses. That seems like a perfect use for a comment on this thread. It's the furthest thing from "off topic".
That feels pretty lean and simple to me.