Leela Chess Zero Updated +Created
Related to Leela Zero, a Go engine
Deep learning implementation, a bit analogous to AlphaZero, but for Chess only.
Leela Zero Updated +Created
Quantum circuits vs classical circuits Updated +Created
Just like a classic programmer does not need to understand the intricacies of how transistors are implemented and CMOS semiconductors, the quantum programmer does not understand physical intricacies of the underlying physical implementation.
The main difference to keep in mind is that quantum computers cannot save and observe intermediate quantum state, so programming a quantum computer is basically like programming a combinatorial-like circuit with gates that operate on (qu)bits:
For this reason programming a quantum computer is much like programming a classical combinatorial circuit as you would do with SPICE, verilog-or-vhdl, in which you are basically describing a graph of gates that goes from the input to the output
For this reason, we can use the words "program" and "circuit" interchangeably to refer to a quantum program
Also remember that and there is no no clocks in combinatorial circuits because there are no registers to drive; and so there is no analogue of clock in the quantum system either,
Another consequence of this is that programming quantum computers does not look like programming the more "common" procedural programming languages such as C or Python, since those fundamentally rely on processor register / memory state all the time.
Quantum programmers can however use classic languages to help describe their quantum programs more easily, for example this is what happens in Qiskit, where you write a Python program that makes Qiskit library calls that describe the quantum program.
Quantum logic gates are needed for physical implementation Updated +Created
One direct practical reason is that we need to map the matrix to real quantum hardware somehow, and all quantum hardware designs so far and likely in the future are gate-based: you manipulate a small number of qubits at a time (2) and add more and more of such operations.
While there are "quantum compilers" to increase the portability of quantum programs, it is to be expected that programs manually crafted for a specific hardware will be more efficient just like in classic computers.
TODO: is there any clear reason why computers can't beat humans in approximating any unitary matrix with a gate set?
This is analogous to what classic circuit programmers will do, by using smaller logic gates to create complex circuits, rather than directly creating one huge truth table.
The most commonly considered quantum gates take 1, 2, or 3 qubits as input.
The gates themselves are just unitary matrices that operate on the input qubits and produce the same number of output qubits.
For example, the matrix for the CNOT gate, which takes 2 qubits as input is:
1 0 0 0
0 1 0 0
0 0 0 1
0 0 1 0
The final question is then: if I have a 2 qubit gate but an input with more qubits, say 3 qubits, then what does the 2 qubit gate (4x4 matrix) do for the final big 3 qubit matrix (8x8)? In order words, how do we scale quantum gates up to match the total number of qubits?
The intuitive answer is simple: we "just" extend the small matrix with a larger identity matrix so that the sum of the probabilities third bit is unaffected.
More precisely, we likely have to extend the matrix in a way such that the partial measurement of the original small gate qubits leaves all other qubits unaffected.
For example, if the circuit were made up of a CNOT gate operating on the first and second qubits as in:
0 ----+----- 0
      |
1 ---CNOT--- 1

2 ---------- 2
then we would just extend the 2x2 CNOT gate to:
TODO lazy to properly learn right now. Apparently you have to use the Kronecker product by the identity matrix. Also, zX-calculus appears to provide a powerful alternative method in some/all cases.
It is OK to treat things as black boxes Updated +Created
You don't need to understand the from first principles derivation of every single phenomena.
And most important of all: you should not start learning phenomena by reading the from first principles derivation.
Instead, you should see what happens in experiments, and how matches some known formula (which hopefully has been derived from first principles).
Only open the boxes (understand from first principles derivation) if the need is felt!
E.g.:
  • you don't need to understand everything about why SQUID devices have their specific I-V curve curve. You have to first of all learn what the I-V curve would be in an experiment!
  • you don't need to understand the fine details of how cavity magnetrons work. What you need to understand first is what kind of microwave you get from what kind of input (DC current), and how that compares to other sources of microwaves
  • lasers: same
