Building a Lightweight, Arduino-friendly Communication Protocol

On today’s episode of “Adventures in C++”: sending commands between two Arduinos running the same software. Not just data, but also instructions on how to process and execute that data. Even more, these commands have to be small enough for each Arduino to package, send, receive, unpack, and execute in less than 1/10th of a second.

Continue reading “Building a Lightweight, Arduino-friendly Communication Protocol”

A Functional Alternative to std::function

UPDATE: Shortly after posting this, I switched to a different method using a custom data serialization protocol, which you can learn more about here.

One of the coolest things about C++ is how flexible the language is. If you’re faced with a problem that has no apparent solution, chances are you’re just not approaching it from the right angle.

Continue reading “A Functional Alternative to std::function”

Adventures in Desktop Application Development

When I first started this blog, I was just dipping my toes back into the world of C++. Before that, my experience with it was mostly academic, and after struggling through a course with a particularly poor professor I swore off it in favor of VB.NET. No, I never did forgive myself for that decision, but it ultimately helped me learn to appreciate the importance and relevance of C++. And after tinkering with systems that use C++ exclusively, I’ve come to appreciate it even more.

Continue reading “Adventures in Desktop Application Development”

The Appliancification of Computing

There’s a movement underway to transform the way we interact with personal computers. As computers become more automated and more intelligent, consumers are losing access to the software that makes them tick. The emphasis is moving away from computers as a platform and closer to computers as an appliance. What does this mean for end-users, and what does it mean for the future of our digitally dependent society?

(Featured image courtesy of NetBSD and Jeff Rizzo)

Continue reading “The Appliancification of Computing”