[Arduino] JSON library 5.0

I'm proud to announce a new major version of ArduinoJson, my open-source JSON library for embedded software. It's designed for systems with limited resources, supports both encoding and decoding, and has a simple and elegant API. ArduinoJson 4 has become very popular and the feedback was very positive. However, it…

READ MORE

[Arduino] View code size and assembly code

While developing ArduinoJson, I've always been obsessed with code size. Arduinos have such a small amount of Flash (32KB for a Duemilanove) that every byte is important. Here are two techniques that I use. I tested them on Windows for the AVR platform, they can probably be adapted to other…

READ MORE

[Azure] Temporary disk on a FreeBSD VM

The FreeBSD image on VM depot works great but lack an essential feature: the temporary disk of the virtual machine is not mounted! How to mount disk once The VM temporary drive is formatted in NTFS, so we need to install NTFS driver: # pkg install fusefs-ntfs Then load the driver:…

READ MORE

[PHP] Compile an extension on Windows

I recently wrote a PHP extension and while the documentation is very clear on how to build it on Linux, there is not so much information on how to compile an extension on Windows. This article explains how to build a PHP extension with Visual Studio. Requirements This guide assumes…

READ MORE

[Arduino] JSON library 4.0

Arduino JSON is an elegant and efficient JSON library for embedded systems. Today I'm releasing a new major revision with a lot of cool stuff. A bit of history When I originally wrote this library in early 2014, I only needed a JSON parser and I thought that sprintf would…

READ MORE

[SublimeText] Highlight build errors

I love Sublime Text, but coming from Visual Studio, the number one thing that annoys me is that errors in the source files are not highlighted. Sure, I could use SublimeLinter and tweak it until it works fine, but why rely on a linter? The errors are right here! in…

READ MORE

[C#] Concurrency cheat sheet

The .NET Framework provides a ridiculous number of solutions to deal with concurrency. You probably know the lock statement or the ManualResetEvent class, but you'll see that there are many more options. Life is always easier when you choose the appropriate tool, so you'd better know what's available. This article…

READ MORE

Free e-books from Syncfusion

Syncfusion kindly provides free e-books on various programming topics. That's very nice of them, but the way their site is designed makes it extremely difficult to download all the e-book in one shot. I had to create a Chrome Content Script (source code here) to get extract the links. In…

READ MORE