Spyke
lemmy.world

We need to bring back 2010-2012 rage comic memes. All we needed was a badly cut-out blonde wig to trans Derp's gender.

43

So were "computers". It used to be a job, delegated mostly to women. The JD is doing calculations day in and day out.

12

The moon landing by hand wouldn't have been as funny without the over the top body builders first.

11
programming.dev

"Creates a whole game in assembly" is probably referring to roller coaster tycoon, which was written by a man. (lots of other games were written in asm, like many NES games, but I'd wager RCT was what they were alluding to)

11

That was my immediate thought. There were many that came before RCT, but it has the distinction of being (possibly) one of the last in an industry that had already moved on to higher-level languages to do merely half as much.

3

No, I don't think so. It's true that many of the earliest programmers were female, but there were very few of them, and that was a long time ago.

In a way, Ada Lovelace was the first programmer, but she never even touched a computer. The first programmers who did anything similar to today's programming were from Grace Hopper's era in the 1950s.

In the late 1960s there were a lot of women working in computer programming relative to the size of the field, but the field was still tiny, only tens of thousands globally. By the 1970s it was already a majority male profession so the number of women was already down to only about 22.5%.

That means that for 50 years, a time when the number of programmers increased by orders of magnitude, the programmers were mostly male.

3

Depends how far you go back. The top half is pretty representative of the professional dev team I was in in 1992.

2
barsoapreply
lemm.ee

The large initial percentage of female coders was due to computer having been a female job, because secretary was. Their role within companies didn't change, what changed is that they were using machines to do the computing instead of doing it by hand.

We're kinda lucky to have the woke trifecta (Ada, Grace, Alan) (first programmer (woman), inventor of compilers (woman), absolute unit (gay)) to keep the chuds at bay. Even if we weren't all socially inept nerds (or pretending to be so to bosses) there's only so much you can do, culturally, if the population is growing exponentially. Uncle Bob (yes I know he's a chud) did the maths at some point IIRC it was something like the number of programmers doubling every two years. Which also means that at any one point in time roughly 2/3rds of programmers have no idea what they're doing, which explains the javascript ecosystem.

7
andioopreply
programming.dev

At first I thought this was the Wicked Witch of the West's actress and thought she must have been multitalented. Then I looked it up to verify. Nope, same name, different women.

2

If you want famous actresses who contributed to technology, you want Hedy Lamarr:

At the beginning of World War II, along with George Antheil, Lamarr co-invented a radio guidance system for Allied torpedoes that used spread spectrum and frequency hopping technology to defeat the threat of radio jamming by the Axis powers.

5
lemmy.world

I feel very confident in my understanding of random 8 bit CPUs and their support chips, but asking me to center a div is like this xkcd.

130
Ethanreply
programming.dev

I’ve never understood why people are so intimidated by tar

28
lemmy.world

Thanks! This will definitely help me to remember it from now on.

Me 6 months from now:

tar -EZVF

34
zurohkireply
aussie.zone

Nobody wants to deliberately use the wrong compression type when extracting, so modern tar will figure out the compression itself if you just point it at a file. So tar -xf filename works on almost anything. You don't need to remember which flag to use on a .tar.bz2 file and which one for a .tar.xz file.

18
qjkxbmwvzreply
startrek.website

It is "backwards" from some other commands --- usually you run copy/rsync/link from source to destination, but with tar the destination (tarball) is specified before the source (directory/files).

That, and the flags not needing dashes always just throws me for a loop.

And the icing on the cake is that I don't use tar for tarring that often, so I lose all muscle memory (untaring a tgz or tar.bz2 is frequent enough that I can usually get that right at least...).

7
Ethanreply
programming.dev

I almost never create a tarball, so I have to look up the syntax for that. Which is as simple as man tar. But as far as extracting it almost couldn't be easier, tar xf <tarball> and call it a day. Or if you want to list the contents without extracting, tar tf <tarball>. Unless you're using an ancient version of tar, it will detect and handle whatever compression format you're using without you having to remember if you need z or J or whatever.

