Video: Two New Methods in System.GC
In my latest video, I demonstrate how to use two new methods of the System.GC class in the .NET Framework v3.5: AddMemoryPressure and RemoveMemoryPressure. You will see the impact of using these methods correctly when allocating unmanaged memory resources in your .NET applications.
Download video & code or visit www.visualstudio2008.defyallchallenges.com/videos.htm
New GTD Category: @Radar
I am a big fan of David Allen's GTD (Getting Things Done) methodology. Lately I have been struggling with some of the recommended categories for certain items that land in my "inbox". Examples of context related categories are @Project, @WaitingFor, @Computer, @Agenda, @Errands, @Call, and so on. Lately, I have wanted to keep track of certain items, without making them actionable. This seems to contradict the point of GTD. Yet there are times when I simply want to recall a topic or situation to mind without making it a project, something I am waiting on, or something I am required to do anything about. I needed something that would keep a matter in front of me, but not require me to do anything about it. Thus, I propose a new category to the GTD community: @Radar.
With @Radar, you are not deferring an actionable thing. The nature of the category simply suggests one thing - don't forget about this.
For example, what if a colleague casually mentioned to you that he was going to be involved in a cool project - but a project with no direct impact on you. Having said that, you are curious about the project, and do not want to forget about it. And because you are not likely to get updates on the project, it may fade from memory. How would you manage that "thought" in your inbox? It is not @Project, because there is no immediate "next action". It should not be an @Agenda, because you may run into this person frequently, but it is not required to continually ask about the status of the project. It is not a Someday/Maybe list item, because it is not a matter I plan on making a project in the future. Alas, @Radar seems to be a perfect fit.
For any GTD enthusiasts out there, what is your opinion?
Using Linksys PrintServer PSUS4 with Vista
Tonight I tried to configure my Linksys PrintServer PSUS4 with Vista. The other computers in my household run XP, and the user installation for creating the printing port ran smoothly. When I attempted to do this in Vista, I kept getting an error:
"Add port failed".
I have UAC enabled (which is recommended) and I was suspicious that this was contributing to the problem. Thus, I was able to get everything to install correctly when I disabled UAC. Out of curiosity, I uninstalled the PrintServer software and enabled UAC again. This time, I installed everything with administrative privileges. Again, it worked.
I can print. Yippie. Hooray. So if you are reading this post, and need to get your Linksys PrintServer software to install properly, either disable UAC and run the installation or run everything as administrator. You need not read any further...
Wait a minute. I don't like my own findings. A part of me feels wrong for suggesting either solution. Will those reading the answer to my problem above try to run everything as administrator just to make sure anything works? Will others disable UAC and keep it off? What should a Vista user do?
I am not expecting perfection from my operating system. When I hear that some Vista users have gone back to XP, it frustrates me. When I hear some XP users refuse to upgrade to Vista, it frustrates me. I am a Microsoft enthusiast. I evangelize and teach about solutions based on Microsoft products. I want Microsoft products to flourish and succeed. That said, I don't want to feel guilty when I nod with a chuckle at the "I'm a Mac, I'm a PC" commercials. I would rather feel outraged at these commercials and naturally defend Vista with conviction.
Note: Macs are not perfect. Just search on "Mac problems" and you will see what I mean.
Sara Ford Rocks!
I downloaded Sara Ford's (er... um... Rob Caron's) "Visual Studio 2008 Tip of the Day" Windows Gadget earlier this week. I think this gadget is a must for all serious Visual Studio 2008 developers. I look forward to seeing what new productivity tip will be featured every morning when I turn on my computer.
Rob Caron - thanks for creating the gadget!
Sara Ford - thanks for supplying the data!
GMail Adds More Color
GMail now allows users to add more visual impact to "Labels" by enabling them with different colors. This only works in a couple browsers as noted by GMail team:
Note: Colored labels, group chat and rich emoticons only work in the latest version of Gmail, currently available for Internet Explorer 7 and Firefox 2. Please upgrade your browser to take advantage of these new features:
Technorati Profile
Resources For Visual Studio 2008
For those who want to quickly learn Visual Studio 2008, don't miss the great resources at http://www.visualstudio2008.defyallchallenges.com/
Video: Fun With UI Elements In Silverlight
How can you make one UIElement in Silverlight appear behind or in front of another? How can you provide transparency effects to shapes, text, or videos? How can you clip geometric sections off of visual objects? In this video, you will learn how to accomplish these tasks with common graphic properties.
GMail, Thank You For Your Help
I logged on to GMail today (in Firefox) and observed a message indicating my experience might be slower due to Firebug being enabled.
What I enjoyed about my experience is that the GMail team did not stop there. After following a "fix it" link I was brought to the following set of directions:
Then I received confirmation that the Firebug would not hinder my GMail experience:
I enjoy using applications that take the initiative to solve problems I may not have even known about. I think this is an excellent example of improving UX.
Video: Interactive Silverlight Using AJAX
Need dynamic data in your Silverlight application? Want to create a nice interactive experience for users of your site? In my latest video, I demonstrate how to generate XAML dynamically on the server based on user input - and serving that content through AJAX via Page Methods.
View In Browser
I have been developing in ASP.NET since the beginning. I have been training in Visual Studio since I can remember. I have learned many keyboard shortcuts over the years. I cannot believe it has taken me this long to discover a keyboard shortcut for one of the most common tasks I do - View In Browser. If you have not stumbled across it yet, it is [Ctrl]-[Shift]-[W].
AJAX Class in Dallas, Texas
I am returning to Phoenix today after teaching ASP.NET AJAX in Dallas, Texas. Thanks to everyone who attended the class!
About 50% of my students were from the same company, and were already using AJAX technologies. One in particular had experience with Prototype, and made some excellent observations regarding the two platforms.
A concern raised about the Microsoft AJAX implementation was the total size of scripts downloaded to client. One of the suggestions provided by Microsoft is to enable compression in the web.config file as so:
<scriptResourceHandler enableCompression="true" enableCaching="true" />
However, the following snapshot is taken from a forum discussion that makes it appear that compression is only enabled for IE7?

