Transmon Updated 2025-07-16
Used e.g. in the Sycamore processor.
The most basic type of transmon is in Ciro's ASCII art circuit diagram notation, an LC circuit e.g. as mentioned at youtu.be/cb_f9KpYipk?t=180 from Video "The transmon qubit by Leo Di Carlo (2018)":
+----------+
| Island 1 |
+----------+
   |   |
   X   C
   |   |
+----------+
| Island 2 |
+----------+
youtu.be/eZJjQGu85Ps?t=2443 from Video "Superconducting Qubits I Part 1 by Zlatko Minev (2020)" describes a (possibly simplified) physical model of it, as two superconducting metal islands linked up by a Josephson junction marked as X in the diagram as per-Ciro's ASCII art circuit diagram notation:
+-------+       +-------+
|       |       |       |
| Q_1() |---X---| Q_2() |
|       |       |       |
+-------+       +-------+
The circuit is then analogous to a LC circuit, with the islands being the capacitor. The Josephson junction functions as a non-linear inductor.
Others define it with a SQUID device instead: youtu.be/cb_f9KpYipk?t=328 from Video "The transmon qubit by Leo Di Carlo (2018)". He mentions that this allows tuning the inductive element without creating a new device.
Video 1.
The superconducting transmon qubit as a microwave resonator by Daniel Sank (2021)
Source.
Video 2.
Calibration of Transmon Superconducting Qubits by Stefan Titus (2021)
Source. Possibly this Keysight which would make sense.
Trillium Notes Updated 2025-07-16
Originally at github.com/zadam/trilium, then after development stopped the community took it up at: github.com/TriliumNext/Notes.
Tree based organization at last. Infinitely deep.
Amazing WYSIWYG, including maths and tables, plus insane plugins like canvas mode, and specific file formats like code/mermaid diagrams/drawing mode.
Intentionally or not, they've basically made an open source Notion, with the possible exception that Notion historically started on web and moved to the desktop, while Trillium went the other way round.
Version history with automatic snapshots at intervals. TODO how is it implemented? Do they just ZIP multiple versions?
No multiuser features. Except for that, could have been a good starting point of an online multiuser thing such as OurBigBook.com!
With Book Notes it is possible possible to see more than one page at a time on the output, which his a major feature of OurBigBook. But does it show on HTML export as well?
You can static HTML export any subtree by right clicking on it in the navigation tree.
Is there a CLI to export to HTML? github.com/zadam/trilium/issues/3012
HTML export keeps all data as HTML is their native format. This may be inherited from CKEditor. The files are mostly visible, but there is some CSS missing, it is not 100% like editor, notably math is broken. There is also a hosted way of exposing: github.com/zadam/trilium/wiki/Sharing.
trilium.rocks however has a very good export, it is just a question of how much they had to hacked things, source at: github.com/zerebos/trilium.rocks
The default tHTML export uses frame navigation, with a toc fixed on the left frame. Efficient, but not of this century.
There is no concept of user created unique text IDs: you can have the same headers in the same folders in the UI. It's not even a matter of scopes. On exports they are differentiated as 1_name, 2_name, etc.
./Trilium Demo/Books/To read/1_HR.md
./Trilium Demo/Books/To read/2_HR.md
./Trilium Demo/Books/To read/HR.md
Markdown export warns:
this preserves most of the formatting
Architecture: runs on local SQLite database via better-sqlite3. Data apparently stored in SQLite database at ~/.local/share/trilium-data, no raw files.
Markup is stored as HTML as seen from: sqlite3 document.db 'SELECT * from note_contents'. HTML is their native storage format, quite interesting. But this means it is not source centric, so any source editing would have to go via import/export. It can be done apparently: github.com/zadam/trilium/wiki/Markdown but involves shoving a ZIP around.
WYSIWYG based on ckeditor.com/ which is a dependency. It is kind of cool that the view in which you view the output is exactly the same as the one you edit in, and there is no intermediate format, just the HTML.
Math is KaTeX based.
It also runs on the browser via a server: github.com/zadam/trilium/wiki/Server-installation. And they have a paid service for it at: trilium.cc/. Quite impressive.
They have server to from desktop sync: github.com/zadam/trilium/wiki/synchronization. There is no conflict resolution, one of them wins randomly. But they have revision history, and anything lost will be in the revision history. They have so many features it is mind blowing.
Maintainer announced he would be slowing down development since January 2024: github.com/zadam/trilium/issues/4620?ref=selfh.st
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.
Ciro Santilli's cheapness Updated 2025-07-16
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.
Ciro Santilli can accept closed source on server products more easily than offline, because the servers have to be paid for somehow (by stealing your private data).
Linear polynomial Updated 2025-07-16
A polynomial of degree 1, i.e. of form .
As of 2020, no one knows how to build the major desktop distros fully from source into the ISO, and especially so in a reproducible build way. Everything is done in build servers somewhere with complicated layers of prebuilds. It's crap.
Non-relativistic quantum mechanics Updated 2025-07-16
The first quantum mechanics theories developed.
Their most popular formulation has been the Schrödinger equation.
NoSQL Updated 2025-07-16
Turing complete Updated 2025-07-16
A computer model that is as powerful as the most powerful computer model we have: Turing machine!
Turing machine regex tape notation Updated 2025-07-16
Turing machine regex tape notation is Ciro Santilli's made up name for the notation used e.g. at:Most of it is just regular regular expression notation, with a few differences:
  • denotes the right or left edge of the (zero initialized) tape. It is often omitted as we always just assume it is always present on both sides of every regex
  • A, B, C, D and E denotes the current machine state. This is especially common notation in the context of the BB(5) problem
  • < and > next to the state indicate if the head is on top of the left or right element. E.g.:
    11 (01)^n <A 00 (0011)^{n+2}
    indicates that the head A is on top of the last 1 of the last sequence of n 01s to the left of the head.
