May 2004 Entries

Upcoming Reporting Services SP1

In a posting to microsoft.public.sqlserver.reportingsvcs, Brian Welcker released some details on the upcoming SP1 for Reporting Services. The SP is currently on track for release in the second half of June. In addition to bug fixes, and performance / scalability improvements, major changes include: Excel rendering extension has been improved and now supports viewing in earlier releases of Excel. PDF rendering extension is more robust and has better matrix rendering performance. Chart control provides more control over display styles. References to external URLs (images and resources) from within a report are now supported. Data caching behavior for report preview. NewLine...

New Book

As Scott Mitchell points out, the royalties from a technical book shouldn’t figure into your retirement plans. Nevertheless, I went down this road (again) and co-authored a book featuring the ASP.NET Community Starter Kit. Last summer I was debating if I should take on this assignment or not and looking at the CSK code. I’d have to say the CSK kept growing on me. Unlike the other starter kits the CSK implements advanced features, and it took a bit of tinkering and spelunking to grok all the concepts. I also grew fond of the code because in 1999 I was working...

Nullable?

I’m just not sure I like the nullable type syntax in C# 2.0. Every time I see the shortcut syntax for a nullable type, I cringe a bit. int? i = 2112; // cringe The first thought that struck me when I saw this was that C# language now has some decent material for obfuscation contents. C obfuscation contests have been around awhile, and tools like the preprocessor give C programmers plenty of material to work with. For example, I’d never be able to look at this source code and guess that when compiled it plays a game of adventure. It’s both repulsive and fascinating...

.Text Threading Bug