Physics is all about predicting the future. If you can predict the future with an end result, that's already predicting the future, and valid.
Alex Elbanna Updated +Created
Shady shady buyer of "vistomail.com". He sends emails as satoshi@vistomail.com without any disclaimers, Godlike.
He or someone with the same name is having some fun with the SEC: dockets.justia.com/docket/florida/flmdce/8:2023cv01638/416506 for "Securities Fraud".
The complaint: www.sec.gov/files/litigation/complaints/2023/comp25785.pdf (archive). Some pearls:
41. Elbanna told investors several other lies to gain investors’ trust. These included his claim that he had served in the U.S. Marines, when in reality he was discharged after just fifteen days of their thirteen-week recruit training. Elbanna claimed that he had worked at the U.S. National Security Agency (“NSA”). He further claimed that the NSA was aware of and participating in the Digital World Exchange enterprise. All of these claims were false.
42. Perhaps most incredibly, after claiming that he had “been in blockchain technology since the beginning” and “in the cryptocurrency space almost since its inception” in the May 2018 and March 2019 Whitepapers, respectively, Elbanna told investors in a chat program in April 2019 that he “was one of the first 4 creators of BTC.” He went so far as to tell another investor that he was the pseudonymous inventor of bitcoin, Satoshi Nakamoto himself. These statements were also false. Elbanna later admitted that he was not involved in blockchain technology from its beginning, and that he “didn’t even really know much about crypto” in 2018, the year he launched the Digital World Exchange enterprise.
The documentary Bitconned from Netflix comes strongly to mind, www.imdb.com/title/tt30317302/. It is unbelieveable people would fall for that kind of thing, the founders are not even sophisticated. And on top of that he agrees to appear on a documentary!!! OMG.
Solutions of the Dirac equation Updated +Created
Video 1.
Quantum Mechanics 12b - Dirac Equation II by ViaScience (2015)
Source.
Because DNA replication is a key limiting factor of bacterial replication time, such organisms are therefore strongly incentivized to have very minimal DNAs.
Power, Sex, Suicide by Nick Lane (2006) 7 "Why bacteria are simple" page 169 puts this nicely:
Bacteria replicate at colossal speed. [...] In two days, the mass of exponentially doubling E. coli would be 2664 times larger than the mass of the Earth.
Luckily this does not happen, and the reason is that bacteria are normally half starved. They swiftly consume all available food, whereupon their growth is limited once again by the lack of nutrients. Most bacteria spend most of their lives in stasis, waiting for a meal. Nonetheless, the speed at which bacteria do mobilize themselves to replicate upon feeding illustrates the overwhelming strength of the selection pressures at work.
Program Raspberry Pi Pico W with C Updated +Created
Ubuntu 22.04 build just worked, nice! Much feels much cleaner than the Micro Bit C setup:
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib

git clone https://github.com/raspberrypi/pico-sdk
cd pico-sdk
git checkout 2e6142b15b8a75c1227dd3edbe839193b2bf9041
cd ..

git clone https://github.com/raspberrypi/pico-examples
cd pico-examples
git checkout a7ad17156bf60842ee55c8f86cd39e9cd7427c1d
cd ..

