Spherical cap model of the real projective plane Updated +Created
Ciro Santilli's preferred visualization of the real projective plane is a small variant of the standard "lines through origin in ".
Take a open half sphere e.g. a sphere but only the points with .
Each point in the half sphere identifies a unique line through the origin.
Then, the only lines missing are the lines in the x-y plane itself.
For those sphere points in the circle on the x-y plane, you should think of them as magic poins that are identified with the corresponding antipodal point, also on the x-y, but on the other side of the origin. So basically you you can teleport from one of those to the other side, and you are still in the same point.
Ciro likes this model because then all the magic is confined just to the part of the model, and everything else looks exactly like the sphere.
It is useful to contrast this with the sphere itself. In the sphere, all points in the circle are the same point. But this is not the case for the projective plane. You cannot instantly go to any other point on the by just moving a little bit, you have to walk around that circle.
Figure 1.
Spherical cap model of the real projective plane
. On the x-y plane, you can magically travel immediately between antipodal points such as A/A', B/B' and C/C'. Or equivalently, those pairs are the same point. Every other point outside the x-y plane is just a regular point like a normal sphere.
Sponsor Ciro Santilli's work on OurBigBook.com / Accounting method Updated +Created
A detailed list of all transactions is kept at: sponsor/budget.js.
Ciro Santilli use the following accounting for this sponsorship calculations.
For significant one time donations, he takes the final money received in one of his cash GBP accounts, then he checks how much that is in dollars on Google at the time of cash out, and then writes that amount down as the final dollar value which is what ultimately counts. This exposes Ciro to USD/GBP fluctuations, but it simplifies accounting for donors which is more important, so it is likely worth it.
For small regular donations, Ciro just tallies it all up in GBP from time to time and converts it all to dollars in one go as it is not worth spending too much time updating those too often.
Ciro's Edict #4 / China front Updated +Created
At github.com/cirosantilli/china-dictatorship/issues/738 a user made a comment about gang raping my mother (more like country-raping).
As mentioned at github.com/cirosantilli/china-dictatorship/issues/739, ally Martin then reported the issue, and GitHub took down the wumao's account for a while using their undocumented shadowban feature, until the wumao edited the issue.
Based on the discussion with Martin, I then recommended at github.com/cirosantilli/china-dictatorship/blob/41b4741a4e6553f44f5f1ef85cf63c55eb7b8277/CONTRIBUTING.md that we do not report such issues, and that GitHub do not delete such accounts, with rationale explained on the CONTRIBUTING.
Thymine Updated +Created
Favela Updated +Created
Life difficulty level meme Updated +Created
TODO there was one which was relly good, can't find it anymore. One day.
Figure 1.
Life difficulty level meme with West Europe, East Europe, Turkey and Middle east
. Source.
Lightweight markup language Updated +Created
Light year Updated +Created
Sponsor Ciro Santilli's work on OurBigBook.com / Financial crime preventive measures Updated +Created
Crazy shady crypto people seem to like Ciro Santilli, so this is in order.
For the love of God do dot give us proceeds of crime.
Giving to Ciro Santilli is the worst possible way to launder your money, as donations amounts are clearly publicly disclosed (though not donor identities if they with to remain anonymous), and clear records kept of every donation made (including private note of donor identities if known). Also suspicious donations are promptly reported to the authorities.
Donation refunds upon donor's requests are only made at our discretion, and may be declined, unless required by law of course. This is to reduce the risks of us unknowingly serving as money mules or aiding money laundering.
Ciro Santilli believes that he is not require to report large donations to either:
But note that Ciro will preventively report if there are any further suspicious aspects to any donations received.
Ciro's Edict #4 / ourbigbook.com Updated +Created
I had meant to make an update earlier, but I wanted to try and add some more "visible end-user changes" to OurBigBook.com.
Just noticed BTW that signup on the website is broken. Facepalm. Not that it matters much since it is not very useful in the current state, but still. Going to fix that soon. EDIT: nevermind, it wasn't broken, I just had JavaScript disabled on that website with an extension to test if pages are visible without JavaScript, and yes, they are perfectly visible, you can't tell the difference! But you can't login without JavaScript either!
I still haven't the user visible ones I wanted, but I've hit major milestones, and it feels like time for an update.
I have now finished all the OurBigBook CLI features that I wanted for 1.0, all of which will be automatically reused in ourbigbook.com.
A secondary but also important advance was: further improvements to the website's base technology.
I knew I was going to do them for several months now, and I knew they were going to hurt, and they did, but I did them.
These change caused two big bugs that I will solve next, one them infinite recursion in the database recursive query, but they shouldn't be too hard.
Ciro's Edict #5 / \Include and \x and working on dynamic website Updated +Created
This was the major final step of fully integrating the OurBigBook CLI into the dynamic website (besides fixing some nasty bugs that escaped passed by me from the previous newsletter).
The implementation was done by "simply" reusing scopes, e.g.: cirosantilli's article about mathematics has scope cirosantilli and full ID cirosantilli/mathematics.
That on the website is equivalent to a local file structure of:
cirodown/mathematics.bigb
The problem is that a bunch of subdirectory scope operations were broken locally as well, as it simply wasn't a major use case. But now they became a major use case for , so I fixed them.
History of Brazil Updated +Created
Limtless (2011) Updated +Created
That makes Ciro Santilli most mad about this film is the fact that the dude was passionate about writing, and when he became a genius, rather than write the best novels ever written, he decided instead to play the stock market instead. This paints an accurate picture of 2020's society, where finance jobs make infinitely more money than other real engineering jobs, and end up attracting much of the talent.
Another enraging thing is how his girlfriend starts liking him again once he is a genius, and instead of telling her to fuck off, he stays with her.
The other really bad thing is the ending. He fixed the drug by himself? He scared off De Niro just like that?
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!

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