Monday, July 12, 2004

The Definitive "Hello World" Web Part Tutorial
Learn how to create and deploy a full-functioning Web Part for a Windows SharePoint Services site. In this article you will see how to accomplish each of the steps to take a Web Part from its earliest stages to being fully packaged for wide distribution. This article pulls together tips and instructions from many sources and ties them together in a seamless, step-by-step approach.
Office Developer Center: Technical Articles: Building XML Data-Driven Web Sites with FrontPage 2003
FrontPage and ASP.net
Not SharePoint authoring per se, but here’s a good article on MSDN about using FrontPage 2003 to write ASP.net pages. The article is written by Dave Berry author of FrontPage Unleashed books and one of the FP MVPs who I recently met when they came to Seattle a few weeks ago.

That reminds me; I've been meaning to point to this article about creating data-driven sites with FP2003. It's a great overview of new data features, and a good place to start if you are not sure where to begin with data views.

[edited 5/6/04] Note the above article has been around for a while (since October I think), and is called, “Building XML Data-driven sites with FrontPage 2003“. If you've been following data features in FP2003 since launch, you may have already seens this.

Using an XmlPublisher in the ExceptionManagement ApplicationBlock
Main Page - Wikipedia, the free encyclopedia: "Welcome to Wikipedia! We are building an open-content encyclopedia in many languages. In the English version, started in January 2001, we are now working on 303731 articles. Learn how to edit pages, experiment in the sandbox, and visit our Community Portal to find out how you can participate in the development of Wikipedia."
Document .NET Libraries with XML Comments: "A combination of the XML comments feature built into the language and the open source NDoc project makes it easy to generate high-quality SDK-style help."

Saturday, July 10, 2004

Bruce Eckel's MindView, Inc: 7-9-04 Java Issues & Directions
Fascinating talk by Bruce about some of Java's major flaws. He also touches on other issues relevant to software development in general. The video is about 2 hours and 15 mins but it's well worth the time.
Code Complete 2 - Code Complete, Second Edition
For more than a decade, Steve McConnell, one of the premier authors and voices in the software community, has helped change the way developers write code--and produce better software. Now his classic book, CODE COMPLETE, has been fully updated and revised with best practices in the art and science of constructing software. Whether you're a new developer seeking a sound introduction to the practice of software development or a veteran exploring strategic new approaches to problem solving, you'll find a wealth of practical suggestions and methods for strengthening your skills. Topics include design, applying good techniques to construction, eliminating errors, planning, managing construction activities, and relating personal character to superior software. This new edition features fully updated information on programming techniques, including the emergence of Web-style programming, and integrated coverage of object-oriented design. You'll also find new code examples--both good and bad--in C++, Microsoft(r) Visual Basic(r), C#, and Java, though the focus is squarely on techniques and practices.
Download details: Improving .NET Application Performance and Scalability: "This guide provides end-to-end guidance for managing performance and scalability throughout your application life cycle to reduce risk and lower total cost of ownership. It provides a framework that organizes performance into a handful of prioritized categories where your choices heavily impact performance and scalability success. The logical units of the framework help integrate performance throughout your application life cycle. Information is segmented by roles, including architects, developers, testers, and administrators, to make it more relevant and actionable. This guide provides processes and actionable steps for modeling performance, measuring, testing, and tuning your applications. Expert guidance is also provided for improving the performance of managed code, ASP.NET, Enterprise Services, Web services, remoting, ADO.NET, XML, and SQL Server."
The Bitter End: A fresh look at the waterfall
Did you ever think that the stages defined within a waterfall process were a little inaccurate. David Pinn decided to rename the phases according to what really happens:

Analysis = Dream
Design = Guess and Waffle
Build = Hack and Play
Test = Wobble and Groan
Deploy = Push and Pray
Support = Duck and Deny

