I get the frustration, but I think Tailwind’s biggest win is what it trades:
structure and locality instead of style purity.
Traditional CSS gives you basically nothing in terms of hierarchy or organization. You end up writing long, awkward selectors like .checkout .summary .item-title .price, which still aren’t that readable. And if you’re tracking down why there’s 4px of padding instead of 6, good luck figuring out which of the five CSS files is messing with it.
Tailwind flips that. Putting the styles right on the element means the structure is obvious. You don't have to context-switch or go hunting through a bunch of files just to see what’s going on. It’s all right there.
Yeah, sometimes it gets verbose. Especially when you’ve got a div with 20+ classes. But when that happens, you’ve probably got something reusable anyway. And Tailwind actually shows you that. If you copy and paste the same set of classes to another element, you’ve just signaled that you’re repeating yourself. That’s your cue: take the extra 60 seconds and extract it into a component or class. With vanilla CSS, that signal is way more opaque. People end up not writing composable styles at all. Instead, they name every div, then name every element inside the div, just to avoid writing selectors like .component div h1 span—which is even harder to reason about than .component .title .icon.
And honestly, writing Tailwind is just faster. Typing px-4 is way easier than padding: 0 4px;, and I don’t have to stress over naming a class that won’t collide with anything else. Naming things sucks. Tailwind helps you skip that whole mess and just build.
Another bonus: Tailwind is easy to delete. You don't get tangled side effects or some random override breaking stuff in weird ways. Kill a class and you know exactly what changed because it’s right there in the markup.
I think these exmples are largely worthless also. Every time I see something like this - I all but dismiss it. It seems like the aim/value proposition is to make life easier by removing decisions from our plate, but I feel like it is exchanging decisions for frustration when it doesn't work as promised, or worry about whether the decisions the system makes will be good ones.
I actually don't want a machine to make decisions for me. I want a machine to do what I tell it to do, or present me with I formation required to make a decision.
Examples: if I need a dentist appointment or to schedule maintenance for my air conditioning, I'd like to tell a machine to set it up. Heck, I'll even tell it who to call and which days and times work for me.
If I'm looking for a restaurant, show me the options, give me their distance, top reviews, and some of their dishes. If I want reservations, I'll tell it when and for how many.
Ideally, I want a "Jarvis" from "Iron Man". I ask questions, it gives data in a digestible quantity, and then I can make a decision and tell it what to do. Obviously, such a system is not available (yet), and these inferior systems are needed in order to make progress, and get there...eventually..but sometimes I wonder if the focus is on the right outcome, or just the broad strokes cookie cutter solution that comes to mind first (restaurant reservations). Similar to how all JavaScript MVC frameworks demo a to-do app, and rails tutorials demo'd a blog (initially)...
I mean, seriously... How often do you not go out to eat because you are too lazy or busy to make a reservation? Now, how many times do you skip oil changes, or making calls to cancel your cable service, because you don't want to make time in your day to stop what you're doing, pick up the phone, and call?
100% agree. I'd refine it slightly by saying it isn't just a recommendation we want, it is presenting us with the logic under the hood in terms of HOW it made the decision--not what the decision was.
If it told me it recommended the restaurants along with commentary like "you really liked X at another place, and this place has been voted to have comparable X, plus it is close by and you've had a long day and need to get up early tomorrow" that would be super useful and help me reach my own conclusion faster.
There are so many people in the tech industry that have no business being there, that suck and have no passion, that are assholes and aren't willing to teach newcomers. The fact that women in tech is an issue or that women get harassed by men for being in the industry when there are more glaring issues is an absolute mystery.
Men that harass women for being in the tech field are juvenile. If anyone talks to my daughter like that, or sends her messages like that...God help them.
I used to write scripts to chop down trees, practice healing, mine and smelt ore, cast "fireball" on myself so I could level up my magic skills...lol
I remember a specific time when I was setting up my mining operation. I took the time to figure out how long it took for ore to re-spawn, and had my character mine in an elaborate circuit several times before starting the smelting process. I was super proud of myself, haha. I think I was about 12 or 13 at the time.
The only folks I personally know who played UO were my actual friends :) I have coworkers who were also old enough to remember it but they all started withy EQ or WoW.
In my mind no game will surpass closed beta era UO. It had the sandbox and freedom combined with q culture that was actually into the idea instead of the grieving
The whole "delete when you're done' practice is a pretty common tenant to secure communication. However, there are plenty of cases where having that historical data is really useful. After all, computers are excellent at storing archival data, and being able to search and reference that archive has saved me more times than I can count.
What practice, then, can you employ to maintain a secure archive of your messages for future reference? Is this something that is considered rude, or even dangerous and reckless, given that the mere existence of the archive introduces an attack vector, thereby compromising the effectiveness of encrypting the messages at all?
I understand that there are a lot of trade offs and sacrifices to be made in the name of security, but is maintaining a message archive one of those sacrifices that is expected to be made by all parties? Or is this one of those points that can't be covered with a blanket statement, and the retention policy is pretty much dependent 100% on the sensitivity of the content?
To elaborate, the security precautions you take are entirely dependent on the threat you face (or believe you face). If you're Dread Pirate Roberts, creating a detailed diary of you criminal activities is a terrible idea [1]. If you're a 13 yr old girl, creating a detailed day by day diary is probably not a life threatening decision.
You should take the precautions appropriate for your threat model and risk appetite. I suggest deleting correspondence after a set period of time. I know people that do a yearly purge of all their sensitive mail for the previous year in January.
If you are encrypting for the sake of encrypting, as some people do (see: cover traffic), then you can keep archives of your mail because you face no negative outcome if your archive is compromised. There is no downside, so go for it.
The poor design of these parking signs is actually "a feature, not a bug."
Parking tickets in the cities which have these sorts of sign issues (DC, NYC, Chicago, ATL, etc) make up a significant amount of income for the city. Paid parking certainly adds up but if a single space nets the city $10-$20 per day, a single parking ticket could cover a weeks worth of revenue for that single spot while still allowing the space to earn $10-$20 a day for the rest of the week.
I agree it sucks, and I was burned by this exact problem when I traveled to DC with my family last winter. However it's unlikely to change, because not only would the change actually cost money to implement, it would (significantly) reduce the income to the city from parking tickets.
As a DC resident, I agree. My wife got a ticket for parking illegally, but could not find a sign (among many) that prohibited it. She took pictures of everything and went to court. They upheld the ticket under the argument, "the sign must have been there somewhere".
There is also a disconnect between intent and enforcement. For example, I live by a school. No parking M-F, 8am-3pm because busses have to get through. Makes sense. But neighbors have been ticketed on the Friday after Thanksgiving: they're violating the sign, but not the intent of the sign.
I'm always baffled at how the burden of proof can be so low for traffic infractions. Why doesn't "innocent until proven guilty" apply? Just because the stakes are so low doesn't mean we can toss that out.
Probably one of those situations where the city can't afford to have people fighting smaller fines regularly, so they try to discourage people from doing so.
I think that tax-payers should be the ones to pay for enforcement of regulations that are claimed to benefit them. Governments, local and otherwise, should be barred from using fine money for the 'general welfare'. To do so sets up a conflict of interest and condones extortion.
Instead, fine moneys should be ear-marked towards remediation and reparation of the 'crime' committed. E.g., in this case, all parking fine money could be put into a fund towards building parking ramps. In the case of speeding tickets fine money should go towards rumble-strips, guard rails, additional lanes and other features that make it safe to drive at higher speeds. Etc. Etc.
In October 2014, she got an email from Los Angeles city
council person Paul Krekorkian. He wasn’t writing to ask
her to stop producing LA signs. On the contrary: he wanted
her permission to propose her design at the next council
meeting.
The idea that parking fines are a source of significant revenue is pretty bogus. NYC for example collects around $500m in fines while spending about $200m for the NYPD division of traffic control and another $270m for the Department of Finance (which collects the fines) and while these costs are not entirely dedicated to the purpose of issuing tickets, it gives you a sense of the scale of net revenues from parking tickets (low hundreds of millions at most) compared to a city budget of over $75 billion.
Parking tickets exist because public property in urban areas is extremely valuable and the opportunity cost of letting some scofflaw waste the space is enormous.
That's really, really lazy logic you're (not) trying to compute. If the send-your-enemies-glitter guy wasn't in it for the money, why'd he sell his site for money?
Also Chicago sold the rights in a fire sale due to some combination of budget shortfall, corruption, and incompetence. After the fact, independent appraisers found the contract should have been worth more than $2B, but was sold for just over $1B.
I also don't get push notifications of my e-mail. I also don't get a ton, but it's a well known fact to my colleagues that I don't reply to e-mail instantly and if they're sending me an e-mail expecting an immediate reply, then they should re-evaluate why they're sending me an e-mail.
The "unnecessary syntax" that a lot of people tend to loathe, I actually prefer. Maybe not semi-colons, but it takes me a day or two to get out of/into the habit of typing semi-colons at the end of each line, so it's not a big deal.
But on the whole, I dislike whitespace-strict syntax (python for example). I'd much rather have my curly braces simply for the specificity they apply to the code for opening and ending blocks.
I didn't go to one of those 3-Month programs, but I've interviewed some people who have.
Just like any other education program, you're going to get out what you put in. There is only so much that can be covered in a 3 month period of time. When starting from, essentially, nothing the instructors have to really push on the gas to get through a lot of material to get their students to a place where they can start being productive.
Unfortunately this means that a lot of fundamental programming concepts are glazed over, or skipped all together. That's not inherently bad, but the onus falls on the student to really research more, and apply lessons taught in different ways. A lot of people don't have the motivation to do this - and that really shows through when interview time comes around. It's very easy to spot the graduates who followed the program and haven't put in the extra time to understand all the information they've been given.
I think the key is to really evaluate what your expectations are. No one here can tell you which course to take, or which is best for you. It really depends on the style of learner that you are, how much work you're going to put in, and what you expect to come out the other side of the process with.
structure and locality instead of style purity.
Traditional CSS gives you basically nothing in terms of hierarchy or organization. You end up writing long, awkward selectors like .checkout .summary .item-title .price, which still aren’t that readable. And if you’re tracking down why there’s 4px of padding instead of 6, good luck figuring out which of the five CSS files is messing with it.
Tailwind flips that. Putting the styles right on the element means the structure is obvious. You don't have to context-switch or go hunting through a bunch of files just to see what’s going on. It’s all right there.
Yeah, sometimes it gets verbose. Especially when you’ve got a div with 20+ classes. But when that happens, you’ve probably got something reusable anyway. And Tailwind actually shows you that. If you copy and paste the same set of classes to another element, you’ve just signaled that you’re repeating yourself. That’s your cue: take the extra 60 seconds and extract it into a component or class. With vanilla CSS, that signal is way more opaque. People end up not writing composable styles at all. Instead, they name every div, then name every element inside the div, just to avoid writing selectors like .component div h1 span—which is even harder to reason about than .component .title .icon.
And honestly, writing Tailwind is just faster. Typing px-4 is way easier than padding: 0 4px;, and I don’t have to stress over naming a class that won’t collide with anything else. Naming things sucks. Tailwind helps you skip that whole mess and just build.
Another bonus: Tailwind is easy to delete. You don't get tangled side effects or some random override breaking stuff in weird ways. Kill a class and you know exactly what changed because it’s right there in the markup.