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

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

My own little StreamRipper

This is a stream ripping program I did in order to read and rip streams (like Frequence 3) sending frequent advertising messages that usually prevent users from ripping them. It’s somehow like a protection bypass ripper. What it does : Saves shoutcast streams in MP3 files Saves shoutcast streams in one MP3 file with its cue sheet file Doesn’t consider text information that have seen recently (this is why I did it) Adds MP3 ID3 tags (ID3v1 and ID3v2) using [TagLib#][1] Reads M3U playlist streams Here are the command line options : ...

October 10, 2009 · Florent Clairambault

LinQ to Entities on ADO.Net vs LinQ to SQL

Overview To make it short : LinQ to SQL only works with SQL Server but it’s working great. It’s simple, supports all LinQ operations and optimizes the generated SQL queries. LinQ to Entities on ADO.Net works with lots of database but it doesn’t behave like LinQ to SQL and doesn’t support some key LinQ features. Now the long story : For the last project I’ve been working on, we wanted to use LinQ and still be able to switch to one database to an other (MSSQL to MySQL for instance). So we decided we would use LinQ to entity. The generated object are roughly the same, the code to Create/Read/Update/Delete data is roughly the same. So we were quite happy. ...

October 4, 2009 · Florent Clairambault