http://byandlarge.net/thebitterend/archives/000210.html
Dale H. Emery - Conversations with Dale - The Prime Project Failure Factor: "From time to time, The Standish Group publishes reports about their CHAOS research, which analyzes the factors that drive success and failure in large IT projects. The first CHAOS Report, published in 1994 and now freely available on the Standish Group's web site, has become famous in the software industry. The report identifies these failure factors:
Lack of User Input
Incomplete Requirements & Specifications
Changing Requirements & Specifications
Lack of Executive Support
Technology Incompetence
Lack of Resources
Unrealistic Expectations
Unclear Objectives
Unrealistic Time Frames
New Technology "
Simplified Database Unit testing using Enterprise Services: "In this article I�ll show what problems we encounter today when we perform unit tests against database related component, and the various ways used to solve these problems. I�ll also show a new method to solve these problems, which is far easier and simpler than any of the others. At the end of this article you will have the tools necessary to do simple and easy unit tests against database related components without the need to write messy cleanup code after your tests."
About DRES: "DRES - Distributed Requirements Engineering System
free open-source requirements management software"
Free XMLSPY Home Edition License: "The xmlspy� 2004 Home Edition makes XML editing technologies available in a FREE application ideally suited for hobbyists, entry-level developers, and students."
Free .NET Tool - .NET Code Metrics - NDepend - Analyzes .NET Assemblies and Generates Design Quality Metrics - Software Metrics: "NDepend analyses .NET assemblies of an application and generates design quality metrics. NDepend allows you to automatically measure the quality of a design in terms of its extensibility, reusability and maintainability to effectively manage and control the assemblies� dependencies of your .NET applications. Moreover, NDepend helps you to get a thorough view of the topology of your application, at component at type and at member level."
Resources: "The following web sites provide useful XML information"
Charles F. Goldfarb's XMLbooks.com: "This list includes all the books I know of with substantial content devoted to XML and its closely-related standards and technologies. It is shorter than the lists you get from bookstore search engines because it excludes editions earlier than the current one and books that are out of print or unavailable from Web vendors. (There are a few out-of-print books that are still relevant and are readily available.) "
Nini - Configuration library for the .NET Framework and Mono: "Nini is a software configuration library written in 100% C# for the .NET Framework. This software contains a powerful API for abstracting the access of multiple configuration types: INI, .NET config files, registry, XML files, and command-line options. The library was written to be very lightweight and fast. It also includes an INI parser library. "
O/R Mapper - NPersist - Free Open Source .Net O/R Mapper - Tampa Programmer - Florida: "Pragmatier is promising to release a Free Open Source .NET O/R Mapper, called NPersist."
Download details: SharePoint Configuration Analyzer: "SharePoint Configuration Analyzer is a diagnostic tool that verifies settings on your server that are critical to running Microsoft Windows SharePoint Services or Microsoft Office SharePoint Portal Server 2003 and to hosting Web Parts on your server."
Reporting Services WebParts - Walkthrough: "In this article I'm going to walk you through how to setup the RsWebParts with SharePoint. The first thing you will need to do is download the CAB file from the RsWebParts workspace. The current version is 1.0.0.0. Next you will need to install the CAB file on your SharePoint server. NOTE: please test these on a development box first. Below are the step-by-step instructions to install the WebParts."
MSDN Magazine: Use Windows SharePoint Services as a Platform for Building Collaborative Applications: "For those of you that do not subscribe to MSDN Magazine, here is a great article entitled �Use Windows SharePoint Services as a Platform for Building Collaborative Applications� covering SharePoint Architecture, Content/Config Databases, IIS and .NET Integration, as well Site Administration on both WSS and SPS.
The article presents a great foundation for people who just want to understand SharePoint a bit better. The next article says it will dive into the WSS and SPS object models as well as the development of custom Web Parts."
Launched: Microsoft Community Blogs: "Point2Share
A Blog for Casual Comment on SharePoint"

Friday, July 09, 2004

oreilly.com -- Online Catalog: Online Investing Hacks
For the geek who's an investor and the investor who's a geek, we present "Online Investing Hacks," 100 industrial-strength, bleeding edge tips, tools, and techniques for analyzing and managing online portfolios.

Whether you're looking for suitable investments, studying alternatives, or managing your portfolio, you need data. The Internet can be a goldmine of financial data and research, but today's online investors also use spreadsheets, databases, and financial applications to select, study, and manage investments. If your proficiency has grown to the point where you crave industrial-strength tips and tools to turbo-charge your efforts, this is the book for you.

This book covers:
-Screening investments
-Collecting data
-Fundamental analysis
-Technical analysis
-Executing trades
-Investing in mutual funds
-Portfolio management
-Updating stock data
-Financial planning

