DEV Community

Cover image for Meme Monday

Meme Monday

Ben Halpern on March 11, 2024

Meme Monday!

Today's cover image comes from last week's thread.

DEV is an inclusive space! Humor in poor taste will be downvoted by mods.

Collapse
 
nchandan profile image
NChandan

Image description

Collapse
 
skyloft7 profile image
Mohammed
Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

It stands for "Grenade Launcher" because you're going to want one

Collapse
 
bartoszkrawczyk2 profile image
Bartosz Krawczyk

so accurate

Collapse
 
anitaolsen profile image
Anita Olsen

Hahahahah! 🤣

Collapse
 
ben profile image
Ben Halpern

Let's get it going

Feature doesn't work

Collapse
 
dreama profile image
Dream

meme monday

Collapse
 
skyloft7 profile image
Mohammed

For some reason as a programmer, a peaceful job on a farm or smth like this sounds too enticing. Of course I'd probably ruin it for myself by trying to think about a way to automate my Potato collection and store my harvest data in the cloud and the optimal data structure to cross-reference potato data in a few milliseconds. :)

Collapse
 
syxaxis profile image
George Johnson

I took up photography, it's creative, I get outdoors and I get to control how much or how little I use tech. I shoot film on landscapes, almost none. I shoot digital on architecture and I use loads, to the point I was writing Golang utils to get image meta data extracted

Collapse
 
tyisi profile image
TyIsI

And it's awesome too!

longwalkwoodworking.com/catalog

Collapse
 
jess profile image
Jess Lee

Does this qualify as a meme? I thought it was funny 😃

Image description

Collapse
 
ben profile image
Ben Halpern

Yes

Collapse
 
anitaolsen profile image
Anita Olsen

Works for me 🤣

Collapse
 
ben profile image
Ben Halpern

One line of code

Collapse
 
mellen profile image
Matt Ellen-Tsivintzeli

Working in a regulated industry:

It's one character of code, what could it take, three months of change requests?

Collapse
 
bernert profile image
BernerT

meme monday

Collapse
 
alvaromontoro profile image
Alvaro Montoro
Collapse
 
latobibor profile image
András Tóth • Edited

At this point it feels like the Church of Tailwind gaslights people. It breaks many clean code basics like avoid mental mapping, yet we are told that this approach is cleaner and more efficient than writing normal CSS. It's for people who don't get that locally styling everything from zero is the polar-opposite of the design of CSS. Probably it's the same batch of people who tries to go full-OOP or full-FP in JS not understanding that, sadly, the design of the language will always break important details of either approaches.

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

Sometimes I feel like Tailwind advocates live in a weird fantasy world. So much stuff they say just doesn't seem to conform to reality, like when they say you need to know CSS to use tailwind correctly, or that it makes code cleaner, etc.

Thread Thread
 
jaredgeddy profile image
Jared

I think the main allure is maintainability and code confidence. If you're code isn't dependent on custom "named" classes then you never have to worry about breaking something somewhere else when making a style change. How many times have you changed a class style only to realize it breaks some implementation somewhere else in your app that you now need yet another custom class for though? To your point, no it doesn't make style declaration cleaner, it makes it so you don't have CSS files 1000's of lines long with 100's of unique classes defined that have maybe 1 or 2 property differences.

I'm not a Tailwind advocate but there are legitimate use cases where the philosophy behind Tailwind makes sense. For instance when an app gets too large to maintain any reasonable sense of where classes are applied and you're able to confidently say, "making this style change will only effect this scenario". Or, you have multiple people working on separate teams changing code on the same app. Is Tailwind pointless on a marketing website? Probably. Does it make your mark-up more complex and harder to read? Yes. When you're dealing with an application with 100's of features and UI components and multiple teams though... you'll trade the time it takes to read Tailwind for not having to account for class duplication or test, and fix, your changes to an existing class breaking a different implementation in the app.

Thread Thread
 
alvaromontoro profile image
Alvaro Montoro

the main allure is maintainability and code confidence

Saying that something is more maintainable and at the same time more complex and difficult to read (later in the comment) is contradictory. Complexity and difficulty to read make the code more difficult to maintain. What is it?

How many times have you changed a class style only to realize it breaks some implementation somewhere else in your app that you now need yet another custom class for though?

Almost none. To be honest, I can't remember having that problem at all. Following a methodology similar to BEM (not necessarily BEM) will avoid that problem completely. If your class is something like module-component-element, you will not get name conflicts and it will be easy to know what each class represents (both in HTML and CSS).

it makes it so you don't have CSS files 1000's of lines long with 100's of unique classes defined that have maybe 1 or 2 property differences

The CSS code generated by tailwind is literally CSS files with 1000s of lines of code with unique classes with just one property. You may not see how the sausage gets made, but it gets made anyway.

Thread Thread
 
alvaromontoro profile image
Alvaro Montoro

Don't take me wrong. Tailwind has good things: CSS code pruning which is great, the apply directive (discouraged by the authors), cross browser support (it adds vendor prefixes)... But I wouldn't list maintainability or small code as pros. I would consider them neutral or put the in the cons column.

Thread Thread
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

To your point, no it doesn't make style declaration cleaner, it makes it so you don't have CSS files 1000's of lines long with 100's of unique classes defined that have maybe 1 or 2 property differences.

And I would say that is a sign you need to learn how to use CSS, not change your tool. For one, knowing when to attach a style to a generic element type or class name as opposed to using a utility class is essential, and many people just never bother figuring this out.