2

It can be easier if you're used to the dash before the arguments; it's optional but you can put them:

tar -cf   # Compress File
tar -xf   # Xtract File
1

I got tired of looking up the options for each possible combination of archiving + compression, so today I have a "magic" bash function that can extract almost any format.

Then for compressing, I only use zip, which doesn't need any args other than the archive name and the thing you're compressing. It needs -r when recursing on dirs, but unlike "eXtract" and "Ze", that's a good mnemonic.

2
mercreply
sh.itjust.works

One reason is that tar supports both traditional style args "tar tf <filename.tar>" and unix-style args "tar -tf <filename.tar>" but there are subtle differences in how they work.

1
Ethanreply
programming.dev

Literally the only time I’ve ever run into that is when I was trying to manipulate the path it extracted to. In 99% of cases I’m doing tf, xf, or cf plus flags for the compression type, etc, and those differences are irrelevant.

1
mercreply
sh.itjust.works

I used something recently where it wasn't possible to use the traditional-style args. I think it was a "diff", which meant I needed a "-f". It wasn't a big deal, but, occasionally it does happen.

1

I’m not saying it doesn’t happen. This thread started because I said I’ve never understood why people talk like tar is some indecipherable black magic. Common tasks are easy and there’s a man page for everything else.

2
lemm.ee

Hey now. Searching stack overflow circia 2011 to 2018 was an Art. You had to know enough to find the correct question that wasn't deleted because a mod thought it was a duplicate of another question

66
kautaureply
lemmy.world

Also to find the actual correct answer three comments down because the one that was voted highest worked, but was actually a really shit way to do the thing being asked

21
milkisklimreply
lemm.ee

I often found the correct answers in the comments of an answer

12

After a while you got know which stack overflow questions were a waste of time, and you used that knowledge for years.

5

Before that you had to hang out on flipside or other gamedev sites and show your worthiness before begging for information.

I was so proud when they shared the DS hack (basically a homebrew SDK made by trial and error by some people) so that I could make small games on it.

2
feddit.org

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.

62
zerofkreply
lemm.ee

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.

27
ByteJunkreply
lemmy.world

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...

16
groetreply
feddit.org

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.

6

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.

7

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.

5
bisbyreply
lemmy.world

Nano... Like... The one that has all the keybinds permanently shown at the bottom of the screen?

70

Onscreen instructions unclear, pressed Shift+6+X. Still stuck in Nano.

10
programming.dev

That deserves a "do you know how to read?", because the exit command is on the lower part of the screen for nano

18

To be fair, they show up as “^X” or whatever, and typing [Shift]+[6] followed by the [X]-key doesn't do the trick.

2

Do you remember the "press any key to exit"? Someone asked where is the "any" key.

4
lemmy.world

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...

4
andioopreply
programming.dev

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.

4

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.

3
vithigarreply
lemmy.ca

I had an intermediate not understand how to read a pipe-delimited text file.

0
Zagorathreply
aussie.zone

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.

7

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.

3
sh.itjust.works

One of my favourite game dev stories from the 1980s is the story of Elite. It was a game people thought couldn't be made. Most devs thought hardware wasn't powerful enough and publishers thought it wouldn't be fun enough.

It was one of the first properly 3D open world video games ever made. I think when it released it sold nearly as many copies as there were home computers that could run it.

In order to make the game small enough to fit on a cassette tape they had to ditch basic and program the entire game, world in assembly.

There's a fantastic video about it here: https://youtu.be/lC4YLMLar5I

47

In order to make the game small enough to fit on a cassette tape they had to ditch basic and program the entire game, world in assembly.

Putting aside the fact that the majority of commercial games of the time were written in assembly (or other low-level languages) just as a matter of course, I strongly suspect that programming the game in assembly was an execution speed issue, and not a cassette space issue. Regular audio cassettes easily held enough data to fill an average 8-bit home computer's memory many times over, whether that data was machine code or BASIC instruction codes.