This raises the question: Are there other alternatives for managing script size issues in ASP.NET AJAX that will work across the major browsers used today?
Writing Technical Content
I just read a blog post from Jeff Putz on "Why you should (or shouldn't) write a programming book".
From my own experience, I can instantly provide one reason you may *not* want to write a technical book - to make money directly. Oh you can make some money, but you can make much more money using the same time & energy on development projects or contracts.
Has authoring books helped me make money indirectly? I have to believe it has had an impact. But could I be in the same place professionally now if I never authored any books at all? I don't know.
With that said, would I write another book? As Jeff mentioned in his blog post, it depends on motivation. I would only write (or co-author) another technical book if I was very passionate about the subject material. Since the time investment needed to write good material is strong, I would only do so if deadlines were realistic. Of course, I would need to make a decent amount of money.
Some authors have what appears to be natural ability to crank (good) content out in an efficient amount of time. Dan Wahlin is a great example of someone highly self-disciplined with regard to technical writing. I have seen Dan in action, and his speed to getting tough topics written in a short amount of time is highly impressive. I suppose that is the other motivation... the more you write, the more likely you will write better and faster.
With a potential writing opportunity on my desk, I want to thank Jeff for getting me to evaluate the question in more depth.
Silverlight Plugin Unable to do Height Percentage in Firefox
I recently published a video on resizing Silverlight controls. I just observed an odd behavior in the Firefox browser when setting the height of the plugin to any percentage (10%, 50%, 100%). I can set the width to 100%, as the screenshot below indicates:

Notice the height is set to 100, not 100%. Now, if I change the height to 100%, this is what happens:

By setting the height to a percentage (of any number) in Firefox, my silverlight control disappears. If I set the height to a percentage in other browsers - the control behaves as it should. Anyone know why height percentage does not work in Firefox?
The Effects of Resizing a Silverlight Control
What happens to a Silverlight control if the browser window is resized? What happens to the Silverlight control if its containing HTML is resized? What happens if the inner content of the Silverlight control is resized? This video demonstrates the answers to these questions, and then explains how we can customize the effect of resizing on Silverlight controls.
Desert Code Camp 2007 Download
Desert Code Camp in Phoenix, AZ was (IMHO) a great success. Congratulations to Lorin Thwaits for another excellent job at directing the event. It was a real treat to hear Richard Campbell speak on Silverlight, followed by Dan Wahlin on Silverlight & AJAX.
My presentation today was on "Writing Code to Avoid Code"
Thanks to all who attended my discussion on custom build providers and expression builders in ASP.NET 2.0. As promised, you can download the code samples and slide deck here.
Silverlight Soliloquy: RC to v1.0 Release
My alter-ego responds to an exciting announcement:
Looks like v1.0 of Silverlight is official. I wonder what I need to do to update the RC installed on my computer? Let me go to the Microsoft Silverlight v1.0 install page...
Silverlight Soliloquy: Development Environment
In the previous post of this series, my alter-ego decided to move forward learning Silverlight v1.0 and not wait until Silverlight v1.1. Although there are some who feel passionately about waiting until v1.1, Shadowman looks forward to starting Silverlight development today (he is hopeful for a full production release soon).
The soliloquy continues:
After reading Jesse Liberty's blog on Day 2 of the Great Asynchronous Learning Experiment, I noticed he quickly mentioned downloading the appropriate tools for Silverlight development. I wonder what the absolute minimum requirements are? From what I can see, the silverlight.js file is highly recommended to reference in my html file. I can get this by downloading the Silverlight 1.0 SDK.
Ok, I have the SDK installed. I also already have Visual Studio 2005 installed. Looking at the menu options from my start menu, it looks as if Visual Studio 2005 has a template for Silverlight development. This should make it easy to get started! I think I will watch a new Silverlight video that explains the starter files in the Silverlight Javascript Project Template.
- Shadowman
Silverlight Soliloquy: Versions
After my alter-ego determined he was qualified to get started with Silverlight development, he began wondering about versions.
The soliloquy continues:
After exploring www.silverlight.net and other related web sites, I am starting to worry about investing time into Silverlight. It looks like v1.0 is about manipulating XAML with Javascript, while v1.1 is controlling XAML with .net code. While I am not afraid of Javascript, I would rather develop in .net. Should I wait?
Hmm. What if I invest in v1.0, and I have to scrap all of my work when v1.1 comes out? I better ask Jesse what he recommends...
According to Jesse's response, there is no need to panic about massive re-working of my Silverlight efforts from v1.0 to v1.1. He really wants the message to be clear: Nearly everything you learn in 1.0 will move cleanly to 1.1.
Fair enough. I am going to commit wholeheartedly to learning Silverlight v1.0.
Where is AJAX Enabled Web Site in Visual Studio 2008?
On a recent post regarding the installation of Visual Studio 2008, a question was raised about a missing web site option:
The answer is simply that it is no longer a second-class citizen. Simply create an ASP.NET Web Site in Visual Studio 2008, and then you can do the following:
Add an AJAX Web Form to your site and start unleashing your AJAX powers.





