programming

C++ Concurrency and Utilities

I have been reading Bjarne Stroustrup’s “A tour of C++” recently and wanted to make notes on it’s last section: Concurrency and utilities Below are my notes. Resource Management It is important that a program doesn’t leak resources. This may cause security vulnerabilities, as much as program efficiency drop by orders of magnitude. To ensure resources are correctly used, we can handle them using the RAII (Resource Aquisition Is Initialization) technique.
Read more

C++ Container Mechanisms

Below are my notes on section 3 of “A tour of C++” Libraries The C++ standard library provides several facilities to the programmer, in order to simplify the given task. These include: Basic Runtime Language Support C standard Library Strings and I/O streams Framework of containers Support for numerical computation Support for REGEX matching Support for Concurrent processing Utilities to sopport template metaprorgamming Smart pointers Special-purpose containers Strings String concatenation is efficient given it has a move operator.
Read more

C++ Abstraction Mechanisms

I have been reading Bjarne Stroustrup’s “A tour of C++” recently and wanted to make notes on the different types of abstraction mechanisms available to the programmer. Below are my notes. Concrete Classes The basic idea of Concrete Classes is that they behave just like built-in types. It’s representation is part of it’s definition. This allows implementations to be optimally efficient in time and space. It defines the behavior of it’s member functions in full.
Read more

MediumImporter

Some background I would like to import the articles I write for my personal website directly into my medium account. This is something I thought Medium would have as a feature, but it seems it doesn’t. Searching on-line I came across medium’s own API and was surprised to see that their own API supported uploading a file formatted with Markdown so I decided to use their Go SDK to create my own importer script and learn go in the process.
Read more