11
Lemminaryreply
lemmy.world

the game small enough to fit on a cassette tape

Holy hell, that is OLD old. We're talking about the beginnings of digital time here. Had the first web constellations formed yet? How fast did you crank your CPU?

11

Yeah, I played it a lot, and a similar one called aviator which was a kinda flight sim. There wasn't really much of an internet back then but stuff was easy to copy on tapes.

3
zurohkireply
aussie.zone

You couldn't crank your CPU in the olden days, it'd make games run in fast forward.

3

To be fair, unlocking the frame rate on console-to-PC ports still fast-forwards many games including Nier: Automata or breaks the physics like in Skyrim.

It doesn't have to be this way, any more, but it still is because… Lack of expertise? I really can't think of anything else?

1

Elite Dangerous is the most recent installment of the series started by that game

2
Rosereply
slrpnk.net

If using plain CSS, usually it's enough to set width appropriately, and margin-left and margin-right to auto.

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.)

17
Korhakareply
sopuli.xyz

So what is the point of these frameworks if they make it harder?

11
Ricazreply
lemmy.dbzer0.com

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

16
feddit.org

Until everyone moves over to the next thing and you start from 0 again. Web dev is a nightmare.

10
gradualreply
lemmings.world

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.

0
Ricazreply
lemmy.dbzer0.com

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.

1

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.

5

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.

0

w-... mx-auto, replace the 3 dots with your desired width value, and that's it with tailwind

4
Ricazreply
lemmy.dbzer0.com

I'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..

3

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.

1
gradualreply
lemmings.world

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.

0
Ricazreply
lemmy.dbzer0.com

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.

2

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.

0

Well, I find bootstrap very intuitive, and I don’t have 15 classes on my elements. That’s why I was asking.

1

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 with w-..., margin-left: ... with ml-... and margin-right: ... with mr-.... Setting both horizontal margins is mx-... and both vertical margins is my-....

If you can do inline styling, TW just makes the syntax a bit shorter, but that's it, really.

1

Depends if you're centering the div or the things in the div. Which has probably been the main issue since CSS was invented.

10
lemmy.world

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.

10

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

4

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.

3

Same way you did it in 2024 but it's easier because the springgirdles have been replaced with rotated manglebrackets.

6

Ask the browser nicely while using please and thanks.

5
sopuli.xyz

The missing middle section was documentation and QA getting worse

42
fedia.io

Well yea, when you train the entire 2nd generation of coders on a book that is “For dummies” what did you expect?

7
PoPoPreply
lemm.ee

probably a lot less performant than doing it the old fashioned way. sometimes that matters. you should have the non-grid non-flex method half committed to memory. abusing flex or grid to save 2 lines of code is not a great practice, and having only one child element is usually a pretty clear sign that flex/grid is the wrong tool for the job

at the end of the day though do whatever you want, in fact why not just write a javascript function to recenter it every frame at 60fps cause 99.9% of the software 99.9% of people interact with is pure shit made by developers who don't care for users who don't care.

we live in a slop world, made by and for slop people who love slop. can you tell i've been awake for 30 hours? anyways...

2

80s programmers hated Unix, btw. Look up Unix Haters Handbook, it's a free and funny read

35

Thanks. I didn't know there was a real band called "The Pipi Pickers" and I might have lived on happily without that knowledge.

2

Unix does so many stupid things and we're still stuck with some of them. Especially the terminal section still applies today.

2

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.)

2

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!"

35
lemmy.world

Hey buddy, if I fix one bug and cause three more, it's called job security. Where's my medal?

34
lemmy.wtf

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.

30
fedia.io

It's 2025 and I have no idea what the current way to center something is. Then again, my job is that of a backend engineer so it's rare I'm outputting anything that isn't a log statement. They can pry tables and center tags from my cold, aging hands.

