Ciro Santilli OurBigBook.com $£ Sponsor €¥ 中国独裁统治 China Dictatorship 新疆改造中心、六四事件、法轮功、郝海东、709大抓捕、2015巴拿马文件 邓家贵、低端人口、西藏骚乱
cirosantilli-com.bigb
= cirosantilli.com
{c}
{tag=Personal website}

= Ciro Santilli's website
{c}
{synonym}
{title2}

<Ciro Santilli>'s <website> is a dump of his <brain>, see also: <braindumping>.

However it won't remain like that for long, because it will be migrated to <OurBigBook.com>, and therefore become a brain dump of society itself.

\Video[https://www.youtube.com/watch?v=_Jtpf8N5IDE]
{title=Who Wants To Live Forever by Queen (1986)}

= Reactions to cirosantilli.com
{parent=cirosantilli.com}

Deep psychological analyses:
* <Hacker News> user https://news.ycombinator.com/item?id=36281071[MichaelZuo comments] on a post about <CIA 2010 covert communication websites>:
  \Q[Yeah \[the website\] seems a bit odd, as if the author is intentionally trolling in some areas, or is easily susceptible to being trolled by random folks, and thus displaying some kind of compensation dynamic.]
* https://www.reddit.com/r/China_irl/comments/1bn47e5/comment/kwgkl88/ user `Opening_Gazelle_1323` comments:
  \Q[
  \Q[Can your kid be the next Fields Medalist or Nobel Prize winner? I'm here to help, especially if you are filthy rich!]

  三西猴老哥这一张嘴⏰味拉满,可以封为荣誉中国人

  Brother Sanxihou’s mouth is so full of flavor that he can be named an honorary Chinese.
  ]
* https://www.reddit.com/r/Monero/comments/1brryao/ciro_santilli_received_a_1000_xmr_donation_to/ from <sponsor/1000 Monero donation> user `Inaeipathy`:;
  \Q[It reads like an ode to himself, very strange in my opinion. I don't really know what's up with the black-green text scheme, I can barely read any of it.]
* http://archive.is/W1ocv originally https://boards.4channel.org/g/thread/75097729/who-is-this-guy on <4chan>:
  \Q[a based retard]
  \Q[Is that his own personal site where he has just listed everything he has ever done? Based.]
  \Q[He refers to himself in the third person, because gender has non place in the Sciences. Based autismo.]
  \Q[Holy based. Keep up the good work my man.]

= Unmigrated sections of the old version of Ciro Santilli's website
{parent=cirosantilli.com}

It is interesting to see how your own ideas shift with time, and <Ciro Santilli> doesn't think the following are very important anymore, so he was lazy to migrate them.

When he did the original website Ciro was in a "I must show off my skills to get a job mindset", but then after he landed a few jobs he moved to a "CV websites are useless, just do amazing projects and showcase them on your website to help them succeed" mindset.

\Include[interests]
\Include[skills]

= Why Ciro Santilli removed Disqus comments from his website in 2019-05-04
{parent=cirosantilli.com}

Commit: https://github.com/cirosantilli/cirosantilli.github.io/commit/794705a201a79b5128934e69df85e3511655c03f

As Ciro started getting a lot of comments on his home page <Ciro Santilli's campaign for freedom of speech in China>[about China], he decided that <Disqus> does not scale, and that it would be more productive long term to remove it and point people to <GitHub> issues instead.

Upsides of removal:
* Disqus discoverability is bad:
  * there is no decent way to search existing issues, you have to do <JavaScript> infinite loading + Ctrl + F. So every reply that he wrote is a waste of time, as it will never be seen again.
  * comments don't have: decent URLs, titles, metadata like tags or open / close
* Disqus archival is bad: http://web.archive.org/ does not work, and no one knows how to export the issues: https://www.archiveteam.org/index.php?title=Disqus
* before, there were two places where people could comment, Disqus and <GitHub> issues. Now there is just one.
* Disqus has ads if you ever reach enough traffic, which unacceptable, especially if the website owner don't get paid for them! It also makes page loads slower, although that likely does not matter much.

Downsides:
* people are more likely to comment on Disqus than to create an issue on GitHub, especially because most people use GitHub professionally. But this has the upside that there will be less shitposts as well.
* with Disqus you can see all issues attached to a page automatically, which is nice. But for as long as Ciro is alive, he intends to just solve the issues, cross link between content and issues and tag things appropriately.

Ciro's stance towards China hasn't changed, and China comments and corrections about his website are still welcome as always.

Related issue: https://github.com/cirosantilli/cirosantilli.github.io/issues/37

= DNS configuration of Ciro Santilli's website
{c}
{parent=cirosantilli.com}

AKA how this https://github.com/cirosantilli/cirosantilli.github.io[GitHub page] gets served under the domain: https://cirosantilli.com

Ciro only touches this very rarely, and always forgets and go into great pain whenever a change needs to done, so it is important to document it.

The last change was of 2019-07-07, when Ciro moved from the www subdomain https://www.cirosantilli.com to the APEX https://cirosantilli.com[]. A redirect is setup from the www subdomain to APEX.

https://en.wikipedia.org/wiki/GoDaddy[GoDaddy] DNS entries:

``
Type    Name    Value                   TTL
A       @       185.199.108.153         1 Hour
A       @       185.199.109.153         1 Hour
A       @       185.199.110.153         1 Hour
A       @       185.199.111.153         1 Hour
CNAME   www     cirosantilli.github.io  1 Hour
``

Moved cirosantilli.com to Porkbun 2022-02, unfortunatly records were not automatically updated and domain went down for a bit, upadded to new entries for IPv6 as well which are not documented by GitHub:

``
TYPE 	HOST	ANSWER	TTL	PRIORITY	OPTIONS
A	cirosantilli.com	185.199.108.153	600
A	cirosantilli.com	185.199.109.153	600
A	cirosantilli.com	185.199.110.153	600
A	cirosantilli.com	185.199.111.153	600
AAAA	cirosantilli.com	2606:50c0:8000::153	600
AAAA	cirosantilli.com	2606:50c0:8001::153	600
AAAA	cirosantilli.com	2606:50c0:8002::153	600
AAAA	cirosantilli.com	2606:50c0:8003::153	600
CNAME	www.cirosantilli.com	cirosantilli.github.io	600
``

where the IPs are obtained from: https://help.github.com/en/articles/setting-up-an-apex-domain#configuring-a-records-with-your-dns-provider (http://web.archive.org/web/20190707085154/https://help.github.com/en/articles/setting-up-an-apex-domain#configuring-a-records-with-your-dns-provider[archive]).

Under https://github.com/cirosantilli/cirosantilli.github.io/settings

* Custom domain: `cirosantilli.com`
* Enforce HTTPS: checked

And the CNAME file is tracked in this repository: \a[CNAME].

= The CSS of Ciro Santilli's website looks broken
{parent=cirosantilli.com}

That which does not exist, cannot be broken.

And of course:
* <one page to rule them all>
* https://motherfuckingwebsite.com

= Reactions to cirosantilli.com's design
{parent=The CSS of Ciro Santilli's website looks broken}
{tag=Reactions to cirosantilli.com}

People love green on black mostly.

https://news.ycombinator.com/item?id=38492304 about <CIA 2010 covert communication websites>{full}:
* user `thewildginger`:
  \Q[Nothing like finding a webpage you can read from Lynx.]
* user `socketcluster`:
  \Q[Based on the choice of fonts and colors, you know this is a serious hacker website ;p]

At https://www.reddit.com/r/numberstations/comments/14dexiu/comment/jordtjc[] <Reddit> user `Short_Ad_7853`:
\Q[<Jesus> that is an interesting choice of colors]

https://www.reddit.com/r/Monero/comments/1brryao/ciro_santilli_received_a_1000_xmr_donation_to/ from <sponsor/1000 Monero donation>:
* user `-TrustyDwarf-`:
  \Q[Anyone mind to explain wtf this ugly piece of webpage reminding me of geocities from the 90s is about? I'd read it myself but I can't because it already gave me eye cancer.]
* user `rbrunner7`:
  \Q[It's all quite strange. Never mind the 90s design, people built good websites already back then with the tools at hand, but even their "About" isn't very clear. If you need 5 minutes to be reasonably sure what it is all about they are still doing it wrong.]
* `automobi1e`
  \Q[I'd rather take a look at the welding]

= Ciro Santilli's website is not mobile friendly
{c}
{parent=cirosantilli.com}

True <art> cannot be consumed in mobile format.

= Mathematics typesetting setup of Ciro Santilli's website
{parent=cirosantilli.com}

<KaTeX> is automatically used in <OurBigBook Markup>.

= Media rationale of Ciro Santilli's website
{parent=cirosantilli.com}

= One page to rule them all
{parent=Media rationale of Ciro Santilli's website}
{tag=Monolithic system}

It is true that one image is worth a thousand words, but unfortunately it is also true that one image takes up at least as much bytes as a thousand words!

Having one single page to rule them all is of course the <ideal> setup for a website, as you can Ctrl + F one ToC and quickly find what you want.

And, with <Linux Kernel Module Cheat> Ciro noticed that it is very hard to write so much intelligent prose that becomes larger than reasonable to load on a single webpage.

He then started using this technique for everything he writes, including this page and <Ciro Santilli's campaign for freedom of speech in China>[Chinese government].

However, if there are too many images on the page, the loading of the last images would take forever in case users want to view the last sections.

There are two solutions to that:
* be traditional and create separate web pages
* be bold and load images as they appear on the viewport: https://stackoverflow.com/questions/2321907/how-do-you-make-images-load-only-when-they-are-in-the-viewport/57389607#57389607

  Edit: OK, it was standardized with `loading=lazy`, without need <JavaScript>!

  Now the last awesome thing would be a method that loads first images in viewport, then those below, and then those above, that would be the ultimate solution.

  This question comes close: https://stackoverflow.com/questions/7906348/change-loading-order-of-images-already-on-page

Ciro is still deciding between those two. The traditional approach works for sure but loses the one page to rule them all benefits.

The innovative approach will work for interactive viewing, but archive.org will fail to load the images for example, and there may be other unforseen consequences.

Wikimedia Commons is awesome and automatically converts and serves smaller versions of images, so always choose the smallest images size needed by the output document. Readers can then find the higher resolution versions by following the page source.

This also comes to mind: https://motherfuckingwebsite.com

https://zettelkasten.de/posts/overview/ from <zettelkasten>:
\Q[How many Zettelkästen should I have? The answer is, most likely, only one for the duration of your life. But there are exceptions to this rule.]

= Where to store images
{id=media-rationale-of-ciro-santilli-s-website/where-to-store-images}
{parent=Media rationale of Ciro Santilli's website}

Since images are large, they bring the following challenges:
* keeping images in the main Git repository with text content makes the repository huge and slow to clone, and should not be done
* storing and serving images could cost us, which we want to avoid

To solve those problems, the following alternatives appear to be stable enough and should be used decreasing preference:
* for all images, use the separate GitHub repository: https://github.com/cirosantilli/media

  This way, the entire website is relies on a single third party: GitHub, so we have a simple https://en.wikipedia.org/wiki/Single_point_of_failure[single point of failure].

  We are at the mercy of GitHub's 1GB size policy: https://help.github.com/en/articles/what-is-my-disk-quota[], but it will take a while to hit that.

  GitLab however has a 10Gb maximum size: https://about.gitlab.com/2015/04/08/gitlab-dot-com-storage-limit-raised-to-10gb-per-repo/ so we could move there is we ever blow up 1Gb on GitHub.

  Both GitLab and GitHub allow uploading files through the web UI, so downloading a large repo is never needed to contribute.

  GitHub does not serve videos like it does images however as of 2019.
* https://commons.wikimedia.org/wiki/Main_Page[Wikimedia Commons] for videos if the following conditions are met:
  * https://commons.wikimedia.org/wiki/Commons:Project_scope[in scope]: "educational material in a broad sense", but not e.g. "Private image collections, e.g. private party photos, photos of yourself and your friends, your collection of holiday snaps and so on.". I don't think they will be too picky even with low quality photos.
  * allowed format, e.g. images or videos, but not ZIPs
  * allowed license: CC BY SA, but no fair use

  Since Wikimedia Commons has a higher level of curation and is an educational not-for-profit, it is the method most likely to remain available for the longest time.

  For this reason, we highly recommend uploading any acceptable files there as well as an additional backup.

  The downside is that its tooling is not as good, e.g. https://webapps.stackexchange.com/questions/135251/how-to-download-all-files-from-an-uploader-on-wikimedia-commons[there are a bunch of messy unofficial tools for batch operations], and upload takes more effort.

  Another downside of Wikimedia Commons is that while we can choose the basename of files, it also adds some extra SHA crap to the beginning of URLs, making them harder to predict.

  Another serious downside is that they randomly rename images without redirects... e.g. they renamed https://upload.wikimedia.org/wikipedia/en/0/03/STJ_SVG_file.svg to https://upload.wikimedia.org/wikipedia/commons/8/81/Superconducting_tunnel_junction.svg

  Another "downside" is that they are extremely strict about copyright compliance. This is good because you can be pretty sure that they are correct in general, but it also means that they are very conservative, and delete things where fair use would be OK. And if those fair uses have no Wikipedia page, they won't show up anywhere.
* https://archive.org for anything else, e.g. videos that Wikimedia commons does not accept.

  All content will be tracked under the `cirosantilli` collection: https://archive.org/details/cirosantilli

  archive.org has a very convenient upload and lax requirements. The generated URLs are predictable (single SHA prefix for the entire collection).

  Never trust a website that is not on <GitHub Pages>, for-profit companies will take down everything immediately as soon as it stops making them money.

  Every external link to non-GitHub pages must be archived. And GitHub links must be forked.

  We should also backup images that Wikimedia Commons does not accept here in addition to the https://github.com/cirosantilli/media repository.

The following alternatives seem impossible because Ciro could not find if they expose direct links to the images:
* <Google Photos> https://webapps.stackexchange.com/questions/92777/how-to-get-the-direct-link-to-an-image-in-my-google-photos
* Imgur https://webapps.stackexchange.com/questions/84535/has-imgur-stopped-giving-direct-links

The following do have direct links:
* https://www.flickr.com e.g. https://live.staticflickr.com/7437/27402357162_7d91b73cd5_z.jpg documented at https://help.flickr.com/en_us/get-the-url-of-a-flickr-photo-S1Hnnmjym Also does automatic image size conversion. But only provides ugly autogenerated URLs.
* <Instagram> does not support upload from computer? Lol?

For videos, <YouTube> does not allow download, even of Creative Commons videos so uploading only there is not acceptable as it prevents reuse:
* https://law.stackexchange.com/questions/8033/is-it-legal-to-download-and-modify-videos-from-youtube-licensed-under-creative-c
* https://www.quora.com/Can-I-download-Creative-Commons-licensed-YouTube-videos-to-edit-them-and-use-them

= Download Ciro's website for offline viewing
{parent=cirosantilli.com}

First install <NVM>/NPM as shown at and then:
``
git clone https://github.com/cirosantilli/cirosantilli.github.io
cd cirosantilli.github.io
npm install
ourbigbook .
xdg-open index.html
``

= Why Ciro Santilli refers to himself in the third person
{parent=cirosantilli.com}

Because when this gets converted to a <OurBigBook.com> page, it will be easier for people to copy paragraphs/fork and write a canonical page about Ciro.

What do you do when creating a pull request? Do you say "I", which is not true because Ciro did not say that, or do you say "John Doe thinks" bla bla?

And because <Ciro Santilli's selfish desires>[his name is awesome]! :-) Just kidding.

This became a micro-<meme> in <4chan>:
* 2020-09-21 https://archive.vn/wip/Zz7fx (https://boards.4channel.org/g//thread/77842524/itt-weird-sites-you-found-by-accident[original]) "ITT: weird sites you found by accident" a comment reads:
  \Q[https://cirosantilli.com/ this is some guys resume who repeats his own name well over 1,000 times.]
* 2020-04-30 http://archive.is/LgDbK (https://boards.4channel.org/g/thread/75687327/interesting-website-thread[original]) "Interesting Website thread" a comment reads:
  \Q[
  https://cirosantilli.com/ What is even this?

  "a guy who says his name over 500 times in his resume."
  ]
Correction: cirosantilli.com is not Ciro Santili's resume. It is <Cirism>[your life].

= How to develop Ciro Santilli's website before the OurBigBook migration
{parent=cirosantilli.com}

The website moved from <AsciiDoctor> to <OurBigBook Markup> in 2020, making this section mostly useless. But hey, history!

Ciro's website is powered by <GitHub Pages> and https://github.com/asciidoctor/jekyll-asciidoc[Jekyll Asciidoc].

The source code is located at: https://github.com/cirosantilli/cirosantilli.github.io

Build locally, watch for changes and rebuild automatically, and start a local server with:
``
git clone --recursive https://github.com/cirosantilli/cirosantilli.github.io
cd cirosantilli.github.io
bundle install
npm install
./run
``

Source: `./run`.

The website will be visible at: http://localhost:4000[].

Tested on the latest Ubuntu.

Publish changes to <GitHub Pages>:
``
git add -u
git commit -m 'make yourself look sillier'
./publish
``

Source: `./publish`.

GitHub forces us to use the master branch for the build output... so the actual source is in the branch `dev`.

Update the gems with:
``
bundle update
git add Gemfile.lock
git commit -m 'update gems'
``

His website was originally written in <markdown>, however those were deprecated in favour of <AsciiDoctor> when Ciro saw the light, rationale shown at: \a[markdown-style-guide#use-asciidoc]{external}

GitHub pages is chosen instead of a single page GitHub README.adoc for the following reasons:
* Ciro will want some unsupported extensions, notably mathematics, likely with <mathematics typesetting setup of Ciro Santilli's website>[KaTeX server side]:
  * https://github.com/asciidoctor/asciidoctor/pull/3338
  * https://stackoverflow.com/questions/11256433/how-to-show-math-equations-in-general-githubs-markdownnot-githubs-blog
  * https://g14n.info/2014/09/math-on-github-pages/
  * https://stackoverflow.com/questions/11256433/how-to-show-math-equations-in-general-githubs-markdownnot-githubs-blog
  * https://www.quora.com/How-can-I-combine-latex-and-markdown-in-GitHub
* when GitHub dies, Ciro's website URL still lives and retains the <PageRank>!

= Why Ciro Santilli uses excessive ammounts of links even to things everyone knows what they are
{parent=cirosantilli.com}

This website is written for <aliens>, not <humans>.

= The eye in Ciro Santilli's website banner
{parent=cirosantilli.com}

Ciro was trying to make his face fit on the banner. But it is hard because faces are square and text is long.

Then at one point, the CSS was a bit broken and the eye stuck out just left of Ciro Santilli.

At this moment, Ciro knew what to do.

This produced a "continuous image symbol to text" effect that felt so right.

The concept, like any other, is not in itself new and has been used by others, Ciro just independently rediscovered it again:
* https://github.com/stestagg

= Backlinks to Ciro Santilli's website
{parent=cirosantilli.com}

= 4chan backlinks to Ciro Santilli's
{c}
{parent=Backlinks to Ciro Santilli's website}

These can be incredibly flattering if you only ignore all of their obscure default hatelingo:
* 2020-09-21 "ITT: weird sites you found by accident" on a comment. https://archive.vn/wip/Zz7fx (https://boards.4channel.org/g//thread/77842524/itt-weird-sites-you-found-by-accident[original]). See also <Why Ciro Santilli refers to himself in the third person>{full}
* 2020-04-30 "Interesting Website thread" on a comment. http://archive.is/LgDbK (https://boards.4channel.org/g/thread/75687327/interesting-website-thread[original]). See also <Why Ciro Santilli refers to himself in the third person>{full}

= Insanely active poster on Stack Overflow 4chan post (2023-07-03)
{parent=4chan backlinks to Ciro Santilli's}
{tag=Ciro Santilli's Stack Overflow contributions}

https://archive.ph/Dd3aC https://web.archive.org/web/20230709141533/https://desuarchive.org/g/thread/94445084/#94448535 https://desuarchive.org/g/thread/94445084/#94448535 

Title reply because they can't Ctrl+F: <How Ciro Santilli manages to write so much>

Most of the thread went into pro/anti <gay> trashtalk due to Ciro using https://cirosantilli.com/china-dictatorship/gay-putin[Gay Putin] at the time on his Stack Overflow profile as a useless way to protest the <Russian invasion of Ukraine>.

Some comments:

\Q[How does this guy manage to be so active on Stack Overflow? I feel like this disgusting avatar is on at least a quarter of all the active posts.]

\Q[The answers are always pretty good though.]

\Q[I came across this schizo's github once, but I had forgotten his name]

\Q[Obviously severe autism. Also racism homophobia Looks like everything is ok if it's Russia/Chinese...]
Reply: it is plublicly known that Putin is homophobic as fuck and hates that picture. Therefore we use it. If Putin were heterophobic, we'd post him as hetero.

The only new information:
\Q[Reminds me of <Xah Lee>.]

= Xah Lee
{c}
{parent=Insanely active poster on Stack Overflow 4chan post (2023-07-03)}

Let's see:
* https://www.linkedin.com/in/xahlee/
* http://xahlee.org/
  * \Q[Siphon my knowledge into your brain. Assimilate my sensibilities to your spine.]
  Nice <Second brain> vibe.
* https://youtu.be/a6J62TwOreY?t=271 OMG he also uses a <Kinesis Advantage 2 keyboard>-like keyboard! Maybe there is something here after all.
* he's also a mad tutorial writer: http://xahlee.info/Wallpaper_dir/c4_Derivation.html#gc2.2.2.1 like Ciro's <Stack Overflow>
* https://www.patreon.com/xahlee £835.2/month from ony 27 members as of 2023, holy crap not bad!
* he was in a bad spot as of 2014: http://xahlee.info/emacs/misc/xah_as_good_as_dead.html
  \Q[i live on \$3 per day for food in past 3 years. Eating noodles and oats with salt]
  Thread: https://www.reddit.com/r/programming/comments/25pypq/im_about_as_good_as_dead_the_end_of_xah_lee/

  One is reminded of <Chill and eat your bread in peace> and <sponsor/quote Omar Khayyam's chill out quote>. http://xahlee.org/PageTwo_dir/Personal_dir/xah.html autobiography is also of interest.