Remix.run Logo
shermantanktop 19 hours ago

I encountered juniors straight out of school who don’t know what tar is, or rsync, or what a symlink is.

It’s all learnable and everyone starts somewhere. But you’d think natural curiosity would kick in and they’d have picked up some of this on their own by the time they have a job.

Telaneo 18 hours ago | parent | next [-]

I didn't even know about tar or rsync until I started to use Linux, and I don't really see how else one get to the point where you need to know about them. And even symlinks are still in my mind as 'shortcuts but [...]' (even though the other way around is probably more accurate). Even as a dev, it's very possible to go through life without touching Linux.

t-3 12 hours ago | parent [-]

If you've built any open source software ever, it's pretty hard not to know of tar, even if you don't know exactly what it is. I think it's reasonable to expect anyone interested in computers would be familiar with common compression tools, let alone a CS major.

Telaneo 12 hours ago | parent [-]

> I think it's reasonable to expect anyone interested in computers would be familiar with common compression tools

So 7zip and Winrar?

I joke, but only halfway. If you're only normal Windows user, you'd never hear of anything else (unless you want to go back to Winzip, which does still exist, but I've never heard of anyone using it any more).

christophilus 19 hours ago | parent | prev | next [-]

If they were Windows game developers, they wouldn’t have to touch any of that. I guess it depends on where their interests lie and what platform they developed on.

jasonkester 6 hours ago | parent | prev | next [-]

For what it’s worth, I recently retired from a 30 year career as a developer and while I’m aware of all three of those things, I’ve never used any of them in or out of work.

And I’ve hosted my own web server these last 20 years.

inigyou 5 hours ago | parent [-]

Windows web server?

shermantanktop 17 hours ago | parent | prev | next [-]

Ok, sure, windows.

But here’s one I heard literally two days ago: we counted three engineers (out of many) who knew that physical memory was not actually a giant flat space of contiguous addresses, and that there were multiple layers of address-mapping and region-joining glue logic between a program and the hardware, including in os libraries, and even inside the hardware.

Maybe knowing such information is archaic or useless for most engineers. But the good ones (or at least a certain flavor of the good ones) ask questions that lead them there.

59percentmore 4 hours ago | parent | next [-]

You seem to be under the impression that any part of the average contemporary identity-and-behavioral-development stack encourages asking questions. Babysitting/teach-to-the-test schools don't, authoritarian parents and community authorities and corporate overseers don't, consensus-manufacturing politicians and media don't. (Heck, even our national soccer team doesn't.)(That was a joke.)

Worse, people who find it within themselves to ask questions anyway frequently face silence or a smackdown. The Internet's Own Boy remains no longer with us.

kristiandupont 8 hours ago | parent | prev | next [-]

I wrote x86 assembly back when we were switching from real mode to protected mode, and I still have a feeling that I would not have been able to answer whatever question you asked there in a way that would satisfy you.

I also could no longer tell you how to balance a binary tree or implement Quicksort.

masfuerte 16 hours ago | parent | prev [-]

But physical memory is a giant flat space of contiguous addresses. Do you mean virtual memory?

assimpleaspossi 6 hours ago | parent | next [-]

I almost questioned the same thing but I think we both know that's what he meant.

customguy 10 hours ago | parent | prev [-]

How could it be? For example, each memory stick doesn't know beforehand what other memory sticks it will be used with, so the "physical" addressing of the memory on each stick has to be independent of the others, i.e. a local address, that gets mapped to a virtual one.

inigyou 2 hours ago | parent | next [-]

This guy is right. Physical memory isn't flat. Every system with more than a few cores is NUMA. There are caches and cache lines. Memory channel interleaving. Ranks and banks and rows. Each DRAM chip keeps the last selected row and can access addresses within that row more quickly even if other accesses to other chips occur in the middle, unless a refresh cycle occurs.

It's all a layer below even OS programming. It's configured at the BIOS level and then performed in hardware. But that's the point, isn't it? Virtual memory is below the application programmer, too, but here we're chastising him for not understanding it. If we do that, shouldn't we equally chastise people for not understanding physical memory? Or speculative execution? Or head seeking and servo tracks? Or Ethernet line coding?

hvb2 9 hours ago | parent | prev [-]

But that's not relevant? What would be relevant if, depending on where your bits are stored, acces time is significantly slower. If, regardless of where my data goes, my access time is constant then I do not care as a dev?

That's the abstraction I'm working with when coding. Which is necessary because in most cases this should be an implementation detail.

customguy 22 minutes ago | parent [-]

Really not caring about something also means not making a positive and false claim about it. What I said was relevant to that claim. That claim in turn was, according to your heuristics, not relevant (for daily coding).

wildzzz 18 hours ago | parent | prev [-]

If all you do is write code for Windows, why would you need to know what any of that is?

18 hours ago | parent | next [-]
[deleted]
zikduruqe 17 hours ago | parent | prev [-]

Because Steam... /s