<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://billrob.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Bill Robertson&amp;#39;s Blog</title><link>http://billrob.com/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>August NDDNUG Advanced Javascript Presentation</title><link>http://billrob.com/archive/2008/08/08/august-nddnug-advanced-javascript-presentation.aspx</link><pubDate>Fri, 08 Aug 2008 19:22:00 GMT</pubDate><guid isPermaLink="false">8b1d07c6-e0f0-4f83-95e2-70212e46c249:22152</guid><dc:creator>Bill Robertson</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://billrob.com/rsscomments.aspx?PostID=22152</wfw:commentRss><comments>http://billrob.com/archive/2008/08/08/august-nddnug-advanced-javascript-presentation.aspx#comments</comments><description>
&lt;p&gt;I had a great time presenting an advanced javascript and MS Ajax at the &lt;a href="http://nddnug.net/" mce_href="http://nddnug.net/"&gt;North Dallas .NET User Group&lt;/a&gt;.&amp;nbsp; Attached is the slide deck and code samples I used.&amp;nbsp; I know...I didn't clean up the project files so there are some extra dll's included.&lt;/p&gt;
&lt;p&gt;The code samples are located at /Default.aspx and they run in increasing complexity.&lt;/p&gt;
The code samples include:
&lt;ul&gt;
&lt;li&gt;Ajax Helper - Helper class for registering client side script to work with MS Ajax, including the powerful RenderUserControl method.&lt;/li&gt;
&lt;li&gt;Object pattern - This includes a javascript singleton pattern, namespaces, constructors, inheritance, static and instance methods.&lt;/li&gt;
&lt;li&gt;Event Modal - Two different patterns for event handling in javascript, with a focus on my preference Event Level 0, inline function declarations.&lt;/li&gt;
&lt;li&gt;JSProcessor - This will combine multiple JS files into one and will remove excess spacing, comments to make the raw JS as small as possible.&lt;/li&gt;
&lt;li&gt;JSShortCircuiter - For reaching around the embed scripts when in debug mode so you don't have to constantly rebuild the dlls.&lt;br&gt;&lt;/li&gt;
&lt;/ul&gt;
There are many examples of client side caching, retrieving html from server, getting and saving Server Side objects.&lt;br&gt;
&lt;p&gt;There was more interest than I thought on the client side ThreadPool object, so I've included that.&amp;nbsp; It isn't functional as it stands because there
are some other frameworks it relies on.&amp;nbsp; Send me a message or post in
the comments if there is interest for me to make this object standalone
and only require the .net framework and I'll work towards that. &lt;/p&gt;
&lt;p&gt;Also, if there is any interest I can release a ajax back button module.&amp;nbsp; It is different from the MS Ajax one in that it is delegate based rather than serialized querystrings. &lt;br&gt;&lt;/p&gt;
&lt;p&gt;Hit me with any feedback or questions you have on the presentation or the code.&lt;/p&gt;
&lt;p&gt;Thanks! &lt;/p&gt;
&lt;p&gt;&lt;a href="http://billrob.com/files/folders/tools/entry22150.aspx"&gt;download &lt;/a&gt;&lt;br&gt;&lt;/p&gt;
&lt;img src="http://billrob.com/aggbug.aspx?PostID=22152" width="1" height="1"&gt;</description></item><item><title>Posting Again</title><link>http://billrob.com/archive/2008/08/08/posting-again.aspx</link><pubDate>Fri, 08 Aug 2008 19:20:00 GMT</pubDate><guid isPermaLink="false">8b1d07c6-e0f0-4f83-95e2-70212e46c249:22151</guid><dc:creator>Bill Robertson</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://billrob.com/rsscomments.aspx?PostID=22151</wfw:commentRss><comments>http://billrob.com/archive/2008/08/08/posting-again.aspx#comments</comments><description>&lt;p&gt;After a long hiatus, I'm back to posting again.&amp;nbsp; Look forward to more frequent updates.&amp;nbsp; :) &lt;br&gt;&lt;/p&gt;&lt;img src="http://billrob.com/aggbug.aspx?PostID=22151" width="1" height="1"&gt;</description></item><item><title>Thoughtiest Decision of my Life</title><link>http://billrob.com/archive/2007/08/19/thoughtiest-decision-of-my-life.aspx</link><pubDate>Sun, 19 Aug 2007 19:39:05 GMT</pubDate><guid isPermaLink="false">8b1d07c6-e0f0-4f83-95e2-70212e46c249:1862</guid><dc:creator>Bill Robertson</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://billrob.com/rsscomments.aspx?PostID=1862</wfw:commentRss><comments>http://billrob.com/archive/2007/08/19/thoughtiest-decision-of-my-life.aspx#comments</comments><description>&lt;p&gt;I've been working at Telligent for the last year and a half; it is without question the single best employer I've ever worked for.&amp;nbsp; [Or traded value with depending on your economic theory]&amp;nbsp; August 14 was my last&amp;nbsp;day of employment with Telligent.&amp;nbsp; This post took a while to write because I've been reflecting on the changes brought to my life by Telligent.&lt;/p&gt; &lt;p&gt;&lt;u&gt;Increased Caloric Intake&lt;/u&gt;.&amp;nbsp; At previous employers we would have lunch provided for us at the yearly or bi-yearly company outings, or if I was lucky enough to go out of town I would have an expense account provided.&amp;nbsp; However, at Telligent, we started with Monday/Friday lunch, sometimes catered, sometimes a menu was passed around, then no lunches at all, then lunches returned for Monday.&amp;nbsp; It's been an&amp;nbsp;ephemeral lunch schedule at times.&amp;nbsp; &lt;/p&gt; &lt;p&gt;There were two refrigerators full of nearly every type of coke, and if the variety of beverage didn't suite your taste, a little sweet talk with Laura [redundant, she&amp;nbsp;is so&amp;nbsp;sweet] would buy any beverage you wanted.&amp;nbsp; There was a constant stream of snacks to help with the low-blood-sugar and ping pong fatigue.&amp;nbsp; I won't forget the beer in the fridge [not until after 4], or the game nights where you could destroy each other virtually or with a playing card.&lt;/p&gt; &lt;p&gt;&lt;u&gt;Name Dropping&lt;/u&gt;.&amp;nbsp; I've worked with some of the industry heads in the .NET community.&amp;nbsp; I've been beat in ping pong&amp;nbsp;by Rob Howard, been shot&amp;nbsp;with balls of paint&amp;nbsp;by Jason Alexander.&amp;nbsp; Scott Dockendorf has given me the confidence to publicly speak at user groups.&amp;nbsp; I've learned much about architectural design from Scott Watermasysk.&amp;nbsp; I've been invited to private parties at developer conferences through these connections.&lt;/p&gt; &lt;p&gt;&lt;u&gt;Professional Development&lt;/u&gt;.&amp;nbsp; I've worked with some of the brightest developers that bring me humbleness.&amp;nbsp; The hiring process at Telligent is intense, and you interview with random developers on the team, not the HR staff.&amp;nbsp; You have to be knowledgeable, be able to communicate, and have a genuine ego.&amp;nbsp; Even the "best" developer will meet someone at Telligent more brilliant in an area.&lt;/p&gt; &lt;p&gt;I have increased my javascript skills, database skills, project management skills, sales theory skills, public speaking skills, and any other skill you could imagine.&amp;nbsp; I'm not going to name the contributors&amp;nbsp;individually because 1) I know I will forget someone and 2) this post must end at some point.&lt;/p&gt; &lt;p&gt;I totally recommend [like totally, Valley Girl style] seeking employment with Telligent.&amp;nbsp; If the situation ever presents itself, I know I would re-seek employment.&amp;nbsp;Everyone there will be sorely missed by me, probably more than they miss me.&lt;/p&gt; &lt;p&gt;So long, and thanks for all the [teaching me how to]&amp;nbsp;fish.&lt;/p&gt;&lt;img src="http://billrob.com/aggbug.aspx?PostID=1862" width="1" height="1"&gt;</description><category domain="http://billrob.com/archive/tags/Personal/default.aspx">Personal</category><category domain="http://billrob.com/archive/tags/Telligent/default.aspx">Telligent</category></item><item><title>American Airlines Business Practices</title><link>http://billrob.com/archive/2007/08/09/american-airlines-business-practices.aspx</link><pubDate>Thu, 09 Aug 2007 22:05:00 GMT</pubDate><guid isPermaLink="false">8b1d07c6-e0f0-4f83-95e2-70212e46c249:1825</guid><dc:creator>Bill Robertson</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://billrob.com/rsscomments.aspx?PostID=1825</wfw:commentRss><comments>http://billrob.com/archive/2007/08/09/american-airlines-business-practices.aspx#comments</comments><description>
&lt;p&gt;I booked a flight for a trip to New York City and was completely floored by what was presented to me.&amp;nbsp; I found a &lt;b&gt;9 hour&lt;/b&gt; American Airlines return flight from JFK to DFW.&lt;/p&gt;
 
