A year on Windows

View all posts

TitleReading time
2022-03-07A year on Windows: Introduction4 minutes
2022-03-08A year on Windows: Keyboard shortcuts7 minutes
2022-03-09A year on Windows: Input methods5 minutes
2022-03-10A year on Windows: Look'n'feel5 minutes
2022-03-11A year on Windows: Window switching6 minutes
2022-03-12A year on Windows: PowerToys5 minutes
2022-03-13A year on Windows: Miscellaneous tools4 minutes
2022-03-14A year on Windows: Development experience5 minutes
2022-03-15A year on Windows: PowerShell7 minutes
2022-03-16A year on Windows: Networked file systems4 minutes
2022-03-17A year on Windows: System debugging5 minutes
2022-03-18A year on Windows: Software installation6 minutes
2022-03-19A year on Windows: Finale4 minutes

Bazel dynamic execution

View all posts

TitleReading time
2019-12-20Introduction to Bazel's dynamic execution3 minutes
2019-12-26Bazel's dynamic strategy3 minutes
2019-12-27Output conflicts and dynamic execution4 minutes
2019-12-30Artifact downloads and dynamic execution5 minutes
2019-12-31Lifting the local lock for dynamic execution4 minutes
2019-12-31Tree artifacts and transient files4 minutes

CLI design

View all posts

TitleReading time
2013-08-12CLI design: Series introduction2 minutes
2013-08-15CLI design: The CLI is the presentation layer3 minutes
2013-08-19CLI design: Error reporting5 minutes
2013-08-22CLI design: Requesting and offering help5 minutes
2013-08-26CLI design: Putting flags to good use5 minutes
2013-08-29CLI design: Do not reinvent option parsing3 minutes
2013-09-02CLI design: Subcommand-based interfaces5 minutes
2013-09-05CLI design: Single-command interfaces4 minutes
2013-09-09CLI design: Handling output messages4 minutes
2013-09-12CLI design: Screen wrapping4 minutes
2013-09-16CLI design: Consider interactive prompts twice4 minutes
2013-09-19CLI design: Series wrap-up1 minute

Costs exposed

View all posts

TitleReading time
2023-08-23Costs exposed: Monorepo vs. multirepo6 minutes
2023-08-26Costs exposed: On-call ticket handling7 minutes
2023-08-31Costs exposed: Frameworks7 minutes

Header files

View all posts

TitleReading time
2013-11-18Header files: Series introduction2 minutes
2013-11-21Header files: Multiple-inclusion protection3 minutes
2013-11-25Header files: Self-containment4 minutes
2013-12-02Header files: C++ ipp files2 minutes
2013-12-05Header files: Avoid C++ 'using' directives3 minutes
2013-12-09Header files: Poor man's replacement for modules4 minutes
2013-12-27Header files: Qualify your identifiers2 minutes
2013-12-30Header files: Poor compilation times in C++1 minute
2014-01-01Header files: Series wrap-up1 minute

Mac OS X vs. Ubuntu

View all posts

TitleReading time
2006-09-28Mac OS X vs. Ubuntu: Introduction2 minutes
2006-09-29Mac OS X vs. Ubuntu: Hardware support3 minutes
2006-09-30Mac OS X vs. Ubuntu: The environment4 minutes
2006-10-01Mac OS X vs. Ubuntu: Software installation4 minutes
2006-10-02Mac OS X vs. Ubuntu: Automatic updates3 minutes
2006-10-03Mac OS X vs. Ubuntu: Freedom2 minutes
2006-10-07Mac OS X vs. Ubuntu: Commercial software3 minutes
2006-10-20Mac OS X vs. Ubuntu: Development platform5 minutes
2006-10-25Mac OS X vs. Ubuntu: Summary1 minute

ONLamp.com guest posts

View all posts

TitleReading time
2005-03-31Making Packager-Friendly Software (part 1)20 minutes
2005-04-28Making Packager-Friendly Software (part 2)15 minutes
2005-10-13Lightweight Web Serving With thttpd11 minutes
2006-05-04Smart Pointers in C++17 minutes
2007-03-01Making NetBSD Multiboot-Compatible13 minutes

Production software

View all posts

TitleReading time
2013-10-10Production software: Series introduction1 minute
2013-10-14Production software: Be wary of assertions3 minutes
2013-10-17Production software: Constants will bite you3 minutes
2013-10-21Production software: Hide new features behind flags3 minutes
2013-10-24Production software: Logging7 minutes
2013-10-28Production software: Identifying your builds3 minutes
2013-10-31Production software: Series wrap-up1 minute

Readability

View all posts

TitleReading time
2013-06-03Readability: Series introduction2 minutes
2013-06-06Readability: Blocks and variable scoping4 minutes
2013-06-10Readability: Blank lines matter4 minutes
2013-06-13Readability: No abbreviations2 minutes
2013-06-17Readability: Mind your typos and grammar2 minutes
2013-06-24Readability: Document your types3 minutes
2013-06-27Readability: Avoid comments5 minutes
2013-07-01Readability: Abuse assertions3 minutes
2013-07-04Readability: Dictionaries are not data types5 minutes
2013-07-08Readability: Do not abuse classes as global state3 minutes
2013-07-18Readability: Explicitly state complementary conditions3 minutes
2013-07-22Readability: Conditionals as functions3 minutes
2013-07-25Readability: Don't modify variables4 minutes
2013-07-29Readability: Narrow try/catch blocks3 minutes
2013-08-01Readability: Series wrap-up2 minutes

Rust review

View all posts

TitleReading time
2018-05-25Rust review: Introduction3 minutes
2018-05-29Rust review: Immutable by default3 minutes
2018-06-01Rust review: The borrow checker3 minutes
2018-06-05Rust review: Protect the data5 minutes
2018-06-08Rust review: Learning curve4 minutes
2018-06-12Rust review: Expressions, expressions, expressions4 minutes
2018-06-15Rust review: The match keyword3 minutes
2018-06-19Rust review: The book4 minutes
2018-06-22Rust review: The ecosystem4 minutes
2018-07-10Rust review: Closing thoughts5 minutes

Shell readability

View all posts

TitleReading time
2018-02-26Shell readability: main2 minutes
2018-03-02Shell readability: function parameters3 minutes
2018-03-09Shell readability: strict mode6 minutes
2018-03-13Shell readability: local5 minutes