Just stumbled across this excellent Introduction to MSIL by Kenny Kerr. It kinda' makes my brain hurt... but in a good way.
[Listening to: Static-X - Cold]
Thursday, December 16, 2004
An ongoing Introduction to MSIL
Posted by BigEasy at 12/16/2004 03:51:00 PM 0 comments
Wednesday, December 15, 2004
Your personality summarized in 26 links.
An intriguing meme found on KC Lemson's blog. lear the address bar in your browser, type in every letter of the alphabet, and list out what is the first URL on the history list. No cheating now...
A - http://www.adtmag.com/blogs/devcentral/ - Developer Central Blog.
B - http://www.bbc.co.uk/radio4/hitchhikers/game.shtml - 20th Anniversary edition of the HitchHiker Adventure Game.
C - http://c3dsp.westjet.com/internet/sky/checkFlights.cgi - Checking flights on WestJet airlines.
D - http://www.danielmoth.com/Blog/ - Picked up this link from some blog. Not into .NET CF so didn't subscribe.
E - http://home.earthlink.net/~mrob/pub/ibook.html - bad hardware workaround courtesy of TheDailyWTF.com.
F - http://www.freelists.org/archives/oracle-l/03-2004/msg00545.html - Oracle news group.
G - http://games.slashdot.org/article.pl?sid=04/12/02/0017233&from=rss - /. post on Acclaim's auction.
H - http://www.hack.net/ - Got this from some blogs. Didn't work in Opera. Didn't really try either.
I - http://www.ibiblio.org/Dave/Dr-Fun/df200412/df20041210.jpg - Cool Darth Santa comic.
J - http://www.jetbrains.com/resharper/survey.html - Trying to win a resharper license.
K - http://www.kk.org/cooltools/... - Cool Tools
L - http://www.latticesoft.com/Products/LatticeDataMapper.aspx - Persistance Framework for .NET
M - Corporate webmail.
N - http://www.networklifemag.com/ - Another link from another blog. Not subscribed.
O - http://www.octanecreative.com/ducttape/sightings/index.html - Duct Tape Rules!
P - http://www.panopticoncentral.net/archive/2004/12/01/2598.aspx - Paul Vick's article on Black Hole projects.
Q - Nothing.
R - http://reviews.cnet.com/... - C|Net product alert page on the ultimate gaming PC.
S - http://science.slashdot.org/article.pl?sid=04/12/15/0226220&from=rss - /. article on LEGO logic gates.
T - http://tahiti.oracle.com/ - Still looking for Oracle info.
U - http://www.ultimateears.com/ - High end in-the-ear headphones.
V - http://www.visit4info.com/details.cfm?adid=6099 - Way cool commercial from Toyota - Bugger!
W - http://www.westjet.com/ - Still looking for that flight too.
X - Nothing.
Y - Nothing.
Z - Nothing.
[Listening to: Enya - Athair Ar Neamh]
Posted by BigEasy at 12/15/2004 09:00:00 AM 0 comments
Tuesday, December 14, 2004
Cheapskate alert: Free XSLT1.0/XSLT2.0 and XQuery1.0 Processors for Windows
Altova has put together a collection of free tools for the Xml/Xslt/XQuery folks out there. Found via Oleg Tkachenko. WooHoo!
[Listening to: Disturbed - God of the Mind]
Posted by BigEasy at 12/14/2004 10:29:00 AM 0 comments
Wednesday, December 01, 2004
XmlPreCompiler / XmlSerializerPreCompiler
Like most people I have struggled too often with XmlSerializer. Mathew Nolton wrote a UI wrapper around Chris Sells'
XmlSerializerPreCompiler called XmlPreCompiler. This should help some.
[Listening to: Faster Pussycat - Slip of the Tongue]
Posted by BigEasy at 12/01/2004 02:39:00 PM 0 comments
Friday, November 26, 2004
Nine Tips to Enterprise-proof MSMQ
A slightly older (but still useful) link on DevX by Michael Jones: Nine Tips to Enterprise-proof MSMQ. It deals with performance and reliability (usually at odds with each other.)
[Listening to: Crazy Town - Only When I'm Drunk]
Posted by BigEasy at 11/26/2004 09:17:00 AM 0 comments
Thursday, November 25, 2004
Saying No to .NET Remoting
I haven't gotten there yet (or anywhere recently, but that's another issue) but here's some tips from Chris Hewitt about which gives some guidance/recommendations on various distributed communication technologies:
Saying No to .NET Remoting
[Listening to: Weezer - Jamie]
Posted by BigEasy at 11/25/2004 08:46:00 AM 0 comments
Tuesday, November 16, 2004
15 Seconds : 10 Steps to a Successful Versioning and Deployment Strategy for .NET
A very useful set of guidelines for versioning, deployment and security from Michele Leroux Bustamante, originally found in this blog entry: 10 Steps to a Successful Versioning and Deployment Strategy for .NET
[Listening to: Eminem - Kids]
Posted by BigEasy at 11/16/2004 09:11:00 AM 0 comments
Guidelines - a hidden feature for the Visual Studio Editor
A neat little VS gem from Sara Ford: Guidelines - a hidden feature for the Visual Studio Editor.
Kinda cool. Definitely one of those "My Visual Studio is better than yours" things.
Found via the VSEditors blog
[Listening to: KoRn - Dead Bodies Everywhere]
Posted by BigEasy at 11/16/2004 08:52:00 AM 0 comments
Wednesday, November 10, 2004
Deterministic Finalization
Updated: Changed title to reflect the series instead of just the first article
I just stumbled across Andy Rich's blog (I can't remember which blog I got it from -- apologies to the author.) In it he has an excellent series on Deterministic Finalization:
I know it sounds geeky but Deterministic Finalization, Garbage Collection, IDisposable, etc really interest me. Such is my life.
[Listening to: Cirque Du Soleil - Carvena]
Posted by BigEasy at 11/10/2004 09:01:00 AM 0 comments
Monday, November 08, 2004
Creating a partially-trusted AppDomain
Peter Torr expands on a set of blog entries from Shawn Farkas with: Creating a partially-trusted AppDomain.
I'm going to keep collecting these links until I either get it, or give up on it. I put the odds about even on those two.
[Listening to: George Clinton - Play That Funky Music]
Posted by BigEasy at 11/08/2004 08:46:00 AM 0 comments
Wednesday, November 03, 2004
An Enhanced Version of the Sandboxed AppDomain
More from Shawn Farkas: An Enhanced Version of the Sandboxed AppDomain which puts together his posts on creating an AppDomain with a limited set of permissions and creating a StrongNameMembershipCondition
[Listening to: Motley Crüe - Teaser]
Posted by BigEasy at 11/03/2004 12:25:00 PM 0 comments
Tuesday, November 02, 2004
Introduction to MSH (a.k.a Monad)
From Jon Udell: An Introduction to MSH. I looked at this a while back but I didn't spend much time to figure it out. Maybe I'll have to now.
[Listening to: One Minute Silence - Brainspiller]
Posted by BigEasy at 11/02/2004 11:06:00 AM 1 comments
Friday, October 29, 2004
MSDN error on VS2003 while running as non-admin
I've recently dropped my main XP user down to the "average schmo" level like I should (and like I have in my primary development VirtualPC image.) When I tried to pull up the help on anything the installation wizard for VS2003 would pop up, eventually failing with this error:
Error 1606.Could not access network location wwwroot$: Unable to get security info for this object.
In case anyone else has this problem, here's how you fix it (verbatim from Felix Wang):
C:\Program Files\Common Files\Microsoft Shared\Office10\mso.dll
"C:\Program Files\Common Files\Microsoft Shared\MSDN".
RegSvr32 "C:\Program Files\Common Files\Microsoft Shared\MSDN\CookDoc.dll"
Scooped from usenet on microsoft.public.vsnet.setup in this thread. In case this link doesn't work the original post is titled "VS.NET/MSDN Annoyance" on Mar 9, 2004.
[Listening to: Concrete Blonde - It's a Man's World]
Posted by BigEasy at 10/29/2004 05:47:00 PM 0 comments
CreateProcessAsUser
Any blog entry that includes usage instructions of use in rare circumstances and with caution deserves a link. K. Scott Allen's sample code / wrapper around CreateProcessAsUser
[Listening to: Iron Maiden - Caught Somewhere in Time]
Posted by BigEasy at 10/29/2004 08:47:00 AM 0 comments
Tuesday, October 26, 2004
Easily Creating a StrongNameMembershipCondition for an Assembly
Another gem from Shawn Farkas: Easily Creating a StrongNameMembershipCondition for an Assembly
[Listening to: Electric Light Orchestra - Turn to Stone]
Posted by BigEasy at 10/26/2004 03:41:00 PM 0 comments
Creating an AppDomain with limited permissions
Shawn Farkas has to be on my top 10 list of bloggers. His blog entries and snippets are awesome and (eerily enough) tend to be right along the lines of stuff that I'm going to need. How does he know what I'm doing? Hey Shawn, that isn't you hanging around in the bushes outside my office window is it?
Without further ado: Creating an AppDomain with limited permissions.
[Listening to: Eartha Kitt - Where is my man]
Posted by BigEasy at 10/26/2004 03:39:00 PM 0 comments
More Performance Tidbits for library writers
More Performance Tidbits for library writers from the performance guru Rico "measure first" Mariani.
At some point either they'll figure out a way to really profile in a VPC image or I'll have to knuckle under and install VS2005 on my host PC. 'Til then, my head is firmly in the sand.
[Listening to: Alice in Chains - Junkhead]
Posted by BigEasy at 10/26/2004 10:22:00 AM 0 comments
Monday, October 25, 2004
Getting the Current Permissions in a Named Permission Set
Shawn Farkas posted a snippet on Getting the Current Permissions in a Named Permission Set. I like snippets. Snippets are good. Long live snippets.
Does it make sense for me to define my own Named Permission Set for my service? Don't know yet. Haven't spent enough time looking.
[Listening to: Kittie - In Winter]
Posted by BigEasy at 10/25/2004 09:38:00 AM 0 comments
Friday, October 22, 2004
Programatically changing file permissions
I'm back to implementing some permission related unit tests that I balked at earlier.
It took me a bit of time to find how to remove all permissions from a file. Since I don't want to have to go through this again I'll post it here.
Basically I'm pulling what I found in Keith Brown's absolute must read wiki: The .NET Developer's Guide to Windows Security in How to program with SIDs into a class.
I implemented it in a typical Resource Acquisition Is Initialization manner using IDispose so that I know I'll restore the permissions to their original after my tests are done.
Here's the class (a little light on error checking for brevity):
class ApplySecuritySettingsToFile : IDisposable
{
#region Private Members
private FileSystemAccessRule m_AccessRule = null;
private FileInfo m_FileInfo = null;
#endregion
#region Constructor
public ApplySecuritySettingsToFile (string fileName,
FileSystemAccessRule accessRule)
{
if (fileName == null && accessRule == null)
return;
m_FileInfo = new FileInfo (fileName);
m_AccessRule = accessRule;
FileSecurity sd = m_FileInfo.GetAccessControl ();
sd.AddAccessRule (m_AccessRule);
m_FileInfo.SetAccessControl (sd);
}
#endregion
#region Dispose pattern
private bool m_bIsDisposed = false;
~ApplySecuritySettingsToFile ()
{
Dispose ();
}
public void Dispose ()
{
if (!m_bIsDisposed)
{
if (m_FileInfo != null && m_AccessRule != null)
{
FileSecurity sd =
m_FileInfo.GetAccessControl ();
sd.RemoveAccessRule (m_AccessRule);
m_FileInfo.SetAccessControl (sd);
}
GC.SuppressFinalize (this);
m_bIsDisposed = true;
}
}
#endregion
}
And here's how you use it to Deny FullControl (i.e. remove all permissions) to file C:\temp\temp.txt for the BUILTIN\users group:
using (new ApplySecuritySettingsToFile (@"C:\temp\temp.txt",
new FileSystemAccessRule (
new SecurityIdentifier (
WellKnownSidType.BuiltinUsersSid,
null),
FileSystemRights.FullControl,
AccessControlType.Deny)
)
)
{
// You (and everyone else for that matter) now have
// no permissions whatsoever to C:\temp\temp.txt
}
You could just as easily add permissions using AccessControlType.Allow.
Hope it helps.
[Listening to: Marilyn Manson - Mother Inferior Got Her Gunn]
Posted by BigEasy at 10/22/2004 06:38:00 PM 0 comments
Thursday, October 21, 2004
Boost XmlSerializer usability and performance by using strongly-typed serializers
A short but sweet bit on how to Boost XmlSerializer usability and performance by using strongly-typed serializers from Daniel Cazzulino of Mvp.Xml fame.
[Listening to: Delerium featuring Sarah McLachLan - Silence]
Posted by BigEasy at 10/21/2004 03:30:00 PM 0 comments
Monday, October 18, 2004
Number Formatting in .NET
An overview of Number Formatting in .NET via Kit George of the BCL Team.
I too have spent far too much time looking for the right format string on MSDN. This is a step in the right direction.
[Listening to: Rage Against the Machine - The Ghost of Tom Joad]
Posted by BigEasy at 10/18/2004 09:00:00 AM 0 comments
Thursday, October 14, 2004
Nifty VS2003 tips for breakpoints and the "Find" combo box
Roy Osherove shows a few really nifty tricks: Advanced debugging tips and stuff you never knew about the "Find" combo box
[Listening to: Faster Pussycat - Babylon]
Posted by BigEasy at 10/14/2004 09:59:00 AM 0 comments
Programmatic .NET ACL Definitions
Another awesome security related code tidbit from Michael Willers:
TaskDriven Working with ACLs on files.
I'm already subscribed to his feed, but I somehow managed to miss this gem when it came out fresh. Much thanks to Jeff Newsom from Thinking Out Loud for reposting the link that actually made it past my forehead.
[Listening to: Soundgarden - Pretty Noose]
Posted by BigEasy at 10/14/2004 08:43:00 AM 0 comments
Wednesday, October 13, 2004
Upcoming Changes to System.Xml in .NET Framework 2.0 Beta 2
Dare Obasanjo provides an overview on the upcoming changes to System.Xml in .NET Framework 2.0 Beta 2.
[Listening to: Collective Soul - All]
Posted by BigEasy at 10/13/2004 12:12:00 PM 0 comments
The Osherove.Interception framework
Roy Osherove presents his Osherove.Interception framework. I'm not entirely convinced of how I would use this (or even if I should) but it definetely deserves looking into despite his use of the word automagically. Ugh.
I had previously blogged about it here as it pertained to unit testing.
[Listening to: KoRn - Blind]
Posted by BigEasy at 10/13/2004 12:10:00 PM 0 comments
Saturday, October 09, 2004
Another keeper from MbUnit: AssemblySetUp/TearDown
Now that I've installed the latest MbUnit from TestDriven.NET I can make use of the TestFixtureSetUp and TestFixtureTearDown support in MbUnit (+ Assembly Setup and TearDown).
This has greatly simplified my code. In each of my test fixtures I used to have to have a SetUp method which calls a static initializer from another class to initialize my log4net stuff:public class MyTests
Now all I need is:
{
[SetUp]
public static void SetUp()
{
StaticInitializer.Initialize()
}
[Test]
public voidSomeTest()
{
...
}
}
public static class StaticInitializer
{
private static bool s_bIsInitialized = false;
public static void Initialize()
{
if (!s_bIsInitialized)
{
log4net.Config.BasicConfigurator.Configure (...);
s_bIsInitialized = true;
}
}
}
public class MyTests
The rest is handled for me.
{
//No extra stuff at all
[Test]
public voidSomeTest()
{
...
}
}
[assembly: AssemblyCleanup (typeof (StaticInitializer))]
public static class StaticInitializer
{
[SetUp]
public static void Initialize()
{
log4net.Config.BasicConfigurator.Configure (...);
}
}
Sooo much nicer.
Posted by BigEasy at 10/09/2004 01:02:00 AM 1 comments
Friday, October 08, 2004
Loading an assembly from a "working directory" at design time
Steve Maine may have just helped me out of a problem that I didn't even know I had yet: Loading an assembly from a "working directory" at design time. Since I plan to load user assemblies I would've fallen over this eventually. Now I'm prepared... Or at least I've lost my excuse of not being prepared.
[Listening to: Collective Soul - The World I Know]
Posted by BigEasy at 10/08/2004 03:15:00 PM 0 comments
An exercise in implementing a domain-driven design
Steve Maine runs through a set of articles (Part I, Part II and Part III) doing an exercise in DDD (Domain Driven Design).
Not sure if I'll jump on the bandwagon, but it looked interesting enough to persist here.
[Listening to: Limp Bizkit - 9 Teen 90 Nine]
Posted by BigEasy at 10/08/2004 03:11:00 PM 0 comments
Wednesday, October 06, 2004
VS2005 Export Template Wizard
Craig Skibo details the new VS2005 Export Template Wizard. This seems to be a great way to provide out-of-the-box wizards to allow customers to customize your app.
[Listening to: George Clinton - The Shagadelic Austin Powers]
Posted by BigEasy at 10/06/2004 11:13:00 AM 0 comments
Unofficial NUnit Extensibility Framework (MbUnit too)
Roy Osherove puts together another creepy cool unit testing extension to both NUnit and MbUnit.
First the automatic database rollback feature, now this. Too cool.
I echo Jonathan's sentiment: this belongs in TestDriven.NET
[Listening to: Stone Temple Pilots - Sin]
Posted by BigEasy at 10/06/2004 08:39:00 AM 0 comments
Wednesday, September 29, 2004
System.Security.AccessControl
Valery Pryamikov might have just saved me a bunch of spelunking through MSDN2 (which is still pretty raw.) I had reached a point where I wanted to start adding permission related unit tests, but I quickly got lost in beta documentation with no examples.
I started going through Keith Browns excellent wikibook: "The .NET Developer's Guide to Windows Security" but quickly realized that I should just read the whole thing instead of just jumping in looking for a sample and jumping back out.
So instead I added a nice juicy //TODO: so that I can see it in the task window (one of my favourite features of VS2003 and up) and moved on.
What do I find today but a blog entry on Playing with System.Security.AccessControl.
Nice.
[Listening to: Primus - Fisticuffs]
Posted by BigEasy at 9/29/2004 08:12:00 AM 0 comments
Thursday, September 23, 2004
A couple links on MSMQ Processing
Wallace McClure posts a couple of articles on MSMQ stuff:
I haven't gone through them in any detail, but they look useful enough that I post it here so I don't lose them.
[Listening to: KoRn - Blind]
Posted by BigEasy at 9/23/2004 08:51:00 AM 0 comments
Saturday, September 18, 2004
An alternate to MbUnit's CurrentFixture
Now that my library of MbUnit unit tests is growing it's becoming a non-trivial amount of time to run them, something that I'd rather avoid when doing a very tight red/green/refactor loop.
To speed things up I've been using the CurrentFixture attribute like so:
[CurrentFixture]
and the associated property of the AutoRunner in main:
[Test]
public void DoSomeTest()
{
...public static void Main (string[] args)
{
using (AutoRunner auto = new AutoRunner ())
{
auto.Domain.Filter = FixtureFilters.Current;
...
The issue is, I keep having to check out my previous test fixture to remove the attribute so I can worry only about my current fixture. That leads to a lot of comments like "Removed CurrentFixture attribute" in my version control.
Here's what I now do. I don't use CurrentFixture at all. Instead I have the following in main:
public static void Main (string[] args)
{
using (AutoRunner auto = new AutoRunner ())
{
auto.Domain.Filter
= FixtureFilters.Type ("My.Full.Class");
...
Now I only need to check out the main line (or more often just keep it checked out) to work on another fixture.
[Listening to: Stone Temple Pilots - Trippin' on a Hole in a Paper Heart]
Posted by BigEasy at 9/18/2004 03:35:00 PM 0 comments
Tuesday, August 31, 2004
VS2005 Beta1 - Source doesn't match IL while stepping through DLL
I am having the weirdest problem. I have a unit test .EXE which exercises my code which lives in a .DLL assembly. However, the code that the debugger is stepping through doesn't match what's actually happening.
For example, say I have this:1: public bool Load (XPathDocument doc)
2: {
3: using (new LogIndent (log.Info, "Load"))
4: {
5: if (doc == null)
6: {
7: log.Warn ("doc is null -- nothing to load");
8: return;
9: }
10:
11: if (log.IsDebugEnabled)
12: log.Debug ("doc=" + doc);
13:
14: try
15: {
16: XPathNavigator nav = doc.CreateNavigator ();
17: XPathNodeIterator iter = nav.Select ("[snip]");
18: if (iter != null)
19: {
20: while (iter.MoveNext())
21: {
22: Dump (iter.Current);
23:
24: string flowName;
25: flowName = iter.Current.GetAttribute (
26: "Name",
27: iter.Current.NamespaceURI);
I have a break point on line 3 which the debugger drops me off at. At each step I'm hitting F11 - Step Into. Here is what I see:
3: using (new LogIndent (log.Info, "Load"))
7: log.Warn ("doc is null -- nothing to load");
11: if (log.IsDebugEnabled)
Now when I step into I'm in the constructor for LogIndent that I should've hit first!?! If I continue a bit further:
12: log.Debug ("doc=" + doc);
22: Dump (iter.Current);
25: flowName = iter.Current.GetAttribute (
Here again
However, if I switch the assembly to an .EXE then everything behaves normally.
Is it me? Should I submit this to LadyBug? Ugh.
[Listening to: Eminem - Amityville]
Posted by BigEasy at 8/31/2004 07:47:00 PM 4 comments
Monday, August 30, 2004
Enabling CodeWright 7.x / VS.NET 2003 synchronization
After upgrading my version of VS to VS.NET 2003 at work I was missing the Add-in required to synchronize files between VS and CodeWright. After a bit of spelunking here's what I found. The add-in menu is completely controlled by the registry.
First, register CWVS7Adin.dll as you would any COM dll.
Then, save this to a .reg file and import it.
REGEDIT4Now when you open up the Add-in manager dialog you should see it properly.
[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\7.1\Addins\CWVS7Adin.Connect]
"FriendlyName"="Codewright synchronization"
"Description"="Synchronizes files between VS.NET and Codewright"
[Listening to: Tool - 4 degrees]
Updated: shrinking down .reg entries to fit screen
Posted by BigEasy at 8/30/2004 02:14:00 PM 0 comments
Sunday, August 29, 2004
Using System.Reflection to get at private fields in a class
6:41 In my unit testing binge I have come across the need (albeit a questionable one) to validate the contents of values internal to a class.
It took me a bit to figure out how to do this, so I figured I'd share it here.
The magic is in FieldInfo.GetValue (thanks to Stefan Goßner for pointing me in the right direction here.)
For instance, I have this: public class FlowManager
I would get a reference to m_Flows like this (stripped down, but you get the idea):
{
private OrderedDictionary<string, IBlock> m_Flows;
//... etc ...
} private OrderedDictionary<string, IBlock> GetFlows (
FlowManager flowManager)
{
FieldInfo field = fm.GetType ().GetField (
"m_Flows",
BindingFlags.NonPublic | BindingFlags.Instance);
if (field == null)
return null;
return field.GetValue (flowManager)
as OrderedDictionary<string, IBlock>;
}
Updated: playing with formating to make the source look like source
Posted by BigEasy at 8/29/2004 04:51:00 PM 0 comments
Saturday, August 28, 2004
NDoc and VS2005 Beta 1 -- Has anyone gotten it to work?
I'm trying to use NDoc to generate my documentation, but both the GUI and Console version complain that my assembly is invalid:
Error: LoadAssembly: Exception is System.BadImageFormatException: The format of the file 'Gesture.Hookup.Core.dll' is invalid.
When I see things like this I add the following to the .config file of the app that's blowing up:
<configuration>
<startup>
<supportedRuntime version="v2.0.40607" />
</startup>
</configuration>
But that didn't work. I even added:
<requiredRuntime version="v2.0.40607" />
but no go.
Has anyone gotten this to work?
Posted by BigEasy at 8/28/2004 09:33:00 PM 1 comments
HookUp update
I've started working on this again. Slowly. Very slowly.
Mostly I'm getting the infrastructure going. I'm working in VS2005 Beta 1. I put together a few of the utility and base classes as TDD as I could. (I'm weak.)
First of all I'm developing as a non-admin, using Least Privilege.
I'm using MbUnit for unit testing. I couldn't get the GUI working, it gives me a ThreadAbortException while trying to populate the tree. Since I've set up the test cases as an exe with an AutoRunner I don't really need to worry about it yet.
I put in log4net for logging, although I can't seem to get any output during my MbUnit test cases. It's probably because of the way MbUnit loads the AppDomain. I haven't really investigated any further.
I have cleaned everything up with FxCop and I only ignored 2 warnings:
Not too shabby.
I am in the process of adding all of the xml comments so I can use NDoc. I'm such an NDoc junkie. How is it that a geek gets excited about created documentation? Or Unit Tests? Hold on, am I dead?
Finally, I have just added PowerCollections into the mix. Haven't really gotten started on them yet, but soon.
Posted by BigEasy at 8/28/2004 06:14:00 PM 0 comments
Thursday, August 19, 2004
VSHOST -- the Hosting Process
Dave Templin explains what that MyApp.vshost.exe is and what it's doing in my bin folder.
[Listening to: Monty Python - Always Look on the Bright Side of Life]
Posted by BigEasy at 8/19/2004 08:19:00 PM 0 comments
Wednesday, August 18, 2004
Of Repaving, Virtual PCs and Paying Attention
Well, it came time to repave my machine (as it always seems to do.) No sweat. I had all of my dev stuff on a VPC image. I even had the C partition going unused from a previous repaving.
So, I install XP + updates + firewall + virus scanner. All is well.
I installed VS2003, Office, etc, etc. All is well.
I mount my VPC iso and install. All is still well. I'm on a roll.
Now comes time to load my VPC image. Boom. Odd. It's complaining about some setting in the Virtual Machine. Maybe I constructed this one with a different amount of memory. Oh well, I'll just blow away the Virtual Machine .vmc file since it doesn't really hold all that much. All the good stuff is in the .vhd file anyway.
I create a New Virtual Machine and load my Virtual Hard Drive. Invalid format?!? Huh? It tells me to go through the XP recovery steps. Fine. {Getting a bit queesy now.}
After chugging along for hours (or so it seemed) it was recovered. Okay. Reboot the VPC and... Boom. UGH!
Only now do I finally notice that I've mounted the wrong ISO. I mounted the Connectix 5.2 VPC instead of VPC 2004. I'm an idiot. But now it's too late. I didn't think to enable Undo Disk before trying this. It's toast.
Nuts.
It's a damn good thing that I had all my source in VSS which I archived before the repave. Saved my ass it did.
The moral of the story. Pay attention dimwit or you might lose something permanently next time.
It's a good thing I didn't go into medicine: "Nurse, you did backup the patient like I asked right?"
[Listening to: Powerman5000 and Rob Zombie - Blast off to Nowhere]
Posted by BigEasy at 8/18/2004 07:46:00 PM 0 comments
NSort: Generics and Testing
Another keeper from Jonathan de Halleux of MbUnit fame:
NSort: Generics and Testing.
This is a pointer to a sorting library NSort, a nice refresher (read: reminder) on Composite Unit Testing plus a neat way of extending MbUnit without actually touching it. Sweet, sweet, sweet.
[Listening to: Genesis - The Lamb Lies Down on Broadway]
Posted by BigEasy at 8/18/2004 09:02:00 AM 0 comments
Tuesday, August 17, 2004
Help Make Blogs More Visible!
There are by some estimates more than a million weblogs. But most of them get no visibility in search engines. Only a few "A-List" blogs get into the top search engine results for a given topic, while the majority of blogs just don't get noticed. The reason is that the smaller blogs don't have enough links pointing to them. But this posting could solve that. Let's help the smaller blogs get more visibility!
This posting is GoMeme 4.0. It is part of an experiment to see if we can create a blog posting that helps 1000's of blogs get higher rankings in Google. So far we have tried 3 earlier variations. Our first test, GoMeme 1.0, spread to nearly 740 blogs in 2.5 days. This new version 4.0 is shorter, simpler, and fits more easily into your blog.
Why are we doing this? We want to help thousands of blogs get more visibility in Google and other search engines. How does it work? Just follow the instructions below to re-post this meme in your blog and add your URL to the end of the Path List below. As the meme spreads onwards from your blog, so will your URL. Later, when your blog is indexed by search engines, they will see the links pointing to your blog from all the downstream blogs that got this via you, which will cause them to rank your blog higher in search results. Everyone in the Path List below benefits in a similar way as this meme spreads. Try it!
Instructions: Just copy this entire post and paste it into your blog. Then add your URL to the end of the path list below, and pass it on! (Make sure you add your URLs as live links or HTML code to the Path List below.)
Path List
1. Minding the Planet
2. Luke Hutteman's public virtual MemoryStream
3. JayBaz_MS blog
4. A day in the life of a home-grown project
5. (your URL goes here! But first, please copy this line and move it down to the next line for the next person).
(NOTE: Be sure you paste live links for the Path List or use HTML code.)
Posted by BigEasy at 8/17/2004 01:20:00 PM 0 comments
Another milestone in my progression into the BlogSphere
Well, my blog has been linked to for the first time in a "main feed". Alan Dean has done me the honours here refering back to my "me too" blog on PassWORDS vs. PassPhrases. Thanks a bunch Alan.
I guess Chris and Raymond can close up their laptops and practicing their hunting/gathering skills -- I'll take over from here ;)
I have been linked to before in a follow up post by Sebastien Lambla here.
While I'm on the podium I still must thank Jonathan de Halleux who posted the first ever comment to one of my blog entries.
Now all I need is a "first-order" link. You know, the ones where someone links to some original content on my blog. I guess I need some original content now.
[Listening to: Guns 'N Roses - One in a Million]
Posted by BigEasy at 8/17/2004 12:09:00 PM 0 comments
[PermissionSetAttribute] Least Privilege
I've been looking for something like this. I'm all for the least privilege thing, but I'm not quite sure where/how to start. Maybe this'll give me a leg up.
Alan Dean shows a good starting point for
Developing software with least privilege using PermissionSetAttribute. Via DotNetJunkies.
[Listening to: Beatles - Something]
Posted by BigEasy at 8/17/2004 10:43:00 AM 0 comments
Wednesday, August 11, 2004
Application Verifier
Rusty Miller brings up what looks to be a very useful testing tool: The Application Verifier.
He says it can help track down heap corruption. Hey, isn't that what C# is for ;-)
Posted by BigEasy at 8/11/2004 08:26:00 AM 0 comments
Friday, August 06, 2004
Duelling Collection Libraries
[Insert banjos here.]
Brad Abrams points to a couple of collection library projects:
- PowerCollections
- A new library from Peter Golde modelled after the BCL framework. So far there is only one usable class, the OrderedDictionary
- C5
- A more complete library paralleling System.Collections.Generic from Peter Sestoft et al.
[Listening to: Disturbed - Dropping Plates]
Posted by BigEasy at 8/06/2004 01:31:00 PM 0 comments
Cheapskate alert: Essential XML now available as a FREE download
This does my inner-cheapskate a world of good. Essential XML is now available from TheServerSide.NET as a FREE download.
Thanks to Rob Caron for the pointer to Brian Ritchie's entry here.
[Listening to: Cardigans - Sabbath Bloody Sabbath]
Posted by BigEasy at 8/06/2004 08:32:00 AM 0 comments
Friday, July 30, 2004
New BCL features in Beta1
A nice overview of the New BCL features in Visual Studio 2005 Beta1.
Of particular interest to me (or it should be anyway) is the ACL support. Now I have even fewer reasons to not write secure systems. Nuts.
I'm also intrigued by the Debugger Display Attributes.
[Listening to Lost Prophets - New Noise]
Posted by BigEasy at 7/30/2004 08:51:00 AM 0 comments
Wednesday, July 28, 2004
ReaderWriterLock + IDispose
Eric Gunnerson points to a useful wrapper for ReaderWriterLock implementing IDispose courtesy of Sebastien Lambla.
[Listening to: KoRn - A.D.I.D.A.S]
Posted by BigEasy at 7/28/2004 02:35:00 PM 0 comments
PassWORDs vs. PassPHRASES
Robert Hensing posted an article on his new blog, humourously titled: Why you shouldn't be using passwords of any kind on your Windows networks . . .. Great stuff. Read the comments too.
[Listening to: Pat Boone - The Wind Cries Mary] (really!)
Posted by BigEasy at 7/28/2004 02:20:00 PM 0 comments
Tuesday, July 27, 2004
MSDN Solutions at a Glance
An Architecture and Design solutions FAQ from MSDN.
Possibly even more useful are the other documents in this area in the TOC.
Now I just have to find time to read them. Sigh.
Posted by BigEasy at 7/27/2004 08:36:00 AM 0 comments
Thursday, July 22, 2004
MbUnit 2.17 (beta) released.
Sweetness. Jonathan de Halleux has released MbUnit 2.17 (beta).
Now I just need to find the Automatic Unit Test Generator plug-in for Reflector.
Posted by BigEasy at 7/22/2004 08:59:00 AM 0 comments
Wednesday, July 21, 2004
Demand, LinkDemand, RequestRefuse and RequestOptional -- Preventing luring attacks
Peter Torr sums up a set of blog entries on luring attacks and other security issues:
Someday this stuff will sink in. Someday.
Posted by BigEasy at 7/21/2004 11:11:00 AM 0 comments
Tuesday, July 20, 2004
Tasks for MSBuild 2.0 (VS 2005 beta 1)
Jamie Cansdale of NUnitAddIn fame has posted the set of Tasks for MSBuild 2.0 (VS 2005 beta 1). Not too shabby.
Posted by BigEasy at 7/20/2004 08:27:00 AM 0 comments
Monday, July 19, 2004
Database Unit Testing issues and solutions: Rollback And RestoreDatabase abilities
Roy Osherove outlines his epiphany surrounding unit tests with databases. Truly brilliant. Needless to say this is way better than what I used to come up with.
[Listening to: Ugly Kid Joe - Cat in the Cradle]
Posted by BigEasy at 7/19/2004 04:07:00 PM 0 comments
Thursday, July 15, 2004
Mailframe Configuration System
Another potentially useful configuration library: Mailframe Configuration System (from thinking-out-loud here.)
[Listening to: Pantera - Living in a Hole]
Posted by BigEasy at 7/15/2004 04:13:00 PM 3 comments
Using the Server (rather than Workstation) Garbage Collector with the .NET Framework (CLR)
Scott Hanselman collected some useful articles on the Server GC: Using the Server (rather than Workstation) Garbage Collector with the .NET Framework (CLR)
And to think that I didn't even know there were 2 GC's.
Posted by BigEasy at 7/15/2004 12:18:00 PM 0 comments
Add Functionality Anywhere in VS with PocketProd
From PowerToys: Extending VS.NET with PocketProd. Haven't had the chance to use it yet, but hopefully it still works with VS2005 Beta.
Posted by BigEasy at 7/15/2004 12:13:00 PM 1 comments
Code Snippet - Schema Description
From the VSEditor's Weblog, The Schema for VS2005 Code Snippets.
This will probably be invaluable as I start adding playing with Snippets.
Posted by BigEasy at 7/15/2004 08:53:00 AM 0 comments
Saturday, July 10, 2004
Visual Studio 2005 Beta here I come
Downloaded the 3.6 GB DVD image... check
Uninstalled the Tech Preview... check
Sleep,Work,Eat... check
Extract .img files (Thanks to IsoBuster)... check
Installing Visual Studio 2005 Beta... working
I'll check back if this ever completes.
[Listening to: Def Leppard - Bringin' On The Heartbreak]
Posted by BigEasy at 7/10/2004 11:06:00 PM 0 comments
Friday, July 09, 2004
Custom Configuration Section Handlers
Don Box points to a couple nice articles on custom configuration file handlers from Craig Andera and Jeff Newsom. Notice in the comments another article on the subject from Phil (a.k.a. haacked).
[Listening to: Tragically Hip - The Heart of the Melt]
Posted by BigEasy at 7/09/2004 09:09:00 AM 0 comments
Creating your own Custom PatternLayout, PatternParser, and PatternConvertor with log4net
I'm a big log4* fan, so naturally I'm all over Scott Hanselmans blog on Creating your own Custom PatternLayout, PatternParser, and PatternConvertor with log4net.
Thanks for doing the recon for everyone Scott.
[Listening to: Tragically Hip - Gus: The Polar Bear from Central Park]
Posted by BigEasy at 7/09/2004 08:48:00 AM 0 comments
Thursday, July 08, 2004
UML Symbols for Visio
Linked through Scott Hanselman: UML Symbols for Visio.
If this saves the headache of dealing with the built-in UML integrity checks I'll be a happy man.
Posted by BigEasy at 7/08/2004 04:06:00 PM 0 comments
thinktecture - Ingo Rammer's Weblog: The Missing Parts Of System.Messaging
Ingo Rammer of Thinktecture fills in some Missing Parts Of System.Messaging.
Don't know if I'll need this, but hey -- I'm a pack rat.
Posted by BigEasy at 7/08/2004 04:02:00 PM 0 comments
Automatic (empty) Unit Test Case generation in Reflector -- NeedItNeedItNeedIt
Jonathan de Halleux once again floors me with this gem: Automatic (empty) Unit Test Case generation in Reflector.
Oh sweet heavenly ham I need this. I can't wait until it's available.
Posted by BigEasy at 7/08/2004 11:02:00 AM 0 comments
GC Performance Counters
Maoni details all of the GC Performance Counters. Sweet.
Now I just have to write enough code to worry about performance.
Posted by BigEasy at 7/08/2004 10:50:00 AM 0 comments
Improving XML Performance in .NET Framework Applications
Dare Obasanjo points to a couple useful articles on Improving XML Performance in .NET Framework Applications.
Posted by BigEasy at 7/08/2004 10:36:00 AM 0 comments
High-performance XML
Daniel Cazzulino presents a series of blog entries on High-performance XML:
Posted by BigEasy at 7/08/2004 10:29:00 AM 0 comments
I'm back -- time to catch up
Now that I'm relatively settled in at the new job it's time to throw out the occassional blog entry. Be prepared for some older links that I haven't had time for until now.
Posted by BigEasy at 7/08/2004 10:24:00 AM 0 comments
Thursday, June 17, 2004
Not much blogging lately (or for the next while)
I'm switching companies in a couple weeks (from HealthCare to Semiconductors -- how's that for a jump.) So, I won't be blogging to much since I have to get a ton of stuff done before I go.
Posted by BigEasy at 6/17/2004 09:40:00 AM 0 comments
.NET Remoting, Enterprise Services and the Future - Indigo
From dasBlonde: Some useful links for .NET Remoting, Enterprise Services and the Future - Indigo. It might as well have had my name on the to: list.
Posted by BigEasy at 6/17/2004 09:26:00 AM 0 comments
Wednesday, June 09, 2004
Richard Wurdack on Profiling, Virtual PC's and Blue Screens
Richard Wurdack posts a couple of articles (Part 1 and Part 2) on Profiling, Virtual PC's and Blue Screens which will almost definitely save me time in the future. It wouldn't've even occurred to me that you cannot use a profiler from a VPC. Maybe I've been spoiled. Originally found on Rob Caron's blog here.
Posted by BigEasy at 6/09/2004 07:28:00 AM 0 comments
Tuesday, June 08, 2004
Checking For A Valid Strong Name Signature
Shawn Farkas post an article that just reeks of something I'm going to need: Checking For A Valid Strong Name Signature.
Posted by BigEasy at 6/08/2004 12:42:00 PM 0 comments
Monday, June 07, 2004
Free home edition of XMLSpy
WooHoo, more free stuff: Free home edition of XMLSpy. Courtesy of Roy Osherove's ISerializable here.
Posted by BigEasy at 6/07/2004 12:26:00 PM 0 comments
devMetrics 1.0: Free C# Software Metrics
From the Powertoys WebLog devMetrics 1.0: Free C# Software Metrics. I've always been intrigued by software metrics from a geek standpoint, although I've never actually found a use for them. Who knows, maybe in time...
Posted by BigEasy at 6/07/2004 12:16:00 PM 0 comments
Asynchronous Commands in ADO.NET Whidbey
Some information from Wallace B. McClure about Asynchronous Commands in ADO.NET with an example.
Posted by BigEasy at 6/07/2004 11:32:00 AM 0 comments
Thursday, June 03, 2004
Little known Win32 APIs: DisableThreadLibraryCalls()
I am a glutton for cool API calls. Courtesy of Larry Osterman: Little known Win32 APIs: DisableThreadLibraryCalls()
[Listening to: Kiss - Cold Gin]
Posted by BigEasy at 6/03/2004 11:04:00 AM 0 comments
Writing managed code for semi-trusted environments
A useful article (albeit an old-ish one) on Writing managed code for semi-trusted environments by Ivan Medvedev. By way of an MSDN article by Keith Brown here (by way of Ken Brubaker's blog here).
[Listening to: Ramones - Journey to the Center of your Mind]
Posted by BigEasy at 6/03/2004 11:00:00 AM 0 comments
Updated Writing Secure Code 2nd Ed Errata
An Updated Errata to one of my all time favourite books: Writing Secure Code 2nd Ed by Michael Howard. Poached from one of my all time favourite blogs by Michael Howard.
[Listening to: Bif Naked - I'm afraid of Britney Spears]
Posted by BigEasy at 6/03/2004 09:39:00 AM 0 comments
Wednesday, June 02, 2004
Running Processes as a Different User
Another gem from Shawn Farkas: Running Processes as a Different User. Definitely a keeper.
[Listening to: Beastie Boys - Back in Black]
Posted by BigEasy at 6/02/2004 01:47:00 PM 0 comments
Monday, May 31, 2004
Enterprise Services and app.config
Armand du Plessis shows how to use an app.config with Enterprise Services.
[Listening to: Rusty - California]
Posted by BigEasy at 5/31/2004 11:18:00 AM 0 comments
Sunday, May 30, 2004
Workaround for Help Issue in Community Technology Preview May 2004
Rob Caron saved my butt with this one: Workaround for Help Issue in Community Technology Preview May 2004
[Listening to: Jeff Healey - While my Guitar Gently Weeps]
Posted by BigEasy at 5/30/2004 10:43:00 PM 0 comments
Saturday, May 29, 2004
Visual Studio 2005 Brief emulation sucks
I got all excited when I saw the Visual Studio 2005 Community Technology Preview May 2004 had Brief emulation. Unfortunately it sucks. First Alt- keystrokes don't work -- they still access the menu items. Also, the Line selection ended up being a normal selection. Ah well.
[Listening to: Eric Cartman - Come Sail Away]
Posted by BigEasy at 5/29/2004 05:47:00 PM 0 comments
Slight change of direction
I'm putting what little I've done aside and starting fresh. I'm doing this for a couple of reasons:
Wish me luck
[Listening to: Sir Mix-A-Lot - Baby Got Back]
Update: added point for Code Access Security
Posted by BigEasy at 5/29/2004 05:03:00 PM 0 comments
Friday, May 28, 2004
Installing Visual Studio 2005 Community Technology Preview May 2004 + MbUnit
Just installed Visual Studio 2005 Community Technology Preview May 2004. Boy that takes a long time. Uninstalling the Tech Preview from March (after recommendations from numerous blogs) and the installing the new one blew away a good 4-5 hours. Running all of this under a Virtual PC certainly can't help either.
One reminder: if you're using MbUnit (or pretty much any other tool that looks at assemblies) don't forget to add the following to the
<supportedRuntime version="v2.0.40426" />
Runs like a charm now.
[Update: Forgot to convert < and > into < and >. D'Oh]
Posted by BigEasy at 5/28/2004 11:54:00 PM 0 comments
High-performance multithreading is very hard
From Raymond Chen's absolute must-read blog - The Old New Thing we have: High-performance multithreading is very hard. Very useful links in this puppy.
[Listening to: Styx - Renegade [I really must swap discs -- I already have this song "blogged"]]
Posted by BigEasy at 5/28/2004 08:40:00 AM 0 comments
Making Strings more Secure in Whidbey
Shawn Farkas gives an overview of the new SecureString class which goes a long way to Make Strings more Secure. (via Dana Epp.)
[Listening to: Soundgarden - Pretty Noose]
Posted by BigEasy at 5/28/2004 08:32:00 AM 0 comments
Wednesday, May 26, 2004
Path.Combine
An extremely useful (albeit old) tidbit from Craig Andera on Path.Combine.
[Listening to: KoRn - Ass Itch]
Posted by BigEasy at 5/26/2004 09:32:00 AM 0 comments
Mvp.Xml - XML cool utilities
From Daniel Cazzulino, Mvp.Xml: XML cool utilities
Looks like some useful tools but once again I'm unsure of the licensing. It uses both the Common Public License and a "Other/Proprietary License". Haven't downloaded yet to see what that means.
Can anyone out there dumb these licenses down for the likes of me?
[Listening to: Sarah MacLachlan & Delerium - Silence]
Posted by BigEasy at 5/26/2004 08:56:00 AM 1 comments
WSE 2.0 Tracing Utility
From the Daily Grind, Mike Taulty's WSE 2.0 Tracing Utility.
I'd be a fool to not realize that I'll need web services somewhere. I'd be a bigger fool to think I'd get them right the first time and not need a tracing utility. Know what you are I always say.
[Listening to: KoRn - Counting]
Posted by BigEasy at 5/26/2004 08:16:00 AM 0 comments
Tuesday, May 25, 2004
XPathReader
Found this useful nugget from Oleg Tkachenko: Signs on the Sand: On XPathReader. Lot's of other useful nuggets too.
By way of Daniel Cazzulino here.
[Listening to: Beatles - Something]
Posted by BigEasy at 5/25/2004 02:33:00 PM 0 comments
Threat Modeling Tool now available
Lifted from Michael Howard's must-read blog:
Threat Modeling Tool now available.
Finally, it has been posted - Frank Swiderski's Threat modeling tool is now available for free download on MSDN. From the blurb:
The Threat Modeling Tool allows users to create threat model documents for applications. It organizes relevant data points, such as entry points, assets, trust levels, data flow diagrams, threats, threat trees, and vulnerabilities into an easy-to-use tree-based view. The tool saves the document as XML, and will export to HTML and MHT using the included XSLTs, or a custom transform supplied by the user.
Read Michael's article original here.
[Listening to: Beastie Boys - Fight for your Right]
Posted by BigEasy at 5/25/2004 12:56:00 PM 0 comments
Web Services Developer Center Home: Programming with Web Services Enhancements 2.0 (Web Services Enhancements (WSE) Technical Articles)
Courtesy of the Daily Grind: a couple of useful articles on Web Services 2.0
[Listening to: Faith No More - Gentle Art of Making Enemies]
Posted by BigEasy at 5/25/2004 11:40:00 AM 0 comments
Eric's list of the Best C# Bloggers
Eric Gunnerson has compiled a list of the Best C# Bloggers. Who knows, maybe next year...
[Listening to: Iron Maiden - Mother Russia]
Posted by BigEasy at 5/25/2004 11:28:00 AM 0 comments
Copy Constructors vs ICloneable
Shawn A Van Ness revisits his previous assumptions of Copy Constructors vs ICloneable. Courtesy of Paul Bartlett.
[Listening to: Black Sabbath - Children of the Grave]
Posted by BigEasy at 5/25/2004 10:41:00 AM 0 comments
Enterprise Service Application reconfiguration
Not exactly sure if I'm going to need this but it kind of "smells" like it might. So, here it is
Enterprise Service Application reconfiguration from Ingo Rammer.
[Listening to: Sarah McLachlan - Unchained Melody]
Posted by BigEasy at 5/25/2004 09:12:00 AM 0 comments
Thursday, May 20, 2004
FREE XDN Professional for .NET Bloggers
Mike Schinkel, president of Xtras.Net is generously offering a
FREE XDN Professional Membership for anyone who blogs frequently about .NET throughout the month of May 2004. If you are a .NET blogger, see Mike's post for how to get your free XDN membership.
First saw this in the Daily Grind from Mike Gunderloy.
Posted by BigEasy at 5/20/2004 09:07:00 AM 0 comments
Wednesday, May 19, 2004
Enterprise Instrumentation Framework (EIF) vs log4net
Daniel Cazzulino compares the Enterprise Instrumentation Framework and log4net here.
I've tried EIF both personnally at work and I have to agree: it's too heavy for me. Who knows, maybe I'll change my mind but for right now: I like the simplicity of log4net.
I have a question (before I start using it): Can anyone boil down the Apache licence v 2.0 to plain english. This is the part that has always made be paranoid with open source licenses: I'm never 100% sure of whether or not, but using an OS tool/library/whatever, I would need to make my source available.
This particular license seems quite open, but, if I use log4net in my app, does that make my app a "Derivative work"? I'm thinking not because in section 1 in the definition of "Derivative Works" (emphasis is my own):
- For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
[Listening to: Marilyn Manson - Irresposible Hate Anthem (Live)]
Posted by BigEasy at 5/19/2004 03:02:00 PM 0 comments
Using the XSLT Transform with XML Signatures
Shawn Farkas posts on
Using the XSLT Transform with XML Signatures. Not sure I really get when I will need to use it, but I sense that I will. Posted here for posterity.
[Listening to: Eminem - Kids]
Posted by BigEasy at 5/19/2004 01:27:00 PM 0 comments
Making Class Library Project your default
Many thanks to Daniel Cazzulino for finding a way to
Make Class Library Project your default. (By way of Armand du Plessis.)
Posted by BigEasy at 5/19/2004 08:42:00 AM 0 comments
Tuesday, May 18, 2004
NTime - Performance unit testing tool
Everyone needs a good profiler. I'll check this out (when I actually have something to profile.)
NTime - Performance unit testing tool (Courtesy of the PowerToys WebLog)
[Listening to: Daniela Mercury - Rosa Negra]
Posted by BigEasy at 5/18/2004 12:56:00 PM 0 comments
Managed DPAPI Part I: ProtectedData
Shawn Farkas shows how to use the new Managed DPAPI in
I figure if I'm going to button down the configuration of this system I'll need something like this.
[Listening to: Styx - Renegade]
Posted by BigEasy at 5/18/2004 12:31:00 PM 0 comments
Assembly.LoadFrom + FileNotFoundException
Jonathan gives us a solution to an
Assembly Loading puzzle. I will eventually need to load my own assemblies, so any hints, workarounds, fixes, best practices: straight to the blog.
Update: He's posted a follow up here
Posted by BigEasy at 5/18/2004 08:32:00 AM 0 comments
Monday, May 17, 2004
IT Security at Microsoft Overview
Michael Howard points to an overview of IT Security at Microsoft. If you care about security (rhetorical question) you should be reading his blog.
Posted by BigEasy at 5/17/2004 11:01:00 AM 0 comments
Friday, May 14, 2004
App.config Examples
Suzanne Cook gives some useful examples of App.config.
She doesn't post often, but when she does it's a keeper.
[Listening to: Tripping Daisy - Rise]
Posted by BigEasy at 5/14/2004 10:28:00 AM 0 comments
Thursday, May 13, 2004
Like the new skin?
Couldn't help myself. Blogger.com has added a ton of new features.
[Listening to: Adema - Freaking Out]
Posted by BigEasy at 5/13/2004 11:43:00 PM 0 comments
Moving from NUnit to MbUnit -- here goes nothing
With some encouragement from my first ever Blog Comment (thank you Jonathan) I'm trying to convert from NUnit to MbUnit. I figure I'd document as I go.
Having dropped the latest version of MbUnit onto my VPC I figure I'd load some existing assemblies to see what happens when using the MbUnit GUI against an NUnit assembly.
First, add an assembly. Hang on... no menus. I had a brain-blip. For a second or two (I hope it was only that long) I couldn't figure out just what to do. Thankfully my well trained right-mouse-button-index-finger jumped in and pulled me out of my haze. Of course, the context menu. Where was I again? [Is it time for my pudding?]
Oh, yes, adding assemblies. Adding my previously compiled assembly gave me a security exception. I guess this isn't too much of a surprise as I'm developing as a non-admin. In particular it was a security error from Microsoft.ApplicationBlocks.ExceptionManagement trying to access the registry. Cool thing is, this error "went away." Okay so I cheated. I ran the app as an admin, then I ran as my user again.
Running a second time I get a different error (progress, no?) It's a System.BadImageFormatException. I know this one. Since I'm running the .NET 1.1 binary on a Whidbey/CTP2005/.NET 2.0 machine it tips over. I can deal with that. Just as the following line to the MbUnit.GUI.exe.config
<supportedRuntime version="v2.0.40301" />
Okay, third times a charm right. Not quite. The app runs. Adding assemblies appears to be working but nothing happens. Running tests does nothing. Removing assemblies does nothing.
Let's try recompiling with MbUnit...
First removing all references to NUnit.Framework; easy enough.
Add references to MbUnit.Framework.dll. You'll need MbUnit.Core.dll too.
Replace using NUnit.Framework;
with using MbUnit.Framework;
(for TestFixtureAttrbite a.k.a [TestFixture]) AND using MbUnit.Core.Framework;
(for TestAttribute a.k.a [Test])
This probably would've been all that's required except that I have some custom NUnit type assert code for things that NUnit missed like AreEqual methods for System.Xml and System.Xml.XPath. So for that there were a bunch of code changes required. I can't help but notice the MbUnit.Core.Framework.Xml namespace. Perchange my custom stuff can go by-by?
BTW: If you aren't using Lutz Roeders amazing .NET Reflector why don't you? Developing in .NET with it is like a kybrd wtht vwls.
So far, so good. I have an assembly.
WooHoo. I'm able to run the tests. A few aren't working, but hey, I changed some code and replace the whole unit testing framework. 2 failures out of 64 tests isn't too bad (I'll look at those later.)
There's a few hiccups with the GUI (loading multiple assemblies caused some grief) but it mostly worked. And the HTML report is sweeet. Once I get the kinks ironed out I'll post again.
That's all for now. Got to get some sleep for my day job. Sigh.
[Listening to: Rob Zombie - Return of the Phantom Stranger]
Posted by BigEasy at 5/13/2004 10:14:00 PM 3 comments
Composite Unit Testing with MbUnit
Jonathan de Halleux uses MBUnit for Composite Unit Testing. I so have to try this.
I originally saw this in a CodeProject article. It seemed almost useful then (no offence Jonathan) but it didn't click until now. I'll let you know how it goes.
Posted by BigEasy at 5/13/2004 11:02:00 AM 1 comments
Beware File.OpenWrite
I can just see me falling for this. CraigBlog - Beware File.OpenWrite. Courtesy of Craig Andera
Posted by BigEasy at 5/13/2004 10:49:00 AM 0 comments
Exclusive read access to MSMQs
Jeff Key gives tips on
exclusive read access to an MSMQ queue. This might be useful.
Posted by BigEasy at 5/13/2004 10:30:00 AM 0 comments
Wednesday, May 12, 2004
New version of SnippetCompiler
Via the Larkware Daily Grind there is a new version of Jeff Key's awesome SnippetCompiler App
Posted by BigEasy at 5/12/2004 08:39:00 AM 0 comments
Wednesday, April 07, 2004
Whoo boy it's been a while
As you can tell it's been a while since my last blog (not counting my shameless plug for some free software.)
As sad as it is to admit, the "real world" interfered with my plans. Neo where are you when I need you.
A lot's happened since I last worked on anything. Primarily, Whidbey has been released in a couple flavours. First the PDC bits, then, more recently, the VS 2005 Community Tech Preview. I figured it would be an excellent opportunity to use the next version of the tools and start HookUp over again. Let's face it, at the pace I'm going I'll hit version 1.0 right around the time that VS 2020 comes out.
This also provides an opportunity to start a "proper" Test Driven Development (TDD) project. I've done a fair amount with NUnit while pretending to do TDD, but to be honest it was more of a TSAABOCIWD approach (Test Sometime After A Bunch Of Code Is Written Development.)
I plan to hook in NUnit from the start. Also I will be making use of FxCop which is currently at version 1.30. There's no better time to start.
Following the advice of a number of blogs I've avoided SourceSafe this time. I played briefly with Subversion and TortoiseSVN with limited success. After a few dozen pages of docs I got my heirarchy set up and was starting to get accustomed to the environment when I corrupted my database. Not a great start. It's a crying shame too, the integration was nice.
So, instead, I switched to Vault. It appealed to me for a couple reasons: 1) it's a commercial product, so hopefully is more stable (fingers are crossed.) 2) it's free for single users. The drawback I see is the need for a SQL server. Since I'm running the Whidbey stuff in a VPC instance the extra cycles for SQL server hurt a bit.
I'll leave it there for now. Wish me luck
[Listening to: Puddle of Mudd - Bring me Down]
Posted by BigEasy at 4/07/2004 09:46:00 PM 0 comments
Wednesday, February 04, 2004
Free defect tracker from Axosoft
Axosoft is offering bloggers a free 3-user version of their .NET & SQL based OnTime defect tracking software (bug tracking software). For more information, visit http://www.axosoft.com/Free3UserOffer.htm.
How can I resist?
Posted by BigEasy at 2/04/2004 10:25:00 PM 0 comments