June 17, 2003
Reminder: Win a Free Seat at the Applied XML Dev. Conference
Here. Don't forget to help me rename my RSS feed and potentially win a free seat at the Applied XML Developer's Conference.
Even if you don't submit a contest entry, don't forget to reserve your spot at the conference! Seats are going fast and all three other DevCon's have sold out.
June 16, 2003
.net
Releasing Nested Objects in Rotor
Here. ChrisT continues to make progress in the "Adding Ref-Counting to Rotor" project.
June 16, 2003
Filter Files With Unknown Extensions For XP
Here. The fact that Windows XP Find in Files only searches files with known file extensions drives me crazy because it skips, among other things, .cs files. Every time I set up a new system, I have to re-figure out how to fix this. To facilitate that, I put together a .reg file that enable Find in Files to search all unknown file extensions as text files. Enjoy.
June 16, 2003
(web) matrix reloaded
Here. From Rick Childress (www25.brinkster.com/rchildress): Web Matrix 0.6 has been released.
June 16, 2003
spout
Releasing Nested Objects in Rotor
Chris Tavares is making more progress finishing up the Ref-Counting in Rotor
project:
class
FinalizerObj {
int n;
public FinalizerObj( int n ) {
this.n = n;
Console.WriteLine(“Created Finalizer
object {0}”, n);
}
~FinalizerObj() {
Console.WriteLine(“Finalizing finalizer object {0}”, n);
}
}
class
FinalizerContainingObj {
FinalizerObj subObj1;
int n;
FinalizerObj subObj2;
public FinalizerContainingObj( int n ) {
this.n = n;
subObj1 = new
FinalizerObj(n * 100);
subObj2 =
new FinalizerObj((n * 100) + 1);
Console.WriteLine(“Creating containing object {0}”, n);
}
~FinalizerContainingObj( ) {
Console.WriteLine(“Finalizing
finalizer containing obj {0}”, n);
}
}
class
TestApp {
static
void Main() {
for(
int i = 0; i < 5; ++i ) LeakAnObj(i);
}
static void LeakAnObj(int
i) {
FinalizerContainingObj obj =
new FinalizerContainingObj(i);
}
}
Running this
app under our ref-counted Rotor yields the following output:
C:\Home\Chris\Projects\Rotor\src\tests>clix FinalizerTest.exe
Created Finalizer object 0
Created Finalizer object 1
Creating containing object 0
Finalizing finalizer containing obj 0
Finalizing finalizer object 0
Finalizing finalizer object 1
Created Finalizer object 100
Created Finalizer object 101
Creating containing object 1
Finalizing finalizer containing obj 1
Finalizing finalizer object 100
Finalizing finalizer object 101
Created Finalizer object 200
Created Finalizer object 201
Creating containing object 2
Finalizing finalizer containing obj 2
Finalizing finalizer object 200
Finalizing finalizer object 201
Created Finalizer object 300
Created Finalizer object 301
Creating containing object 3
Finalizing finalizer containing obj 3
Finalizing finalizer object 300
Finalizing finalizer object 301
Created Finalizer object 400
Created Finalizer object 401
Creating containing object 4
Finalizing finalizer containing obj 4
Finalizing finalizer object 400
Finalizing finalizer object 401
In other words, all top-level and
2nd-level objects are finalized deterministically. Wahoo!
June 15, 2003
Much Improved FxCop v1.21 Released
Here. FxCop should be part of the build process for any .NET code that has a build process. Recommended!
June 14, 2003
.net
nprof - Open-source .NET profiler
Here. From Matthew Mastracci: I just released the fifth alpha version of my free, open-source .NET profiling application. It supports everything I've thrown at it so far (multi-threaded programs, NAnt, SWF apps) and is getting close to feature-complete.
It comes with a basic VS.NET add-in that lets you profile from DevStudio. There is a complete source package on the downloads page for those who are interested in learning how a profiler works, or just want to tinker.