A little TC65 development document

WARNING: All the Cinterion related content from this blog will be removed to go to the javacint wiki soon. Please get used to going there. During the last months I spent some time writing a document on the TC65 development. It is primary aimed at TC65 project managers and developers. This document can be considered as a draft and I’m waiting for any of your comments to fix / improve / complete it. It’s currently 40 pages long. ...

June 13, 2010 · Florent Clairambault

Google PowerMeter and sample C# .Net API usage

Update 2011-06-25 A lot of people still contact me about this project. I received this mail today, just in case you’re getting interested by the project, you should know that it will die pretty soon: Dear PowerMeter User, We first launched Google PowerMeter as a Google.org project to raise awareness about the importance of giving people access to their energy information. Since our launch, there’s been more attention brought to this issue, and we’re excited that PowerMeter has helped demonstrate the importance of access to energy data. However, our efforts have not scaled as quickly as we would have liked, so we have decided to retire PowerMeter. ...

May 29, 2010 · Florent Clairambault

Solving BSOD using crash dump files (.dmp)

Blue Screen Of Death are the most annoying things that can happen on Windows. Most of the people just think “my stupid windows just crashed” and sometimes they even get reinstalling it (what a waste of time). But in fact the windows kernel itself never crashes, the drivers do. And from a general point of view, I think it’s better to understand the problems before solving them. It sometimes takes a little bit more time but it makes you save a lot of time in the long run (and everything in life is about time). ...

May 14, 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

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