Portable Network Graphics  Updated 2025-07-16
 Q  Updated 2025-07-16
 R  Updated 2025-07-16
 S  Updated 2025-07-16
 ThinkPad  Updated 2025-07-16
This is Ciro Santilli's favorite laptop brand. He's been on it since the early 2010's after he saw his then-girlfriend-later-wife using it.
Ciro doesn't know how to explain it, but ThinkPads just feel... right. The screen, the keyboard, the lid, the touchpad are all exactly what Ciro likes.
The only problem with ThinkPad is that it is owned by Lenovo which is a Chinese company, and that makes Ciro feel bad. But he likes it too much to quit... what to do?
Ciro is also reassured to see that in every enterprise he's been so far as of 2020, ThinkPads are very dominant. And the same when you see internal videos from other big tech enterprises, all those nerds are running... Ubuntu on ThinkPads! And the ISS.
Those nerds like their ThinkPads so much, that Ciro has seen some acquaintances with crazy old ThinkPad machines, missing keyboard buttons or the like. They just like their machines that much.
ThinkPads are are also designed for repairability, and it is easy to buy replacement parts, and there are OEM part replacement video tutorials: www.youtube.com/watch?v=vseFzFFz8lY No visible planned obsolescence here! With the caveat that the official online part stores can be shit as mentioned at Section "Lenovo".
Further more, in 2020 Lenovo is announced full certification for Ubuntu www.forbes.com/sites/jasonevangelho/2020/06/03/lenovos-massive-ubuntu-and-red-hat-announcement-levels-up-linux-in-2020/#28a8fd397ae0 which fantastic news!
The only thing Ciro never understood is the trackpoint: superuser.com/questions/225059/how-to-get-used-of-trackpoint-on-a-thinkpad Why would you use that with such an amazing touchpad? And vimium.
 activatedgeek/LeNet-5 run on GPU  Updated 2025-07-16
By default, the setup runs on CPU only, not GPU, as could be seen by running htop. But by the magic of PyTorch, modifying the program to run on the GPU is trivial:and leads to a faster runtime, with less 
cat << EOF | patch
diff --git a/run.py b/run.py
index 104d363..20072d1 100644
--- a/run.py
+++ b/run.py
@@ -24,7 +24,8 @@ data_test = MNIST('./data/mnist',
 data_train_loader = DataLoader(data_train, batch_size=256, shuffle=True, num_workers=8)
 data_test_loader = DataLoader(data_test, batch_size=1024, num_workers=8)
-net = LeNet5()
+device = 'cuda'
+net = LeNet5().to(device)
 criterion = nn.CrossEntropyLoss()
 optimizer = optim.Adam(net.parameters(), lr=2e-3)
@@ -43,6 +44,8 @@ def train(epoch):
     net.train()
     loss_list, batch_list = [], []
     for i, (images, labels) in enumerate(data_train_loader):
+        labels = labels.to(device)
+        images = images.to(device)
         optimizer.zero_grad()
         output = net(images)
@@ -71,6 +74,8 @@ def test():
     total_correct = 0
     avg_loss = 0.0
     for i, (images, labels) in enumerate(data_test_loader):
+        labels = labels.to(device)
+        images = images.to(device)
         output = net(images)
         avg_loss += criterion(output, labels).sum()
         pred = output.detach().max(1)[1]
@@ -84,7 +89,7 @@ def train_and_test(epoch):
     train(epoch)
     test()
-    dummy_input = torch.randn(1, 1, 32, 32, requires_grad=True)
+    dummy_input = torch.randn(1, 1, 32, 32, requires_grad=True).to(device)
     torch.onnx.export(net, dummy_input, "lenet.onnx")
     onnx_model = onnx.load("lenet.onnx")
EOFuser as now we are spending more time on the GPU than CPU:real    1m27.829s
user    4m37.266s
sys     0m27.562s Bilibili  Updated 2025-07-16
 Cool data embedded in the Bitcoin blockchain  A Quantitative Analysis of the Impact of Arbitrary Blockchain Content on Bitcoin by Matzutt et al. (2018)  Updated 2025-07-16
Semi-boring academic overview, but without reproducibility, or in a way that is too hidden for Ciro to have the patience to find it out.
Claims 1600 files found.
Mentions some upload mechanisms, notably AtomSea & EMBII and Satoshi uploader.
 Cursive script (East Asia)  Updated 2025-07-16
 Eigendecomposition of a matrix  Updated 2025-07-16
Every invertible matrix  can be written as:where:Note therefore that this decomposition is unique up to swapping the order of eigenvectors. We could fix a canonical form by sorting eigenvectors from smallest to largest in the case of a real number.
- is a diagonal matrix containing the eigenvalues of
- columns of are eigenvectors of
Intuitively, Note that this is just the change of basis formula, and so:
- changes basis to align to the eigenvectors
- multiplies eigenvectors simply by eigenvalues
- changes back to the original basis
 Ross Ulbricht  Updated 2025-07-16
Ross Ulbricht's LinkedIn profile picture
. Source. Still up as of 2023: www.linkedin.com/in/rossulbricht/ BitTorrent  Updated 2025-07-16
 Black hole  Updated 2025-07-16
 Blaise Pascal (1972)  Updated 2025-07-16
Episodes of the life of Blaise Pascal.
 California  Updated 2025-07-16
 Einstein solid  Updated 2025-07-16
One important quantum mechanics experiment, which using quantum effects explain the dependency of specific heat capacity on temperature, an effect which is not present in the Dulong-Petit law.
This is the solid-state analogue to the black-body radiation problem. It is also therefore a quantum mechanics-specific phenomenon.
 Electrical impedance  Updated 2025-07-16
Ciro Santilli distinctly remembers being taught that at basic electrical engineering school during Ciro Santilli's undergrad studies at the University of São Paulo.
It really allows you to do alternating current calculations much as you'd do DC calculations with resistors, quite poweful. It must have been all the rage in the 1950s.
 Minnesota  Updated 2025-07-16
 Namecoin  Updated 2025-07-16
 Year 1 of the physics course of the University of Oxford  Updated 2025-07-16
 Unlisted articles are being shown, click here to show only listed articles.
