SQL histogram Updated 2025-07-16
Let's try it on SQLite 3.40.1, Ubuntu 23.04. Data setup:
sqlite3 tmp.sqlite 'create table t(x integer)'
sqlite3 tmp.sqlite <<EOF
insert into t values (
  0,
  2,
  2,
  3,

  5,
  6,
  6,
  8,
  9,

  17,
)
EOF
sqlite3 tmp.sqlite 'create index tx on t(x)'
For a bin size of 5 ignoring empty ranges we can:
sqlite3 tmp.sqlite <<EOF
select floor(x/5)*5 as x,
       count(*) as cnt
from t
group by 1
order by 1
EOF
which produces the desired:
0|4
5|5
15|1
And to consider empty ranges we can use SQL genenerate_series + as per stackoverflow.com/questions/72367652/populating-empty-bins-in-a-histogram-generated-using-sql:
sqlite3 tmp.sqlite <<EOF
select x, sum(cnt) from (
  select floor(x/5)*5 as x,
         count(*) as cnt
    from t
    group by 1
  union
  select *, 0 as cnt from generate_series(0, 15, 5)
)
group by x
EOF
which outputs the desired:
0|4
5|5
10|0
15|1
sqlite3 Node.js package Updated 2025-07-16
Includes its own copy of sqlite3, you don't use the system one, which is good to ensure compatibility. The version is shown at: github.com/mapbox/node-sqlite3/blob/918052b538b0effe6c4a44c74a16b2749c08a0d2/deps/common-sqlite.gypi#L3 SQLite source is tracked compressed in-tree: github.com/mapbox/node-sqlite3/blob/918052b538b0effe6c4a44c74a16b2749c08a0d2/deps/sqlite-autoconf-3360000.tar.gz horrendous. This explains why it takes forever to clone that repository. People who don't believe in git submodules, there's even an official Git mirror at: github.com/sqlite/sqlite
It appears to spawn its own threads via its C extension (since JavaScript is single threaded and and SQLite is not server-based), which allows for parallel queries using multiple threads: github.com/mapbox/node-sqlite3/blob/v5.0.2/src/threading.h
As of 2021, this had slumped back a bit, as maintainers got tired. Unmerged pull requests started piling more, and better-sqlite3 Node.js package started pulling ahead a little.
SQL tree traversal Updated 2025-07-16
SQL TRIGGER Updated 2025-07-16
SQL's implementation of database triggers.
This feature is really cool, as it allows you to keep caches up to date!
In particular, everything that happens in a trigger happens as if it were in a transaction. This way, you can do less explicit transactions when you use triggers. It is a bit like the advantages of SQL CASCADE.
SQL window RANGE Updated 2025-07-16
rm -f tmp.sqlite
sqlite3 tmp.sqlite "create table t (id integer, val integer)"
sqlite3 tmp.sqlite <<EOF
insert into t values
  (0, 0),
  (1, 5),
  (2, 10),
  (3, 14),
  (4, 15),
  (5, 16),
  (6, 20),
  (7, 25),
  (8, 29),
  (9, 30),
  (10, 30),
  (11, 31),
  (12, 35),
  (13, 40)