That's why I think it's silly when some people pretend that tools like tailwind don't let you get around learning CSS, because you have to know CSS to use TW effectively. I hear this often as a defence when people don't want to admit that they just don't want to learn actual CSS. It shows that they don't even know what they don't know, because the only way anyone could reach a conclusion like that is by believing CSS is nothing more than knowing some property names and maybe understanding how flex works.

This is both insulting to anyone who actually takes the time to learn CSS properly, and paints a very questionable picture of those TW advocate, making it hard to take their word for anything CSS-related.

Thread Thread
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️ • Edited

Almost none. To be honest, I can't remember having that problem at all. Following a methodology similar to BEM (not necessarily BEM) will avoid that problem completely. If your class is something like module-component-element, you will not get name conflicts and it will be easy to know what each class represents (both in HTML and CSS).

I've never liked BEM much, and tend to opt for more of an axiomatic approach to CSS, and I can confirm that I also don't usually deal with these problems. More precisely, it usually isn't a problem, because when I change a rule like "h1 { color: red; }" to "h1 { color: blue; }" it's because I want it to affect headings everywhere.

I call that consistency, and file it as a good thing in the general case.

When I'm dealing with more specific scenarios, I will usually just write more specific rules to reflect that, and tell the browser where or when I want the heading to be blue. Sometimes this even helps me catch myself when I'm using the wrong sort of element or my HTML structure is just weird, which happens relatively often when you're focusing how your page looks.

And in very special cases, adding a style attribute is always an option, if I know a change is specific to one exact situation.

Thread Thread
 
latobibor profile image
András Tóth

That is to understand CSS and match elements to a style guideline: things that must move together should move together, while exceptions should be local (unless there is another general rule).

It is a very good explanation and I encourage you to write an article on it. We need more of this to be out there and we need to convince people that reasonable CSS can be short, terse and clean.

Thread Thread
 
jaredgeddy profile image
Jared

I should clarify, it makes the production code more complex and harder to read, not the source code. Yes it spits out files with 1000's of css but I don't care about minified production code's readability or complexity. I care about the source code I maintain and manage. Like I said, I'm not some tailwind advocate but it has gained traction for a reason.

Collapse
 
jjbb profile image
Jason Burkes

meme monday

Collapse
 
chariebee profile image
Charles Brown

meme monday

Collapse
 
kapaseker profile image
PangoSea

what's meaning?

Collapse
 
lexlohr profile image
Alex Lohr

Array.sort sorts as string, so 100 will be before 20. You need a compare function to fix that.

Thread Thread
 
kapaseker profile image
PangoSea

LOL, I forget about that.

Collapse
 
warwait profile image
Parker Waiters

meme monday

Collapse
 
dinerdas profile image
Diner Das

meme monday

Collapse
 
mrlinxed profile image
Mr. Linxed

H: Yes

Collapse
 
mellen profile image
Matt Ellen-Tsivintzeli

I: Don't call me, send an email.

Collapse
 
nlxdodge profile image
NLxDoDge

Sorry but I am an Java DevOps Engineer Level 3 😎

Collapse
 
best_codes profile image
Best Codes

I saw these on X (formerly known as Twitter) and Reddit recently…

Image description

Image description

Image description

Collapse
 
avanichols_dev profile image
Ava Nichols

meme monday

Collapse
 
marco_43 profile image
Marco

haha it's the same with frontend developer and UI / UX Designer 😂

Collapse
 
pr_kharshakya profile image
Prakhar

I am an artist trying to learn coding, so I can build games

Collapse
 
youngfra profile image
Fraser Young

meme monday

Collapse
 
sherrydays profile image
Sherry Day

meme monday

Collapse
 
best_codes profile image
Best Codes

Image description

If you don't get it, it's funny because JS arrays begin at 0.

Collapse
 
kapaseker profile image
PangoSea

any language's arrays begin at 1?

Collapse
 
lexlohr profile image
Alex Lohr

Lua.

Thread Thread
 
kapaseker profile image
PangoSea

aha, that is really fun

Collapse
 
nlxdodge profile image
NLxDoDge

In java you can do something like this:

var shoppingList = new ArrayList<String>();
shoppingList.add("Milk");
System.out.println(shoppingList.get(0));
Enter fullscreen mode Exit fullscreen mode

That would print milk as far as I know. And if you pseudocode this up to other languages it will (for most) also work the same. It only depends if the implementation starts at 0 or 1.

Collapse
 
fyodorio profile image
Fyodor

Lua

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️ • Edited

Lua "arrays"* begin at 1

* Lua doesn't really have "arrays", but sequences are functionally the same thing, and those start at 1

Collapse
 
russellbateman profile image
Russell Bateman

Pascal's did as I recall, but it's been over 40 years now.

Collapse
 
alexmario74 profile image
Mario Santini

smalltak

Thread Thread
 
kapaseker profile image
PangoSea

sounds like small talk.

Collapse
 
best_codes profile image
Best Codes

Image description

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

Uhm, no, JS arrays start at "0", actually.

There's your daily cursed JS fact, enjoy.

Collapse
 
ivis1 profile image
Ivan Isaac

meme monday

Collapse
 
syxaxis profile image
George Johnson

Or as happened 3 weeks ago, client cancelled project after 4 months in prod, when it took 7 months to design and build! Oh well, I guess I still got paid.

Collapse
 
duncan_true profile image
Dun

meme monday

Collapse
 
anitaolsen profile image
Anita Olsen

I just LOVE this one! 😁
Image description

Collapse
 
mrlinxed profile image
Mr. Linxed

🐍

Collapse
 
vucat12 profile image
vucat12

Image description

Collapse
 
cwrite profile image
Christopher Wright

meme monday

Collapse
 
1link profile image
1Link.Fun

Win + V will save you

Collapse
 
best_codes profile image
Best Codes

Image description