Giscus Updated +Created
Give answers to problem sets Updated +Created
GNU parallel Updated +Created
The author Ole Tange answers every question about it on Stack Exchange. What a legend!
This program makes you respect GNU make a bit more. Good old make with -j can not only parallelize, but also take in account a dependency graph.
Some examples under:
man parallel_exampes
To get the input argument explicitly job number use the magic string {}, e.g.:
printf 'a\nb\nc\n' | parallel echo '{}'
sample output:
a
b
c
To get the job number use {#} as in:
printf 'a\nb\nc\n' | parallel echo '{} {#}'
sample output:
a 1
b 2
c 3
c 3
{%} contains which thread the job running in, e.g. if we limit it to 2 threads with -j2:
printf 'a\nb\nc\nd\n' | parallel -j2 echo '{} {#} {%}'
sample output:
a 1 1
b 2 1
c 3 2
d 4 1
The percent must be a reference to "split the inputs module the number of workers", and modulo uses the % symbol in many programming languages such as C.
To pass multiple CLI argments per command you can use -X e.g.:
printf 'a\nb\nc\nd\n' | parallel -j2 -X echo '{} {#} {%}'
sample output:
a b 1 1
c d 2 2
Good actor Updated +Created
Good book Updated +Created
Good film Updated +Created
Guerrilla Mail Updated +Created
htop Updated +Created
Human-readable format Updated +Created
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
Kimchi Updated +Created
Meal deal Updated +Created
x.com/Birdyword/status/1777591446612193667
A while ago a Singaporean taxi driver asked me what a UK hawker centre lunch might cost. I explained that there aren't any. He asked what office workers ate, and I explained the concept of Meal deals. And he looked at me with such a powerful combination of pity and revulsion.
Singaporean taxi drivers are the cutest.
Molecular Sciences Course of the University of São Paulo Updated +Created
A fantastic sounding full time 4-year course that any student could transfer to called that teaches various natural science topics, notably mathematics, physics, chemistry and molecular biology.
Many past students Ciro talked to however share a common frustration with the course: in the first 2 years at least, the "basic cycle", you have infinitely many courses, and no time to study, and no choice of what to study, it is only in the latter 2 years (the advanced cycle) that you get the choices.
Also, if you get low grades in a single subject, your out. And exams are useless of course.
Here's a Quora question in Portuguese about the course: pt.quora.com/Como-funciona-o-tal-do-curso-secreto-da-USP, the only decent answer so far being: pt.quora.com/Como-funciona-o-tal-do-curso-secreto-da-USP/answer/Victor-Soares-31. Very disappointing to hear.
On the advanced cycle, you have a lot of academic freedom. You are basically supposed to pick a research project with an advisor and go for it, with a small amount of mandatory course hours. Ciro was told in 2022 that you can even have advisors from other universities or industry, and that it is perfectly feasible to take courses in another university and validate the course hours later on. Fantastic!!!
Students from the entire University of São Paulo can apply to transfer to it only after joining the university, with the guarantee that they can go back to their original courses if they don't adapt to the new course, which is great!
Not doing it is one of Ciro Santilli's regrets in life, see also: don't be a pussy.
Around 2007, they were in a really shady building of the University, but when Ciro checked in 2021, they had apparently moved to a shiny new entrepreneurship-focused building. Fantastic news!!!
This place has one of the best changes of spawning the first Brazilian Nobel Prize or unicorn.
One of the Brazilians who came to École Polytechnique together with Ciro was from this course. The fact that he is one of the most intelligent people Ciro knows gave further credit to that course in his eyes.
Monolithic system Updated +Created
Monorepo Updated +Created
Multi-factor authentication Updated +Created
ncdu Updated +Created
OAuth Updated +Created
The fatal flaw of OAuth is that websites have to enable specific providers, they can't just automatically select the correct OAuth for a given email domain. This means that the vast majority of websites will only provide the most widely popular providers such as Google, and the like, which means people won't have decent privacy.
So you are just better off with password logins and a decent password manager.
Open access academic publisher Updated +Created