 
      
    | You are here | pyodide.org | ||
| | | | | jo-m.ch | |
| | | | | Software Engineering Principles # Start simple and iterate, you won't get it right the first time anyways Make it fail gracefully There can never be enough logging, debug statements, asserts Measure before you optimize Make it hard to do the wrong thing Ugly hacks keep the world spinning Limitations are as important as features. Magic is bad Hyrums Law is very real and needs to actively worked against if you don't want to deal with it's fallout Specifications are important. If someone wants you to build something, it needs to be specified. Documents # Design and Decision # Should contain: | |
| | | | | blog.jak-linux.org | |
| | | | | In the past weeks, I was looking at several build systems. As it turned out, there is not a single sane generic build system out there. Autotools: Autotools are ugly, slow, and require an immense amount of code copies in the source tree. WAF: WAF is not as ugly as autools and it's faster and does not generate Makefiles or stuff like this. But it has serious issues: It requires one to copy it to the source tarball, has no stable API, and requires Python for building. Furthermore, support for unit testing is broken: It runs the unit tests, but does not abort the build process if the tests fail and does not display why the tests fail. | |
| | | | | hoverbear.org | |
| | | | | A computer scientist working in open source towards a more hopeful future. | |
| | | | | current.workingdirectory.net | |
| | | Some thoughts based on my work as a movement technologist | ||