UPDATE (SQL) Updated 2025-07-16
Pu Songling Updated 2025-07-16
Sometimes you just know that your existence will be remembered for a singular reason. Better than not being remembered at all perhaps.
Pi bond Updated 2025-07-16
Page directory given to process by the OS:
entry index   entry address      page table address  present
-----------   ----------------   ------------------  --------
0             CR3 + 0      * 4   0x10000             1
1             CR3 + 1      * 4                       0
2             CR3 + 2      * 4   0x80000             1
3             CR3 + 3      * 4                       0
...
2^10-1        CR3 + 2^10-1 * 4                       0
Page tables given to process by the OS at PT1 = 0x10000000 (0x10000 * 4K):
entry index   entry address      page address  present
-----------   ----------------   ------------  -------
0             PT1 + 0      * 4   0x00001       1
1             PT1 + 1      * 4                 0
2             PT1 + 2      * 4   0x0000D       1
...                                  ...
2^10-1        PT1 + 2^10-1 * 4   0x00005       1
Page tables given to process by the OS at PT2 = 0x80000000 (0x80000 * 4K):
entry index   entry address     page address  present
-----------   ---------------   ------------  ------------
0             PT2 + 0     * 4   0x0000A       1
1             PT2 + 1     * 4   0x0000C       1
2             PT2 + 2     * 4                 0
...
2^10-1        PT2 + 0x3FF * 4   0x00003       1
where PT1 and PT2: initial position of page table 1 and page table 2 for process 1 on RAM.
With that setup, the following translations would happen:
linear    10 10 12 split  physical
--------  --------------  ----------
00000001  000 000 001     00001001
00001001  000 001 001     page fault
003FF001  000 3FF 001     00005001
00400000  001 000 000     page fault
00800001  002 000 001     0000A001
00801004  002 001 004     0000C004
00802004  002 002 004     page fault
00B00001  003 000 000     page fault
Let's translate the linear address 0x00801004 step by step:
  • In binary the linear address is:
    0    0    8    0    1    0    0    4
    0000 0000 1000 0000 0001 0000 0000 0100
  • Grouping as 10 | 10 | 12 gives:
    0000000010 0000000001 000000000100
    0x2        0x1        0x4
    which gives:
    page directory entry = 0x2
    page table     entry = 0x1
    offset               = 0x4
    So the hardware looks for entry 2 of the page directory.
  • The page directory table says that the page table is located at 0x80000 * 4K = 0x80000000. This is the first RAM access of the process.
    Since the page table entry is 0x1, the hardware looks at entry 1 of the page table at 0x80000000, which tells it that the physical page is located at address 0x0000C * 4K = 0x0000C000. This is the second RAM access of the process.
  • Finally, the paging hardware adds the offset, and the final address is 0x0000C004.
Page faults occur if either a page directory entry or a page table entry is not present.
The Intel manual gives a picture of this translation process in the image "Linear-Address Translation to a 4-KByte Page using 32-Bit Paging": Figure 1. "x86 page translation process"
Figure 1.
x86 page translation process
.
game-icons.net Updated 2025-07-16
This is a good project. Limited scope to 2D card-like games, but very good within that scope.
Ciro Santilli used it for the 2D version of his Ciro's 2D reinforcement learning games.
Gauge symmetry Updated 2025-07-16
Video 1.
Lawrence Krauss explains Gauge symmetry by Joe Rogan (2017)
Source.
While most of this is useless as you would expect from the channel, it does give one key idea: you can change charge locally, but things somehow still work out.
And this has something to do with the general intuition of special relativity that only local measures make much sense, as evidenced by Einstein synchronization.
If either PAE and PSE are active, different paging level schemes are used:
  • no PAE and no PSE: 10 | 10 | 12
  • no PAE and PSE: 10 | 22.
    22 is the offset within the 4Mb page, since 22 bits address 4Mb.
  • PAE and no PSE: 2 | 9 | 9 | 12
    The design reason why 9 is used twice instead of 10 is that now entries cannot fit anymore into 32 bits, which were all filled up by 20 address bits and 12 meaningful or reserved flag bits.
    The reason is that 20 bits are not enough anymore to represent the address of page tables: 24 bits are now needed because of the 4 extra wires added to the processor.
    Therefore, the designers decided to increase entry size to 64 bits, and to make them fit into a single page table it is necessary reduce the number of entries to 2^9 instead of 2^10.
    The starting 2 is a new Page level called Page Directory Pointer Table (PDPT), since it points to page directories and fill in the 32 bit linear address. PDPTs are also 64 bits wide.
    cr3 now points to PDPTs which must be on the fist four 4GB of memory and aligned on 32 bit multiples for addressing efficiency. This means that now cr3 has 27 significative bits instead of 20: 2^5 for the 32 multiples * 2^27 to complete the 2^32 of the first 4GB.
  • PAE and PSE: 2 | 9 | 21
    Designers decided to keep a 9 bit wide field to make it fit into a single page.
    This leaves 23 bits. Leaving 2 for the PDPT to keep things uniform with the PAE case without PSE leaves 21 for offset, meaning that pages are 2M wide instead of 4M.