This notation is very useful, as it helps compress long repeated sequences of Turing machine tape and extract higher level patterns from them, which is how you go about understanding a Turing machine in order to apply Turing machine acceleration.
x86 Paging Tutorial / Page faults Updated 2025-07-16
What if Process 1 tries to access 0x00003000, which is not present?
The hardware notifies the software via a Page Fault Exception.
When an exception happens, the CPU jumps to an address that the OS had previously registered as the fault handler. This is usually done at boot time by the OS.
This could happen for example due to a programming error:
int *is = malloc(1);
is[2] = 1;
but there are cases where it is not a bug, for example in Linux when:
  • the program wants to increase its stack.
    It just tries to accesses a certain byte in a given possible range, and if the OS is happy it adds that page to the process address space, otherwise, it sends a signal to the process.
  • the page was swapped to disk.
    The OS will need to do some work behind the processes back to get the page back into RAM.
    The OS can discover that this is the case based on the contents of the rest of the page table entry, since if the present flag is clear, the other entries of the page table entry are completely left for the OS to to what it wants.
    On Linux for example, when present = 0:
    • if all the fields of the page table entry are 0, invalid address.
    • else, the page has been swapped to disk, and the actual values of those fields encode the position of the page on the disk.
In any case, the OS needs to know which address generated the Page Fault to be able to deal with the problem. This is why the nice IA32 developers set the value of cr2 to that address whenever a Page Fault occurs. The exception handler can then just look into cr2 to get the address.
Why are pages 4 KiB anyways?
There is a trade-off between memory wasted in:
  • page tables
  • extra padding memory within pages
This can be seen with the extreme cases:
  • if the page size were 1 byte:
    • granularity would be great, and the OS would never have to allocate unneeded padding memory
    • but the page table would have 2^32 entries, and take up the entire memory!
  • if the page size were 4 GiB:
    • we would need to swap 4 GiB to disk every time a new process becomes active
    • the page size would be a single entry, so it would take almost no memory at all
x86 designers have found that 4 KiB pages are a good middle ground.
All with olive oil and salt mixed up before roasting.
2021-04-05 180C:
  • chestnuts: 1.5x 200g: 3x 6min, this was a bit too much
  • hazelnuts: 1.5x 200g: 3x 6min, seemed fine
  • pecans: 4.5x 200g bags: 5x 6 min, a bit uneven roast because too much on tray
2021-02-06 180C:
  • almonds: 2x 200g: 3x 6min, slighted burnt taste
  • Brazil nuts: 2x 300g: 3x 6min + 3min
  • chestnuts: 1x 400g: 3x 6min, perfect
  • pecans: 3x 200g bags (previously had done just 2 bags at a time): 3x 6 min + 2x 3min, perfect
2021-01-04:
  • almonds: 190C, 8 min, they started burning on top! What? I put olive oil abundantly this time. 170C 5 min
  • chestnuts: 180C, 6 min, stir, 6 min, stir, 4 min, they became very good, dark brown
  • pecans: 180C, 6 min, stir, 6 min, stir, 3 min while preparing chestnuts, very good
2020-11-21:
  • mixed nuts: 180C, 10 minutes, did not reach the point. Then 7 more minutes on 190C: pecans completely burned out
  • almonds: 190C, about 25 minutes, opened several times, in the end had a slight burnt taste, but did not get black, just darker brown. Not as crispy as the ones we buy roasted, but pretty good
  • pecans: 180C, 13 minutes, opened 3 times to stir, became great

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