export PICO_SDK_PATH="$(pwd)/pico-sdk"
cd pico-exampes
mkdir build
cd build
# Board selection.
# https://www.raspberrypi.com/documentation/microcontrollers/c_sdk.html also says you can give wifi ID and password here for W.
cmake -DPICO_BOARD=pico_w ..
make -j
Then we install the programs just like any other UF2 but plugging it in with BOOTSEL pressed and copying the UF2 over, e.g.:
cp pico_w/blink/picow_blink.uf2 /media/$USER/RPI-RP2/
Note that there is a separate example for the W and non W LED, for non-W it is:
cp blink/blink.uf2 /media/$USER/RPI-RP2/
Also tested the UART over USB example:
cp hello_world/usb/hello_usb.uf2 /media/$USER/RPI-RP2/
You can then see the UART messages with:
screen /dev/ttyACM0 115200
TODO understand the proper debug setup, and a flash setup that doesn't require us to plug out and replug the thing every two seconds. www.electronicshub.org/programming-raspberry-pi-pico-with-swd/ appears to describe it, with SWD to do both debug and flash. To do it, you seem need another board with GPIO, e.g. a Raspberry Pi, the laptop alone is not enough.
Course of the University of Oxford Updated +Created
The course outline is given in a "handbook", a one or more PDF files that contain what people will learn and other practicalities. There is a full list of handbooks at: www.ox.ac.uk/students/academic/guidance/undergraduate/handbooks, but many of them are closed. The system is so closed that even the fucking course list is closed, e.g. all links at: www2.physics.ox.ac.uk/students/undergraduates are closed. Insane.
Ubuntu 21.10 does not wake up from suspend Updated +Created
Does not happen every time, only some times. Can't figure out why. Usually happens when has suspended for a longer time.
bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/1946303 sounds like a likely report, Nvidia driver version 470, but can't find those error messages anywhere. The last line of:
journalctl -o short-precise -k -b -1
once was:
PM: suspend entry (deep)
which is when sleep starts.
This suggests that it is not a video bug then, seems that it is not waking up at all? Gotta try to SSH into it. OK. I did SSH into it, and that was fine, so it is just the video that won't start.
PM: suspend exit
bugs.launchpad.net/ubuntu/+source/linux/+bug/1949977 is another possible bug, based on kernel version. I'm running 5.13, which is one of the failing versions on the report. Can't find any interesting dmesg though.
In another crash:
journalctl -o short-precise -k -b -1
had the following interesting lines:
nvidia-modeset: WARNING: GPU:0: Lost display notification (0:0x00000000); continuing.
[24307.640014] NVRM: GPU at PCI:0000:01:00: GPU-18af74bb-7c72-ff70-e447-87d48378ea20
[24307.640018] NVRM: Xid (PCI:0000:01:00): 79, pid=8828, GPU has fallen off the bus.
[24307.640021] NVRM: GPU 0000:01:00.0: GPU has fallen off the bus.
[24328.054022] nvidia-modeset: ERROR: GPU:0: The requested configuration of display devices (LGD (DP-4)) is not supported on this GPU.
[repeats several more times]
[24328.056767] nvidia-modeset: ERROR: GPU:0: The requested configuration of display devices (LGD (DP-4)) is not supported on this GPU.
[24328.056951] nvidia-modeset: ERROR: GPU:0: Failed to query display engine channel state: 0x0000927c:0:0:0x0000000f
[24328.056955] nvidia-modeset: ERROR: GPU:0: Failed to query display engine channel state: 0x0000927c:1:0:0x0000000f
[24328.056959] nvidia-modeset: ERROR: GPU:0: Failed to query display engine channel state: 0x0000927c:2:0:0x0000000f
[24328.056962] nvidia-modeset: ERROR: GPU:0: Failed to query display engine channel state: 0x0000927c:3:0:0x0000000f
[24328.056983] nvidia-modeset: ERROR: GPU:0: DP-4: Failed to disable DisplayPort audio stream-0
[24328.056992] nvidia-modeset: ERROR: GPU:0: Failed to query display engine channel state: 0x0000947d:0:0:0x0000000f
and there was a corresponding /var/crash/_usr_sbin_gdm3.0.crash.
Jáchymov Updated +Created
"Joachimsthal" is the German for it. Note how it is just near the modern frontier between Germany and the Czech Republic.
It is from ore of this mine that Uranium and Radium were discovered.
en.wikipedia.org/w/index.php?title=Uranium&oldid=1243907294#Pre-discovery_use:
In the early 19th century, the world's only known sources of uranium ore were these mines.
Apparently the region was a silver mining center:
Starting in the late Middle Ages, pitchblende was extracted from the Habsburg silver mines in Joachimsthal, Bohemia (now Jáchymov in the Czech Republic), and was used as a coloring agent in the local glassmaking industry
Jazz fusion Updated +Created
Ciro's 2020 perfect Friday evening: jazz fusion + study quantum field theory on an Amazon Kindle. Ahhhhhh.
Jazz fusion band Updated +Created
JavaScript graphics library Updated +Created
@cirosantilli/_file/test_executables.js Updated +Created
This script tests all executables under a selected directory.
Ciro Santilli has been writing scripts of that type for a long time in order to test his programming self-learning setups with asserts.
The most advanced of those being the test system of Linux Kernel Module Cheat.
But had too much stuff that would be specific to that project, so Ciro decided to start this new one in Node.js, hopefully it will also be the last he ever writes.
A sample usage of the test library can be seen at: nodejs/sequelize/test.
@cirosantilli/_file/webpack/webpack/no-js-inject Updated +Created
This example shows how you could manually include the dist/index.js that is output from webpack into your index.html.
This is generally not what you want to do, because what you actually want to do is to use a Js output name with a hash in it, so that browsers only need to refetch when the name changes.
And to do that, we have to let webpack dynamically inject that unpredictable hash as done in webpack/template with:
new HtmlWebpackPlugin({
  filename: 'index.html',
  // Inject the include to our hashed filename,
  // since it is not deterministic due to the hash.
  inject: true,
  template: path.resolve(__dirname, 'index.html'),
}),
JavaScript WYSIWYG text editor Updated +Created
@cirosantilli/_file/react/react/ref-click-counter.html Updated +Created
Dummy example of using a React ref This example is useless and to the end user seems functionally equivalent to react/hello.html.
It does however serve as a good example of what react does that is useful: it provides a "clear" separation between state and render code (which becomes once again much less clear in React function components.
Notably, this example is insane because at:
<button onClick={() => {
  elem.innerHTML = (parseInt(elem.innerHTML) + 1).toString()
we are extracing state from some random HTML string rather than having a clean JavaScript variable containing that value.
In this case we managed to get away with it, but this is in general not easy/possible.

There are unlisted articles, also show them or only show them.