CLI design
Date | Title | Reading time |
---|---|---|
2013-08-12 | CLI design: Series introduction | 2 minutes |
2013-08-15 | CLI design: The CLI is the presentation layer | 3 minutes |
2013-08-19 | CLI design: Error reporting | 5 minutes |
2013-08-22 | CLI design: Requesting and offering help | 5 minutes |
2013-08-26 | CLI design: Putting flags to good use | 5 minutes |
2013-08-29 | CLI design: Do not reinvent option parsing | 3 minutes |
2013-09-02 | CLI design: Subcommand-based interfaces | 5 minutes |
2013-09-05 | CLI design: Single-command interfaces | 4 minutes |
2013-09-09 | CLI design: Handling output messages | 4 minutes |
2013-09-12 | CLI design: Screen wrapping | 4 minutes |
2013-09-16 | CLI design: Consider interactive prompts twice | 4 minutes |
2013-09-19 | CLI design: Series wrap-up | 1 minute |
Header files
Date | Title | Reading time |
---|---|---|
2013-11-18 | Header files: Series introduction | 2 minutes |
2013-11-21 | Header files: Multiple-inclusion protection | 3 minutes |
2013-11-25 | Header files: Self-containment | 4 minutes |
2013-12-02 | Header files: C++ ipp files | 2 minutes |
2013-12-05 | Header files: Avoid C++ 'using' directives | 3 minutes |
2013-12-09 | Header files: Poor man's replacement for modules | 4 minutes |
2013-12-27 | Header files: Qualify your identifiers | 2 minutes |
2013-12-30 | Header files: Poor compilation times in C++ | 1 minute |
2014-01-01 | Header files: Series wrap-up | 1 minute |
Production software
Date | Title | Reading time |
---|---|---|
2013-10-10 | Production software: Series introduction | 1 minute |
2013-10-14 | Production software: Be wary of assertions | 3 minutes |
2013-10-17 | Production software: Constants will bite you | 3 minutes |
2013-10-21 | Production software: Hide new features behind flags | 3 minutes |
2013-10-24 | Production software: Logging | 7 minutes |
2013-10-28 | Production software: Identifying your builds | 3 minutes |
2013-10-31 | Production software: Series wrap-up | 1 minute |
Readability
Date | Title | Reading time |
---|---|---|
2013-06-03 | Readability: Series introduction | 2 minutes |
2013-06-06 | Readability: Blocks and variable scoping | 4 minutes |
2013-06-10 | Readability: Blank lines matter | 4 minutes |
2013-06-13 | Readability: No abbreviations | 2 minutes |
2013-06-17 | Readability: Mind your typos and grammar | 2 minutes |
2013-06-24 | Readability: Document your types | 3 minutes |
2013-06-27 | Readability: Avoid comments | 5 minutes |
2013-07-01 | Readability: Abuse assertions | 3 minutes |
2013-07-04 | Readability: Dictionaries are not data types | 5 minutes |
2013-07-08 | Readability: Do not abuse classes as global state | 3 minutes |
2013-07-18 | Readability: Explicitly state complementary conditions | 3 minutes |
2013-07-22 | Readability: Conditionals as functions | 3 minutes |
2013-07-25 | Readability: Don't modify variables | 4 minutes |
2013-07-29 | Readability: Narrow try/catch blocks | 3 minutes |
2013-08-01 | Readability: Series wrap-up | 2 minutes |
Rust review
Date | Title | Reading time |
---|---|---|
2018-05-25 | Rust review: Introduction | 3 minutes |
2018-05-29 | Rust review: Immutable by default | 3 minutes |
2018-06-01 | Rust review: The borrow checker | 3 minutes |
2018-06-05 | Rust review: Protect the data | 5 minutes |
2018-06-08 | Rust review: Learning curve | 4 minutes |
2018-06-12 | Rust review: Expressions, expressions, expressions | 3 minutes |
2018-06-15 | Rust review: The match keyword | 2 minutes |
2018-06-19 | Rust review: The book | 4 minutes |
2018-06-22 | Rust review: The ecosystem | 4 minutes |
2018-07-10 | Rust review: Closing thoughts | 5 minutes |
Shell readability
Date | Title | Reading time |
---|---|---|
2018-02-26 | Shell readability: main | 2 minutes |
2018-03-02 | Shell readability: function parameters | 3 minutes |
2018-03-09 | Shell readability: strict mode | 6 minutes |
2018-03-13 | Shell readability: local | 5 minutes |