"Online Investing Hacks" is for the investor who wants to know the latest techniques, to go beyond the basics, who gets jazzed by cool online tools and services, and who actually wants to have a bit of fun while trying to strike it rich (or at least not lose their shirt).
Enterprise Integration Patterns: Gregor's Ramblings
I have been looking for a way to share more thoughts and ideas on my site without committing to a regular blog. For now, I created these "rambling" pages to talk about timely topics. Most entries will be longer than typical blog entries but will likely also appear much less frequently (I'll try to post something every other week or so). I call them "ramblings" because these notes are typically based on my personal opinions and observations as opposed to official "articles".
I created a very simple RSS Feed. This is my first experiment with RSS, so forgive me if something does not work quite right.
Home - Enterprise Integration Patterns
ASP.NET Providers, reloaded: "Rob Howard wrote
the second part on the provider design pattern they are using in Whidbey, and how to implement it in v1.x. An interesting reading. First of all, I'm really amazed at how open these guys are to good feedback from the community. Rob even dedicated a paragraph named 'Extending configuration' that explains why they chose a NameValueCollection for provider initialization over an XmlNode, as I suggested (I'm sure other did too, it's a pretty obvious thing to ask). I really don't share the feeling that a NameValueCollection is *sooo much* easier than an XmlNode and its added flexibility, but at least I understand now why they did so: they expect complex providers to have their own section handler with all the information they need to work, which makes perfect sense! "
Extreme browser customization: "I've already said why I believe FireFox is the best browser ever. Let me show you another amazing feature of this browser. "
The Code Project - ToDoList 3.7 (RC6) - Free Tools: "ToDoList 3.7 (RC6) - A simple yet effective way to keep track of your current programming tasks. A tree-based task manager with native XML support for easy web site integration"
PestScan � free online spyware scanner from PestPatrol
Pest Patrol announced this week a new library of
spyware information and removal instructions. It's
available at http://research.pestpatrol.com/ .
A Search Engine for Detecting Sites Using Your Content -- ResearchBuzz, July 06, 2004: "There used to be a site that allowed you to enter a chunk of text and find other sites on the 'Net using that same text-chunk. I think that site's gone away. Anyone who wants to see if their content is being repurposed anywhere might instead want to try the new Copyscape, currently in beta ( http://www.copyscape.com/ ). "
The Harvard Center for Cancer Prevention has had a
site called "Your Cancer Risk," and has expanded
it to "Your Disease Risk," which calculates the
likelihood of getting five different diseases in
the US. It's available at
Your Disease Risk
Download Java Testing and Design PDF
Top Ten Truly Obscure But Useful Java Projects
http://www.manageability.org/blog/stuff/top-ten-truly-obscure-java-projects
Driver Development Kit - Common UNIX Printing System - Easy Software Products
The Code Project - Building Websites with the ASP.NET Community Starter Kit - Chapter 8 - Book Chapters
Building Websites with the ASP.Net Community Starter Kit
by Cristian Darie, K. Scott Allen
AWStats - Free log file analyzer for advanced statistics (GNU GPL).
I just got my most recent email notification from SourceForge, and their “project of the month” is AWStats. It looks very full featured and provides some great analytical infromation. If you need to do any trend or usage analysis for your own web sites, this looks like a great place to start.

Another fascinating site is the NetScan research site at Microsoft, which studies communication patterns on newsgroups. Spend 10 minutes there and I'm sure you'll be intrigued.

Creating Custom Site Definitions
Last month I did an MSDN presentation on building your own site definitions in SharePoint. Thom Robbins has a fine little walk-through and explanation on the matter.
ONJava.com: Spring in Action, Part 2
ONJava.com: Spring in Action: "Author's note: In this excerpt from Chapter 8 of our book, Better, Faster, Lighter Java, we look at an example of an enterprise web application using the Spring framework. While Hibernate provided a single service, the Spring framework provides an efficient way to build and assemble Java applications, with abstractions for many services. Although it supports many services, Spring stays focused and clean with excellent layering and encapsulation. Like EJB, the centerpiece for Spring is a container, and like EJB, the Spring framework provides access to core J2EE services. But that's about as far as any similarities go. Here's a metaphor."

Thursday, July 08, 2004

Code Template Autocompletion for VS 2002 and VS 2003
Extending the screensaver in the whidbey Beta1 express sku
The worst maintenance task ever (a rant)
Check out the Web Site Application Administration Tool in ASP.NET Whidbey
Microsoft QuickStart TutorialsASP.NET 2.0 Quickstarts are live.
BizTalk Server Adapter for SharePoint Libraries: Releases: "This article describes a Microsoft� BizTalk� Server adapter that facilitates end-to-end communication between front-end Microsoft Office System 2003 applications and back-end enterprise systems. SharePoint libraries store Office System XML data while BizTalk Server orchestration provides services for integrating that data with back-end systems. This adapter makes SharePoint libraries accessible to BizTalk Server 2004 to provide an end-to-end integration path from the Office System 2003 applications to back-end enterprise systems. "
Download details: SharePoint Products and Technologies Templates: Web Part Templates for Visual Studio .NET: "Use these templates to create Web Part libraries containing Web Parts and Tool Parts for Windows SharePoint Services."
RsWebParts: Home: "A collection of SharePoint WebParts that integrate with SQL Server Reporting Services. "

Wednesday, July 07, 2004

Eli's SharePoint Resources!!!
The birth of "21 Myths of Software Security�
Tools for a Web Service World...
New Command Line Tools in XP and Server 2003:
Go to Start, then Run and type hh ntcmds.chm and click on New command-line tools.

Want a quick way to find information about a Windows XP computer? Try SYSTEMINFO.EXE from the command line. It can be automated, and the results can be placed in a file.

I learned about this utility at TechEd and just had to share it... If you've heard of WMI, then WMIC.EXE will make it useful. It's a command line interface for WMI that doesn't require scripting. It also allows you to access WMI on Windows 2000 computers through the network. It gives you invaluable information about your computer in an easy to read web page among other formats. Try this on an XP or Win2K3 test computer. wmic startup get /format:hform > startup.htm Then open startup.htm. You could add to it like this: wmic useraccount get caption, lockout /format:hform > useracct.htm. You could also use it interactively by typing wmic (enter) and using /? for help. It contains a great deal of information about lots of stuff. Okay, one more: wmic netlogin get /format:hform > netlogin.htm.
Port Reporter: "Several other people are blogging about this tool, Port Reporter, and I think this is a great Windows security tool. You can download it from http://www.microsoft.com/downloads/details.aspx?amp;displaylang=en&familyid=69BA779B-BAE9-4243-B9D6-63E62B4BCD2E&displaylang=en "
Borland Blogging Community!!!
1 succeeded 0 failed 0 skipped - .NET Remoting in a disconnected state: "It seems that if you are working in disconnected mode the Remoting framework can�t perform ip / host lookups correctly and generates the above runtime error. The solution is to install Microsoft�s Loopback Adapter."
Installing Microsoft Loopback Adapter: "Hey all, one of the feedback forms from the hands-on lab I presented about remote debugging indicated that you'd like to hear more information about how to use the Microsoft Loopback Adapter that I used to mimic a LAN connection within the local machine to connect the development OS to the virtual machine."
John Kennedy blogs about C# Express: "John Kennedy blogs about C# Express
John Kennedy, the man behind the local docs that come with C# Express has a couple of blog entries on C# Express you should definitely check out:
C# Express: Getting Started
C# Express: My Favorite IDE Tricks
C# Express: Refactorwhating?
He also has some fun samples in the way for MSDN :)"
C# Express: Getting Started
MapPoint Web Service: "Microsoft MapPoint Web Service is a hosted, programmable XML Web Service that allows you to integrate high-quality maps, driving directions, distance calculations, proximity searches, and other location intelligence into your applications, business processes, and Web sites."
Programming with Demo Location Provider
Choosing between InfoPath and Smart Document Solutions: "I was asked recently about when it would be appropriate to use InfoPath vs. Smart Documents. It's an interesting question as there is quite a degree of overlap between these technologies, so here are my rules of thumb for choosing between them..."
nprof: The .NET profiler application and API
ASP.NET.4GuysFromRolla.com: Nprof and ACT, Your Performance Assistants
Integration Patterns
explains how patterns were used to design and build an integration architecture within a representative customer scenario. The guide includes a catalog of 18 common integration patterns including implementations that use the Microsoft platform.

