-
-
Notifications
You must be signed in to change notification settings - Fork 9
/
articles.bigb
403 lines (381 loc) · 34 KB
/
articles.bigb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
= The best articles by Ciro Santilli
These are the best articles ever authored by <Ciro Santilli>, most of them in the format of <Stack Overflow> answers.
Ciro posts update about new articles <Ciro Santilli's Twitter accounts>[on his Twitter accounts].
A chronological list of all articles is also kept at: <updates>{full}.
Some random generally less technical in-tree essays will be present at: <essays by Ciro Santilli>{full}.
* Trended on <Hacker News>:
* <CIA 2010 covert communication websites> on https://news.ycombinator.com/item?id=36279375[2023-06-11]. 190 points, a mild success.
* https://github.com/cirosantilli/x86-bare-metal-examples[x86 Bare Metal Examples] on https://news.ycombinator.com/item?id=19428700[2019-03-19]. 513 points. The third time something related to that repo trends. Hacker news people really like that repo!
* again https://news.ycombinator.com/item?id=27654257[2020-06-27] (https://web.archive.org/web/20210627201918/https://news.ycombinator.com/[archive]). 200 points, repository traffic jumped from 25 daily unique visitors to 4.6k unique visitors on the day
* https://stackoverflow.com/questions/22054578/how-to-run-a-program-without-an-operating-system/32483545#32483545[How to run a program without an operating system?] on https://news.ycombinator.com/item?id=18531393[2018-11-26] (https://web.archive.org/web/20181126123625/https://news.ycombinator.com[archive]). 394 points. Covers x86 and ARM
* <elf hello world> on https://news.ycombinator.com/item?id=14359159[2017-05-17] (https://web.archive.org/web/20170517174951/https://news.ycombinator.com/news[archive]). 334 points.
* <x86 paging> on https://news.ycombinator.com/item?id=13773219[2017-03-02]. Number 1 <Google> search result for "x86 Paging" https://archive.is/VUSNt[in 2017-08]. 142 points.
\Image[https://raw.githubusercontent.com/cirosantilli/media/master/BIOS_bare_metal_hello_world_running_on_a_Lenovo_ThinkPad_T430.jpg]
{title=<BIOS> <bare metal> <hello world> running on a <Lenovo> <ThinkPad> T430}
{height=500}
{source=https://stackoverflow.com/questions/22054578/how-to-run-a-program-without-an-operating-system/32483545#32483545}
* <x86> <assembly>
* https://stackoverflow.com/questions/980999/what-does-multicore-assembly-language-look-like/33651438#33651438[What does "multicore" assembly language look like?]
* https://stackoverflow.com/questions/4584089/what-is-the-function-of-the-push-pop-instructions-used-on-registers-in-x86-ass/33583134#33583134[What is the function of the push / pop instructions used on registers in x86 assembly?] Going down to memory spills, register allocation and graph coloring.
* <Linux kernel>
* https://unix.stackexchange.com/a/219674/32558[What do the flags in /proc/cpuinfo mean?]
* https://stackoverflow.com/a/31394861/895245[How does kernel get an executable binary file running under linux?]
* https://stackoverflow.com/questions/11408041/how-to-debug-the-linux-kernel-with-gdb-and-qemu/33203642#33203642[How to debug the Linux kernel with GDB and QEMU?]
* https://stackoverflow.com/questions/33852690/can-the-sys-execve-system-call-in-the-linux-kernel-receive-both-absolute-or-re/42290593#42290593[Can the sys_execve() system call in the Linux kernel receive both absolute or relative paths?]
* https://stackoverflow.com/questions/5957570/what-is-the-difference-between-the-kernel-space-and-the-user-space/44285809#44285809[What is the difference between the kernel space and the user space?]
* https://stackoverflow.com/questions/5748492/is-there-any-api-for-determining-the-physical-address-from-virtual-address-in-li/45128487#45128487[Is there any API for determining the physical address from virtual address in Linux?]
* https://stackoverflow.com/questions/2429511/why-do-people-write-the-usr-bin-env-python-shebang-on-the-first-line-of-a-pyt/40938801#40938801[Why do people write the `#!/usr/bin/env` python shebang on the first line of a Python script?]
* https://askubuntu.com/questions/41930/kernel-panic-not-syncing-vfs-unable-to-mount-root-fs-on-unknown-block0-0/1048477#1048477[How to solve "Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)"?]
* \Image[https://raw.githubusercontent.com/cirosantilli/media/master/Path_from_init_main.c_until_bzImage_in_the_Linux_kernel_4.19.jpg]
{height=800}
{title=Path from init/main.c until bzImage in the <Linux kernel> 4.19}
{description=From: https://unix.stackexchange.com/questions/5518/what-is-the-difference-between-the-following-kernel-makefile-terms-vmlinux-vml/482978#482978[What is the difference between the following kernel Makefile terms: vmLinux, vmlinuz, vmlinux.bin, zimage & bzimage?]}
{source=https://unix.stackexchange.com/questions/5518/what-is-the-difference-between-the-following-kernel-makefile-terms-vmlinux-vml/482978#482978}
* Single program <Linux distro>
* https://unix.stackexchange.com/questions/17122/is-it-possible-to-install-the-linux-kernel-alone/200572#200572[Is it possible to install the linux kernel alone?]
* \Image[https://raw.githubusercontent.com/cirosantilli/media/master/End_of_Linux_boot_log_with_minimal_init_that_prints_FOOBAR.png]
{description=From: https://unix.stackexchange.com/questions/122717/how-to-create-a-custom-linux-distro-that-runs-just-one-program-and-nothing-else/238579#238579[How to create a custom Linux distro that runs just one program and nothing else?]}
{source=https://unix.stackexchange.com/questions/122717/how-to-create-a-custom-linux-distro-that-runs-just-one-program-and-nothing-else/238579#238579}
{height=500}
* <QEMU>
* https://stackoverflow.com/questions/28315265/how-to-add-a-new-device-in-qemu-source-code/44612957#44612957[How to add a new device in QEMU source code?]
* https://askubuntu.com/questions/281763/is-there-any-prebuilt-qemu-ubuntu-image32bit-online/1081171#1081171[How to generate Ubuntu `debootstrap` disk images for QEMU?]
* https://stackoverflow.com/questions/10949169/how-to-create-a-multi-partition-sd-image-without-root-privileges/52850819#52850819[How to create a multi partition SD disk image without root privileges?]
* \Image[https://web.archive.org/web/20230325005127im_/https://i.stack.imgur.com/IPUkA.png]
{height=400}
{title=<Ubuntu 18.04> running inside <QEMU>}
{description=From: https://askubuntu.com/questions/884534/how-to-run-ubuntu-desktop-on-qemu/1046792#1046792[How to run Ubuntu desktop on QEMU?]}
{source=https://askubuntu.com/questions/884534/how-to-run-ubuntu-desktop-on-qemu/1046792#1046792}
* <gcc> and <Binutils>:
* https://stackoverflow.com/questions/3322911/what-do-linkers-do/33690144#33690144[How do linkers and address relocation works?]
* https://stackoverflow.com/questions/29391965/what-is-partial-linking-in-gnu-linker/53959624#53959624[What is incremental linking or partial linking?]
* https://stackoverflow.com/questions/3476093/replacing-ld-with-gold-any-experience/53921263#53921263[GOLD (`-fuse-ld=gold`) linker vs the traditional GNU ld and LLVM ldd]
* https://stackoverflow.com/questions/2463150/what-is-the-fpie-option-for-position-independent-executables-in-gcc-and-ld/51308031#51308031[What is the -fPIE option for position-independent executables in GCC and ld?] Concrete examples by running program through <GDB> twice, and an assembly hello world with absolute vs PC relative load.
* https://stackoverflow.com/a/30308151/895245[How many GCC optimization levels are there?]
* https://stackoverflow.com/questions/34519521/why-does-gcc-create-a-shared-object-instead-of-an-executable-binary-according-to/55704865#55704865[Why does GCC create a shared object instead of an executable binary according to file?]
* <C (language)>/<C++>: almost all of those fall into "disassemble https://knowyourmeme.com/memes/all-the-things[all the things]" category. Ciro also does "standards dissection" and "a new version of the standard is out" answers, but those are boring:
* https://stackoverflow.com/questions/572547/what-does-static-mean-in-a-c-program/14339047#14339047[What does "static" mean in a C program?]
* https://stackoverflow.com/questions/1041866/in-c-source-what-is-the-effect-of-extern-c/30526795#30526795[In C++ source, what is the effect of `extern "C"`?]
* https://stackoverflow.com/questions/10186765/char-array-vs-char-pointer-in-c/30661089#30661089[Char array vs Char Pointer in C]
* https://stackoverflow.com/questions/847179/multiple-glibc-libraries-on-a-single-host/52454603#52454603[How to compile glibc from source and use it?]
* https://stackoverflow.com/questions/332030/when-should-static-cast-dynamic-cast-const-cast-and-reinterpret-cast-be-used/60414256#60414256[When should `static_cast`, `dynamic_cast`, `const_cast` and `reinterpret_cast` be used?]
* https://stackoverflow.com/questions/31978324/what-exactly-is-stdatomic/58904448#58904448[What exactly is `std::atomic` in C++?]. This answer was originally more appropriately entitled "Let's disassemble some stuff", and got three downvotes, so Ciro changed it to a more professional title, and it started getting upvotes. People judge books by their covers.
* ``
notmain.o
0000000000000000 0000000000000017 W MyTemplate<int>::f(int)
main.o
0000000000000000 0000000000000017 W MyTemplate<int>::f(int)
``
{title=`nm` outputs showing that objects are redefined multiple times across files if you don't use template instantiation properly}
{description=From: https://stackoverflow.com/questions/2351148/explicit-template-instantiation-when-is-it-used/59614755#59614755[What is explicit template instantiation in C++ and when to use it?]}
* <IEEE 754>
* https://stackoverflow.com/questions/18118408/what-is-difference-between-quiet-nan-and-signaling-nan/55648118#55648118[What is difference between quiet NaN and signaling NaN?]
* https://stackoverflow.com/questions/2618059/in-java-what-does-nan-mean/55673220#55673220[In Java, what does NaN mean?]
* ``
Without subnormals:
+---+---+-------+---------------+-------------------------------+
exponent | ? | 0 | 1 | 2 | 3 |
+---+---+-------+---------------+-------------------------------+
| | | | | |
v v v v v v
-----------------------------------------------------------------
floats * **** * * * * * * * * * * * *
-----------------------------------------------------------------
^ ^ ^ ^ ^ ^
| | | | | |
0 | 2^-126 2^-125 2^-124 2^-123
|
2^-127
With subnormals:
+-------+-------+---------------+-------------------------------+
exponent | 0 | 1 | 2 | 3 |
+-------+-------+---------------+-------------------------------+
| | | | |
v v v v v
-----------------------------------------------------------------
floats * * * * * * * * * * * * * * * * *
-----------------------------------------------------------------
^ ^ ^ ^ ^ ^
| | | | | |
0 | 2^-126 2^-125 2^-124 2^-123
|
2^-127
``
{title=Visualization of <#subnormal floating point numbers> vs what <IEEE 754> would look like without them}
{description=From: https://stackoverflow.com/questions/8341395/what-is-a-subnormal-floating-point-number/53203428#53203428[What is a subnormal floating point number?]}
* <Computer science>
* <Algorithms>
* \Image[https://raw.githubusercontent.com/cirosantilli/media/master/C++_Heap_vs_BST_vs_hash_map_insert_time.png]
{title=Average insertion time into heaps, <binary search tree> and <hash maps> of the <#C++ standard library>}
{description=From: https://stackoverflow.com/questions/6147242/heap-vs-binary-search-tree-bst/29548834#29548834[Heap vs Binary Search Tree (BST)]}
{height=1000}
{source=https://stackoverflow.com/questions/6147242/heap-vs-binary-search-tree-bst/29548834#29548834}
* https://cs.stackexchange.com/questions/9664/is-it-necessary-for-np-problems-to-be-decision-problems/128702#128702[Is it necessary for NP problems to be decision problems?]
* https://stackoverflow.com/questions/4317414/polynomial-time-and-exponential-time/68005934#68005934[Polynomial time and exponential time]. Answered focusing on the definition of "exponential time".
* https://cstheory.stackexchange.com/questions/20978/what-is-the-smallest-turing-machine-where-it-is-unknown-if-it-halts-or-not/53326#53326[What is the smallest Turing machine where it is unknown if it halts or not?]. Answer focusing on "blank tape" initial condition only. Large parts of it are summarizing the <Busy Beaver Challenge>, but some additions were made.
* <Git>
* ``
| 0 | 4 | 8 | C |
|-------------|--------------|-------------|----------------|
0 | DIRC | Version | File count | ctime ...| 0
| ... | mtime | device |
2 | inode | mode | UID | GID | 2
| File size | Entry SHA-1 ...|
4 | ... | Flags | Index SHA-1 ...| 4
| ... |
``
{title=<ASCII art> depicting the <binary file> format of the <Git> index file}
{description=From: https://stackoverflow.com/a/25806452/895245[What does the git index contain EXACTLY?]}
* ``
tree {tree_sha}
{parents}
author {author_name} <{author_email}> {author_date_seconds} {author_date_timezone}
committer {committer_name} <{committer_email}> {committer_date_seconds} {committer_date_timezone}
{commit message}
``
{title=Description of the <Git> commit object binary data structure}
{description=From: https://stackoverflow.com/questions/22968856/what-is-the-file-format-of-a-git-commit-object-data-structure/37438460#37438460[What is the file format of a git commit object data structure?]}
* https://stackoverflow.com/questions/600079/how-do-i-clone-a-subdirectory-only-of-a-git-repository/52269934#52269934[How do I clone a subdirectory only of a Git repository?]
* <Python>
* https://stackoverflow.com/a/19950198/895245[What is the difference between old style and new style classes in Python?]
* https://stackoverflow.com/a/20022860/895245[What is a mixin in Python, and why are they useful?]
* https://stackoverflow.com/questions/3044580/multiprocessing-vs-threading-python/55319297#55319297[What are the differences between threads and processes in Python?]
\Image[https://web.archive.org/web/20190607051221if_/https://i.stack.imgur.com/2x04m.png]
{height=600}
{title=<Python> Threads vs Processes with 8 hyperthreads}
{source=https://stackoverflow.com/questions/3044580/multiprocessing-vs-threading-python/55319297#55319297}
* <Web technology>
* https://stackoverflow.com/a/28380690/895245[What does enctype='multipart/form-data' mean?]
* <JavaScript>
* https://stackoverflow.com/a/23877420/895245[How does JavaScript `.prototype` work?]
* https://stackoverflow.com/a/24595458/895245[What is the difference between `.prop()` vs `.attr()` in JavaScript?]
* <OpenGL>
* \Image[https://raw.githubusercontent.com/cirosantilli/media/master/opengl-rotating-triangle-image-magick.gif]
{title=<OpenGL> rendering output dumped to a <GIF> file}
{description=From: https://stackoverflow.com/questions/3191978/how-to-use-glut-opengl-to-render-to-a-file/14324292#14324292[How to use GLUT/OpenGL to render to a file?]}
{source=https://stackoverflow.com/questions/3191978/how-to-use-glut-opengl-to-render-to-a-file/14324292#14324292}
* \Image[https://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Texture_Atlas.png/600px-Texture_Atlas.png]
{title=Example of a texture atlas containing glyphs}
{description=
Image by Nicolas P. Rougier, author of <Freetype GL>.
Used on <Ciro Santilli>'s answer: https://stackoverflow.com/questions/8847899/opengl-how-to-draw-text-using-only-opengl-methods/36065835#36065835[How to draw text using only OpenGL methods?]
}
{source=https://en.wikipedia.org/wiki/File:Texture_Atlas.png}
* \Image[https://raw.githubusercontent.com/cirosantilli/media/master/OpenGL_glFrustrum_on_left_vs_glOrtho_on_right.png]
{title=<OpenGL> `glFrustrum` vs `glOrtho`}
{description=From: https://stackoverflow.com/questions/2571402/how-to-use-glortho-in-opengl/36046924#36046924[How to use `glOrtho()` in OpenGL?]}
{source=https://stackoverflow.com/questions/2571402/how-to-use-glortho-in-opengl/36046924#36046924}
* https://stackoverflow.com/questions/17789575/what-are-shaders-in-opengl-and-what-do-we-need-them-for/36211337#36211337[What are shaders in OpenGL?]
* https://gamedev.stackexchange.com/questions/72044/why-do-we-use-4x4-matrices-to-transform-things-in-3d/118848#118848[Why do we use 4x4 matrices to transform things in 3D?]
* \Image[https://raw.githubusercontent.com/cirosantilli/media/master/Sinusoidal_circular_wave_heatmap_generated_with_OpenGL_shader_at_60fps.gif]
{title=Sinusoidal circular wave heatmap generated with an <OpenGL> shader at 60 FPS on <SDL>}
{description=
From: https://stackoverflow.com/questions/30864752/is-it-possible-to-build-a-heatmap-from-point-data-at-60-times-per-second/39839788#39839788[Is it possible to build a heatmap from point data at 60 times per second?]
Compared <CPU> vs <GPU> shaders.
}
{source=https://stackoverflow.com/questions/30864752/is-it-possible-to-build-a-heatmap-from-point-data-at-60-times-per-second/39839788#39839788}
* https://stackoverflow.com/questions/13693946/image-processing-with-glsl-shaders/40641014#40641014[Image Processing with GLSL shaders?] Compared the <CPU> and GPU for a simple blur algorithm.
\Image[https://raw.githubusercontent.com/cirosantilli/media/master/Visualization_of_OpenGL_blur_algorithm_from_webcam_with_Ciro_Santilli_waving.gif]
{source=https://stackoverflow.com/questions/13693946/image-processing-with-glsl-shaders/40641014#40641014}
\Video[http://youtube.com/watch?v=MRhAljmHq-o]
{title=<OpenGL> GPU GLSL fragment shader real time v4l2 Linux webcam <computer vision> box blur vs <CPU>}
{height=500}
* <Node.js>
* https://stackoverflow.com/a/22004559/895245[What's the difference between dependencies, devDependencies and peerDependencies in npm package.json file?]
* <Ruby on Rails>
* https://stackoverflow.com/a/25626629/895245[What is the difference between `+<%+`, `+<%=+`, `+<%#+` and `+-%>+` in ERB in Rails?]
* <POSIX>
* https://stackoverflow.com/questions/1780599/what-is-the-meaning-of-posix/31865755#31865755[What is POSIX?] Huge classified overview of the most important things that POSIX specifies.
* <Systems programming>
* https://stackoverflow.com/questions/868568/what-do-the-terms-cpu-bound-and-i-o-bound-mean/33510470#33510470[What do the terms "CPU bound" and "I/O bound" mean?]
* \Image[https://raw.githubusercontent.com/cirosantilli/media/master/wall,_user,_and_sys_for_CPU-bound_work_with_8_hyperthreads.png]
{title=Plot of "real", "user" and "sys" mean times of the output of time for <CPU>-bound workload with 8 threads}
{description=From: https://stackoverflow.com/questions/556405/what-do-real-user-and-sys-mean-in-the-output-of-time1/53937376#53937376[What do 'real', 'user' and 'sys' mean in the output of time?]}
{height=800}
{source=https://stackoverflow.com/questions/556405/what-do-real-user-and-sys-mean-in-the-output-of-time1/53937376#53937376}
* ``
+--------+ +------------+ +------+
| device |>---------------->| function 0 |>----->| BAR0 |
| | | | +------+
| |>------------+ | |
| | | | | +------+
... ... | | |>----->| BAR1 |
| | | | | +------+
| |>--------+ | | |
+--------+ | | ... ... ...
| | | |
| | | | +------+
| | | |>----->| BAR5 |
| | +------------+ +------+
| |
| |
| | +------------+ +------+
| +--->| function 1 |>----->| BAR0 |
| | | +------+
| | |
| | | +------+
| | |>----->| BAR1 |
| | | +------+
| | |
| ... ... ...
| | |
| | | +------+
| | |>----->| BAR5 |
| +------------+ +------+
|
|
| ...
|
|
| +------------+ +------+
+------->| function 7 |>----->| BAR0 |
| | +------+
| |
| | +------+
| |>----->| BAR1 |
| | +------+
| |
... ... ...
| |
| | +------+
| |>----->| BAR5 |
+------------+ +------+
``
{title=Logical struture <PCIe> device, functions and BARs}
{description=From: https://stackoverflow.com/questions/30190050/what-is-the-base-address-register-bar-in-pcie/44716618#44716618[What is the Base Address Register (BAR) in PCIe?]}
* <Electronics>
* <Raspberry Pi>
* \Image[https://web.archive.org/web/20200809024904im_/https://i.stack.imgur.com/8C0mJ.jpg]
{title=<Raspberry Pi 2> directly connected to a <laptop> with an <Ethernet cable>}
{description=Image from answer to: https://stackoverflow.com/questions/16040128/hook-up-raspberry-pi-via-ethernet-to-laptop-without-router/39086537#39086537[How to hook up a Raspberry Pi via Ethernet to a laptop without a router?]}
\Image[https://web.archive.org/web/20200809024904im_/https://i.stack.imgur.com/L0XyU.jpg]
{title=<Raspberry Pi 2> connected to a <laptop> with an USB <UART> adapter}
{description=Image from answer to: https://stackoverflow.com/questions/16040128/hook-up-raspberry-pi-via-ethernet-to-laptop-without-router/39086537#39086537[How to hook up a Raspberry Pi via Ethernet to a laptop without a router?]}
\Image[https://web.archive.org/web/20210922124515im_/https://i.stack.imgur.com/TqIrP.png]
{title=<Raspberry Pi OS> being emulated on <QEMU> 2.5.0 on <Ubuntu 16.04> with a modified kernel}
{description=Image from answer to: https://stackoverflow.com/questions/28880833/how-to-emulate-the-raspberry-pi-2-on-qemu/45814913#45814913[How to emulate the Raspberry Pi 2 on QEMU?]}
{height=600}
\Image[https://web.archive.org/web/20201112021056im_/https://i.stack.imgur.com/hztMj.gif]
{title=Bare metal <LED> blinker program running on a <Raspberry Pi 2>}
{description=Image from answer to: https://stackoverflow.com/questions/29837892/how-to-run-a-c-program-with-no-os-on-the-raspberry-pi/40063032[How to run a C program with no OS on the Raspberry Pi?]}
* <Computer security>
* https://security.stackexchange.com/a/72569/53321[Why is the same origin policy so important?]
* Media
* \Video[http://youtube.com/watch?v=JISozfHATms]
{title=Canon in D in <C (language)>}
{description=
From: https://stackoverflow.com/questions/732699/how-is-audio-represented-with-numbers-in-computers/36510894#36510894[How is audio represented with numbers in computers?].
The original <Stack Overflow content deletion>[question was deleted, lol]...: https://stackoverflow.com/questions/2205070/programmatically-synthesizing-programming-music/52126471#52126471[How to programmatically synthesize music?]
}
* https://stackoverflow.com/questions/12831761/how-to-resize-a-picture-using-ffmpegs-sws-scale/36487785#36487785[How to resize a picture using ffmpeg's sws_scale()?]
* https://unix.stackexchange.com/questions/256138/is-there-any-decent-speech-recognition-software-for-linux/613392#613392[Is there any decent speech recognition software for Linux?] ran a few examples manually on `vosk-api` and compared to ground truth.
* <Eclipse (IDE)>
* https://stackoverflow.com/questions/4038760/how-to-set-up-the-eclipse-for-remote-c-debugging-with-gdbserver/45608937#45608937[How to set up the Eclipse for remote C debugging with gdbserver?]
* <Computer hardware>
* https://www.quora.com/Are-there-good-open-source-standard-cell-libraries-to-learn-IC-synthesis-with-EDA-tools/answer/Ciro-Santilli[Are there good open source standard cell libraries to learn IC synthesis with EDA tools?]
* <Scientific visualization software>
* \Image[https://raw.githubusercontent.com/cirosantilli/media/master/VisIt_zoom_in_10_million_straight_line_plot_with_some_marked_points.png]
{title=VisIt zoom in 10 million straight line plot with some manually marked points}
{disambiguate=best-articles}
{description=From: <Survey of open source interactive plotting software with a 10 million point scatter plot benchmark by Ciro Santilli>{full}}
{source=https://stackoverflow.com/questions/5854515/large-plot-20-million-samples-gigabytes-of-data/55967461#55967461}
{height=600}
* <Numerical analysis>
* \Video[http://youtube.com/watch?v=FOwYDlay8rI]
{title=Real-time <heat equation> <OpenGL> visualization with interactive mouse cursor using relaxation method by <Ciro Santilli> (2016)}
{height=500}
* <Computational physics>
* \Image[https://web.archive.org/web/20210225103255im_/https://i.stack.imgur.com/9eVe9.png]
{title=<gnuplot> plot of the y position of a sphere bouncing on a plane simulated in <Bullet Physics>}
{disambiguate=articles}
{description=From: https://stackoverflow.com/questions/11175694/bullet-physics-simplest-collision-example/36987063#36987063[What is the simplest collision example possible in a Bullet Physics simulation?]}
{source=https://stackoverflow.com/questions/11175694/bullet-physics-simplest-collision-example/36987063#36987063}
{height=600}
* <Register transfer level> languages like <Verilog> and <VHDL>
* <Verilog>:
\Image[https://raw.githubusercontent.com/cirosantilli/media/master/verilog-interactive.gif]
{title=Interacgive ASDF-controlled demo with core logic written in <Verilog> using <Verilator>}
{description=
From: https://stackoverflow.com/questions/38108243/is-it-possible-to-do-interactive-user-input-and-output-simulation-in-vhdl-or-ver/38174654#38174654[Is it possible to do interactive user input and output simulation in VHDL or Verilog?]
See also: <Verilator interactive example>{full}
}
{height=600}
* <Android>
* \Image[https://raw.githubusercontent.com/cirosantilli/media/master/Android_AOSP_8.1.0_built_from_source_running_in_QEMU.png]
{description=From: https://stackoverflow.com/questions/1809774/how-to-compile-the-android-aosp-kernel-and-test-it-with-the-android-emulator/48310014#48310014[How to compile the Android AOSP kernel and test it with the Android Emulator?]}
{source=https://stackoverflow.com/questions/1809774/how-to-compile-the-android-aosp-kernel-and-test-it-with-the-android-emulator/48310014#48310014}
{height=600}
* \Video[https://www.youtube.com/watch?v=fVgeoMYm61Q]
{title=Android screen showing live on an <Ubuntu> laptop through ADB}
{description=From: https://android.stackexchange.com/questions/7686/is-there-a-way-to-see-the-devices-screen-live-on-pc-through-adb/154328#154328[How to see the Android screen live on an Ubuntu desktop through ADB?]}
* <Debugging>
* https://stackoverflow.com/questions/1345670/stack-smashing-detected/51897264#51897264[What is the "Stack smashing detected" error in GCC and how to solve it?]
* https://stackoverflow.com/questions/7880784/what-is-rss-and-vsz-in-linux-memory-management/57453334#57453334[What is RSS and VSZ in Linux memory management?]
* https://stackoverflow.com/questions/3899870/print-call-stack-in-c-or-c/54365144#54365144[How to print the call stack in C or C++?]
* https://stackoverflow.com/questions/6261201/how-to-find-memory-leak-in-a-c-code-project/57877190#57877190[How to find memory leaks in C++ code?]
* <Program optimization>
* https://stackoverflow.com/questions/310974/what-is-tail-call-optimization/55230417#55230417[What is tail call optimization?]
* \Image[https://web.archive.org/web/20200229164327if_/https://i.stack.imgur.com/mM8NQ.png]
{title=gprof2dot image generated from the gprof data of a simple test program}
{description=
From: https://stackoverflow.com/questions/375913/how-can-i-profile-c-code-running-on-linux/60265409#60265409[How can I profile C++ code running on Linux?]
The answer compares gprof, valgrind callgrind, perf and gperftools on a single simple executable.
}
{source=https://stackoverflow.com/questions/375913/how-can-i-profile-c-code-running-on-linux/60265409#60265409}
{height=600}
* Data
* \Image[https://raw.githubusercontent.com/cirosantilli/media/master//Wikipedia_CatTree.png]
{title=<Mathematics> dump of <Wikipedia CatTree>}
{disambiguate=articles}
{source=https://cirosantilli.com/wikipedia-cattree/Mathematics}
{height=600}
* <Mathematics>
* \Image[https://raw.githubusercontent.com/cirosantilli/media/master/Diagram_of_the_fundamental_theorem_on_homomorphisms_with_subtitles.svg]
{title=Diagram of the <fundamental theorem on homomorphisms> by <Ciro Santilli> (2020)}
{description=
Shows the relationship between <group homomorphisms> and <normal subgroups>.
From: https://math.stackexchange.com/questions/776039/intuition-behind-normal-subgroups/3732426#3732426[What is the intuition behind normal subgroups?]
}
{height=800}
* <Formalization of mathematics>{full}: some early thoughts that could be expanded. Ciro almost had a stroke when he understood this stuff in his teens.
* \Image[https://upload.wikimedia.org/wikipedia/commons/3/31/DFT_2sin%28t%29_%2B_cos%284t%29_25_points.svg]
{title=Simple example of the <Discrete Fourier transform>}
{description=That was missing from <Wikipedia> page: https://en.wikipedia.org/wiki/Discrete_Fourier_transform[]!}
{height=600}
* <computer network>[Network] programming
* https://stackoverflow.com/questions/11208299/how-to-make-an-http-get-request-in-c-without-libcurl/35680609#35680609[How to make an HTTP get request in C without libcurl?]
* <Physics>
* <uranium vs plutonium Quora answer by Ciro Santilli>[What is the difference between plutonium and uranium?]
* \Image[https://raw.githubusercontent.com/cirosantilli/media/master/Faster_than_light_implies_time_travel_diagram.svg]
{title=<Spacetime diagram> illustrating how <faster-than-light> travel implies time travel}
{description=From: https://physics.stackexchange.com/questions/13001/does-superluminal-travel-imply-travelling-back-in-time/615079#615079[Does faster than light travel imply travelling back in time?]}
{disambiguate=articles}
{height=600}
* <Biology>
* \Image[https://upload.wikimedia.org/wikipedia/commons/thumb/5/57/Oxford_Nanopore_MinION_top_cropped.jpg/392px-Oxford_Nanopore_MinION_top_cropped.jpg]
{disambiguate=articles}
{title=Top view of an open <Oxford Nanopore MinION>}
{description=From: <oxford nanopore river bacteria>{full}}
{height=600}
* \Image[https://upload.wikimedia.org/wikipedia/commons/5/5f/E._Coli_Whole_Cell_model_by_Covert_Lab_minimal_nutrients_vs_cut_amino_acids_mass_fraction_summary.svg]
{height=600}
{title=Mass fractions in a <minimal growth medium> vs an <amino acid> cut in a simulation of the <E. Coli Whole Cell Model by Covert Lab>}
{description=From: <E. Coli Whole Cell Model by Covert Lab>{full}}
* <Quantum computing>
* <Quantum computing is just matrix multiplication>{full}
* \Image[https://raw.githubusercontent.com/cirosantilli/media/master/matplotlib/bloch_sphere_walk.svg]
{title=Visualization of the continuous deformation of states as we walk around the <Bloch sphere> represented as <photon polarization> arrows}
{description=From: https://physics.stackexchange.com/questions/204090/understanding-the-bloch-sphere/598254#598254[Understanding the Bloch sphere].}
* <Bitcoin>
* <Cool data embedded in the Bitcoin blockchain>{full}
* <GIMP>
* \Image[https://web.archive.org/web/20210321083826if_/https://i.stack.imgur.com/r89lU.png]
{title=<GIMP> screenshot part of https://graphicdesign.stackexchange.com/questions/83446/gimp-how-to-combine-two-images-side-by-side/145543#145543[how to combine two images side-by-side in GIMP?]}
{height=600}
* Home DIY
* \Image[https://upload.wikimedia.org/wikipedia/commons/a/a6/Total_Blackout_Cassette_Roller_Blind_With_Curtains.jpg]
{title=Total_Blackout_Cassette_Roller_Blind_With_Curtains.}
{description=From: <Window blackout>{full}}
{height=600}
* <Ciro Santilli's campaign for freedom of speech in China>[China]
* https://www.quora.com/What-would-happen-if-I-walked-around-Beijing-with-a-t-shirt-that-said-freedom-of-speech-is-pretty-great[What would happen if I walked around Beijing with a t-shirt that said "freedom of speech is pretty great"?]