Category Archives: C++ for the self-taught

Tutorial posts on C++

Run-time composed predicates and Code generation

While working on Arachnida, preparing version 2.2 due out this fall, one of the things we’ll be introducing is a hardened OpenSSL transport-layer-security plug-in, to replace the one we’ve had for the last seven or so years. One of the … Continue reading

Posted in C & C++, C++ for the self-taught, Software Design | Comments Off

What happens if structures aren’t well-designed

In my previous post, I explained how to design a structure for persisting and communicating. I didn’t say why I explained it — just that things get frustrating if these simple rules aren’t followed. In this post, I will tell … Continue reading

Posted in C & C++, C++ for the self-taught, Embedded software development, Software Design | Comments Off

How to design a struct for storage or communicating

One of the most common ways of “persisting” or communicating data in an embedded device is to just dump it into persistent storage or onto the wire: rather than generating XML, JSON or some other format which would later have … Continue reading

Posted in C & C++, C++ for the self-taught, Embedded software development, Software Design | 5 Comments

Hidden complexity

It really surprises me sometimes how much you can have to explain about simple things.

Posted in C++ for the self-taught, Software Engineering | Comments Off

Setting up a new skeleton: re-factoring

Before we go much further with our SOCKS server, we should do a bit of cleaning up in the project: we’ll move the Server and Observer classes to their own library, so we can more easily re-use them, and we’ll … Continue reading

Posted in C++ for the self-taught | Comments Off

Sleep(…)

For those of you waiting for the next installment of “C++ for the self-taught”: I’m on parental leave at the moment. The podcast (and the rest of the blog) will be back in a few weeks.

Posted in C++ for the self-taught, This blog | Comments Off

Chausette: Starting to proxy

In the previous installment, we started to echo the data we received back to where it came from. That’s all fine and dandy, but it isn’t really all that interesting. In this installment, we will set up a pair of … Continue reading

Posted in C++ for the self-taught | Comments Off

Chausette: Starting to echo

The last time we looked at the code for Chausette, before we went on a tangent about functional programming, we were working on a bit of example code that could accept a TCP connection and output to the console whatever … Continue reading

Posted in C++ for the self-taught | Comments Off

A few final words on functional programming

The previous two installments of C++ for the self-taught were both about functional programming. Before we get back to Chausette, I’ll put in a few final words on the topic, combining both run-time functional programming with compile-time functional programming and, … Continue reading

Posted in C++ for the self-taught | Comments Off

Functional Programming at Compile-Time

In the previous installment I talked about functional programming a bit, introducing the idea of functors and lambda expressions. This time, we will look at another type of functional programming: a type that is done at compile-time.

Posted in C++ for the self-taught | Comments Off