You've reached the internet home of Chris Sells, who has a long history as a contributing member of the Windows developer community. He enjoys long walks on the beach and various computer technologies.
Saturday, Feb 22, 2003, 10:26 AM in .NET
The Last Configuration Handler I'll Ever Need
Here. From Craig Andera: I'm sure someone, somewhere has already written this, but I figured it out on my own today, and it's just too cool not to share. Basically, it's a bit of code that lets me store objects in my application or web configuration file, and all I have to do is write the type that holds the values.
Friday, Feb 21, 2003, 3:30 PM in .NET
.Net Patent Bid Prompts Concern
Here. Here's how my full quote [1] was cut down for publication. That'll teach me to be thorough. : ) [1] http://www.sellsbrothers.com/spout/#mspatents
Wednesday, Feb 19, 2003, 9:25 AM in .NET
Understanding ThreadAbortException
Here. From Shawn Wildermuth: This is a link to Chris' new article on how he figure out why ThreadAbortException was being thrown by using the Rotor code...Like he's always said, the real documentation in in the source code...
Wednesday, Feb 19, 2003, 1:02 AM in .NET
eXtensible C#© Is Here!
Here. From Pierre Nallet: I just released eXtensible C# (XC#), a companion to Visual studio and C#. XC# supports - Obfuscation - Code coverage - Declarative assertions - Partial code verification - and more... XC# can be downloaded for free at www.resolvecorp.com
Tuesday, Feb 18, 2003, 6:53 PM
Microsoft & Patents
Here. My retort to a report's questions about Microsoft's recent .NET patent application.
Tuesday, Feb 18, 2003, 1:44 PM
Pies & Marketing Guys
Here. The results of my marketing guy's recent foray are in...
Tuesday, Feb 18, 2003, 8:46 AM in .NET
.NET Reverse Engineering Techniques
Here. From Michael Box: Understanding .NET reverse engineering techniques: file examination, disassembly, spying, using a Debugger and other tools.
Tuesday, Feb 18, 2003, 12:00 AM in The Spout
Microsoft & Patents
Tue, Feb 18, 2003
The buzz was all around VSLive last week about Microsoft patenting the .NET Framework API. In fact, an eWEEK reporter asked my opinion and this is what I said:
I'm no patent attorney, but in examining the patent application, it looks to me as if they're claiming a patent for the entire .NET Framework, which comprises the classes that a .NET programmers uses to get anything done. My understanding of the patent laws says that Microsoft has every right to do this, since they invented it. The reason for them to do this is so that they can maintain control of its implementation. Hopefully Microsoft will grant a royalty free license to all implementations of the CLI ECMA standard, which makes up a large percentage of the .NET Framework, or that standard will be worthless.
Even if they grant such a license, projects like Mono are still vulnerable. They plan on implementing even the parts of .NET that aren't standardized, like ASP.NET and WinForms. This would allow Windows programs compiled against .NET to run under Mono on Linux, providing a single API for cross-platform applications. This has been tried and failed in the past as recently as Java, but I had hoped that the Mono guys could make this work. When Microsoft is granted this patent, they can shut down the non-standardized parts of Mono whenever they want. That's good for Microsoft share holders, but it's not good for 3rd party developers that want to write cross-platform solutions.
What I should have added is that as far as I know, Microsoft hasn't ever enforced its patents. Apparently they keep them for defensive reasons only. Or, they could be waiting 'til they have a critical mass of patents, enforce them all at once and win the game of Risk that they're playing with the world. : )
Monday, Feb 17, 2003, 9:18 PM
What Is Meant By Marketing
Here. In my quest for understanding the business side of this industry, I found this amusing...
Monday, Feb 17, 2003, 1:06 PM
Microsoft Gets a Clue From Its Kiddie Corps
Here. A bunch of kids gather in a real-world like setting to design an app, only consulting an actual software engineer after the spec is done. Not only does the core app sound cool, i.e. groups of contacts that play/chat together in an online environment, but the way they designed it sounds cool, too. I'd like to grab a set of my customer base and hang in a trendy Seattle downtown warehouse for a month, too, but my customers are all too old to get away for that long. : )
Sunday, Feb 16, 2003, 2:58 AM in .NET
dotEASY
Here. From Juan Esteban Suarez: Academic project. Free download from www.doteasy.addr.com. Abstract: "dotEASY" is a Visual Studio .Net Add-in that evaluates C# source code and performs "advices" in order to improve software quality. The configuration and programming of the "advices" is invisible to the developer, the tool’s final user, who only requests for code evaluation. A new "advice" can be created defining metrics, thresholds and optionally programming validation classes and execution classes to automatically modify the code. The export and import capabilities allow one person to create an "advice", which can be configured and exported, so it can be used by many other people.
Sunday, Feb 16, 2003, 12:53 AM in .NET
No touch deployment
From David Taylor: I just read Chris Sell's "Distributed .config Files with Smart Clients" article: http://www.ondotnet.com/pub/a/dotnet/2003/01/27/ztd.html Here is another problem I just came across. I often use System.Diagnostics.Process.Start("http://www.sellsbrothers.com") to launch a website (or mailto, etc). However when deploying a simple URL shortcut to the actual application (on a web server), the assembly gets hosted by IEEXEC.exe. The problem is that the Process.Start method then returns a file not found error! I did get it working by directly invoking Internet Explorer, but I needed to know it's directory from the registry because it is not always in the path (and there were some other strange behaviors). So I have ended up using a minimalist setup.msi file that leaves a 5-10 line Loader.exe program on the users computer which in turn loads the assembly from the web server. That way it is *not* hosted in IEEXEC and Process.Start works as expected.
Friday, Feb 14, 2003, 9:00 PM in .NET
More Safe Serialization for .NET
Here. From Dominic Cooney: This library provides similar functionality to the .NET Framework's binary serialization (although unlike Chris Sell's SafeFormatter, it's not a drop-in replacement for the binary formatter; you have to implement an interface). It works on the .NET Compact Framework, and in downloaded code with only 'Internet' permissions. Unlike SafeFormatter, this library preserves the object reference graph.
Friday, Feb 14, 2003, 4:12 AM in .NET
Distributed .NET Newsletter
Here. From Ingo Rammer: Starting with February 2003, I will publish a free, bi-weekly newsletter on distributed programming with .NET which covers architecture, design and development guides and tips as well as links to other free material I consider as "must reads".
Friday, Feb 14, 2003, 2:48 AM in .NET
Data Tier Modeler for .Net - O/R mapping tool
Here. From Sébastien Ros: This new tool is an object-relational framework fully integrated in VS.Net. Its main features are true UML importation, automatic object cache, database specific generation, transparent data encryption and bidirectional relations navigation.