EOF
Show how many neighbours each column has with val between val - 2 and val + 2 inclusive:
sqlite3 tmp.sqlite <<EOF
SELECT id, val, COUNT(*) OVER (
  ORDER BY val RANGE BETWEEN 2 PRECEDING AND 2 FOLLOWING
) FROM t;
EOF
Output:
0|0|1
1|5|1
2|10|1
3|14|3
4|15|3
5|16|3
6|20|1
7|25|1
8|29|4
9|30|4
10|30|4
11|31|4
12|35|1
13|40|1
val - 1 and val + 1 inclusive instead:
sqlite3 tmp.sqlite <<EOF
SELECT id, val, COUNT(*) OVER (
  ORDER BY val RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING
) FROM t;
EOF
Output:
0|0|1
1|5|1
2|10|1
3|14|2
4|15|3
5|16|2
6|20|1
7|25|1
8|29|3
9|30|4
10|30|4
11|31|3
12|35|1
13|40|1
There seems to be no analogue to HAVING for window functions, so we can just settle for a subquery for once, e.g.:
sqlite3 tmp.sqlite <<EOF
SELECT * FROM (
  SELECT id, val, COUNT(*) OVER (
    ORDER BY val RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING
  ) as c FROM t
) WHERE c > 2
EOF
which outputs:
4|15|3
8|29|3
9|30|4
10|30|4
11|31|3
SQUID device Updated 2025-07-16
Can be used as a very precise magnetometer.
Video 1.
Superconducting Quantum Interference Device by Felipe Contipelli (2019)
Source. Good intuiotionistic video. Some points deserved a bit more detail.
Video 2.
Mishmash of SQUID interviews and talks by Bartek Glowaki
. Source.
The videos come from: www.ascg.msm.cam.ac.uk/lectures/. Vintage.
Mentions that the SQUID device is analogous to a double-slit experiment.
One of the segments is by John Clarke.
Video 3.
Superconducting Quantum Interference Devices by UNSW Physics (2020)
Source.
An experimental lab video for COVID-19 lockdown. Thanks, COVID-19. Presented by a cute and awkward Adam Stewart.
Uses a SQUID device and control system made by STAR Cryoelectronics. We can see Mr. SQUID EB-03 written on the probe and control box, that is their educational product.
As mentioned on the Mr. SQUID specs, it is a high-temperature superconductor, so liquid nitrogen is used.
He then measures the I-V curve on an Agilent Technologies oscilloscope.
Unfortunately, the video doesn't explain very well what is happening behind the scenes, e.g. with a circuit diagram. That is the curse of university laboratory videos: some of them assume that students will have material from other internal sources.
Video 4.
The Ubiquitous SQUID by John Clarke (2018)
Source.
Stabilizer (group) Updated 2025-07-16
Suppose we have a given permutation group that acts on a set of n elements.
If we pick k elements of the set, the stabilizer subgroup of those k elements is a subgroup of the given permutation group that keeps those elements unchanged.
Note that an analogous definition can be given for non-finite groups. Also note that the case for all finite groups is covered by the permutation definition since all groups are isomorphic to a subgroup of the symmetric group
TODO existence and uniqueness. Existence is obvious for the identity permutation, but proper subgroup likely does not exist in general.
Standard cell library Updated 2025-07-16
Basically what register transfer level compiles to in order to achieve a real chip implementation.
After this is done, the final step is place and route.
The standard cell library is typically composed of a bunch of versions of somewhat simple gates, e.g.:
  • AND with 2 inputs
  • AND with 3 inputs
  • AND with 4 inputs
  • OR with 2 inputs
  • OR with 3 inputs
and so on.
Each of those gates has to be designed by hand as a 3D structure that can be produced in a given fab.
Simulations are then carried out, and the electric properties of those structures are characterized in a standard way as a bunch of tables of numbers that specify things like:
  • how long it takes for electrons to pass through
  • how much heat it produces
Those are then used in power, performance and area estimates.
Stars nearest to the Sun Updated 2025-07-16
Figure 2.
Distance of stars nearest to the Sun as function of time
. Source.
Some notable ones:
Star Trek: The Next Generation Updated 2025-07-16
Ciro Santilli likes this.
He doesn't have the patience to actually watch full episodes with rare exceptions, rather just watching selected scenes from: www.youtube.com/channel/UCdeIGY2DIjpGf0A2m9GSE3g, but still, it is interesting.
What appeals to Ciro in this series is how almost nothing is solved by violence, almost everything is decided in the bridge, at the "cerebral" level of the command structure. This reminds Ciro of a courtroom of law sometimes.
Maybe there's also a bit of 90's nostalgia involved too though, as this is something that would show on some random cable channels a bored young Ciro would have browsed during weekends, never really watching full episodes.
One crime of many episodes is being completely based on some stupid new scientific concept, which any character to back it up.
Another thing that hurt is that due to their obsession with the senior members of the crew, sometimes those senior members are sent in ridiculously risky operations, which is very unrealistic.
Episodes that Ciro watched fully and didn't regret:
Semi worth it:
Not worth it:
  • Cause and effect
