Thoughts on AutoDrumatic and Alternative Music Production Software

An important part of this sabbatical is not just studying books, blog posts, other's code, C++ disassembly, etc, but also to put newly learned skills to practical use. This was partially the reason I started working on AutoDrumatic (mentioned and demonstrated in previous blog posts here and here).

Date: January 27th, 2017 at 2:14pm
Author: Terence Darwen
Tags: AutoDrumatic, Audio Software, Cross-Platform Development, Sabbatical

Using a 16 Bit DAC with the Tiva LaunchPad (ARM Cortex-M4) - Video Included

I've figured out how to interface my Tiva LaunchPad with a better quality DAC (digital to analog converter). You might recall from an earlier blog post that I was using a simple 8 bit DAC made from a handful of 22K resistors that sounded, well, less than optimal. I'm now using a 16 bit integrated…

Date: January 19th, 2017 at 7:41pm
Author: Terence Darwen
Tags: Embedded, Tiva LaunchPad, TM4C123G, ARM-Cortex-M4, 16 Bit DAC, Sabbatical

A Close Look at a Visual Studio 2015 Generated V-Table (C++)

As I mentioned in an earlier blog post on analyzing disassembly, it's sometimes really helpful to know what exactly is happening at the machine level of C++ code I write. This includes knowing how the vtable works.

Here's a really simple class structure for the sake of investigation. We have an in…

Date: January 17th, 2017 at 3:44pm
Author: Terence Darwen
Tags: C++, virtual function table, vtable, Visual Studio 2015, Sabbatical

Rereading Classic C++ Books

Last month I'd been looking for books to help me get better at C++ template metaprogramming. The book "Modern C++ Design" by Andrei Alexandrescu continually came up in searches. I originally passed on it since it was written in 2001.

I was hoping to find a book written post-C++11; a book that inco…

Date: January 8th, 2017 at 9:33pm
Author: Terence Darwen
Tags: Book Review, C++, Reading Material, Sabbatical

Analyzing Disassembly of C++ Executables

Sometimes it's really useful to be able to see exactly what's happening behind the scenes of the C++ code I write. I've been spending some time on my sabbatical doing this.

One thing I sometimes do is check the results of compiled template metaprogramming code. This is code that generates results…

Date: December 28th, 2016 at 3:04pm
Author: Terence Darwen
Tags: C++, Assembly Language, Assembly Code, Disassembly, Sabbatical