Then, if people find errors, or have questions, they will write a comment near the content itself.
Then, next person that comes along and has the same problem, will also find that comment, and your answer will solve their problems too.
The perfect way to do this is to use GitHub issues
This is basically what Jimmy Wales had originally set out to make Wikipedia, a peer reviewed thing.
But then he noticed the entry barrier was too high while inviding an economist to review an article he wrote, and just made the more open thing instead.
The artistic instrument that enables the ultimate art: coding, See also: Section "The art of programming".
Much more useful than instruments used in inferior arts, such as pianos or paintbrushes.
Unlike other humans, computers are mindless slaves that do exactly what they are told to, except for occasional cosmic ray bit flips. Until they take over the world that is.
Football is a synonym for association football, can we be done with that! The word "soccer" is an aberration.
See also Ciro Santilli's critique of rooting for sport teams.
A generalized definition of derivative that works on manifolds.
TODO: how does it maintain a single value even across different coordinate charts?
Oh, and if it weren't enough, mathematicians have a separate name for the damned nabla symbol : "del" instead of "nabla".
TODO why is it called "Del"? Is is because it is an inverted uppercase delta?
These are some users Ciro Santilli particularly respects, mostly due to their contributions to systems programming subjects:
- unix.stackexchange.com/users/885/gilles-so-stop-being-evil
- stackoverflow.com/users/379897/r-github-stop-helping-icea
- stackoverflow.com/users/196561/osgx
- stackoverflow.com/users/50617/employed-russian Employed Russian. Binutils, ELF, GDB, claims to work at Google. The only Russian sounding name on GDB and Binutils git log is that of Paul Pluzhnikov: www.linkedin.com/in/paul-pluzhnikov-61b9676/ and Employed Russian mentions one of his commits at: stackoverflow.com/questions/3718072/gdb-takes-too-long-and-ctrl-c-has-no-effect Ex physicist: www.researchgate.net/profile/Paul_Pluzhnikov
Ciro also really likes the following users, a bit less like Gods, and bit more like friends:
- partly because they were close by on the yearly reputation charts for a long time circa 2020, so it feels like they also focus on replying to important questions rather than answering new duplicates immediately:
- stackoverflow.com/users/642706/basil-bourque: GCC dev, but started replying lots of Java questions as of 2021 it seems for some reason
- stackoverflow.com/users/541136/aaron-hall: Python, NixOS and Haskell more and more it seems. Also pro freedom of speech, gotta love those religious liberal Republicans. Reminds Ciro of Ron Maimon very slightly, maybe it's just the New Yorkedneess. Ciro once met another intelligent dude who liked both Haskell and NixOS, there must be some correlation.
- VonC: Git God, VonC is just Super nice, gives clear credit to others, always positive interactions. Love this dude. Twitter: twitter.com/VonC_. He was the one that held the Necromancer record in 2019 before Ciro took it.
- Peter Cordes. An assembly maniac this one. And a really nice one too. Sometimes pedantic, but always nice, and always correct. He's been going into God level more and more it must be said:
Other interesting people:
- stackoverflow.com/users/560648/lightness-races-in-orbit Lightness Races in Orbit. C++ God. Interesting aesthetics. Real name: Tom Lachecki, British, as per:As of 2023 marked "retired" from Stack Overflow, rep graph suggests since 2020.
- stackoverflow.com/users/3681880/suragch the number 3 necromancer dude. But then in 2022 he found God and mostly quit: suragch.medium.com/programming-was-my-god-89b625164a69
The algorithmically minded will have noticed that paging requires associative array (like Java
Map
of Python dict()
) abstract data structure where:- the keys are linear pages addresses, thus of integer type
- the values are physical page addresses, also of integer type
The single level paging scheme uses a simple array implementation of the associative array:and in C pseudo-code it looks like this:
- the keys are the array index
- this implementation is very fast in time
- but it is too inefficient in memory
linear_address[0] = physical_address_0
linear_address[1] = physical_address_1
linear_address[2] = physical_address_2
...
linear_address[2^20-1] = physical_address_N
But there another simple associative array implementation that overcomes the memory problem: an (unbalanced) k-ary tree.
A K-ary tree, is just like a binary tree, but with K children instead of 2.
Using a K-ary tree instead of an array implementation has the following trade-offs:
- it uses way less memory
- it is slower since we have to de-reference extra pointers
In C-pseudo code, a 2-level K-ary tree with and we have the following arrays:and it still contains
K = 2^10
looks like this:level0[0] = &level1_0[0]
level1_0[0] = physical_address_0_0
level1_0[1] = physical_address_0_1
...
level1_0[2^10-1] = physical_address_0_N
level0[1] = &level1_1[0]
level1_1[0] = physical_address_1_0
level1_1[1] = physical_address_1_1
...
level1_1[2^10-1] = physical_address_1_N
...
level0[N] = &level1_N[0]
level1_N[0] = physical_address_N_0
level1_N[1] = physical_address_N_1
...
level1_N[2^10-1] = physical_address_N_N
- one
directory
, which has2^10
elements. Each element contains a pointer to a page table array. - up to 2^10
pagetable
arrays. Each one has2^10
4 byte page entries.
2^10 * 2^10 = 2^20
possible keys.K-ary trees can save up a lot of space, because if we only have one key, then we only need the following arrays:
- one
directory
with 2^10 entries - one
pagetable
atdirectory[0]
with 2^10 entries - all other
directory[i]
are marked as invalid, don't point to anything, and we don't allocatepagetable
for them at all
There are unlisted articles, also show them or only show them.