Stereochemistry Updated 2025-07-16
Molecules that are the same if you just look at "what atom is linked to what atom", they are only different if you consider the relative spacial positions of atoms.
Cirodance Updated 2025-07-16
During his teenage years, Ciro created an innovative new dance style combining elements of the various corporal practices that he studied a bit of across the years:
Ciro later called this style Cirodance.
Ciro's legendary dance style was famous during his university years, when Ciro would go to parties and dance like made while mostly unsuccessfully trying to woo girls.
Ciro has always been critical of dancing conditions in University parties, where people would always be cramped up doing boring non-creative moves. Rather, Ciro would go to to the edges of the dance floor to have enough space for his amazing moves. There is a perhaps a parallel between such tendencies and Ciro's highly innovative personality. Also perhaps being cramped would have helped wooing said girls.
Ciro later quit dancing, to a large extent because it is too hard to find suitable dancing locations outside: Europe is too cold much of the year, also ground conditions have to be perfect, and no patience to book a dance room somewhere. Kid's playgrounds are ideal, but Ciro is afraid of dancing there because kids parent's would freak out.
Therefore, all evidence of Cirodance seems to have disappeared into the depths of the Internet. There used to be a notorious video on YouTube from around June 2010 entitled "A Piriguete da Poli !!" ("Poli's bitch" in Portuguese) with comment "Sem comentarios... foi a atraçao da cervejada" (No comments... was the main attraction of the beer party) dancing the Piriguete by MC Papo Brazilian Funk carioca song. But the video was removed at some point, they were likely afraid of getting sued, the URL was www.youtube.com/watch?v=T969azGjIeE as shown at www.facebook.com/cirosantilli/posts/133333123357495, but this was before Ciro noticed that every good thing on the web goes down and became an obsessive web archiver. But in any case, the title gives an idea of the amazing style of Ciro's furor poeticus Axé performance on that day. If the video owner ever reads this message, please please restore the video, or send Ciro a copy. TODO: which channel was it on? Knowing that Ciro would be able to try and contact them.
One legendary episode linked to Cirodance was when Ciro was living in Paris and jobless around 2014 (but not destitute as he leached from his girlfriend). Cirodance was his main physical activity at the time, and Place de la République, where the skateboarders hung out due to the perfect wide concrete floor and relatively close to Bastille where Ciro lived, was the perfect place for it. One cold dark winter evening, Ciro was practicing Cirodance with his headphones and crappy clothes (dirty public square floor, remember), when someone took him for a homeless person and offered him a bowl of soup! It must be said that Place de la République had many events of giving food to the poor. Ciro was a bit stunned, declined, and continued dancing. And so that was the day when a prestigious Polytechnicien was mistaken for a homeless person. And Ciro liked that.
As of 2021, Googling "cirodance" leads to www.youtube.com/watch?v=tyvv4ddL2so "Ciro Dance" in which comedian "Ciro Priello" (no Wikipedia page at the time) participates in a comedy show with a "silly dance" (TODO this likely has a name) described in the comments as:
It's a brand new Italian format. Some comedians are grouped into a room where they have full access to different kind of items and tools. Laughing means losing. Each of them can try to make the other laugh. The winner gets some money but all of them would have give that to charity.
The dancing guy, Ciro, after only 10 minutes from the start did this nonsense dance. It's silly bit fun nonetheless I guess

Unlisted articles are being shown, click here to show only listed articles.