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".
Things that are not nice such as:
- Taboola, Outbrain, and other chumbox
- BLOBs
- Europe cookie law
- adhesive inside mobile phones and more generally, planned obsolescence
- Jupyter Notebook
- typographical characters that look like ASCII ones, but are not the ASCII ones, e.g. typographical quotes, em-dash. The non-breaking hyphen is not even whitespace, and by def Why not stick to ASCII when ASCII is good enough?
- excessive encapsulation
- replacement of master and slave terminology from technology
- mailing lists. And to add insult to injury, HTML on mailing list messages instead of plaintext.
- blank lines in code added by people trying to increase clarity, especially when there is already indentation for that. Every blank line must be preceded by a line comment explaining what the following block is about, or removed.
- messaging software that force you to have a mobile phone
- advertisements by telephone/SMS
- "state" such as global variables and object members, long live functional programming?
- mosquitoes, the only intrinsically bad thing about tropical countries
- projects with slow compilation times
- Microsoft Windows
- the 2019 Chinese government
- e-learning websites that only allows verified teachers to write content. Cowards who can't handle ranking algorithms.
- domain-specific language
- a build system without an out-of-tree option
- non-linear Git history: stackoverflow.com/questions/20348629/what-are-advantages-of-keeping-linear-history-in-git
- visual programming languages like Scratch. Waste of time. Text programming languages are already equally as visual due to indentation:Just make good serious gamedev libraries and integrated development environments for those real languages instead.
if x == 0: x = 1
- software that prevents you from running as root. Let me fucking shoot myself in the foot if I want to. It is better than having to deal with your hand holding bullshit, which is done in a different way for every project. E.g.: stackoverflow.com/questions/17466017/how-to-solve-you-must-not-be-root-to-run-crosstool-ng-when-using-ct-ng/53099177#53099177
- Medium
- luxury goods
- euphemism
- closed access academic journals are evil
- websites without OAuth
- shower room without a window to the exterior (mould!!!)
- single programs with their interface split across multiple windows, e.g. GIMP, ZynAddSubFX
- graphical user interfaces
- logograms
- infinitesimals. Just use limit instead, please
- country
- knowledge olympiads
- programming languages without a decent dominating package system
- closed source offline software used by millions
- exams
- security through obscurities
- dots in Gmail address
- things in websites that look like links, and behave like links, but don't let you middle click to open them on a separate tab
- K-pop
- numerical computing language
- fiscal paradises
- when the front-end of an website changes an important permanent state, but the URL does not change
- splash screens: you should show boot messages so that people will know what to Google for when things fail. Do you think computer newbies will be afraid and have nightmares?
- milk chocolate: why would you eat that instead of dark chocolate if you are older than 10?
- to talk about something without giving the real name to not scare off the audience
- mathematical symbol that looks like a Greek letter but isn't. Or perhaps mathematical notation in general
- when more than two people gather to play a board game or video game, and two or more people start chatting on and on about random subjects rather than concentrating on the game
- watching television while eating. Same for reading, or doing basically anything else but eat. The only acceptable activity is talking relaxedly, not about work.
- noises coming out of your bicycle. It is so hard to find where they come to fix them!!!
- code drop
- private cars as opposed to public transport. As a cyclist, you can just see the effect that large roads have on nearby areas, it just destroys nature.
- closed standards
- double consonants that make no difference to sound. Dilema? Dilemma? Dillema? Dillemma? Please!
- social media websites that show stuff from people you don't follow when you don't explicitly want that, including things which are not ads, just random suggestions. Twitter starting being like that cirac a 2022. Facebook got worse around that time. It is a constant fight against those stupid websites.
- socks with short legs that don't protect your ankle/lower calf from cold/scratches/dirt, e.g. liner socks
- Presta valves. Why would such a flimsy tech have become so popular compared to the infinitely superior Schrader!
Perfect Git integration belongs in integrated development environments :-)
- kimchi
- reverse debugging
- E Ink
- web archiving
- Buildroot
- integrated development environments
- degreaser
- UML: while it might seem like a over-thought thing and likely is, the basic idea that understanding "one to one vs one to many vs many to many" relationships between objects and which object can see which object, is a fantastic approach towards understanding complex object oriented code
- open source software, including open source scientific computing consultancies
- computer
- FOSDEM. Ciro Santilli attended in 2016, and felt extremely good together with all those amazingly smart open source hackers: www.quora.com/What-are-the-best-open-source-conferences/answer/Ciro-Santilli
- Sass
- vimium
- bisection
- vector graphics, notably scalable Vector Graphics
- ASCII art
- OAuth
- command-line interface
- virtualization
- Anusol
- autodidacticism and self-directed learning
- end-to-end encryption
- The Criterion Collection
- version control
- SQLite
- Guerrilla Mail
- POSIX
- static website
- Freeman Dyson
- open access academic publishers
- unconditional basic income
- transhumanism
- 2FA, and notably 2FA apps
- human-readable formats
- wealth tax
- Reproducible builds
- F-Droid
- Can't get you out of my head by Adam Curtis (2021)
- drug liberalization
- Wiki-binge
- molecular Sciences Course of the University of São Paulo
- meal deal
- clade, as opposed to taxonomic ranks
- lingua franca, see also: having more than one natural language is bad for the world
- rsync
- zip hoodies
When debugging complex software, make sure to keep notes of every interesting find you make in a note file, as you extract it from the integrated development environment or debugger.
Especially if your memory sucks like Ciro's.
This is incredibly helpful in fully understanding and then solving complex bugs.
All those dedicated applied mathematicians languages are a waste of society's time, Ciro Santilli sure applied mathematicians are capable of writing a few extra braces in exchange for a sane general purpose language, we should instead just invest in good libraries with fast C bindings for those languages like NumPy where needed, and powerful mainlined integrated development environments.
And when Ciro Santilli see the closed source ones like MATLAB being used, it makes him lose all hope on humanity. Why. As of 2020. Why? In the 1980s, maybe. But in the 2020s?
Lists:
- trilarion.github.io/opensourcegames/
- www.slant.co/topics/1933/~best-open-source-games
- libregamewiki.org/Main_Page
- www.reddit.com/r/opensourcegames/comments/197luuk/what_is_the_best_open_source_game_in_your_opinion/
- www.pcgamer.com/yall-know-about-these-huge-lists-of-free-open-source-game-clones-right/ is a list of lists
Why would anyone ever waste time playing a closed source game, when this will inevitably lead to endless hours of decompilation down the line when you want to:
- fully understand how the game works, notably to help with TASsing
- improve the game's flaws as devs drop support (or lose source code and have to late reverse-engineer their own fucking game?) :-)
Those who devote their time to the useless development of open source video games, before we even have decent open source development tooling, will, without a doubt, have their place in Heaven.
- tower defense
- www.edopedia.com/demo/pixeldefense possible source github.com/jesseakt/PixelDefense 2020-03 desperately lacks a fast forward button and enemy health bars
- platformer
- 2D platformer
- teeworlds: does not run on Ubuntu 21.10,
X Error of failed request: BadValue
- teeworlds: does not run on Ubuntu 21.10,
- 3D platformer
- 2D platformer
- OpenClonk: Terraria-like 2D mining crafting game. Pretty well done. Not sure if you can have a super huge open world. The fact that the music stops completely so often is a bit saddening.
- Pingus: Lemmings clone. Very good!
- github.com/The-Powder-Toy/The-Powder-Toy: en.wikipedia.org/wiki/Falling-sand_game in C++. No Ubuntu 19.10 package it seems, but was easy to compile from source.
- roguelike
- Worms clone
- Hedgewars
- pokemon clone:
- Tuxemon. Worked on Ubuntu 21.10. 20ea4181e1c0db04934ee69951ea1836a3b1f642
- ARPG
- Diablo II clones:v1.12 download Worked well on Ubuntu 21.10.
- github.com/flareteam/flare-game game engine
- flarerpg.org/mods/flare-empyrean/ game made with the engine
- The Mana World: www.themanaworld.org/ Started somewhat as a loose The Secret of Mana clone, but they've added online play capabilities, effectively making it a MMORPG.Their user acquisition as of 2021 is really bad. Download is a wiki page, there are two client versions, etc. The .deb did not work out o box on Ubuntu 21.10 due to unmet dependencies:fails with:
sudo apt install ./manaplus_amd64.deb
so it won't be able to play without trying to compile and possibly minor ports since the deb does not packs dependencies. Some requests for a release with all dependencies prepacked:Their home page says it all:manaplus : Depends: libpng12-0 (>= 1.2.13-4) but it is not installable Depends: libsdl-gfx1.2-4 (>= 2.0.22) but it is not installable Depends: manaplus-data (= 1.6.4.23-2) but 1.9.3.23-6 is to be installed
Sad.Server status: Online: 9 players
- Diablo II clones:
- Factorio clones:
- github.com/tobspr/shapez.io Also browser based.
YouTube review channels:
Before we get a decent open source integrated development environment, what else can you do?
But also perfect for small one-off files when you don't have the patience to setup said IDE.
vim's defaults are atrocious for the 21st century! Vundle is reasonable as an ad-hoc package manager, but it can't set fixed versions of packages: