Useful Software References
Blogs, News, and Periodicals
Here are some blogs and news sites that you can use to stay up to date on programming and embedded systems:
- Meeting C++ - A collection of C++ articles from around the web. Updated weekly.
- Meeting Embedded - A collection of embedded systems articles from around the web. Updated weekly.
- Embedded in Academia - John Regehr's Blog, a great resource on undefined behavior and compilers
- LLVM Project Blog
- Ganssle Group - Jack Ganssle's website. Jack has graced the world with his wisdom, and I highly recommend reading everything he has written. He also puts out the Embedded Muse newsletter (also highly recommended).
- Embedded Gurus - A collective blog run by a few embedded professionals. This blog was previously very active, but now is much quieter. However, it remains a useful reference and there are many great articles.
- Simplify C++ - Arne Mertz's C++ Blog
- foonathan::blog() - Jonathan Müller's C++ Blog
- Bartek's Coding Blog - Bartek's C++ Blog
- Fluent C++ - Jonathan Boccara's C++ Blog
Embedded Systems Newsletters
- The Embedded Muse - Jack Ganssle's long-running firmware newsletter
- The Firmware Update - A newsletter run by the Barr Group
General Software Development
- A Successful
- Apple Open Source Software - Archive of Apple Open Source software
- Atoms of Confusion - an interesting study on programming concepts that confuse readers and how to make them less confusing
- Crontab Help - for figuring out what your crontab schedule lines should be
- Epoch Converter - I find myself referring to this site quite often during bringup and debugging
- Learn TLA - If you're working on an algorithm or want to improve your software architecture chops, check out TLA+, a model checking language.
- ISO C++ Website
- ISO C++ Core Guidelines
- Awesome Modern C++ - Collection of awesome modern C++ educational resources. Check it out!
- Modern C++ Features Cheatsheet - A handy cheatsheet breaking down new features in C++11, C++14, and C++17
- C++ Best Practices - a "Collaborative Collection of C++ Best Practices". It's a highly valuable source for modern software development with C++ and general considerations of good C++ code. This general considerations include the safety, maintainability, portability, threadability, and performance of the code.
- C++11: A Visual Summary of Changes
- C++ Concurrency Cheatsheet
- C++ Regex Cheatsheet
- Modern C++ Features
- Learning C++ Best Practices (O'Riley Ebook)
- Introductory Modern C++ Course Notes (IFS) - Very helpful set of course notes introducing you to C++
- Advanced Modern C++ Course Notes (IFS) - Continuation from the introductory course
- C++ Guru of the Week Series - A series of C++ programming problems created by Herb Sutter
OS & Embedded
- Bithacks - An excellent resource for bit manipulation routines. This code is in the public domain and is used in a variety of projects I've worked on.
- OS Development Wiki - wiki for diving into low-level operating-system concepts and OS design.
- Microcontroller Tips
- Apple Concurrency Programming Guide - Introduces the concept of dispatch queues and provides advice for migrating away from threads.
- Clang C++ Status - Check in and see what new / experimental C++ features are currently supported by
clang. Also a great way to learn about new features that you may not be aware of yet.
- Fucking Clang Warnings - You may not always be sure what the warning name is for some of the stranger
clangwarnings. This guide will help you.
- Getting Started
- Using Jenkins
- Cloudbees Documentation - a useful resource to turn to when you have Jenkins problems