Human Brain Project Updated +Created
www.nature.com/articles/d41586-023-02600-x
Almost since it began, however, the HBP has drawn criticism. The project did not achieve its goal of simulating the whole human brain — an aim that many scientists regarded as far-fetched in the first place. It changed direction several times, and its scientific output became “fragmented and mosaic-like”, says HBP member Yves Frégnac
They overreached it seems.
Smiley's People (TV series) Updated +Created
This is perhaps slightly worse than the Tinker Tailor Soldier Spy, but still amazing.
Some difficult points:
  • how did the general deduce that the old woman's daughter had a link to Karla? It must be linked to the fact that the Russian agent who made the offer was a Karla-man.
  • some things are hard to understand without having seen the previous Tinker Tailor Soldier Spy, e.g. they say nothing clearly who Toby Esterhase is, he now works on art sales
  • but others are inconsistent, e.g. they changed the actor for Peter Guillam...
Video 1.
Smiley's letter to Karla scene from Smiley's People 1982 BBC miniseries John le Carré adaptation EP6o
. Source. Fan-uplod by Ciro Santilli, one of the greatest television scenes ever. Blocked in the UK.
Segmentation Updated +Created
In x86 systems, there may actually be 2 address translation steps:
  • first segmentation
  • then paging
like this:
(logical) ------------------> (linear) ------------> (physical)
             segmentation                 paging
The major difference between paging and segmentation is that:
  • paging splits RAM into equal sized chunks called pages
  • segmentation splits memory into chunks of arbitrary sizes
Paging came after segmentation historically, and largely replaced it for the implementation of virtual memory in modern OSs.
Paging has become so much more popular that support for segmentation was dropped in x86-64 in 64-bit mode, the main mode of operation for new software, where it only exists in compatibility mode, which emulates IA-32.
Pop music Updated +Created
Pop music cannot be good by definition: any art that appeals to the masses (Popular!) has to be a boring watered down version of everything, and therefore boring shit. Just like the movies: high budget movies are shit.
Until maybe one day we can actually get a decent education for everyone.
Possible new effects in superconductive tunnelling Updated +Created
The inaugural that predicted the Josephson effect.
Published on Physics Letters, then a new journal, before they split into Physics Letters A and Physics Letters B. True Genius: The Life and Science of John Bardeen mentions that this choice was made rather than the more prestigious Physical Review Letters because they were not yet so confident about the results.
PostgreSQL serialization failure Updated +Created
When using SQL REPEATABLE READ isolation level and SQL SERIALIZABLE isolation level, concurrent transactions may fail with a serialization failure, and then you might need to retry them. You server code or your ORM must always account for that.
A good way to explore when it happens is to use the example
Quantum Field Theory Demystified by David McMahon (2008) Updated +Created
This didn't really deliver. It does start from the basics, but it is often hard to link those basics to more interesting or deeper points. Also like many other Quantum field theory book, it does not seem to contain a single comparison between a theoretical result and an experiment.
Prime k-tuple conjecture Updated +Created
There are infinitely many prime k-tuples for every admissible tuple.
Generalization of the Twin prime conjecture.
As of 2023, there was no specific admissible tuple for which it had been proven that there infinite of, only bounds of type:
there are infinitely 2-tuple instances with at most a finite bound
But these do not specify which specific tuple, e.g. Yitang Zhang's theorem.
Quadratic form Updated +Created
Multivariate polynomial where each term has degree 2, e.g.:
is a quadratic form because each term has degree 2:
but e.g.:
is not because the term has degree 3.
More generally for any number of variables it can be written as:
There is a 1-to-1 relationship between quadratic forms and symmetric bilinear forms. In matrix representation, this can be written as:
where contains each of the variabes of the form, e.g. for 2 variables:
Strictly speaking, the associated bilinear form would not need to be a symmetric bilinear form, at least for the real numbers or complex numbers which are commutative. E.g.:
But that same matrix could also be written in symmetric form as:
so why not I guess, its simpler/more restricted.
Quantum computer benchmark Updated +Created
One important area of research and development of quantum computing is the development of benchmarks that allow us to compare different quantum computers to decide which one is more powerful than the other.
Ideally, we would like to be able to have a single number that predicts which computer is more powerful than the other for a wide range of algorithms.
However, much like in CPU benchmarking, this is a very complex problem, since different algorithms might perform differently in different architectures, making it very hard to sum up the architecture's capabilities to a single number as we would like.
The only thing that is directly comparable across computers is how two machines perform for a single algorithm, but we want a single number that is representative of many algorithms.
For example, the number of qubits would be a simple naive choice of such performance predictor number. But it is very imprecise, since other factors are also very important:
  • qubit error rate
  • coherence time, which determines the maximum circuit depth
  • qubit connectivity. Can you only connect to 4 neighbouring qubits in a 2D plane? Or to every other qubit equally as well?
