Politics of Brazil Updated +Created
Ciro's Edict #5 / Next steps Updated +Created
  • upload all of cirosantilli.com to ourbigbook.com. I will do this by implementing an import from filesystem functionality based on the OurBigBook CLI. This will also require implementing slit headeres on the server to work well, I'll need to create one Article for every header on render.
  • get \x and \Include working on the live web preview editor. This will require creating a new simple API, currently the editor jus shows broken references, but final render works because it goes through the database backend
  • implement email verification signup. Finally! Maybe add some notifications too, e.g. on new comments or likes.
Ciro's Edict #5 / Skip ID extraction and rendering based on database timestamps Updated +Created
Now that we can reliably split files at will with \Include, I finally added this feature.
This means while developing a website locally with the OurBigBook CLI, if you have a bunch of files with an error in one of them, your first run will run slowly until the error:
extract_ids README.ciro
extract_ids README.ciro finished in 73.82836899906397 ms
extract_ids art.ciro
extract_ids art.ciro finished in 671.1738419979811 ms
extract_ids ciro-santilli.ciro
extract_ids ciro-santilli.ciro finished in 1009.6256089992821 ms
extract_ids science.ciro
error: science.ciro:13686:1: named argument "parent" given multiple times
extract_ids science.ciro finished in 1649.6193730011582 ms
but further runs will blast through the files that worked, skipping all files that have sucessfully converted:
extract_ids README.ciro
extract_ids README.ciro skipped by timestamp
extract_ids art.ciro
extract_ids art.ciro skipped by timestamp
extract_ids ciro-santilli.ciro
extract_ids ciro-santilli.ciro skipped by timestamp
extract_ids science.ciro
so you can fix file by file and move on quickly.
This was not fully trivial to implement because we had to rework how duplicate IDs are checked. Previously, we just nuked the DB every time on a directory conversion, and then repopulated everything. If a duplicated showed up on a file, it was a duplicate.
But now that we are not necessarily extracing IDs from every file, we can't just nuke the database anymore, otherwise we'd lose the information. Therefore, what we have to do is to convert every file, and only at the end check the duplicates.
Ciro's Edict #6 / Next steps Updated +Created
Make article editing more reasonable. Several bugs in the area.
Ciro's Edict #7 / --format-source Updated +Created
Added ourbigbook --format-source automatic code formatting. I implemented it for the following reasons:
  • I want to do certain automatic modifications to source code on web, e.g.:
    • allow users to select the parent article of a new article on the web UI, but that is currently doable only with \Include macros
    • allow users to edit the source only for a specific header
  • later on, much later, this will allow WYSIWYG export to plaintext
