.NET
There are 408 entries for the tag .NET
If you have children and want them to learn programming at an early age (recommended age is between 10 and 16), you should check out Microsoft Small Basic, which combines a simple language and a rich set of libraries together with a friendly development environment. The Small Basic language draws its inspiration for an early version of BASIC but it is actually based on the .NET Framework. Like the early variants of BASIC it is based on, Small Basic is imperative and doesn't use or expose beginners ......
Regular readers may have noticed that my blogging activity has slowed down considerably. I’m hoping to pick back up and start posting more soon, but until then I wanted to make sure everyone knows that I am still active…there have been other things that have been consuming my time. First, my Sams Teach Yourself Visual C# 2010 in 24 Hours book came out, officially on the shelves in August although content was complete in late February. Shortly after the book came out, I started working on an article ......
It has been over a year since the last time I updated my list of Florida technical communities and a lot has changed since then. Joe Healy, our Florida Microsoft Developer Evangelist, maintains a list for each of the main areas in Florida, but this only covers the .NET-focused groups. Taking what he has started, I have put together a similar list (based on the information Joe maintains) that covers the other technical communities that I know of. If you are part of a technical user group community ......
Code camps are a great resource for the local development community. They provide developers and speakers (who are almost always local developers as well) a way to interact and learn about topics they otherwise might not have an opportunity. As a speaker, it is always great to see new people in my talks and answer questions since in almost every talk, someone asks a question I haven’t heard before. One of the things that most speakers, including myself, like getting is feedback. We want to know what ......
As most of you know, I do a lot of presentations each year, mostly at local code camps. As a speaker, it is always great to see new people in my talks and answer questions since in almost every talk, someone asks a question I haven’t heard before. One of the things that most speakers, including myself, like getting is feedback. We want to know what you thought of the presentation, both the material and the delivery. It used to be that most code camps passed out evaluation forms to provide this feedback. ......
There have been several questions on StackOverflow about how to determine if a type is defined in the .NET Framework or is a third-party or custom type. Based on the answers provided to these questions, this can be accomplished using some reflection to retrieve the public key token of the assembly in which the type is defined and compare it to a public key token known to be used by Microsoft to sign the .NET Framework assemblies. Update: Based on some additional research and a Twitter conversation ......
Last September while I was working on my Teach Yourself Visual C# 2010 in 24 Hours book for Sams Publishing, I posted some interesting statistics for the .NET Framework 3.5 SP1. Now that the .NET Framework 4.0 has been released, I thought I would update these statistics (and thanks to Lisa for asking about them). There were a total of 44,346 types (loaded from 130 assemblies), with 33,152 classes, 2,398 interfaces, 4,828 enums, and 8,796 value types. The complete breakdown is shown below. Of the ......
With the release of the Visual Studio Pro Power Tools (and many other new extensions having been released), my list of favorite Visual Studio extensions has changed. All of these extensions are available in the Visual Studio Gallery. Here is the list of extensions that I currently have installed and find useful: Bing Start Page CodeCompare Collapse Selection In Solution Explorer Collapse Solution Color Picker Completion Extension Analyzer Find Results Highlighter Find Results Tweak (Available from ......
If you’re going to TechEd North America this year, Sams Publishing will be giving away 9 advanced reader copies. In order to win a copy, be sure to follow the InformIT Twitter account and the #TechEd hash tag. Sporadically throughout the day a tweet will be sent out stating that the first person who comes to the booth and mentions my book will get a copy. The give away will probably occur over multiple days, so be sure to keep an eye on Twitter. Technorati Tags: Books,Sams Teach Yourself C# 2010 ......
Earlier today, Joe Healy interviewed me about the upcoming book. The video is now up on YouTube and will be on Channel 9 shortly. Technorati Tags: Books,Sams Teach Yourself C# 2010 ......
If you’re going to TechEd 2010* (North America), be sure to check out the TechEd 2010 Schedule and Twitter Tool. If you have a mobile device (Windows Mobile 6.5, Android, iPhone), a tablet (Windows 7, iPad), or even a laptop (Windows Vista or Windows 7 gadgets) then this tool is essential. It allows you to view all of the session details and build your own customized schedule. You can also keep up with all of the TechEd related Twitter traffic from the same application. By default, the #TechEd hashtag ......
We are still ironing out some contract issues with Microsoft legal to include the Express Edition DVD with the book, but in the meantime there will be about 9 galley copies of the book which Sams will be giving away during TechEd 2010. If you’re going, be sure to stop by the Sams booth for the details on the giveaway*. Once the contract issues are resolved, the book will be officially available for purchase, but you can pre-order it now from Amazon or your favorite online book-seller. Be sure to ......
[This is actually a response to Bill’s blog post, but since it isn’t possible to leave this as a comment on his blog it’s a post here.] There are many different ways to implement the Dispose pattern correctly. Some are (in my opinion) better than others. In Bill’s blog post he presents a particular pattern, which is an excerpt from his book (Effective C#). The issue centers around the fact that a reader took the code sample presented in the book and ran FxCop (Code Analysis) on it, which generated ......
The .NET Framework allows you to easily add metadata to your classes by using attributes. These attributes can be ones that the .NET Framework already provides, of which there are over 300, or you can create your own. Using reflection, the ways to retrieve the custom attributes of a type are: System.Reflection.MemberInfo public abstract object[] GetCustomAttributes(bool inherit); public abstract object[] GetCustomAttributes(Type attributeType, bool inherit); public abstract bool IsDefined(Type attributeType, ......
Corrupted state exceptions are designed to help you have fewer bugs in your code by making it harder to make common mistakes around exception handling. A very common pattern is code like this: public void FileSave(String name) { try { FileStream fs = new FileStream(name, FileMode.Create); } catch (Exception e) { MessageBox.Show("File Open Error"); throw new Exception(IOException); } The standard recommendation is not to catch System.Exception but rather catch the more specific exceptions (in this ......
Now that Visual Studio 2010 has been released, there are a lot of extensions being written. In fact, as of today (May 1, 2010 at 15:40 UTC) there are 809 results for Visual Studio 2010 in the Visual Studio Gallery. If you filter this list to show just the free items, there are still 251 extensions available. Given that number (and it is currently increasing weekly) it can be difficult to find extensions that are useful. Here is the list of extensions that I currently have installed and find useful: ......
I have previously talked about Microsoft StyleCop. For those that might not know about it, StyleCop is a source analysis tool (different from the static analysis that FxCop performs) that analyzes the source code directly. As a result, it focuses on more design (or style) issues such as layout, readability and documentation. In an interesting move (and one that I am happy to see), Microsoft has decided to make StyleCop an open source project (under the MS-PL license) available on CodePlex. (The project ......
Every so often a question comes up about how Visual Studio, the .NET Framework, and a .NET programming language relate to each other. Mostly, these questions have to do with versions. The reality is that these are actually three different “products” that are versioned independently of each other but are related. Looking at how Visual Studio, the .NET Framework version, and the CLR versions relate to each other results in the following: Visual Studio CLR .NET Framework Visual Studio .NET (Ranier) ......
Almost two years ago, I wrote about a Visual Studio macro that allows you to change the Target Framework version of all projects in a solution. If you don’t know, the Target Framework version is what tells the compiler which version of the .NET Framework to compile against (more information is available here) and can be set to one of the following values: .NET Framework 2.0 .NET Framework 3.0 .NET Framework 3.5 .NET Framework 3.5 Client Profile .NET Framework 4.0 .NET Framework 4.0 Client Profile ......
An empty string is different than an unassigned string variable (which is null), and is a string containing no characters between the quotes (""). The .NET Framework provides String.Empty to represent an empty string, and there is no practical difference between ("") and String.Empty. One of the most common string comparisons to perform is to determine if a string variable is equal to an empty string. The fastest and simplest way to determine if a string is empty is to test if the Length property ......
An enumerated type, also called an enumeration (or just an enum for short), is simply a way to create a numeric type restricted to a predetermined set of valid values with meaningful names for those values. While most enumerations represent discrete values, or well-known combinations of those values, sometimes you want to combine values in an arbitrary fashion. These enumerations are known as flags enumerations because the values represent flags which can be set or unset. To combine multiple enumeration ......
For those of you who like/use Facebook, I have created a Facebook Fan Page for the book. I’ll try and keep this page updated with information about what’s going on with the book. Technorati Tags: Books,Sams Teach Yourself C# 2010 ......
Probably my fault for not actually checking this sooner, but my upcoming Sams Teach Yourself Visual C# 2010 in 24 Hours book is available for pre-order on Amazon.com. Technorati Tags: Books,Sams Teach Yourself C# 2010 ......
I am very happy to announce that the core content for my upcoming Sams Teach Yourself Visual C# 2010 in 24 Hours book is done! I still need to incorporate comments from Claudio and Eric (my technical editors) and then incorporate edits from the Sams editors, but all of the really hard work is now done. Even though I knew before starting that it would not be easy I don’t think I was really prepared for just how difficult it is to actually write a book. I started actually writing around mid-July 2009, ......
Following last years post of people at MVP Summit 2009 on Twitter, I’m getting a bit of a head start and using the new Twitter Lists feature to create a list of all Microsoft MVPs that I know (or know of). I’ve started this list with the same people from last years blog post. The plan is for this list to be a complete list (or at least as complete as I can make it) of Microsoft MVPs. If you are an MVP and want to be included or if you know of any MVPs that should be included, please let me know. ......
I have previously mentioned that I’m working on the upcoming Sams Teach Yourself Visual C# 2010 in 24 Hours book. Things are progressing nicely, if a bit slower than I’d prefer. I have the draft for the cover art, which looks really good. I’m also very pleased to announce my technical editors – Claudio Lasaala and Eric Lippert. Claudio is a Senior Developer at EPS Software Corp. He has presented several lectures at Microsoft events such as PDC and various other Microsoft seminars, as well as several ......
Scott J Dorman [profile] Summary of Current Qualifications Software Development n Technical architecture/design/specifi... n Functional design/specifications n Design/Development methodologies n Reusable infrastructure API components and class libraries n Continuous Integration build systems n Application Development Management Programming Languages n C#, VB.NET, ASP.NET, ASP, HTML, DHTML, CSS, XML, XSL, XPATH, JavaScript, VBScript, InstallShield n CruiseControl.NET, NAnt, MSBuild, Team Foundation ......
Visual Studio 2010 Beta 2 is now available for MSDN subscribers, and generally available on October 21. I haven’t had a chance yet to play around with it, but some of the CLR changes that are very exciting to hear about are: The new String.IsNullOrWhiteSpace method indicates whether a string is null, empty, or consists only of white-space characters. New overloads have been added to the String.Concat and String.Join methods that concatenate members of an IEnumerable<T> collections. The String.Concat<T> ......
I’ve been very “heads down” working on my upcoming book from Sams Publishing, Teach Yourself C# 2010 in 24 Hours, so I haven’t been blogging as much as I usually do. In doing some research for the book, I’ve been taking an in-depth look at the .NET Framework and thought I would share some interesting statistics. There are 18,435 total types in the .NET Framework 3.5 SP1, with 13,995 classes, 1,216 interfaces, 2,100 enums, and 1,124 structs. The complete breakdown is shown below. Of the 13,995 classes, ......
I’ve lost count how many times I’ve heard that quote. It’s a great quote said by one of the leading minds in computer programming and formal mathematics, Donald Knuth. The problem with this quote is that, like so many other things, people have only remembered (or only quote) a small portion of the entire thing. To read the full quote, you need to look at a paper published in December 1974 titled Structured Programming with go to Statements in Computing Surveys. The full quote is this (in reference ......
I’m sure most of you are familiar with the Sams Teach Yourself books, at least in passing if not in owning one. I am very excited to announce that I will be joining the Sams Publishing authoring team for their upcoming Teach Yourself C# 2010 in 24 Hours book. This new edition will be quite a bit different from the previous editions since it will be much more language-focused and will take a more holistic view of the language. If you have already looked at one of the earlier editions and decided that ......
Just a quick reminder that the June 2009 meeting is tonight from 6:30 PM - 8:30 PM (ET) at the Microsoft office. Please be sure to register so we have a good idea of how much pizza to order. Enterprise Architecture What is it? Why is it important? An overview of Enterprise Architecture as a discipline, its principles, methods, frameworks and tools. This session will explore the growing role and importance of enterprise architecture in the management of organizations. Speaker: Bob Otterberg is the ......
Attribute programming has a lot of benefits and, when done correctly, can greatly simplify the amount of code that you need to write. One drawback to using attributes is that the code required to retrieve a custom attribute from a type is a bit cumbersome and is very repetitious. Given a type, the simplest way to retrieve a custom attribute is code like CustomAttribute attribute = Attribute.GetCustomAttribut... typeof(CustomAttribute), true) as CustomAttribute; While this is simple ......
Microsoft’s latest incarnation of it’s search engine, which has gone by a few different code names, is live a few days early. It’s still early, so it remains to be seen if Microsoft will be able to pull any search market share away from Google, but Bing looks like it may be a good start. The biggest difference is that Bing seems to offer better organization by putting the related searches list along the left side of the search results where you can see it without scrolling. It also provides a search ......
Windows 7 includes a lot of improvements in the Windows Explorer. Most of them are fairly obvious, but the new preview pane is likely to go unnoticed (or passed over as the same as Vista’s preview pane) by a lot of people. The new preview pane supports a much wider range of formats than the Windows XP and Windows Vista preview pane did, including the ability to preview HTML, text files, XML files, images, videos, music, and WordPad files without any additional software installed. If you have Microsoft ......
Earlier I talked about the new Windows 7 Federated Search capabilities and mentioned that you can create your own Search connectors. Since then, I’ve been busy creating some search connector description files for the following sites: Geekswithblogs Live Search MSDN MSDN Blogs The Code Project Channel 9 Twitter All of these search connector descriptions are available from my SkyDrive Search Connectors folder. Technorati Tags: Windows 7,Federated Search,OpenSearch ......
Windows and the Windows Explorer have had search capabilities for a long time and they have gradually improved over the years. The one thing that was always lacking was an ability to search different contexts (or remote sources). There were some improvements with the Windows Desktop search, but I think the federated search capability in Windows 7 really gets it right. Federated search in Windows 7 introduces support to search different remote data stores using OpenSearch technologies and allows you ......
I’ve been running Windows 7 RC for a little over a week now and can’t imagine going back to Vista at this point. I decided to start with a fresh install of Windows 7, so I’ve been in the process of reinstalling all of my applications and cleaning up my disk drives. In the process, I went searching to see if there are any interesting Windows 7 power toys or tricks available. While I didn’t find any power toys, I did discover that all of the Windows Vista tricks are still available on Windows 7. Tim ......
About two years ago I talked about a very common problem in Windows Vista where the network, volume, and power icons in the system tray disappear. In that post, I provide a solution which involves editing the registry. Several people posted comments that provide slightly more automated ways to make the registry changes through a batch/command file and through a registry file. Jump ahead to today and Microsoft has a Fix it solution for this problem. Fix this problem Technorati Tags: Fix it,Vista,System ......
It seems Microsoft has always had a love/hate relationship with consumers when it comes to support issues. When things are going well the general public loves Microsoft, but when things start going badly public opinion heads the same direction. For whatever reason, the Microsoft Help and Support website seems to be one of the last places a lot of people turn to for an actual resolution. One of the problems has always been that the solutions presented require more than simple knowledge about how to ......
I’m trying to put together the list of upcoming code camps in the South East region. The plan is for this to be periodically (probably quarterly) updated so, if you are hosting a code camp (or know someone who is) in the South East, please let me know the date and website so I can include it in the list. (I’m also using this list to plan my speaking schedule, so if I don’t know about your code camp I can’t determine if it will fit my schedule.) I only know of a few, so if you know of others please ......
Florida has a very active developer community. The biggest problem we seem to have is that all of these different groups usually don't know about each and there hasn't been a "centralized clearinghouse" listing all of the technical communities. Joe Healy, one of our Florida Microsoft Developer Evangelists, maintains a list and one-page flyers for each of the main areas in Florida. I think the eventual plan is that Joe will be updating his site to take advantage of the newer version of Live Maps and ......
Ever since I started this blog it hasn't really had a title (or at least a subtitle) other than “blog”. Thanks to Stan Schultes, I now have a new subtitle. This was born out of watching the CLR 4 Futures talk with Joshua Goodman at MVP Summit 2009 (the majority of which is also available from the PDC 2008 site on Channel 9). Since I present a lot on .NET memory management, including a deep dive on how the GC works and how to properly implement IDisposable and the dispose pattern, he suggested the ......
I have previously talked about code contracts in .NET 4.0, and while .NET 4.0 isn’t out yet you can work with them now in Visual Studio 2008 through MSDN DevLabs. In case you aren’t familiar with code contracts in .NET, this is a feature that was actually built by the .NET CLR team to provide a language-agnostic way to express code assumptions in the form of pre-conditions, post-conditions, and object invariants. There are currently two tools provided: Runtime Checking, which uses a binary rewriter ......
If you’re at MVP Summit 2009 (or not at Summit) and trying to find people to follow I’ve started putting together a list of MVPs and Microsoft employees that I know who are here. Everyone should be using the #mvp09 hashtag for their tweets, so you can follow the conversations using #hashtags, Twitter Search, Twopular, TweetScan, or any other twitter search sites. If you want to be included in this list (or have updates to your information), leave a comment or message me on Twitter. Microsoft MVPs ......
Just a quick reminder that the February 2009 meeting is tonight from 6:30 PM - 8:30 PM (ET) at the Microsoft office. Please be sure to register so we have a good idea of how much pizza to order. Code Generation with T4 and Visual Studio Why write repetitive code when you can generate it? Learn about Text Template Transformation Toolkit (T4) - one of the best-hidden new features of Visual Studio 2008. T4 allows you to use simple ASP.NET-like template syntax to generate application source code, configuration ......
I wanted to thank Dave and everyone else who helped coordinate the South Florida Code Camp this year. It was an excellent event and I believe the final number of attendees was a little over 700, which makes this the largest known code camp in the world. For those of you who attended my sessions, thank you as well. As I mentioned, the complete list of resources for my two-part memory management session is available as well as the blog posts that are related to my Code Style and Standards chalk talk. ......
The Watch window (actually there are four different Watch windows you can use) is easily the most powerful aspect of the Visual Studio debugger and the underlying technology it uses actually surfaces in several places: Watch Autos Locals Quick Watch “Data Tips” (the debugging tool tips that appear when you hover over a code element) The thing that most people might not realize is that you can actually call methods in the Watch window. This is useful because it allows you to see data structures that ......
We previously talked about the Location, Condition, Hit Count, Filter, and When Hit modifiers for breakpoints. These are great advanced breakpoints that will really make your debug sessions much more useful, but there are also some other advances in Visual Studio that go beyond these breakpoint modifiers. The first advance is the idea of advanced location breakpoints. How many times have you been debugging an issue and as you’re looking at the call stack you realize that you want to set a breakpoint ......
We have talked about the Location, Condition, Hit Count, and Filter modifiers for breakpoints which only leaves the When Hit modifier. Using the When Hit modifier allows you to change your breakpoint to a tracepoint. What is a tracepoint? Simply put, it is a breakpoint that continues execution. Why would this be interesting or even important? Tracepoints are great when you want to trace a particular path of execution, such as OnDeserialized events in your WCF DataContract classes. You are interested ......
We previously talked about the Location, Condition and Hit Count modifiers for advanced breakpoints. These are great for a lot of different debugging scenarios, but what about tricks specifically for debugging multi-threaded applications. If you have ever tried to debug a multi-threaded application you know that it isn’t always the easiest experience. Hopefully everyone is already familiar with the Treads window. If you aren’t, it is accessed through the Debug|Windows|Threads menu or the Ctrl+D, ......
The most basic aspect of any debugging session is the use of breakpoints, which allows you to specify a location in your application (a line of code) where program execution will stop (break) and allow you to inspect the internal state of the application at that exact moment. This is a pretty cool feature, but Visual Studio allows you to do even more with advanced breakpoints. Put simply, an advanced breakpoint is a breakpoint with one or more modifiers applied. A modifier allows you to change the ......
Microsoft today announced the new product line for Windows 7. In some ways the new Windows 7 product line follows the same ideas of Windows Vista, but the big differences are that each Windows 7 edition is a superset of the previous edition (which means that each higher edition will have every feature of all lower editions) and they will be focusing primarily on two editions of Windows 7: Windows 7 Home Premium and Windows 7 Professional. The breakdown on the different editions is: Windows 7 Starter ......
I don’t know why or how I missed this earlier, but I just found out about the Fit in February Developer Challenge. After reading the official rules, which includes a brief explanation of why the challenge was started, I think this is an excellent way to entice us developers in to doing something to become more healthy. For my part, I’m going to start following the onehundredpushups program, which is a 6 week training program after which you should be able to do 100 consecutive pushups. I had completed ......
In my last post I talked about migrating from NUnit to MSTest and mentioned that there were some Assert methods that NUnit provided which did not have corresponding methods in MSTest. For reference, those unavailable Asserts are: Assert.IsNaN Assert.IsEmpty Assert.IsNotEmpty Assert.Greater Assert.GreaterOrEqual Assert.Less Assert.LessOrEqual Assert.IsAssignableFrom Assert.IsNotAssignableFrom CollectionAssert.IsEmpty CollectionAssert.IsNotEmpty StringAssert.AreEqualIgnori... StringAssert.IsMatch ......
I have been writing a lot of unit tests over the past month using the Microsoft Test (MSTest) unit testing framework that is now part of Visual Studio 2008 Professional Edition (and higher SKUs). Currently I have about 223 unit tests covering 39 classes (about 18K lines of code, 325 methods and 176 properties) with a code coverage percent of 97%. The classes that I’m testing previously had NUnit tests (although not as many as I currently have) and used NCover and NCover Explorer for my code coverage ......
I’m trying to put together my speaking schedule for upcoming code camps in the South East region. Right now I just want to know when the upcoming code camps are so I can determine which ones might best fit my schedule. I only know of a few, so if you know of others please let me know. Date Title Speaking? 1/24/2009 New England Data Code Camp4 N 1/31/2009 Alabama Code Camp1 N 2/6/2009 South Florida Code Camp Y 3/7/2009 Roanoke Code Camp N 3/14/2009 Atlanta Code Camp2 N 3/28/2009 Orlando Code Camp3 ......
This question is for all of the TDD and unit test folks, so I’m hoping someone comes up with an answer. I’ve been writing unit tests and analyzing code coverage for one of my libraries for about a week now and I’m starting to see the end, at least for this particular library. However, I’ve run in to a problem trying to ensure as close to 100% code coverage as possible. This exists in several methods in a few different classes, but I’ll take the simplest one for illustration purposes. I have cod that ......
When writing unit tests that cover methods that can throw known exceptions, you generally want to make sure that your tests actually test the conditions that can cause the exception and that you do, in fact, throw the correct exception. Most unit test frameworks, including MSTest and NUnit, use an ExpectedExceptionAttribute to decorate the test method. There are actually several problems with using ExpectedExceptions that make it more difficult to write good unit tests. The first problem is the fact ......
I have been writing a lot of unit tests lately using Microsoft Test. This included converting a bunch of old NUnit tests to the MS Test format, which was relatively painless. While examining the code coverage results (after all, what good are unit tests if you don’t know what portions of the code are being tested and not tested), I have noticed that the results sometimes lie. For example, I have a class that contains some extension methods for manipulating enums. One of those methods takes an enum ......
There are a lot of different sites available for sharing pictures on Twitter, but it seems like there are very few that allow you to easily share videos. All of that has changed with the launch today of TweeTube. TweeTube bills itself as being “The easiest way to share videos on Twitter” and from what I’ve seen so far, it is. You can search YouTube for videos with matching keywords, or if you already know the video you can paste the URL. After you find the video (in this case I am sharing a video ......
Florida has a very active developer community. The biggest problem we seem to have is that all of these different groups usually don't know about each and there hasn't been a "centralized clearinghouse" listing all of the technical communities. Joe Healy, one of our Florida Microsoft Developer Evangelists, maintains a list and earlier this year started putting together one-page flyers for each of the main areas in Florida. I think the eventual plan is that Joe will be updating his site to take advantage ......
It seems there has been some confusion and concern over my decision to also blog on the Los Techies website that I wanted to clarify. The most important point I want to make is: For those of you who subscribe to my blog hosted on Geeks With Blogs (http://geekswithblogs.net/... there is no need to also subscribe to my Los Techies blog. My primary blog will continue to be here on GWB and all new posts will show up here first. What that means is that anything I blog here will eventually make its ......
A few days ago I was invited by the Los Techies website to start blogging with them. Have no fear, I am not abandoning my home here on Geeks With Blogs, but I will be cross-posting between GWB and Los Techies. I haven’t finished setting everything up yet, but I’ve already put a few posts out there. Be sure to check out the site. It looks to be a young but thriving online community and I’m looking forward to seeing where they take things. Technorati Tags: LosTechies ......
I was working on some Stream extensions today and added a method which will read all of the data from a stream in to a byte array. Some of the classes which derive from Stream provide a similar method (MemoryStream, for example, provides a GetBuffer() method to do this). The drawback here is that the base Stream class doesn’t provide an abstract GetBuffer() method; instead it’s up to each individual derived class to implement such a method. This is perfectly reasonable as a stream may not have an ......
I am a big fan of using XML comments in code and actually have a few Visual Studio macros which allow me to “inherit” the documentation from an overridden member. Every once in a while, I end up pulling in a comment with a filterpriority XML tag. This tag is very prevalent in the BCL but I have never been able to find documentation on what it actually means. To see what I mean, let’s take a look at part of the definition for System.Object. In the XML comments, you will see that the class itself has ......
It’s been a while since I last talked about StyleCop. I’ve been using it a lot recently on an internal project of mine and have come to really like the idea behind the tool. After using it extensively over the last few days, however, I think there are a few glaring omissions and features that need to be implemented before this tool can become truly useful. The first issue that I ran in to was the sheer volume of violations reported. In an effort to try and trim down the violations to a workable number, ......
Last month I talked about Code Contracts, which are one of the new features in .NET 4.0. Earlier today I was digging around in .NET Reflector looking for something totally unrelated when I came across the Microsoft.Contracts namespace in System.Core. Looking at the Contract class reveals some custom exception types and a bunch of static methods that look surprisingly similar to what will be available in the CodeContract class in .NET 4.0. What does this mean? It means that Microsoft internally was ......
Windows Vista Service Pack 2 Beta is now available for public download on MSDN and TechNet. This is a combined update for Windows Server 2008 and Windows Vista Service Pack 1. This will be the first service pack for Windows Server 2008 since it shipped and includes a lot of performance improvements for WS08. Did you notice that I specifically said Windows Vista Service Pack 1? That’s correct, if you want to install this service pack on Vista, you must first have SP1 installed. That means that SP2 ......
Tampa Code Camp is this weekend and I’m presenting 3 sessions: Understanding Lambda Expressions Lambda expressions are an integral part of LINQ and a powerful new feature of .NET 3.0. We will explore the history of lambda expressions and how they operate in .NET, and how they can dramatically simplify your code.Lambda expressions are an integral part of LINQ and a powerful new feature of .NET 3.0. Memory Management Fundamentals – Garbage Collection Deep Dive Memory management in .NET is one of the ......
I present at a lot of the local Florida code camps (and some out of state ones as well) and have a presentation that focuses on understanding Lambda expressions in .NET. This is not an exhaustive list, but it is a subset of the books, articles, blogs, and presentations that I used to form the content of my presentation. Books Essential C# 3.0: For .NET Framework 3.5 (2nd Edition) (Microsoft .Net Development Series) (Paperback) (Mark Michaelis) The C# Programming Language (3rd Edition) (Microsoft ......
Silverlight 2 was just released a few short months ago, but ScottGu is already providing hints at what we will see in Silverlight 3 which is supposed to be out sometime next year and will be a major update. Some of the major enhancements and improvements are: media enhancements (including H.264 video support) graphics improvements (including 3D support and GPU hardware acceleration) application development improvements (including richer data-binding support and additional controls) To go along with ......
Generics in C# have been around for a while (the concept of generics has been around even longer) but there are still a lot of developers who don’t have a good understanding of what they are or how to use them. Looking at the direction C# 4.0 is taking, generics are becoming more and more important and if you don’t make them a natural part of your programming tool belt you are going to find yourself falling behind the curve. Karl Seguin at CodeBetter.com has an excellent post that explains generics ......
Tampa Code Camp is coming up in just two weeks, so be sure to register now if you plan to attend. The speaker bios and full agenda haven’t been published yet, but the list of sessions is now available. If you’re going, be sure to check out my sessions: Coding Style and Standards (chalk talk) Code standards and styles are one of those topics that you either love or hate. Join your fellow developers as we talk about what our experiences have been, what worked, what didn't, and why having them is a ......
A few months ago, Motorola mentioned Windows Mobile 6.5 in an earnings call: "Windows Mobile 6 has not delivered the experience that I think Apple has been able to deliver, but as you look at the plan that Windows Mobile 7 and even 6.5, I think there are significant new added features which will help the platform." This sparked the fuel under the rumor mill, but apparently the rumors have now been confirmed by Steve Ballmer: With releases we'll make this year - releases we'll make with 6.5 next year, ......
Event Date: Saturday, January 19, 2009 Event Time: 08:30 (registration), 09:00 – 17:00 Event Location: Microsoft Tampa Office If you want to learn what TDD is all about, this is the event to attend. It’s a day-long event where you will go from start to finish with a sample domain problem and learn how to write tests to drive functionality of the system. This promises to be an excellent event and will be good for both beginners and those experienced with TDD. There will be two tracks running simultaneously, ......
Developer Express, the makers of CodeRush, have teamed up with Microsoft to make a scaled down version available for free called CodeRush Xpress. This is exclusively for C# developers working in Visual Studio 2008 and includes a selection of hand-picked features from CodeRush and Refactor! Pro. A few important things to point out are that CodeRush Xpress: does not support the Visual Studio Express Editions cannot be installed side-by-side with other CodeRush or Refactor! editions There are about ......
I’ve blogged a lot about the new features available in C# 4.0 recently, with each feature getting a dedicated blog post. Mads Torgersen, a C# PM and member of the C# design team, together with other members of the C# team have created a document that outlines the new features in C# 4.0. This whitepaper, combined with Anders’ PDC talk is one of the best ways to get a good overview of what’s coming. There are also a set of C# 4.0 samples available which demonstrate how to use the new language features: ......
If you attended PDC hopefully you had a chance to hear Anders’ talk on C# 4.0; if not you can watch it on Channel 9. During that talk, one of the primary new features he focused on was the new dynamic keyword and all of the new features that come along with it. Building on that talk, Anders and C# Community PM Charlie Calvert talk about questions that have come up in the community about what the new dynamic features mean. Technorati Tags: C# 4.0, dynamic ......
A while ago, Andy Warren of SQL Server Central asked if brown bag lunches/training worked. His answer was: …now to the question - do they work? I've tried it when I was managing, and sadly, it didn't work. I disagree with Andy on this one, but to be fair I understand his points and they are all valid. To make sure everyone has the same understanding of what we’re talking about, here is Andy’s definition of a brown bag lunch: I'll define a brown bag lunch as a training event held at lunch time where ......
I have talked about both Windows Live FolderShare and Windows Live Sync in the past. In fact, the last time I talked about Live Sync it was to say that it was FolderShare rebranded. Starting next month, Microsoft will be officially announcing Windows Live Sync, which you can think of as FolderShare 2.0. It will look familiar and offer the same features as FolderShare, plus: More folders and files—sync up to 20 folders with 20,000 files each. Integration with Windows Live ID—no more extra sign-in ......
Just a quick reminder that the November 2008 meeting is tonight from 6:30 PM - 8:30 PM (ET) at the Microsoft office. We are very pleased to be holding this meeting in cooperation with the Central Florida BizTalk User Group. Since this is a joint meeting, please be sure to register so we have a good idea of how much pizza to order. Our speaker tonight is Danny Del Rio, a Senior Applications Architect specializing in enterprise integration. He brings extensive experience in various fields including ......
If C# 3.0 was all about Language Integrated Query (LINQ), then C# 4.0 is all about dynamic programming. What exactly does that mean? It means that C# 4.0 brings some of flexibility and declarative style of programming to C#. But what does that really mean? To sum it up in one keyword: dynamic. C# 4.0 is adding a new dynamic keyword which is used as a data type in much the same way the var keyword is used. Why is this important? The biggest reason is that it allows a C# program to use dynamic dispatch ......
Those of you who know me know that I am a big proponent of code style and standards. One of the best resources I have found for documenting a clear and thorough set of code standards is the Framework Design Guidelines book by Brad and Krzysztof. The book was recently updated for the new language features in the .NET Framework 3.0 and 3.5 releases. Some of the existing guidelines have been expanded with new annotations and more detail, and new guidance covering such features as extension methods and ......
Normally the Tampa Code Camp has already come and gone by this time of the year. This year, however, it’s being held on December 6. The official website and list of sessions has not been published, but it should be available soon. Be sure to register now if you plan to attend. Last year attendance was capped at 600 and we’re in a different location this time so I don’t know what the limit will be. When & Where: Saturday, December 6, 2008 Kforce Corporate Headquarters 1001 East Palm Avenue Tampa, ......
Did you miss PDC this year? Don’t want to watch the recorded sessions? Then register today for an MSDN Developer Conference near you! The MSDN Developer Conference (MDC) brings you the best content of the PDC presented by your local field evangelists and community influentials (mostly Microsoft MVPs). The conference is broken down in to 3 tracks: Azure Services Platform Client and Presentation Tools, Languages, and Framework The MDC is a one-day “best of” conference that costs $99.00. If you didn’t ......
Exposing a native application to a managed application hasn’t always been the easiest experience. The good news is that there are some significant improvements in the interoperability story between native and managed code. In the current versions of the .NET Framework, the process starts with running the tlbimp tool to create an interop assembly. The problem here is that tlbimp doesn’t always get everything right so you have to fix the assembly by running ildasm and then hand modify the IL or write ......
The CLR is the core set of APIs that make up the .NET Framework. Each release of the CLR has added functionality, with the most functionality being added in the .NET 3.0 and .NET 3.5 releases. These releases used a “layer cake model” This model works reasonably well for solving application compatibility issues but does restrict the kinds of functionality that can be added. The other problem with this approach is that the hosting process (any application that hosts an instance of the .NET Framework ......
Over the years .NET has been a great platform for multiple languages, and actually launched with support for 16 different languages. Up until recently, however, it has been difficult (but not impossible) to create functional and dynamic languages for .NET. With the release of CLR 4.0, Microsoft is officially releasing IronPython, IronRuby, F#, and several other functional or dynamic languages. In order to do this, the CLR is gaining support for a few language features that are common in these types ......
All of the meeting times from now through the end of 2009 have been published on our meeting registration page. The topics for the 2009 meetings have not been finalized yet…so if you are interested in speaking please let me know. Online Event Registration - Powered by www.eventbrite.com ......
This post has been moved.
Debugging in .NET 4.0 has become a bit easier as well thanks to better support for dump debugging through Visual Studio. This means that dump debugging now has support via ICorDebug, which is the same API that is used to enable live debugging and will also allow you to debug Windows Error Reporting mini-dumps in Visual Studio. If you develop 64-bit applications, 64-bit mixed-mode debugging now supports both live and dump debugging. There are also new APIs to do lock inspection, which allows you to ......
If anyone is familiar with the Microsoft Research (MSR) project Spec# you will be familiar with the idea of contract based programming. CLR 4.0 takes the idea of contract based programming (and more specifically code contracts to ensure code validity) from Spec# and adds it to the CLR. This now means that code contracts are available to any .NET language. The premise behind code contracts is that you (the programmer) know a lot about your code, including when input arguments should and shouldn’t ......
The .NET garbage collector is one of the areas of the .NET Framework that is extremely important and probably one of the least understood. There are a lot of articles written about it and there have been very few changes since .NET 1.0 was first released. (There have been changes with almost each release, but they have been relatively minor.) With .NET 4.0, however, there are some fairly substantial changes to the GC that will have some interesting performance implications (in a good way). For a ......
If you like sushi and are attending PDC 2008 in Los Angeles, then join us for some great sushi and networking Wednesday night. If you're attending The Underground @ PDC, be sure to join us since Oomasa (in Little Tokyo) is only a few blocks away. The registration is free, but the sushi isn't. Prices, however are very reasonable. Technorati Tags: PDC, Geek Dinner ......
A few days ago Microsoft announced that the PDC website was going mobile. Go to: http://m.microsoftpdc.com/ for the PDC mobile experience. I think it’s great that you can get the agenda and sessions on your phone, but what is sorely lacking is the ability for me to log in and get my sessions. That would have really been useful. Technorati Tags: PDC ......
PDC 2008 starts in a few days. I’ve setup a preliminary schedule already, but, as always, it’s subject to change once I get there. It will be good to see the early bits for Windows 7, including a Windows 7 Application Compatibility Lab. I’m staying at the Grand Kyoto Hotel, near Little Tokyo. If anybody wants to catch up and grab some sushi, let me know. Technorati Tags: PDC ......
Just in time for PDC, Microsoft has unveiled new logos for the .NET Framework. According to Chris Keonig’s blog post about the new logos, the change was made because We [Microsoft] needed a logo that was in sync with the key values that we want .NET to stand for: consistency, robustness and great user experiences. We also wanted a logo that conformed to the design principles that are driving Microsoft’s brand identity evolution and is reflected in newer brands such as Silverlight, Surface and more. ......
Just a reminder that the Tampa Bay IASA October meeting is tonight starting at 6:30 PM. "Fix the Architecture" - Open Discussion We have a great group of members with a variety of experience, so bring your architecture problems and leverage those experiences and creativity to help solve them. This is an open discussion format and depending on how many people we have and how many problems we may split up into small groups or try to solve problems one at a time. Please bring your topics to discuss. ......
Not sure when this became live, but the schedule builder for PDC 2008 is now available. This is very different from the schedule builder tools of the past and is considerably easier to work with. As you can see, the schedule is presented as a daily calendar. Each column is a timeslot (showing only the starting time) which shows all of the sessions available. You can filter the list of sessions by clicking the appropriate tags. Underneath the calendar view is the list of sessions and the session details. ......
We are very pleased to be holding this meeting in cooperation with the Central Florida BizTalk User Group. Enterprise Application Integration (EAI) using BizTalk Server 2006R2 Enterprise Application Integration (EAI) using BizTalk Server 2006R2. Microsoft BizTalk Server 2006 R2, the latest version of BizTalk, is an exciting tool that all .NET application developers should know about. BizTalk fills two key business needs: enterprise application integration, and business process automation. This session ......
"Fix the Architecture" - Open Discussion We have a great group of members with a variety of experience, so bring your architecture problems and leverage those experiences and creativity to help solve them. This is an open discussion format and depending on how many people we have and how many problems we may split up into small groups or try to solve problems one at a time. Please bring your topics to discuss. We also have a backup topic of Tips for Performance in a Web Architecture. When & Where: ......
Just a reminder that the Tampa Bay IASA September meeting is tonight starting at 6:30 PM. SharePoint Architectural Perspectives While SharePoint does have the one-button install option, it isn't a monolithic application that just gets dropped on a server. SharePoint has a number of moving pieces that should be understood by both infrastructure and application architects. In this session, we'll review the architectural makeup of SharePoint's infrastructure, as well as the components of a custom SharePoint ......
A few days ago in one of the CodeProject disucssion forums someone was looking for a way to easily remove the extra vertical whitespace in a file. This is really handy if you copy and paste code from the web or otherwise have a file that has multiple consecutive blank lines that you want to consolidate to a single blank line. A solution was presented that used a Visual Studio macro, but that macro used pattern matching with find and replace, so it didn’t feel very stable. Taking the opportunity to ......
Stackoverflow is an interesting new community site launched by Jeff Atwood and Joel Spolsky that just went into public beta yesterday. Jeff has a pretty interesting explanation of what the site is all about: Stackoverflow is sort of like the anti-experts-exchange (minus the nausea-inducing sleaze and quasi-legal search engine gaming) meets wikipedia meets programming reddit. It is by programmers, for programmers, with the ultimate intent of collectively increasing the sum total of good programming ......
I have talked about Windows Live FolderShare in the past and have always really liked what it offers. As part of the new Windows Live Wave 3 release, although not an official part of the release yet, is the fact that FolderShare is being renamed and rebranded as Windows Live Sync. As I said, its not part of the beta releases today, but you can download the beta if you want an early look. This is looks like it is still an early beta, so a lot of features don’t appear to be working and I can’t get ......
The beta downloads for the new Windows Live Wave 3 applications are here. This includes new versions of: Messenger Mail Writer Photo Gallery Movie Maker Toolbar Family Safety Microsoft Office Outlook Connector To give you an idea of what’s new in some of the products: The look and visible features have been updated in all of the products, but the ones that are most noticeable are Messenger, Writer, and Mail. There are a lot of new features in Messenger, but some noticeable ones are that “Shared Folders” ......
I present at a lot of the local Florida code camps (and some out of state ones as well) and have a set of presentations that I do which focus on .NET memory management, specifically a "deep dive" on how the GC works and another presentation which talks about how to implement the Dispose pattern properly. I was doing some additional research today to update my list of resources in the presentations and decided to publish that list here as well. This is not an exhaustive list, but it is a subset of ......
It looks like the first code camp to be held in the “swamp coast” of Southwest Florida was a huge success. I think John and the rest of the crew that put this together did an excellent job. I haven’t heard final numbers yet, but they had 175 registered with 26 sessions and a morning of Open Space sessions. As always, I presented two sessions on .NET Memory Management (thank you to the handful of people that attended and apologies for doing the sessions in the opposite order to how they were listed ......
SharePoint Architectural Perspectives While SharePoint does have the one-button install option, it isn't a monolithic application that just gets dropped on a server. SharePoint has a number of moving pieces that should be understood by both infrastructure and application architects. In this session, we'll review the architectural makeup of SharePoint's infrastructure, as well as the components of a custom SharePoint solution. A thoughtfully-designed SharePoint architecture can be the difference between ......
Phil has an excellent post that builds on Jeff Atwood’s explanation which very clearly describes the differences between the various release types: Beta CTP Daily Builds/Interim Releases Fully Supported Out-of-Band Releases RTM/RTW Releases Service Pack Releases Summarizing what both Phil and Jeff said: Alpha: The software is complete enough for internal testing. This is typically done by people other than the software engineers who wrote it, but still within the same organization or community that ......
If you’re looking at implementing Team Foundation Server, looking for ways to improve your deployment, or just want to know how one of the world’s largest software companies manages their day-to-day development, check out this “series” of blog posts. These are good posts from a management/process level perspective: Applying Value Up at Microsoft (Sam Guckenheimer) 60-minute-webcast Scenarios, Value Props, Experiences, Features Managing work for Team System (Jeff Beehler) Internal TFS Usage: Tracking ......
Not too long ago I mentioned that StyleCop 4.3 had been released and that the SDK documentation would be out shortly. The wait is over and the SDK documentation is now available. The documentation covers the following sections: Writing Custom Rules for StyleCop Integrating StyleCop into Build Environments StyleCop API Reference I’m looking forward to finding some time to sit down with the SDK and see what kind of custom rules I can write. Technorati Tags: StyleCop ......
If you want to help provide feedback for the next big features at CodePlex and will be in Redmond (Seattle) between September 16 – 19, be sure to contact the CodePlex team to participate in some usability studies. Be sure to include your: Name CodePlex username (if you have one) Phone number where we can contact you to schedule a time. I would love to participate as I have a few projects on CodePlex and spent a great deal of time talking with the team at this years MVP Summit, but unfortunately I’m ......
I have always been a huge fan of FxCop, especially FxCop 1.36 even though it was a beta release for a long time. I’m happy to say (a bit late) that FxCop 1.36 has finally been released. Some of the improvements are: 200+ bug fixes that reduce noise, missing analysis and rule crashes Support for analyzing anonymous methods and lambda expressions New option for skipping analysis over tool generated code Spell checker libraries now ship in the box Changes in the way references are resolved and located ......
Jeff Atwood talks about what he considers the “Golden Rule” of source control: Check in early, check in often. For Jeff, it seems, going more than 1 day without checking in code is too long and will cause integration headaches down the road. I completely agree with this sentiment, and the idea of not going dark, up to a point. Where Jeff's arguments start to fail is long-running development tasks that have large (or fundamental) impact on an existing code-base, particularly one that is heavily used. ......
Axialis Software and Microsoft worked to create a free Visual Studio add-in to create an icon editing tool that allows you to create high-quality 256x256 PNG-compressed icons for Windows Vista. The editing experience, both inside and outside Visual Studio, is very easy to use and provides various tools, filters, and effects, as well as the ability to create icons from existing images or ready-to-use image objects. *IMPORTANT: Axialis IconWorkshop™ Lite installs ONLY if Visual Studio® 2008 Professional ......
Earlier this month Charlie Calvert introduced a potential new feature called Document Map Margins (DMM). The idea behind DMM is to make it easier for you to find and track important features in your code by visualizing the entire file. Overall I like the idea of DMM as it can really provide you with good contextual information, particularly for really large files. While DMM isn’t here now, a very similar tool is. I came across this tool mentioned by ScottHa in this post. What RockScroll does is to ......
There are always a lot of posts about various add-ins, code snippets, macros, and other utilities that are designed to make you, the developer, more productive within Visual Studio as an editing environment. However, there seem to very few posts that talk about how to actually improve the performance of Visual Studio itself. Browsing through some of the questions on Stack Overflow, I came across a thread asking this very question. There were a lot of non-answers, but one that definitively listed ......
Just a reminder that the Tampa Bay IASA August meeting is tonight starting at 6:30 PM. Web Service Software Factory Modeling Edition The Web Service Software Factory (WSSF) Modeling Edition focuses on building the server side of a web services infrastructure, using either ASMX or WCF services. The new release uses three Domain Specific Languages (DSLs) to model services: service contract, data contract and host models. Through use of these DSLs, WSSF helps developers construct a scalable, extensible ......
For those of you attending the Jacksonville Code Camp 2008, the presentations for my sessions are available on my public Windows Live SkyDrive folder. My sessions are: Memory Management Fundamentals – IDisposable and the Dispose Pattern 8:30 AM– 9:30 AM Code Styles & Standards (Open Space/Chalk Talk) 9:40 AM – 10:40 AM Memory Management Fundamentals – Garbage Collection Deep Dive 2:15 PM – 3:15 PM Unfortunately, it looks like most of the sessions that I want to see are at the same time as mine, ......
Even with the newest releases of StyleCop, FxCop, and Visual Studio 2008, there is still a lot of room for improvement in the suite of technologies and products that make up what should probably be termed “Microsoft Source Analysis”. I know that calling StyleCop that name caused a lot of confusion since it was being compared to the built-in source analysis features of Visual Studio (at least the Team Edition SKUs of Visual Studio). I think the real heart of the problem is that Visual Studio comes ......
A while ago I talked about a new tool from Microsoft called StyleCop. Since then, there was a lot of confusion surrounding the tool and it has undergone a lot of changes both internally and externally. Both Jason and Brian do an excellent job explaining the context behind some of the discussions and decisions leading up to these changes, but the biggest one is that the tool has been officially renamed as “StyleCop” to prevent any confusion with the built-in Visual Studio Code Analysis packages. I’m ......
For any one who is going to the Jacksonville Code Camp 2008 (Jax Code Camp IV) and is traveling be sure to keep an eye on the weather and on tropical storm Fay. It is supposed to be hitting Florida as early as Tuesday, but the forecasts don’t yet know exactly where. If you book a hotel through Hotwire (the only 4-star listed on Hotwire for downtown Jacksonville is the Hyatt) be sure to purchase the travel protection (it’s only about $8) since it covers natural events like hurricanes. Otherwise, you ......
Another Florida Code Camp, this time in Southwest Florida (which is the Naples area). This is the first code camp for Southwest Florida, so be sure to register. When you register, you can sign up as a speaker as well if you want to get more involved in the community…speaking at Code Camp is a great way to get started as a speaker. I’ll be there speaking and possibly attending some sessions as well, depending on when things get scheduled. Here are the details: When: September 13, 2008 - 8:00am to ......
Phil just announced that Subtext 2.0 is finally out. I haven’t been very active on this release (sorry guys!) but with the plans for 3.0 starting up I will be getting back into things a bit more. The new 2.0 release looks really good and includes some new features and bug fixes that will be nice to have. Now, we just need to convince Jeff and company to upgrade. Some of the improvements are: Enhanced MetaWeblog and WordPress API implementations New CSS-based admin section The ability to set a separate ......
Web Service Software Factory Modeling Edition The Web Service Software Factory (WSSF) Modeling Edition focuses on building the server side of a web services infrastructure, using either ASMX or WCF services. The new release uses three Domain Specific Languages (DSLs) to model services: service contract, data contract and host models. Through use of these DSLs, WSSF helps developers construct a scalable, extensible web service framework from the service interfaces to the translation of domain data ......
Whether you like Vista or not, the user interface aspects of the operating system are here to stay. Overall, I think Microsoft did a good job with the core interface guidelines, as presented in the Windows Vista User Experience Guidelines. From the guidelines, The goals for these official Windows Vista® User Experience Guidelines (or "UX Guide" for short) are to: Establish a high quality and consistency baseline for all Windows Vista-based applications. Answer your specific user experience questions. ......
The last time I wrote about the Outlook Connector it was to talk about the lack of Calendar synchronization and the fact that a new version of the connector was in internal Microsoft testing. I am happy to announce that the new version is out of internal testing and is available as a public beta. This new version synchronizes with your Windows Live Hotmail or Microsoft Office Live Mail accounts, including e-mail, contacts and calendars. I installed the new version and so far it works great. It remembered ......
Only a few hours ago I posted and Outlook macro for creating meetings from an email. I’ve already updated it with some new features (requested by me, of course). The new version is available on my SkyDrive account and has the following new features: You can now create either a meeting or an appointment – there are two macros now. The reminder time has been changed to 10 minutes (bug fix). The original email message is now an attachment, which means the body of the appointment or meeting is blank. ......
It’s pretty clear that Windows Presentation Foundation (WPF) is here to stay. In fact, use of WPF is becoming more popular and frequent, particularly now that Silverlight 2.0 is on the horizon. The problem is that there has been very little guidance available to help you decide when to use the various UI technologies available. There is however, some unofficial help in the form of this blog post and this white paper. Here is the comparison matrix from Michael’s blog post: WPF WPF XBAP Silverlight ......
Jason Allor, the developer behind the Microsoft StyleCop tool has an excellent blog post about the historical evolution of C# code style. The post came about largely in response to some criticisms about the code style enforced by StyleCop and how it doesn’t match C/C++ style or that it differs in some areas with the Framework Design Guidelines. As Jason points out, most of the differences are historical and are there because the of two reasons: The original development team for the CLR consisted ......
I started doing these a few years ago for Tech·Ed (2008 and 2007) and received a lot of good feedback so I decided to continue the series for PDC as well. Session Types This year PDC is offering a slightly different mix of session types with what they are calling “UnSessions”. The bottom line is that UnSessions are everything that isn’t an official breakout session. If you’re still a bit confused, keep reading to see the differences. There may be some other session types once the schedule has been ......
Twitter is an interesting phenomenon. I first started using it in April at the MVP Summit. Since then, as anyone who is following me has seen, my use has been intermittent at best. The biggest reason is that I haven’t found a Twitter client that I liked that allowed me to use Twitter in a way that was not only natural (at least for me) but from within tools that I was already using and in front of me. The other day I decided to download OutTwit and have found it to fit almost all of my needs. There ......
I recently took a look at the PrepKit offerings from uCertify. If you aren’t familiar with uCertify, they make practice exams and test preparation packages for a pretty extensive range of IT certifications including Microsoft, Oracle, CompTIA, Cisco, and Sun. The interesting thing about the uCertify PrepKit is that they are completely exam/quiz oriented. You can download a trial version of the PrepKit which includes 30 questions and then purchase the full PrepKit directly from within the “PrepEngine”. ......
I just registered for Microsoft PDC 2008 in LA, October 27-30. This will be my second PDC and the first one I’ve been to as an MVP. There are supposed to be a lot of really interesting things announced at this one, so it should be an exciting time. I know I will be at the Party with Palermo on October 26, and there will probably be a Florida (and Friends of Florida) MVP geek lager one night as well. Not sure what else is going on, but if you’re going look me up. Technorati Tags: PDC ......
A question was asked yesterday in one of the CodeProject discussion forums by someone looking for a way to easily change the Target Framework version of all projects in a solution. If you don’t know, the Target Framework version is what tells the compiler which version of the .NET Framework to compile against (more information is available here) and can be set to one of the following values: .NET Framework 2.0 .NET Framework 3.0 .NET Framework 3.5 This can be easily accomplished by editing the project ......
I recently went through the exercise of reinstalling all of my developer tools on my home development system. This involved uninstalling everything, including Visual Studio and SQL and then reinstalling. While this wasn’t exactly a painless experience, it was good to get back to a relatively clean slate and re-evaluate all of the various tools and add-ins I’ve accumulated. I posted a similar list about 2 1/2 years ago, so it’s interesting to see what’s changed in that time. This time, I’m just listing ......
"Fix the Architecture" - Open Discussion We have a great group of members with a variety of experience, so bring your architecture problems and leverage those experiences and creativity to help solve them. This is an open discussion format and depending on how many people we have and how many problems we may split up into small groups or try to solve problems one at a time. If you have a question/topic to discuss please let me know by Monday, July 21 or when you register for the meeting. After the ......
My earlier post on the Null Object pattern led to a few critiques about the fact that I was presenting an extension method to do what is essentially a very simple logical test, and, as a result, doesn’t provide much value. For reference, here is the original extension method from that post public static class NullObjectExtenstions { public static bool IsNull(this object source) { return (source == null); } } Yes, this is an extremely simple method and performs a very basic logical test. However, ......
My post on the Null Object pattern has generated some interesting dialog. One of the trends that I have seen is the idea that defensive programming means your code should fail as early as possible. I couldn’t agree less. According to Wikipedia, Defensive programming is a form of defensive design intended to ensure the continuing function of a piece of software in spite of unforeseeable usage of said software. The idea can be viewed as reducing or eliminating the prospect of Murphy's Law having effect. ......
Just a reminder that the Tampa Bay IASA June meeting is this Thursday night (June 26th) starting at 6:30 PM. Please be sure to register so we have an idea of how many pizzas to order, and remember that the outside doors lock and the elevators need a security key after 7:00 PM. Don't forget to sign up for our free newsletter! Dependency Injection using the Microsoft Unity Application Block The Microsoft Unity Application Block is a lightweight Dependency Injection Container that is currently being ......
If you are a user group leader in the worldwide community of Microsoft® .NET user groups, you probably already know about INETA. Don’t know about INETA? Then you should definitely take a look and become an INETA member group. Are you already involved with an INETA member group? Be sure to check out the new Community Champions program. This is just one of the ways INETA recognizes and rewards those who contribute to the user group community and help it grow. The Champs program was specifically designed ......
If you write .NET code using Visual Studio 2005 or 2008, you’ve probably noticed the automatic outlining the IDE makes available to you. This automatically creates collapsible sections in your code for comments, regions, functions, properties, namespaces, classes, and the using block. While this is a great feature and one that I use on a daily basis, it would be great if this extended to automatically outlining control structures, such as if/then, while loops, for/foreach loops, try/catch blocks, ......
If you're at Tech·Ed Developers 2008, be sure to check out my Birds of a Feather session tomorrow night (6/4) at 7:45 PM. Here are the details: Technorati Tags: TechEd 2008, BOF ......
If you're going to Tech·Ed Developer or IT Pro this year, be sure to come out to the Microsoft Community Summit 2008 (also known as ]inbetween[ or the Tech·Ed Tweener Weekend, since it's in between the two events). This is a 2-day free event hosted by the Florida user group communities for everyone who is attending one (or both) of the Tech·Ed events or anyone who wanted to go but wasn't able to. It's hosted at the Orlando Convention Center on June 7-8. Since it's a free event, lunch will not be ......
My friend and fellow MVP Richard has a unique project that he started to help raise money for one of his local primary school's swimming pool repair fund, which needs to raise £40K. He's running a balloon race, which is being combined with Microsoft Virtual Earth to allow people to record and track where the balloons are found. Prizes are being offered (courtesy of Microsoft) for the finder of the balloon that has traveled the farthest and the person who launched that balloon. If you are interested ......
I've been trying to catch up on my reading and came across this post by Fredrik Normén where he raises the question about returning null or using the Null Object pattern. Interestingly enough, last month while I was in Seattle for the 2008 MVP Summit I had a very similar discussion. The end result of that discussion was that null objects, and nullability in general, ideally should be treated as a "first-class" citizen in the CLR. This means that if you try to execute a method on a null object you ......
The Tampa Bay chapter of the International Association of Software Architects (IASA) is dedicated to building a community of professionals interested in topics related to software architecture. This organization welcomes all interested professionals. Whether you are a senior enterprise architect at a fortune 100 company or an aspiring architect with only a few years of experience. Please be sure to register so we have an idea of how many pizzas to order, and remember that the outside doors lock and ......
As many of you know, I'm a big proponent of code styles and standards. As part of that, I'm always on the lookout for new tools that help enforce (or at least report) those standards. Some of you may have heard about a tool called StyleCop. In fact, there are references to StyleCop in some of the MSDN articles and other blogs. Since it was an internal tool, we could only imagine what features it provided and hope to find a copy of it somewhere. Well, imagine no longer. Earlier this week, Microsoft ......
It's amazing how small our world can be sometimes. I just found this video from a tweet by ScottHa, who was referring to a blog post by Roy Osherove. The views are absolutely incredible (check out the view at about 00:40 and then again at 2:55), but there is no way I would ever do a hiking trip like this. Just watching this makes me feel afraid of heights (especially at 4:46), and I'm not ......
I am moderating a reprise of my BOF session at last year's Tech·Ed. This one is simply called "Code Style and Standards", and is BOF864. It's currently scheduled for Wednesday, June 4 from 7:45 PM - 8:45 PM. Hopefully some of the people who attended last year's session will be at this one but I hope there are a lot of new faces as well. Technorati Tags: TechEd 2008, BOF ......
Last year when the Tech·Ed 2007 Schedule Builder came out, I complained about how cumbersome it was to use. The idea of having to pick a time period from a drop down list that contains 28 items and constantly having to scroll up and down to view the page navigation and the small calendar view down the side is very "old school" and does not make it easy to use. As a result, I took advantage of the fact that the sessions were published as an RSS feed and created a set of Internet Calendars for each ......
I have always been a big fan of the O'Reilly books, and the Missing Manual series is no exception. I recently had the opportunity to read Wikipedia: The Missing Manual by John Broughton. If you have ever thought about contributing to Wikipedia, or have done so in the past, this is the definitive book on how to contribute and become a successful Wikipedia editor. The book is broken down into 5 major sections which cover: Editing, Creating, and Maintaining Articles Collaborating with Other Editors ......
I just got back from attending my first MVP Summit and have to say the level of access we received to the product teams and other people within Microsoft was outstanding. Since this was my first Summit, I don't really have a frame of reference to know how it compares to previous years, but it did quickly become apparent to me that Microsoft really does listen to community as much as they are able. Obviously some groups and products are better able to do this than others, but that seems to be mostly ......
Florida has a very active developer community. The biggest problem we seem to have is that all of these different groups usually don't know about each and there hasn't been a "centralized clearinghouse" listing all of the technical communities. Joe Healy, one of our Florida Microsoft Developer Evangelists, maintains a list and earlier this year started putting together one-page flyers for each of the main areas in Florida. I think the eventual plan is that Joe will be updating his site to take advantage ......
If you are an ASP.NET developer or want to become one, there are numerous books available that talk about the ASP.NET framework and/or how to build web sites using ASP.NET. Pact Publishing has a book that focuses specifically on the data presentation controls that are available in ASP.NET, including ASP.NET 3.5 called ASP.NET Data Presentation Controls Essentials by Joydip Kanjilal. The book provides a good introduction to the basics of how data binding in ASP.NET works and then expands on that introduction ......
A lot of people have been talking lately about TripIt, a web-based travel organizer website created by some of the same people that brought you Hotwire. TripIt, however, isn't your ordinary travel site. With the ever increasing use of online services to make travel plans, organizing the details scattered across multiple emails and varying formats can be difficult and sometimes downright frustrating. TripIt simplifies all of that by knowing how to read the confirmation email formats of most of the ......
I have talked about the SlickEdit Tools and Gadgets in the past (here and here) and have always been impressed with both of them. Previously, the SlickEdit Tools were only available for Visual Studio 2005. Now that Visual Studio 2008 is here, SlickEdit has released an update that works with both VS2005 and VS2008. The catch here is that this is much more than a simple update. The major difference is that the tools have been organized into two products: the Editing Toolbox (datasheet), which contains ......
No, this question isn't asking how much disk space is required by the Framework. It's really asking "How complex is the .NET Framework for developers?" As you might guess, the answer is: It's pretty complex. All joking aside, this is neither an uncommon nor unreasonable question and answer. The reality of it is that the .NET Framework is a very complicated application programming interface (API) but is designed in such a way to expose that complexity gradually (at least in most cases). Brad Abrams ......
I have been a big fan of SkyDrive since it was first available as a beta release. Now that it has been officially released, it has continued to get better. Just recently, the SkyDrive team announced the top list of feature requests that they are looking to implement. The list so far is: Allowing multiple downloads at once. Displaying how many times a file has been downloaded. Supporting file synchronization from the desktop. Providing an API for storing and retrieving files. Adding SkyDrive access ......
I spent most of yesterday trying to figure out how to make use of a NameValueCollection in a .NET configuration file. After wasting almost the entire night fighting with this problem, I thought I would let everyone know that it is possible, and easier than you might think. (By the way, this was a clear case of working too long on the problem. After a good nights sleep, I solved this in under 5 minutes.) At this point you might wonder why this was so difficult. The largest and most significant problem ......
The Tampa Bay chapter of the International Association of Software Architects (IASA) is dedicated to building a community of professionals interested in topics related to software architecture. This organization welcomes all interested professionals. Whether you are a senior enterprise architect at a fortune 100 company or an aspiring architect with only a few years of experience. When: 3/27/2008 6:30 PM - 8:30 PM Topic: My 10 Years In Identity – A Veteran’s Experience Succeeding With Identity Management ......
A while ago I talked about Windows Live FolderShare. As a reminder, for those of you who don't know: FolderShare allows you to synchronize files across multiple computers and access or share files with colleagues and friends. You no longer need to send large files via email, burn them to CDs/DVDs and mail them, or upload them to a website. FolderShare allows you to share and sync important information instantly with anyone you invite, making it the perfect solution for personal or small business ......
One of my fellow GWB bloggers recently posed the question "Do you care about your developer community?" and offered some interesting ideas for user groups to adopt to help foster more community spirit. Hopefully whatever troubles D'Arcy is having will straighten themselves out, but the questions he asks and one of the responses got me thinking. I have always tried to be active in my local developer community and in the larger online community. I was active online far longer than I have been active ......
In a previous post I talked about the new IE8 Beta 1 release and IE7 compatibility mode. In that post I mentioned that I had only run in to one site that didn't render properly in IE8 standards mode. Since that post, I took a look at my blog in IE8 standards mode and realized that it also has some problems. After doing some more quick testing, I actually noticed that the Snap preview windows and the Live Search display panel also have problems. The Live Search window actually doesn't display any ......
More announcements from Mix came from Scott Guthrie, who announced the release of Silverlight 2 Beta 1. (In case you don't know, Silverlight 2 was previously called Silverlight 1.1) This release provides a lot of new features and controls, including layout containers such as a Grid and StackPanel, control skinning and templating. There are improvements in both networking and general performance as well. Better integration with Visual Studio 2008 is also provided as well as a new release of Expression ......
The Microsoft MIX08 conference is going on this week and even though I didn't go this year (maybe next year or ReMix) there are enough people blogging about what's happening at the conference that you can still keep up with most of it. There were a lot of big announcements during the keynote and the first day of the conference, including the first public beta of Internet Explorer 8. This release is primarily focused on web developers and designers to give them as much time as possible to validate ......
Ever since the .NET Framework was first release, Microsoft has always recommended that your code be signed. Windows Vista drives this point home even more with UAC and the Windows Error Reporting (WER) features, not to mention the fact that it's a requirement for Vista logo certification. John Robbins from Wintellect provides an excellent explanation of how to sign your code. As it turns out, it's a lot easier than many of you may have thought ......
Also from Paul's blog post and the .NET Framework Namespace poster is an excellent diagram that shows the relationship between the .NET Framework 3.5 release and the other versions of the Framework. This clearly shows the additive nature of both the .NET 3.0 and 3.5 releases ......
Now that .NET Framework 3.5 has been officially released, you can download a PDF of the commonly used types and namespaces. Be sure to check out Paul Andrew's blog post for full details ......
If you use Team System, Accentient has an excellent list of various Visual Studio Team System add-ins, add-ons, widgets, and extensibility solutions. This list is much more complete than the current Visual Studio Gallery, but it has also been around a lot longer. One benefit of the Visual Studio Gallery, however, is that you get a description of the add-in to decide if it's something that is important to you ......
With the release of TFS 2008, Team Build is getting closer to providing the same features as CruiseControl.NET. To help remove some of the shortcomings of Team Build, Microsoft has released the Visual Studio Team System 2008 Team Foundation Server Power Tools, which is a set of enhancements, tools and command-line utilities that improve the Team Foundation Server user experience. Team Foundation Server Power Tools includes the following tools: Team Foundation Power Tool command-line tool (TFPT.EXE) ......
Since WPF was released it has seen a fairly rapid adoption but not much in the way of guidance. The WPF team at Microsoft is hoping to change that with the release of the WPF Application Quality Guide. The guide is going to be released in stages and will be updated based on feedback provided by the community. While the first release is still missing a lot, it does provide some good tips on setting up your application for automated testing. They also provide a good list of tools for performance profiling: ......
At TechEd 2007, Krzysztof talked about building reusable libraries. The session abstract is below. You can download the presentation as an XPS file. The presentation was also recorded, and the WMV file can be downloaded from here. This session covers the main aspects of reusable library design: API design, architecture, and general framework engineering processes. Well-designed APIs are critical to the success of reusable libraries, but there are other aspects of framework development that are equally ......
It's beginning to look like the start of the Code Camp Season, with at least 12 scheduled over the next 4 months. If you are organizing a code camp, there is a new open source project that Jeffery Palermo has started called CodeCampServer. The project aims to provide a solution that can server as the web site for a code camp and will be able to track and manage multiple conferences for a single user group. The project will use the ASP.NET MVC Framework and the MvcContrib. The project hasn't had their ......
While I'm waiting to find out if I'll be able to go to Tech·Ed again this year I am still keeping an eye on what's going on with the conference. For last year's Tech·Ed, Microsoft created a "Tips for the Newbie" page (which is apparently no longer available) and I created a follow-on post called Tech·Ed for Novices. Since the conference this year is split into two separate weeks, I thought it was even more important for some tips on how to deal with the information overload and what Tech·Ed has to ......
One of the more irksome qualities about the Outlook Connector was the lack of Calendar synchronization, particularly with the new Windows Live Calendar. If you were an MSN subscriber it would work, but if you had just a Hotmail (or Windows Live) account it wouldn't. This also applied even if you had purchased the additional features of Hotmail Plus. According to LiveSide there is a new Outlook Connector currently in internal Microsoft testing that reportedly allows synchronization with Windows Live ......
I have talked about SkyDrive in the past and really like the service and the direction it seems to be taking. Just this past week, SkyDrive was finally officially released in 38 countries/regions. Along with the official release, the amount of space available has been increased to 5GB. I love the increased storage space, hopefully we will start to see some of these other improvements soon: Increase (or, ideally, remove) the size limit on uploading files. The ability to download multiple files at ......
I was recently introduced to a UK based publisher called Pact Publishing. They are a UK based publisher and have a book focused on the new Language Integrated Query (LINQ) features available in .NET 3.5 called LINQ Quickly: A practical guide to programming Language Integrated Query with C# by N Satheesh Kumar. The book provides a good overview of LINQ and it's supporting language features, such as anonymous types, implicit typing, object initializers, extension methods, and expressions. It then builds ......
Last April I talked about the need to have the Visual Studio editor settings (like tab size, curly brace location, etc.) stored with each solution as well as globally. This was spurred by an email thread between some of the Subtext developers and myself. The end result was a feature request being submitted on Microsoft Connect. That feature request ended up being closed because it was submitted too late in the Orcas (Visual Studio 2008) cycle. I just received an update from the Connect site, and ......
It's now been almost 2 months since I have been part of the Tampa Bay IASA chapter's leadership. In that time we've moved the meeting registration to Eventbrite and have started sending monthly newsletters. (The February newsletter was very late, and I sincerely apologize to everyone. The rest of them will be on time from now on.) The first newsletter that was sent out was managed "by hand" and it was a major headache. When I first started the newsletters, I searched around for a good email marketing ......
You may have noticed that my post categories and image gallery lists are incorrect. I've submitted a trouble ticket to the GeeksWithBlogs technical support earlier this week, but it hasn't been resolved yet. Since I use the category list a lot to help find old posts, I decided to create a secondary category and image gallery list. Since I was recreating the lists, I have added a little bit of organization as well. The full list is available as an article since I will keep this list updated as I add ......
Post Categories Conferences Tech·Ed Tech·Ed 2006 Tech·Ed 2007 Tech·Ed 2008 PDC PDC 2007 PDC 2008 Open Source Projects Subtext CI Factory MSBuildContrib CruiseControl.NET .NET Related Technologies .NET (General) .NET (C#) WPF WCF Communities and User Groups Community Credit IASA Other topics General Vista Code Styles & Standards Image Galleries Conferences Tech·Ed Tech·Ed 2006 Tech·Ed 2005 Tech·Ed 2007 PDC PDC 2007 ......
It seems my earlier post about "What's Important at Code Camp?" might have touched a few nerves and may not have been as clear as I would have liked, so here are a few clarifications. I wasn't implying in any way that sponsors aren't important. In fact, it really was the other way around. As I mentioned, Code Camp is free to the attendees but there is still a cost to the organizers. That cost is defrayed as much as possible by support from Microsoft and other sponsors. Without the sponsors, it would ......
Late last month, Soma announced the new MSDN Code Gallery site for sharing samples from both Microsoft and the community at large. When I saw this announcement, I was a little surprised that Microsoft was creating yet another community-type samples site so close on the heals of the GotDotNet (GDN) shutdown. Granted, MSDN Code Gallery isn't exactly what GDN was, but between Code Gallery, CodePlex and MSDN Downloads it starts to get confusing. Charlie Calvert posted a good explanation of the three ......
The Tampa Bay chapter of the International Association of Software Architects (IASA) is dedicated to building a community of professionals interested in topics related to software architecture. This organization welcomes all interested professionals. Whether you are a senior enterprise architect at a fortune 100 company or an aspiring architect with only a few years of experience. When: 2/28/2008 6:30 PM - 8:30 PM Topic: Introduction to Aspect-Oriented Programming (AOP) Write less code and create ......
I've been reviewing my evaluations from the South Florida Code Camp 2008 and one of the comments brought out some interesting points. After reading the comments, I thought it might be a good time to remind some of you what a Code Camp really is. A lot of this information is from the Code Camp Manifesto and from my personal experiences as both an attendee and a presenter. Code Camps are always a free event and are about the developer community at large. They are meant to be a place for developers ......
About a month ago, I talked about a new add-on for Microsoft Outlook called Xobni Insight. Since that time, I was invited to participate in the beta and have been running it both at work and at home. So far, I have been very impressed. The installation is very simple. Once Xobni Insight is installed, the next time you open Outlook will cause it to create an index of your email. On my home system, I have over 14,000 messages from almost 3,000 different senders and it took less than 10 minutes to create ......
I've blogged in the past about Community Credit and really love the site. As a 5 time Community Credit winner, I just received the email today (although I actually knew about it over the weekend) that I have been inducted into the Community Credit Hall of Fame for 2008. There are a total of 17 inductees, all of whom have contributed a great deal to the development community. Thanks David for all of the hard work keeping Community Credit running smoothly so we all have a place to share with the community ......
I just came across the new Visual Studio Gallery site, which is a new showcase for products and extensions for Visual Studio. The gallery looks like it is mostly going to be focused on Visual Studio 2008, but there is a lot of content for VS2005 and earlier. The gallery is part of the Visual Studio Extensibility (VSX) Developer Center on MSDN. For those of you who don't know, VSX covers the Visual Studio Software Development Kit (SDK) including tools, documentation, and samples for developers to ......
The South Florida Code Camp was today and there were around 600 people who showed up. I moderated a round-table discussion on code style and standards and presented an in-depth talk on memory management in .NET. For those who attended either one of my sessions (or just want to take a look at the slides) you can download copies from my SkyDrive public folder. I only managed to attend a few sessions, but talking with people at the after-party it sounds like everyone had a great time and was able to ......
A while ago, I talked about Microsoft releasing the source code for the .NET Framework in order for you to debug it through Visual Studio 2008. Just a few days ago, it was finally released. Shawn Burke has an excellent and detailed post explaining how to set this up and also has a trouble shooting section. Currently, the following libraries have been released: NET Base Class Libraries (including System, System.CodeDom, System.Collections, System.ComponentModel, System.Diagnostics, System.Drawing, ......
At TechEd Developers Europe, Krzysztof Cwalina presented a talk called "Framework Engineering: Architecting, Designing, and Developing Reusable Libraries". If you weren't able to make the conference or missed his talk, you can download the video recording (in WMV format) or just the slides (in XPS format). The abstract for the session reads: This session covers the main aspects of reusable library design: API design, architecture, and general framework engineering processes. Well-designed APIs are ......
I have been working and talking a lot about MSBuild over the last few months. As part of that work, I have implemented several custom tasks for MSBuild. Most of those tasks were ones that I had written as part of an NAnt based build system while others were part of the NAntContrib project. There is a very good basic explanation of how to write a task on MSDN, so instead I will cover how to port a task from NAnt to MSBuild. To keep things simple, I'm going to focus on creating an MSBuild v3.5 task ......
I've been seeing several people blogging about the free Microsoft Press E-Book offer. All you need to do is register and you get access to 3 e-books from Microsoft Press that you can download in PDF format. If you pay close attention to the details for each book, you will notice that these aren't full copies of the books. The only one that appears to be a full copy, based on the listed chapters and the actual table of contents in the PDF, is Introducing Microsoft LINQ. The other two e-books only ......
A few months ago I talked about the Microsoft Sync Framework. One part of that Framework is Sync Services for ADO.NET, which enables synchronization of information between database systems. Steve Lasker has some good information on the Sync Framework and Sync Services. Joe Healy did a presentation on Sync Services at the Orlando SQL Saturday and will be doing updated presentations at South Florida .NET CodeCamp IV and the Tampa SQL Saturday events in February. In the meantime, be sure to check out ......
I just noticed this announcement from last month, but if you are doing any Windows Live development you should check out the latest CTP release.The biggest improvement is that the CTP is now compatible with Visual Studio 2008 and the ASP.NET 3.5 Extension Preview. There are a lot of other changes in the CTP so be sure to check out the release notes ......
Many of you know that I've participated in many Code Camps over the last year, both as a speaker and as an attendee. The one thing that I've noticed is that there seems to not be a lot of resources for planning and organizing a code camp, which leads to very different experiences for speaker signup, schedule planning, etc. Jeffrey Palermo just announced a new open source project hosted on GoogleCode that promises to do just that. CodeCampServer is a free, open source Code Camp management web application ......
A few days ago, I announced that I had been recognized as a Microsoft MVP. About 4 days later, I found out that I had also been awarded a CodeProject MVP. This is certainly turning out to be a busy and exciting start to the new year ......
I frequently blog about Code Styles & Standards. One of the references that I use a lot when trying to justify a change to a companies existing standard (or simply putting a standard in place) is the Framework Design Guidelines by Krzysztof Cwalina and Brad Abrams. Both of them today officially announced that they are working on the Second Edition, which will cover the .NET Framework v3.0 and v3.5 releases, including LINQ and the other language advances. They are both looking for feedback on ......
Even though I've been blogging since June 2006, I really started consistently blogging in November of that year with it really picking up in 2007. Borrowing a concept from many of the bloggers that I read regularly, I wanted to review how my blog did over the last year. I only started tracking blog statistics through Google Analytics since the end of September 2007. My site usage for September 2007 through December 2007 was 36,371 visits from 146 different countries. The top 5 are: United States ......
The new year is certainly starting off on the right foot for me. I woke up this morning to an email from Community Credit telling me that I won 4th place for December's competition. That was cool news (sorry David, but this slightly bigger news) until I saw another email from Microsoft telling me that I have received the 2008 Microsoft® MVP Award in the Visual Developer - Visual C# community. This is my first MVP Award and I'm really excited about what it will bring over the course of the year ......
I have talked about Community Credit before, and have been very impressed with the direction the site is heading. I was just notified that I won 4th place out of 7,721 members. This makes the fifth time I have won a monthly competition. The prize this time around is the T-bot Pen Drive. I'm not at all sure what to make of this one. It's a 1GB USB drive, but has beads and springs for appendages and a dust cover for a head. It's definitely a thumb drive with personality, but it's also one of the strangest ......
The Tampa Bay International Association of Software Architects (IASA) is looking for speakers to present at our upcoming meetings. If you are a software architect in Tampa Bay or the surrounding areas, or are visiting from further away (or even out of state) and want to speak, please let me know. Each meeting is broken up into two presentations: Design Pattern Overview Main Topic The design pattern overview is just that - an overview of a particular design pattern. I try to find a design pattern ......
I've been running Vista on my work laptop since the first quarter of this year and on my development system at home since August. So far, I haven't had too many problems with it. Actually, on my home system I've had almost no problems. My laptop, on the other hand, routinely has issues. One of the more annoying issues is that my wireless network connection periodically and randomly dies. It comes back to life after about 30 seconds to a minute, but it's still pretty frustrating. (Yes, I know I need ......
The Tampa Bay chapter of the International Association of Software Architects (IASA) is dedicated to building a community of professionals interested in topics related to software architecture. This organization welcomes all interested professionals. Whether you are a senior enterprise architect at a fortune 100 company or an aspiring architect with only a few years of experience. When: 1/31/2007 6:30 PM - 8:30 PM Topic: The Perfect Pattern Storm, where TDD meets UX and MVP As host of ARCast.TV, ......
A few days ago, I talked about my views on MSBuild and NAnt. In that post I mentioned the phrase "build system" several times. That, combined with catching up and re-reading some blog posts that I had flagged led me to Jeff Atwood's post "The F5 Key Is Not a Build Process". While some of Jeff's post is a bit of tongue-in-cheek humor, the points he makes are extremely valid. In order to understand what a "build system" is, you must first understand how you build code. This applies not just to individual ......
Up until recently, I had never heard of a volatile registry key. I cam across a post by Daniel Moth that presents an extension method that adds support for both .NET and NETCF. While I haven't looked at the projects he provides, it did get me thinking about what this support would actually mean. A volatile registry key is one whose information is stored only in memory and is not preserved when the corresponding registry hive is unloaded. For keys created under the HKEY_LOCAL_MACHINE hive, this occurs ......
For the last 4 years or so I have been involved, either directly or indirectly, with creating standardized build systems that run on the Microsoft platform. Before that I was actually a Unix admin and developer and was very proficient in writing makefiles. When I first got involved in build systems for the Microsoft platform, it seemed like there were very few build script technologies available that were worth using. The best one available was the combination of NAnt and NAntContrib. There are many ......
I know I just mentioned this project yesterday, but I wanted to thank those of you who have already downloaded it. Hopefully you have found it useful so far. I have already updated the project for the 1.0.2913.51352 release, which adds a few new tasks and cleans up some of the existing ones. Here is the current list of tasks: NAnt/NAntContrib Task MSBuildContrib Task Status Description attrib Attrib Complete* Changes the file attributes of a file or set of files and directories. checksum Checksum ......
MSBuildContrib is the project for tasks and tools that aren't in MSBuild. This is similar to the NAntContrib project and will be incorporating as many of the NAnt and NAntContrib tasks as possible. There is still a long way to go, so if you are interested in helping out please let me know and I will add you to the project. Here is the list of NAnt or NAntContrib tasks that are planned and the current status: NAnt/NAntContrib Task MSBuildContrib Task Status Description codestats CodeStats Complete ......
It seems that there isn't a good source of information that consolidates all of the upcoming community events, excluding local user group meetings. While this isn't an exhaustive list, it's all of the ones I have found so far. If you know of an event that's missing or needs updating, please let me know. January Philly Code Camp: January 12, 2008 @ DeVry University in Fort Washington Day of Patterns and Practices Tampa 2008 Roadshow: January 31, 2008 @ Microsoft, Tampa Offices February Winnipeg Code ......
As I mentioned in my last post, we aren't holding a December meeting. Instead, the next meeting will be Thursday, January 31 from 6:30 PM - 8:00 PM at the Microsoft offices in Tampa. This is the same night as the Free Day of Patterns and Practices Tampa 2008 Roadshow, so if you are attending the PnP day be sure to stick around for the IASA meeting afterwards. The speaker is Ron Jacobs, an Architect Evangelist in the Microsoft Architecture Strategy group based at the company headquarters in Redmond ......
Tampa 2008 Roadshow January 31, 2008, 8:30am - 4:00pm Microsoft - Tampa, Florida Register Join new and experienced Microsoft WinForms and Web developers for a day long FREE Developer Event covering Enterprise Library, Software Factories, and proven practices from Microsoft Patterns and Practices. Learn to increase developer productivity and application quality using Enterprise Library building blocks, code generation, and proven practices for Smart Clients, Web Clients, and Web Services. Learn how ......
October 27–30, 2008 Pre-conference October 26, 2008 Los Angeles, California For those of you who don't know, PDC is the definitive Microsoft event for software developers and architects focused on the future of the Microsoft platform. Originally, Microsoft was going to hold PDC this year (2007), but in June Microsoft announced that it was being rescheduled to align with some of the major platform milestones. At that time, they didn't have the new event date. As of last week, PDC 2008 was officially ......
If you are doing any work with any of the following technologies: LINQ, .NET 3.5 (C# 3.0, VB 9) WCF WPF WF CardSpace Silverlight ASP.NET Ajax .NET Compact Framework 3.5 VSTO 3.5 Visual Studio Team System and Team Foundation Server You should download the free Visual Studio 2008 Rhythm Training Kit (125MB). The training kit contains 5-days of technical content including 20 hands-on labs, 28 presentations, and 20 scripted demos ......
Jeff Barnes has made his extended talk (think "deep dive") on the following topics available: NET 3.5, Visual Studio Enhancements Lifecycle tools ALM, C#, VB9, Interop, LINQ ParallelFX PLINQ Services (WCF, WF, CardSpace) Windows Applications Web Applications Office Applications Mobile Applications Synch Services for ADO.NET Orcas_For_Architects_Jbarnes - Part_1.zip - 3.6 MB Orcas_For_Architects_Jbarnes - Part_2.zip - 4.8 MB Orcas_For_Architects_Jbarnes - Part_3_Links And Resources.zip 188 KB ......
Now that Visual Studio 2008 and the .NET Framework v3.5 have shipped, you may have noticed that Service Pack 1 for .NET Framework 2.0 and Service Pack 1 for .NET Framework 3.0 also shipped at the same time. Both are automatically installed with .NET Framework v3.5, Windows Server 2008 and Windows Vista Service Pack 1. For Windows XP and Windows Server 2003 they are available as a standalone update. Daniel Moth has an excellent post that describes what is actually in the service packs. Here is the ......
I just came across Steve's blog post about a new Search & Replace plugin for Windows Live Writer written by Waldek Mastykarz. This plugin fills a pretty big gap in WLW and even has support for regular expressions. The code is available on CodePlex ......
The much-talked about MVC Framework that Microsoft is working on was released last week as part of the ASP.NET 3.5 Extensions. It also has some other pretty cool stuff, including Dynamic Data controls, Ajax history support, ADO.NET Data Services, updated support for Silverlight and the ADO.NET Entity Framework. Once you download it, here are some great resources to check out: Scott Guthrie's 4 part tutorial on building an MVC based application Phil Haack (the PM for the MVC Framework) Rob Conery ......
My friend Simone has created an interesting survey focused on .NET developers and Ajax. It's a more focused response to this survey on the Ajaxian blog. As of 2 AM (in Italy), there have been 415 responses: ASP.NET Ajax: 80% AJAX Control Toolkit: 17% JQuery: 13% raw Ajax: 12% If you are a .NET developer and are working with Ajax be sure to take the survey ......
What used to be called Silverlight 1.1 has been rebranded as Silverlight 2.0 and will include a cross-platform, cross-browser version of the .NET Framework and will enable a rich .NET development platform in the browser. Scott Guthrie has a post that details what will be part of the 2.0 release, but it includes: WPF UI Framework: The current Silverlight Alpha release only includes basic controls support and a managed API for UI drawing. The next public Silverlight preview will add support for the ......
Now that Visual Studio 2008 and .NET 3.5 have officially shipped, it's time to start looking at the additional products and tools that build on top of that foundation. Scott Guthrie has an excellent post that details the roadmap for the Web related products. The biggest announcement is that the ASP.NET 3.5 Extensions will have it's first public preview available sometime next week. If you don't know what the ASP.NET 3.5 Extensions are, here is the list (taken from Scott's post): ASP.NET MVC: This ......
With the deluge of blog posts talking about the recently releases of Visual Studio 2008 and the .NET Framework 3.5, Scott Guthrie talks about the steps to uninstall the Visual Studio 2008 Beta 2 release you should follow before installing the final release. It's great that Scott has put together this list since it not only tells you all of the components that are installed when you install Visual Studio 2008 Beta 2 but also tells you the order to uninstall them. This post also indirectly brings to ......
I just came across a post today on LiveSide that talks about some of the problems faced by users of FolderShare. I have to be honest, even though FolderShare appears to be part of Windows Live, I haven't heard much about it. It's not advertised on Windows Live betas and hasn't been talked about much by any of the Windows Live bloggers. For those of you who don't know: FolderShare allows you to synchronize files across multiple computers and access or share files with colleagues and friends. You no ......
The Tampa Bay chapter of the International Association of Software Architects (IASA) is dedicated to building a community of professionals interested in topics related to software architecture. This organization welcomes all interested professionals. Whether you are a senior enterprise architect at a fortune 100 company or an aspiring architect with only a few years of experience. The next meeting will be Wednesday, November 28 from 6:30 PM - 8:00 PM at the Microsoft offices in Tampa. The speaker ......
March 5 - 7, 2008The VenetianResort Hotel CasinoLas Vegas, Nevada Now in its third year, MIX is an intimate opportunity for cutting-edge technical, creative and business strategists to engage Microsoft in a conversation about the future of the web. Come explore the latest wave of opportunities and help redefine the boundaries between: content and commerce, PC and TV, Windows and the Web. The conference focuses mostly on Web technologies, such as Silverlight, but will also cover some of the desktop ......
The Windows Live Messenger team has just announced a new feature that allows you show your Messenger presence and receive instant messages from the web. The Windows Live Messenger IM Control lets people on the Web reach you in Messenger by showing your Messenger status on your web site, blog, or social networking profile. The IM Control runs in the browser and lets site visitors message you without installing Messenger first and is supported in IE6, IE7, and Firefox 2.0 on Windows and Firefox 2.0 ......
I mentioned yesterday that the latest wave of Windows Live applications have been released. Thinking about it a little bit more, I realized that other than the "Beta" tag being removed from the splash screens and/or title bars there is no way to know if you have the latest version. Here are the release version numbers for the Windows Live applications: Windows Live Application Release Version Messenger Version 2008 (Build 8.5.1302.1018) Mail Version 2008 (Build 12.0.1606) Writer Version 2008 (Build ......
During the keynote address at Microsoft TechEd Developers 2007 in Barcelona, Microsoft officially announced that Visual Studio 2008 and the .NET Framework 3.5 will be released by the end of November 2007. The .NET Framework 3.5 will also be available separately from Microsoft Update. The global launch event is still scheduled for February 27, 2008.
Not too long ago I talked about the Windows Live Spaces URL Confusion, and the really cryptic URLs being used for SkyDrive and Live Events. Today, I found something that makes Live Event addresses a little bit better. I'm not sure if this has always been available or if it's new, but either way it's a feature that is not obvious at all. I'm talking about the "Personalize your web address" option that is available from the event settings page (if you've already created the event) or from the create ......
Windows Live Calendar was just released as a Beta tonight. It features the Wave 2 UI, so it integrates nicely with the other Windows Live services. The first thing you will notice after the new interface (which is much improved over the older Calendar) is that none of your "Calendar Classic" events will be present. Unfortunately, the integration story doesn't get much better. The Calendar link in Windows Live Hotmail still sends you to the classic Calendar, even if you've selected the new Windows ......
If you are an MCP hopefully you attended one of the two webcasts with George, Trika Harms zum Spreckel, and Bill Wall (Director of Certification Strategy) today. Some of the information has already been talked about, but there were also some new items. Those new items center around the Microsoft Certified Architect (MCA) program, and specifically the Ranger program. The Ranger program is designed to Provide top tier training and certification on Microsoft products for building a community of trusted ......
Earlier this month, I talked about the inaugural meeting for the International Association of Software Architects (IASA) Tampa Chapter, which was held last night (October 30th). We had about 20 people show up, mostly from the Tampa area. Tom Fuller kicked off the meeting by talking about the IASA and what the goals are for the Tampa Chapter. After that, Jeff Barnes gave a talk on "The role of a Software Architect". I want to point out that even though this event was hosted by Microsoft and everyone ......
Phil and Steve beat me to announcing, but Phil has officially confirmed that MySpace China is using a modified version of Subtext for it's blogging engine. This is incredible news as MySpace China gets around 100 million page views, of which about 1 million go to the blog. What does that mean? Well, for starters it means that Subtext is definitely a scalable and robust blogging engine. It also means that Subtext and it's skinning capabilities can support double-byte Kanji based character sets with ......
A few days after I talked about the Windows Live Spaces URL Confusion, the guys at LiveSide.net talked about a related issue. Apparently, their issue stemmed from a post on Windows Live Wire announcing that Windows Live Home has been officially released. Their complaint? The lack of consistency and cohesive identity for Windows Live. They make an excellent point about the main landing pages for the various Windows Live services: Windows Live Home (home.live.com) Windows Live (get.live.com) Windows ......
I haven't posted too much about Windows Live Photo Gallery, but after spending a few hours with it tonight, I have to say that it absolutely rocks! I have a fairly large collection of photos from various family vacations, technical events I've been to, family, friends, and my cats. These photos had been spread across 3 different disk drives and some of them were nearly impossible to find since they were scattered across those drives into different folders. I'm not sure what prompted me to do this, ......
Short on the heels of Phil moving to Microsoft to work on the new ASP.NET MVC Framework is the announcement that Rob Conery, the creator of SubSonic, is also moving to Microsoft. Rob will be building out SubSonic to sit on top of ASP.NET and the new MFV Framework. So, as Rob puts it, "SubSonic will be the convention-driven toolset for Microsoft's new MVC framework." Fortunately for all of us, SubSonic hasn't been bought and will remain open source under the MPL 1.1 license it currently has. This ......
In keeping with the growing number of Windows Live services that are upgrading to the Wave 2 UI, the Windows Live Gallery is the latest to receive the facelift. Just in case you aren't familiar with Windows Live Gallery, it's the online site where users can personalize their Windows Live experience. The update also adds a new area for Windows Live Events gadgets. The update has also added support for the Microsoft Points system, which is also used by the Zune and Xbox Live. It adds the potential ......
For the last few years, I've tried to make more .NET developers aware of the IDisposable interface, the Dispose pattern, and the importance of having at least a basic understanding of how the Garbage Collector works. I have one article on The Code Project and various blog posts (see here, here, here, or here) that talk about these topics. I have also presented an advanced Memory Management presentation at various Code Camps. In the November 2007 issue of MSDN Magazine, Stephen Toub presents a solution ......
Well, this isn't actually breaking news, but at the end of August, Windows Live ID added support for Windows CardSpace as a new way to sign in to any Live ID enabled website. Using CardSpace means you don't use a password to sign in, instead you send your Information Card. Windows Vista users already have everything needed to use CardSpace. For Windows XP or Windows 2003, you will need to install IE 7.0 and .NET 3.0 with CardSpace support. Once you have everything you need to use CardSpace, you can ......
For those that have multiple Windows Live IDs, you can now link your Windows Live accounts together and easily switch between them using the Linked Windows Live ID service. To set this up, go to https://account.live.com and look for the section called Linked Windows Live IDs. If you haven't already linked any Live IDs, you will see a link titled "Link Windows Live IDs", otherwise the link will be "Manage your linked IDs". Once you have linked your IDs, you will need to sign out and sign back in again. ......
Earlier today, I talked about Live Search and how to add a Live Search Box to your website. In those posts, I talked about the 3-step wizard that allows you to easily add the Advanced Search Box to your site and the fact that it doesn't allow you to specify multiple search macros. If you look at the search results from my blog now, you will see that there are now 5 new tabs in the search results. (Before I only had 2, "My blog" and "Web".) These tabs show search results from the entire GeeksWithBlogs ......
As I was adding the Live Search Box to my blog, I realized that it wasn't entirely clear how to find the page that explains how to do this. The actual main link is on the Live Search homepage and is the "For Webmasters" link. However, this link actually takes you to the Windows Live Help site section titled "Welcome to Live Search Site Owner Help". There are two different Live Search boxes you can add to your site. The Basic Search Box and the Advanced Search Box. Both of these search boxes can be ......
A few days ago, Microsoft released a pretty major upgrade to Live Search Maps with the release of the Virtual Earth 6 API. There are some pretty cool enhancements, and, with the exception of two bugs found by Joe Healy, is as simple as change the "v=5" parameter in your link to "v=6". I'm not going to list all of the upgrades, since there are a lot of them. If you want to see the full list, check out the VE developer blog or the online SDK. I will list some of the features that are my current favorites ......
At the end of September, Microsoft launched a major upgrade to Live Search that makes it faster and easier to use. Some of the areas that have been improved are: Relevance: The size of the Live Search index has quadrupled, which means more correct results for searches. Enhanced ranking algorithms, auto-spell correction and better stop word handling help return the best results. Speed: Pages load much faster than before. Streamlined look and feel: The end-to-end experience has been improved. For example, ......
You've probably heard all of the buzz around Microsoft's new ASP.NET MVC Framework. This is a framework methodology that divides an application's implementation into three component roles: models, views, and controllers. You've probably also heard about a slightly different approach called Model View Presenter (MVP). If you ever wanted to know the difference between the MVC and MVP patterns and why you should use one over the other, Todd Snyder from Infragistics has an excellent explanation. He sums ......
I just came across this post the other day by the Visual Studio Code Analysis Team talking about the latest beta release of FxCop. There are a lot of changes since the FxCop 1.35 release, which was a while ago. Some of the changes are: Over 200 bug fixes that reduce the amount of noise, missing analysis, and rule crashes. Support for analyzing anonymous methods and lambda expressions. New globalization, design, and usage rules. Better support for C++/CLI and the .NET Compact Framework. Performance ......
A few days ago I talked about Windows Live SkyDrive Updates and the new Windows Live Events, both of which are part of Windows Live Spaces. Since then, I've been browsing around the Windows Live site and checking out how things are working and noticed a few really annoying inconsistencies with the URLs being used for all of the different services. When you sign in to your Windows Live account, you are presented with the following secondary toolbar: If you look at the URLs used for each of these links, ......
If you're going to the South Carolina Code Camp 2007, be sure to check out my sessions. I'm giving two talks: Code Styles and Standards (Chalk Talk), 8:30 AM - 9:40 AM Garbage Collection in .NET, 11:10 AM - 12:20 PM If you make it and go to my sessions (or even if you don't), the presentations are available for download on Windows Live SkyDrive in the South Carolina Code Camp folder ......
Along with Microsoft's recently introduced Windows Live Events, a few minor updates were made to Windows Live SkyDrive as well. The new features are an increase in the online storage space from 500MB to 1GB. In addition to more storage space, all public folders now have an RSS feed. To subscribe to a folders RSS feed, go to the public folder you're interested in and click the icon at the top right of the page. The SkyDrive team has also made it easier to share folders with people that aren't in your ......
Last week, I talked about a new FxCop rule that Krzysztof released to help deal with some issues around multi-targeting. In one of the comments to this post, I was asked to add this rule to the Subtext FxCop rule set. As I started working on this, I discovered that the sample project Krzysztof provided was compiled against the .NET Framework 3.5 and would not load with the stand-alone version of FxCop. I spent a little bit of time reviewing the code in the sample project and, with only a few minor ......
Last month, I talked about multi-targeting, one of the new features in Visual Studio 2008. According to Krzysztof, the idea of Red and Green bits made this possible. Everything sounds good, so far. However, there is a very limited number of APIs that have been added to the Red bits that the multi-targeting system isn't able to detect. What this means is that if you set the target to the .NET Framework 2.0 and use one of these new changes, the compiler will not issue a warning or an error. The application ......
I'm sure most of you are familiar with Reflector. If you're not you should download it immediately and become familiar with it. It is an invaluable tool for looking at .NET assemblies and decompiling them to C#, Visual Basic or even IL. I have used both Reflector and Rotor extensively to investigate how the .NET runtime is actually doing things. I have done this for various reasons, including trying to track down bugs in my code. Why would I need to look at what the runtime is doing to find a bug ......
Well, I am now a 4-time Community Credit winner! I first won in February, and then again in April and June. This time around, I took 7th place out of 7,395 members. The prize this time is pretty cool, as well...although not as cool as the laser pointer I won last time. It certainly brings back memories of simpler times, when game consoles first starting appearing in the consumer market. Of course, I'm talking about Atari and Pong. The most amazing thing about these key chains is that they contain ......
For those of you who are still developing with Visual Studio 2003 and .NET 1.x and want to take advantage of the enhancements in Visual Studio 2008 may have thought they were out of luck. There are breaking changes between the versions of the CLR and the Framework itself. Daniel Moth provides an excellent post that describes some of the issues facing you and provides a list of resources to help with the migration, including some lists of breaking changes between .NET 1.1 and 2.0 ......
One of the new features in Visual Studio 2008 is the ability to target a project to any version of the .NET Framework from 2.0 and up. This is an excellent feature as it allows the entire development team to work with the same version of the IDE. Since it's a project based setting, it also allows you to mix projects in the same solution. The interesting thing about multi-targeting is that it potentially allows developers to share projects across different versions of the IDE as well. Starting with ......
It seems there is a lot of confusion on how to properly catch exceptions in .NET, especially among newer developers. There are a lot of good references available on MSDN and on the web, but a lot of these are either very advanced or just hard to follow. I'm not going to discuss the CLR exception classes and go into the internals of how the .NET runtime generates exceptions. I don't want to discount this information, as it is helpful to know, but it isn't essential to understanding how to properly ......
I just came across a very interesting post from James Kovacs that describes how C# and .NET evolved. I had blogged about this almost a year ago, but James' post adds some additional background. Around 1997, Microsoft started a project that was internally known as Project Lightning (and also known as Project 42). The name "Project 42" was most likely because DevDiv (the Microsoft Developer Division) is in Building 42, which (as James points out) is probably an homage to The Hitchhiker's Guide to the ......
Not too long ago, I talked about Extension Methods in .NET 3.5 and also about a way to provide data binding an enum type with descriptions. Today, Simo talked about how often he forgets the syntax of parsing a string value to it's Enum value. In his post, he refers to a generic Enum parse method that Scott Watermasysk created just over a year ago (in 2006). In Scott's post, Kenny Kerr points back to his article (from 2005) about how to create a generic parse method in C++/CLI. Reading through all ......
A lot of you probably already know my feelings on certifications, particularly the Microsoft certifications. Even though I am an MCPD, I took what appears to be the "non traditional" approach and actually went into the exams trusting my knowledge and experience to see me through. I didn't spend hundreds of dollars on study courses or materials and study for months. Lately, I have been seeing a lot of questions regarding how one earns a Microsoft certification. Most of these questions seem to come ......
Phil recently blogged about a newly discovered security vulnerability in the Subtext blogging engine due to a flaw in the way the FCKEditor control was integrated. As far as we know, no one was seriously affected and both a fix and a workaround were found very quickly by the core development team. If you are running Subtext 1.9.x, a patched version of the Subtext.Providers.BlogEntry... is available as a zip file. After you download the patch (Subtext1.9.5-PATCH.zip 7.72KB) , unzip ......
Jason Zander is moving from the .NET team to lead the Visual Studio team. This covers a lot of products: Mobile (VSD and NETCF) Phoenix C++, C#, VB, JavaScript DLR (including IronRuby and IronPython) Office Tools (VSTO/VSTA) the core VS IDE platform Popfly With the release of Visual Studio 2008 wrapping up, Jason will start looking at the next release of Visual Studio which will ship after Rosario ......
Even though Phil just recently started working at Koders.com and even more recently became a Microsoft MVP, he's leaving Koders to move (eventually) a bit farther north and is joining Microsoft to work with Scott Guthrie on the new MVC framework for ASP.NET. He starts at Microsoft on October 15. Best luck, Phil. I expect to see some really great things in the new framework. I'm just a bit envious, too. :) ......
In the latest online edition of MSDN magazine, there are two articles describing some upcoming additions to the .NET Framework that will add support for parallel processing. These additions are part of what is called the Parallel FX Library, which is currently in development. A CTP should be released sometime by the end of this year. The two areas of the Parallel FX Library are the Task Parallel Library (TPL) and Parallel LINQ. The Task Parallel Library provides optimized managed code for multi-core ......
It was recently pointed out to me that not many developers are familiar with the TreeNodeCollection.AddRange method and how it differs from the TreeNodeCollection.Add method. Even though I am focusing specifically on the methods available through the TreeNodeCollection, exposed by the TreeView.Nodes property, the concepts apply equally to any of the collections that expose both an Add and an AddRange method. Looking at the MSDN documentation, AddRange "adds an array of previously created tree nodes ......
"Deuces you say", there is no difference...right? Wrong! In the C# language, using is a keyword. Unfortunately, this is one of those times that a single keyword has multiple uses: As a preprocessor directive used to create an alias for a namespace or to import types defined in other namespaces. As a statement used to define a scope at the end of which an object will be disposed. It's unfortunate that Microsoft chose to attach multiple meanings to this keyword as it tends to cause a lot of confusion ......
I don't know about you, but I get lots of email spam, most of which I just completely ignore. I do, however, periodically review what lands in my "Junk e-mail" folder to make sure something wasn't put there by mistake. As a result, the first email in the list always ends up getting displayed. I'm not trying to make a political statement in any way at all, and whatever your views on the current U.S. military actions in Iraq aside, this latest form of email spam is just downright revolting. This spam ......
Recently, I posted an article on Code Project about data binding an enumerated type with support for custom and localizable descriptions to any UI element that supports data binding. It was pointed out in the article comments that this class is a perfect candidate for .NET 3.5 extension methods. I have just updated the article to show how easy it is to convert the methods to be extension methods ......
During my talk on Garbage Collection in .NET at the Jacksonville Code Camp 2007, Joe Healy mentioned that I should take a look at the changes made to the GC in the .NET Framework 3.5 release. (This is based on the Beta 2 release, but it should be pretty stable at this point.) After doing some research using the SSCLI 2.0 code base to look at the GC class as it exists in .NET 2.0 and Reflector to look at it in .NET 3.5, I found the single change that was made. (For those of you wondering why I used ......
If you're going to the Jacksonville Code Camp 2007, be sure to check out my sessions. I'm giving two talks: Garbage Collection in .NET, Room 140/141, 10:20 AM - 11:30 AM Code Styles and Standards (Chalk Talk), Room 102, 1:50 PM - 3:00 PM Jacksonville Folder Jacksonville If you make it and go to my sessions (or even if you don't), the presentations are available for download on Windows Live SkyDrive in the Jacksonville Code Camp folder ......
In keeping with the work I did for Tech·Ed 2007 and the Tampa Code Camp to create Internet Calendars for the different technical tracks, I have created a similar calendar for the Jacksonville Code Camp. The calendar is available from Microsoft Office Online as an Outlook 2007 Internet Calendar Subscription. If you are still using Outlook 2003, there is an open-source add-in that allows you to work with Internet Calendars ......
As I mentioned in my previous post, if you create an extension method with the exact same signature as an existing method your extension will be ignored. However, one thing that I didn't mention is that if the extension method has a different signature, it will show up in that methods overload list. To make this a little bit clearer, if you create the following extension method 1: namespace DataValidationHelpers 2: { 3: public static class DataValidation 4: { 5: public static string ToString(this ......
Exception handling seems to be a common problem for .NET developers, particularly younger developers. We pretty much all know that you should wrap operations that have the potential for failing in a try/catch block if you are interested in being able to do something about the error that occurred. I'm not going to talk about the rules and guidelines for using exception handling. Instead I'm going to focus on a particular aspect of exception handling, which I tend to call exception bubbling. Exception ......
At one time or another most of us have wished we could add functions to one of the intrinsic .NET classes. The solution has always been to either create a static (or sealed) class that contains these "helper" functions or derive a new class that adds the desired functionality. A good example of this is testing a string to see if it contains only alphanumeric characters. In order to do this, we need to define a helper class: 1: namespace DataValidationHelpers 2: { 3: public static class DataValidation ......
My article on using managed code to detect what versions and service packs of the .NET Framework are installed on a system has been updated to account for a minor registry change between the January 2007 CTP and Beta 2. Along with that article, the article on using managed code to detect if IIS is installed and ASP or ASP.NET is registered has also been updated with the same fix ......
Just yesterday I mentioned that I updated my FileDownloader article and class on The Code Project. In that post, I mentioned that there was another update pending that added the ability to set the User-agent HTTP header. I received the notification from The Code Project this morning that they have updated the article so this new feature is included in the download. Remember, these changes are only available in the .NET 2.0 version of the class ......
I finally felt it was time to put an "About me" type entry on my blog so you can get to know me a little bit better. There are already several links to various profiles that I maintain on LinkedIn, The Code Project, and Community Credit, but they don't really tell you who I am. I have also started to become more involved in the off-line community as well by speaking at different events. As a result, I have consolidated a lot of the information available in the different profiles, added my speaking ......
Scott J Dormanhttp://about.me/scott... Profile I am a Microsoft C# MVP, author, speaker, blogger, and creator of WP Requests and WinMetro Requests. I've been involved with computers in one way or another for as long as I can remember, but started professionally in 1993. Although my primary focus right now is commercial software applications, I prefer building infrastructure components, reusable shared libraries and helping companies define, develop and automate process standards and ......
While I was getting the Code Project Add-in for Visual Studio working on Visual Studio 2008 Beta 2, I decided to see if I could get the SlickEdit Gadgets for Visual Studio 2005 working as well. It turns out, with a little bit of registry tweaking, they work under Visual Studio 2008 Beta 2 without any problems (so far). This is by no means a supported configuration from SlickEdit and requires modifying the registry, so you should do so only after making the necessary backups and any other precautions ......
I received an email today through my blog from one of the developers at SlickEdit, who also happens to be a member of The Code Project community, letting me know about a new Visual Studio Add-in they have developed. You may remember I blogged about the free SlickEdit Gadgets, a really great set of Add-ins for Visual Studio. Since I am also a member of The Code Project community, I spend a lot of time on the web site answering forum questions and reading the articles posted. I also spend a lot of ......
I decided to turn my blog post on data binding an enum into an article on Code Project as well. I did this for two reasons: It gives the topic a much wider audience It provides a ready to use solution with the source code so you don't have to copy & paste it from the blog entry This article (or blog post) should provide a clean and simple way to allow you to bind an enumerated type with support for custom and localizable descriptions to any UI element that supports data binding ......
A few months ago, I earned my Microsoft Certified Professional Developer (MCPD): Windows Developer certification. At that time, I had mentioned that there were not many people who have earned this particular certification. That comment was based on feedback from the Microsoft Certified Trainers (MCTs) that were helping run the testing center at Tech·Ed. It turns out that last month, Microsoft released the official statistics of the number of Microsoft Certified Professionals (MCPs) around the world. ......
A few days ago, I wrote about automatic properties in the upcoming release of C#. While this is a cool feature, it does have some practical limitations once you need to go beyond simple get/set logic. Another new feature coming up is the idea of object initializers. Object initializersare an important aspect of the Linq extensions to .NET, but they aren't limited to being used only in Linq expressions. If you are familiar with attribute programming, you have probably used something similar. In most ......
A while ago, I blogged about Windows Live Folders being in a closed beta. Yesterday, they just announced a name change to Windows Live SkyDrive and their first public beta. According the the SkyDrive team, this beta has: An upgraded look and feel — new graphics to go along with the new features! "Also on SkyDrive" — easily get back to the SkyDrives you’ve recently visited Thumbnail images — now you can see thumbnails of your image files Drag and drop your files — Drag and drop your files right onto ......
Scott Guthrie has a great blog post about some really cool editor improvements in Visual Studio 2008. As Scott points out, one of the big annoyances with VS2005 as the fact that the intellisense window obscures any code behind it. In VS2008, if you hold down the "Ctrl" while the Intellisense window is visible it will switch to a semi-transparent mode that allows you to see the code beneath it. When you release the "Ctrl" key, it switches back to normal. There are a lot of improvements for VB developers, ......
I recently straightened up my home office and decided to move the printer to a different corner of my desk. Of course, the corner I wanted it at was about as far away from the computer as possible and I didn't have a long enough parallel port cable (and I'm not even sure they make them long enough anyway) so I decided to get a print server. I already have a wireless 4-port router and an old but trustworthy HP LaserJet 2100, so all I needed was a print server. I know I could have upgraded to a newer ......
I periodically look at my blog statistics, more out of idle curiosity than anything else. As part of that, I look at the referrers to the various blog posts. Today, as I was browsing my referrer list, I noticed that one of the referrers was Wikipedia. Intrigued, I took a look at the entry, and my blog post about the Visual Studio 2008 launch date was listed as a reference ......
Short on the heals of the Visual Studio 2008 Beta 2 release, we will soon have the first public Community Technology Preview (CTP) of Visual Studio "Rosario". According to Brian Harry, Microsoft product unit manager for Team Foundation Server, Microsoft has been working on Rosario since September of last year. The result should be a shorter time period between the 2008 release and the Rosario release. There aren't many details about what will be included in the Rosario release, but the CTP should ......
In case you don't know about MZ-Tools, it is easily the best Visual Studio .NET add-in available. This started in 2000 as an add-in for the Visual Basic 6 IDE, which is where I was first introduced to it. Since then, I have followed it's evolution into a Visual Studio .NET add-in for all four VS.NET releases. MZ-Tools has just released version 6, which provides support for all of the VS.NET releases, including Visual Studio 2008, into a single add-in. There were a few minor bug fixes and enhancements ......
Every once in a while I need to bind an enumerated type to a Windows Forms control, usually a ComboBox. The simplest is to use the Enum.GetValues() method, setting its result to the DataSource property of the ComboBox. If you have the following enum: 1: public enum SimpleEnum 2: { 3: Today, 4: Last7 5: Last14, 6: Last30, 7: All 8: } You can bind it to a ComboBox like this: 1: ComboBox combo = new ComboBox(); 2: combo.DataSource = Enum.GetValues(typeof(Simpl... While this does work, there are ......
If you are a PowerShell developer, or are just interested in learning more about Windows PowerShell, be sure to check out this 44 page e-book from Microsoft Switzerland (yes, it's in English). The associated demos are also available ......
Up until now, if you were developing an Office Business Application (OBA) there weren't a lot of resources available. OBA Central means to change that. It is a community site that brings together Microsoft, Microsoft OBA ISVs, services partners and customers, making it easy to connect. There are already a few Microsoft Partners featured on the site ......
Reading Joe Healy's blog, I came across a post about a really impressive bit of advertising done by MSN France. It's in French and is a Flash app (not Silverlight, which is disappointing), but it is still very impressive.
To go along with the release of Visual Studio 2008, Microsoft has also released the Release Candidate (RC) 1 of Silverlight 1.0 and a refresh for Silverlight 1.1. You can get more information about the releases on Tim Sneath's blog. If you install both Silverlight 1.1 and Visual Studio 2008, be sure to check out the Microsoft Silverlight Alpha Tools for Visual Studio 2008 Beta, which is an add-on for Visual Studio to provide a Silverlight project system for developing Silverlight applications in ......
Visual Studio 2008 Beta 2 has been officially released as both disc images and Virtual PC (VPC) images. After the installation has finished, you should run this script to ensure that the installation of .NET Framework 3.5 Beta 2 will not affect the development of ASP.NET AJAX 1.0 applications. To go along with this, the Microsoft .NET Framework 3.5 Beta 2 is also available and includes a go-live license. The Framework is expected to be released near the end of 2007. It will be included in Visual ......
Garbage collection is one of the most fundamental aspects of the .NET Common Language Runtime (CLR) and is available to all .NET programming languages. Unfortunately, it also seems to be one of the more difficult concepts to understand correctly, both how it works and how to use it. Understanding how the garbage collection system in .NET works is important, but it isn't as important as understanding how to use it correctly. Think about your car...we generally don't have intimate knowledge of how ......
As I was building the Internet Calendar for Tampa Code Camp, I realized that I have the dubious distinction of being the only Chalk Talk session. I am a little bit surprised since this format (which is very similar to the Birds of a Feather session format from Tech·Ed) provides a good round-table interactive discussion on the topic. If you are going to Tampa Code Camp, be sure to check out my session on Code Style and Standards. The session is scheduled at 10:50 AM in Room 451. As a teaser to get ......
At the Microsoft® Worldwide Partner Conference today, Microsoft Chief Operating Officer Kevin Turner announced that Windows Server® 2008, Visual Studio® 2008 and Microsoft SQL Server™ 2008 will launch together at an event in Los Angeles on Feb. 27, 2008, kicking off hundreds of launch events around the world. Also in the works is Beta 2 for Visual Studio 2008, which should be available as a free download in the next three weeks and will also support a go-live license ......
In keeping with the work I did for Tech·Ed 2007 to create Internet Calendars for the different technical tracks, I have created a similar calendar for Tampa Code Camp. The calendar is available from Microsoft Office Online as an Outlook 2007 Internet Calendar Subscription. If you are still using Outlook 2003, there is an open-source add-in that allows you to work with Internet Calendars ......
Recently, Jason posted about bad development managers. Like Jason, I was also told early in my career that "Sales and Marketing is the natural enemy of Development". I also learned early on that this isn't entirely true. While it is true that the sales team will sell products that don't exist yet and features that don't exist or that are technical implausible to build in the timeframe promised, it is generally due to customer demand. Whether you like it or not, if you develop commercial software ......
Thank you to everyone who nominated Subtext for a Community Choice Award. Your nominations have made Subtext a finalist in the following categories: Most Collaborative Project: The project most likely to accept your patches and value your input. Best Project for Communications: The best project for talking to your friends or sharing information. I think both of these categories very accurately reflect what Subtext is all about. It's great to see that the community feels the same. Voting has already ......
I have finally put up my pictures from Tech·Ed 2007. Since I forgot to bring my digital camera with me, these were taken on my cell phone so the quality isn't that great.
Over the last year or so I have noticed a disturbing trend brought about by the idea of "brining programming to the masses". Last April, according to Microsoft, there was a "growing community of 18 million recreational and hobbyist developers." Even IBM was getting in to the mix, with a project called QEDwiki. I am a professional developer and have been a developer for over 14 years. I have a B.S. degree in Computer Science, did an internship at Martin Marietta (now Lockheed Martin) while in school, ......
Earlier this week one of my good friends, Jason let me know that he just started a new blog. The thing that's different about this blog is that it doesn't focus on the technical side of things, but rather focuses on the software development industry as a whole. Jason is attempting ...to raise awareness of how the Industry succeeds and fails, where it all seems to be going, and what has to happen before we can dig our way out of Dev.Hell and ascend to Tech.Paradise. What I find interesting about this ......
Jeff Atwood of CodingHorror fame, as part of my new advertising initiative, is teaming up with Microsoft to donate $10,000 in support of open source .NET projects. From Jeff's blog, he is focusing on .NET open source projects ...because open source projects are treated as second-class citizens in the Microsoft ecosystem. Many highly popular open source projects have contributed so much to the .NET community, and they've gotten virtually no support at all from Microsoft in return. I'd like to see ......
I know I'm a little late to the nomination party, but if you haven't already nominated your favorite SourceForge project, please take the time to do so. It only takes a minute, and the Subtext development community would definitely appreciate it. The SourceForge.net team is proud to present our second annual Community Choice Awards. Winners are selected by community members like you, and it's that time again! Cast a ballot for your favorite projects now and make your voice heard. The Community Choice ......
Now that Visual Studio "Orcas" finally has an official name, it's time to clear up the new confusion surrounding the different versions of the .NET Framework that will be available. Daniel Moth has an excellent post describing what he calls the Visual Studio 2008 stack that includes this graphic. The important thing that can be seen from this slide is that the CLR engine is the same in v2.0, v3.0, and v3.5 of the Framework. The major difference is the language enhancements (C# 3.0 and VB9), while ......
Daniel Moth has an excellent post that explains what makes up the .NET Framework 3.5. This post also sparked a very good discussion on The Code Project. There are two elements that make up version 3.5 of the Framework: the "green bits" and the "red bits". This model is aimed at minimizing the impact of delivering new features and functionality. The red bits are those parts of the Framework that exist in release today, which include the .NET Framework 2.0 and 3.0 releases. The green bits are brand ......
I hope by now everyone has heard of the Microsoft patterns & practices group. If you haven't heard of p&p, hopefully you've heard of the Enterprise Library. Just in case you haven't heard of either, Microsoft patterns & practices are Microsoft's recommendations for how to design, develop, deploy, and operate architecturally sound applications for the Microsoft application platform. The patterns & practices Enterprise Library is a library of application blocks designed to assist developers ......
It only took 14 years to decide to go after a Microsoft certification, but I decided it was probably time. My blog has been getting more and more visibility and those 4 little initials after your name add a lot of credibility in the industry. The certification that made the most sense for me to start with was Microsoft Certified Professional Developer: Windows Developer (MCPD: Windows Developer) certification. Just in case you aren't up on all of the different Microsoft certifications available, ......
Going from one extreme to another can be just a bit disconcerting. After spending a week in Alaska where I was almost completely disconnected from the world, I went straight into Tech·Ed 2007. If you weren't able to attend, make sure to check out Virtual Tech·Ed. You will find the keynote and some podcasts relating to some of the sessions. Things are about a week behind and there are a lot of podcasts queued up to be made available on the site, so keep checking back. I can't say that there was a ......
Tampa Code Camp for 2007 has just been announced. Registration just opened on June 4, 2007 so there is still plenty of room, but there is a maximum attendance of 400 people so space will fill up quickly. This year, the event has moved to the St. Petersburg College (ICOT Center) in Largo, Florida and will be held on July 14, 2007. The new location promises larger rooms and state of the art AV equipment. If you have never attended Code Camp or don't know what it is, Code Camp is a free one day event ......
One of the new technologies being announced at Tech·Ed is "Acropolis". If you have previously used the Microsoft Composite UI Application B lock (CAB) or the Smart Client Software Factory (SCSF), the announcement of the Acropolis should be very exciting news. Acropolis is a replacement technology for both CAB and SCSF and takes the things that were good about both of these and the lessons learned and adds the following: Full .NET support by being an integrated part of the .NET client framework and ......
Right on the heels of Microsoft's claim that free software like Linux violates 235 of its patents, they announced that they will be funding several new projects to develop open-source versions of the CardSpace technology used for digital information cards. As part of this effort, Microsoft released the Identity Metasystem under its Open Source Promise (OSP) program. The OSP program gives developer access to Web services protocols Microsoft has developed without the need for a license or fear of legal ......
We have all had the experience of debugging an application in Visual Studio and run into the problem of not having the debugging symbols or having incorrect symbols. This is particularly true when you need to step into .NET CLR code to track down a problem. Microsoft maintains a public symbol server that provides symbols for the different Windows operating system versions, MDAC, IIS, ISA, and the .NET Framework. This server is for symbol downloads only and is not browseable. In addition to the Microsoft ......
A few months ago, Phil Haack wrote about a phenomena being referred to as Search Driven Development (SDD). If you don't know what Search Driven Development is, there is a great article on LinuxWorld by Ken Krugler and John D. Mitchell. According to them article About 25% of a developer's time is spend [sic] searching for information. It's well spent, though -- finding reusable code can get a project done on time and with high quality results. I don't know about you, but (like Phil) I find that Google ......
While I'm on the topic of code metrics, I thought I would mention another interesting set of statistics provided by the Ohloh web site. This is a site that we use on Subtext to monitor the project and the statistics are integrated with our CruiseControl.NET dashboard as well. Ohloh collects software metrics from a variety of sources including the project's source code and the software development infrastructure used by the project's development team. Ohloh was founded in 2004 as a way to provide ......
A few months ago, I wrote about Visual Studio 2005 Professional Edition and FxCop Integration and also the upcoming Visual Studio Code Metrics that will be available in the Visual Studio "Orcas" release. These are both great tools, but one is really only available if you purchase one of the Visual Studio 2005 Team Edition versions (at least, available without some extra work) and one isn't available yet except through a public beta. However, if you want the type of code analysis that you can get ......
Beta 5 (build 0.8.0.143) for CI Factory is now available. For a full description of what's in this release, check out the release notes. The big news for this release is that Vault package is ready for use and that NCover support has been updated to support NCover 1.5.8. NCover support also provides the ability to set the process for which you want coverage collected. This is important for MSTest users to utilize app.config for the test assemblies and means you don't need to use the /noisolation ......
Microsoft has created a Tips for the "Newbie" page designed to give first time Tech·Ed attendees a fighting chance of finding their way around. It does a decent job letting the first timer know about what Tech·Ed has to offer, but I don't think it goes nearly far enough. Tech·Ed is a huge event, last year's event had about 13000 people attending, with an equally huge amount of content. The current count of sessions (including the Hands-on labs) is 1057. That's right, over 1000 sessions. The actual ......
Last time it was RFID, this time it's Bluetooth. If you have a Bluetooth-enabled mobile device, you have the opportunity to receive content on it. What this content actually is hasn't been mentioned yet, but hopefully it will involve useful things like schedule changes and other important information. All you need to do is set your device's Bluetooth setting to "Discoverable". Of course, hopefully you'll remember to bring a charger and plug in every night to recharge ......
My friend Simone, from Subtext and the creator of the CCNET monitor gadget for Vista, was just interviewed for the first Mindscape BrainDump video blog post. Check out the full video at: BrainDump #1 - Simone Chiaretta. Congratulations, Simone ......
One of the "staples" of the Tech·Ed experience has always been the Virtual TechEd site. This year, Microsoft is changing things around a little bit and making the site live year round in order to extend the Tech·Ed experience before, during, and after the conference. As part of the new experience, the site has undergone a major facelift, and the home page is broken down into 4 sections: News & Happenings Oline Sessions Tech·Ed RSS Feeds Other Resources As I was browsing the site, I noticed that ......
One of the topic areas that I am focusing on at Tech·Ed this year is Smart Clients. In keeping with my other Internet Calendars, I have created a calendar for all of the Smart Client related sessions. It is available at: webcals://calendars.office.... ......
As I mentioned earlier, Subtext 1.9.5 was officially released yesterday without mention of a codename. The missing codename was an oversight, as it is officially named "Artificial Horizon". For those of you keeping track, all of the Subtext code names follow a nautical theme, usually one that sounds cool and has some relation to the features in that release. The current list of releases is: 1.0 - Nautilus 1.5 - Nautilus R & R 1.9 - Daedelus 1.9.2 - Shields Up 1.9.3 - Repair Job 1.9.4 - Windward ......
Earlier this week, Microsoft rather quietly released it's Windows Live Hotmail offering. Along with the release, a replacement for the Outlook Express and Windows Mail desktop clients was announced as well as new software to integrate web mail with Outlook, called the Outlook Internet Mail Connector. Outlook Express and Windows Mail will be replaced with a new desktop product called Windows Live Mail in the coming weeks. The program will handle POP, IMAP, and Windows Live Hotmail accounts and is ......
Last month, I talked about the new SnapShots and mentioned that Snap is working on adding new SnapShots. They have added some new Shots and updated some existing ones. PhotoShot™ PhotoShot puts an entire online photo album into a Shot. PhotoShots can be triggered by links to files hosted on Flickr, Photobucket, and Picasa Web. Reuters CompanyNewsShot The latest custom shot leverages Reuters' global news capabilities and the Snap Shots platform to deliver story headlines for publicly-traded companies. ......
Subtext 1.9.5 has been released to the public. This is primarily a bug-fix release but does include some new features. Oddly enough, this is the first release to go out the door without a codename. Installing on a clean machine or upgrading an earlier 1.9 release are both relatively easy. If there are any ideas to make upgrading easier, we'd love to hear them. This is scheduled to be the last release in the 1.9 branch, unless there are high priority bugs found that need to be fixed. What this means ......
In writing my last post, I came across an excellent plugin that allows you to insert a video from MSN Soapbox, Google Video, YouTube, MySpace Video, Yahoo! Video, muveeMix, and myvideo.de. This plugin is extremely easy to use, but it does require you to know the URL of the video ahead of time. As you can see, you have a lot of formatting options when inserting the video and can modify everything except the link after it has been inserted. The plugin also provides an options dialog where you can set ......
Earlier this month, I talked about the upcoming release of Simone's CC.NET Monitor Gadget for the Vista Sidebar. I'm very pleased to announce now that version 0.8 has been released. This release adds the following features: new tab style settings page ability to monitor more than one CC.NET dashboard possibility to choose which project to display for each server added a license page (which is the new BSD license, as stated in my copyright and licensing policy) added an icon at the bottom of both ......
I use Windows Live Writer for writing almost all of my blog posts. It has been in beta for a long time and isn't showing any signs of being released any time soon. As a result, there was a lot of speculation that the product was dying a slow death. I'm very happy to say that is not the case. Simone pointed me to some screenshots showing a new version of WLW that is in the works. There are a lot of updates in the new release, including the ability to add tables, insert images from the web, inline ......
Just as my last post was publishing, I realized that many people might not know about the Internet Calendar Subscriptions in Outlook 2007 or may still be using Outlook 2003. Michael Affronti, the Outlook Program Manager, has a great post describing Internet Calendar Subscriptions and how you can interact with them in Outlook 2007. For those of you who are still using Outlook 2003, there is an open-source add-in that allows you to work with Internet Calendars ......
[edit: 16 May 2007] The calendars have been updated and a few new ones added. Check this post for more details. [/edit] Even though the Tech·Ed 2007 Schedule Builder is live, it is just as cumbersome (in my opinion) to use as ever. I had hoped that with the advent of AJAX, Silverlight, and the other interactive web technologies the schedule builder would have been more...interactive. The idea of having to pick a time period from a drop down list that contains more than 20 items and constantly having ......
Phil Haack was interviewed at MIX07 by Tim Heuer for his new TimCast podcast. In the interview, which lasts about 7 minutes, Phil explains how he got started working on Subtext, and open source in general. About half-way through the interview, Tim asks about the community support for Subtext, and he mentions the work Simone Chiaretta and I did on the Subtext build dashboard...even mentioning us by name. You can download the audio for the interview and read the original announcement at Phil's blog. ......
For those of you who are keeping up with the progress Simone Chiaretta has been making on his excellent CC.NET Monitor gadget, he is getting ready to release the 0.8 version. This version includes a lot of feedback received, and implements the following features: new tab style settings page ability to monitor more than one CC.NET dashboard possibility to choose which project to display for each server added a license page (which is the new BSD license, as stated in my copyright and licensing policy) ......
Last month, I blogged about Adobe Flex going open source. It seems Microsoft has taken notice, and is making some of Silverlight available as open source. Microsoft is also releasing the Dynamic Language Runtime (DLR) and IronPython on CodePlex under the Microsoft Permissive License. This allows developers and users to view, modify and redistribute source code for either commercial or non-commercial purposes, and also to charge a license fee for any code they've added to the software. A DLR based ......

The TechEd 2007 Schedule Builder has been updated with the Birds-of-a-Feather sessions. If you're going, be sure to check out my session on Code Style and Standards.
The other day, I posted about a feature request submitted to Microsoft Connect. Well, it ended up getting 21 votes before Microsoft closed it as "Closed (Won't Fix)". The comment they left was Thanks for reporting this suggestion. Unfortunately we will not be able to address this in time for the upcoming release of Visual Studio (codename Orcas) but we will track this suggestion in our future release feature request database. Now, I don't mind the fact that they said they won't be able to address ......
The guys over at Xceed, makers of the powerful yet free Xceed DataGrid for WPF have just launched the WPFwiki. The wiki was created to be a community resource for developers working with Windows Presentation Foundation. Even though the site was just launched, the idea started in 2003 when the WPF DataGrid was just starting to be developed. As the developers encountered problems and questions that they felt would be of common interest, it was recorded in a database along with the answer. In March ......
I've just found a new blog reader that promises to completely change the way you read blogs. The biggest difference between FeedGhost and other blog readers is that it works on a subscription basis. What this means is that when you subscribe to a blog, the state is kept synchronized across all machines that you have FeedGhost installed. The price of the subscription is $20 per year, which gives you access to any FeedGhost products or upgrades as they become available, use of the synchronization service ......
Jeff has updated his original post about configuring Windows Live Writer for .Text so that it shows how to configure WLW for use with Subtext. The nice thing is that this is very simple and really just involves running through the wizard and selecting "Another weblog service" as the blog type. Don't forget to check out Jeff's post on configuring pings in Windows Live Writer ......
Simone Chiaretta has just released a beta version of his new Vista Sidebar Gadget for monitoring Cruise Control.NET. This gadget uses the CC.NET REST-like API and connects to the XmlStatusReport service that comes as part of CC.NET. CC.NET Vista Sidebar Gadget docked to the sidebar CC.NET Vista Sidebar Gadget undocked on the desktop CC.NET Vista Sidebar Gadget settings page The look of the gadget is excellent, and provides the same monitoring capabilities currently available in the CCTray application. ......
For those of you that use Windows Live Writer to publish posts you will need to reconfigure the blog settings to support Subtext. This is a one-time change and simply involves running the "Edit Weblog Settings" wizard. This wizard will pick up all of the existing settings, so you don't actually need to change anything. One benefit that Subtext provides is that we can now publish images in the post directly...no need to upload them first. If you aren't already running Windows Live Writer, I encourage ......
I have finally turned my previous post in to a new article on Code Project. This article provides a definitive way to determine which version of IIS is installed, what IIS subcomponents are installed, and also if ASP or ASP.NET has been registered with IIS. This article provides a single class that encapsulates the various methods required for determining this information ......
I have updated my article on Code Project for detecting what versions and service packs of the .NET Framework are installed. This is a relatively minor update that fixes a few typos I discovered while writing my latest article.
Explains how to use managed code to detect which version of Internet Information Services (IIS) is installed and if ASP or ASP.NET is registred.
In an excellent tribute to the Budweiser "Real Men of Genius" commercials comes Real Technology Heroes. Just like the original Bud commercials, this site salutes those geeks that don't get recognized...but should. That's right, we salute you, Mr. "select * from table examples" guy and you Mr. "I can write my own version of .NET faster than Microsoft" guy, and all of the others that deserve recognition. Stand up and be recognized! Submit your own Real Technology Hero and be eligible for the monthly ......
There are 14 core tracks and 2 virtual tracks at Tech·Ed this year, which will cover more than 1,000 sessions. In case you're wondering, a virtual track is a collection of sessions or labs that share a common theme but span several tracks. Microsoft has revised the technical tracks slightly since my original post, so I have updated my summary. Architecture Service Oriented Architecture (SOA) Office Business Applications Software as a Service (SaaS) Business Capabilities Software+Services Industry ......
Jeff just recently posted that the conversion of Geekswithblogs.net from .Text to Subtext is back underway. I am really looking forward to seeing the conversion complete. Subtext has a lot of great features and has a very active development community. I'm sure GWB will be converting to Subtext 1.9 for now, and hopefully will upgrade to 2.0 when it comes out. As part of the conversion, Jeff is looking to not only change the look and feel for the homepage, but also update it to be more Web 2.0-ish ......
and my blog was referenced in one of the talks that I happened to attend. I was duly surprised when I saw my WPF Datagrid control post popup on the overhead and see it listed on the references slide. I must say, it was pretty cool. Overall, I think my first CodeCamp experience (seeing my blog "up in lights" not-withstanding) was very good. It was well organized and had just over 300 people attending. The topic coverage and speakers were also great. I would definitely go to another one, which should ......
Microsoft has a released a new technology showcase site called Dinner Now. From the website: DinnerNow is a fictious [sic.] marketplace where customers can order food from local restaurants for delivery to their home or office. This sample is designed to demonstrate how you can develop a connected application using several new Microsoft technologies. The demo utilizes several technologies including: IIS7, ASP.NET Ajax Extensions, Linq, Windows Communication Foundation, Windows Workflow Foundation, ......
The Orlando CodeCamp is basically a free one day conference for and by the community. Last year we had 7 tracks with over 45 speakers and 300 attendees present. This event is the MUST attend event of the year if you are a .NET developer or architect in Central Florida. If you would like to speak or make a donation please let me know (shawn@shawnweisfeld.com). All event information can be found on the CodeCamp Website: http://www.orlandocodecamp.com I've always wanted to go to one of the CodeCamps ......
As you know, I'm working with the Subtext project. Subtext uses CruiseControl.NET (CC.NET) as it's continuous integration (CI) build system. One of the nice features of CC.NET is the web dashboard that provides the visibility in to the builds. Over the last month, I have been upgrading the Subtext dashboard with a new look and feel as well as some additional features. As a result, the dashboard caught the attention of Jay Flowers, who owns the CI Factory project. For those of you who don't know about ......
This is a great site for some fun geeky novelty items covering some great categories, including GeekWear and Cubicle Warfare. Check it out and pick up your favorite geek gadget.
I was recently sent an email that has some of the most amazing pictures. I have uploaded them to the Just Pencils gallery. The thumbnail images in the gallery really don't do these justice, so be sure to view the full size image. Keep in mind, all of these creations are done using just the tips or ends of colored drawing pencils. And I always thought they were just for writing. If anyone knows how the artist is, please let me know so I can give him or her credit for these amazing creations. [See ......
It seems this is the year for Microsoft to announce product retirements. First GotDotNet, then Visual J#, and now eWeek just announced that FoxPro is being retired as well. According to Microsoft, they will not be releasing any new versions of Visual FoxPro past version 9.0, but they will continue to support it through 2015. The FoxPro development team, which is actually part of the Microsoft Visual Studio team, will be spread out across different groups in the Microsoft Developer Division, including ......
I'm sure there's a clearer explanation somewhere, but reading the announcement on the J# home page is just a bit confusing. So far, what I've been able to piece together is that Visual J# 2.0 Redistributable will still be released sometime in Q2 of 2007 and support for English locales will continue through 20017. Along with this, the Visual J# 2.0 Redistributable Second Edition will also be released that will enable Visual J# code to run natively on 64-bit versions of Windows and the .NET Framework, ......
If you have ever wanted to know how big a folder was, you had two options: Open a dos prompt and get a directory listing Open the properties for the folder Wouldn't it be great if the folder size could be displayed right in Windows Explorer, just like it does for file size? Well, thanks to this post on Noah's blog, it is now possible! This is an open source project available on SourceForge at: http://foldersize.sourcefor... Of course, this information is only available in Details view, but if ......
Don't let anyone tell you it doesn't happen. I was just awarded 16th place for February on Community Credit. I know, 16th place doesn't sound like a big deal, but keep in mind that it is 16th out of 6950 (I think that was the number of members when they calculated the prizes, if not it is pretty close) and all I had to do is what I normally do anyway: blog and answer/post forum questions ......
The Subtext CruiseControl.NET dashboard has undergone a major facelift this weekend. It now has a new CNAME record, which allows access to it from: http://build.subtextproject... This change is the beginning of an effort to enhance the documentation for the project and make it easier for users to find everything. To go along with the new address, the dashboard itself received a huge overhaul as well. It now sports a nice, clean feel that matches the main Subtext project site. There are still ......
Recently, someone sent me an email about my post on using managed code to detect the installed Framework versions and services packs. The posts were really just pointers to my article on The Code Project, but it did bring up an interesting topic. The question at hand really boils down into two separate issues: How to detect if Internet Information Services (IIS) is installed. How to detect if ASP and/or ASP.NET is registered with IIS. The best way to detect if IIS is installed is to look for the ......
All I can say is, "Wow!" I just looked at my blog and realized that I posted 34 posts for last month. I'm sure some of you may not think this is a large amount, but for me it represented the single busiest month of blogging since I started almost a year ago. I don't know how busy I'll be blogging this month, but I know I will be busy. Here is my current list of projects (outside of real work, that is): Update my File Downloader component with asynchronous download support. Update my Framework Version ......
Visual Studio will finally get built-in support for generating code metrics for project and solutions. Unfortunately, we'll have to wait until Orcas officially ships, but it is part of the latest March CTP release (Virtual PC image or self-extracting install). Again, as with the integrated FxCop analysis, this will only be available with the Visual Studio Team Developer and Team Suite editions. I still think Microsoft is doing the development community a huge injustice with this decision, but I'm ......
The Microsoft sponsored GotDotNet developer community site is shutting down! All of the functionality will be phased out by July 2007, so there isn't much time left. According to the announcement, Microsoft is phasing out GotDotNet for the following reasons: Eliminate redundant functionality between GDN and other community resources provided by Microsoft Traffic and usage has significantly decreased over the last 6 months Reinvest the resources in new and better community features The phase out schedule ......
A while ago I posted a entry about Community Credit. I don't remember what the membership count was when I joined, but it's almost at 7000 members now! I don't know if there is an official record of the most number of new users in a day, but it would be cool if the site could it the 7000 mark by the end of March 1st. The nice thing about the site is that it serves as a central "clearing house" for all of your tech related accomplishments, such as blog posts, comments, discussion board posts, articles, ......
I know several other people who received an email from Microsoft late last week titled "Important Daylight Savings Time Update for Developers". As far as I know, none of us are exaclty sure why we recieved these emails but we all figured that at some point we signed up for something .NET and developer related with Microsoft. Just in case you didn't "get the memo", here are the relevant parts: Developers who use the .NET Framework may find their applications affected if the application uses the time ......
A new book on WCF was just published by Juval Lowy at IDesign. For those of you that don't know, Juval is Microsoft's Regional Director for the Silicon Valley area and has helped in the internal strategic design reviews for the .NET Framework. He has presented sessions at the last two Tech·Ed conferences on WCF and helped shape the technical strategy and direction for WCF with Microsoft. I haven't picked up my copy yet, but will be getting one soon. The book focuses on the "why" behind particular ......
I received an email today from Snap letting me know about a contest they are running to help improve Snap Preview Anywhere (SPA). They have already started making improvements and are looking for ideas on how to make things even better. Since there are over 650,000 websites and blogs that use SPA, it shouldn't be hard to get a lot of good ideas. The hard part will be sifting through them to find the ones that can actually be done. So far, there are 57 entries. The top 3 ideas submitted will win $2500, ......
Earlier this month, I posted a summary of the technical tracks available for Tech·Ed 2007. As I was putting the summary together, I noticed that WPF was not listed. Well, Rob Relyea, the PM on the WPF team noticed my post and Windows Presentation Foundation (WPF) is now officially listed under the "Developer Tools and Technologies" track ......
I just noticed that my Tech·Ed Technical Tracks Summary post was just listed as a TechEd Bloggers Editor's Pick for Sunday, February 18. I also received some feedback from Rob Relyea, the Program Manager for the WPF Team (http://rrelyea.spaces.live... regarding my Tech·Ed Technical Tracks - Where's WPF? post stating that they are working on fixing this issue. I'm looking forward to seeing the updated sessions covering WPF ......
Reflector 5.0 was just released today. If you haven't already downloaded, do it now. It has a ton of new features, and makes version 4 pale in comparison. In fact, there are so many new features that Lutz has put together a PowerPoint slideshow that gives an overview of what's new. One of the coolest new features is a custom protocol handler that will really show the versatility of Reflector. If you already have Reflector 5 installed, you can navigate directly to a code item through a code:// URL. ......
Since I've been looking into writing a custom Visual Studio package, I came across a nice set of free "gadgets" from SlickEdit. These can only be described as a set of very cool power toys for Visual Studio. These gadgets will only work with Visual Studio 2005, but should work with any of the Visual Studio 2005 editions except the Express Editions. I think these gadgets are aimed at creating more business for the Tools v1.1 for Microsoft Visual Studio 2005 product, which also has some very nice features ......
As I was writing my previous post, I found an odd spelling correction suggested by the Windows Live Writer spell checker. It would appear that the suggested spelling for MSBuild is Sybil. That might just explain things.
As I mentioned in my previous post, there is an apparent bug in the Metaweblog API that prevents me from specifying the full path to the FxCopCmd executable. I'm not entirely sure what is actually happening, but I do know that it doesn't allow the post to be submitted through either Windows Live Writer or through the blog Admin UI. The strangest part of this is that it appears to only care about this particular executable. I've tried several others, both command line and GUI applications and they ......
I was scanning through the list of technical tracks for Tech·Ed this morning and noticed an odd omission. Windows Presentation Found (WPF) is only listed once, under the "Connected Systems" track: Microsoft .NET Framework 3.0 programming model for Windows that offers new technologies for building applications for seamless communication across technology boundaries and for composing services. These new technologies are Windows Presentation Foundation, Windows Communication Foundation, Windows Workflow ......
There are 14 core tracks and 2 virtual tracks at Tech·Ed this year, which will cover more than 1,000 sessions. In case you're wondering, a virtual track is a collection of sessions or labs that share a common theme but span several tracks. The Session Scheduler launches in April and we will get our first real look at the actual sessions available in each track. Until then, we have to be content to speculate. Looking at the technical tracks page, it became clear to me that there is a lot of information ......
Not sure I'll be able to make it this year, but I'm going to try.
It's back in LA, October 2-5.
Hopefully, the buss drivers won't go on strike again.
Microsoft just announced Windows Mobile 6 (press release) at the 3GSM World Conference in Barcelona, Spain. The first WM6 powered devices will start hitting the streets by the second quarter of this year, and many companies are planning upgrade options for existing WM5 devices. There are a lot of changes in this release, but Microsoft has really focused on improving usability and adding support for more Microsoft Office features. The user interface has received a much needed face-lift, giving it ......
Hopefully everyone that lives in the United States (or deals with United States based companies) has heard that the U.S. Congress has changed the dates for Daylight Saving Time (DST) starting this year. The changes are the result of the Energy Policy Act of 2005 and modifies the Uniform Time Act of 1966 by changing the start and end dates of daylight saving time. These changes mean that any electronic devices that were pre-programmed for adjusting to daylight saving time will be obsolete and incorrect. ......
I have added Snap Previews for all of the external links on the site. The preview will only trigger when the mouse hovers over the preview icon, so hopefully it won't be too intrusive. There is also an "opt in" badge located in the "News" column that lets you turn previews on. Once they are turned on, you can turn them off again through the options link available from any preview. It does look like there are a few issues with the previews where some sites are not being displayed. I'm not sure if ......
The long awaited 1.9.4 release is finally here. This release fixes a number of bugs and implements a few new features. One of the more significant features is the Sitemap implementation. You can find more information on the implementation and instructions on how to set it up on David's blog. There is also a new set of XFN icons to go along with Subtext's XFN Highlighter. I think the new icons and highlighter will work very well with my new XFN Link Editor for Windows Live Writer (once it finally ......
While searching for some blog search engines and aggregators to add to my list of ping servers in Windows Live Writer, I came across autopinger. AutoPinger is a FREE and convenient service for all bloggers and podcasters. It is an easy set-and-forget service that lets concentrate more on developing your favourite blogs and podcasts...Autopinger will check your blogs and podcast feeds every 30 mins. This is a pretty neat idea, and they do provide an XML-RPC interface in addition to allowing you to ......
I know it's only been a couple of days, but there were a few things that were bothering me about my XFN™ plugin for Live Writer. The biggest issue (and really the one that everything else centered around) was that once a link was inserted, you couldn't edit it again without recreating it. I doubt anyone would have really felt this was a problem, but it was annoying enough to me that I decided to do something about it. The changes centered around making the plugin a SmartContentSource rather than ......
I was recently introduced to the concept of XFN through a blog post I was reading from Phil Haack regarding his meeting with Rob Conery, one of the Subsonic developers. After reading about XFN, I think it is an extremely interest concept on the entire social networking phenomenon. Taken from the XFN website: XFN puts a human face on linking. As more people have come online and begun to form social networks, services such as Technorati and Feedster have arisen in an attempt to show how the various ......
I tried to do this for last years Tech·Ed, but wasn't as successful as I would have liked. This was mostly due to the fact that I didn't really know I was going until last minute. Anyway, this year should be different. I have registered this blog in Tech·Ed Bloggers, so wherever you see the "Blogger Guy" on any website, you should be able to go directly to the Tech·Ed Bloggers site ......
Hopefully I'm not jumping the gun, but I was just given a tentative "green light" to be able to go to Tech·Ed again this year. This year, the focus will be on all of the newly released products, such as Vista, Exchange Server 2007, Office 2007, and ASP.NET AJAX. I'll see you there ......
Based on some of the article comments, I have just posted an update to this article on Code Project. The update includes support for the January CTP of Orcas, currently called .NET Framework v3.5 and also adds methods to get the actual version number and the Windows Foundation library (WPF, WCF, WF, and CardSpace) information. I have also changed the title to "Using managed code to detect what .NET Framework versions and service packs are installed". Hopefully the title change won't cause any problems ......
I have just posted a new article on Code Project that provides the definitive way to determine which versions and service packs of the .NET Framework are installed on the client computer. This article provides a single class that encapsulates the various methods required for determing the version and service pack of the various .NET Framework releases and is based on information available on MSDN and Aaron Stebner's WebLog ......
Explains how to use managed code to detect which .NET Framework versions and service packs are installed.
Even if you aren't a Zune fanatic, Microsoft has released a new desktop theme based on the Zune interface. The new interface is very similar to the one offered by Windows Media Player 11. The theme is very clean and easy on the eyes. It installs as a desktop theme in the Display Properties control panel, so there is no extra software required in order to use it ......
Microsoft has just announced a new CTP available called "WPF/E", which is the codename for a new web presentation technology. I am guessing that the "E" stands for "Everywhere" since this is being created to run on a variety of platforms. According to the documentation, It enables the creation of rich, visually stunning, and interactive experiences that can run everywhere: within browsers, and on multiple devices and desktop operating systems (such as the Apple Macintosh). It is consistent with WPF ......
When Geekswithblogs.net 2.0 is released (hopefully by the end of the year), it will be using a spinoff of .Text named SubText. With the death of other great open source projects like NDoc, I decided to do my part and contribute as a developer on this one. I'm starting with reviewing and fixing the FxCop violations. So far, I've finished 2 of the projects.
As a developer I use a lot of additional tools to get my work done in the most efficient and accurate way possible. That involves a lot of things, such as unit testing, code analysis and additional productivity inside the Visual Studio 2005 IDE. I have seen a lot of blog posts extolling the virtues of one tool or another, but there were not many (at least that I could find) that provided a semi-comprehensive list. (I say "semi-comprehensive" because there is always going to be a new tool available ......
I recently came across the blog of Patrick Dussud, who is the lead architect of the CLR/UIFX group. His first (and currently only post) discusses his role in the birth of the .NET CLR. There is a link to a mailing list archive that also gives some more background. In a nutshell, the CLR was born out of the COM+ team, created by merging the MTS and COM teams, and some of the people from the JVM team. The COM+ team was working on the next generation of COM, then called COM 2.0 and the JVM guys were ......
Earlier today Microsoft released the newest version of the .NET Framework. If you have any previous beta versions installed, you must uninstall them before installing the final release. Make sure to install the Visual Studio 2005 extensions for .NET Framework 3.0 (WCF & WPF), November 2006 CTP as well. The earlier builds will not recognize the release version of the framework ......
eWEEK Security Center Editor Larry Seltzer just published an article on eWEEK.com providing his opinion on the benefits, and limitations, of PatchGuard. In the article, Larry reiterates some of the points I made in my post on PatchGuard a few days ago, namely: Only 64-bit Windows versions are affected by PatchGuard. 64-bit Windows versions, especially desktop versions, have puny market share. The problems are limited to what can generally be called HIPS (Host Intrusion Prevention Systems). Conventional ......
As a follow up to my Implementing IDisposable and the Dispose pattern article, I have posted a new one on SafeHandles and Constrained Execution Regions (CERs). This article explains the new SafeHandle class, introduced in .NET 2.0, and how to use it. I also cover CERs and how they are used. [Update, 22-Jan-2008: Updated the article link for Code Project.] ......
A simple to use resumable file downloader class that provides progress feedback for .NET 2.0 or .NET 1.1
My article on how to properly implement the IDisposable interface and the Dispose pattern has been very well received. There have been several comments that prompted me to review the article against the Framework Design Guidelines, and specifically against the updates made by Joe Duffy. In doing this, not only have I learned a few new things about how the whole garbage collection process works, but I also discovered that some of the statements made in my article were incorrect. This is discouraging ......
I recently needed the ability to download a file from an arbitrary URL using .NET that was compatible in both .NET 1.1 and .NET 2.0. What I found didn't meet all of my needs, so I decided to write my own.
As a result, I also posted my first Code Project article that contains the full details plus the source code. Please check it out and let me know what you think.
Courtesy of the latest issue of WXPNews, I came across a very cool new blogging tool, named Windows Live Writer. This is a desktop application that makes it very easy to write new blog posts by providing a WYSIWYG ("What You See Is What You Get") editor that reminds me of a slimmed down version of Microsoft Word. Windows Live Writer has some pretty cool features, like the ability to automatically spell check your blog posts before posting them and automatically saving a draft every x minutes. While ......
If you want to improve your skills unlike this poor soul get to Code Camp we will even supply the food for lunch. Mark your calendars for July 15. I can't attend this one since I already have plans for the weekend that take me out of town, but if you are in Florida and want to go you should check it out. Just incase you forgot Code Camp is FREE, and its the only place you can learn from the best out there under one roof. If you program in Visual Studio.NET you need Code Camp. If you use ASP.NET you ......
Check out my
article on adding an “On this day” section to your blog.
Building managed applications is generally a lot different than building non-managed applications. The problems faced by .NET developers are different than those faced by C++ (or even VB) developers. Since .NET is a garbage-collected language and the development process seems to be generally more intuitive (at least in C#) than many other programming languages and environments it is very easy to build applications rapidly. Visual Stduio 2005 definately takes the concept of rapid application development ......
Since last years TechEd everyone has been hearing about .NET 3.0 and the cool features of LINQ, lambda expressions, and all of the other cool new language features. I don't know about you, but I was definitely looking forward to them. We were also hearing about WinFx and “Avalon“ and “Indigo“, InfoCard, Windows Workflow Foundation (WWF) and the other new technologies that looked like they would only be part of Vista. Fast-forward a year to this years TechEd and we're still ......
Windows PowerShell (formerly known as “Monad”) is a Microsoft's answer to the power and flexibility of the Unix command shells. It should finally complete the Windows management picture by providing a solid command line shell to administer Windows systems. PowerShell is part of Vista, but fortunately for all of us, it is being released separately and is available for Windows XP as well. PowerShell is a command line shell that is: as interactive and composable as bash/ksh (or any other ......