&lt;p&gt;Nine hours?!&amp;nbsp; What could possible be the cause of that?&amp;nbsp; I pulled the details for the flight and saw there were two stops.&amp;nbsp; Remember my goal is to return to Dallas.&amp;nbsp; I had to read the chart below several times.&amp;nbsp; I've highlighted the piece that had me completely confused.&amp;nbsp; Let's play "What's wrong with this picture?"&lt;/p&gt;
 
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
 
&lt;p&gt;&lt;img src="http://billrob.com/images/brobertson/WindowsLiveWriter/AmericanAirlinesBusinessPractices_F04D/trip_thumb_3.jpg" style="border: 0px none ;" alt="trip" mce_src="http://billrob.com/images/brobertson/WindowsLiveWriter/AmericanAirlinesBusinessPractices_F04D/trip_thumb_3.jpg" border="0" height="397" width="611"&gt;&lt;/p&gt;
 
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
 
&lt;p&gt;Give up?&amp;nbsp; Yeah, remember my goal flying from New York to Dallas.&amp;nbsp; My first stop is in...Dallas.&amp;nbsp; WTF?&amp;nbsp; To get to Dallas I have to first fly to Dallas, change planes, and fly to Austin.&amp;nbsp; Then I must change plans again and fly back to Dallas.&lt;/p&gt;
 
&lt;p&gt;Seriously guys?&amp;nbsp; My first thought was I'll just deplane [their term] in Dallas the first time and cut 5 hours from my trip.&amp;nbsp; However, if I want to get my luggage I must:&lt;/p&gt;
 
