41554 blogs · [ { "id": "01a08767-5b06-710e-9779-1f2d8d666b32", "title": "New in PMP: Mesh Analysis", "url": "https://danielsieger.com/blog/2026/08/03/pmp-mesh-analysis.html", "published_at": "2026-08-03T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d8de352b4", "title": "Connected Components of a Polygon Mesh", "url": "https://danielsieger.com/blog/2026/01/01/connected-components.html", "published_at": "2026-01-01T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d8e28855a", "title": "Public Drafts With Jekyll", "url": "https://danielsieger.com/blog/2025/12/31/public-drafts-with-jekyll.html", "published_at": "2025-12-31T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d8e36ed99", "title": "Digital Detox", "url": "https://danielsieger.com/blog/2025/12/30/digital-detox.html", "published_at": "2025-12-30T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d8e4d4285", "title": "Code Coverage with CMake and CTest", "url": "https://danielsieger.com/blog/2024/08/03/code-coverage-with-cmake.html", "published_at": "2024-08-03T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d8f152b5f", "title": "Opaque Pointer Pattern in C++", "url": "https://danielsieger.com/blog/2024/08/02/cpp-opaque-pointer-pattern.html", "published_at": "2024-08-02T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d8f5518e8", "title": "PMP Library Version 3.0 Released", "url": "https://danielsieger.com/blog/2023/08/24/pmp-library-version-3.0.html", "published_at": "2023-08-24T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d8ffa80aa", "title": "API Simplicity", "url": "https://danielsieger.com/blog/2023/08/06/api-simplicity.html", "published_at": "2023-08-06T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d90408c4d", "title": "C++ Member Functions vs. Free Functions", "url": "https://danielsieger.com/blog/2023/05/01/cpp-member-vs-free-functions.html", "published_at": "2023-05-01T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d90c468c3", "title": "A Framework for Better Documentation", "url": "https://danielsieger.com/blog/2023/04/24/framework-for-better-documentation.html", "published_at": "2023-04-24T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d918156f3", "title": "Dieter Rams: Ten Principles for Good Design", "url": "https://danielsieger.com/blog/2023/03/31/principles-for-good-design.html", "published_at": "2023-03-31T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d9208fe55", "title": "C++17 Nested Namespaces", "url": "https://danielsieger.com/blog/2023/02/18/cpp17-nested-namespaces.html", "published_at": "2023-02-18T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d926dbfbb", "title": "PMP Library Version 2.0 Released", "url": "https://danielsieger.com/blog/2022/08/15/pmp-library-version-2.0.html", "published_at": "2022-08-15T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d92ee43f4", "title": "Your Code Doesn't Have to Be a Mess", "url": "https://danielsieger.com/blog/2022/07/25/your-code-doesnt-have-to-be-a-mess.html", "published_at": "2022-07-25T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d93477eba", "title": "Keep it Simple, Over Time", "url": "https://danielsieger.com/blog/2022/03/30/kiss-over-time.html", "published_at": "2022-03-30T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d936ac7de", "title": "Code Coverage Testing for C++", "url": "https://danielsieger.com/blog/2022/03/06/code-coverage-for-cpp.html", "published_at": "2022-03-06T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d93715b8e", "title": "C++ Trailing Return Types", "url": "https://danielsieger.com/blog/2022/01/28/cpp-trailing-return-types.html", "published_at": "2022-01-28T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d93775ae8", "title": "Unit Testing: Short and Sweet", "url": "https://danielsieger.com/blog/2022/01/21/unit-testing-short-and-sweet.html", "published_at": "2022-01-21T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d93c7c0f0", "title": "One Week of Ray Tracing in Rust", "url": "https://danielsieger.com/blog/2022/01/16/ray-tracing-in-rust.html", "published_at": "2022-01-16T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d94a3f471", "title": "Exceptions vs. Error Codes", "url": "https://danielsieger.com/blog/2022/01/02/exceptions_vs_error_codes.html", "published_at": "2022-01-02T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d94d317ee", "title": "Using clang-tidy with CMake", "url": "https://danielsieger.com/blog/2021/12/21/clang-tidy-cmake.html", "published_at": "2021-12-21T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d94f4f61f", "title": "SGP 2021 Virtual Field Trip Report", "url": "https://danielsieger.com/blog/2021/08/25/sgp-virtual-field-trip.html", "published_at": "2021-08-25T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d95515bb5", "title": "Awesome Doxygen Style", "url": "https://danielsieger.com/blog/2021/07/07/awesome-doxygen-style.html", "published_at": "2021-07-07T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d95684ab7", "title": "Digital Gardens. Seriously?", "url": "https://danielsieger.com/blog/2021/05/30/digital-gardens.html", "published_at": "2021-05-30T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d95b27b05", "title": "A Minimalist Jekyll Style Guide", "url": "https://danielsieger.com/blog/2021/05/26/minimalist-jekyll-style-guide.html", "published_at": "2021-05-26T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d9666bfb3", "title": "Generating Primitive Shapes in C++", "url": "https://danielsieger.com/blog/2021/05/03/generating-primitive-shapes.html", "published_at": "2021-05-03T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d970bc470", "title": "Check for Broken Links in Jekyll", "url": "https://danielsieger.com/blog/2021/03/28/check-broken-links-jekyll.html", "published_at": "2021-03-28T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d975f6d65", "title": "Generating Meshes of a Sphere", "url": "https://danielsieger.com/blog/2021/03/27/generating-spheres.html", "published_at": "2021-03-27T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d984960ec", "title": "Generating Platonic Solids in C++", "url": "https://danielsieger.com/blog/2021/01/03/generating-platonic-solids.html", "published_at": "2021-01-03T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d98b38b7f", "title": "Graphics and Geometry Resources", "url": "https://danielsieger.com/blog/2020/12/30/graphics-geometry-resources.html", "published_at": "2020-12-30T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d992a8f05", "title": "Jekyll Website Performance Improvement", "url": "https://danielsieger.com/blog/2020/12/14/jekyll-website-performance-improvement.html", "published_at": "2020-12-14T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d992d453f", "title": "PMP Library at SGP", "url": "https://danielsieger.com/blog/2020/12/03/pmp-library-at-sgp.html", "published_at": "2020-12-03T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d99a96c10", "title": "PMP Library Version 1.2.1 Released", "url": "https://danielsieger.com/blog/2020/05/10/pmp-library-version-1.2.1.html", "published_at": "2020-05-10T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d99efd3d6", "title": "Task Tracking and the Bullet Journal Method", "url": "https://danielsieger.com/blog/2020/05/02/task-tracking-and-bullet-journal-method.html", "published_at": "2020-05-02T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d9a4f4982", "title": "PMP Library Version 1.2 Released", "url": "https://danielsieger.com/blog/2020/03/15/pmp-library-version-1.2.html", "published_at": "2020-03-15T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d9aea43d9", "title": "PMP Library Version 1.1 Released", "url": "https://danielsieger.com/blog/2019/05/30/pmp-library-version-1.1.html", "published_at": "2019-05-30T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d9bc4b588", "title": "Publication Pages Using Jekyll Collections", "url": "https://danielsieger.com/blog/2019/03/03/publication-pages-using-jekyll-collections.html", "published_at": "2019-03-03T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d9befea75", "title": "PMP Library Version 1.0 Released", "url": "https://danielsieger.com/blog/2019/02/18/pmp-library-version-one.html", "published_at": "2019-02-18T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d9c6d0c40", "title": "SGP Summer School Presentations Online", "url": "https://danielsieger.com/blog/2019/01/28/sgp-summer-school-presentations.html", "published_at": "2019-01-28T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d9d55ad4f", "title": "Ray Tracing Books Online for Free", "url": "https://danielsieger.com/blog/2019/01/25/ray-tracing-books-online.html", "published_at": "2019-01-25T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d9dbc83b1", "title": "Unit Testing File I/O", "url": "https://danielsieger.com/blog/2019/01/20/unit-testing-file-io.html", "published_at": "2019-01-20T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d9df142a9", "title": "Creating a Jekyll Bootstrap Template", "url": "https://danielsieger.com/blog/2019/01/12/creating-jekyll-bootstrap-template.html", "published_at": "2019-01-12T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d9e143c9e", "title": "On Software Testing in Research", "url": "https://danielsieger.com/blog/2019/01/05/software-testing-in-research.html", "published_at": "2019-01-05T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d9f09bad3", "title": "Blog Comments Using GitHub", "url": "https://danielsieger.com/blog/2018/10/23/blog-comments-using-github.html", "published_at": "2018-10-23T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2d9f5f5afa", "title": "The Feynman Problem-Solving Algorithm", "url": "https://danielsieger.com/blog/2018/10/21/feynman-problem-solving-algorithm.html", "published_at": "2018-10-21T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2da0185007", "title": "Practical Test Improvement", "url": "https://danielsieger.com/blog/2018/10/07/practical-test-improvement.html", "published_at": "2018-10-07T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2da05ae34b", "title": "Unit Testing Geometric Algorithms", "url": "https://danielsieger.com/blog/2018/09/11/unit-testing-geometric-algorithms.html", "published_at": "2018-09-11T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2da0b57472", "title": "Markdown Cheat Sheet", "url": "https://danielsieger.com/blog/2018/09/02/markdown-cheat-sheet.html", "published_at": "2018-09-02T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2da1893ceb", "title": "Heilmeier's Catechism", "url": "https://danielsieger.com/blog/2018/09/01/heilmeiers-catechism.html", "published_at": "2018-09-01T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2da22c1784", "title": "Polishing the pmp-library Documentation", "url": "https://danielsieger.com/blog/2018/08/26/polishing-pmp-library-documentation.html", "published_at": "2018-08-26T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2da2a120ec", "title": "Glimpse of a Library", "url": "https://danielsieger.com/blog/2018/01/10/glimpse-of-a-library.html", "published_at": "2018-01-10T00:00:00+00:00" }, { "id": "01a08767-5b06-710e-9779-1f2da2ae13fc", "title": "Jekyll Migration", "url": "https://danielsieger.com/blog/2018/01/09/hello-world.html", "published_at": "2018-01-09T00:00:00+00:00" } ] posts Claim your blog
Back to danielsieger.com
Blog · corpus.blog/blogs/danielsieger.com/posts

danielsieger.com

danielsieger.com

2026

2025

2024

2023

2022

2021

2020

2019

2018