February 2004 Entries

Anti-virus technology in XP SP2

Dana Epp points to an Internet News article stating XP SP2 will include a virus scanner. I can see the controversy coming, as many people will be unhappy about MS bundling more software into the operating system. I think the move was inevitable for Microsoft. When people refer to your software as a national security threat, even a global security threat, then it’s time to step up and take action. Let’s face it – anti virus as an add-on product just doesn’t work. When someone walks into BestBuy with $50 to spend, I’m sure the products like Halo move much faster than...

Reporting Services article

Here is a new article demonstrating how to use the web service API of Reporting Services to build a tree view of reports available to a user. The ASP.NET project also hosts the ReportViewer sample component in a page to display reports. Reporting Services Tree Navigation Sample

Scalable software: a different angle

Friday was one of those days when I didn’t get to sit at my desk till 2 in the afternoon. What was supposed to be a quick overview of upcoming requirements became an embroiled strategic planning meeting. I came out thinking: how scalable is our software? I wasn’t thinking of scalability in the sense that Sam Gentile was recently thinking about scalability. I was thinking that given the architecture and feature set of our software, how many clients can our small startup support? Since I am probably as clear as mud, let me give you a scenario without too many...

Newsgroups, Blogs, and Magazines

According to Google groups, I started posting to USENET in 1995. It seems like a long time, but a colleague of mine (we’ve worked together at not one, but two startups) has an archived post that precedes mine by almost 10 years. I’ve always liked newsgroups. I still browse and post, and if Google groups (I still type in www.deja.com) had a nickel for every newsgroup search I’ve done, I’d have to sell a kidney to buy food. Reading through a .NET newsgroup today puts you right in the development trenches. Here you will find people trying to figure out...

Don’t Download That Source Code

If you are looking for the leaked MS source code, don’t do it. As John Lettice points out: …if you are offered unlicensed access you're smart not to even look at it, because simply knowing how the stuff works compromises your ability to produce products independently, and renders you difficult/dangerous to employ in the relevant field. And later … Finally, this is very important: if you propose to continue working in the IT industry, and somebody offers you a look at the source, just say no. Remember - if you learn too much about the internals of Microsoft products, you...

Flashbacks to string handling in C++

For the last 18 months I’ve done no real development outside of C#. After 10 years of C++ I was starting to think at times I missed it. Then I downloaded the source code to Allegiance, because I just can’t resist looking at source code. I ran across this: while (true) { UpdateText((char*)LPCTSTR(CString("Copying ") + CString(data.cFileName))); if (data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { if ( (strcmp(data.cFileName, "." ) != 0) ...

What's wrong with System.Threading.ThreadPool?

There are some good responses to Rory's post with the above title. I like the ThreadPool class because it simplifies spinning off worker tasks, but I did run into one area where I could not use it. All the threads in the ThreadPool CoInitialize into an MTA. If you are doing COM interop with STA components (like any VB6 component), and want to avoid the marshalling overhead, there is no choice but to spin up your own thread with ApartmentState = ApartmentState.STA set before start.

New Mono release

Mono 0.30 is now available. It is also encouraging to see some serious effort in porting useful .NET apps to mono, for example, dasBlog. I agree with a recent posts on [mono-list], rebuild the go-mono.net site in ASP.NET to really show it off.

Doh!

Note to self: When the temperatures are consistently below 20 degrees Fahrenheit, don't forget to bring the soda in out of the car.