&lt;ul&gt; 
&lt;li&gt;Bribe a TSA agent to let me in the restricted area so I can claim my baggage before it gets moved to another plan.&amp;nbsp; [Sadly, it probably won't be very expensive to bribe them.]&lt;/li&gt;
 
&lt;li&gt;Come back to the airport 5 hours later after my trip to claim my baggage.&lt;/li&gt;
 
&lt;li&gt;or, Sit in the airport and wait for my baggage to return from its trip.&lt;/li&gt;
&lt;/ul&gt;
 
&lt;p&gt;The fourth option, also the option I executed, was to fly with an Airline that has some semblance of a efficient company, ie Continental.&amp;nbsp; Sure, requiring me to buy two extra tickets efficiently increases the cash in the coffers of America Airlines, but that sure isn't how I want to allocate my resources.&amp;nbsp; &lt;/p&gt;
&lt;img src="http://billrob.com/aggbug.aspx?PostID=1825" width="1" height="1"&gt;</description></item><item><title>How to delay all outgoing email in Outlook</title><link>http://billrob.com/archive/2007/07/06/how-to-delay-all-outgoing-email-in-outlook.aspx</link><pubDate>Fri, 06 Jul 2007 11:22:00 GMT</pubDate><guid isPermaLink="false">8b1d07c6-e0f0-4f83-95e2-70212e46c249:1675</guid><dc:creator>Bill Robertson</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://billrob.com/rsscomments.aspx?PostID=1675</wfw:commentRss><comments>http://billrob.com/archive/2007/07/06/how-to-delay-all-outgoing-email-in-outlook.aspx#comments</comments><description>&lt;p&gt;I've been burnt many times on sending out an email that wasn't quite ready to go out.&amp;nbsp; This could happen for a couple different reasons.&lt;br&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;I was really pissed off when I composed the email and wasn't thinking properly about it.&lt;/li&gt;&lt;li&gt;I copied and pasted something and outlook on all machines I've used randomly will send before I'm finished.&lt;/li&gt;&lt;li&gt;I wasn't ready to send the email or I didn't think hard enough about the question I was going to ask.&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I'm sure I'm not the only person that has typed out an email in a fit of rage, cursing the entire time and hit alt-S with two powerful finger punches you felt invincible, only to quickly realize that "email" could end up in your personnel file, require some anger management classes for you, or you look like a complete dumbass because you're wrong and the person you were going after is right.&lt;/p&gt;&lt;p&gt;I would think random sends would only be me, except this has happened on every machine I've every used.&amp;nbsp; Also I've been on the receiving end of some not-quite-ready-for-consumption emails.&amp;nbsp; It might be some combination of keyboard shortcuts I use to paste as special.&amp;nbsp; Also my alt key will get stuck on my work machine.&amp;nbsp; I think the person that had this machine before me was an avid gamer and lived on control keys.&amp;nbsp; So when I hit 'S', the email will send...followed by a stream of profanity.&lt;/p&gt;&lt;p&gt;The final situation where this has been a face saver for me is when I'm typing out a quick question I'm sending to a mailing list or answering an existing email thread.&amp;nbsp; Since it is a quick statement I go straight to the alt-s so I can get on with other work.&amp;nbsp; Sometimes after hitting alt-s, while the sentence is still burned into my retina, I either realize I already know the answer, or the answer I've put out is wrong and I don't want to look the fool.&amp;nbsp; I don't mind looking the fool, not at all, but looking the fool when I tried to look the hero is pretty humbling.&lt;/p&gt;&lt;p&gt;Please download &lt;a href="http://billrob.com/files/folders/tools/entry1674.aspx" mce_href="http://billrob.com/files/folders/tools/entry1674.aspx" target="_blank"&gt;Outlook Outgoing Delay&lt;/a&gt; and let me know what you think.&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://billrob.com/aggbug.aspx?PostID=1675" width="1" height="1"&gt;</description><category domain="http://billrob.com/archive/tags/Technology/default.aspx">Technology</category><category domain="http://billrob.com/archive/tags/Software/default.aspx">Software</category><category domain="http://billrob.com/archive/tags/Rant/default.aspx">Rant</category></item><item><title>Single Blog Mode Configuration for CommunityServer</title><link>http://billrob.com/archive/2007/06/28/single-blog-mode-configuration-for-communityserver.aspx</link><pubDate>Thu, 28 Jun 2007 20:09:00 GMT</pubDate><guid isPermaLink="false">8b1d07c6-e0f0-4f83-95e2-70212e46c249:1652</guid><dc:creator>Bill Robertson</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://billrob.com/rsscomments.aspx?PostID=1652</wfw:commentRss><comments>http://billrob.com/archive/2007/06/28/single-blog-mode-configuration-for-communityserver.aspx#comments</comments><description>&lt;p&gt;This site has been updated to CS 2007 sp3.&amp;nbsp; In doing so I broke the old way I was &lt;i&gt;charming&lt;/i&gt; CS into single blog mode.&amp;nbsp; Single Blog Mode is when you have a blog on a CS site and you want it to take over the root.&amp;nbsp; ie &lt;a href="http://BillRob.com" mce_href="http://BillRob.com"&gt;http://BillRob.com&lt;/a&gt; takes you to the default landing page for my blog.&lt;/p&gt; &lt;p&gt;This is a excellent resource for setting up a CS 2007 site in single blog mode from &lt;a href="http://scottwater.com/blog/" mce_href="http://scottwater.com/blog/"&gt;ScottW&lt;/a&gt;.&amp;nbsp; Enjoy.&lt;/p&gt; &lt;p&gt;&lt;a href="http://communityserver.org/forums/568430/PostAttachment.aspx" mce_href="http://communityserver.org/forums/568430/PostAttachment.aspx"&gt;Single_Blogs.zip&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Here is the full forums post if you want to dig into it further.&lt;/p&gt; &lt;p&gt;&lt;a href="http://communityserver.org/forums/p/484668/568430.aspx#568430" mce_href="http://communityserver.org/forums/p/484668/568430.aspx#568430"&gt;A Single Blog, the Easy Way&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Also, thanks to recent Telligent hire &lt;a href="http://webgambit.com" mce_href="http://webgambit.com"&gt;Kar&lt;/a&gt; for letting me know my rss feed was broken.&lt;/p&gt;&lt;img src="http://billrob.com/aggbug.aspx?PostID=1652" width="1" height="1"&gt;</description><category domain="http://billrob.com/archive/tags/Telligent/default.aspx">Telligent</category><category domain="http://billrob.com/archive/tags/Community+Server/default.aspx">Community Server</category></item><item><title>Community Server and its "Poison" to McAfee</title><link>http://billrob.com/archive/2007/06/08/cs-poisonivy-mcafee-and-you.aspx</link><pubDate>Sat, 09 Jun 2007 04:50:00 GMT</pubDate><guid isPermaLink="false">8b1d07c6-e0f0-4f83-95e2-70212e46c249:1587</guid><dc:creator>Bill Robertson</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://billrob.com/rsscomments.aspx?PostID=1587</wfw:commentRss><comments>http://billrob.com/archive/2007/06/08/cs-poisonivy-mcafee-and-you.aspx#comments</comments><description>&lt;p&gt;I came home tonight to another automatic virus scan of my machine.&amp;nbsp; Yes, it&amp;#39;s McAfee, so there is problem one.&amp;nbsp; Problem two is an issue that&amp;#39;s being going on with me between Community Server and McAfee anti-virus software in general for nearly a year.&amp;nbsp; Community Server has some great looking blog skins that can be pulled over with a default install.&amp;nbsp; This works well for visually diversifying the plethora of blogs running CS.&lt;/p&gt; &lt;p&gt;One of those skins has the name &amp;quot;PoisonIvy&amp;quot;.&amp;nbsp; It&amp;#39;s a nice looking skin, but not quite sure where the name comes from.&amp;nbsp; When the skin was first released internally everyone&amp;#39;s McAfee [default in-office install] &lt;a href="http://us.mcafee.com/virusInfo/default.asp?id=description&amp;amp;virus_k=101196"&gt;recognized it as a virus&lt;/a&gt; and quarantined it.&amp;nbsp; Any text file named PoisonIvy is delete by McAfee.&amp;nbsp; It would be great if it were a virus, but&lt;/p&gt; &lt;p&gt;&lt;b&gt;It is NOT a virus!&lt;/b&gt;&lt;/p&gt; &lt;p&gt;It has the same html as all the other skins.&amp;nbsp; This a testament to the crack anti-virus team developing McAfee&amp;#39;s virus engine.&amp;nbsp; I sure hope no one renames the virus to anything other than PoisonIvy.&amp;nbsp; They aren&amp;#39;t even looking at the contents of the file, only the filename.&amp;nbsp; I&amp;#39;ve contacted McAfee about this and what I could do to remove that &amp;quot;definition&amp;quot; from my list or exempt that directory.&amp;nbsp; I&amp;#39;m paraphrasing their response: &amp;quot;No, you can&amp;#39;t, our software sucks and you are a fool for buying it&amp;quot;.&lt;/p&gt; &lt;p&gt;Now that McAfee has completely confirmed they won&amp;#39;t do anything about it, I must shift my focus back to the Community Server team.&amp;nbsp; The &amp;quot;Enterprise Version&amp;quot; provides a workaround.&lt;/p&gt; &lt;p&gt;CS team, pretty, pretty please with a cherry on top rename the PoisonIvy skin.&amp;nbsp; It gets worse every week because I have more CS sites on my machine.&amp;nbsp; I&amp;#39;ve spent the last hour and a half running SVN cleanup on directories and re pulling so I could work.&amp;nbsp; I&amp;#39;m sure there are other people in the wild downloading CS for the first time and McAfee pukes up at them.&amp;nbsp; Do those users give up and move to a competitor and tell others CS has a virus embedded in it?&lt;/p&gt; &lt;p&gt;I will personally hand deliver &lt;a href="http://telligenti.com/nkeith/archive/2007/06/06/beer-at-work.aspx"&gt;no more than 3 beers&lt;/a&gt; to any CS developer in Dallas that would get this changed.&amp;nbsp; This offer stands for any developers when they come to the Dallas office.&lt;/p&gt;&lt;img src="http://billrob.com/aggbug.aspx?PostID=1587" width="1" height="1"&gt;</description><category domain="http://billrob.com/archive/tags/Technology/default.aspx">Technology</category><category domain="http://billrob.com/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://billrob.com/archive/tags/Rant/default.aspx">Rant</category></item><item><title>More Blogging</title><link>http://billrob.com/archive/2007/06/04/more-blogging.aspx</link><pubDate>Mon, 04 Jun 2007 13:53:57 GMT</pubDate><guid isPermaLink="false">8b1d07c6-e0f0-4f83-95e2-70212e46c249:1432</guid><dc:creator>Bill Robertson</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://billrob.com/rsscomments.aspx?PostID=1432</wfw:commentRss><comments>http://billrob.com/archive/2007/06/04/more-blogging.aspx#comments</comments><description>&lt;p&gt;I&amp;#39;m sure this won&amp;#39;t be the last time I drop off blogging for a while.&amp;nbsp; This hiatus is attributed to &lt;a href="http://www.tankete.com"&gt;Jose&lt;/a&gt;.&amp;nbsp; The Community Server team was packaging up CS 2007 and I wanted to play with Morpheus.&amp;nbsp; Morpheus is the extension added to Community Server that enables the separation of the membership store with CS data.&amp;nbsp; I was playing a scenario where I had to different CS sites and one membership store.&lt;/p&gt; &lt;p&gt;I had a couple problems with it, mostly my own fault.&amp;nbsp; Jose helped me through and got it all up and running.&amp;nbsp; He then asked me to type up a blog post on how to create two CS sites that shared membership.&amp;nbsp; I started on that post and never finished it.&amp;nbsp; There are too many other cool things I&amp;#39;m working on at Telligent and took most of my time.&amp;nbsp; I had committed to myself I wouldn&amp;#39;t do any posts until that one is done.&lt;/p&gt; &lt;p&gt;I&amp;#39;m breaking that commitment now.&amp;nbsp; Sorry Jose, perhaps I&amp;#39;ll get it typed out someday.&lt;/p&gt;&lt;img src="http://billrob.com/aggbug.aspx?PostID=1432" width="1" height="1"&gt;</description><category domain="http://billrob.com/archive/tags/Personal/default.aspx">Personal</category><category domain="http://billrob.com/archive/tags/Community+Server/default.aspx">Community Server</category></item><item><title>March North Dallas User Group</title><link>http://billrob.com/archive/2007/03/09/march-north-dallas-user-group.aspx</link><pubDate>Fri, 09 Mar 2007 20:53:29 GMT</pubDate><guid isPermaLink="false">8b1d07c6-e0f0-4f83-95e2-70212e46c249:1011</guid><dc:creator>Bill Robertson</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://billrob.com/rsscomments.aspx?PostID=1011</wfw:commentRss><comments>http://billrob.com/archive/2007/03/09/march-north-dallas-user-group.aspx#comments</comments><description>&lt;p&gt;I&amp;#39;ve had it as a goal of mine for nearly two years and I finally was able to pull it off.&amp;nbsp; It was a long arduous journey to get there, mostly out of confidence reasons, but I finally found a topic I was knowledgeable about &lt;strong&gt;and&lt;/strong&gt; not everyone does.&amp;nbsp; I&amp;#39;ve seen too many Ajax Extender demos to last me a lifetime.&lt;/p&gt; &lt;p&gt;I gave a talk about garbage collection, addressing the algorithm and covering the Dispose pattern.&amp;nbsp; I hope the code samples for the dispose pattern will be useful.&amp;nbsp; I will be extending out the slide deck for my next go.&amp;nbsp; There were some good questions brought up at the end of that I would like to cover as part of the presentation.&amp;nbsp; However, that is for a later time.&lt;/p&gt; &lt;p&gt;I&amp;#39;ve &lt;a href="http://billrob.com/files/folders/1010/download.aspx"&gt;attached my slides and code demo&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;If you have any questions about it, post a comment, or send me a message.&lt;/p&gt;&lt;img src="http://billrob.com/aggbug.aspx?PostID=1011" width="1" height="1"&gt;</description><category domain="http://billrob.com/archive/tags/Technology/default.aspx">Technology</category><category domain="http://billrob.com/archive/tags/.NET/default.aspx">.NET</category></item><item><title>I never imagined the day</title><link>http://billrob.com/archive/2007/02/26/i-never-imagined-the-day.aspx</link><pubDate>Mon, 26 Feb 2007 15:03:00 GMT</pubDate><guid isPermaLink="false">8b1d07c6-e0f0-4f83-95e2-70212e46c249:1001</guid><dc:creator>Bill Robertson</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://billrob.com/rsscomments.aspx?PostID=1001</wfw:commentRss><comments>http://billrob.com/archive/2007/02/26/i-never-imagined-the-day.aspx#comments</comments><description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Tivo always suggests some music shows from my girlfriend's viewing habits.&amp;nbsp; I've normally just let them fall off, but recently I've been watching more and more MTV.&amp;nbsp; I'm doing research for an application that targets the MTV market using new mobile phone technologies.&amp;nbsp; 
&lt;P&gt;Almost throughout every episode you can text something somewhere and get something.&amp;nbsp; If you want to subscribe to jokes text: "Fun1" to 66300, or "Ring this song as your ringtone, text "22354".&amp;nbsp; And that's through the show.&amp;nbsp; I've started watching more of the commercials because this is a commercial application and I want to understand how that market uses their mobile phones. 
&lt;P&gt;I went to the kitchen for a commercial and come back and see soap on the TV screen with naked women behind it.&amp;nbsp; It is blurry looking through the soap, but then she squeegees the window slowly, seductively.&amp;nbsp; Her voice is pleading the viewers to "Let us [some had two women] clean your cell phone window, text &amp;lt;something&amp;gt;".&amp;nbsp; Man...you press 6 buttons and basically have access to a strip show on a pocket sized device.&lt;/P&gt;&lt;img src="http://billrob.com/aggbug.aspx?PostID=1001" width="1" height="1"&gt;</description><category domain="http://billrob.com/archive/tags/Technology/default.aspx">Technology</category><category domain="http://billrob.com/archive/tags/Rant/default.aspx">Rant</category></item><item><title>MS Ajax adds String.format method to Javascript</title><link>http://billrob.com/archive/2007/02/23/ms-ajax-adds-string-format-method-to-js.aspx</link><pubDate>Fri, 23 Feb 2007 23:35:06 GMT</pubDate><guid isPermaLink="false">8b1d07c6-e0f0-4f83-95e2-70212e46c249:1000</guid><dc:creator>Bill Robertson</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://billrob.com/rsscomments.aspx?PostID=1000</wfw:commentRss><comments>http://billrob.com/archive/2007/02/23/ms-ajax-adds-string-format-method-to-js.aspx#comments</comments><description>&lt;p&gt;Came across this little gem today.&amp;nbsp; I've always hated string concatenation in javascript.&amp;nbsp; I know there are &lt;a href="http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx"&gt;performance issues&lt;/a&gt; related to string building in javascript, but that was the least of my concern.&amp;nbsp; It is just too damn hard to read and maintain code&lt;/p&gt; &lt;p&gt;var&amp;nbsp;input = '&amp;lt;input type="radio" id="' + this.name.value + i.toString() + '" name="' + this.group.value + '" value="' + this.value.toString() + '" /&amp;gt;;&lt;/p&gt; &lt;p&gt;MS Ajax has a String.format function that behaves similar to the server side version where you get to do the nice little {0} string replacements.&amp;nbsp; It makes code much easier to read.&amp;nbsp; And code that is easier to read and maintain is cheaper code (read: cost effective).&lt;/p&gt; &lt;p&gt;The same string written above looks so much nicer using String.format.&lt;/p&gt; &lt;p&gt;var input = String.format( '&amp;lt;input type="radio" id="{0}" name="{1}" value="{2}" /&amp;gt;'&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;, this.name.value + i.toString()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;, this.group.value&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;, this.value.toString() ); &lt;/p&gt; &lt;p&gt;I hope this adds a little bit of readability and reduces the level of frustration when dealing with javascript and counting ' and " to close out strings.&amp;nbsp; I really want a javascript validator/compiler.&lt;/p&gt;&lt;img src="http://billrob.com/aggbug.aspx?PostID=1000" width="1" height="1"&gt;</description></item><item><title>Firefox plug in request</title><link>http://billrob.com/archive/2007/02/20/firefox-plug-in-request.aspx</link><pubDate>Tue, 20 Feb 2007 20:32:30 GMT</pubDate><guid isPermaLink="false">8b1d07c6-e0f0-4f83-95e2-70212e46c249:999</guid><dc:creator>Bill Robertson</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://billrob.com/rsscomments.aspx?PostID=999</wfw:commentRss><comments>http://billrob.com/archive/2007/02/20/firefox-plug-in-request.aspx#comments</comments><description>&lt;p&gt;I use IE for 95% of my web browsing.&amp;nbsp; It is mostly out of habit, and it seems to open faster when I just want to look something quickly up on the web.&amp;nbsp; However, when developing I spend half my time in FireFox and IE.&amp;nbsp; I routinely use Fiddler to check out some of the chatter of my applications.&lt;/p&gt; &lt;p&gt;When I open Fiddler is automatically hooks into the IE 6 chain and I see the traffic, local and otherwise.&amp;nbsp; IE 7 does not do this automatically and is why I haven't upgraded my machine to IE 7, but I digress.&amp;nbsp; You manually have to set up a proxy when using FireFox to "localhost:8888".&amp;nbsp; 8888 is the proxy port that Fiddler listens to.&amp;nbsp; When Fiddler isn't open you can't see any pages.&lt;/p&gt; &lt;p&gt;Finally the meat of my post.&amp;nbsp; I'd like a plug in for firefox that would first try 8888 as a proxy and if that didn't exist, it would remove the proxy port and see if it had connectivity.&amp;nbsp; Right now when I open firefox I have the choice of either opening Fiddler so I can browse with FireFox, or I can go into the settings of FireFox and remove the proxy server information.&lt;/p&gt; &lt;p&gt;I just don't have the time now to create the "Fiddler Switcher" plug in for firefox.&amp;nbsp; So I'm going to ask everyone else to do something for me.&amp;nbsp; Please write it.&amp;nbsp; I'll donate for it because of the lost time and productivity this issue is causing me.&lt;/p&gt;&lt;img src="http://billrob.com/aggbug.aspx?PostID=999" width="1" height="1"&gt;</description><category domain="http://billrob.com/archive/tags/Rant/default.aspx">Rant</category></item><item><title>My way to assign "for" attribute on labels</title><link>http://billrob.com/archive/2007/02/16/my-way-to-assign-for-attribute-on-labels.aspx</link><pubDate>Fri, 16 Feb 2007 17:28:00 GMT</pubDate><guid isPermaLink="false">8b1d07c6-e0f0-4f83-95e2-70212e46c249:996</guid><dc:creator>Bill Robertson</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://billrob.com/rsscomments.aspx?PostID=996</wfw:commentRss><comments>http://billrob.com/archive/2007/02/16/my-way-to-assign-for-attribute-on-labels.aspx#comments</comments><description>&lt;P&gt;I've been carrying this control around for a while.&amp;nbsp; Mostly because I built this on an early version of MS Ajax, back when it was still called Atlas.&amp;nbsp; I've finally updated it to MS Ajax RTM.&amp;nbsp; My friend &lt;A href="http://www.repeatnone.com/"&gt;Neils&lt;/A&gt; is an avid accessibility guy.&amp;nbsp; He was frustrated by the manner in which he had to wire up labels with their associated input control.&lt;/P&gt;
&lt;P&gt;The issue brings itself up when you are using master pages, user controls...basically any control that implements INamingContainer.&amp;nbsp; To wire up the for attribute to the correct ID you must either:&lt;/P&gt;
&lt;P&gt;You can make the label runat="server" taking up server side resources.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;label runat="server" for="FirstName"&amp;gt;First Name: &amp;lt;/label&amp;gt;&lt;BR&gt;&amp;lt;asp:TextBox id="FirstName" runat="server" /&amp;gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;or you can inject the generated ClientID from the control into the label element.&amp;nbsp; Also using up server side resources. &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;label for="&amp;lt;%=FirstName.ClientID %&amp;gt;"&amp;gt;First Name: &amp;lt;/label&amp;gt;&lt;BR&gt;&amp;lt;asp:TextBox ID="FirstName" runat="server" /&amp;gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Using the BillRob.WebControls.LabelAutoAssigner control will allow you to not use any server resources to wire up any labels.&amp;nbsp; You simply give the for attribute the value that the control has on the page.&amp;nbsp; For example&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;label for="&lt;STRONG&gt;FirstName&lt;/STRONG&gt;"&amp;gt;First Name: &amp;lt;/label&amp;gt;&lt;BR&gt;&amp;lt;asp:TextBox id="&lt;STRONG&gt;FirstName&lt;/STRONG&gt;" runat="server" /&amp;gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Notice there is no runat="server" attribute.&amp;nbsp; When the page is loaded at the browser the LabelAutoAssigner does its magic.&amp;nbsp; It finds every &amp;lt;label&amp;gt; control on the page and checks its &lt;STRONG&gt;htmlFor&lt;/STRONG&gt; attribute.&amp;nbsp; (notice in javascript it's &lt;STRONG&gt;htmlFor&lt;/STRONG&gt; and not &lt;STRONG&gt;for&lt;/STRONG&gt;.)&amp;nbsp; It first checks for sibling &amp;lt;input&amp;gt;, &amp;lt;select&amp;gt;, or &amp;lt;textarea&amp;gt; tags and checks to see if the client ID ends with its htmlFor attribute.&amp;nbsp; In the case above, it will look for an id ending with "_FirstName".&amp;nbsp; &lt;/P&gt;
&lt;P&gt;It then walks up each parentNode and checks the children.&amp;nbsp; If it hits the root of the document nothing happens and the algorithm jumps to the next label.&lt;/P&gt;
&lt;P&gt;INSTRUCTIONS FOR USE &lt;/P&gt;
&lt;P&gt;1. Drop the &lt;A class="" href="http://billrob.com/files/folders/tools/entry997.aspx"&gt;BillRob.WebControls.dll&lt;/A&gt; into your bin directory.&lt;BR&gt;2. Register the dll for page consumption.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Either in the web.config&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;system.web&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;pages&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;controls&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add tagPrefix="BillRob" namespace="BillRob.WebControls" assembly="BillRob.WebControls"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/controls&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/pages&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/system.web&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Or on the page itself.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;%@ Register TagPrefix="BillRob" Namespace="BillRob.WebControls" Assembly="BillRob.WebControls" %&amp;gt;&lt;BR&gt;3. Drop the control on a page. You should place on your master page. It can be placed more than once and it will only execute once. Also if there are no labels on the page, no ill will befall. 
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;BillRob:LabelAutoAssigner ID="Assigner" runat="server" /&amp;gt;&lt;/P&gt;
&lt;P&gt;I'm open for suggestions on this or if you find a specific pattern that this control doesn't handle, let me know and I'll get it updated.&lt;/P&gt;&lt;img src="http://billrob.com/aggbug.aspx?PostID=996" width="1" height="1"&gt;</description><category domain="http://billrob.com/archive/tags/.NET/default.aspx">.NET</category><category domain="http://billrob.com/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://billrob.com/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Please fix Visual Studio F1 key press</title><link>http://billrob.com/archive/2007/02/11/please-fix-visual-studio-f1-key-press.aspx</link><pubDate>Sun, 11 Feb 2007 10:02:00 GMT</pubDate><guid isPermaLink="false">8b1d07c6-e0f0-4f83-95e2-70212e46c249:995</guid><dc:creator>Bill Robertson</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://billrob.com/rsscomments.aspx?PostID=995</wfw:commentRss><comments>http://billrob.com/archive/2007/02/11/please-fix-visual-studio-f1-key-press.aspx#comments</comments><description>&lt;P&gt;I just spent 2 minutes of my life waiting for my computer to respond and started this blog post before I could go back to work.&amp;nbsp; I hit F2 trying to rename a file in my solution, but studio quit responding.&amp;nbsp; I started getting more and more frustrated that studio died.&amp;nbsp; I had some unsaved files (yes my problem) and didn't want to lose them.&lt;/P&gt;
&lt;P&gt;The the screen flashed and "Initializing Help" came up.&amp;nbsp; Ah yes, the accidental F1 key press that locks studio down why the integrated help is activated.&amp;nbsp; OMG.&amp;nbsp; Google is a better "help" than studio has to offer.&amp;nbsp; I could reassign that keypress to something innocuous, but I've finally learned to live with the studio default keys.&amp;nbsp; It&amp;nbsp;makes it easier going to someone else's machine.&lt;/P&gt;
&lt;P&gt;I've been spending a lot of time lately writing javascript and would kill for an intellisense engine.&amp;nbsp; It's like programming back in my hobby days writing code in notepad...or actually VI because Linux had "gcc" built into the OS.&amp;nbsp; The Orcas Studio demos I've seen were impressive for javascript intellisense.&amp;nbsp; I hope Orcas solves the frozen-Studio-accidental-F1-keypress-malevolent-joke.&lt;/P&gt;&lt;img src="http://billrob.com/aggbug.aspx?PostID=995" width="1" height="1"&gt;</description><category domain="http://billrob.com/archive/tags/Technology/default.aspx">Technology</category><category domain="http://billrob.com/archive/tags/.NET/default.aspx">.NET</category><category domain="http://billrob.com/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://billrob.com/archive/tags/Rant/default.aspx">Rant</category></item><item><title>How to add automatically add namespaces to .aspx pages.</title><link>http://billrob.com/archive/2007/02/10/How-to-add-automatically-add-namespaces-to-aspx-pages.aspx</link><pubDate>Sat, 10 Feb 2007 11:47:00 GMT</pubDate><guid isPermaLink="false">8b1d07c6-e0f0-4f83-95e2-70212e46c249:993</guid><dc:creator>Bill Robertson</dc:creator><slash:comments>9</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://billrob.com/rsscomments.aspx?PostID=993</wfw:commentRss><comments>http://billrob.com/archive/2007/02/10/How-to-add-automatically-add-namespaces-to-aspx-pages.aspx#comments</comments><description>&lt;P&gt;Like many of my blog posts, this one is because I solved a frustration today and wanted to share.&amp;nbsp; I have always been a code-behind type guy.&amp;nbsp; I liked&lt;EM&gt;&amp;nbsp;having my code seperate from my presentation...&lt;/EM&gt;whatever.&lt;/P&gt;
&lt;P&gt;With Studio 2005, there was the 'magical'&amp;nbsp; addition of the Resolve context menu item, and the much improved the intellisense&amp;nbsp;parsing for&amp;nbsp;code-inline&amp;nbsp;aspx pages.&amp;nbsp; When dealing in true .cs only files I begin typing my Type I'm looking for, if it doesn't pop in intellisense to get the quick space for completion, I carefully type out the real Class name and case it properly.&amp;nbsp; &lt;STRONG&gt;Then I hit my Context Menu shortcut key type 's' and hit enter twice&lt;/STRONG&gt;.&amp;nbsp; 'using System.Collections.Generics' pops at the top for future use with zero time lost.&lt;/P&gt;
&lt;P&gt;However in the code inline world, if you use the Resolve feature, it will complete the namespace name only on that instance you are typing.&amp;nbsp; It won't automatically add the page directive to get the same effect as using.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;BACKGROUND:yellow;FONT-FAMILY:'Courier New';mso-highlight:yellow;mso-no-proof:yes;"&gt;&amp;lt;%&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-no-proof:yes;"&gt;@&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-no-proof:yes;"&gt; &lt;SPAN style="COLOR:#a31515;"&gt;Import&lt;/SPAN&gt; &lt;SPAN style="COLOR:red;"&gt;Namespace&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;="BillRob.WebControls"&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND:yellow;mso-highlight:yellow;"&gt;%&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;I've always been frustrated by the fact the Resolve doesn't work as well as I'd like for code-inline pages.&amp;nbsp; You can automatically add namespaces to your pages by making a modification to your web.config.&amp;nbsp; If you are like me, you have sections of your config file you move between projects.&amp;nbsp; You can add a section to your web.config under system.web/pages/namespaces&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;pages&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;validateRequest&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;false&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;enableSessionState&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;false&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;enableEventValidation&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;false&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;autoEventWireup&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;true&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;pageBaseType&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;CommunityServer.Components.CSPage, CommunityServer.Components&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;namespaces&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;add&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;namespace&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;BilRob.WebControl&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;add&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;namespace&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;CommunityServer.Components&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;namespaces&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://billrob.com/aggbug.aspx?PostID=993" width="1" height="1"&gt;</description><category domain="http://billrob.com/archive/tags/.NET/default.aspx">.NET</category><category domain="http://billrob.com/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item></channel></rss>