Selectively composing classes with constexpr functions, SFINAE, and parameter-pack driven private-inheritance in C++17 (Part 1)
This blog post was inspired by a use-case I encountered in an open source project where the developers wanted to offer different functionality depending on whether the product being offered was an enterprise offering versus a community offering. Under normal circumstances, preprocessor defines were used to separate functionality. However, when certain combinations of behavior were…
Informal Latency Benchmark for Redis GET/SET using redis_cpp
(From the half-baked-benchmarking-department in conjunction with the I-should-stash-the-results somewhere department…) Benchmarking is serious business on the internet — you don’t want to misrepresent anyone and their hard work on any given product. That having been said, sometimes I just want ballpark values for a “lazy” estimate on what kind of numbers I’d get with a crude…
Beat Detection: A Raspberry Pi Hacking of Hallmark’s “Happy Tappers”
In graduate school, time series analysis was the topic I liked the most. The classic models (like AR(p), MA(q), ARMA(p,q), etc.) are used usually after time series have been sampled in some fashion. Of course, there’s more than one way to look at a time series and many of those perspectives come from the field…
C++ Reading List
In the past, I’ve paid for various libraries (such as Anthony Williams’ excellent just::thread library ) and C++11 documents to make an attempt to get ahead of the curve. Now, however, C++11 information is becoming more easily accessible. There is quite a bit of new content out there that is making things more digestible for…
C++11 Idioms Slideshow from Silicon Valley Code Camp
I stumbled across this very nice presentation (see below) by Sumant Tambe on C++11 idioms on Google+ and figured I’d stash a link here. I try to integrate as much C++11 as I can into my projects where I think there would be benefit. However, without reading the C++ programming community’s input on various programming…
C++, WebSockets, and Mt.Gox
I’ve been reading quite a bit about websockets lately. To test my understanding of the concepts involved, I was trying to connect an application to Mt.Gox in order to collect bitcoin-related pricing information. I was having some difficulty getting all of the parameters aligned properly with all of the various websocket libraries, so I went…
Merkle Trees
The paper detailing the mechanics of Bitcoin is a fascinating read. However, the technology involved requires several re-readings of the paper to make sense of what is going on. I’ve been attacking the concepts piece by piece as time permits. In particular, the Bitcoin paper’s comments regarding the use of the Merkle Tree caught my…
Qt 5.1 Supports Android and iOS
I didn’t plan on writing marketing material for Digia here. However, as an existing Qt user, I was excited to see this article. The ability to target Android and iOS will make it easier to take pieces of functionality I am dependent on currently and take them to new platforms. I’ve often wanted to collapse…