Oct 01
I’m currently reviving a mobile application that I started a long time a go.
Since that time, I downloaded lots of useless software on my mobile phone…no more space to deploy my application. I tried to deploy directly on the storage card but the way to do so did not pop immediately. I googlized around this topic to get the tip and did not find anything.
The tip is simple: go in the properties of your .Net mobile project, in the “Device” tab, you click on the button on the right of “Output file folder” and select “Root folder”, then enter the full path “\Storage Card\Program Files\MyApp”.

Jun 14
Reading an interesting post from Dwhittaker, I think the problematic is broader. It appears through the question on how should I build my entity from the DAO object. To my opinion, the DAO object should be as much simple as possible…not smart at all. The best is to generate it using byte code generation for example using annotation in the real entity object for example, buit this should be addressed into another post 
If the DAO object is generated, then the entity (or value object) can be build by generic code using reflection for example. Then the “real” question raise: what about information lost during the entity creation. Let me explain with a very simple example: waht about the Id of the DAO object? It has absolutely no sense in the entity object, but is required when the application push back the entity object to the persistence layer to store changes. This topic is highlighted in this post of Ayende and expose another example: detection of changes.
The problem is about keeping track of information on an object (the entity) without exposing it. more over, this object can be moved from a process to another (or webservice). This sounds very close to the state in ASP net pages, which provide a very good answer. So, I wouold advocate to store a state in the entity object that is crypted and reused by the persistence layer.
Jan 20
I’ve come across a bug or strage behaviour of the asp .Net control ImageButton the other day.
If you don’t specify a value for the attribute “ImageUrl”, the server will do an access to your default page. To highlight this I’ve created a small project sample that you can find here.
This project contains a default.aspx page, and 2 pages: one with an ImageButton control with attribute “ImageUrl” set (page1.aspx), the other one without the attribute (page2.aspx).
If you lanch the web application: you will see in the output:
Goes through _Default.Page_Load with IsPostBack:False
Go to the page1.aspx page by clicking on button “Page 1″, you will see in the output:
Goes through _Default.Page_Load with IsPostBack:True
Goes through Page1.Page_Load with IsPostBack:False
Now click on the back button of your explorer, and go to page2.aspx by clicking on button “Page 2″, you will see in the output:
Goes through _Default.Page_Load with IsPostBack:True
Goes through Page2.Page_Load with IsPostBack:False
Goes through _Default.Page_Load with IsPostBack:False
You can notice the access to default page. To avoid useless access to the default page, even if you want to setup the ImageUrl property of the control programatically, set a value in the page.
Jan 17
I’m exploring creation of Package in Visual Studio 2005 and I was not able to build a dummy project. After different tries, the problem was due to the empty key.snk file. I then tried to create on using the command line:
C:\>sn -k key.sn
Unfortunately I get the following error:
Microsoft (R) .NET Framework Strong Name Utility Version 2.0.50727.42
Copyright (c) Microsoft Corporation. All rights reserved.
Failed to generate a strong name key pair — Access is denied.
Finaly ‘google’ helped me : solution is there. Thanks to Aaron for this useful tip. More over, I confirm that now if I create a new dummy project …visual no more create an empty key.snk file.
Jan 06
This is the first tip of the year
To debug newly written code in the global.asax file, the easiest way is to force a save of web.config file. Each time the config.file is saved, the application is stopped and started.