CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Paul Laudeman

Helping You to Make "Smart Clients" Smarter!

September 2003 - Posts

  • "Northwind Unplugged: Building a Semi-Connected Application in Visual Basic .NET"

    In an earlier post I asked about designing applications with offline support. MSDN has recently published an article by Sean “Early” Campbell and Scott “Adopter” Swigart of 3 Leaf Solutions describing a method using datasets and web services. This is definitely getting closer to what I was originally looking for and I'm hoping Microsoft will publish an article soon incorporating some of these concepts and some guidance for using MSDE and SQL Server with replication services to develop a more robust solution.

    If you haven't been to the 3 Leaf website yet, I highly recommend it. As Sean and Scott's names imply, they are definitely into adopting new technologies and sharing their experiences with the community. Their latest presentation, “What's known publicly about Whidbey, Yukon, Longhorn, and Indigo” is particularly interesting as it covers a lot of what's coming down the road for .NET and the Windows development platform.

  • SQL Server 2000 Reporting Services public beta invites go out

    Woohoo! I just received an email from the SQL Server team informing me that I've been selected for the public beta of SQL Server 2000 Reporting Services:

    “Welcome to the SQL Server 2000 Reporting Services Beta Program! You have been invited to participate in the public beta of SQL Server's exciting new product release! If you've seen any of the features or functionality we've developed as part of Reporting Services, you know that this is going to be an extraordinarily exciting beta!

    I've personally been using Reporting Service since its early builds about a year ago and it's transformed my idea of creating, managing and distributing reports and I've barely scratched the surface. We'd like to know what you think and that's why you're here. We're eager to hear your feedback, both good and bad, and we want to make sure it's got the quality level necessary to become your tool of choice.”

    According to the email, Microsoft is planning to ship the first bits in early October.

    Reporting is such a critical part of developing applications and Microsoft's intentions to develop a reporting tool for SQL Server is a very welcome addition, indeed!

  • Useful IDE shortcut for curly brace matching in C#

    If you didn't know already, if you're programming in C# you can quickly find the opening or closing braces in your C# code files by hitting CTRL-] on the opening brace to go to the closing brace, and CTRL-] again on the closing brace to go back to the opening brace. This makes it extremely easy to figure out which brace goes with which brace, as C# is a little less helpful than VB.NET in this regard (for example, if you have an 'If' statement, VB.NET will end it for you with 'End If'). However, oddly enough, the VB.NET editor does not have a corresponding function to match your opening and closing statements.

    To see all the predefined keyboard shortcuts that are currently defined (usually based on the developer profile you chose when you first launch VS.NET), select Tools/Options/Environment/Keyboard.

  • Reminder - check out .NET Rocks Radio!

    .NET Rocks! is an Internet Audio Talk Show for .NET Developers” hosted by Carl Franklin and Mark Dunn. The show features a lot of interesting information that you can put to practical use in you daily development efforts.

    In their latest epsiode, Paul Vick and Amanda Silver are guest speakers from the Visual Basic .NET team and they talk about some of the design issues that they wrestled with in the current version of the language as well as a few new features to look forward to in the next release of Visual Studio .NET (Whidbey). One of the biggest features they mention is support for Edit and Continue in VB.NET and why it is not going to be included in C#.

  • Designing apps with offline support

    I'm currently designing an application that will feature an “offline mode” where users can work completely disconnected from the local network or internet. I came across an article on Designing "Sometimes Off-line" Microsoft .NET Compact Framework Applications and was curious if anyone knew of any similar articles or resources that focused more on traditional desktop applications, preferably covering using MSDE with SQL Server. Thanks!
  • More on using Enums and designing for performance

    Fellow blogger and long time friend Darrell Norton recommends that you always use Enums instead of hard coded constant values. I'd even argue that even with a marginal performance impact, code should be designed for long term maintenance rather than squeezing every last drop of performance out of your application.

    It's also worth noting that one of the main tenents of Test Driven Design advocates that you develop first and then optimize later. A quote from this article citing Michael Jackson states:

    [The First Rule of Program Optimization]
    Don't do it.
    [The Second Rule of Program Optimization---For experts only]
    Don't do it yet.

    In addition, Steve McConnell cites a study on program optimization in Code Complete that states:

    “If the development time saved by implementing the simplest program is devoted to optimizing the running program, the result will always be a faster running program than one in which optimization efforts have been exerted indiscriminately as the program was developed.”

    Does this mean that you should develop your application without keeping performance in mind? Of course not, but with anything, there are trade-offs involved. I'd argue in favor of writing easy to read and maintainable code almost every time and then optimize later as necessary.

  • Random Observation: "Eating your own dog food"

    This is an expression used by developers and managers within Microsoft to live by the software that they develop. This isn't a bad idea, but the food they eat is usually fresh and right out of the kitchen. While this mindset helps in delivering stable products to the customer, it unfortunately doesn't go very far in catching the more subtle errors that occur after prolonged or unexpected patterns of usage.

    Since I'm a hard-core technology junkie, I'd be eager to switch to this new diet, but, unfortunately as a consultant in the real world, I see very few companies who are eager to adopt the latest and greatest every time a new 'must have' product comes out. Because of that, I'm usually the one left behind to find work arounds and document bugs that, if I'm lucky, might be fixed in a future version of the product I'm using. With Visual Studio .NET in particular, it's given me a unique role as a 'goto guy' within the companies I work at because of the knowledge and experience that I've earned through deploying real-world applications .NET-based applications.

    Should I thank Microsoft for this unique position? Well, I think the jury is still out on that question. But it has given me the opportunity to really dig into the framework and IDE and gain a deep understanding of some of the best ways to take advantage of this new platform. I've been working with .NET since the early beta days through Microsoft's Early Adopters program for Visual Studio .NET and also a few other related beta programs. I hope that the experiences I can share with you will help make your own journey through .NET a little more productive and interesting. Thanks for reading my blog!

  • Tip Selected for .NET Developer eXTRA Newsletter

    I'm looking forward to receiving an autographed copy of “.NET Framework Solutions: In Search of the Lost Win32 API” by John Mueller. John selected my tip about managing solutions and projects within Visual Studio .NET and will be publishing it in an upcoming issue of .NET Developer eXTRA. Thanks John!
More Posts