TODO
  • s06e11 Chain of command
STED microscopy Updated 2025-07-16
Stefan Hell was really excited by this as of 2023.
Instead of shining a light over the entire sample to saturate it, you illuminate just a small bit instead.
He was basically saying that this truly brings the resolution to the actual physical limits, going much much beyond 2014 Nobel prize levels.
Figure 1.
Illumination patterns for STED microscopy
. Source.
Street reclamation Updated 2025-07-16
Only people who need to drive a car should be allowed to drive a car anywhere near a city, e.g. people who work door to door, people who are disabled, etc.
Countryside driving is fine. If going to a city, you just have to drive to a parking outside of the city where you then take the public transport. And those who live in cities must leave their cars there too.
Everyone else must walk or cycle from home to public transport.
Cars just destroy everything, they make everything ugly:
  • this was extremely clear to Ciro Santilli as a cyclist. He previously lived in a place with few cars and the countryside was so pleasant. Then he moved to a place with more cars and it was shocking. It's a mixture of pollution, noise, and the fact that roads cut up the countryside that just make things not pleasant at all. Dual lane roads in particular are just a terrible thing. You can hear them from afar, much before you see them.
    You can just see as tiny little villages surrounding the bit city and it's oversized motorways are more or less homogenized into one big city mass, the process is clearly visible as you cycle out of the big city and the villages become nicer and more unique as you go along further out.
  • even within cities, cars completely dehumanize the streets. For example, Ciro once lived in a small dead end street, and he would have gladly opened his front window more often to meet the neighbours. But just the noise of cars passing by every so often makes it impractical to work like that.
The Zatoichi effect applies well to the problem of cyclists:
  • they are not really pedestrians, and pedestrian paths are not suitable to them because they are too narrow, of not smooth, or curved. But pedestrians will always have enough political power to have their paths, because they live around the paths
  • they are not really motor vehicles, because motor vehicle paths are too wide and too fast for them. But motor vehicles will always have enough political power to have their paths, because people are lazy and stupid, and because as the world stands, individually you just don't have any reasonable choice to go anywhere.
