| | Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|
| 30 | 31 | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 10 | 11 | 12 | | 13 | 14 | 15 | 16 | 17 | 18 | 19 | | 20 | 21 | 22 | 23 | 24 | 25 | 26 | | 27 | 28 | 29 | 30 | 31 | 1 | 2 | | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Subscribe to this feed:
|
|
Archives:
| May, 2010 (1) |
| March, 2010 (1) |
| November, 2009 (1) |
| September, 2009 (1) |
| July, 2009 (2) |
| June, 2009 (1) |
| May, 2009 (1) |
| March, 2009 (5) |
| February, 2009 (3) |
| July, 2008 (1) |
| June, 2008 (2) |
| May, 2008 (1) |
| April, 2008 (2) |
| March, 2008 (4) |
| February, 2008 (4) |
| December, 2007 (2) |
| October, 2007 (2) |
| September, 2007 (1) |
| June, 2007 (1) |
| May, 2007 (4) |
| April, 2007 (4) |
| March, 2007 (2) |
| February, 2007 (4) |
| January, 2007 (3) |
| December, 2006 (1) |
| November, 2006 (4) |
| October, 2006 (7) |
| September, 2006 (2) |
| August, 2006 (14) |
| July, 2006 (9) |
|
Microsoft's documentation generator, codenamed Sandcastle, is available for download now. Keep in mind this is a very rough CTP. It's all command-line driven, though some community efforts have made scripts, etc. to simplify things. I've run it, and was able to generate a .chm, though with much more effort than nDoc. The lack of UI brings up an important point. This was the code that Microsoft was using to generate MSDN developer content. Most likely they used it as part of a continuous integration process that generated new documentation in the background. While GUI may make things easier up front (and I definitely want one, Microsoft), thinking about integrating documentation seamlessly into our build processes using MSBuild and scripts may be helpful as well.
The long-awaited arrival of Internet Explorer 7 will be delivered to PCs via Windows Update, according to a recent TechNet notice from Microsoft...worth noting for web designers and developers who will probably want to check their work for proper rendering in the new browser.
The latest beta for IE7 can be downloaded here. If installing beta software on your PC doesn't seem appealing, try loading it in a virtual test environment with Virtual PC (which is now a free download, unless you are a Mac user).
I have to confess, I just didn't get PowerShell. .NET at the command prompt was interesting, but why not just write a console application to do the same stuff? I'd still prefer that for many tasks, but think of PowerShell as a replacement for the command line and batch files. Probably the coolest thing about it, though, is the way commands can be glued together. You're no longer constricted to working with strings- type 'dir' and you get a list of FileInfo objects formatted as string. You can pipe those FileInfo objects to another command, which works against those objects: dir | sort Length -desc| select Name, LengthThe above sorts the list by the length property, and selects the name and length property for display. Keep in mind these are .NET FileInfo (and DirectoryInfo) objects. You can do the same for any .NET type, and access any method or property just as you would in VB or C#: dir | foreach { $_.GetType() }Where it gets cool is when use those other types .NET provides: $webclient = new-object System.Net.WebClient $diggFeed = $webclient.DownloadString("http://digg.com/rss/containertechnology.xml")So, now the $diggFeed variable contains digg.com's rss feed as a string. Cool, but it's more useful as XML: $diggFeed = [xml]($webclient.DownloadString("http://digg.com/rss/containertechnology.xml")) $diggFeed.rss.channel.item | select titleNote that the xml is "serialized" and usable as though it were an object. So, I can play with the xml data like this: $diggFeed.rss.channel.item | where { $_.title -like "*.NET*"} | select titleAnd viola- 3 lines of code to get all the .NET posts on digg. Keep in mind we could then copy those to our own rss or do just about anything else with them. Anyway, get PowerShell and use it instead of the old C:\. For more stuff you can do, check out the MSDN PowerShell site. I suspect we'll be seeing more of it used in conjuction with Visual Studio to assist in build scripts and configuration tasks.
The introduction of the DataSource model in .NET 2.0 has made it much easier to perform data binding in ASP.NET. In most cases, it's trivial to use the SqlDataSource and ObjectDataSource for purposes of binding and updating the backing data store when a single row is changed. However, there's no out-of-the-box way to use a DataSet itself as the backing data store and later persist its entire batch of data to the database. Consider a shopping cart scenario in which you are adding multiple rows to a temporary data store...you don't necessarily want to go to the DB each time a row is added; rather, you'd prefer to perform a batch update at the end of the process.
Andres Aguiar presents a good solution to the problem by creating a custom data source for this purpose -- the DataSetDataSource.
Framework Design Guidelines is one of the best .NET books I've read, bar none. The only downside for some will be that the examples are in C#, but even so, there is tons of great, real-world guidance that applies to all levels of .NET development. Written by a couple of Microsoft developers who worked on the .NET framework, it's suprisingly candid and easy to read.
ASP.NET 2.0 includes a new set of features called ' Health Monitoring.' This involves a lot of different ways to monitor the 'health' of your application in event logs, performance counters, etc. One use of it, though, is to send email notification of exceptions. This is something we traditionally had to do in code, or with a logging framework like Enterprise Library Logging. In ASP.NET 2.0, though, it can be done by simply configuring the application.This also includes some cool features- such as the ability to prevent sending the same error 100 times. Other providers support going to a SQL Server table or the event log.
Craig Utley presented a very useful Microsoft Webcast a few months back on three common OO design patterns (Singleton, Factory, and Observer). In addition to describing practical coding techniques to solve particular problems, Craig also shows two methods for implementing each pattern -- a "traditional" approach that uses coding constructs available in most languages, and a more elegant ".NET" approach that takes advantage of features of the .NET framework to achieve the same goal; for example, his .NET implementation of an "Observer" pattern uses delegates/events to communicate between publisher and subscriber objects, rather than having the publisher aggregate references to the subscribers.
There is also a good reference to various patterns, with sample implementations, here.
One of the interesting features of
SQL Server 2005 is a new utility for working with Reporting Services called
Report Builder.
Designed as a reporting solution for the non-developer set (a la MS
Access reporting, and others), the tool works against “Data Source Views” (DSVs)
created as an abstraction of the underlying tables – the general idea is that
the end user works with entities and relationships of entities rather than with
relational database tables (think “General Ledger View” vs. GL00100, GL00101,
etc.)
For the more savvy users in some
organizations, Report Builder, used in conjunction with well-planned DSVs could
eliminate some of the ad-hoc reporting tasks that are often delegated to
developers.
Video demonstration here.
|