The M2MP protocol

Moved to github This has been moved to github. Still as a backup: Motivations Transmit and receive in real-time Transmit as few data as possible Send and receive any kind of data Basics So the basic ideas are to : Keep a TCP connection open all the time by sending regular keep-alive frames. Define named channels that are only transmitted once (to reduce data consumption) Send byte array, and two-dimensionnal byte arrays on these channels We rely on the TCP protocol for packet checksuming, packet ordering and every little things it does very well We send these kind of frames : ...

December 12, 2009 · Florent Clairambault

TC65 : Settings management

Someone recently asked me and the javacint group how we should handle settings. So I’ll give you two answers : ejw’s reply : You should use some simple DataInputStream and DataOutputStream objects. Mine : If you only store simple values (numbers and text), you should use a simple text file. It enables you to easily see and modify settings outside the TC65. So, my little gift of today will be a simple settings management class. The idea is that this file is in a very simple format (that can be read in any PC) and it only stores settings that have changed. This is very important, it allows you to change the default behavior at next software update but also enable you to override some of the settings for each chip (like the last IMSI identifier of the SIM card). ...

December 11, 2009 · Florent Clairambault

Google Chrome Browser & OS

The browser I’ve always been on the Bêta version of Google Chrome. And the current bêta (soon to be stable I guess) now supports plugins, the most interesting ones are AdThwart which blocks ads and Gmail Checker which displays the number of received mails. Making some chrome extensions seems to be really easy, it’s entirely based on javascript. The other very interesting thing is the developper tools. They are very close to Firebug, it’s now really easy to debug JS and CSS within Chrome. ...

December 9, 2009 · Florent Clairambault

Ajax Push Engine 1.0 released

I’m quite unlucky because I’ve downloaded the APE BETA5 just before they (I mean Anthony Catel) released the 1.0. The quite interesting part is that it fixes all the bugs I’ve talked about sooner. So we could say my last post won’t be very useful to anyone. Still, if you want to compile APE on CentOS x64, you have have to edit the modules/Makefile file and add the -L/usr/lib64/mysql command arg. It will give you something like that : ...

December 8, 2009 · Florent Clairambault

WP Codebox Quick fix for WordPress 2.9

This bug has been fixed ! I like to have the latest version of WordPress, this is why I use the SVN version. And recently the CSS of the “WP Codebox” plugin stopped working. Here the explanation and the solution : It seems that starting with the 2.9 version, you can register the styles in the wp_print_scripts action method. So in the wp-codebox.php file, you have to put this : ...

December 7, 2009 · Florent Clairambault

Ajax Push Engine 1.0 Beta 5

I talked quickly about APE in a recent post. I recently downloaded a new version of their program and I’ve installed it successfully and it works much better. Since the first released verison, it has become quite easy, you just have to launch “./build.sh”. I had some problems with the linker on my CentOS system and the mysql libraries. But I solved it by added “-L/var/lib64/mysql” to some line of the Makefile. ...

December 6, 2009 · Florent Clairambault

Show process being started on Windows

You might want to see what commands are executed by the system or the applications you use. Take Process Monitor Go to Menu “Filter” / “Filter”, click “Add” and select for the added item : “Operation”, “is”, “Process Start”, “Include”, click on “OK” You see a list of all the newly started processes Double-click on the process you want to get the command line from. A new windows opens, go to the “Process” Panel, you have a “Command Line” text box. You can also right-click on the column titles and add the “Command Line” column to see the Command Line being executed directly in the main window.

December 2, 2009 · Florent Clairambault

Loading plugins assemblies in .Net

This might seem like a quite complex thing to do, but it’s in fact very simple. Thank you .Net for being so well built. Note: With .Net 3.5, there is a much more advanced method called Add-In. But it’s also much more complex. You should use it on long-term projects with some evolutions of the plugins API (and no possibility to change the plugins). I’ve used it for a project and that really made us lose a lot of time. ...

December 1, 2009 · Florent Clairambault

My dear visitors

Hi my dear visitors, Some of you seem to like (or fall by mistake in) my unfunny, unspiritual and crappy english speaking blog. I’m very glad you have such bad taste. You are more than 2 500 to come each month. You mostly come about some stuffs around the TC65, SVN, C# .Net or Sharepoint. By the way, you consumed more than 200 GB of bandwidth this month, mostly on downloading the TC65 SDK. I’m really surprised, I guess a lot of people use this chip even if nearly nobody writes about it. ...

November 28, 2009 · Florent Clairambault

The waspmote

For those of you that take an interest in M2M and/or embedded things. You should look at the Waspmote. This is a generic hardware that can be customized to fit any need. Communication : GPRS / Wifi / ZigBee / USB Location : GPS Power usage : Low consuption, battery or solar as power input Storage : SD Card (2GB), no other storage memory Sensors : Everything you might need (really impressive set of sensors) I looked at the API and it’s in C (pretty low level, you have to free everything) but everything seems to be handled at a high level. It’s sometimes better to have a smart C API rather than a dumb Java API. Look at the examples, they are really easy to read, you don’t need to be a skilled C developer to understand everything. ...

November 25, 2009 · Florent Clairambault