- cross-posted to:
- programmerhumor@lemmy.ml
- cross-posted to:
- programmerhumor@lemmy.ml
My experience is that the programmers from the first row very much still exist. My theory is that the number of programmers from the first row stayed the about same or even increased slightly. There are so many more so called “programmers” overall now, however, that in relation the first row programmers are much rarer now. And to be fair, you don’t need a programmer capable of programming entire games in assembly to center a div.
And vice versa, you don’t need to know how to centre a div to create a game in assembler. I’m comfortable using pointers and managing memory, but don’t ask me to do anything with web UI.
I’m guessing that someone who figured out how to keep a high score box centered on screen using assembly will figure it out to do it with CSS.
The reverse, not so much…
But you dont what the code of the assembly-style centered div in your codebase. Because nobody will be able to read it and understand what it even does. There are abstraction specific ways to solve problems and the right way to do something in assembly is not the right way to do it in CSS.
Agreed, in my limited experience with both CSS is like the conceptual opposite of assembly. When I do web design I tell it what I want to look like but can’t see how it’s getting there because that’s done for me. Assembly is the lowest level of abstraction we’ve got and it took me ages to write a little program for class that returns an argument in it (Jasmin VM) and then get GCC to compile it.
I would say that CSS is like doing an incantation that magically makes the site look good if you do it right, and assembly is like building something by hand.
This can be generalized to say that programming has become such a diverse profession that you will find experts in one area that know very little about others. There’s simply too many things that are programmed in too many ways for anyone to know it all anymore. Hell, that was the case in the 70’s and 80’s too.
Okay but how do u center a div in 2025
If using plain CSS, usually it’s enough to set
width
appropriately, andmargin-left
andmargin-right
toauto
.If using a Modern Frontend/CSS Framework, then may God have mercy on your poor soul.
(Seriously I just started a new project with TailwindCSS and I’m so confused. But not entirely desperate yet.)
My brother in Christ TailwindCSS just gives classes that let you do inline styling in a shorter syntax! (and theme configuration, but mostly inline styling)
Replace
width: ...px
withw-...
,margin-left: ...
withml-...
andmargin-right: ...
withmr-...
. Setting both horizontal margins ismx-...
and both vertical margins ismy-...
.If you can do inline styling, TW just makes the syntax a bit shorter, but that’s it, really.
So what is the point of these frameworks if they make it harder?
If you spend a lot of time on a single framework, you will transcend and become a sort of frontend diety, growing multiple extra limbs allowing you to type in CSS classes faster than any mere mortal
Until everyone moves over to the next thing and you start from 0 again. Web dev is a nightmare.
What’s sad is that web development is only a nightmare so websites can be worse.
I genuinely believe it’s part of the concerted effort by the cabal to make us accept a ‘new normal.’
They don’t want an environment where anyone feels like they can make a website. They want us to believe we need to spend years studying before we can do anything, and even then we can only do what our bosses tell us to.
This is a bit of a stretch I think…
Web development is complicated because it’s indredibly poorly “designed” from the beginning, and doing a full redo is impossible.
It is 100x easier today than it was in 2006 when I started.
It’s easier today to make a website that would be ‘acceptable’ in 2006.
Generally I find many these frameworks will make some complicated things simple, but the cost is some things that were once simple are now complicated. They can be great if you just need the things they simplify - or in other words can stick to what they were intended for, but my favorite way of keeping things simple is to avoid using complicated and heavy frameworks.
I think they exist because of ignorance.
People who don’t understand how to do a task will usually choose the wrong tools for that task.
If someone is trying to cover up their lack of knowledge, they will usually make things more complicated than they need to be.
w-... mx-auto
, replace the 3 dots with your desired width value, and that’s it with tailwindI’m doing a small hobby project (a ladder/ranking system for playing beer sports with my community), and I tried out Tailwind.
I gave up and loaded Bootstrap instead, but I will probably end up just writing all the CSS myself.
Seems so silly to have 15 CSS classes on a single DOM element…
Why is that silly? As long as the classes follow a strict naming scheme & have useful abstractions, that seems much better than having to give every node a unique class name that doesn’t necessarily have much meaning. I can’t count the number of “container” and “wrapper” and “content” classes I’ve seen & written, where the names don’t describe anything useful.
Who’s saying you’re using the frameworks correctly?
Shouldn’t they be designed in an intuitive manner that makes misuse more difficult than regular use?
Otherwise, why even bother using them? It’s like now you need to know all the ins and outs of CSS and a trendy framework that will lock you into their ecosystem.
Kidding aside, I think the popular frameworks these days are incredibly well made. Frontend web has always been hell, and if your job is producing functional web GUIs, you can’t do it on a large scale without them.
Based on my own experience developing GUIs, I’ve reached the conclusion that creating them through code is obsolete.
We should be focusing on developing GUIs to develop GUIs, like Godot, instead of ‘frameworks’ that make an obsolete method of doing things even more cumbersome and complex.
Well, I find bootstrap very intuitive, and I don’t have 15 classes on my elements. That’s why I was asking.
Depends if you’re centering the div or the things in the div. Which has probably been the main issue since CSS was invented.
If you define what you mean by centering I’ll give you a straight answer.
Vertically? Horizontally? Center the text or the entire box? Compared to the viewport, the parent container or the entire page?
“Centering” isn’t as straight forward as you’d think, and what you actually want usually depends on the situation.
Nah, just flex them boxes
Yeah that works if you wanna center a box of content it relative to the parent container, either horizontally or vertically. For other situations we’ve got different tools
Fuck it, align=‘center’. That’ll center it horizontally relative to some context and if that’s not good enough then you should have been more precise in your request.
Make your web page in GIMP, export to PNG,
<img>
.Same way you did it in 2024 but it’s easier because the springgirdles have been replaced with rotated manglebrackets.
While centering div, you add one to 2023.
You count half the pixels and put them in a margin-left
Ask the browser nicely while using please and thanks.
use
display: flex
flex-direction: column
align-items: center
on the parent container
2050: people still wondering how to center a div because html and CSS is a nightmare.
maybe the div is already where it’s meant to be
It’s not about the center, it’s about the friends we made along the way.
What threw me was having to set a width.
I once had a junior calling me in a panic because he didn’t know how to quit nano. NANO!
Nano… Like… The one that has all the keybinds permanently shown at the bottom of the screen?
Burnt into the old LCD screen.
And your retinas.
Yeah, that one…
Onscreen instructions unclear, pressed Shift+6+X. Still stuck in Nano.
That deserves a “do you know how to read?”, because the exit command is on the lower part of the screen for nano
To be fair, they show up as “^X” or whatever, and typing [Shift]+[6] followed by the [X]-key doesn’t do the trick.
Huh? Isn’t it like right there at the bottom of the screen?
I guess not knowing that ^X means Control+X could be the issue, but still…
TIL!
Can exit nano on my own, have the common sense to not call in a panic about it before at least looking it up. (Which is how I learned how to exit it: looking it up.) But was never taught about ^ meaning “Control+” until your comment, especially since nowadays people write it out as “Control+” or “CTRL+”.
I might have put two and two together when dealing with everything else in nano after I learned to exit, but never really internalized the rule “^ means Control+”. So thank you for your comment!
Disclaimer: I feel like I am too stupid for most of programming.dev but participate here anyways because I learn stuff from the comments.
Don’t feel stupid. It’s bad enough that all of IT is one giant impostor-syndrome support group. There’s literally too much for any one person to know, and it’s been that way for a very long time. Just give it your all, and memorize how to reliably search and look things up; take notes for the really important stuff. The rest will filter into your memory with practice.
Also: anyone that holds this kind of thing over your head is attempting to distract from how much they don’t know. Most people in this industry understand and don’t judge.
As for the
^
thing, I recall seeing that as far back as the 1990’s. I want to say Microsoft actually popularized it, but it could easily be OS2 (IBM) or Apple. In hindsight, it’s kind of wild to have a TUI (terminal user interface) hold your hand like this. Nano (and Pico) are kind of in a special category like that.
Do you remember the “press any key to exit”? Someone asked where is the “any” key.
Nano nano!
drinks water with finger
Ork humor. Love it.
I mean, maybe it was just me but I had to search what the hell ^ meant in nano, but after that it was alright.
I had an intermediate not understand how to read a pipe-delimited text file.
Read as in, with their eyes? Or how to ingest it into some other app/script? Cos I’m vaguely aware that awk can be used in some way for this, but wouldn’t have a clue how.
awk is practically made for record processing, within the shell you can set
$IFS
. The reason so many ancient UNIX file formats use:
as separator is because that’s the default setting of$IFS
.It’s all a huge PITA, though. I mean there’s a reason why people started using perl instead. Nushell is great for that kind of stuff, even more so if you have random json or such lying around it loads just as easily. “Everything is a string” was a mistake.
The former.
Wth is “Fixing memory leaks using pointers”?
Similar energy:
deleted by creator
QA: “Yeah, Hi. Can you look at this defect ticket?”
Reading ticket details…
Me: “Let me guess. Is [whatshisname] responsible for this?”
QA: “Yeah.”
Me: “Get him to fix it.”
QA: “I tried. Like four times.”
Me: Sigh “I’ll take care of it.”
QA: “Thank you!”
80s programmers hated Unix, btw. Look up Unix Haters Handbook, it’s a free and funny read
Unix Haters Handbook
https://en.wikipedia.org/wiki/The_UNIX-HATERS_Handbook
Didn’t knew this. It has 360 pages, wow!
EDIT:
The Macintosh on which I type this has 64MB: Unix was not designed for the Mac. What kind of challenge is there when you have that much RAM?
hehe
A lot of it was fair criticism at the time. Linux fixed some of what was wrong. Having a good
sudo
config mostly resolves the problem of having one superuser account, and big, multiuser systems are a lot less common now, anyway. X’s network transparency features aren’t that useful in modern computing contexts, either, though I have found a few over the years.But mostly, it’s because the landscape changed from a hundred Unix vendors vs a bunch of other OSen, to now where it’s Windows vs Linux vs OSX. By that comparison, the two with Unix-derived history look well thought out.
(This also implies that NextStep was the one old Unix vendor that has survived in a meaningful way. I don’t think anyone would have guessed that 30 years ago.)
They also hated their local sysadmin. BOFH still holds up in a few key ways.
Thanks. I didn’t know there was a real band called “The Pipi Pickers” and I might have lived on happily without that knowledge.
Good thing GNU’s not Unix
I prefer the MIT link, it’s faster 😁
Unix does so many stupid things and we’re still stuck with some of them. Especially the terminal section still applies today.
Hey buddy, if I fix one bug and cause three more, it’s called job security. Where’s my medal?
I have to say, I’m pretty sure those guys were in the past too.
Getting to keep your job is your medal then.
Honestly, CSS is a fucking joke and it’s solely to blame for why centering something isn’t always straightforward.
By the way, this picture is a crock of shit for people who aren’t programmers. Anyone who is a programmer will not take it seriously because programming is so much more about helping others instead of shaming them.
Stackoverflow: exists solely from the urge of developers to help developers, and since ExpertsExchange was paid dogshit.
This meme: pisses on its whole purpose.Stackoverflow is for senior devs to clown on junior devs. It’s the inverse of helping juniors.
CSS is amazing, if you know how to use it 😉
Everybody complaining about css like “but it doesn’t do what I want if to do without me investing a minute into why”.
Ironically, it’s oh so often the RTFM crowd.
I once had an intern attempt to install sudo using NPM and when that didn’t work he asked ChatGPT “Why can’t I install sudo from NPM?” while I’m trying to explain it to him.
He was smart, but somehow knew very little about commercial computers despite being on the verge of getting his master’s in computer science.
“Wait why can’t I install windows iso from vscode extension store?”
Can’t exit Vim
Ah yes, the legendary filter
I can exit Vim, it just feels like trying to rip out the dashboard and the interiors from a family car because race cars also lack them. Kate is a good speedy alternative to VSCode, not to mention it also does not have Microsoft’s greedy hands on it.
I don’t get your analogy, but (neo)vim is a full featured IDE if you configure it to be one
Out of the box, Vim’s default configuration is very basic as it’s trying to emulate vi as close as possible. It like if you want things like headlights or a heater or a tachometer in your family car, you got to create a vimrc and turn those features on. That was my experience when I first started using Vim - I spent a lot of time messing around creating a vimrc until I got things the way I wanted.
One of the big changes with Neovim is their default settings are a lot more like what you would expect in a modern text editor.
Yeah that’s a fair way to look at it
I first tried vi in the early 90s, before I had easy access to online resources. I had to open a new shell and kill the vi process to exit it. Next time I dialed into my usual BBS I asked how to exit that thing. But since then I’ve liked it, because vi has been on every system I ever ssh’ed into.
You quit it just like you quit
ed
orex
, just that you have to enter the prompt (:
) yourself asvi
is not by default in prompt mode. And you should knowed
,ed
is the standard editor.I use Helix btw.
the only reason people use vim is because they are stuck in there
:x
it says I don’t have permission
:q!
I wanted to follow up with the other error, where you didn’t open a file, so it doesn’t know where to write, but :q! always works :/
Can I somehow not discard my changes tho? I always open a 2nd terminal in root only for vim when editing system files so I don’t have to re-do the whole config but this time in sudo.
Cumbersome: save to some temporary file I guess.
:wq
will save the current buffer and quit.
Nah, it’s not that bad.
In 10 years with continued AI use? Yep.I’m thankful for AI. It guarantees my job as developer will continue to exist to repair all future AI-damage.
I started with C++ and went to Java to .NET to Javascript and now to Terraform.
I know this is all a joke but there’s something definitely different with the ones above and the ones below. There’s a bit of satisfaction you can get sometimes when you’re working with memory directly and getting faster feedback (yes, there’s more math back then and it wasn’t easy to look stuff up, for sure). However, there’s new challenges nowadays … there’s so many layers on top of layers. I feel as though Stack Overflow and ChatGPT are so needed because the error messages and things we give are obfuscated or unclear (not always any library author’s fault as there’s compatibility issues, etc)
We’re doing serverless stuff at my current company and none of our devs run code locally. They have to upload it using CDK or Serverless Framework to run on the cloud. We don’t use SST so we can’t set breakpoints but like that’s a lot of crap inbetween just running your code already. Not even getting into the libraries and transpilers and stuff we use. I spent like a few weeks over Christmas to get our devs to run the code locally. Guess what? None of them use it because they’re so use to uploading it. I was like, "you can put breakpoints in it! you can have nodemon and it instant reloads! nope, none of them care … "
First learning is last learning.
Same reason we still do
console.log("FUCK")
.First learning is last learning.
I’ll be the dumb one to ask: what do you mean? Is this that making a mistake that costs a lot is the best teacher, because you only have to mess it up once to learn it forever?
Pretty sure they mean people don’t learn something again when they already learned it. Once you learn how to do something, willingness to learn it again but a different way dries up, and so you stick to bad habits as long as they ‘work’
It’s a mantra about teaching people and then expecting them to forget it. Doesn’t work. They’ll default to what they already know.
My freshman English teacher got married in October and I called her by her maiden name the entire year.
Like all programming mantras, it’s not universally true, but it’s annoyingly reliable. It reflects the shape of the human brain.
Bottom right has always happened, just create bugs yourself and then fix them to keep your job
It’s easy, just use @media and padding to the left side of the div to put it in the centre for each screen size.
div { margin: auto; }
“jubilationtcornpone is a great dev. He closes more tickets than anyone.”
I can’t remember some syntax unless I do it at least 100 times. I often look up stuff that I have already done before and know because of my goldfish memory.