30

IMO tables should be more used for... tabular data. Shocking, I know, but the amount of websites that try to emulate a table with divs and uls out there is crazy.

2
lemmy.ca

People have been hm unable to quit vim since before I was born.

21

I swore up & down that I'd learn at least two ways of exiting VIM. I even went through basic training to learn all the shortcuts, but it interfered with my regular workflow, so I dropped it "for a bit". It's been a year and I can't remember a damn thing.

4

The fact that the div center search needs a year on it got me lol

Loving my nearly frontend free development life. I use Stackoverflow or Google maybe 2-3 times a month these days, not sure if I qualify for the upper row :(

20

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.

2
lemm.ee

Can't exit Vim

Ah yes, the legendary filter

18
lemmy.world

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.

7
Hexareireply
programming.dev

I don't get your analogy, but (neo)vim is a full featured IDE if you configure it to be one

3
toddestanreply
lemm.ee

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.

1

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.

5

You quit it just like you quit ed or ex, just that you have to enter the prompt (:) yourself as vi is not by default in prompt mode. And you should know ed, ed is the standard editor.

I use Helix btw.

2
sh.itjust.works

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.

1
lemmings.world

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.

15
SirQuackreply
feddit.nl

Stackoverflow: exists solely from the urge of developers to help developers, and since ExpertsExchange was paid dogshit.
This meme: pisses on its whole purpose.

6

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.

2

Yeah, there are already papers about the massive widespread use of AI on universities

1

I'm thankful for AI. It guarantees my job as developer will continue to exist to repair all future AI-damage.

1

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 ... "

10

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.

8

I read that as he created a game in assembly, and can't quit vim. Whether technically or sexually is up to OP to say. And what's the game?

2
Slovenereply
feddit.nl

I turned 40 two days ago. Get off my lawn!

4
Jankatarchreply
lemmy.world

When you turn 40 do they issue you a lawn or do you not turn 40 until you have a lawn?

3

You are issued a lawn IF you have chronic back pain. Otherwise you have to wait until you're at least 50.

3
lemmy.world

I still want to get into coding the OG manual way (because I enjoy pain and disappointment apparently) but now it seems like a waste of time since vibe coders and 13 year olds already are lightyears ahead of me. Also I have no reason to learn it, all apps are already built xD

3
gradualreply
lemmings.world

all apps are already built

Couldn't be further from the truth. You also have to consider competition.

4

Can't think of anything that could serve a major need right now, but I absolutely identified things in my life where I could use a preexisting tool to accomplish my goal, but it's much less hassle for me to use the one I made for myself. You don't have to transform the world, sometimes you can help yourself with a minor inconvenience and then put it out there for anyone who might find themselves with the same inconvenience.

2

True. But it seems like it's way too late to start learning any programming now. Plus it's saturated. I'll learn it on the side for fun but it'll probably never be a viable job for me

1
lemmy.world

I'm in the same boat. I used to be an amateur front and back end web developer. Almost made a text based RPG in middle school. I had to stop when shit got crazy in high school and college, but I don't feel like any programming is worth my time right now. I'm focusing on gardening and maybe some cooking. You know, human activities that we can still enjoy.

3

Yeahh exactly. AI has pretty much ruined computer based fun now. Which in some ways is good, we should all learn physical hobbies again and not be reliant on tech. I still enjoy my hobby desktop computers though, I just enjoy learning how it really works under the surface.

0

I just uh... thought about this a little bit further and I think it's kind of like a situation between truth and circumstance and shit on top of shit. as well as who does it serve and for what?

1

I know someone that still uses ed for all their code editing.

1

They wrote machine code with paper. That's fucked. 1011110011100001.

That's some autistic bullshit right there.

1

I've never asked ChatGPT to fix a syntax error because I use Copilot

If you are going to be this pedantic, I'll have you know Copilot is a ChatGPT model in a Microsoft skin.

2