May 11, 2018

Docker without sudo

Simple, handy and effective.

It can become tiresome to precede every docker command with sudo. Adding oneself to the docker group can avoid that.

April 15, 2018

Gitlab CI Advanced Use Tips

Items for advanced GitlabCI use.

While for the most part the Gitlab CI Runner documentation is great, there are a few options that aren't as known that are useful for more advanced use or requirements.

March 23, 2018

Jenkins Agent Service

Getting Jenkins to run automatically on boot.

While this can be reapplied more broadly, this is specifically about getting the Jenkins agents to run automatically on boot, for both Linux and Windows.

March 06, 2018

Disk Passthrough for KVM and VMM

Just a little note for those who could use it.

Through just the Virtual Machine Manager UI, there's not a real way to perform plain disk passthrough to a virtual machine. However, to perform a disk passthrough isn't all that hard with just a tweak to a file.

February 01, 2018

Integrating sanitizer tools to CMake builds

Even more tools at your fingertips. What's not to like?

Previously we added tools for code coverage and static analysis via clang-tidy. Now comes the ability to perform better runtime testing through GCC and Clang's sanitizer tools, and integrating them with CMake.

January 15, 2018

Adding C++ code coverage with CMake and GCC or Clang

CMake and code coverage statistics. For the data nerds.

Code coverage gives the ability to determine which sections of code are used, and how much, helping to prevent issues from sections of code that aren't run during tests and thus could potentially fail in production.

January 01, 2018

Integrating clang-tools with CMake

CMake and clang-tools. A match made in heaven?

The clang tools, clang-format and clang-tidy can be immensly useful, both for software development on local machines and as passes in a CI pipeline. This is especially true when they are integrated into a CMake script, where new targets 'format' and 'tidy' can be exist.

June 25, 2017

Fixed Point Precision Type

Because sometimes floats are not enough.

One of the most valuable basic types in computer science is the floating point type. The float is that allows for a massive range of storable values, at the cost of some precision after the value becomes large enough, due to the fact that floats can only store ~7.2 decimal digits. Thus, if we wish to keep a certain fixed amount or precision, we need to either put coded limits around the use of particular floats, or just create our own fixed point type.