Analysing .NET Apps for Performance using NProf
MSDN Webcasts Doctrine: "I was looking at channel 9 and realized that I don't have our MSDN Doctrine published. So here it is:
Anyone can attend for free, anytime, from anywhere.
We publish live technical webcasts for public consumption by those interested in developer and software architectural webcast content.
We will not charge for this content. The idea is that you can attend these webcasts for free and learn.
We take questions from our live audience, and do our best to answer them.
We focus on less slides and will show our attendees how the technology works (app sharing, desktop sharing,etc).
We do it more than once daily; sometimes even during lunch and especially after lunch (PST time).
No B.S. We don't push out marketing type content (even though we're in the Microsoft business marketing organization). If someone tries, we take them out back and beat the $%@) out of them.
We do this live and then record it so those who have day jobs can watch them as well as time permits.
We only get the serious subject matter experts to present; where ever they are in the world.
We focus our content so that's it clearly Introductory - Level 100 (you do need to know some code), Intermediate - Level 200 (you can code), Experienced - Level 300( you've been doing code for awhile) , and Advanced - Level 400 (you da man!).
Finally, we love developers!
Regards,
George, MSDN Webcasts
"
Design Guidelines for Class Library Developers: ".NET Framework General Reference - Design Guidelines for Class Library Developers"
devAdvantage 2.0: More C# Rules, More .NET Features: "devAdvantage 1.0, a tool that automates C# code reviews and fixes problems the problems found, was released in October of 2003. The 1.0 release provides rules targeted at programmers that develop multi-threaded .NET applications. The devAdvantage 2.0 release now begins to broaden the functionality to every day tasks that all C# developers perform by delivering a collection of rules for naming conventions. "
A .NET Developer's Guide to Windows Security
Table of contents:

Front Matter (TODO)
Part 1: The Big Picture
Item 1: What is secure code?
Item 2: What is a countermeasure?
Item 3: What is threat modeling?
Item 4: What is the principle of least privilege?
Item 5: What is the principle of defense in depth?
Item 6: What is authentication?
Item 7: What is a luring attack?
Item 8: What is a non privileged user?
Item 9: How to develop code as a non-admin
Item 10: How to enable auditing
Item 11: How to audit access to files

Part 2: Security Context
Item 12: What is a security principal?
Item 13: What is a SID?
Item 14: How to program SIDs
Item 15: What is security context?
Item 16: What is a token?
Item 17: What is a logon session?
Item 18: What is a window station?
Item 19: What is a user profile?
Item 20: What is a group?
Item 21: What is a privilege?
Item 22: How to use a privilege
Item 23: How to grant or revoke privileges via security policy
Item 24: What is WindowsIdentity and WindowsPrincipal?
Item 25: How to create a WindowsPrincipal given a token
Item 26: How to get a token for a user
Item 27: What is a daemon?
Item 28: How to choose an identity for a daemon
Item 29: How to display a user interface from a daemon
Item 30: How to run a program as another user
Item 31: What is impersonation?
Item 32: How to impersonate a user given her token
Item 33: What is Thread.CurrentPrincipal?
Item 34: How to track client identity using Thread.CurrentPrincipal
Item 35: What is a null session?
Item 36: What is a guest logon?
Item 37: How to deal with unauthenticated clients

Part 3: Access Control
Item 38: What is role based security?
Item 39: What is ACL based security?
Item 40: What is discretionary access control?
Item 41: What is ownership?
Item 42: What is a security descriptor?
Item 43: What is an access control list?
Item 44: What is a permission?
Item 45: What is ACL inheritance?
Item 46: How to take ownership of an object
Item 47: How to program ACLs
Item 48: How to persist a security descriptor
Item 49: What is Authorization Manager?

Part 4: COM(+)
Item 50: What is the COM(+) authentication level?
Item 51: What is the COM(+) impersonation level?
Item 52: What is CoInitializeSecurity?
Item 53: How to configure security for a COM(+) client
Item 54: How to configure the authentication and impersonation level for a COM+ application
Item 55: How to configure the authentication and impersonation level for an ASP.NET application
Item 56: How to implement role based security for a managed COM+ application
Item 57: How to configure process identity for a COM(+) server app

