2009 Nobel Prize in Physics Updated +Created
This one took a while! Major developments were from the 70s! Perhaps it took the Internet revolution to make its importance clear.
Charles K. Kao Updated +Created
Figure 2.
2009 Nobel Prize lecture
. Poor Charles was too debilitated by Alzheimer's disease to give the talk himself! But if you've got a pulse, you can get the prize, so all good.
Crystal Fire: The Birth of the Information Age Updated +Created
Crystal radio Updated +Created
This was the first generation of commercially successful radios.
It uses a crystal detector as its diode, which is a crucial element of the radio, thus its name.
They were superseded by transistor radios, which were much more reliable, portable and could amplify the signal received.
Video 1.
How a Crystal radio Works by RimstarOrg
. Source.
Doping (semiconductor) Updated +Created
École Polytechnique student-managed web service Updated +Created
Minimal ELF file Updated +Created
It is non-trivial to determine what is the smallest legal ELF file, or the smaller one that will do something trivial in Linux.
In this example we will consider a saner hello world example that will better capture real life cases.
Logseq Updated +Created
Optical fiber engineer Updated +Created
Optical table Updated +Created
For example, that is how most modern microscopes are prototyped, see for example Video "Two Photon Microscopy by Nemonic NeuroNex (2019)".
This is kind of why they are also sometimes called "optical breadboarbds", since breadboards are what we use for early prototyping in electronics. Wikipedia however says "optical breadboard" is a simpler and cheaper type of optical table with less/no stabilization.
Video 1.
A simple refracting telescope built on an optical bench by plenum88 (2013)
Source.
Usenet personality Updated +Created
Ciro Santilli does the same via Google searches and Twitter/Reddit searches for himself, you can't invent anything new nowadays:
Kibo was known for his high-volume but thoughtful posts, but achieved Usenet celebrity circa 1991 by writing a small script to grep his entire Usenet feed for instances of his name, and then answering personally whenever and wherever he was mentioned, giving the illusion that he was personally reading the entire feed.
Page faults Updated +Created
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.
Page size choice Updated +Created
Why are pages 4KiB 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 4GiB:
    • we would need to swap 4GiB 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 4KiB pages are a good middle ground.
Operon Updated +Created
Sequence of genes under a single promoter. For an example, see E. Coli K-12 MG1655 operon thrLABC.
A single operon may produce multiple different transcription units depending on certain conditions, see: operon vs transcription unit.
Optical fibre Updated +Created
Video 1.
The Story of Light by Bell Labs (2015)
Source. A ultra quick and Bell Labs focused overview of the development of optical fibre.
Pepe the Frog Updated +Created
Confluence (software) Updated +Created
Why is Git a DAG? Updated +Created
Because a Git commit can have more than 1 parent due to merge commits when you do:
git merge
It can even have more than 2, there's no limit. Although that is not so common (with good reason, 2 is already one too many): softwareengineering.stackexchange.com/questions/314215/can-a-git-commit-have-more-than-2-parents/377903#377903
Matthew Heaney Updated +Created

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