4 ms·
Ninja is one of the best tools I have used. It is extremely simple and always works flawlessly. Some blog posts from the creator of ninja: https://neugierig.o
by ozgrakkurt 7mo ago
Ninja is one of the best tools I have used. It is extremely simple and always works flawlessly.
Some blog posts from the creator of ninja:
https://neugierig.org/software/blog/2018/07/options.html https://neugierig.org/software/blog/2018/07/options.html
https://neugierig.org/software/blog/2011/04/complexity.html https://neugierig.org/software/blog/2011/04/complexity.html
Also there was a post about why just generating ninja using python can be a good option. I do this in my project and it has been very productive so far. I couldn’t find this post now but it was saying to use ninja_syntax.py from ninja codebase and just doing something minimal for a project
- fainpul 7mo agoOMG, so many open source projects need to read this: https://neugierig.org/software/blog/2018/07/options.html https://neugierig.org/software/blog/2018/07/options.html (hello FreeCAD ;)
- seba_dos1 7mo agoSeems like we so often get projects made by people who either need to read this, or who stubbornly ignore its "But first" paragraph. It's good to be critical about options, but ultimately people and their needs are diverse and good tools recognize that too.
- hulitu 7mo ago> Options are bad user experience > A good tool solves its purpose so directly that it's not even noticed. Great designs need fewer options because they just work as is. The reason the user opened the the software is to achieve some end, not poke around in the software's options. Maybe you can come up with a better design that addresses the use cases of the option? This is the opinion of people who don't use the SW they wrote. And no, gray on gray is not an option. Unfortunately, we are forced to used SW bought by other departments, else nobody will use those crap. You can't achieve an end when the crap you use isn't working.
- zem 7mo agowe used ninja as a parallel task runner in pytype - had our whole-project analyser generate a ninja file with a task graph, and then just evoke ninja to run it, taking care of dependencies and parallel execution. it worked very nicely indeed.