Archives
-
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.
-
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.
-
Please Do Not Read
Please do not read this post.
-
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". -
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.
-
Phoenix Silverlight User Group - December 5th 2007
Last night's Silverlight User Group meeting at Interface Technical Training was a great experience! We dared to be different, and the result was what I always hoped for at these types of events - 100% interaction. That's right, everyone was involved.
-
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:
-
Using Windows Live Writer 2008
About 4 times a year I "refresh" my working computer with a fresh install of the latest OS and software tools. With the release of Visual Studio 2008, I recently "refreshed" again (no longer using Visual Studio 2005).
-
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
-
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.
-
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].
-
Book Review: Silverlight 1.0 (Wrox)
Yesterday I got my copy of Silverlight 1.0 published by Wrox, authored by Devin Rader, Jason Beres, J. Ambrose Little, and Grant Hinkson.
-
ASP.NET 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!
-
Writing Technical Content
I just read a blog post from Jeff Putz on "Why you should (or shouldn't) write a programming book".
-
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:
-
Video: The Effect of Resizing on Silverlight Controls
-
Jaiku
My Jaiku landing page is http://palermo4.jaiku.com/
-
Create An Application To Test XAML Dynamically
My first Silverlight video is now available at the Silverlight.net site.
-
HttpRequest Using IsAjax & IsJson Extension Methods
Although the ScriptManager has a property named IsInAsyncPostBack to determine an AJAX call, the control is scoped to the page it is contained in. If writing code in a custom HTTP module, what if I need to know in the BeginRequest event whether the current request is AJAX or JSON?
-
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.
-
Silverlight Soliloquy: RC to v1.0 Release
My alter-ego responds to an exciting announcement:
-
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).
-
Silverlight Soliloquy: Versions
After my alter-ego determined he was qualified to get started with Silverlight development, he began wondering about versions.
-
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:
-
Silverlight Soliloquy: Qualifications
In the previous soliloquy, my alter-ego (Shadowman) decided to "shadow" the journey of Jesse Liberty's The Great Asynchronous Learning Experiment.
-
Silverlight Soliloquy: The Beginning
After reading Jesse Liberty's blog series at the Silverlight.net site, I decided to journey along with him. As he is wearing the hat of a developer learning Silverlight from scratch, I will do the same. I will "shadow" Jesse's blog, highlighting my own discoveries and questions along the way.
-
Online Confession
After all these years, I finally made my first purchase from ebay.
-
Apple Software Update & Vista
The Apple Software Update attempted to run on my notebook computer today, but I got the following message:
-
How To: Access Underlying Data of the ObjectDataSource
A gentleman in my ASP.NET 2.0 class a while ago asked me how to access the underlying object used for the ObjectDataSource control. Suppose you have some code in App_Code like so:
-
I Don't Feel Like I'm on a Diet
When I attend a technical conference, I usually do not see attendees exhibit great eating habits. Let's face it, the way computer professionals are typically displayed in the media is as nerds with junk food in one hand, soda in another. I don't mind the nerd stereotype, but I would like to defy the image that we can not control our eating.
-
Managing Projects in Visual Studio 2005 & 2008
One of the first tasks I tried when I installed Visual Studio 2008 was to open a Visual Studio 2005 project. I was prompted with the following:
-
Installation Notes For Visual Studio 2008 Beta 2
At the bottom of Scott Guthrie's blog announcement of Visual Studio 2008 Beta 2, he recommended the following:
-
Tonight Will Be Fun
Just about an hour away before Visual Studio 2008 Beta 2 is downloaded!
-
Desert Code Camp 2007
Mark your calendars in the southwest that you are busy September 15th. Of course, all are invited to the next Desert Code Camp in Phoenix, AZ.
-
SharePoint Big Secret
I am taking a class this week at [itt] on SharePoint 2007. My instructor is Miguel Wood from TekFocus. I must confess, it sure is fun to be "student" for a change.
-
Purpose of Blog
I have recently decided to redo tags on my blog. This effort required me to go back in the archives and view some of my posts of old. As I viewed one post after another, I realized I have used the blog for various reasons. Here is a list of how I have "purposed" my blog:
-
Disk Defragmenter in Vista
I am breaking one of my blog rules (which I will blog about later). I want to pose a question to the technical community: Does disk defragmenting in Vista have any better UI than below:
-
Paper-Based Time Management
Each week my wife and I meet to discuss our calendars and to-do lists. She has commented lately that my newest form of time management has been the most successful to date. What is my latest technological innovation? I use a paper-based system.
-
Hanselman Has Been Assimilated
Scott Hanselman has been assimilated! He joins the azure cult under the direction of the great Scott Guthrie.
-
M-Audio MobilePre USB on Vista
I ran into some issues earlier today attempting to record audio with my MobilePre USB from M-Audio. After calling sound & audio guru Simon Allardice, I got the needed advice to get things working again.
-
Executing MSI From Command Prompt
I could not install an upgrade from TechSmith for Camtasia Studio until I did so from the command prompt. I have observed this behavior since I have installed Vista. Double-clicking on the .msi file in windows explorer will start the process, but end abruptly with this nasty error message "Installation ended prematurely because of an error":
-
Revision: Get the Value of a Control Without an Instance of the Control
On an earlier post, I provided code that would retrieve the value of a control from the HTTP post without the need for an instance of the control. With good feedback, I made some modifications as follows:
-
Revision: Case-Insensitive String Equality
I made revisions to my method for comparing strings while ignoring case. This is in light of some good feedback I received. Here is the updated method:
-
American Idol Returns Home
Jordin Sparks returns to Glendale, AZ tonight as part of the American Idols Live Tour. Her family lives just a few blocks from us in Glendale. Welcome home!
-
To Compile or Not Compile
ASP.NET 2.0 allows developers to configure whether a page compiles or not. Consider the following page directive:
-
Sales, Marketing, Assessments, and Me
Last week I had a chance to be at Coors Field in Denver to watch the Rockies play. Before the wicked rain storm, we were able to sit and enjoy a few good innings.
-
Blog Fear
I have had many conversations at the office about the fear of writing a blog - especially when posting code samples. From the blog author's perspective, it is a good and noble deed to post his/her code discoveries to the world. However, despite good intentions, there is always the fear that someone in the cloud will find something wrong with the code, and potentially embarrass the would-be-poster-of-good-code.
-
Utility Methods - Are They The Devil?
Awhile back I posted a blog on string comparisons. The number of comments on that blog also spawned debate at AZGroups. One of the intriguing manifestations of the debate was regarding the use of utility methods in general.
-
2007 Worldwide Partner Conference in Denver, Colorado
Today I head back to Phoenix, AZ from the 2007 Worldwide Partner Conference in Denver, CO. I had many opportunities to get to know other individuals and organizations.
-
How To: Create a Strongly-Typed Property For HttpContext.Items
HttpContext.Items is one of my favorite properties in ASP.NET. If I want to communicate a value from the HTTP pipeline to a page and then to a user control, this is my method for doing so. Because the Items property is an implementation of IDictionary, the key/value pair is not strongly-typed. If I am going to access a value often, I would like to make the call as simple as possible. Here is an example of a property I created that "wraps" HttpContext.Items around a key value, yet exposing the value as a string, not object:
-
How To: "Upsert" Into AppSettings
ASP.NET 2.0 allows developers to update or insert values into web.config programmatically. This allows senior ASP.NET developers to create an administration or support page to modify values into web.config sections - without tampering with the web.config file directly.
-
How To: Convert ASP.NET Trace Messages Into System.Diagnostics.Trace Messages
After reading a post from [danw], I decided to extend the discussion on Tracing in ASP.NET. Dan discussed in his blog how to capture System.Diagnostic.Trace messages in the ASP.NET trace reports via trace.axd. This blog post is to demonstrate how easy it is to do the opposite - send TraceContext message to System.Diagnostics.Trace listeners. In web.config, do the following:
-
Motorola Q
I am now the proud owner of the Motorola Q (black). This is a nice phone!
-
AJAX Without ASP.NET AJAX
On day nine of my "post a blog every day in July" mission, I want to share how to get AJAX behavior in ASP.NET without using AJAX Extensions 1.0. Keep in mind, I prefer to use AJAX Extensions! This blog is for those out there that need a sprinkle of AJAX on their site, but are not allowed (for whatever reason) to install AJAX Extensions.
-
How To: Obtain Method Name Programmatically For Tracing
I am not a fan of hard-coding method names in exception or trace messages. Here is a utility method to allow access to method name at runtime:
-
How To: Return Embedded Resource Content As String
Here is a utility method for returning any embedded resource content as a string:
-
How To: Dynamically Load A Page For Processing
I have often desired the ability to dynamically load a page for processing, much like we do for .asxc controls with LoadControl(pathToASCX). For example, I may want to create a custom HTTP handler or module to dynamically load a page - while allowing me to programmatically change key properties before processing. Here is a method that accomplishes such a task:
-
Getting the Friendly Control ID
Here is a simple utility method that will take a string argument such as
"ctl00$ContentPlaceHolder1$DropDownList1" and return "DropDownList1" -
Case Insensitive String Comparison
Here is a little utility method that takes two strings and determines equality while ignoring case. Thus "silverlight"=="SilverLight"=="SILVERLIGHT"==true.
-
Accessing Server Controls From Client Script
In our AJAX QuickBuild event yesterday, Simon Allardice demonstrated for everyone how to access the value of a server control from client-side script. Let me share with you his tip/trick. It is quite simple. Here is the markup of a content page - notice the script tag:
-
QuickBuild Event: Accelerated ASP.NET AJAX
Today is another instance of our highly successful "QuickBuild" event in Phoenix, AZ. A QuickBuild is a one day, intensive look at a given technology. At the end of the day, each attendee receives a DVD with videos and all the source code for each demo (and then some). We have sold out every time we offer one.
-
How To: Get the Value of a Control Without an instance of the Control
On my quest to write one blog a day in July, here is my first post regarding how to get the value of a control without the control instance. This can be very helpful for HTTP pipeline development or when the value of the control is needed very early in the page lifecycle.
-
One Blog Every Day in July
I have not blogged much in the past month, so I am going to challenge myself for the month of July to blog every day.
-
Covey's 7 Habits and GTD by David Allen in One Week!
As a .NET developer, trainer, and program director, courseware author, husband, father, and pet owner - I thought it was time for a little self-help. This past week I was able to attend two workshops: Covey's 7 Habits & David Allen's GTD (Getting Things Done).
-
The Region - Microsoft Regional Director's Web Site
Take a look at the great content at the new Microsoft Regional Director's web site at http://www.MicrosoftRegionalDirectors.com
-
Recursive FindContol (Of T As Control)
I just posted code to allow recursive search for a control anywhere on the page. Here is the VB (Visual Basic) version:
-
Recursive FindControl<T>
Need to find a control anywhere on the page or in a template? Inspired by Steve Smith's implementation, here is the code to find it recursively. This example assumes the code is located in a custom base page.
-
Palermo4 at Twitter
After reading a post from Mr. Scott Cate, I decided to set-up my own twitter account.
-
OneCare's First Victory
-
Party With Palermo - 2007 MVP Summit
Jeffrey Palermo organized a very successful networking event in Seattle last night. His ongoing "Party With Palermo" events continue to better each year.
-
DreamScene Meets Stardock DeskScapes
Windows Vista DreamScenes are now available. Stardock DeskScapes extends DreamScenes to allow for .dream extensions to be played on the desktop as well.
-
Remember the Love...
-
Video: Code Snippets Make Intellisense
-
ASP.NET AJAX Training Video Released!
Available for purchase (just $99 + $3 shipping) from Interface Technical Training is Building Web Applications with Microsoft ASP.NET AJAX.
-
Spike Xavier - Published Author
I am proud to announce that our own Spike Xavier of Interface Technical Training is now a published author. The most recent issue of ASP.NET PRO features his article on the cover page!!!
-
ASP.NET 2.0 Training From Microsoft
Microsoft is providing some free training resources for developers who have not engaged ASP.NET 2.0 as of yet. Here is the link to get the free resources...
-
Windows Ultimate Extras: Hold Em Poker Game
Today was the first time I noticed some "extras" for Windows Ultimate Extras. I noticed two downloads: BitLocker and EFS enhancements, and Hold Em Poker Game.
-
Dan Wahlin Featured On Speaker's Corner
Dan Wahlin with Interface Technical Training is the current highlight at the Speaker's Corner on the INETA web site.
-
Cheat At ASP.NET AJAX
Thanks to Milan Nogovan from ASP.NET Resources, we can now cheat at ASP.NET AJAX.
-
Creating A Custom DataBound Templated Control In ASP.NET 2.0
Below is the html source view of the custom templated databound control. Note that it is currently referencing an ObjectDataSource control. The SelectMethod property of the ObjectDataSource control calls a method named GetStudents which returns List<Student>