I've worked on many projects where sensitive information is stored in a git repository. This includes SSH keys, SSL private keys, API keys, passwords, and client secrets. This practice is easily labelled Not Good. You might be thinking, "Why should I worry? Our GitHub repository is private, and only our team can access the secrets!" …
Continue reading "Safely Storing Secrets in Git"
I tend to follow a fairly traditional git development flow. When I am working on a new feature or a bug fix, I will make a branch and commit changes as I progress. I often just quickly commit incremental changes and make brief notes on my logic for that chunk. I like to clean up …
Continue reading "Code Cleanup: Splitting Up git Commits In the Middle of a Branch"
I recently opened my Macbook to start working on a few personal projects, and suddenly I noticed that all of my projects were failing to compile. I was pretty surprised - I'm not one to leave my master branch in a broken state! I finally paid attention to the problem the compiler was complaining about: …
Continue reading "Missing headers after an OSX Update? Try this!"
I came across a situation recently where I needed my Jenkins user to be able to run commands as sudo. I have a job that is scheduled nightly to install and update dependencies prior to running my builds. Since apt-get needs to be run with sudo, I needed some way to workaround the password input …
Continue reading "Jenkins: Running Steps as sudo"
7 August 2017 by Phillip Johnston • Last updated 28 September 2019 Welcome to the August 2017 edition of the Embedded Artistry Newsletter! This is a monthly newsletter of curated and original content to help you build better embedded systems. This newsletter is intended to supplement the website. This month we’ll be covering: MAX17055 – a new fuel gauge chip from MaximThe Bluetooth 5 standard and changes to the PHYProcessors and development kits that support Bluetooth 5The new Bluetooth Mesh standardSDKs that support Bluetooth MeshA handy trick for when you can’t read the part numbers on a chip MAX17055 – …
Continue reading “August 2017: Bluetooth Edition”
A few months ago I started noticing that after I rebooted my computer, I was suddenly being prompted for my SSH key password every time a process used the key. For some programs this was acceptable, but once you start utilizing git with git-lfs, you probably give up in frustration before you finish typing your …
Continue reading "Is OSX Asking For Your SSH Password? I Have a Simple Fix!"
I learned recently that you can control the number of characters that printf will show for a string using a precision specifier (assuming your printf implementation supports this). There are two ways to approach string-limiting. The first method specifies the number of characters to print inside the format string itself: // Only 5 characters printed …
Continue reading "printf a Limited Number of Characters from a String"
Many useful FTDI-based debugging devices exist for those of us working in the embedded world. These devices are extremely useful and provide JTAG and SWD capabilities, as well as acting as I2C, SPI, or Serial protocol converters. With an FTDI debug tool, you can use your host machine to debug and interface with a variety …
Continue reading "OSX: Getting Pesky FTDI Debugging Devices to Work"
I was working with the Particle electron recently, and I quickly grew tired of having to press buttons to enter DFU mode. A little bit of searching led me to discover that you can change modes by connecting to the USB serial port with a specific baud rate. (I was unable to find this mentioned …
Continue reading "Particle: Changing Operating Modes using Baud Rate"
USB-enabled products all have a Vendor ID (VID) and Product ID (PID) that are used as a unique identifier for that device. When writing USB device drivers, the PID/VID combination is used to determine which driver to load to communicate with the device. In order to get a VID for your organization or product, you …
Continue reading "USB IDs for Open Source Projects"