If you are one of the 7 regular readers here you might have noticed some problems over the last few weeks. Every so often .Text would display an error page with the message: “Value cannot be null. Parameter name: value”. Once the error happened it would stick around until the application restarted. Unfortunately, the error was appearing everyday. After asking around on some of the boards to no avail I did some sleuthing. In .Text 0.95 the Stats class has the following method: public static bool AddQuedStats(EntryView ev) { //Check for the limit if(queuedStatsList.Count >= queuedAllowCount) ...

VS 2005 CTP March 2004

I’ve been working with the CTP to put together an article for ASPToday. Along the way I’ve kept some notes. Since the version I’ve been working with is now obsolete, I thought I should post these notes before they become too obsolete also. The intellisense features are just too good. My cat even loves intellisense. Her name is Beaker. She occasionally lumbers across the keyboard producing random characters and compiler errors, but with the May build I wouldn’t be surprised if she paws out the source to a CLI compliant “Hello World” program. Thanks to Cyrus and the rest of his team...

TechEd TechEd Blah Blah Blah

I don’t have any news to report from TechEd, because I’m not there. I’m not bitter about it though. I’m very happy here in the humidity of Mid-Atlantic USA. I’m very happy walking outside and not being able to hear myself think over the roar of the brood X cicada. I’d say I get a certain amount of glee when swarms of them bash into my windshield like hail pellets in a heavy storm, but you might think I’m some sort of deranged entomophobic who would rather be at TechEd. I don’t want to give you that impression. I’m glad I’m avoiding...

Embedded Code In Reporting Services

If you’ve ever wondered just what you can do with the Code property of a report, this article serves as an introduction.

SQL Server 2005 : Reduces Carpal Tunnel Syndrome Too!!

I came across an MS slide deck recently touting business intelligence improvements in Yukon via Duncan Lamb. Check out slide 22 – it measures the tedious mouse-clicking festival I experienced today designing a cube to analyze hospital profitability (or lack thereof). To build the Sales and Warehouse cubes in the sample Foodmart database using SQL 2000 requires 115 wizards and 1,321 mouse clicks. Building the same cubes in Yukon requires 7 mouse clicks. Honestly, I dread the cube editor in Analysis Services 2000. All hail Yukon!!

The Lab Experiment

The Windows Template Library (WTL) first appeared in the Platform SDK in 1999 I believe, and many Windows programmers latched on to WTL as a lightweight and aesthetic alternative to MFC for building GUIs with C++. About 4 years ago I was at an after hours conference event where someone asked Tony Goodhew about WTL. Tony was, I believe, a PM for VC++ at the time and the response surprised me. WTL, he said, was “an experiment that escaped from the lab” – something to that effect. He then continued to tell everyone not to use WTL. Not in the...

Test-Driven Prose (TDP)

When I work on an article, or a newsgroup answer, I often find myself writing little bits of code to tinker with the framework. Sometimes I just want to try out a scenario before I write up a theory as fact. Other times I just want to see what happens in edge cases through observation instead of digging into a spec or decompile code with Reflector. I’ve found this is a good way to clarify grey areas of documentation. Many times these little code snippets live inside a project in a temp directory with the name of ConsoleApplication9 or something...

Long Race for Longhorn

It is the third Saturday in May, in Maryland, and that spells Preakness with a capital P. 100,000 people descend into north west Baltimore. Many of them will end up in the infield for an endurance test of drinking, dancing, betting, gawking, passing out from sun stroke, and all sorts of debauchery. I enjoy an occasional trip to the track. I never win very much, or loose very much, because I bet pretty conservatively. I determined years ago that betting on horses is not my forte. I look at an evening at the track as an evening of entertainment, more...

Office 2010

When Beth came to the office door I knew the news wouldn’t be good. High energy and optimism combined to give Beth a cheerful personality, but the look on her face didn’t bode well for the project schedule. “Well, I’m back from legal,” Beth said. “We have some work cut out for us”. “What did they say about the latest build?” I asked. “Big problems with the File commands,” she said, “we have to cut the Import command completely”. “What?” I asked, dismayed. “Yep, last year’s ‘SCO versus Corel’ ruling used wording in DMCA III to prevent an application from...

Double Check Locking In The News Again

Once upon a time, Chris Brumme posted about shortcomings in the memory model of the ECMA specification for the CLR. Not necessarily shortcomings from a runtime performance point of view, but shortcomings from a programmer productivity point of view. In the post he discussed why double check locking requires some attention to detail. Specifically, the following code snippet may not be as thread safe as it first appears. if (a == null) { lock(obj) { if (a == null) a = new A(); } } There are interesting comments in response to the post, and eventually Jon Skeet...

Server Software For The Desktop

For the past four years I’ve always run a server version of Windows on my development machine. I do this for a few reasons. On those rare occasions when I find myself in a server room around a production machine, I feel comfortable knowing where all the buttons and settings are. It’s hard to feel comfortable when you have only a vague memory of where you saw a particular configuration dialog, and pointy haired people stand behind you spouting “Is it online yet?”. The other reason is that I want to feel like I am getting my moneys worth from...

What Goes On At the ASP.NET Website?

First, I think ASP.NET is a great web site, and featuring articles from all over the community helps build a diverse and informative resource for developers. But… There are problems which in my opinion devalue the site. I used to think there was some forethought and human intelligence behind the scenes which would take the steps necessary for the site to appear with the polished veneer you’d expect from a site with Microsoft’s name attached, but the ‘man behind the curtain’ appears to be 100% silicon. Take today’s new article description. This is obviously meant to reach someone who is...

New Longhorn Bits

Robert McLaws has compiled a list of “things to do” while downloading the latest Longhorn bits, and I may make it through most of them as I still have 5 hours left (not counting the SDK transfer of 380 MB). The transfer rate has steadily been falling from ~ 70 KB/sec to about ~ 20 KB/sec as the evening progresses. I don’t think I will be seeing the installation and setup screen until after a night of sleep. Update: it appears I have downloaded the DDK, not the SDK, as the SDK has yet to appear on subscriber downloads. Chris Sells...

ASP.NET Validation : False Sense of Security?

A subtle and dangerous bug appears regularly in newsgroup postings, and some have even sighted the problem in sample code from articles and books. Take the following ASPX snippet: <asp:textbox id="txtPassword" runat="server"/> <asp:button id="btnSubmit" runat="server" Text="Submit"/> <asp:requiredfieldvalidator id="valReqPassword" runat="server" ErrorMessage="Password required" ControlToValidate="txtPassword"/> And the following code-behind logic: private void btnSubmit_Click(object sender, ...

Scott Allen
Posts - 869
Comments - 4493
Stories - 14