Part 5: Network Security
Item 58: What is CIA?
Item 59: What is Kerberos?
Item 60: What is a service principal name (SPN)?
Item 61: How to use service principal names
Item 62: What is delegation?
Item 63: What is protocol transition?
Item 64: How to configure delegation via security policy
Item 65: What is SSPI?
Item 66: How to add CIA to a socket-based app using SSPI
Item 67: How to add CIA to .NET Remoting using SSPI
Item 68: What is IPSEC?
Item 69: How to use IPSEC to protect your network

Part 6: Misc
Item 70: How to store secrets on a machine
Item 71: How to prompt for a password
Item 72: How to programmatically lock the console
Item 73: How to programatically log off or reboot the machine
Item 74: What is group policy?
Item 75: How to deploy software securely via group policy
A .NET Developer's Guide to Windows Security, by Keith Brown:
http://www.pluralsight.com/keith/book/html/book.html
"I originally wanted to call this book 'Essential .NET Security'. But I've decided to narrow my scope a bit to fill a niche that other books on .NET security either completely ignore, or usually get quite wrong. That is, what key things should a .NET programmer know about Windows security - the operating system that will be hosting the vast majority of all .NET applications for the forseeable future. The .NET framework doesn't do a very good job abstracting Windows security at the moment, so the book will come with a library of code that helps make Windows security easier to use from the .NET Framework (even with Whidbey)."
New Community sites go live: "The team has been working to release a few new community pages related to different products, if you haven't seen them please be sure to check out the following

At Home ; At Work; Digital Photography; Games for Windows; Home Networking;
Instant Messaging; Media Center; Tablet PC; New Windows XP User;
Printing, Imaging, and Fax; Windows Media Player and Windows Movie Maker"
.NET Backwards Breaking Changes from version 1.1 to 2.0

Just Another BizTalk 2004 B***
Martijn has a bunch of interesting BizTalk things on his blog including a modification to the file adapter sample to support regex.

Wednesday, June 30, 2004

Sax.net and Fun with JLCA 2.0
...
With literally a handful of keystrokes I was able to convert a significant amount of java language code to C#, leaving me with the more interesting points of the conversion and getting rid of the monotony for me. I still have my anal-retentive tasks to perform, such as upgrading the comments to work with VS.NET's code comment builder (and Roeder's Commenter as well). But the JLCA took a large amount of that pain away from me quickly.
On Writing

http://pluralsight.com/samples.aspx?category=aspdotnet
Sample asynchronous handler implementation in ASP.NET 1.x
Fritz Onion
Efficient Role-Based Authorization Sample
Fritz Onion
Bar graph control with designer
Fritz Onion
Dog control (designer integration example)
Fritz Onion
Using IIS/ASP.NET to Host .NET Remoting Servers
Mike Woodring
Logging HTTP Module
Mike Woodring

http://pluralsight.com/books/essentialasp.net/
Essential ASP.NET with Examples in C#
Don Box's Spoutlet
Vil v1.1 released - has features requested by TSS.NET readers!
benjaminm's blog - BOF001: James Newkirk on Integrating Unit Testing into the Software Development Lifecycle.
Getting started on XSD

XSD Schema Tricks and Tips by Kurt Cagle - http://www.vbxml.com/xml/articles/xsd/default.asp
XML Schema Part 0:Primer - http://www.w3.org/TR/xmlschema-0/

You must have a different version of Visual Studio .NET than me (2003).

In my version, I can bring up the properties window (F4) to set minOccurs and maxOccurs.

I can also open any XML file, right click on it and choose "Create Schema".

I also get little red squigglies when my test XML file doesn't match its assigned schema.

I like XML Spy as much as anyone, but I don't think its fair to say something "sucks big time" before you know all the facts.
Dynamic Search Conditions in T-SQL
Long article but great one by Erland Sommarskog on searching data with many criterias.
I prefer myself stored procedure, but there you can find some good alternatives.

Another Ambient Orb used for continuous integration status
Here's a little more about our build process. When our CruiseControl.NET server kicks off a build it does the following:

Build using NAnt*
Get files from SourceSafe using NAntContrib
Unit test using NUnit
Coverage analysis of unit tests using NCover*
Generate MSDN style documentation using NDoc
Generate a missing documentation tag report (homegrown script that reports the tags in the NDoc documentation)*
Perform static analysis using FxCop
Create Windows Installers using WiX
Generate build manifest report (homegrown script that lists all files and version numbers that are included in the distribution)*
Finally it indicates to the Orb whether all of the above succeeded or not.
* We have extended CruiseControl.NET's web to include pretty reports for these items.
Free ASP.NET Controls

Matt Hawley has a terrific set of custom controls on his Excentrics World website. How did I miss these for so long? In addition to a few standards (calendar, show/hide panel), he's added some highly practical variations like a textbox that uses an input mask (see the phone number demo) and a time picker to go with all your calendars. Nifty.

