Encryption software by Ciro Santilli 37 Updated +Created
Symmetric encryption by Ciro Santilli 37 Updated +Created
Symmetric encryption is a type of encryption where you use a password (also known as a "key") to encrypt your data, and then the same password to decrypt the data.
For example, this is the type of encryption that is used for encrypting the data in our smartphones and laptops with disk encryption.
This way, if your laptop gets stolen, the thief is not able to see your private photos without knowing your password, even though they are able to read every byte of your disk.
The downside is that that you have to type your password every time you want to login. This leads people to want to use shorter passwords, which in turn are more prone to password cracking.
The other main type of encryption is public-key cryptography.
The advantage of public-key cryptography is that it allows you to send secret messages to other people even an the attacker is able to capture the encrypted messages. This is for example what you want to do when sending a personal message to a friend over the Internet. Such encryption is especially crucial when using wireless communication such as Wi-Fi, where anyone nearby can capture the signals you send and receive, and would be able to read all your data if it weren't encrypted.
Easily sending encrypted messages over the Internet is not possible with symmetric encryption because for your friend to decrypt the message in that system, you'd need to send them the password, which the attacker would also be able to eavesdrop and then decrypt the message that follows using it. The problem of sharing a password with another person online is called key exchange.
Advanced Encryption Standard (AES) is one of the most popular families of symmetric encryption algorithms.
OpenSSL is a popular open source implementation of symmetric and public-key cryptography. A simple example of using OpenSSL for symmetric encryption from the command-line is:
echo 'Hello World!' > message.txt
openssl aes-256-cbc -a -salt -pbkdf2 -in message.txt -out message.txt.enc
This asks for a password, which we set as asdfqwer, and then produces a file message.txt.enc containing garbled text such that:
hd message.txt.enc
contains:
00000000  55 32 46 73 64 47 56 6b  58 31 38 58 48 65 2f 30  |U2FsdGVkX18XHe/0|
00000010  70 56 42 2b 70 45 6c 55  59 38 2b 54 38 7a 4e 34  |pVB+pElUY8+T8zN4|
00000020  4e 37 6d 52 2f 73 6d 4d  62 64 30 3d 0a           |N7mR/smMbd0=.|
0000002d
Then to decrypt:
openssl aes-256-cbc -d -a -pbkdf2 -in message.txt.enc -out message.new.txt
once again asks for your password and given the correct password produces a file message.new.txt containing the original message:
Hello World!
This was tested on Ubuntu 24.04, OpenSSL 3.0.13. See also: How to use OpenSSL to encrypt/decrypt files? on Stack Overflow.
There is no provably secure symmetric-key algorithm besides the one-time pad, which has the serious drawback of requiring the key to be as long as the message. This means that we believe that most encryption algorithms are secure because it is a hugely valuable target and no one has managed to crack them yet. But we don't have a mathematical proof that they are actually secure, so they could in theory be broken by new algorithms one day.
Password cracking by Ciro Santilli 37 Updated +Created
Down as of 2025, and because it was a dynamic mess Wayback Machine shows nothing.
Roam Research by Ciro Santilli 37 Updated +Created
They were first, but apparently fell down a bit as other cheaper and more open alternatives came up: www.reddit.com/r/RoamResearch/comments/107ktxm/is_roam_research_over/
Forester by Ciro Santilli 37 Updated +Created
Intro/docs: www.jonmsterling.com/jms-005P.xml. It is very hard to find information in that system however, largely because they don't seem to have a proper recursive cross file table of contents.
This is the project with the closest philosophy to OurBigBook that Ciro Santilli has ever found. It just tends to be even more idealistic than, OurBigBook in general, which is insane!
"Docs" at: www.jonmsterling.com/foreign-forester-jms-005P.xml Sample repo at: github.com/jonsterling/forest but all parts of interest are in submodules on the authors private Git server.
They have \Include like OurBigBook, nice: www.jonmsterling.com/jms-007L.xml, but OMG that name \transclude{xxx-NNNN}!! It seems to be possible to have human readable IDs too if you want: www.jonmsterling.com/foreign-forester-armaëlguéneau.xml is under trees/public/roladex/armaëlguéneau.tree.
Headers have open/close:
\subtree[jms-00YG]{}
OurBigBook considered this, but went with parent= instead finally to avoid huge lists of close parenthesis at the end of deep nodes.
One really cool thing is that the headers render internal links as clickable, which brings it all closer to the "knowledge base as a formal ontology" approach.
Does not encourage human readable IDs, uses stuff like jms-00YG.
The markup has relatively few insane constructs, notably you need explicit open paragraphs everywhere \p{}?! OMG, too idealistic, not enough pragmatism. There are however a few insane constructs:
  • [](): markdown like links
  • [[bluecat]]: wikilinks (but to raw IDs only, you can't seem to be able to do [[blue cat]]
  • #{} and ##{} for inline and block maths, though that might just be a sane construct with an insane name
The markup is documented at: www.jonmsterling.com/foreign-forester-jms-007N.xml
Jon has some very good theory of personal knowledge base, rationalizing several points that Ciro Santilli had in his mind but hadn't fully put into words, which is quite cool.
OCaml dependency is not so bad, but it relies on actually LaTeX for maths, which is bad. Maybe using JavaScript for OurBigBook wasn't such a bad choice after all, KaTeX just works.
Viewing the generated output HTML directly requires security.fileuri.strict_origin_policy which is sad, but using a local server solves it. So it appears to actually pull pieces together with JavaScript? Also output files have .xml extension, the idealism! They are reconsidering that though: www.jonmsterling.com/foreign-forester-jms-005P.xml#tree-8720.
The Ctrl+K article dropdown search navigation is quite cool.
\rel and \meta allows for arbitrary ontologies between nodes as semantic triples. But they suffer from one fatal flaw: the relations are headers in themselves. We often want to explain why a relation is true, give intuition to it, and refer to it from other nodes. This is obviously how the brain works: relations are nodes just like objects.
They do appear to be putting full trees on every toplevel regardless how deep and with JavaScript turned off e.g.:which is cool but will take lots of storage. In OurBigBook Ciro Santilli only does that on OurBigBook Web where each page can be dynamically generated.
Foam (personal knowledge base) by Ciro Santilli 37 Updated +Created
They seem to use graphs more than trees which will complicate publication.
TODO are IDs might be correctly implemented and independent from source file location? Are there any examples? github.com/foambubble/foam/issues/512
Ethereal jazz by Ciro Santilli 37 Updated +Created
Lot's of ECM ones!
  • Arbour Zena by Keith Jarrett (1976)
  • Timeless by John Abercrombie (1974)
  • Bright Size Life by Pat Metheny (1975)
Non-ECM:
  • Blues Dream by Bill Brisell (2001)
Jazz fusion subgenre by Ciro Santilli 37 Updated +Created
Dream of the Red Chamber adaptation by Ciro Santilli 37 Updated +Created
Dream of the Red Chamber by Ciro Santilli 37 Updated +Created
Dream of the Red Chamber 1987 music by Ciro Santilli 37 Updated +Created
The best ones:
Video 1.
Dream of the Red Chamber 1987 intro
. Source.
Video 2.
Dream of the Red Chamber 1987 red bean music
. Source. A Baidu Baike page: baike.baidu.com/item/红豆曲/81032
Video 3.
Dream of the Red Chamber 1987 flesh and blood song
. Source. A Baidu Baike page: baike.baidu.com/item/分骨肉/8602788
Video 4.
Dream of the Red Chamber 1987 smart song
. Source.
A more playful song is a nice change from the others.
Chinese traditional vocal music by Ciro Santilli 37 Updated +Created
Laurasiatheria subclade by Ciro Santilli 37 Updated +Created
Euarchontoglires subclade by Ciro Santilli 37 Updated +Created
Laurasiatheria by Ciro Santilli 37 Updated +Created
Euarchontoglires by Ciro Santilli 37 Updated +Created
Tardigrade by Ciro Santilli 37 Updated +Created
Video 1.
We FINALLY Understand Why Tardigrades Refuse to Die by Dr Ben Miles
. Source.

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