Push (Comet) or pull ?

What is it ? Most of the modern web applications display recently updated data, and to do that they need to get he latest data very frequently. Some of them even include some real-time chat (Gmail Chat, Facebook chat). How ? That’s the interesting part. Pull is pretty dumb. You do a request very frequently and you see if anything new appeared. This consumes some bandwidth, some resources (because server has to check if data has actually changed). Push is going back to the source : Once you’ve made the request on the server, it doesn’t reply instantly. It will wait for something before sending anything. So push over HTTP is in fact a pull with a sleeping response. Using push over HTTP is called Comet. So pushing data isn’t very complex, it just requires a special server to transmit some data (text, html, xml, or image) over an already opened HTTP connection. ...

November 23, 2009 · Florent Clairambault

SVN : Go further

I’m not a huge fan of SVN. It’s crappy for file transfers and it easily locks. But still, it works pretty well for my relatively small needs and it’s super easy to setup. I’d like to talk a little bit about the things you might not know about SVN… Hooks on the SVN Server You might not know this but you can add a lot of personalized actions on your repository. You just have to add script files to the “hooks” directory of your repository. For a complete list of hooks file name, look here. ...

November 21, 2009 · Florent Clairambault

Displeased with 1And1

I’m really displeased with my 1And1 virtual server. I took it because I didn’t want to spend time on some potential disk failures. And since the Oct, 19 2009 2:00 AM, i’ve seen my load average totally exploding. I guess the disk was totally busy with an other virtual server. I called them and they did a really awesome test : the PING test and even the web page test. I tried to explain them that this wasn’t the best way to test if the server was working, but well they told me that maybe I just messed up my configuration. ...

November 20, 2009 · Florent Clairambault

NDepend

Patrick Smacchia gave me a professional license of NDepend v2.12 so that I could write some stuff about it if I liked it. As it was a gift (yes it is), I decided to force myself to look into this software. And after having looked much of its functionalities, I kind of like it. It’s not THE ultimate tool you have to use, but it’s a little bit like the other (resharper, reflector, etc.), it gives you a better insight of what you have in hand. ...

November 8, 2009 · Florent Clairambault

PIC18 development

That’s something I wanted to do for quite a long time now : Creating some programs for PIC chips. I bougth the ICD3 programmer/debugger with the PICDEM Z development kit (for ZigBee communication). I can’t say it was chip (it costed me 500 €), but I’ve made a good use of it. The thing is, it brings me back to my first C programs. It’s quite hard to come back to some unmanaged, memory limited, namespace less language. I thought the lack of objects would be the hardest part, but in fact it’s not (you can easily emulate it). The hardest part is the lack of namespace and the massive use of #define, I really would be happier with a some sort of limited version of C++. The MPLAB development environment is awful (compared to Visual Studio): no reindenting, no refactoring, no smart-anything. This is WILD for me. It’s like being a citizen in the jungle. ...

October 30, 2009 · Florent Clairambault

TC65 HTTP POST request

This is just a quick code to show how to do a simple http POST request from a TC65 chip.

October 25, 2009 · Florent Clairambault

Server-Side HTTP Request tester

I made this simple test website for those of you who would want to check if their HTTP request made from a simple equipment like the TC65 are sent correctly. The idea is simple : You choose an id like “ThisIsMe” You access the test website with this id : http://test.webingenia.com/ThisIsMe You check what was the content of the request at this address : http://test.webingenia.com/read/ThisIsMe You can contact me if you don’t understand something, if something doesn’t work or if you would like me to add a feature. ...

October 25, 2009 · Florent Clairambault

Yum Transaction Check Error on x64 CentOS

If you encounter a “Transaction Check Error” on yum on a x64 system during an install, an update or an upgrade, you will find out that most of the time, you can’t remove the problematic packages. But it’s very likely that the problem comes from a i386 version of a package. The easiest way to proceed is just to remove the i386 version of each software or library as it appears on the Transaction Check Error. ...

October 24, 2009 · Florent Clairambault

.Net, Flex and WebORB.Net

I’ve been working on a project where we had to use Flex on a .Net environment and it had to be realtime. I was a little worried at first that it could be tricky to set up. But with WebORB.Net it’s pretty easy. We used the integrated RTMP (Real Time Messaging Protocol) messaging server. It’s almost like using WCF. The most important differences are that, by default, objects are transmitted as Hashtable and calls can’t be synchronous. We can bind the object to right .Net object within the WebOrb management console but we decided to do it ourself using reflection (because we don’t like to depend too much on the management console). ...

October 24, 2009 · Florent Clairambault

LinQ : Join with multiple conditions

I wanted to some simple join in LinQ on multiple criteria. And coming from standard SQL it’s not as straightforward as I thought it would be. The little disturbing thing is that you lose auto-completion. Here is my database schema : User: * UserId int (PK) * Login String * DateOfBirth DateTime Parameter: * ParameterId int (PK) * Name String User_Parameter: * UserId int (FK User:Userid) * ParameterId int (FK Parameter:ParameterId) * Value String If you want to fetch the “PreferredSuperHero” parameter, you have to execute : ...

October 22, 2009 · Florent Clairambault