Monday 22 May 2017

Toggle a value and initialize it from a stream with RxJS

This week I faced a somehow simple issue while coding an RxJS/CycleJS application: How to toggle a value and set its initial value via an observable. The use-case is the following one: I have a value that I want to toggle to enable or disable a feature of the application. However, I want the default value to be configurable via a URI parameter.

Continue reading...

Thursday 23 March 2017

The UI Strikes Back

Almost 4 years ago, I thought than after the good adoption rate of edLeak from my colleagues, they would love to have a python API to write their own script. Unfortunately, the success has been... very disappointing.

Continue reading...

Wednesday 8 February 2017

Google Cast Protocol : Receiver Authentication

Hello everybody. I am back writing after a long break due to unexpected personal events followed by a busy period working on edKit and smart home. However here is the third article of this series on the GoogleCast protocol. This one will cover what I consider being the most intriguing part of the protocol : The receiver authentication.

Continue reading...

Monday 5 September 2016

Google Cast Protocol : Discovery And Connection

The first article of the series explained the principles of the google-cast protocol, and the technologies that it uses. In this second part, we will see how the receiver device is discovered, and how the sender device connects to it.

Continue reading...

Monday 4 July 2016

Google Cast Protocol: Overview

Since the availability of the Chromecast in 2013, and the public release of its SDK in 2014, only few information was published about the protocol used by this device: Google Cast. This article is the first of a series that will explain the technical aspects of this protocol. So let's dive into the wonderful and dark world of Google Cast.

Continue reading...

Monday 6 June 2016

edKit In Action

it is quite hard to feel how edLeak and edVent simplify some tasks that otherwise can take several hours or even days.

Continue reading...

Monday 2 May 2016

Running Tests On A target Connected With NFS

When working on an embedded system a usual setup is to export the rootfs via NFS. If you run the unit tests on the target or the functional tests while developing, then maybe you run them manually on the target console. Today I will show how to easily run them from the host so that you can retrieve the tests results directly in your code editor.

Continue reading...

Monday 4 April 2016

Debugging State Machines With Scatter Plots

States machines are everywhere, used in all programming languages. Some people are fond of them, and others hate them. They may be easy to read or very cryptic, and most of the time they are not easy to debug. I will show you today how to improve this last point in your code.

Continue reading...

Monday 7 March 2016

How To Mangle And Demangle A C++ Method Name

When developing in C++ a usual task is to demangle the name of a C++ method to pretty-print it. Sometimes one also need to achieve the opposite conversion. This article explains some ways to do this, depending on whether you need a dynamic or static conversion.

Continue reading...

Monday 1 February 2016

Using Atom For C++ And Embedded Development

I recently discovered Atom, a code editor developed by GitHub. When a friend showed it to me last year I must admit that I made fun of him : It was still at an early stage, quite slow, and really buggy. But since that time its development was really fast. So I decided to try it seriously two months ago, and something incredible happened: After 15 years of addiction to vim, I switched to Atom within 2 weeks.

Continue reading...

Monday 4 January 2016

One Year Of Smart Home

One year ago, I announced the start of new smart home project project, and detailed the motivations and aims of it. This year was a busy one and a lot of parts of this project have evolved. It also now has a name.

Continue reading...

Monday 7 December 2015

A device must study to know, know to understand, understand to judge

Now that the foundations are done, my home automation system has to study before it hopefully becomes smart one day. This was the part I worked on lately.

Continue reading...

Monday 2 November 2015

Implementing A Distributed DVB Stack With HeliosTv

The GStreamer conference 2015 occurred last month. I was present this year again. It was the occasion see what is coming in the next releases and meet people that do various things with GStreamer. Moreover I presented a project that we started earlier this year at SoftAtHome : HeliosTv.

Continue reading...

Monday 5 October 2015

GStreamer Conference 2015

This year the GStreamer conference will occur at Dublin, Ireland, the 8th and 9th October. I will attend this year again, and I will present a new project that we started during the last months at SoftAtHome : HeliosTv.

Continue reading...

Monday 7 September 2015

Using a MacBook Pro for desktop usage and development

8 months have now passed since I bought a macbook pro. While this switch was considered as silly by some fellows, it has proven to be a good choice, even for linux embedded development. If you also consider such a move from Linux to MacOs X, this article will explain you some good and bad things to expect.

Continue reading...

Monday 3 August 2015

Measuring Mobile Network Latency - A First Attempt

I have been using the mobile application of my smart home system for several months, and the latency fear has come true : Connecting to the XMPP server from a mobile network can be very slow. Here is a first attempt to understand why, and how this may be improved.

Continue reading...

Monday 6 July 2015

A Distributed Unique Id Generator For Embedded Systems

Generating an id is a usual task when coding. Depending on the project, these ids can be internal to a component, shared inside a process, shared between several process, or even shared between several systems. A usual use-case in embedded development is generating ids to expose objects via IPC or RPC. This article details a solution to this task on linux, based on a distributed algorithm.

Continue reading...

Saturday 30 May 2015

Flock now supports Somfy RTS

I recently added an initial support of the Somfy RTS protocol in Flock. Thanks to the rfxcom RFXtrx433e device, this was quite easy. For now only pairing a device and open/close commands are supported. This means that you can now control your blinds or gates with flock. Implementing this protocol required fundamental changes to the original design of Flock.

Continue reading...

Sunday 3 May 2015

Why XMPP is the most relevant messaging protocol for IoT and home automation platforms

Choosing a protocol to communicate between a platform and some clients is not an easy task. Depending on the type services that are exposed, the features of the clients, and the operating system running on the clients, there are many choices available. Still when you look at all existing protocols and standards, you will probably end up to the conclusion than none of them is exactly matching your needs. Then you either have to develop your own solution or use the one that has most of the features you need.

Continue reading...

Friday 10 April 2015

One time for the leakers, double up for the callers

EdLeak tracks only one level of callers on the allocation functions that are monitored. This allows to limit as much as possible the monitoring overhead. However sometimes this is not enough to easily find the origin of the memory leak. This is why it is possible to trace the call-stack of leaks. This feature is available in EdLeak since a long time but I never explained how to enable it and use it. After reading this article you will be able to use it when needed.

Continue reading...

- page 1 of 2