Cedux: Experimenting with the Redux Model in C

The world of embedded software development can feel like a very isolated place. Earlier in my career, when I was doing mostly embedded work, I remember often feeling jealous of my colleagues who were working on mobile and web applications. I would constantly hear them talking about exciting new libraries, frameworks, and tools with catchy names that supposedly made their lives easier. I was saddened by the lack of excitement and advancement of tools for those of us writing C. Read more on Cedux: Experimenting with the Redux Model in C…

Adding an OLED to Your Particle Device

Anyone who knows me very well could probably tell you that I’m a pretty big fan of Particle, a provider of hardware and software components for building internet-connected products (IoT). I love their product suite because they have abstracted the common functions of IoT products into easy-to-use components while still allowing access to all the nitty-gritty details for those of us who need to get down to that level. Read more on Adding an OLED to Your Particle Device…

An Immutable Asynchronous State Holder in C#

Managing state in a clean way is probably one of the most challenging aspects of many software projects. When using asynchronous programming technologies such as .NET’s async/await functionality or the Reactive Observable pattern, the problem of state management is exacerbated and often becomes a source of errors.

In several projects that I have worked on over the last few years, we instituted a StateHolder class that eases the burden of managing state. Read more on An Immutable Asynchronous State Holder in C#…

Creating Strong, Successful IoT Products with Holistic Development

Internet of Things devices are valuable because they bring together physical objects, apps, and the cloud. That’s also why they’re extremely difficult to build successfully. All the different pieces of an IoT system have to work seamlessly together, and they have to provide a smooth, successful user experience.

Read more on Creating Strong, Successful IoT Products with Holistic Development…

A Simple Message Queue for C

Let’s face it, when you’re doing embedded development, you really don’t have a lot of great tools at your disposal. If you’re lucky, you might have a C99-compliant compiler and a microcontroller with floating-point hardware and DMA. If you’re unlucky you might have a microcontroller that doesn’t actually have a stack and a compiler that doesn’t support using structures as function arguments!

Read more on A Simple Message Queue for C…

Building an Alexa Skill as a Web Service on Heroku

I love playing around with new technologies; I am truly a tinkerer at heart. As a consultant and custom software developer, I frequently have to answer questions like, “What does this latest iOS update mean for our app? Can we leverage any new features?” or, “What benefits can we gain from this new Bluetooth standard?” Keeping up with the latest languages, platforms, IoT gadgets, etc., can be a daunting task, but it can also be really fun if you take it in small bites. Read more on Building an Alexa Skill as a Web Service on Heroku…

Five Crucial Steps For Writing a Mobile App For a Bluetooth Device

Writing an app that communicates with a Bluetooth device can be very challenging. These days, apps tend to do a lot of work behind the scenes, such as syncing data, updating firmware, etc., without the user knowing about it. When something goes wrong with a process that is not directly visible, it can be quite difficult to detect it and figure out what is causing it.

I have worked on a handful of such apps now, and along the way, I have picked up a few best practices that I believe make the process go much more smoothly.
Read more on Five Crucial Steps For Writing a Mobile App For a Bluetooth Device…

Elegant Form Validation Using React

Over the past few months, I’ve really been enjoying learning to use React for front-end web development. I love how React encourages you to write clean code by breaking your presentation components into small chunks that are easy to reuse.

Lately, I’ve been working on an approach to add form validation to React components, and I’d like to share what I came up with.
Read more on Elegant Form Validation Using React…

IoT Made Easy by Particle

I love the Internet of Things (IoT) uprising that is happening right now. I mostly spend my days writing software, but my degree is in electrical/computer engineering, so IoT technologies combine a lot of things that I am interested in.

When the Raspberry Pi first came out, I got very excited and immediately began building my first IoT device. It was a lot of fun, but I quickly discovered that making an IoT product is really hard and requires a lot more work that I had initially thought.

A few years later, I was delighted to find that a company called Particle is trying to make the lives of people like me much easier. Particle is revolutionizing the world of IoT by building infrastructure that supports taking a product from prototype to mass production with minimal time and effort.
Read more on IoT Made Easy by Particle…