
What Every Programmer Should Know About Memory (2007) [pdf] - federicoponzi
https://people.freebsd.org/~lstewart/articles/cpumemory.pdf
======
lj3
Here's a good companion piece that focuses on CPU features rather than memory:
"What's new in CPUs since the 80s and how does it affect programmers?"[0]

[0]: [https://danluu.com/new-cpu-features/](https://danluu.com/new-cpu-
features/)

------
sctb
Past discussions:
[https://hn.algolia.com/?query=What%20Every%20Programmer%20Sh...](https://hn.algolia.com/?query=What%20Every%20Programmer%20Should%20Know%20About%20Memory&sort=byDate&dateRange=all&type=story&storyText=false&prefix&page=0)

------
fnovd
A fascinating document, but I find it far-fetched that _every_ programmer
needs be intimately familiar with capacitor timing to use RAM efficiently, let
alone write efficacious programs.

As languages without MMM become more popular, it's really up to the compiler
authors (or at least a subset of them) to get all of these details right.

~~~
sigjuice
What is a language without (or with) DMA? The document's mention of DMA does
not seem language related.

~~~
fnovd
Sorry, I mean't manual memory management. It seems like I'm having some
problems with DMA myself!

------
delhanty
(slightly) OT:

The article is well known and the author Ulrich Drepper is also well known in
the FOSS world for his work on the GNU C Library. [1]

So I was surprised to find that he did not have a small English language
Wikipedia page, even though there were pages in German, French, Norwegian,
Japanese and Persian.

Oh, "that can't be right - I'll create one!", I thought. (By translating one
of the existing pages.)

But I could not! The page "is protected from creation" [2].

An archived deletion discussion from 2014 states "This article fails
Wikipedia:Notability (people), Wikipedia:Verifiability, and
Wikipedia:Biographies of living persons and should be deleted." ... etc.

Edit: s/Dropper/Drepper/

[1]
[https://en.wikipedia.org/wiki/GNU_C_Library](https://en.wikipedia.org/wiki/GNU_C_Library)

[2]
[https://en.wikipedia.org/wiki/Ulrich_Drepper](https://en.wikipedia.org/wiki/Ulrich_Drepper)

[3]
[https://en.wikipedia.org/wiki/Wikipedia:Articles_for_deletio...](https://en.wikipedia.org/wiki/Wikipedia:Articles_for_deletion/Ulrich_Drepper)

~~~
ZephyrP
That is bizzare. Is there any way to view historical justifications of this?
Ulrich Drepper is undoubtedly worthy of a Wikipedia page.

I'm starting a draft page now -
[https://en.wikipedia.org/wiki/Draft:Ulrich_Drepper](https://en.wikipedia.org/wiki/Draft:Ulrich_Drepper)

~~~
delhanty
>Is there any way to view historical justifications of this?

See my 3rd reference above from 2010:

[https://en.wikipedia.org/wiki/Wikipedia:Articles_for_deletio...](https://en.wikipedia.org/wiki/Wikipedia:Articles_for_deletion/Ulrich_Drepper)

~~~
ZephyrP
I've been looking for information about Ulrich for these past few minutes
trying to build a draft document and I'm starting to put together the reasons
why Ulrich will not have a page soon...

Ulrich has accomplished so much as a programmer, more than nearly any
programmer ever will. If we measured contributions objectively, he'd
definitely be one of those _" 1% of programmers who produce 95% of software
that is used by more than 1000 people"_. In fact, I just grepped for 'Ulrich
Drepper' on my own personal computer and I've got pages-upon-pages of results
(at least 2kloc) of bylines, commits, man pages and tiny thank you notes with
only one recipient (Ulrich) deep in places you expect and then many you don't:
the Android SDK, Coreutils, Wine project.

When you do a bit of research about him (of the variety Wikipedia would
accept), there's a different story. There are no awards for Ulrich Drepper,
there are no 'real' publications outside of open source that are describing
what he does, there are no lively pieces of evidence that the world recognizes
his contributions, there most certainly are no fanclubs.

What does emerge is a consistent message that the big players of free software
wont tolerate him or his software (along with thousands of 'critiques' of his
leadership style). Looking over this you see a pattern that emerges where an
issue is brought up on a mailing list by people who are trying to help him or
at the very least are neutral towards him and he cuts them down, insults them,
belittles them for absolutely no reason whatsoever ( _" I have to let them
know that they are dumb so they don't write software that hurts the world"_).
It's so comically obvious that he doesn't actually believe he's making
"software" or "the world" any better while he's doing this.

I'm not sure why, but reading about Ulrich Drepper has put the broader world
of software in perspective. I've never thought about the 'legitimacy' of Linus
Torvald's (and others) management style. I have even been known to think that
"asshole bosses get shit done". I had never seen what comes out for the
projects that _aren 't_ Linux. The smaller & more mundane pieces of software
whose petty tyrant isn't tolerated for long.

My initial feeling was that Ulrich Drepper deserves a Wikipedia page, but the
evidence is that the deletionist might be right. Ulrich Drepper is not widely
recognized because he has let his pride, his hubris and his attachment to
criticism condemn him to a life of loneliness and anonymity with no
indications that he wants either.

~~~
delhanty
I agree with nearly all of that except the last paragraph:

>My initial feeling was that Ulrich Drepper deserves a Wikipedia page, but the
evidence is that the deletionist might be right.

Should niceness/sociablity/etc be a criteria for notability and hence
"deserving" a Wikipedia page?

I'd argue that it should not.

Linus Torvalds, Stephen Wolfram, Steve Jobs - none of them seem particularly
nice - but all have achieved great things - and hence they are notable.

The difference from the case of Ulrich Drepper, is that those achievements are
documented in a form that Wikipedia will accept as evidence for notability.

