French and English

Hi my dear visitors, You are more than 3 000 visitors to come each month now. So maybe I choose try to make it easier for everyone so that you only subscribe to the feed in the languages you understand : all languages RSS stream english only RSS stream french only RSS stream By the way, I updated the TC65 FAQ to add questions and answers collected from the javacint group. I created this google group a year ago for developpers willing to exchange about the TC65. It started quite slowly but it now has 28 members. And considering how hard it is to find any information on this chip that’s a lot. I think it helped a lot of people. ...

March 12, 2010 · Florent Clairambault

Serveur privé 1&1: Une belle arnaque

J’avais 2 serveurs chez OVH et Dedibox qui étaient en redondance complète (fichiers, mysql, web, mails, dns) avec du DNS failover. N’ayant plus les même besoins, je voulais réduire mes coûts de serveur tout en gardant un serveur dont je puisse gérer le système. J’ai pris l’offre de serveur dédié de 1 And 1. Et bien je peux vous dire que je regrette. En gros chez 1&1 on a 4 Go de mémoire “disponibles” et 1 Go de mémoire “réservée”. C’est un peu comme l’illimité d’orange qui est en fait limité. La mémoire disponible est là “parfois” et on ne peut même pas préciser qu’on en veut pas. Et la mémoire réservée, j’ai bien l’impression qu’elle ne l’est pas. ...

March 11, 2010 · Florent Clairambault

Six Sigma

There’s a definition on wikipedia. It’s much much wider than my tiny vision of this business management strategy. But basically this strategy says : Fix the source of every problem and not each problem. In a factory, it means that have to change the production process to reduce the probability of making defective pieces instead of fixing pieces faster. That means you have to spend time on fixing the problem. So this stategy also means : Spend time to save time. ...

March 10, 2010 · Florent Clairambault

Linux prioritization : do more with less

I find the concept of prioritization very interesting. It just enables you to do more with less. Doesn’t that sound great ? Let’s say you want to be able to respond to user requests as fast as possible but update your data in a low priority manner : You can set the process CPU priority from -20 (high priority) to 19 (low priority) by using the command : nice -n <priority> <command> You can set the process IO priority in 4 classes (0: none, 1: realtime, 2: best-effort, 3: idle) with some priorities within these classes (0-7, lower being higher prio). But you have to enable the CFQ (Complete Fair Queueing) scheduler first by typing something like that : ...

March 7, 2010 · Florent Clairambault

Stupid C++ vs C# performance comparison

I found out that there is real test than the little one I did here. The core of the post is this spreadsheet : I recently did a basic comparison test between C++ (g++) and C# .Net (mono). My point is to show that the .Net framework has performances close to the C++ ones. It allows automatic hardware-specific optimization. The only real drawback you have in the .Net framework is the garbage collector. It prevents the C# .Net it from being a realtime language/framework. But does it really matter for you ? ...

February 26, 2010 · Florent Clairambault

D language

This is just a very short post about this language I recently discovered : the D language. As described on its little website : “D is a systems programming language. Its focus is on combining the power and high performance of C and C++ with the programmer productivity of modern languages like Ruby and Python. Special attention is given to the needs of quality assurance, documentation, management, portability and reliability.”. It has most of the features of the java and the C# (best language ever), but it is fully compiled (no JVM or JIT stuff). ...

February 25, 2010 · Florent Clairambault

SPSecurity.RunWithElevatedPrivileges

If like me you’re wondering what exactly does SPSecurity.RunWithElevatedPrivileges, this is what I understand of it : SPSecurity.RunWithElevatedPrivileges( () => { using( var newSite = new SPSite( site.Url ) ) { // your stuff } }); Is equivalent to : using( var newSite = new SPSite( site.Url, site.SystemAccount.Token ) ) { // your stuff } So if this is just to open an elevated privilege SPSite, it will be equivalent. But if you do some more complex things, as soon as you load a new SPSite it will open it with the original UserToken. And you lose… ...

February 22, 2010 · Florent Clairambault

C# .Net : How works automatic assembly versioning

When you choose to automatically generate a new version of your assembly at compilation, you have to set in the AssemblyInfo.cs file, this line : // Version information for an assembly consists of the following four values: // // Major Version // Minor Version // Build Number // Revision // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: [assembly: AssemblyVersion("1.0.*")] But what do these automatically generated numbers mean ? Well, chances are you don’t care. But one day after using this features for years I decided that I would. ...

February 21, 2010 · Florent Clairambault

Threads and Sharepoint

When you are using threads on sharepoint, you should take care of some little things : The method used to launch the thread must have the “[STAThread]” attribute, it avoids some huge memory leaks. If you need to use an SPSite from the calling site, you should copy its URL and UserToken to build a new SPSite in the new thread. If you’re not using that “design pattern”, things will get really wrong. And of course you should dispose any sharepoint SPSite (SPWebs come from SPSite) allocated within the thread.

February 20, 2010 · Florent Clairambault

FBSL – Freestyle Basic Script Language

I met Gerôme Guillemin at work (well yes his personal page is totally outdated, he now has long hairs). He invented and supported FBSL, its surrounding development tools and some sample programs. What is quite amazing with this script language is that it only requires a simple 450 KB exe file to run the FSBL scripts and all scripts perform very well (even with the OpenGL samples). The executed programs look like they are some native Win32 applications. I’d say it’s the perfect language for basic style languages addicted programmers. ...

February 18, 2010 · Florent Clairambault