Accordion Panel
Bread Crumb Trail
Calendar Popup
Collapsable Panel
Empty DataGrid
Faq Repeater
Masked TextBox
Multi-Text List Controls
Numeric Box
Ordered ListBox
Time Picker
Matt's blog is pretty cool too. Looks like he does a fair number of reviews and has a usable rating system (as in he actually scores components a 1 from time to time rather than alternating between 4's and 5's).

Anytime the topic of controls comes up, t'would be remiss to omit Andy Smith's terrific MetaBuilders site with a mix of indispensible free and commercial controls. Andy's just released the MultiViewBar, check it out! [Andy's Weblog]

Welcome to the Visual Studio 2005 Beta Documentation

Title: Visual Studio 2005 documentation


.NET Framework SDK v2.0 Beta 1 is now available!
jbower's WebLog
Goodies with each of the Visual Studio 2005 Express downloads

Each of the Visual Studio 2005 Express Editions have additional goodies as samples. The best goodie of the lot comes with Visual C# Express Edition

RSS Screen Saver Starter Kit -- The Visual C# Express Edition 2005 RSS screen saver is a fully customizable sample application and documentation that shows how you can create a screensaver that rotates through background images and displays content from an RSS (Really Simple Syndication) feed.

I love it!! And to think I bought one of these a while ago and lamented the lack of support of the .net framework


jbower's WebLog
VSIDE's WebLog
MSDN .NET Framework Developer Center: Regional Director Blogs
RSS Bandit - Rss Bandit
...
I must say, although I haven't tried many RSS readers, try SharpReader. Very cool so far and has many of the features you miss. Must have .NET 1.1 installed to use...
http://www.sharpreader.net/
...

Good luck! I've landed on RSSBandit (I've been using it for a long time now) and I'm devoted enough to be forgiving... ;)

I tried the others, but they just didn't do it for me. The killer feature was the inline comments, the fact that I can post comments directly from it (if the weblog supports the Comment API), and the tree view on the left.

I tried newsgator but I didn't like the way the columns were setup by default and I have many subfolders to categorize my blogs - each one had to be configured separately.
RSSBandit supports categorized feeds (subfolders) beautifully.

Stick with it, you'll like it more as time goes on.
...

I've recently switched from SharpReader to SauceReader to RSS Bandit, and am sticking with RSS Bandit for the time being despite the warts you noted (plus some others - for instance - clicking on my collapsed Weblogs.Asp.Net folder causes mayhem in the list page as each feed is loaded into the list one at a time.) I was tired of the crazy memory usage in Sauce/SharpReader, and SauceReader's posting tool crashed and took out a post right as I was trying to submit it.

And the shared OPML / state thing is really cool. I wish it was automatic - retrieve on startup, upload on shutdown - but it's nice to have my read posts at work marked as read when I get home.
Storyboarding
BizTalk Core Engine's WebLog
Automated Continuous Integration and the Ambient Orb�
.NET Framework Developer Center refresh!
Cool (and important) new stuff to read
Must reads:

· The Service Oriented Architecture section of the MSDN Architecture Center.

o Specifically, the whitepaper “Service Orientation and Its Role in Your Connected Systems Strategy”.

· Smart Client Architecture and Design Guide

· Integration Patterns

I’m pretty sure I had some deep thoughts yesterday on various topics, but I’ve forgotten them. Sigh.

Personal Profile: PatternWorkspaces
Personal Profile: PatternWorkspaces
--------------------------------------------------------------------------------
User Information

User name PatternWorkspaces
E-mail Contact this user through GotDotNet
User type Developer(general)
Member since October 17, 2002

User Workspaces

Microsoft Patterns & Practices Data Access for .NET VB.NET, C#
This community will discuss topics covered in the patterns & practices

Application Architecture for .NET: Designing Applications and Services

Enterprise Template for Application Architecture
This Workspace is for a Visual Studio Enterprise Template supporting the pa

Caching Architecture Guide for .NET Framework Applications

Building Secure ASP.NET Applications

Architectural Repository
Please accept this invitation to share architectural papers, presentations,

Visual Studio Enterprise Templates VB.NET, J#, C#, C++
This community Workspace is for architects and development managers using t

Design Pattern: Model-View-Controller

Implementation Pattern: Implementing Front Controller in ASP.NET Using HTTP Handler

Design Pattern: Front Controller

Design Pattern: Page Controller

Enterprise Templates for BizTalk Server
BizTalk Server has certain artifacts that a BizTalk developer will encounte