This also ended up having one unexpected benefit: whenever a new feature is added that deprecates an old feature, by converting the large corpus from github.com/cirosantilli/cirosantilli.github.io to the new feature I can test the new preferred feature very well.
For example, converting \x[blue cat] en masse to the new insane syntax <blue cat> found several bugs with the new insane syntax.
This seemed somewhat easy at first, so I started it as a way of procrastinating more urgent Web features (web scares me, you know), but it ended being insanely hard to implement, because there are many edge cases. Also, most bugs are not acceptable, as they would corrupt your precious source code and potentially output.
But well, it is done!
States of Brazil Updated +Created
Phenylalanine Updated +Created
How many "la"s does a name need to have?
Sequelize example Updated +Created
To run examples on a specific database:
All examples can be tested on all databases with:
cd sequelize
./test
Overview of the examples:
Social inequality Updated +Created
Ciro Santilli is extremely passionate about this issue, partly due to Ciro Santilli's self perceived compassionate personality.
Ciro Santilli's main approaches to reduce it:
We have to be careful not to make everyone poorer when trying to reduce inequality.
But as things stand as of 2020, increasing taxes on the very richest, and notably wealth tax, and investing it in free gifted education, seems like a safe bet to achieve any meaningful level of equal opportunity and meritocracy.
Ciro's Edict #8 / List topics on home page Updated +Created
The new default homepage for a logged out user how shows a list of the topics with the most articles.
This is a reasonable choice for default homepage, and it immediately exposes users to this central feature of the website: the topic system.
Doing this required in particular calculating the best title for a topic, since it is possible to have different titles with the same ID, the most common way being with capitalization changes, e.g.:
JavaScript
Javascript
would both have topic ID javascript.
With this in place we also added the preferred topic title to the top topic page.
The algorithm chosen is to pick the top 10 most upvoted topics, and select the most common title from amongst them. This should make topic title vandalism quite hard. This was made in a single SQL query, and became the most complext SQL query Ciro Santilli has ever written so far: twitter.com/cirosantilli2/status/1549721815832043522
Figure 1.
Screenshot showing the list of topics
. The page is: ourbigbook.com for the logged out user, ourbigbook.com/go/topics for the logged in user.
Figure 2.
Screenshot showing a topic page
. The page is: ourbigbook.com/go/topic/vector-space. Before this sprint, we didn't have the "Vector Space" at the top, as it wasn't necessarily trivial to determine what the preferred title would be.
2022 Brazilian general election Updated +Created
Five votes:
  • Deputado federal: total elected 513[ref]
  • Deputado estadual
  • Senador: total elected: 81[ref], [ref]
  • Governador: total elected: 1 per state
  • Presidente: 13 Lula. Total elected: 1
All but president are per state. Official list seems to be e.g. for Sao Paulo: divulgacandcontas.tse.jus.br/divulga/#/estados/2022/2040602022/SP/candidatos
Ciro Santilli's hardware / Toshiba MK1059GSM Updated +Created
~1TB.
Internal hard drive likely removed from some old computer I lost track of, kept in a crappy case, incredible stuff.
Ubuntu 20.04 gnome-disks benchmark, NTFS partition: 40MB/s.
Eigendecomposition of a matrix Updated +Created
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.
Intuitively, Note that this is just the change of basis formula, and so:
Gavin Andresen Updated +Created
Ciro's Edict #7 / Issue tracker Updated +Created
Every article now has a (very basic) GitHub-like issue tracker. Comments now go under issues, and issues go under articles. Issues themselves are very similar to articles, with a title and a body.
This was part of 1.0, but not the first priority, but I did it now anyways because I'm trying to do all the database changes ASAP as I'm not in the mood to write database migrations.
Here's an example:
https://raw.githubusercontent.com/cirosantilli/media/master/OurBigBook_issue_list_on_article_page.png
Spontaneous parametric down-conversion Updated +Created
Phenomena that produces photons in pairs as it passes through a certain type of crystal.
You can then detect one of the photons, and when you do you know that the other one is there as well and ready to be used. two photon interference experiment comes to mind, which is the basis of photonic quantum computer, where you need two photons to be produced at the exact same time to produce quantum entanglement.
Video 1.
One Photon In, TWO Photons Out by JQInews (2010)
Source.
Mentions that this phenomena is useful to determine the efficiency of a single photon detector, as you have the second photon of the pair as a control.
Also briefly describes how the input energy and momentum must balance out the output energy and momentum of the two photons coming out (determined by the output frequency and angle).
Shows the crystal close up of the crystal branded "Cleveland Crystals Inc.". Mentions that only one in a billion photon gets scattered.
Then shows their actual optical table setup, with two tunnels of adjustable angle to get photons with different properties.
Video 2.
How do you produce a single photon? by Physics World (2015)
Source.
Very short whiteboard video by Peter Mosley from the University of Bath, but it's worth it for newbs. Basically describes spontaneous parametric down-conversion.
One interesting thing he mentions is that you could get single photons by making your sunglasses thicker and thicker to reduce how many photons pass, but one big downside problem is that then you don't know when the photon is going to come through, that becomes essentially random, and then you can't use this technique if you need two photons at the same time, which is often the case, see also: two photon interference experiment.

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