Monday, January 16, 2006

CodeWonderland.com



Coming soon: CodeWonderland.com

It's been coming to a point where the domain "stronglytyped.com" no longer represents the subject of what I want to write about. I have some solid ideas for CodeWonderland and will open the site with a full mission statement.

I will not take down StronglyTyped because some of the posts have been helpful to others. What I'll do is polish the site for read only operations and indexing by the search bots and just let it sit.

There will be a follow up to this post for the cutoff date and RSS switch over.

Thanks!!

Richard

Sunday, January 08, 2006

Fork()

I've been doing linux systems programming lately and was interestd in the source code for the fork() system call. I laughed when I saw this as the header:


/*
* 'fork.c' contains the help-routines for the 'fork' system call
* (see also entry.S and others).
* Fork is rather simple, once you get the hang of it, but the memory
* management can be a bitch. See 'mm/memory.c': 'copy_page_range()'
*/

Thursday, January 05, 2006

Messman Quote

Jack Messman, chairman of Novel:

"Commercial software companies have to start operating further up the [software] stack to differentiate themselves. The open source community is bascially focusing on infrastructure" (Financial Times, June 14, 2004)

Tuesday, December 13, 2005

Anonymous Method Trick

I found out a quick way of using anonymous methods to wrap a call:


WaitCallback callback = delegate(object client)
{
processString((string)client);
};

ThreadPool.QueueUserWorkItem (callback, "the string");


the target method:


void processString(string initstring)
{
...
}


Because the QueueUserWorkItem uses the delegate WaitCallback which accepts an "object" we can use the anon method to do the casting preserving the target method signature.

Wednesday, December 07, 2005

How is the project?

Friday, November 18, 2005

NUnit setup for VSNET2005



I was getting this error when loading a v2.0.50727 assembly in NUnit 2.2.0:


"System.BadImageFormatException: The format of the file 'something.dll' is invalid."


After a bit of hacking around I found out how to fix it.

First you need to download and install the iteration version 2.2.3. Use that link because for some reason you won’t get there from http://www.nunit.com.

Here’s the link to download: http://nunit.com/testweb/index.php?p=download

I think they just updated the site (it was dated 11/14/05) and the web site may have not been released.

Anyways, once you get 2.2.3 installed load up the nunit-gui.exe.config file under the bin folder for nunit. Then uncomment the following section:


<startup>
<supportedRuntime version="v2.0.50727" />
<supportedRuntime version="v2.0.50215" />
<supportedRuntime version="v2.0.40607" />
<supportedRuntime version="v1.1.4322" />
<supportedRuntime version="v1.0.3705" />

<requiredRuntime version="v1.0.3705" />
</startup>



Make sure v2.0.50727 is at the top of the list.

From there you should be able to load and test VSNET2005/.NET2.0 assemblies.

Friday, November 04, 2005

X Develop



I've been doing a lot of cross platform .NET develop and struggled with project files and compiling on both sides (Win32 & Linux) between MS's Framework and Mono.

I lucked out and found XDevelop (http://www.omnicore.com/). With built in Unit testing, refactoring, revision control, easy switching between .NET 1.x, 2.0, and Mono, and support for VS.NET's SLN and CSPROJ file formats I found myself in pure bliss...