No Windows Xp SP3, yet
Microsoft announced a few days ago that Windows Xp Service Pack 3 will be released on April 29, 2008. Yesterday, everybody was waiting for the final product to become available on Windows Update.
In a forum post, Chris Keroack told that they’ve found some problems in the final version and because of this they will delay the release. This post can be found here.
So, no Windows Xp SP3, yet.
How expensive are cross-domain operations?
I was curios how expensive is a cross domain operation so I have made a test.
The test procedure is simple. Perform a number of cross-domain and non cross-domain operations (get the value of NextNumber() from same domain and from another domain) and measure the time elapsed. For each value I have runned the application 3 times, recorded the time (in milliseconds) and created the mean of this three.
For this I’ve created a Console Application containing two classes, the main class and “NumberClass” which has a method that returns the next long. The code for this two is below:
NumberClass:
//MarshalByRefObject is used because this object will cross domain boundary class NumberClass:MarshalByRefObject { public ulong number = 0; public ulong NextNumber() { return number++; } }
The Main method from the main class:
Google Docs offline
Today I found out that Google Docs is available offline.
For those who don’t know what this service is: Google Docs is a free, web-based word processor, spreadsheet, and presentation application offered by Google. It allows users to create and edit documents online while collaborating in real-time with other users.
In order to use it offline you must install a small application from Google Docs that allows running web apps offline. After this you must go online and perform a first synchronization.
While offline, you can write “http://docs.google.com” in your browser and get the same interface as online. You can edit documents offline, move them from one folder to another, preview/hide/rename them but, as you can see in the image below, you cannot create any new ones.
When you get online, any changes that you have made to the documents are synchronised. The synchronisation is bidirectional; this means that documents edited online are downloaded and documents edited offline are uploaded on the server.
This seems a nice addition to Docs but still needs improvements. For example I would like to be able to edit the documents in another editor, not in the webinterface, and then put them back offline.
EventInfo.AddEventHandler – bug or not?
Reflection is the process by which a computer program can observe and modify its own structure and behavior. The programming paradigm driven by reflection is called reflective programming. [Wikipedia]
Working a few days ago on a plugin architecture on .NET Framework I’ve found something very interesting. The method System.Reflection.EventInfo.AddEventHandler does late-binding. You’ll probably say “so what?”. Let’s see the problem with an example:
Using Visual Studio 2005/2008, create two C# projects (a windows forms application project and a class library one). Rename the class from the class library project to “TestClass.cs”.
Microsoft “How Do I?”
Surfing on Microsoft’s website a few days ago, I’ve found a link called “Got 15 minutes? Learn a new task” (yeah, I have 15 minutes :-) ). Followed the link and discovered “How Do I?”.
“How Do I?” is a section of MSDN on which video tutorials are posted. These tutorials are for programmers and show how to do various things using Microsoft tools and technologies (Visual Studio, .NET Framework, ASP.NET, Windows Mobile, etc). The clips vary from 5 to 40 minutes.
Every clip deals with one topic and most of them consist of one movie.
There are 12 categories:
- ASP.NET
- ASP.NET Ajax
- Devices
- Native Coding
- Security
- Silverlight
- Visual Basic
- Visual Studio Extensibility
- Visual Studio Team System
- Visual Studio Tools for Applications
- Windows Forms
- Windows Presentation Foundation
From all the clips I recommend (the other are not bad but these I liked most):
Devices: Programmatically Monitor for a Specific Time of Day Without Draining a Device Battery
Devices: Hide Standard Device UI Elements in a .NET Compact Framework Application
Security: Attach Client Credentials to a Web Service Call For Security
Security: Add Security to Applications by Digitally Signing XAML Documents
Security: Increase Web Site Security by Integrating Cardspace and ASP.NET for Login
Oh, and one more thing. All tutorials can be downloaded and most of them include source code ;-)
If you want to visit “How Do I?” follow this link.

