41554 blogs · [ { "id": "01a094e8-9715-72f4-9e6f-a3ea39166295", "title": "Introducing CppUTest For SST", "url": "https://covemountainsoftware.com/2026/09/11/introducing-cpputest-for-sst/", "published_at": "2026-09-11T18:29:02+00:00" }, { "id": "01a08764-2b83-730d-8095-8784c7ed2d20", "title": "Introducing CppUTest For FreeRTOS", "url": "https://covemountainsoftware.com/2024/11/14/introducing-cpputest-for-freertos/", "published_at": "2024-11-14T19:34:19+00:00" }, { "id": "01a08764-2b83-730d-8095-8784c83957b3", "title": "Unlocking QP: Tip #4 Pairing a kernel with QP", "url": "https://covemountainsoftware.com/2024/11/04/unlocking-qp-pairing-a-kernel-with-qp/", "published_at": "2024-11-04T13:39:32+00:00" }, { "id": "01a08764-2b83-730d-8095-8784c8c2d9bd", "title": "Enhancing QP Development with Assert Feedback", "url": "https://covemountainsoftware.com/2024/10/02/enhancing-qp-development-with-assert-feedback/", "published_at": "2024-10-02T16:44:21+00:00" }, { "id": "01a08764-2b83-730d-8095-8784c98a7095", "title": "Announcement: Video Tutorial on cpputest-for-qpc", "url": "https://covemountainsoftware.com/2024/09/21/announcement-video-tutorial-on-cpputest-for-qpc/", "published_at": "2024-09-22T01:33:50+00:00" }, { "id": "01a08764-2b83-730d-8095-8784ca10059e", "title": "Announcement: Shared Active Objects For QP Best Practices", "url": "https://covemountainsoftware.com/2024/09/03/announcement-shared-active-objects-for-qp-best-practices/", "published_at": "2024-09-03T14:59:56+00:00" }, { "id": "01a08764-2b83-730d-8095-8784ca770107", "title": "Code maintenance: avoid naked integers", "url": "https://covemountainsoftware.com/2023/12/16/code-maintenance-avoid-naked-integers/", "published_at": "2023-12-16T18:02:31+00:00" }, { "id": "01a08764-2b83-730d-8095-8784caa29e4b", "title": "Code maintenance: Clean header files", "url": "https://covemountainsoftware.com/2022/12/17/code-maintenance-clean-header-files/", "published_at": "2022-12-17T19:37:56+00:00" }, { "id": "01a08764-2b83-730d-8095-8784cb6b0683", "title": "The Matthew Test: 2022 Survey Results", "url": "https://covemountainsoftware.com/2022/10/27/the-matthew-test-2022-survey-results/", "published_at": "2022-10-28T02:19:28+00:00" }, { "id": "01a08764-2b83-730d-8095-8784cc294441", "title": "Appearance at ‘The Agile Embedded Podcast’", "url": "https://covemountainsoftware.com/2022/08/13/appearance-at-the-the-agile-embedded-podcast/", "published_at": "2022-08-13T12:16:33+00:00" }, { "id": "01a08764-2b83-730d-8095-8784cc9b6d1c", "title": "Code maintenance: enums and lookup tables", "url": "https://covemountainsoftware.com/2022/06/18/code-maintenance-enums-and-lookup-tables/", "published_at": "2022-06-18T16:37:57+00:00" }, { "id": "01a0c504-5328-70ef-b4da-af22d0ecd906", "title": "Code maintenance and magic numbers", "url": "https://covemountainsoftware.com/2022/05/18/code-maintenance-and-magic-numbers/", "published_at": "2022-05-18T15:35:21+00:00" }, { "id": "01a0c504-5328-70ef-b4da-af22d1a78b67", "title": "Unit Testing of QP/C (qpc) based active objects using CppUTest", "url": "https://covemountainsoftware.com/2022/05/04/unit-testing-of-qpc-with-cpputest/", "published_at": "2022-05-05T03:59:40+00:00" }, { "id": "01a0c504-5328-70ef-b4da-af22d295fbf4", "title": "Unit Testing with QP/C++ (qpcpp) and CppUTest", "url": "https://covemountainsoftware.com/2022/04/25/unit-testing-with-the-qpcpp-framework-and-cpputest/", "published_at": "2022-04-25T23:33:10+00:00" }, { "id": "01a0c504-5328-70ef-b4da-af22d339d380", "title": "What is an Active Object?", "url": "https://covemountainsoftware.com/2021/04/20/what-is-an-active-object/", "published_at": "2021-04-21T02:26:17+00:00" }, { "id": "01a0c504-5328-70ef-b4da-af22d42c395c", "title": "A survey of concurrency bugs", "url": "https://covemountainsoftware.com/2021/03/01/a-survey-of-concurrency-bugs/", "published_at": "2021-03-01T16:28:49+00:00" }, { "id": "01a0c504-5328-70ef-b4da-af22d4ac63a1", "title": "Stopping Bugs: Code Reviews", "url": "https://covemountainsoftware.com/2020/10/10/stop-bugs-with-code-reviews/", "published_at": "2020-10-10T14:29:17+00:00" }, { "id": "01a0c504-5328-70ef-b4da-af22d56f9f66", "title": "Stopping Bugs: Seven Layers of Defense", "url": "https://covemountainsoftware.com/2020/08/16/stopping-bugs-seven-layers-of-defense/", "published_at": "2020-08-16T22:05:48+00:00" }, { "id": "01a0c504-5328-70ef-b4da-af22d619e8e3", "title": "Extreme Asynchronous Firmware Design", "url": "https://covemountainsoftware.com/2020/07/18/extreme-asynchronous-firmware-design/", "published_at": "2020-07-18T16:13:24+00:00" }, { "id": "01a0c504-5328-70ef-b4da-af22d6ab02b9", "title": "The Anatomy of a Race Condition", "url": "https://covemountainsoftware.com/2020/06/21/the-anatomy-of-a-race-condition/", "published_at": "2020-06-21T20:45:45+00:00" }, { "id": "01a0c516-6282-72a4-b592-318ebcc9d6a5", "title": "Unit Testing of Active Objects and State Machines", "url": "https://covemountainsoftware.com/2020/04/17/unit-testing-active-objects-and-state-machines/", "published_at": "2020-04-17T19:10:52+00:00" }, { "id": "01a0c516-6282-72a4-b592-318ebcdbf4d0", "title": "The Matthew Test: 15 Steps to Better Embedded Software (and Firmware)", "url": "https://covemountainsoftware.com/2020/03/23/the-matthew-test-15-steps-to-better-embedded-software-and-firmware/", "published_at": "2020-03-23T23:12:42+00:00" }, { "id": "01a0c516-6282-72a4-b592-318ebcecf609", "title": "UML Statechart tips: Handling errors when entering a state", "url": "https://covemountainsoftware.com/2020/03/08/uml-statechart-handling-errors-when-entering-a-state/", "published_at": "2020-03-08T22:42:57+00:00" }, { "id": "01a0c516-6282-72a4-b592-318ebddcb7ef", "title": "UML Statechart tip: Be wary of exit-state behavior", "url": "https://covemountainsoftware.com/2020/02/19/uml-statechart-tip-be-wary-of-exit-state-behavior/", "published_at": "2020-02-19T01:48:41+00:00" }, { "id": "01a0c516-6282-72a4-b592-318ebed5829d", "title": "Community + Business == Heartwarming Story", "url": "https://covemountainsoftware.com/2020/01/11/community-business-heartwarming-story/", "published_at": "2020-01-11T16:16:58+00:00" }, { "id": "01a0c516-6282-72a4-b592-318ebf3665c8", "title": "Why I prefer C++: “RAII All The Things!”", "url": "https://covemountainsoftware.com/2019/11/26/why-i-prefer-c-raii-all-the-things/", "published_at": "2019-11-26T23:27:40+00:00" }, { "id": "01a0c516-6282-72a4-b592-318ec02c6e4f", "title": "The Hardest Bug I Never Solved", "url": "https://covemountainsoftware.com/2018/12/27/the-hardest-bug-i-never-solved/", "published_at": "2018-12-27T23:47:32+00:00" }, { "id": "01a0c516-6282-72a4-b592-318ec06c2096", "title": "List of Well Known C++ namespaces", "url": "https://covemountainsoftware.com/2018/11/27/list-of-well-known-c-namespaces/", "published_at": "2018-11-27T16:48:06+00:00" }, { "id": "01a0c516-6282-72a4-b592-318ec08028c5", "title": "How to Write A Great Bug Report", "url": "https://covemountainsoftware.com/2018/05/31/how-to-write-a-great-bug-report/", "published_at": "2018-05-31T18:07:59+00:00" }, { "id": "01a0c516-6282-72a4-b592-318ec172e3a8", "title": "Why I love C++11 for Embedded Software and Firmware (or C++14, or…)", "url": "https://covemountainsoftware.com/2018/02/13/why-i-love-c11-for-embedded-software-and-firmware-or-c14-or/", "published_at": "2018-02-13T17:13:10+00:00" }, { "id": "01a0c521-48c3-73f4-9312-4c355dc96fb5", "title": "Coffee, Empathy, and User Experience", "url": "https://covemountainsoftware.com/2017/11/12/coffee-empathy-and-user-experience/", "published_at": "2017-11-12T23:04:29+00:00" }, { "id": "01a0c521-48c3-73f4-9312-4c355eac533c", "title": "Tenderfoot: Embedded Software and Firmware Specialties", "url": "https://covemountainsoftware.com/2017/08/21/tenderfoot-embedded-software-and-firmware-specialties/", "published_at": "2017-08-21T14:46:18+00:00" }, { "id": "01a0c521-48c3-73f4-9312-4c355f276753", "title": "Tenderfoot: Recommended Reading", "url": "https://covemountainsoftware.com/2017/06/28/tenderfoot-recommended-reading/", "published_at": "2017-06-28T21:15:34+00:00" }, { "id": "01a0c521-48c3-73f4-9312-4c355f480984", "title": "Premature optimization?", "url": "https://covemountainsoftware.com/2017/06/10/premature-optimization/", "published_at": "2017-06-10T20:41:57+00:00" }, { "id": "01a0c521-48c3-73f4-9312-4c356011e3e7", "title": "Tenderfoot: Introduction to Magic (Numbers that is…)", "url": "https://covemountainsoftware.com/2017/05/10/tenderfoot-introduction-to-magic-numbers-that-is/", "published_at": "2017-05-10T16:40:57+00:00" }, { "id": "01a0c521-48c3-73f4-9312-4c3560833e51", "title": "Questions to Ask: Software Architecture, Design, And Coding", "url": "https://covemountainsoftware.com/2017/03/09/questions-to-ask-software-architecture-design-and-coding/", "published_at": "2017-03-09T14:54:06+00:00" }, { "id": "01a0c521-48c3-73f4-9312-4c35617ab46f", "title": "Favorite Tools: C++11 std::array", "url": "https://covemountainsoftware.com/2017/02/27/favorite-tools-c11-stdarray/", "published_at": "2017-02-27T02:47:17+00:00" }, { "id": "01a0c521-48c3-73f4-9312-4c3561aeb295", "title": "Presentation: Real Time Operating Systems Jump Start", "url": "https://covemountainsoftware.com/2017/02/07/presentation-real-time-operating-systems-jump-start/", "published_at": "2017-02-07T19:59:27+00:00" }, { "id": "01a0c521-48c3-73f4-9312-4c3562210461", "title": "Brother, can you spare a GPIO?", "url": "https://covemountainsoftware.com/2016/12/27/brother-can-you-spare-a-gpio/", "published_at": "2016-12-27T02:23:48+00:00" }, { "id": "01a0c521-48c3-73f4-9312-4c35625ebeff", "title": "Favorite Tools: C++11 User-defined literals", "url": "https://covemountainsoftware.com/2016/11/14/favorite-tools-c11-user-defined-literals/", "published_at": "2016-11-14T04:10:06+00:00" }, { "id": "01a0c52c-9632-70dc-b079-78b39f8b18b3", "title": "“It makes engineers more productive.”", "url": "https://covemountainsoftware.com/2016/11/07/it-makes-engineers-more-productive/", "published_at": "2016-11-07T08:00:48+00:00" }, { "id": "01a0c52c-9632-70dc-b079-78b39fb8c1d8", "title": "Experiences with the Linux Real Time Scheduler", "url": "https://covemountainsoftware.com/2016/11/05/experiences-with-the-linux-real-time-scheduler/", "published_at": "2016-11-05T18:44:53+00:00" }, { "id": "01a0c52c-9632-70dc-b079-78b3a0a1bb9a", "title": "Cellular IoT Firmware Challenges – embedded.com article", "url": "https://covemountainsoftware.com/2016/10/28/cellular-iot-firmware-challenges-embedded-com-article/", "published_at": "2016-10-28T15:57:34+00:00" }, { "id": "01a0c52c-9632-70dc-b079-78b3a155378a", "title": "Favorite Tools – Look Up Tables", "url": "https://covemountainsoftware.com/2016/10/24/favorite-tools-look-up-tables/", "published_at": "2016-10-24T07:00:53+00:00" }, { "id": "01a0c52c-9632-70dc-b079-78b3a1f7d7fb", "title": "Who Owns Your Property?", "url": "https://covemountainsoftware.com/2016/10/14/who-owns-your-property/", "published_at": "2016-10-14T01:33:43+00:00" }, { "id": "01a0c52c-9632-70dc-b079-78b3a23de46c", "title": "Favorite Tricks: Static Assert", "url": "https://covemountainsoftware.com/2016/09/26/favorite-tricks-static-assert/", "published_at": "2016-09-26T08:00:03+00:00" }, { "id": "01a0c52c-9632-70dc-b079-78b3a32c7696", "title": "Battery Life: GPU versus CPU", "url": "https://covemountainsoftware.com/2016/09/08/battery-life-gpu-versus-cpu/", "published_at": "2016-09-08T01:39:19+00:00" }, { "id": "01a0c52c-9632-70dc-b079-78b3a416d6b9", "title": "Presentation: Event Driven Software and Statecharts", "url": "https://covemountainsoftware.com/2016/08/31/presentation-event-driven-software-and-statecharts/", "published_at": "2016-08-31T16:29:15+00:00" }, { "id": "01a0c52c-9632-70dc-b079-78b3a483ebcb", "title": "Presentation: Courage! TDD and Embedded Software", "url": "https://covemountainsoftware.com/2015/10/06/presentation-courage-tdd-and-embedded-software/", "published_at": "2015-10-06T16:21:29+00:00" }, { "id": "01a0c52c-9632-70dc-b079-78b3a5478d68", "title": "Presentation: Qt5 with a Dash of C++11", "url": "https://covemountainsoftware.com/2015/01/06/presentation-qt5-with-a-dash-of-c11/", "published_at": "2015-01-06T16:18:09+00:00" }, { "id": "01a0c537-64c0-70fe-9f2d-955638f51d18", "title": "Read the Check-Ins", "url": "https://covemountainsoftware.com/2014/09/21/read-the-check-ins/", "published_at": "2014-09-21T15:36:51+00:00" }, { "id": "01a0c537-64c0-70fe-9f2d-9556392ad744", "title": "Microsoft is wrong", "url": "https://covemountainsoftware.com/2014/08/31/first-blog-post/", "published_at": "2014-08-31T01:06:30+00:00" } ] posts Claim your blog
Back to covemountainsoftware.com
Blog · corpus.blog/blogs/covemountainsoftware.com/posts

covemountainsoftware.com

covemountainsoftware.com

2026

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015

2014