Elliptic-curve Diffie-Hellman Updated +Created
The algorithm is completely analogous to Diffie-Hellman key exchange in that you efficiently raise a number to a power times and send the result over while keeping as private key.
The only difference is that a different group is used: instead of using the cyclic group, we use the elliptic curve group of an elliptic curve over a finite field.
Video 1. Source. youtu.be/NF1pwjL9-DE?t=143 shows the continuous group well, but then fails to explain the discrete part.
File manager Updated +Created
Ciro Santilli used to use file managers in the past.
Extraterrestrial life Updated +Created
Advances Updated +Created
Schmidt Futures Updated +Created
Mamonas Assassinas Updated +Created
This incredibly foul mouthed band was incredibly funny.
Ciro Santilli was a bit young to understand the songs at the time, but the older boys were singing them, and he sang along. So maybe there is a nostalgia factor in play.
But it can't be just that. They are just too funny and brutal, even when Ciro re-listens to it as of 2020.
Many Brazilian religious cranks in were really happy when their plane crashed and killed all of them in 1996.
Best songs:
  • Pelados Em Santos (1995). Not too amazing, they only try to be funny by making fun of the North-Eastern accent of Brazil, which is considered somewhat funny in São Paulo, and they fail at being funny.
    But it talks about Santos, São Paulo, Brazil, Ciro's idolized city, so let's hear it. They didn't live in Santos apparently, but being from São Paulo City, they would have been familiar with that popular local beach location.
Read-modify-write Updated +Created
That's what usually fucks up parallel programs.
Integrated development environment Updated +Created
IDEs are absolutely essential for developing complex software.
The funny thing is that you don't notice this until someone shows it to you. But once you see it, there is not turning back, just like Steve Jobs customers don't know what they want quote.
Unfortunately, after the Fall of Eclipse (archive), the IDE landscape in 2019 is horrible and split between:
  • highly buggy but still feature rich Eclipse
  • many may many other feature lacking options using possibly more trendy and forward lasting implementations like Electron
  • awesome cross-platform proprietary JetBrains IDEs
  • the God-like Windows-only proprietary language-lacking Visual Studio
Programmers of the world: unite! Focus on one IDE, and make it work for all languages and all build systems. Give it all the features that Eclipse has, but none of the bugginess. Work with top project to make sure the IDE works for all top projects.
Projects of the world: support one IDE, with in-tree configuration. Complex integration is often required between the IDE and the build system, and successful projects must to that once for all developers. Either do this, or watch you complex project wither away.
Build tool maintainers: make it possible for IDEs to support your tool! E.g., implement JSON Compilation Database output so that IDEs can read the exact compiler commands from that, in order to automatically determine how files should be parsed! Or better, just use libllvm in your IDE itself as the main parser.
Ciro is evaluating some IDEs at: github.com/cirosantilli/ide-test-projects
Software documentation Updated +Created
Next steps Updated +Created
Telephone Updated +Created
We are at a point in history where the electrical telegraph is well established.
But people don't want to press letters one by one on a switch. They want to talk!
The first phones appear to have used telegraph lines directly.
Also wired phones don't require modulation, which likely made their development much easier than wireless voice transmission. You just send the signal as a voltage differential directly obtained from the air pressure: how the telephone works.
The best modern instrumental Western musicians Updated +Created
The Matrix (1999) Updated +Created
Ciro Santilli just keep watching that a gazillion times whenever it showed on TV.
All action scenes are useless crap, but the premise with Ciro's precious simulation hypothesis subject, related physics and the illusion of life.
It is a shame that the key premise of using human bodies to produce energy is completely and impossibly stupid. You would obviously get more energy by directing burning the food you feed into humans.
If the film had been made later, maybe the much more plausible concept of AI alignment would would have been used instead. What a shame.
Video 1.
Blue Pill or Red Pill scene from The Matrix (1999)
. Source.
Master's degree Updated +Created
In your normal 2020 broken educational system, it is the first time at which students get an official chance to learn something advanced, and possibly prepare to go venture into the PhD desert.
Memory management Updated +Created
Multimedia software Updated +Created
Program optimization Updated +Created
Programming language Updated +Created
A language that allows you to talk to and command a computer.
There is only space for two languages at most in the world: the compiled one, and the interpreted one.
For 2020 now, when you have a choice, you must go for:
  • Python as the interpreted one
  • C++ for compiled
Those two are languages not by any means perfect from a language design point of view, and there are likely already better alternatives, they are only chosen due to a pragmatic tradeoff between ecosystem and familiarity.
Ciro predicts that Python will become like Fortran in the future: a legacy hated by most who have moved to JavaScript long ago (which is slightly inferior, but too similar, and with too much web dominance to be replaced), but with too much dominance in certain applications like machine learning to be worth replacing, like Fortran dominates certain HPC applications. We'll see. Maybe non performance critical scripting languages are easier to replace.
C++ however is decent, and is evolving in very good directions in the 2010's, and will remain relevant in the foreseeable future.
Bash can also be used when you're lazy. But if the project goes on, you will sooner or later regret that choice.
The language syntax in itself does not matter. All that matters is how many useful libraries and tooling it has.
This is how other languages compare:
  • C: but cannot make a large codebase DRY without insanity
  • Ruby: the exact same as Python, and only strong in one domain: web development, while Python rules everything else, and is not bad on web either. So just kill Ruby, please.
  • JavaScript: it is totally fine if Node.js destroys Python and becomes the ONE scripting language to rule them all since Python and JavaScript are almost equally crappy (although JavaScript is a bit more of course).
    One thing must be said tough: someobject.not_defined_property silently returning undefined rather than blowing up is bullshit.
  • Go: likely a good replacement for Python. If the ecosystem gets there, will gladly use it more.
  • Java: good language, but has an ugly enterprisey ecosystem, Oracle has made/kept the development process too closed, and API patenting madness on Android just kills if off completely
  • Haskell: many have tried to learn some functional stuff, but too hard. Sounds really cool though.
  • Rust: sounds cool, you will gladly replace C and C++ with it if the ecosystem ramps up.
  • C: Microsoft is evil
  • Tcl, Perl: Python killed them way back and is less insane
  • R, GNU Octave and any other "numerical computing language": all of this is a waste of society's time as explained at: Section "Numerical computing language"
  • Swift: Ciro would rather stay away from Apple dominated projects if possible since they sell a closed source operating system
Recreational programming Updated +Created
Scientific computing Updated +Created

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