Design Pattern: Data Transfer Object C#, VB.NET, J#, C++
Workspace for Data Transfer Object design pattern located at [http://msdn.m

Implementation Pattern: Implementing Model-View-Controller in ASP.NET

Implementation Pattern: Singleton in C#
Workspace for the Implementing Singleton in C# pattern located at [http://m

Architecture Pattern: Three-Tiered Distribution
This Workspace is for the Three-Tiered Distribution architecture pattern lo

Implementation Pattern: Broker with .NET Remoting Using Client-Activated Objects
This Workspace is for the Implementing Broker with .NET Remoting Using Clie

Pattern: Implementing Page Cache in ASP.NET Using Absolute Expiration

Design Pattern: Singleton
Workspace for singleton design pattern located at [http://msdn.microsoft.co

Architecture Pattern: Three-Layered Services Application

Design Pattern: Page Cache
This Workspace is for the Page Cache design pattern located at [http://msdn

Design Pattern: Intercepting Filter
This Workspace is for the Intercepting Filter design pattern located at [ht

Architecture Pattern: Layered Application
This Workspace is for the Layered Application architecture pattern located

Implementation Pattern: Data Transfer Object with a DataSet
Workspace for Implementing Data Transfer Object with a DataSet pattern loca

Design Pattern: Failover Cluster
This workspace

Implementation Pattern: Implementing Service Interface in .NET
This workspace covers

Implementation Pattern: Broker with .NET Remoting Using Server-Activated Objects
This Workspace is for the Implementing Broker with .NET Remoting Using Serv

Design Pattern: Broker
This Workspace is for the Broker design pattern located at [http://msdn.mic

Implementation Pattern: Implementing Observer in .NET
This Workspace is for the Implementing Observer in .NET pattern located at

Implementation Pattern: Data Transfer Object with a Typed DataSet
Workspace for the Implementing Data Transfer Object with a Typed DataSet pa

Implementation Pattern: Service Gateway in .NET
Workspace covers

Design Pattern: Observer
This Workspace is for the Observer design pattern located at [http://msdn.m

Architecture Pattern: Server Clustering
THis workspace

Design Pattern:Service Gateway

Design Pattern: Load-Balanced Cluster
Workspace for the Load-Balanced Cluster design pattern located at [http://m

Design Pattern: Service Interface

Architecture Pattern: Deployment Plan

Architecture Pattern: Tiered Distribution
This Workspace is for the Tiered Distribution architecture pattern located

Design Pattern: Master-Slave Replication
This workspace is for collaboration on the Master-Slave Replication design

Design Pattern: Master-Master Row-Level Synchronization
This workspace is for the Master-Master Row-Level Synchronization design pa

Design Pattern: Master-Master Replication
This workspace is for collaboration on the Master Master Replication design

Implementation Pattern: Implementing Master-Master Row-Level Synchronization Using SQL Server
This workspace is for collaboration on the Implementing Master-Master Row-L

Implementation Pattern: Implementing Intercepting Filter in ASP.NET Using HTTP Module

Design Pattern: Capture Transaction Details
This workspace is for the Capture Transaction Details design pattern.

Implementation Pattern: Implementing Page Controller in ASP.NET

Architecture Pattern: Data Replication
This Workspace is for collaboration on the Data Replication architecture pa

Solution Patterns Using Microsoft .NET

.NET Architect Evangelists
Community Workspace for .NET Architect Evangelists

Design Pattern: Master-Slave Snapshot Replication
This workspace is for the Master-Slave Snapshot Replication design pattern.

Design Pattern: Master-Slave Transactional Incremental Replication
This workspace is for collaboration on the Master-Slave Transactional Incre

Pattern harvesting from Microsoft.com
Private, hidden Workspace for collaboration on pattern harvesting from Micr

Pattern Frame: Enterprise Solution Patterns Using Microsoft .NET
This Workspace is for the pattern frame used to organize Enterprise Solutio

Implementation Pattern: Master-Slave Transactional Incremental Replication Using SQL Server
This workspace is for collaboration on the Implementing Master-Slave Transa

ApplicationBlocks.Data
Private, hidden workspace for the Data Access Application Block to replace

Architecture Pattern: Move Copy of Data
asdas

Implementation Pattern: Implementing Master-Slave Snapshot Replication Using SQL Server
This workspace is for collaboration on the Implementing Master-Slave Snapsh

Design Pattern: Master-Slave Cascading Replication
This workspace is for collaboration on the Master-Slave Cascading Replicati

Pattern Review
Private, hidden community is for patterns review discussions.

ApplicationBlocks.ExceptionManagement
Private, hidden workspace for the Exception Management Application Block to

Integration Patterns
This community is for collaboration on integration patterns. ..

Microsoft patterns and practices
patterns & practices: Code

Developer
Aggregation Application Block for .NET
A Web application often requires information from multiple, disparate services (for example, a Web service, Microsoft SQL Server 2000, and Microsoft BizTalk 2000). When a user of that application wants to view information available from these services, the client sends a request to the Aggregation framework. The Aggregation framework dispatches Service Agents to gather the requested information from the various service providers, and the results are transformed into a single XML document for the client.

Asynchronous Invocation Application Block for .NET
Microsoft .NET Framework class library that allows you to increase the performance of your Web application and enhance the end users' experience. The block manages requests from multiple sources for information from a client, dispatches Service Agents to communicate with each service provider (database, web service, etc.), and as the requested information becomes available, it is sent to the client for display. In this manner, a partially completed page is ready for viewing even before all requested information becomes available. The end user perceives a faster application, and server resources are freed much more quickly than in a conventional synchronous scenario.

Authorization and Profile Application Block
The Authorization and Profile Application Block provides an infrastructure for role-based authorization and access to profile information. The block enables you to: Authorize a user of an application or system. Use multiple authorization storage providers. Plug in business rules for action validation. Map multiple identities to a single user. Access profile information that can be stored in multiple profile stores.

Caching Application Block for .NET
Microsoft .NET Framework class library that allows you to increase the efficiency and scalability of distributed applications by caching Web service data, which saves time and resources that are needed to refresh data that is still current. Data can be cached in several formats, including a Microsoft SQL Server 2000 database, a memory-mapped file, or a singleton object. The Caching Application Block also includes example classes for caching, scavenging, expiration, and data protection.

Configuration Management Application Block for .NET
A simple yet flexible solution that you can use across all your applications to manage configuration data. Specifically, it provides a set of methods that allow you to read and write application configuration data without the need to instantiate objects or perform complex data conversions in your code through a flexible data model that allows you to use any in-memory data structure to represent your configuration data.

Data Access Application Block for .NET
The Data Access Application Block is a .NET component that contains optimized data access code that will help you call stored procedures and issue SQL text commands against a SQL Server database. The documentation provides guidelines for implementing an ADO.NET-based data access layer in a multi-tiered .NET application. It focuses on a range of common data access tasks and scenarios and presents guidance to help you choose the most appropriate approaches and techniques. This guide encapsulates performance and resource management best practices and can easily be used as a building block in your own .NET application. If you use it, you will reduce the amount of custom code you need to create, test, and maintain.

Enterprise Notification Reference Architecture for Exchange 2000 Server
This document provides a brief overview of the Enterprise Notification Reference Architecture for Exchange 2000 Server, which consists of code and documentation designed to accelerate the development of a messaging infrastructure that provides instant notification of events to users. The Reference Architecture code enables developers to implement notification services in an enterprise environment. The documentation explains the design and implementation decisions that developers of the Reference Architecture made and also explains how to install the code.

Exception Management Application Block for .NET
Exception Management Application Block for .NET consists of an architecture guide and an application block. The documentation discusses design and implementation guidelines for exception management systems that use .NET technologies. It focuses on the process of handling exceptions within .NET applications in a highly maintainable and supportable manner. Exception Management Application Block for .NET provides a simple yet extensible framework for handling exceptions. With a single line of application code, you can easily log exception information to the Event Log or extend it by creating your own components that log exception details to other data sources or notify operators, without affecting your application code. Exception Management Application Block for .NET can easily be used as a building block in your own .NET application.

Logging Application Block
Building useful logging capabilities into your applications can be a significant challenge. At the very least, you need to determine what information is appropriate to log, design the events themselves, and make them available for analysis in an appropriate format. Effective logging is useful for troubleshooting problems with an application as well as provides useful data for analysis, helping to ensure that the application continues to run efficiently and securely. To help provide effective logging for enterprise applications, Microsoft has designed the latest patterns & practices applications block: The Logging Application Block. This block is a reusable code component that uses the Microsoft Enterprise Instrumentation Framework (EIF) and the Microsoft .NET Framework to help you design instrumented applications.

Microsoft Content Integration Pack for Content Management Server 2001 and SharePoint Portal Server 2001
Microsoft Content Integration Pack for Content Management Server and SharePointT Portal Server (Content Integration Pack) consists of engineered code and documentation that enable customers to integrate Microsoft Content Management Server 2001 and Microsoft SharePoint Portal Server 2001 so that users can combine the features of the two programs into an end-to-end solution for document publishing.

Smart Client Offline Application Block
The Offline Application Block embodies the functionality that enables the smart client user to enjoy a seamless experience even when working offline. It demonstrates possible approaches for: Detecting the presence or absence of a network. Caching the required data so the application can function while offline. Synchronizing the client application state and /or data with the server when the application goes online again.

Updater Application Block for .NET
A .NET solution that provides a "pull model" solution to automatically download application updates from a central location, designed for organizations who want the rich functionality of Windows Forms applications with the centralized manageability of Web-based applications. By using the Updater Application Block to download application updates, you can overcome the security "sand box" limitations of downloading Windows Forms applications through a browser, while still maintaining control and security over the application update process.

User Interface Process Application Block - Version 2.0
The User Interface Process Application Block provides a simple yet extensible framework for developing user interface processes. It is designed to abstract the control flow and state management out of the user interface layer into a user interface process layer.

User Interface Process Application Block for .NET
Simple yet extensible framework for developing user interface processes. It is designed to abstract the control flow and state management out of the user interface layer into a user interface process layer. This enables you to write generic code for the control flow and state management of different types of applications (for example, Web applications and Windows-based applications) and helps you write applications that manage users' tasks in complex scenarios (for example, suspending and resuming stateful tasks).


IT Pro
Microsoft Content Integration Pack for Content Management Server 2001 and SharePoint Portal Server 2001
Microsoft Content Integration Pack for Content Management Server and SharePointT Portal Server (Content Integration Pack) consists of engineered code and documentation that enable customers to integrate Microsoft Content Management Server 2001 and Microsoft SharePoint Portal Server 2001 so that users can combine the features of the two programs into an end-to-end solution for document publishing.
Examining the Data Access Application Block

In an earlier article of mine, An Introduction and Overview of the Microsoft Application Blocks, we outlined the purpose and benefits of Microsoft Application Blocks. Application Blocks encapsulate two common patterns encountered in application programming, data access and exception management. Application Blocks provide value by making our programming more efficient and our programs more maintainable. They speed the application development process by "wrapping" common tasks. In this article we will examine code samples that illustrate the advantages of using the Data Access Application Block.


Tuesday, June 29, 2004

Christopher Anthony's Computing Blog found @ DotNetRocks
Linux -> .NET experience