This is the main drama faced by cyclists.
Lobbying groups:
Video 1.
Why isn't cycling normal in London? by Jay Foreman (2018)
Source.
stress-ng Updated 2025-07-16
The interface is a bit annoying, but the tool is really cool.
100 cycles of matrixprod:
stress-ng -c1 --cpu-ops 100 --cpu-method matrixprod
man stress-ng gives the list of possible --cpu-method. It documents matrixprod as:
matrix product of two 128 × 128 matrices of double floats. Testing on 64 bit x86 hardware shows that this is provides a good mix of memory, cache and floating point operations and is probably the best CPU method to use to make a CPU run hot.
If you don't specify the --cpu-method it apparently loops through every method one by one.
Limit time to 1s instead of limiting cycles:
stress-ng -c1 -t1 --cpu-method matrixprod
Sun Microsystems Updated 2025-07-16
Although Ciro Santilli is a bit past their era, there's an aura of technical excellence about those people. It just seems that they sucked at business. Those open source hippies. Erm, wait.
Bibliography:
Video 1.
The Dawn and Dusk of Sun Microsystems by Asianometry (2022)
Source. One of the main inspirations for the creation of their workstations were CAD applications.
Sun Wukong Updated 2025-07-16
Only after Ciro became an adult did he finally understand that Sun Wukong was the basis for Dragon Ball as mentioned at: Figure "19th century illustration of the Journey to the West protagonist Sun Wukong". And that Sun Wukong was a million times more famous overall. Mind blown.
His given name "Wukong" literally means "the one who mastered the void" (Wu = Comprehend, Kong = void), so clearly a Dharma name. Edit: it is actually given in the novel, he was born without name. They seem to be Taoist however.
The family name sun1 孙 is the same character as "grandson", but most educated Chinese people seem to be able to recognize it as a reference to "monkey" from some archaic context not anymore in current usage.
Figure 1.
19th century illustration of Sun Wukong
. Source. TODO check that it is actually 19th century. Because en.wikipedia.org/wiki/File:Xiyou2.PNG for Zhu Bajie, obviously from the same print, says it is 15th centure.
Figure 2.
20 Sun Wukong depiction in Peking opera
. Source.
Superconducting magnet Updated 2025-07-16
Applications: produce high magnetic fields for
As of the early 2020s, superconducting magnets predominantly use low temperature superconductors Nb-Ti and Nb-Sn, see also most important superconductor materials, but there were efforts underway to create practical high-temperature superconductor-based magnets as well: Section "High temperature superconductor superconducting magnet".
Wikipedia has done well for once:
The current to the coil windings is provided by a high current, very low voltage DC power supply, since in steady state the only voltage across the magnet is due to the resistance of the feeder wires. Any change to the current through the magnet must be done very slowly, first because electrically the magnet is a large inductor and an abrupt current change will result in a large voltage spike across the windings, and more importantly because fast changes in current can cause eddy currents and mechanical stresses in the windings that can precipitate a quench (see below). So the power supply is usually microprocessor-controlled, programmed to accomplish current changes gradually, in gentle ramps. It usually takes several minutes to energize or de-energize a laboratory-sized magnet.
Video 1.
Superconductivity: magnetic separation by University of Cambridge
. Source.
Superconducting qubits are regarded as promising because superconductivity is a macroscopic quantum phenomena of Bose Einstein condensation, and so as a macroscopic phenomena, it is easier to control and observe.
This is mentioned e.g. in this relatively early: physicsworld.com/a/superconducting-quantum-bits/. While most quantum phenomena is observed at the atomic scale, superconducting qubits are micrometer scale, which is huge!
Physicists are comfortable with the use of quantum mechanics to describe atomic and subatomic particles. However, in recent years we have discovered that micron-sized objects that have been produced using standard semiconductor-fabrication techniques – objects that are small on everyday scales but large compared with atoms – can also behave as quantum particles.
Superconducting tunnel junction Updated 2025-07-16
Specific type of Josephson junction. Probably can be made tiny and in huge numbers through photolithography.
Figure 1. Source. The superconducting material is light blue, the insulating tunnel barrier is black, and the substrate is green.
Video 1.
Quantum Transport, Lecture 14: Josephson effects by Sergey Frolov (2013)
Source. youtu.be/-HUVGWTfaSI?t=878 mentions maskless electron beam lithography being used to produce STJs.
Superconductivity Updated 2025-07-16
Experiments:
Video 1.
20. Fermi gases, BEC-BCS crossover by Wolfgang Ketterle (2014)
Source. Part of the "Atomic and Optical Physics" series, uploaded by MIT OpenCourseWare.
Actually goes into the equations.
Notably, youtu.be/O_zjGYvP4Ps?t=3278 describes extremely briefly an experimental setup that more directly observes pair condensation.
Video 2.
Superconductivity and Quantum Mechanics at the Macro-Scale - 1 of 2 by Steven Kivelson (2016)
Source. For the Stanford Institute for Theoretical Physics. Gives a reasonable basis overview, but does not go into the meat of BCS it at the end.
Video 3.
The Map of Superconductivity by Domain of Science
. Source. Lacking as usual, but this one is particularly good as the author used to work on the area as he mentions in the video.
Media:
Transition into superconductivity can be seen as a phase transition, which happens to be a second-order phase transition.

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