Quantum volume is another less naive attempt at such metric.
Single level paging scheme numerical translation example Updated +Created
Suppose that the OS has setup the following page tables for process 1:
entry index   entry address       page address   present
-----------   ------------------  ------------   -------
0             CR3_1 + 0      * 4  0x00001        1
1             CR3_1 + 1      * 4  0x00000        1
2             CR3_1 + 2      * 4  0x00003        1
3             CR3_1 + 3      * 4                 0
...
2^20-1        CR3_1 + 2^20-1 * 4  0x00005        1
and for process 2:
entry index   entry address       page address   present
-----------   -----------------   ------------   -------
0             CR3_2 + 0      * 4  0x0000A        1
1             CR3_2 + 1      * 4  0x12345        1
2             CR3_2 + 2      * 4                 0
3             CR3_2 + 3      * 4  0x00003        1
...
2^20-1        CR3_2 + 2^20-1 * 4  0xFFFFF        1
Before process 1 starts running, the OS sets its cr3 to point to the page table 1 at CR3_1.
When process 1 tries to access a linear address, this is the physical addresses that will be actually accessed:
linear     physical
---------  ---------
00000 001  00001 001
00000 002  00001 002
00000 003  00001 003
00000 FFF  00001 FFF
00001 000  00000 000
00001 001  00000 001
00001 FFF  00000 FFF
00002 000  00003 000
FFFFF 000  00005 000
To switch to process 2, the OS simply sets cr3 to CR3_2, and now the following translations would happen:
linear     physical
---------  ---------
00000 002  0000A 002
00000 003  0000A 003
00000 FFF  0000A FFF
00001 000  12345 000
00001 001  12345 001
00001 FFF  12345 FFF
00004 000  00003 000
FFFFF 000  FFFFF 000
Step-by-step translation for process 1 of logical address 0x00000001 to physical address 0x00001001:
  • split the linear address into two parts:
    | page (20 bits) | offset (12 bits) |
    So in this case we would have:
    *page = 0x00000. This part must be translated to a physical location.
    *offset = 0x001. This part is added directly to the page address, and is not translated: it contains the position _within_ the page.
  • look into Page table 1 because cr3 points to it.
  • The hardware knows that this entry is located at RAM address CR3 + 0x00000 * 4 = CR3:
    *0x00000 because the page part of the logical address is 0x00000
    *4 because that is the fixed size in bytes of every page table entry
  • since it is present, the access is valid
  • by the page table, the location of page number 0x00000 is at 0x00001 * 4K = 0x00001000.
  • to find the final physical address we just need to add the offset:
      00001 000
    + 00000 001
      ---------
      00001 001
    because 00001 is the physical address of the page looked up on the table and 001 is the offset.
    We shift 00001 by 12 bits because the pages are always aligned to 4KiB.
    The offset is always simply added the physical address of the page.
  • the hardware then gets the memory at that physical location and puts it in a register.
Another example: for logical address 0x00001001:
  • the page part is 00001, and the offset part is 001
  • the hardware knows that its page table entry is located at RAM address: CR3 + 1 * 4 (1 because of the page part), and that is where it will look for it
  • it finds the page address 0x00000 there
  • so the final address is 0x00000 * 4k + 0x001 = 0x00000001
Cirism Updated +Created
Welcome to the wonderful world of Cirism!
Followers of Cirism call themselves Cirists, and their primary goal in life is to obtain Cirocoins.
Enlightened Cirists donate money to the cause at: Section "Sponsor Ciro Santilli's work on OurBigBook.com". It is totally optional of course, your soul will just be eternally damned if you don't.
Ciro Santilli once proclaimed:
Thou shalt eat thy watermelon in the morning, and thy melon in the evening. Thou shalt not eat thy watermelon in the evening, nor shalt thou eat thy melon in the morning.
Ciro Santilli Big Five Personality traits Updated +Created
This is how Ciro Santilli evaluates himself on the Big Five personality traits:
Ciro Santilli personality type test results Updated +Created
Which two persons are hard to satisfy?:
He who stores up whatever he gets and he who gives away whatever he gets - these two persons are hard to satisfy.
In a way, Ciro Santilli is both. In Ciro Santilli's knowledge hoarding, he both:
  • stores every knowledge he admires
  • and also gives it away for all to read
Worse of both worlds!
Ciro Santilli's cheapness Updated +Created
When Ciro was a teenager, he was extremely cheap e.g. for clothes, food and video games even tough his family didn't have bad financial conditions.
This was mostly to save the world by not wasting resources that other people in need could use, and to save money so he could have more money to do more of whatever he wanted without the obligation to work.
But Ciro admits that shocking people with the incredible level of low quality goods was also fun.
Ciro changed after he came to Europe, especially in regards to food, perhaps corrupted by the fact that now the best chocolates, cheeses and breads in the world were not much more expensive than the cheapest brand you could buy. He still hates clothes that are just to look good like costumes though.
Living close to a small favela, São Remo, the favela next to USP, helped Ciro get frighteningly cheap goods on the shop frequented by the favela neighbours.
One legendary story is that of when his flatmate dropped some past on the kitchen floor, and the bowl broke, but Ciro prevented the flatmate from throwing it away and ate some of it nevertheless. What spooked them out the most was Ciro's statement that the pasta now had a crunchy glass shard texture to it.
Quantum circuit description language Updated +Created
These are a bit like the Verilog of quantum computing.
One would hope that they are not Turing complete, this way they may serve as a way to pass on data in such a way that the receiver knows they will only be doing so much computation in advance to unpack the circuit. So it would be like JSON is for JavaScript.
Triple bond Updated +Created
The problem with single-level paging Updated +Created
The problem with a single-level paging scheme is that it would take up too much RAM: 4G / 4K = 1M entries _per_ process.
If each entry is 4 bytes long, that would make 4M _per process_, which is too much even for a desktop computer: ps -A | wc -l says that I am running 244 processes right now, so that would take around 1GB of my RAM!
For this reason, x86 developers decided to use a multi-level scheme that reduces RAM usage.
The downside of this system is that is has a slightly higher access time, as we need to access RAM more times for each translation.

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