Check out: OurBigBook.com, the best way to publish your scientific knowledge. It's an open source note taking system that can publish from lightweight markup files in your computer both to a multi-user mind melding dynamic website, or as a static website. It's like Wikipedia + GitHub + Stack Overflow + Obsidian mashed up. Source code: github.com/ourbigbook/ourbigbook.
Sponsor me to work on this project: 100k USD = I quit me job and work on it one year full time. Status: ~144k / 200k USD reached: 1st year locked-in, 2nd year stretch goal open at 200k USD. 1M USD = I retire and do it forever. How to donate: Section "Sponsor Ciro Santilli's work on OurBigBook.com".
I reached 100k USD after a 1000 Monero donation, so I quit my job for 1 year starting 1st June 2024 to solve as many STEM courses as I can from a world leading university to try and kickstart The Higher Education Revolution. If I reach 200k USD, then I'll do it for two years instead. A second year greatly improve chances of success: year one I solve a bunch of courses, year two I come guns blazing with the content and expand further.
Mission: to live in a world where you can learn university-level mathematics, physics, chemistry, biology and engineering from perfect free open source books that anyone can write to get famous. More rationale: Section "OurBigBook.com"
Explaining things is my superpower, e.g. I was top user #39 on Stack Overflow in 2023[ref][ref] and I have a few 1k+ star educational GitHub repositories[ref][ref][ref][ref]. Now I want to bring that level of awesomeness to masters level Mathematics and Physics. But I can't do it alone! So I created OurBigBook.com to allow everyone to work together towards the perfect book of everything.
My life's goal is to bring hardcore university-level STEM open educational content to all ages. Sponsor me at github.com/sponsors/cirosantilli starting from 1$/month so I can work full time on it. Further information: Section "Sponsor Ciro Santilli's work on OurBigBook.com". Achieving what I call "free gifted education" is my Nirvana.
This website is written in OurBigBook Markup, and it is published on both cirosantilli.com (static website) and outbigbook.om/cirosantilli (multi-user OurBigBook Web instance). Its source code is located at: github.com/cirosantilli/cirosantilli.github.io and also at
cirosantilli.com/_dir
and it is licensed under CC BY-SA 4.0 unless otherwise noted.To contact Ciro, see: Section "How to contact Ciro Santilli". He likes to talk with random people of the Internet.
GitHub | Stack Overflow | LinkedIn | YouTube | Twitter | Wikipedia | Zhihu 知乎 | Weibo 微博 | Other accounts
Besides that, I'm also a freedom of speech slacktivist and recreational cyclist. I like Chinese traditional music and classic Brazilian pop. Opinions are my own, but they could be yours too. Tax the rich.
Let's create an educational system with:
- no distinction between university and high school, students just go as fast as they can to what they really want without stupid university entry exams
- fully open source learning material
- on-demand examinations that anyone can easily take without prerequisites
- granular entry selection only for space in specific laboratories or participation in specific novel research projects
I offer:
- online private tutoring for:
- any STEM university course
- passionate younger STEM students (any age) who want to learn university level material and beyond. Can your kid be the next Fields Medalist or Nobel Prize winner? I'm here to help, especially if you are filthy rich! I focus moving students forward as fast as they want on and on producing useful novel tutorials and results
Let your child be my Emile, and me be their Adolfo Amidei, and let's see how far they can go! I will help take your child:and achieve their ambitious STEM goals!- into the best universities
- into the best PhD programs
- educational consulting for institutions looking to improve their STEM courses
- do you know that course or teacher that consistently gets bad reviews every year? I'll work with the teacher to turn the problem around!
- are you looking to create a consistent open educational resources offering to increase your institutions internationally visibility? I can help with that too.
My approach is to:For minors, parents are welcome to join video calls, and all interactions with the student will be recorded and made available to parents.
- propose interesting research projects. The starting point is always deciding the end goal: Section "Backward design"
- learn what is needed to do the project together with the student(s)
- publish any novel results or tutorials/tools produced freely licensed online, and encourage the student to do the same (Section "Let students learn by teaching", digital garden)
I have a proven track of explaining complex concepts in an interesting and useful way. I work for the learner. Teaching statement at: Section "How to teach". Pricing to be discussed. Contact details at: Section "How to contact Ciro Santilli".
I am particularly excited about pointing people to the potential next big things, my top picks these days are:I am also generally interested in:
- 20th century physics, notably AMO and condensed matter
- the history of science, and in particular trying to look at seminal papers of a field
-------------------------------------
| Force of Will 3 U U |
| --------------------------------- |
| | //////////// | |
| | ////() ()\////\ | |
| | ///_\ (--) \///\ | |
| | ) //// \_____///\\ | |
| | ) \ / / / / | |
| | ) / \ | | / _/ | |
| | ) \ ( ( / / / / \ | |
| | / ) ( ) / ( )/( ) \ | |
| | \(_)/(_)/ /UUUU \ \\\/ | | |
| .---------------------------------. |
| Interrupt |
| ,---------------------------------, |
| | You may pay 1 life and remove a | |
| | blue card in your hand from the | |
| | game instead of paying Force of | |
| | Will's casting cost. Effects | |
| | that prevent or redirect damage | |
| | cannot be used to counter this | |
| | loss of life. | |
| | Counter target spell. | |
| `---------------------------------` |
| l
| Illus. Terese Nelsen |
-------------------------------------
A quick 2D continuous AI game prototype for reinforcement learning written in Matter.js, you can view it on a separate page at cirosantilli.com/_raw/js/matterjs/examples.html#top-down-asdw-fixed-viewport. This is a for-fun-only prototype for Ciro's 2D reinforcement learning games, C++ or maybe Python (for the deep learning ecosystem) seems inevitable for a serious version of such a project. But it is cute how much you can do with a few lines of Matter.js!
HTML snippet:
<iframe src="_raw/js/matterjs/examples.html#top-down-asdw-fixed-viewport" width="1000" height="850"></iframe>
Ciro Santilli controls the following accounts.
With non-trivial activity:
- github.com/cirosantilli on GitHub
- stackoverflow.com/users/895245 on Stack Overflow
- www.linkedin.com/in/cirosantilli on LinkedIn
- www.youtube.com/c/CiroSantilli on YouTube
- Twitter: see Section "Ciro Santilli's Twitter accounts"
- archive.org/details/@cirosantilli2 on the Internet Archive. Was archive.org/details/@cirosantilli but got deleted due to an "admin error" and the old username cannot be restored![ref]
- en.wikipedia.org/wiki/User:Cirosantilli2 and commons.wikimedia.org/wiki/User:Cirosantilli2: Ciro tries to upload all educational CC content he creates to Wikimedia Commons as an extra backup and sometimes to use in Wikipedia pages
- www.facebook.com/cirosantilli/ Ciro accepts all friend requests there, but expect a few non-technical posts. Unless you look like a massive honeypot account, please send context in advance in that case.
- www.quora.com/profile/Ciro-Santilli
- www.reddit.com/user/cirosantilli/ is Ciro's Reddit account, mostly computer and China topics
- maps.app.goo.gl/npV35XTppSBTmNqC8: Google Maps. Ciro Santilli likes to make additions to certain niche topics that are missing, having reached Local Guide Level 6 as of 2024. He can't do as much as he'd like so as to not reveal his current city however.
Trivial activity only:
- seqanswers.com/forums/member.php?u=90053
- answers.gazebosim.org/users/2289/cirosantilli/
- 4programmers.net/Profile/86786
- 500px.com/p/cirosantilli
- 9gag.com/u/cirosantilli
- addons.mozilla.org/en-US/firefox/user/cirosantilli/
- agoradesk.com/user/cirosantilli
- androidforums.com/members/ciro-santilli.1918307
- app.element.io/#/user/@cirosantilli:matrix.org. Proof: matrix.to/#/!OisxJPszSYdWdwXrrL:matrix.org/$YbrChbGFvlgYiDM5E2OgWXSp0vy7ayLfGkCXftAUyTI?via=matrix.org
- archive.org/details/@ciro_santilli_ourbigbook created during the account deletion mess.
- ask.libreoffice.org/en/users/2352/cirosantilli/
- bbs.archlinux.org/profile.php?id=116270
- bitcointalk.org/index.php?action=profile
- brilliant.org/profile/ciro-il1uxz/
- bugzilla.gnome.org/page.cgi?id=describeuser.html&login=ciro.santilli@gmail.com
- cirosantilli.blogspot.com/
- cirosantilli.itch.io
- cirosantilli.livejournal.com/profile
- cirosantilli.medium.com/ on Medium
- cirosantilli.substack.com/
- cirosantilli.wordpress.com/ on WordPress
- codeforces.com/profile/cirosantilli reverse proof codeforces.com/blog/entry/98393
- coderwall.com/Ciro%20Santilli Note that space on the username. Beauty.
- community.arm.com/people/cirosantilli
- community.atlassian.com/t5/user/viewprofilepage/user-id/680821
- community.fandom.com/wiki/User:Cirosantilli
- community.plos.org/people/cirosantilli
- community.skype.com/t5/user/viewprofilepage/user-id/2646858
- community.zimbra.com/members/cirosantilli
- connect.mozilla.org/t5/user/viewprofilepage/user-id/46889
- del.icio.us/cirosantilli
- dev.to/cirosantilli
- developer.mbed.org/users/cirosantilli/
- devtalk.nvidia.com/member/2118846/
- droit-finances.commentcamarche.net/profile/user/cirosantilli
- en.gravatar.com/cirosantilli
- en.wikipedia.org/wiki/User:Ciro.santilli also belongs to Ciro, but he lost the password
- eternagame.org/web/player/260828/
- figshare.com/authors/Ciro_Santilli/656781
- forums.developer.nvidia.com/u/cirosantilli
- forum.osdev.org/memberlist.php?mode=viewprofile&u=16372
- forum.pine64.org/member.php?action=profile&uid=17386
- forum.videolan.org/memberlist.php?mode=viewprofile&u=173503
- forum.xda-developers.com/member.php?u=7116837
- forums.androidcentral.com/members/cirosantilli-2734491
- forums.lenovo.com/user/viewprofilepage/user-id/1561639
- framasphere.org/people/78a975c0b6c40133a3032a0000053625 framasphere.org/posts/1519871
- freesound.org/people/cirosantilli
- gitlab.com/u/cirosantilli
- hackaday.io/cirosantilli
- hinative.com/en-US/profiles/5276462
- home.gamer.com.tw/homeindex.php?owner=cirosantilli but can't post anything publicly because cannot verify phone in many countries
- huggingface.co/cirosantilli
- identity.kde.org/index.php?r=people/view&uid=cirosantilli
- imgur.com/user/cirosantilli/about: Proof: imgur.com/gallery/mexv1Bk/comment/1734086983
- jsfiddle.net/user/cirosantilli/
- kiwifarms.net/members/cirosantilli.82011/
- launchpad.net/~cirosantilli
- leanpub.com/u/cirosantilli
- leetcode.com/cirosantilli/
- makandracards.com/ciro-santilli
- mastodon.social/@cirosantilli
- nanohub.org/members/146301/
- next-episode.net/user/cirosantilli/
- openclipart.org/artist/cirosantilli. TODO but not yet able to login after the "first upload". But it did get uploaded: openclipart.org/artist/cirosantilli.
- opencollective.com/ciro-santilli
- open.spotify.com/user/cirosantilli
- orcid.org/0000-0003-2895-7763
- parler.com/profile/cirosantilli/posts
- paypal.me/cirosantilli. United Kingdom account.
- peerj.com/cirosantilli/
- profile.edx.org/u/ciro_santilli
- profiles.3dgames.com.ar/profiles/1002278
- protonmail.uservoice.com/users/6491333990-ciro-santilli
- pypi.org/user/cirosantilli/
- raidforums.com/User-cirosantilli
- rubygems.org/profiles/cirosantilli
- software.intel.com/en-us/user/1090688
- soundcloud.com/cirosantilli
- sourceforge.net/u/cirosantilli/profile/
- stackshare.io/cirosantilli
- steamcommunity.com/id/cirosantilli/
- subreply.com/cirosantilli
- support.discord.com/hc/en-us/profiles/427813342894 on the Discord forum
- support.mozilla.org/en-US/user/cirosantilli
- tabmixplus.org/forum/memberlist.php?mode=viewprofile&u=59846
- talk.commonmark.org/users/cirosantilli
- talk.jekyllrb.com/users/cirosantilli
- talks.cam.ac.uk/user/show/81142
- tatoeba.org/eng/user/profile/cirosantilli
- telegram.me/cirosantilli on Telegram
- trac.ffmpeg.org/wiki/Waveform?action=history username
cirosantilli
- tuleap.net/users/cirosantilli
- tuleap.ring.cx/users/cirosantilli
- twittercommunity.com/users/cirosantilli/activity
- wefunder.com/cirosantilli
- wise.com/pay/me/cirod3. The name shows as "Ciro Duran Santilli" and that's correct.
- wiki.qemu.org/User:Cirosantilli
- www.airbnb.com/users/show/45794827
- www.behance.net/cirosantilli
- www.bibsonomy.org/user/cirosantilli
- www.biostars.org/u/50170/
- www.bountysource.com/people/25676-ciro-santilli
- www.bulletphysics.org/Bullet/phpBB3/memberlist.php?mode=viewprofile&u=11704
- www.codewars.com/users/cirosantilli
- www.codingame.com/profile/cddd0a711c22d97e8264361f7c8205567563841
- www.coursera.org/user/f65b08c191d792eb809fe2808d771ee7
- www.dailymotion.com/cirosantilli
- www.deviantart.com/cirosantilli
- www.digitalocean.com/community/users/cirosantilli
- www.ebay.com/usr/cirosantilli
- www.edaboard.com/member587087.html
- www.flickr.com/people/cirosantilli/
- www.freecodecamp.org/fcc8f660b91-167c-4b04-a8da-5d50cdb46def
- www.f6s.com/cirosantilli
- www.f6s.com/cirosantilli1
- www.gitbook.com/@cirosantilli
- www.hackerrank.com/cirosantilli
- www.hackster.io/cirosantilli
- www.html5gamedevs.com/profile/30103-cirosantilli/
- www.imdb.com/user/ur59802249 on IMDb
- www.instagram.com/cirosantilli/ Impossible to disable their notifications without removing your email. So all their notifications go to trash.
- www.kaggle.com/cirosantilli
- www.lesswrong.com/users/ciro-santilli on LessWrong
- www.linux.org/members/ciro-santilli.62540/
- www.linuxquestions.org/questions/user/cirosantilli-688439/
- www.meetup.com/members/252568305/
- www.mentebinaria.com.br/profile/1987-ciro-santilli/
- www.metacritic.com/user/cirosantilli
- www.metaculus.com/accounts/profile/163587/
- www.mohu.rocks/people/cirosantilli
- www.mudhut.com/user/1995000
- www.myopportunity.com/en/profile/ciro-santilli
- www.npmjs.com/~cirosantilli
- www.opengl.org/discussion_boards/member.php/40269-cirosantilli
- www.openstreetmap.org/user/Ciro%20Santilli
- www.patreon.com/cirosantilli
- www.physicsforums.com/members/cirosantilli.422056/
- www.pixiv.net/en/users/64347194
- www.plurk.com/cirosantilli
- www.raspberrypi.org/forums/memberlist.php?mode=viewprofile&u=273389
- www.shadertoy.com/user/cirosantilli
- www.strava.com/athletes/47913768
- www.tastekid.com/ciro.santilli
- www.ted.com/profiles/5822760
- www.thestudentroom.co.uk/member.php?u=5930160
- www.tiktok.com/@cirosantilli2
- www.transifex.com/user/profile/cirosantilli
- www.tripadvisor.com/members/cirosantilli
- www.twitch.tv/cirosantilli
- www.whatdotheyknow.com/user/ciro_santilli/profile
Profiles without URLs (OMG...):
- Discord: username
cirosantilli
, previouslycirosantilli#8921
Accounts in Chinese websites. These accounts might be banned or altered or offer other limitations, so Ciro only communicates briefly through them. All communication through those channels should obviously be assumed to be compromised:
- bbs.nibaedu.com/index.php?m=space&uid=70
- www.renren.com/338003848/profile
- www.tianya.cn/109285544 (can't post, no cell phone)
- hacpai.com/member/cirosantilli unable to login as of 2019-10-12, reason unclear, either ban or website too crappy.
- pincong.rocks/people/cirosantilli Lost account tested as of 2022-11 and likely much earlier. Last existing password not working, and there doesn't seem to be a reset password button. Creating cirosantilli2
- pincong.rocks/people/cirosantilli2
- tieba.baidu.com/home/main?id=5cd56369726f73616e74696c6c69c944
- v2ex.com/member/cirosantilli: Ciro was blocked and or account deleted on 2020-07-23: cirosantilli.com/china-dictatorship/v2ex
- v2ex.com/member/cirosantilli2: was created by someone else most likely and cannot be re-registered. Also blocked.
- v2ex.com/member/cirosantilli3: Ciro created this new account November 2023, let's see how long it lasts.
- www.zhihu.com/people/cirosantilli. Ciro was prevented from posting in 2018-06-25, and the account and all content mentioning him were taken down in 2019-11-03.
- www.weibo.com/p/1005055601627311: started requiring a cell phone to login in 2020, and Ciro didn't want to give his cell phone number to the CCP and didn't have the patience to manage a secondary phone number, so he is not logging in for now. The account was blocked in 2021: cirosantilli.com/china-dictatorship/ciro-santillis-weibo-block
Accounts in Russian websites:
Dead websites:
- www.citeulike.org/user/cirosantilli (2019-05)
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 on his Twitter accounts.
A chronological list of all articles is also kept at: Section "Updates".
Some random generally less technical in-tree essays will be present at: Section "Essays by Ciro Santilli".
- Trended on Hacker News:
- CIA 2010 covert communication websites on 2023-06-11. 190 points, a mild success.
- x86 Bare Metal Examples on 2019-03-19. 513 points. The third time something related to that repo trends. Hacker news people really like that repo!
- again 2020-06-27 (archive). 200 points, repository traffic jumped from 25 daily unique visitors to 4.6k unique visitors on the day
- How to run a program without an operating system? on 2018-11-26 (archive). 394 points. Covers x86 and ARM
- ELF Hello World Tutorial on 2017-05-17 (archive). 334 points.
- x86 Paging Tutorial on 2017-03-02. Number 1 Google search result for "x86 Paging" in 2017-08. 142 points.
- x86 assembly
- What does "multicore" assembly language look like?
- 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
- What do the flags in /proc/cpuinfo mean?
- How does kernel get an executable binary file running under linux?
- How to debug the Linux kernel with GDB and QEMU?
- Can the sys_execve() system call in the Linux kernel receive both absolute or relative paths?
- What is the difference between the kernel space and the user space?
- Is there any API for determining the physical address from virtual address in Linux?
- Why do people write the
#!/usr/bin/env
python shebang on the first line of a Python script? - How to solve "Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)"?
- Single program Linux distro
- QEMU
- gcc and Binutils:
- How do linkers and address relocation works?
- What is incremental linking or partial linking?
- GOLD (
-fuse-ld=gold
) linker vs the traditional GNU ld and LLVM ldd - 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.
- How many GCC optimization levels are there?
- Why does GCC create a shared object instead of an executable binary according to file?
- C/C++: almost all of those fall into "disassemble all the things" category. Ciro also does "standards dissection" and "a new version of the standard is out" answers, but those are boring:
- What does "static" mean in a C program?
- In C++ source, what is the effect of
extern "C"
? - Char array vs Char Pointer in C
- How to compile glibc from source and use it?
- When should
static_cast
,dynamic_cast
,const_cast
andreinterpret_cast
be used? - 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)
- IEEE 754
- What is difference between quiet NaN and signaling NaN?
- 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
- Computer science
- Algorithms
- Is it necessary for NP problems to be decision problems?
- Polynomial time and exponential time. Answered focusing on the definition of "exponential time".
- 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.
- Algorithms
- 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 | ... |
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}
- How do I clone a subdirectory only of a Git repository?
- Python
- Web technology
- OpenGL
- What are shaders in OpenGL?
- Why do we use 4x4 matrices to transform things in 3D?
- Image Processing with GLSL shaders? Compared the CPU and GPU for a simple blur algorithm.
- Node.js
- Ruby on Rails
- POSIX
- What is POSIX? Huge classified overview of the most important things that POSIX specifies.
- Systems programming
- What do the terms "CPU bound" and "I/O bound" mean?
+--------+ +------------+ +------+ | device |>---------------->| function 0 |>----->| BAR0 | | | | | +------+ | |>------------+ | | | | | | | +------+ ... ... | | |>----->| BAR1 | | | | | | +------+ | |>--------+ | | | +--------+ | | ... ... ... | | | | | | | | +------+ | | | |>----->| BAR5 | | | +------------+ +------+ | | | | | | +------------+ +------+ | +--->| function 1 |>----->| BAR0 | | | | +------+ | | | | | | +------+ | | |>----->| BAR1 | | | | +------+ | | | | ... ... ... | | | | | | +------+ | | |>----->| BAR5 | | +------------+ +------+ | | | ... | | | +------------+ +------+ +------->| function 7 |>----->| BAR0 | | | +------+ | | | | +------+ | |>----->| BAR1 | | | +------+ | | ... ... ... | | | | +------+ | |>----->| BAR5 | +------------+ +------+
- Electronics
- Computer security
- Media
- How to resize a picture using ffmpeg's sws_scale()?
- Is there any decent speech recognition software for Linux? ran a few examples manually on
vosk-api
and compared to ground truth.
- Eclipse
- Computer hardware
- Scientific visualization software
- Numerical analysis
- Computational physics
- Register transfer level languages like Verilog and VHDL
- Android
- Debugging
- Program optimization
- Data
- Mathematics
- Section "Formalization of mathematics": some early thoughts that could be expanded. Ciro almost had a stroke when he understood this stuff in his teens.
- Network programming
- Physics
- Biology
- Quantum computing
- Bitcoin
- GIMP
- Home DIY
- China
Collections and overviews:
- asciiart.website/index.php?art=people/naked%20ladies "Naked Ladies - Nude Women" category
- if you value medium over content, Ciro found two of the images reproduced in
asciiart.website
above also reproduced in the Bitcoin blockchain as described at: ASCII art, that should definitely turn you on, horny nerd
- if you value medium over content, Ciro found two of the images reproduced in
- www.reddit.com/r/ASCII_porn/ on Reddit boring
- www.vice.com/en/article/nepapk/ascii-pr0n-porn-predates-the-internet-but-its-still-everywhere-rule-34 ASCII Porn Predates the Internet But It's Still Everywhere by Vice News (2019)
You just couldn't resist Googling it and clicking this page, could you? You naughty, naughty bearded programmer nerd. Yes, I'm talking to you.
TODO it is quite hard to actually find non-automatically generated ASCII art of people fucking, most of them are just sexy/horny women drawn by bearded nerds, likely and based on sticky physical paper porn magazines from the 80's, good old days.
|
|
Tank Man |
by Ciro Santilli 00 |
2021 CC-BY-SA 4.0 \\ +-|-+
\\/ /|-+o
\\--+ / /o
/|\\ |/ /oo
| / ----- /oo
| / /oo
| +-------+oo
| oo+---+ooo
00 | oo oo
\\ +-|-+
\\/ /|-+o
\\--+ / /o
/|\\ |/ /oo
| / ----- /oo
| / /oo
| +-------+oo
| oo+---+ooo
00 | oo oo
\\ +-|-+
\\/ /|-+o
\\--+ / /o
/|\\ |/ /oo
/ ----- /oo
/ /oo
+-------+oo
oo+---+ooo
oo oo
xx
--
/||\
|--|
o||0
||
/\
The opposite of freedom of speech.
The most awesome country in the world, except for it's horrible government as of 2019 which Ciro Santilli is trying to replace with democracy.
This article is about covert agent communication channel websites used by the CIA in many countries from the late 2000s until the early 2010s, when they were uncovered by counter intelligence of the targeted countries circa 2011-2013. This discovery led to the imprisonment and execution of several assets in Iran and China, and subsequent shutdown of the channel.
The existence of such websites was first reported in November 2018 by Yahoo News: www.yahoo.com/video/cias-communications-suffered-catastrophic-compromise-started-iran-090018710.html.
Previous whispers had been heard in 2017 but without clear mention of websites: www.nytimes.com/2017/05/20/world/asia/china-cia-spies-espionage.html:
Some were convinced that a mole within the C.I.A. had betrayed the United States. Others believed that the Chinese had hacked the covert system the C.I.A. used to communicate with its foreign sources. Years later, that debate remains unresolved.[...]From the final weeks of 2010 through the end of 2012, [...] the Chinese killed at least a dozen of the C.I.A.’s sources. [...] One was shot in front of his colleagues in the courtyard of a government building — a message to others who might have been working for the C.I.A.
Then in September 2022 a few specific websites were finally reported by Reuters: www.reuters.com/investigates/special-report/usa-spies-iran/, henceforth known only as "the Reuters article" in this article.
Ciro Santilli heard about the 2018 article at around 2020 while studying for his China campaign because the websites had been used to take down the Chinese CIA network in China. He even asked on Quora: www.quora.com/What-were-some-examples-of-the-websites-that-the-CIA-used-around-2010-as-a-communication-mechanism-for-its-spies-in-China-and-Iran-but-were-later-found-and-used-to-take-down-their-spy-networks but there were no publicly known domains at the time to serve as a starting point. Chris, Electrical Engineer and former Avionics Tech in the US Navy, even replied suggesting that obviously the CIA is so competent that it would never ever have its sites leaked like that:
Seriously a dumb question.
So when Ciro Santilli heard about the 2022 article almost a year after publication, and being a half-arsed web developer himself, he knew he had to try and find some of the domains himself using the newly available information! It was an irresistible real-life capture the flag. The thing is, everyone who has ever developed a website knows that its attack surface is about the size of Texas, and the potential for fingerprinting is off the charts with so many bits and pieces sticking out. Chris, get fucked.
In particular, it is fun to have such a clear and visible to anyone examples of the USA spying on its own allies in the form of Wayback Machine archives.
Given that it was reported that there were "more than 350" such websites, it would be really cool if we could uncover more of those websites ourselves beyond the 9 domains reported by Reuters!
This article documents the list of extremely likely candidates Ciro has found so far, mostly using:more details on methods also follow. It is still far from the 885 websites reported by citizenlabs, so there must be key techniques missing. But the fact that there are no Google Search hits for the domains or IPs (except in bulk e.g. in expired domain trackers) indicates that these might not have been previously clearly publicly disclosed.
- rudimentary IP range search on viewdns.info starting from the websites reported by Reuters
- heuristic search for keywords in domains of the 2013 DNS Census plus Wayback Machine CDX scanning
If anyone can find others, or has better techniques: Section "How to contact Ciro Santilli". The techniques used so far have been very heuristic, and that added to the limited amount of data makes it almost certain that several IP ranges have been missed. There are two types of contributions that would be possible:Perhaps the current heuristically obtained data can serve as a good starting for a more data-oriented search that will eventually find a valuable fingerprint which brings the entire network out.
- finding new IP ranges: harder more exiting, and potentially requires more intelligence
- better IP to domain name databases to fill in known gaps in existing IP ranges
Disclaimer: the network fell in 2013, followed by fully public disclosures in 2018 and 2022, so we believe it is now more than safe for the public to know what can still be uncovered about the events that took place. The main author's political bias is strongly pro-democracy and anti-dictatorship.
May this list serve as a tribute to those who spent their days making, using, and uncovering these websites under the shadows.
If you want to go into one of the best OSINT CTFs of your life, stop reading now and see how many Web Archives you can find starting only from the Reuters article as Ciro did. Some guidelines:
- there was no ultra-clean fingerprint found yet. Some intuitive and somewhat guessy data analysis was needed. But when you clean the data correctly and make good guesses, many hits follow, it feels so good
- nothing was paid for data. But using cybercafe Wifi's for a few extra IPs may help.
Quick facts:
- Nationalities: Italian and Brazilian
- Grew up in: Brazil
- Relationship status 2017-: married
- Given name pronunciation: take your pick from Ciro Santilli's given name
- Chinese name: 三西猴, means "three western monkeys". Phonetic approximation to SANtilli CIRO. More info at: Ciro Santilli's Chinese name. Semi-unintentionally reminds Chinese people of Sun Wukong (孙悟空). This association is further slightly strengthened by the phonetic choice of 三 San, which Ciro later noticed matches the middle character of Tang Sanzang (唐三藏), the monk in Journey to the West. The given name 西猴 was given by Ciro Santilli's wife, then recent girlfriend, as a semi-joke, and he took it up because the best way to take a joke is to play along with the joker. 三 was chosen by Ciro himself.
- laptop: high end Lenovo ThinkPad
- distro: latest Ubuntu release
- Vim or Emacs: vi/vim. But for The Love, will someone please make an open source C++ integrated development environment that actually just works?
- tabs or spaces: spaces
- Mailing list or Git(Hub|Lab>): Git(Hub|Lab), with passion, see Section "Mailing list"
- system or unit tests: system
- programming languages: Python and C++. He'll learn Rust and Haskell once he's rich. As of the 2020s, Rust was picking up some serious steam, so Ciro might end up eating his own words there.
- musical instruments to listen: Chinese Guqin and electric Jazz-fusion guitar
- metric or imperial: metric, for The Love. Science? Standardization? 21st century anyone?
- QWERTY or Dvorak: QWERTY, alas
- birth name: Ciro Duran Santilli
Other people with the same name are listed at Section "Ciro Santilli's homonyms".
This is how Ciro Santilli evaluates himself on the Big Five personality traits:
- Openness to experience; very high, see: Ciro Santilli's self perceived creative personality
- Conscientiousness: low, Ciro is driven very strongly by internal passion rather than external expectations
- Extraversion: high online, e.g. Ciro Santilli's campaign for freedom of speech in China, but much lower in the real world, no patience for something he's not Googled for in the last 5 seconds
- Agreeableness: high, see e.g. Ciro Santilli's self perceived compassionate personality. But Ciro has built some tolerance disagreement online for it online during Ciro Santilli's campaign for freedom of speech in China, you've got to fight for what is right.
- Neuroticism: medium high, Ciro does have some anxiety. It does help get things done sometimes, but it also sometimes gets in the way.
Ciro Santilli's 10 month stay in Coventry, United Kingdom, in the year 2000 Updated 2025-01-10 +Created 1970-01-01
In the year 2000, Ciro lived with his parents for 10 months in the Coventry because his father took some courses at the University of Warwick. This was Ciro's most important educational experience, more so than any other inCiro Santilli's formal education, because it taught him the Holy Language of English, which infinitely expanded Ciro's Internet horizons, and shaped Ciro's having more than one natural language is bad for the world philosophy. When he came back to Brazil, Ciro skipped dozens of levels in his English school in Santos, São Paulo, Brazil, a Brazilian chain called Cultura Inglesa, and was put to study with much older teenagers who marveled at Ciro's incredibly cute, but since lost, British accent.
Another huge advantage of Coventry is that the Hearsall Community Primary School where Ciro studied was a regular British primary school but with two classes dedicated to foreign students to learn English before integrating with the British students. There were a several kids from Kosovo there due to the Kosovo War which was just ending, and it was there that Ciro made his first Chinese friend, yet unaware of course of the role the country would later play in his life. One particularly fun memory was that of playing soccer on the school playground with a sponge ball to avoid breaking the windows. Then one day it was raining, british weather of course, but Ciro still went for a header, and the soaked sponge ball was soaked and splashed Ciro with dirty water all over. Good days.
Ciro also played a bit of Rugby in those days in a local club.
Some other good memories are of reading the first two Harry Potters, playing and mostly watching other kids play Pokemon on their Game Boys and Pokemon trading cards, and going to a nearby commons playing field and woods, as it typical throughout the UK. Ciro also played some rugby with a local boys team TODO name? but for some reason his team was always crushed when they went to nearby towns to play against other teams. And Ciro also went with his family or with school to some nearby attractions, like Stratford-Upon-Avon (Shakespeare's hometown), and some castles.
"Ciro" is "Cyrus" from Cyrus the Great in both Portuguese and Italian (although with very different pronunciations), thus doubly appropriate given that Ciro Santilli was born in Brazil, and has Italian ancestry.
After he conquered Babylon in 539 BC from the hands Neo-Babylonian Empire, Cyrus the Great did a great service to the Hebrews by allowing war prisoners that were held in Babylon to back to their home Judea, thus terminating the Babylonian captivity. These Jews were imprisoned because they had previously fought a war or revolted against the Neo-Babylonian Empire and lost. As Wikipedia puts it:He is therefore viewed extremely positively in the good old book. Ciro was quite happy about this name choice by his father, given the human rights connotations of the figure and Ciro Santilli's self perceived compassionate personality.
According to Isaiah 45:1 of the Hebrew Bible, God anointed Cyrus for this task, even referring to him as a messiah (lit. 'anointed one'); Cyrus is the only non-Jewish figure in the Bible to be revered in this capacity.
Particularly fun things related to modern Cyrus are:
Because it belongs to some relatively obscure character of the Bible, the name it has been mostly passed on by writing to every single Christian country, and every single language came up with different way of saying it, because the only place they would possibly hear that name said out loud would be in Church!
As of 2020, the country in which the name is most popular in undoubtedly Italy. In Brazil, it is definitely not common, but also not completely unheard of either, e.g. Ciro Gomes is a notable Brazilian politician.
And Ciro responds to all the versions of the name that he knows of. These include:and glad to add any new ones as they come.
- English:
- direct English reading of "Ciro" as "See Roll". Not the most cultured, but its what things tend to converge to, especially in highly international environments where it would be impossible to try and learn the origin of everyone's name! So it's fine. Slightly too close to "zero" for comfort.
- Cyrus, the actual English version of the name. Ciro was so happy when his elderly English neighbour who went to Eton college, upon recognizing what Ciro was, immediately said: "Ah, Cyrus the Great!" He was the cutest, and he had some culture. Many/most English speaking people can't or won't be very sure about the spelling, but the sound of the name has a distinctly exotic feel to it, and the sounds are immediately recognized without sound ambiguity (unlike Ciro vs Zero).
- French:
- direct French reading of "Ciro" as "See Rho" with accent on Rho. This sounds exactly like "Sirop", i.e. Syrup in French, which can be good or bad depending on how you look at it.
- Cyrus, the actual version of the name in French. Similar remarks to those of English apply.
- Portuguese: "See Ru" with accent on See, and rolling r, and very weak "u". Some people might have some doubt of how to spell it and will ask for confirmation if needed, though many/most will get it right. Not particularly exotic like it is for English speakers.
- Italian: "Chee Ro" with accent on Chee and rolling r. Widely understood and correctly spelled, more than in any other language. Not exotic at all, could be any random dude from Naples.
- "fratm Ciruzzo": reserved for the Napolitan mates. It means "my bro little Ciro" in Napolitan. The "m" in fratm is a possessive inflection ("my", "mio", but on the same word), and "frat" is of course something like he standard Italian fratello (brother).
- www.urbandictionary.com/define.php?term=fratm. "Fratello" is the Italian standard for "brother". "Fra'" appears to be a variant.
- Ciruzzo means "little Ciro", i.e. it is a diminutive of Ciro, or more precisely a term of endearment. In Italian the correct name is "Vezzeggiativi":
- "fratm Ciruzzo": reserved for the Napolitan mates. It means "my bro little Ciro" in Napolitan. The "m" in fratm is a possessive inflection ("my", "mio", but on the same word), and "frat" is of course something like he standard Italian fratello (brother).
- German: Kyrus. Because Cyrus the Great is known Kyrus II. (Cyrus the Second, his grandfather was also called Cyrus), Ciro once joked to a German friend that he should call him Kyrus III! He liked that.
- Persian (spoken in 2020s Iran): something like Kurush. Likely the closest sound one to the original, though not sure how certain we can be of this.
He is actually quite happy when people use the name in their own language, because that means they understand the origin of the name.
Some Ciro's of interest:
- it is unclear if the usage of Cyrus in family names, e.g. the dread Miley Cyrus. www.houseofnames.com/cyrus-history mentions it may be of Greek origin.
The old lady was arrested in 2015 for a few days for doing Falun Gong, which was an important motivation to Ciro Santilli's campaign for freedom of speech in China.
If Ciro Santilli weren't a natural born activist, he chould have made an excellent intelligence analyst! See also: Section "Being naughty and creative are correlated".
- Stack Overflow Vote Fraud Script
- GitHub makes Ciro feel especially naughty:
- All GitHub Commit Emails: he extracted (almost) all Git commit emails from GitHub with Google BigQuery
- A repository with 1 million commits: likely the live repo with the most commits as of 2017
- An 100 year GitHub streak, likely longest ever when that existed. It was consuming too much server resources however, which led to GitHub admins manually turning off his contribution history.
- A repository with a 100k commit Git octopus merge. Now that is a true Cthulhu merge.
- 500 on adoc infinite header xref recursion: that was fun while it lasted
Outside this website:
Ciro Santilli's energy throughout the day varies as follows:
- morning: highest
- 11AM: peak exercise performance
- after lunch: brain death. Possibly due to Ciro's partial Spanish descent?
- late afternoon and evening: can do some stuff
Ciro has low tolerance to sleep deprivation which makes him very irritable, and low ability to sleep if there is any light. It must have to do with those damned ganglion cell photoreceptors. On the other hand, Ciro Santilli's wife can sleep without any problems with some morning light! It is definitely genetic. Ciro conjectures that people from very Northern parts of the world must have a gene that allows them to sleep even if there is some light, while more equatorial people don't. Maybe: pubmed.ncbi.nlm.nih.gov/33049062/
Ciro has mild olfactory synesthesia for star anise (八角, bajiao), which is widely used in Chinese cuisine and makes Ciro think uncontrollably of the color blue. Ciro does not have any other known synesthesias. He is also prone to nerd sniping form time to time.
Ciro is a reptilian-like being with cold hands and feet and low blood pressure. For this reason he believes that he will die of cancer or some respiratory problem. If the Chinese government doesn't get him first that is. This also partly explains why Ciro is not a big fan of swimming.
Besides Chinese food, Ciro really likes eating fruits and roasted nuts, maybe partly because he was born in Brazil, and partly because of monkey nature, see his Chinese name. At home he is known as "水果大王" (the big king of the fruits). Ciro is also a sucker for yoghurt (natural without added sugars and full fat, fat-tree yoghurt is terrible, often eaten with fruits). Ciro's "favorite drink" could be tonic water with freshly squeezed lemon. Tied with fresh fruit juices. Chocolate-wise, although not a huge fanatic, a Lindt dark chocolate with whole hazelnut pieces bar will do the job.
Ciro does not like receiving or giving gifts on expected social situations like birthdays or Christmas. Ciro believes that every day is equally precious, and can be a day to give, be it through awesome open source software contributions, or if you find something that your friend will like
Ciro has some respiratory allergies. When he was around 5, he had relatively serious asthma crisis which scared his parents to death. Throughout his life, he appears to be allergic at an intermediate level to: mold or dust mites (or whatever it is that old books/pillows have), cats (itching on touch), hay fever (in May in the UK, likely grass pollen). But even outside of hayfever season, Ciro's nose is constantly either running in the cold, or often partially blocked while sleeping throughout the year. Ciro believes however that this also gives him higher resistance to viral infections, since it has been many many years since he had a cold/flu, and when everyone in the office is going down with it, he's just fine. Ciro wonders if his active immune system will actually kill off cancers early, which he ranks as his most likely causes of death, along with respiratory and gastro-intestinal problems. Ciro has low blood pressure and cannot get fat, so cardio vascular problems seem much less likely.
Ciro is generally democrat due to his high compassion level. He believes that politics is highly genetically determined, and that just like you enter a room full of people and immediately like some and dislike others, the same goes for politics. People just vote for whoever they want to see more of because their way of speaking makes them feel good. There is not rationality involved in it at all.
Ciro self diagnoses a slight graphomania in the early 2020's. This is largely what led him to create OurBigBook.com, and contribute to Stack Overflow. Literature Nobel Prize laureate Naguib Mahfouz also suffers from the condition however, so maybe good can also come out of it:
If the urge to write should ever leave me, I want that day to be my last.
When Ciro was quite young, maybe around 7-10, when he got very angry or sad for some stupid reason (bullying perhaps? Ciro forgot), he would have a psychosomatic manifestation: his spine would become visibly curved sideways (scoliosis). While writing this paragraph, Ciro Googled it, and found e.g. medium.com/@michaelrosen_94192/the-root-cause-of-scoliosis-5c461002b634 that describes:so it is a somewhat well known thing! Incredible. Can you imagine the level of the passions that lead to such physical deformations? But of course, it was all for nothing.
The Root Cause of Idiopathic ScoliosisIt is proposed that Adolescent Idiopathic Scoliosis (AIS) is a condition created by emotional stress. Evidence is presented that unresolved emotional stress can cause unbalanced tensions in the fascia and growing muscles that gradually deform the spinal column.
Ciro Santilli's Stack Overflow contributions have, unsurprisingly, centered around the subjects he has worked with: systems programming and web development, and necessary tooling to get those done, such as Git, Python, Bash and Ubuntu.
His best answers are listed at: Section "The best articles by Ciro Santilli".
Stack Overflow has been the initial centerpiece of Ciro Santilli's campaign for freedom of speech in China, until Ciro noticed that GitHub might be potentially even more effective for it.
In Stack Overflow Ciro likes to:
- answer important questions found through Google which he needs to solve an actual problem he has right now, and for which none of the existing answers satisfied him, and close duplicates.
- monitor less known tags which very few people know a lot about and where the knowledge sharing desperately lacking, but in which Ciro specializes and therefore has some uncommon knowledge to share
In practice it also happens that Ciro:
- Googles for his own answers to remember some detail he wrote down but with slightly different terms that were closer to mind at the time, and find other similar questions for which he has the perfect answer.
- learns something new by chance, e.g. some new flashy feature of a new version of the C++ standard, thinks "this is awesome, there must be a Stack Overflow question for it", and then there is a question and he answers it
When he gets an upvote on one of his more obscure answers, Ciro often re-reads it, and often finds improvements to be made and makes them.
He doesn't like to refresh the homepage looking for easy reputation on widely known subjects. See also: online forums that lock threads after some time are evil.
The result is that Ciro ends up getting relatively a lot of reputation without much work! The term passive income, much beloved by fake investment gurus, comes to mind. But now it's "passive reputation"! And it is useless! Yay!
For this reason, Necromancer is Ciro's favorite badge (get 5 upvotes on a question older than 60 days), and as of July 2019, he became the 1 user with the most of this badge. Announcement on Twitter.
The number two at the time was VonC (see also: Section "Epic Stack Overflow users"), who had about 16 times more answers than Ciro in total! From this query: data.stackexchange.com/stackoverflow/query/1072396?&Date=2019-07-01&UserId=895245 it can be seen that as of July 2019, 1216 out of his 1329 answers were answered 60 days after the questions and constitute potential necromancers! Compare that to VonC's 1643 potential necromancers out of 21767 answers!
VonC eventually took back the lead in 2022, dude's a machine!!! twitter.com/cirosantilli/status/1546389532014247936
Someone at Ciro's work once said something along:and this does ring true in Stack Overflow as well. When you are answering stuff, it means that you either didn't know, or that the information wasn't well available, and so your specific application is progressing slowly because of that. Once the generic prerequisites are well solved and answered, you will spend much more time on your business specific things rather than anything else that can be factored out across projects, and so you will get more "directly useful work" done, and less Stack Overflow answers. Of course, without the prior research in place, you can't get the final product done either.
The more patents a research project generates, the less actually working products it produces.
In terms of per year reputation ranks, Ciro was in the top 100 in of the 2018 ranking with 38,710 reputation gained in that year: stackexchange.com/leagues/1/year/stackoverflow/2018-01-01?sort=reputationchange&page=4 (archive). He reached top 50 in 2022. Note that daily reputation is mostly capped to 200 per day, leading to a maximum 73000 per year. It is possible to overcome this limit either with bounties or accepts, and Ciro finds it amazing that some people actually break the 73k limit by far with accepts, e.g. Gordon Linoff reached 135k in 2018 (archive)! However, this is something that Ciro will never do, because it implies answering thousands and thousands of useless semi duplicate questions as fast as possible to get the accept. Ciro's reputation comes purely from upvotes on important question, and is therefore sustainable without any extra effort once achieved. Interestingly, Ciro appeared on top of the quarter SE rankings around 2019-11: web.archive.org/web/20191112100606/https://stackexchange.com/leagues but it was just a bug ;-)
There is no joy like answering an old question, and watching your better answer go up little by little until it dominates all others.
Stack Overflow reputation is of course, in itself, meaningless. People who contribute to popular subjects like web development will always have infinitely more reputation than those that contribute to low level subjects.
What happens on the specialized topics though is that you end up getting to know all the 5 users who contribute 95% of the content pretty soon as you study those subjects.
Like everything that man does, the majority of Ciro's answers are more or less superficial subjects that many people know but few have the patience to explain well, or they are updates to important questions reflecting upstream developments. But as long as they save 15 minutes from someone's life, that's fine.
There is great beauty when you are involved in a programming problem, and you suddenly remember: wait, I answered something related a few years ago! And especially so when you can go back and improve your old answer with new insight. This has great value, because when you were more newbie, you would have typed different words into Google Search than you would now. So by updating posts from when you were a newbie, you are helping other newbies more, as they are more likely to be also searching for those keywords. It is also very nice to have some head start on the answer's upvote count and not have to bootstrap yet another answer from 0 upvotes and have to go through all the competition!
For example, Ciro's most upvoted answer as of July 2019 is stackoverflow.com/questions/18875674/whats-the-difference-between-dependencies-devdependencies-and-peerdependencies/22004559#22004559 was written when he spent his first week playing with NodeJS (he was having a look at Overleaf, later merged into Overleaf, for education), which he didn't touch again for several years, and still hasn't "mastered" as of 2019! This did teach a concrete life lesson to Ciro however: it is impossible to know what is the most useful thing you can do right now very precisely. The best bet is to follow your instincts and do as much awesome stuff as you can, and then, with some luck, some of those attempts will cover an use case.
Ciro tends to take most pride on his systems programming answers, which is a subject that truly relatively few people know about. He likes it when he goes insanely deep into a subject, way beyond what OP had in mind, exposing full root causes and broader causes, see e.g.:
- stackoverflow.com/questions/1778538/how-many-gcc-optimization-levels-are-there/30308151#30308151
- stackoverflow.com/questions/34519521/why-does-gcc-create-a-shared-object-instead-of-an-executable-binary-according-to/55704865#55704865
- stackoverflow.com/questions/8352535/how-does-kernel-get-an-executable-binary-file-running-under-linux/31394861#31394861
Ciro also derives great joy from his "media related answers" (3D graphics, audio, video), which are immensely fun to write, and sometimes borderline art, see answers such as those under "OpenGL" and "Media" under the best articles by Ciro Santillis or even simpler answers such as:
There is something of greater value in perfectly presented technical knowledge, that goes beyond than simply getting something done. The pleasure of understanding and mastering something, and perhaps of the explanation itself. Sometimes when answering, Ciro feels like a tailor, where ASCII is his cloth. See also: Section "The art of programming", Section "Physics and the illusion of life".
Ciro's deep understanding of Stack Overflow mechanisms and its shortcomings also helped shape his ideas for: OurBigBook.com. So it is a bit funny to think that after all time Ciro spent on the website, he actually wants to destroy it and replace it with something better. There can be no innovation without some damage. It also led to Ciro's creation of Stack Overflow Vote Fraud Script.
After answering so many questions, he ended up converging to a more or less consistent style, which he formalized at:Like any other style guide, this answer style guide, once fully incorporated and memorized, allows Ciro to write answers faster, without thinking about formatting issues.
- meta.stackexchange.com/questions/18614/style-guide-for-questions-and-answers/326746#326746. Key self-quote:Intersperse paragraphs with lists, code blocks and other block elementsBeautiful text is not just text. Beautiful text is half text, and half ASCII art. There is almost a texture, or tempo, to it.
- meta.stackexchange.com/questions/10647/how-do-i-write-a-good-title/311903#311903. Question title style only. After a few years later more people agreeing with that post which now had -12 votes: meta.stackoverflow.com/questions/422082/should-we-add-option-use-complete-sentences-to-first-answers-queue
Ciro also made a question title style guide: meta.stackexchange.com/questions/10647/how-do-i-write-a-good-title/311903#311903 but for some reason the Stack Overflow community prefers their semi-defined title meta-language to proper English. Go figure.
Ciro started contributing to Stack Overflow in 2012 when he was at École Polytechnique.
Like all things that end up shaping the course of one's life, Ciro started contributing without thinking too much about it.
His first answer was to the LaTeX question: Standalone diagrams with TikZ?, which reflects the fact that this happened while Ciro was reaching his Ciro Santilli's Open Source Enlightenment.
Ciro's first upvote was for his 2012 question: How to run a Python script portably without specifying its full path?
When he started contributing, Ciro was still a newbie. One early event he will never forget was when someone mentioned a "man page", and Ciro commented saying that there was a typo!
When Ciro reached 15 points and gained the ability to upvote, it felt like a major milestone, he even took a screenshot of the browser! 1k, 10k and 100k were also particularly exciting. When the 100k cup (archive) arrived in 2018, Ciro made a show-off Facebook post (archive). At some point though, your brain stops caring, and automatically filters out any upvotes you get except on the answers that you are really proud of and which don't yet have lots of upvotes. The last remaining useless gamed achievement that Ciro looked forward to was legendary (archive), and which he achieved on 2021-02-16.
From the start, Ciro's motivations for contributing to Stack Overflow have been a virtuous circle of:
- save the world through free education
- It feels especially amazing when people in the real world start taking note of you, and either close friends tell you straight out that you're a Stack Overflow God, or as you slowly and indirectly find out that less close know or came to you due to your amazing contributions.
It is also amazing when you start having a repertoire of answers, and as you are writing a new answer, you remember: "hey, the knowledge of that answer would be so welcome here", and so you link to the other answer as well at the perfect point. This somewhat achieves does what OurBigBook.com aims to do: for each small section of a tutorial, gather the best answers by multiple people.
Another one is Aaron Hall, who is also very high on the necromancer list, answers in Python which is a topic Ciro cares about, and states on his profile:so another necromancer.
Follow me on Twitter and tell me what canonical questions you would like me to respond to!
Way to go.
Ciro also asks some questions on a ratio of about 1 question per 10 answers. But Ciro's questions tend to be about extremely niche that no one knows/cares about, and a high percentage of them ends up getting self answered either at asking time or after later research.
Some fun reactions to Ciro's Stack Overflow activity:
- Eric B comments[ref] on Ciro's answer to the question "What does multicore assembly language look like?":
Holy shit, Ciro made it his masters degree to write OP an answer. What a long and detailed answer, thanks!
Accounts controlled by Ciro Santilli on Twitter:
- twitter.com/cirosantilli primary channel, contains only updates on Ciro's best technical content. Low volume.
- twitter.com/cirosantilli2 secondary channel, contains smaller technical updates that didn't make it to the primary channel, and some China fun. Higher volume.
For more china-related stuff see: cirosantilli.com/china-dictatorship/wife
Excerpt of For Whom the Bell Tolls by Ernest Hemingway (1940), slightly adapted for brevity:Related: www.reddit.com/r/OldSchoolCool/comments/hj7bfq/comment/fwkik5v/
"The earth moved," Maria said, not looking at Pilar. "Truly. It was a thing I cannot tell thee.""It never moves more than three times in a lifetime. Did it really move?" Pilar Said."Yes," the girl said. "Truly.""For you, Inglés?" Pilar looked at Robert Jordan. "Don't lie.""Yes," he said. "Truly."