<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.daptivate.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.daptivate.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Daptivate &gt; by Kyle Beyer</title><link>http://daptivate.com/default.aspx</link><description>The weblog of Kyle, a guy who's passionate about software.</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><thespringbox:skin xmlns:thespringbox="http://www.thespringbox.com/dtds/thespringbox-1.0.dtd">http://feeds.daptivate.com/daptivate-all?format=skin</thespringbox:skin><image><link>http://daptivate.com</link><url>http://daptivate.com/favicon.ico</url><title>Daptivate</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://daptivate.com/rss.aspx" type="application/rss+xml" /><feedburner:emailServiceId>644172</feedburner:emailServiceId><feedburner:feedburnerHostname>http://www.feedburner.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Fdaptivate.com%2Frss.aspx" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Fdaptivate.com%2Frss.aspx" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.rojo.com/add-subscription?resource=http%3A%2F%2Fdaptivate.com%2Frss.aspx" src="http://blog.rojo.com/RojoWideRed.gif">Subscribe with Rojo</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://daptivate.com/rss.aspx" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Fdaptivate.com%2Frss.aspx" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Fdaptivate.com%2Frss.aspx" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Fdaptivate.com%2Frss.aspx" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Fdaptivate.com%2Frss.aspx" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:browserFriendly>The weblog of Kyle, a guy who's passionate about software.</feedburner:browserFriendly><item><title>Top 10 Best Practices for Production ASP.NET Applications</title><link>http://daptivate.com/archive/2008/02/12/top-10-best-practices-for-production-asp-net-applications.aspx</link><pubDate>Wed, 13 Feb 2008 05:55:00 GMT</pubDate><guid isPermaLink="false">f0cfdaa5-25b1-4b7d-b7d3-40a26cc40c63:429</guid><dc:creator>admin</dc:creator><slash:comments>52</slash:comments><wfw:commentRss>http://daptivate.com/rsscomments.aspx?PostID=429</wfw:commentRss><comments>http://daptivate.com/archive/2008/02/12/top-10-best-practices-for-production-asp-net-applications.aspx#comments</comments><description>&lt;p&gt;In no particular order, here are the top ten things I&amp;#39;ve learned to pay attention to when dealing with production ASP.NET applications.&amp;nbsp; Hopefully they will help you save you some time and headaches.&amp;nbsp; As always, your thoughts and additions are welcome.&lt;/p&gt; &lt;h2&gt;1.&amp;nbsp; Generate new encryption keys&lt;/h2&gt; &lt;p&gt;When moving an application to production for the first time it is a good idea to generate new encryption keys.&amp;nbsp; This includes the machine validation key and decryption key as well as any other custom keys your application may be using.&amp;nbsp; There is &lt;a href="http://www.codeproject.com/KB/aspnet/machineKey.aspx" title="ASP.NET machineKey Generator" target="_blank"&gt;an article on CodeProject&lt;/a&gt; that talks about generating machineKeys specifically that should be helpful with this.&lt;/p&gt; &lt;h2&gt;2.&amp;nbsp; Encrypt sensitive sections of your web.config&lt;/h2&gt; &lt;p&gt;This includes both the connection string and machine key sections.&amp;nbsp; See &lt;a href="http://weblogs.asp.net/scottgu/archive/2006/01/09/434893.aspx" title="Encrypting Web.Config Values in ASP.NET 2.0" target="_blank"&gt;Scott Guthrie&amp;#39;s post&lt;/a&gt; for some good references.&amp;nbsp; Note that if your application runs in a clustered environment you will need to share a custom key using the RSA provider as described in an &lt;a href="http://msdn2.microsoft.com/en-us/library/68ze1hb2%28VS.80%29.aspx" title="Specifying a Protected Configuration Provider" target="_blank"&gt;MSDN article&lt;/a&gt;.&lt;/p&gt; &lt;h2&gt;3.&amp;nbsp; Use trusted SQL connections&lt;/h2&gt; &lt;p&gt;Both &lt;a href="http://idunno.org/articles/276.aspx" title="Using SQL trusted Connections with ASP.NET" target="_blank"&gt;Barry Dorrans&lt;/a&gt; and &lt;a href="http://weblogs.asp.net/achang/archive/2004/04/15/113866.aspx" title="How to use Trusted Connection when SQL server and web Server are on two separate machines" target="_blank"&gt;Alex Chang&lt;/a&gt; have articles which discuss this in detail.&lt;/p&gt; &lt;h2&gt;4.&amp;nbsp; Set retail=&amp;quot;true&amp;quot; in your machine.config&lt;/h2&gt; &lt;ol&gt;  &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;configuration&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;system.web&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;      &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;deployment&lt;/span&gt; &lt;span&gt;retail&lt;/span&gt;=&lt;span&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;system.web&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;configuration&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This will kill three birds with one stone.&amp;nbsp; It will force the &amp;#39;debug&amp;#39; flag in the web.config to be false,&amp;nbsp; it will disable page output tracing, and&amp;nbsp; it will force the custom error page to be shown to remote users rather than the actual exception or error message.&amp;nbsp; For more information you can read &lt;a href="http://weblogs.asp.net/scottgu/archive/2006/04/11/442448.aspx" title="Don&amp;#39;t run production ASP.NET Applications with debug=&amp;quot;true&amp;quot; enabled, by Scott Guthrie" target="_blank"&gt;Scott Guthrie&amp;#39;s post&lt;/a&gt; or the &lt;a href="http://msdn2.microsoft.com/en-us/library/ms228298%28VS.80%29.aspx" title="maching.config deployment element (ASP.NET Settings Schema)" target="_blank"&gt;MSDN reference&lt;/a&gt;.&lt;/ol&gt;
&lt;h2&gt;5.&amp;nbsp; Create a new application pool for your site&lt;/h2&gt;
&lt;p&gt;When setting up your new site for the first time do not share an existing application pool.&amp;nbsp; Create a new application pool which will be used by only by the new web application.&lt;/p&gt;
&lt;h2&gt;6.&amp;nbsp; Set the memory limit for your application pool&lt;/h2&gt;
&lt;p&gt;When creating the application pool, specifically set the memory limit rather than the time limit which is set by default.&amp;nbsp; &lt;a href="http://www.asp.net" target="_blank"&gt;Asp.net&lt;/a&gt; has a &lt;a href="http://www.asp.net/learn/whitepapers/aspnet-and-iis6/" title="Running ASP.NET 1.1 with IIS 6.0" target="_blank"&gt;good whitepaper&lt;/a&gt; which explains the value of this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;By default IIS 6.0 does not set a limit on the amount of memory that IIS is allowed to use. ASP.NET’s Cache feature relies on a limitation of memory so the Cache can proactively remove unused items from memory. 
&lt;/p&gt;&lt;p&gt;It is recommended that you configure the memory recycling feature of IIS 6.0.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2&gt;7.&amp;nbsp; Create and appropriately use an app_Offline.htm file&lt;/h2&gt;
&lt;p&gt;There are many benefits to using this file.&amp;nbsp; It provides an easy way to take your application offline in a somewhat user friendly way (you can at least have a pretty explanation) while fixing critical issues or pushing a major update.&amp;nbsp; It also forces an application restart in case you forget to do this for a deployment.&amp;nbsp; Once again, ScottGu is the &lt;a href="http://weblogs.asp.net/scottgu/archive/2006/04/09/442332.aspx" title="App_Offline.htm and working around the &amp;quot;IE Friendly Errors&amp;quot; feature" target="_blank"&gt;best source&lt;/a&gt; for more information on this.&lt;/p&gt;
&lt;h2&gt;8.&amp;nbsp; Develop a repeatable deployment process and automate it&lt;/h2&gt;
&lt;p&gt;It is way too easy to make mistakes when deploying any type of software.&amp;nbsp; This is especially the case with software that uses configuration files that may be different between the development, staging, or production environments.&amp;nbsp; I would argue that the process you come up with is not nearly as important as it being easily repeatable and automated.&amp;nbsp; You can fine tune the process as needed, but you don&amp;#39;t want a simple typo to bring a site down.&lt;/p&gt;
&lt;h2&gt;9.&amp;nbsp; Build and reference release versions of all assemblies&lt;/h2&gt;
&lt;p&gt;In addition to making sure ASP.NET is not configured in debug mode, also make sure that your assemblies are not debug assemblies.&amp;nbsp; There are of course exceptions if you are trying to solve a unique issue in your production environment ... but in most cases you should always deploy with release builds for all assemblies.&lt;/p&gt;
&lt;h2&gt;10.&amp;nbsp; Load test&lt;/h2&gt;
&lt;p&gt;This goes without saying.&amp;nbsp; Inevitably, good load testing will uncover threading and memory issues not otherwise considered.&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fdaptivate.com%2farchive%2f2008%2f02%2f12%2ftop-10-best-practices-for-production-asp-net-applications.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fdaptivate.com%2farchive%2f2008%2f02%2f12%2ftop-10-best-practices-for-production-asp-net-applications.aspx" alt="kick it on DotNetKicks.com" border="0" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="text-align:center;"&gt;&lt;b&gt;&lt;a href="http://graffiticms.com/"&gt;Need a better way to manage your content?&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;img src="http://daptivate.com/aggbug.aspx?PostID=429" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=2FcyvaE"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=2FcyvaE" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=nEyAFge"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=nEyAFge" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://daptivate.com/archive/tags/ASP.net/default.aspx">ASP.net</category></item><item><title>An Experiment in Emotional Intelligence</title><link>http://daptivate.com/archive/2008/01/31/an-experiment-in-emotional-intelligence.aspx</link><pubDate>Thu, 31 Jan 2008 09:18:59 GMT</pubDate><guid isPermaLink="false">f0cfdaa5-25b1-4b7d-b7d3-40a26cc40c63:424</guid><dc:creator>admin</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://daptivate.com/rsscomments.aspx?PostID=424</wfw:commentRss><comments>http://daptivate.com/archive/2008/01/31/an-experiment-in-emotional-intelligence.aspx#comments</comments><description>&lt;p&gt;While flipping through &lt;a title="Notes from Years Past" href="http://daptivate.com/archive/2008/01/30/notes-from-years-past.aspx" target="_blank"&gt;some old notes&lt;/a&gt;, I was reminded of another idea that was discussed: &lt;a href="http://en.wikipedia.org/wiki/Emotional_intelligence" target="_blank"&gt;Emotional Intelligence&lt;/a&gt;.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Over the course of the semester, we investigated the value of Emotional Intelligence through several exercises and were challenged to try them at work and discuss the results.&amp;nbsp; I do remember one &amp;quot;experiment&amp;quot; in particular.&lt;/p&gt; &lt;h3&gt;A Little Background&lt;/h3&gt; &lt;p&gt;At the time, I was working on a software application which included a moving map component.&amp;nbsp; The importance of this component, led our team to invest a lot of time and effort in finding the right solution.&amp;nbsp; This included an inventory of similar software applications within our company and partner companies.&amp;nbsp; We ended up choosing to partner with a company and integrate their map software into our application.&lt;/p&gt; &lt;p&gt;It worked very well.&amp;nbsp; Their mapping software met most of our needs and they were willing to make changes based on our constraints, etc.&amp;nbsp; In fact, we successfully performed several demonstrations of the application and developed a strong partnership with the mapping software provider.&lt;/p&gt; &lt;p&gt;Around the time our project started rolling along, another team within the division requested a meeting to discuss how they could leverage our new application.&amp;nbsp; This sounded like a great opportunity.&amp;nbsp; We could share the work we had done and allow another project to benefit.&amp;nbsp; &lt;/p&gt; &lt;h3&gt;The Cold Hard Truth&lt;/h3&gt; &lt;p&gt;As I soon learned, they really didn&amp;#39;t want to use our application at all.&amp;nbsp; Sure, they were interested in the work we had done and what tools we had used, but they were most interested in showing off &lt;em&gt;their&lt;/em&gt; ingenious software solution.&amp;nbsp; They were most interested in trying to convince us to use &lt;em&gt;their&lt;/em&gt; home brewed moving map application.&lt;/p&gt; &lt;p&gt;It was obvious that learning of similar projects and collaborating with other teams was not a priority.&amp;nbsp; The effort to connect began after they had already started pouring the foundation of the project rather than before.&lt;/p&gt; &lt;p&gt;I was livid.&amp;nbsp; This was the exact cultural behavior that our team had been trying to overturn ever since I started working there: the tendency for engineers to always start from scratch.&amp;nbsp; The idea that the only way an engineer could prove themselves worthy was to re-engineer something that had already been proven successful.&amp;nbsp; The mentality that if our company didn&amp;#39;t build it, then it must be crap.&lt;/p&gt; &lt;p&gt;But what did I know?&amp;nbsp; I was the new kid on the block.&lt;/p&gt; &lt;h3&gt;The Experiment&lt;/h3&gt; &lt;p&gt;As insulting as it was, and rather than draw quick conclusions, I simply soaked in all the information I could about their project and its &amp;quot;attractive&amp;quot; features.&amp;nbsp; I asked lots of questions and tried to understand their perspective and their understanding of the problem.&amp;nbsp; The bottom line is that instead of allowing my emotional reaction to close my reasoning I attempted to create space to respond.&lt;/p&gt; &lt;p&gt;This was the essence of the exercise the professor challenged us with: when you find yourself in a frustrating situation and you feel your emotions taking over reason, give yourself space.&amp;nbsp; The idea wasn&amp;#39;t that your emotional reaction is always wrong, but rather that giving yourself space enables clearer thinking.&lt;/p&gt; &lt;p&gt;So, I was experimenting with this Emotional Intelligence thing.&amp;nbsp; I wanted to see if it had any value.&lt;/p&gt; &lt;h3&gt;The Results&lt;/h3&gt; &lt;p&gt;That evening, I couldn&amp;#39;t stop thinking about the meeting.&amp;nbsp; I just kept running over and over in my head how there must be an approach that would be a win win.&amp;nbsp; An approach that would enable a common moving map component to be shared by both applications.&amp;nbsp; An approach that, however counter-cultural, would be embraced by both teams.&lt;/p&gt; &lt;p&gt;The next day I had a fresh perspective and realized that I had been thinking about the problem from the wrong angle.&amp;nbsp; Instead of getting so caught up in the moving map component, which my team had put so much energy into perfecting, the real focus should have been on the *&lt;em&gt;integration&lt;/em&gt;* of the moving map into our software applications.&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;The reality was that our applications would be using the moving map in different ways.&amp;nbsp; One was for a virtual simulation, and one was for real-time usage.&amp;nbsp; This in turn, made us value features differently.&amp;nbsp; For example, performance was very important for our application while map data configuration was more important for their application.&lt;/p&gt; &lt;p&gt;This change in perspective revealed an obvious way for our teams to work together and create synergy.&amp;nbsp; Instead of allowing frustration to push us into creating yet another project island, we ended up developing a strong working relationship and continued our progress towards a more open and collaborative culture.&lt;/p&gt; &lt;h3&gt;The Take-away&lt;/h3&gt; &lt;p&gt;There are two simple lessons I hold onto from that experience.&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Tear down those hidden information silos.  &lt;li&gt;Give yourself the space to breathe.&lt;/li&gt;&lt;/ol&gt;&lt;img src="http://daptivate.com/aggbug.aspx?PostID=424" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=eA8sTqD"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=eA8sTqD" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=vjwGzId"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=vjwGzId" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://daptivate.com/archive/tags/Business/default.aspx">Business</category><category domain="http://daptivate.com/archive/tags/Random/default.aspx">Random</category></item><item><title>Notes from Years Past</title><link>http://daptivate.com/archive/2008/01/30/notes-from-years-past.aspx</link><pubDate>Wed, 30 Jan 2008 04:05:48 GMT</pubDate><guid isPermaLink="false">f0cfdaa5-25b1-4b7d-b7d3-40a26cc40c63:423</guid><dc:creator>admin</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://daptivate.com/rsscomments.aspx?PostID=423</wfw:commentRss><comments>http://daptivate.com/archive/2008/01/30/notes-from-years-past.aspx#comments</comments><description>&lt;p&gt;I was cleaning out some files a while ago and came across notes from a leadership class I took several years back.&amp;nbsp; The notes read:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;* do the following once a day to reflect on the current status of a project *&lt;/p&gt; &lt;ol&gt; &lt;li&gt;DO - What have you done/observed so far?  &lt;li&gt;STUDY/REFLECT - What did you learn from that event/observation?  &lt;li&gt;CONNECT/SYNTHESIZE - How does this connect with what you already know?  &lt;li&gt;PLAN - What will you do differently now?&lt;/li&gt;&lt;/ol&gt;&lt;/blockquote&gt; &lt;p&gt;Common sense really.&amp;nbsp; And probably the natural way most of us approach continuous learning.&amp;nbsp; Yet I find myself often following these steps:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;DO  &lt;li&gt;DO  &lt;li&gt;DO  &lt;li&gt;DO&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Huh.&lt;/p&gt;&lt;img src="http://daptivate.com/aggbug.aspx?PostID=423" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=fWAIAsD"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=fWAIAsD" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=LadU0Nd"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=LadU0Nd" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://daptivate.com/archive/tags/Software/default.aspx">Software</category><category domain="http://daptivate.com/archive/tags/Business/default.aspx">Business</category></item><item><title>WHOA! You don't talk to me directly!</title><link>http://daptivate.com/archive/2008/01/23/whoa-you-don-t-talk-to-me-directly.aspx</link><pubDate>Wed, 23 Jan 2008 19:28:59 GMT</pubDate><guid isPermaLink="false">f0cfdaa5-25b1-4b7d-b7d3-40a26cc40c63:419</guid><dc:creator>admin</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://daptivate.com/rsscomments.aspx?PostID=419</wfw:commentRss><comments>http://daptivate.com/archive/2008/01/23/whoa-you-don-t-talk-to-me-directly.aspx#comments</comments><description>&lt;p&gt;A few days ago, the &lt;a title="Daily Dilbert" href="http://www.unitedmedia.com/comics/dilbert/index.html" target="_blank"&gt;Daily Dilbert&lt;/a&gt; really resonated with me.&amp;nbsp; They usually are pretty funny; and even funnier when you&amp;#39;ve directly experienced what &lt;a title="Scott Adams&amp;#39; Blog" href="http://dilbertblog.typepad.com/" target="_blank"&gt;Scott Adams&lt;/a&gt; is poking fun at.&lt;/p&gt; &lt;p&gt;&lt;a title="January 17, 2008  - Daily Dilbert" href="http://www.unitedmedia.com/comics/dilbert/archive/dilbert-20080117.html" target="_blank"&gt;&lt;img src="http://www.dilbert.com/comics/dilbert/archive/images/dilbert20081833560117.gif" alt="" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;When I read this, I was reminded of an experience I had while working at &lt;a title="Lockheed Martin" href="http://www.lockheedmartin.com/" target="_blank"&gt;Lockheed&lt;/a&gt;.&amp;nbsp; Lockheed had (and probably still has) a tradition of giving employees gifts on employment anniversaries.&amp;nbsp; The one year gift was a &lt;em&gt;nice&lt;/em&gt; pen with a fancy logo on it accompanied by a congratulatory letter. &lt;/p&gt; &lt;p&gt;Now, the thing that surprised me most about this gift was not the fact that we already had free pens available in our supply cabinet, but rather the contents of the letter.&amp;nbsp; The letter was addressed directly to me from the Vice President of Engineering.&amp;nbsp; And in it there was a personal invitation (quoted directly from the letter):&lt;/p&gt; &lt;blockquote&gt;As your anniversary is recognized, I would like to take this opportunity to ask you for your honest and open feedback.&amp;nbsp; Please take a moment to drop me a line with your comments and suggestions on ways we can improve our business and make our time spent at work more meaningful.&amp;nbsp; These will help us in our pursuit of continuous improvement.&lt;/blockquote&gt; &lt;p&gt;Quite honestly, she could have saved the $0.50 spent on the pen, and just sent the letter.&amp;nbsp; The fact that she was directly asking for &amp;quot;honest and open feedback&amp;quot; was quite refreshing.&amp;nbsp; Perhaps I was the only first year employee naive enough to think she was serious, but whether she expected it or not I was going to take her up on this offer.&lt;/p&gt; &lt;p&gt;You see, this was perfect timing.&amp;nbsp; As long as I had worked for Lockheed, and likely much longer, shipping and receiving was a major bottleneck for quick and agile projects.&amp;nbsp; If you placed an order through the proper channels you may get it in the next couple weeks, but more likely it would be more than a month!&lt;/p&gt; &lt;p&gt;We&amp;#39;d often call to check on the status of items and receive the same answer.&amp;nbsp; Something along the lines of: &amp;quot;It is showing up as having been received, but we&amp;#39;re really backed up and I don&amp;#39;t know how long it will be until we find it and get it over to you.&amp;quot;&lt;/p&gt; &lt;p&gt;Inevitably, this led to many workarounds from the formal system.&amp;nbsp; Sometimes, we would find out when the item was going to arrive and then go pick it up ourselves.&amp;nbsp; Or, we would simply order directly to our homes!&amp;nbsp; But both of these options also presented problems due to security and other issues with procuring and moving property onto and around the facility.&amp;nbsp; Smuggling is not a good solution.&lt;/p&gt; &lt;p&gt;Even though I understood that the VP of Engineering was probably already aware of this issue, I was still encouraged by the opportunity to get her first hand feedback on why it was not being addressed.&amp;nbsp; It gave me hope that maybe she would have the power to press some buttons and get to the bottom of the problem -- the power that my boss lacked.&lt;/p&gt; &lt;p&gt;There was one small problem.&amp;nbsp; Evidently she forgot to actually check if she had time to listen to the requested &amp;quot;honest and open feedback&amp;quot; before her secretary sent the letter.&lt;/p&gt; &lt;p&gt;It turns out I finally got an appointment to chat with her associate.&amp;nbsp; Okay, that&amp;#39;s fine, he was still at least four levels above me in the spaghetti of a corporate hierarchy and he could make things happen.&amp;nbsp; He would have the power to push some buttons.&lt;/p&gt; &lt;p&gt;In the two weeks leading up to the meeting, I wasn&amp;#39;t sitting on my hands.&amp;nbsp; I was still actively involved in trying to figure out why it took so long to get things and how it might be fixed.&amp;nbsp; Rather than trying to be a maverick, I was working together with my peers and my boss who was also well aware of the issue.&amp;nbsp; His approach however was quite lax.&amp;nbsp; Although he was open to discussion about it and said that he would try to resolve the issue, the actions he took sent a different message:&amp;nbsp; that he&amp;#39;d dealt with this his entire career so why couldn&amp;#39;t we; that it was just the way things were at a big defense company.&lt;/p&gt; &lt;p&gt;So I show up for the meeting and his secretary says he&amp;#39;ll be there in a few minutes.&amp;nbsp; That&amp;#39;s fine, it gives me more time to check out his cool pictures of airplanes and the nice uni-directional screen cover on his monitor.&amp;nbsp; &lt;/p&gt; &lt;p&gt;My first impression was that he was a really nice guy; that he actually really wanted to take the time to talk.&amp;nbsp; After the niceties, we got down to business.&amp;nbsp; I quickly talked through some of my first year impressions and then moved onto the issue that had been frustrating our team.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Everything was going well until I was done explaining the issue.&amp;nbsp; You&amp;#39;ll never guess how he responded.&amp;nbsp; In a nutshell he said, &amp;quot;do you realize who you are talking to?&amp;nbsp; Do you understand that I don&amp;#39;t have time to deal with this and that you should have talked to your manager first?&amp;quot;&amp;nbsp; He may as well have said from the start: &amp;quot;WHOA WHOA, you don&amp;#39;t talk to me directly &lt;em&gt;[about real issues]&lt;/em&gt;.&amp;quot;&lt;/p&gt; &lt;p&gt;This after agreeing to meet and talk with me.&amp;nbsp; This after explaining clearly to him the impact of the problem.&amp;nbsp; That it was costing the company valuable time and money.&amp;nbsp; That it was dulling the bleeding edge of his company.&amp;nbsp; That we were ADP and it significantly impacted the agility of our projects.&lt;/p&gt; &lt;p&gt;In that moment I realized the curtain had been pulled back.&amp;nbsp; I realized that he had just expressed what both he and his superior &lt;em&gt;actually&lt;/em&gt; felt about first year employees.&lt;/p&gt; &lt;p&gt;But the story&amp;#39;s not quite over.&amp;nbsp; I have to reveal that a few weeks later the oddest thing happened.&amp;nbsp; I received a call from the head of shipping and receiving.&amp;nbsp; He was calling to check how they were doing.&amp;nbsp; He wanted to see if things were going better and if there was anything he could do to speed things up.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;If you don&amp;#39;t subscribe to the Daily Dilbert, &lt;a title="Subscribe to the Daily Dilbert" href="http://www.unitedmedia.com/comics/dilbert/index.html" target="_blank"&gt;you should&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://daptivate.com/aggbug.aspx?PostID=419" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=Z588c1D"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=Z588c1D" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=5EZOMWd"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=5EZOMWd" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://daptivate.com/archive/tags/Business/default.aspx">Business</category></item><item><title>Follow the Community Server Developer Conference Live</title><link>http://daptivate.com/archive/2007/10/20/follow-the-community-server-developer-conference-live.aspx</link><pubDate>Sat, 20 Oct 2007 14:13:22 GMT</pubDate><guid isPermaLink="false">f0cfdaa5-25b1-4b7d-b7d3-40a26cc40c63:414</guid><dc:creator>admin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://daptivate.com/rsscomments.aspx?PostID=414</wfw:commentRss><comments>http://daptivate.com/archive/2007/10/20/follow-the-community-server-developer-conference-live.aspx#comments</comments><description>&lt;a title="Kevin Harder&amp;#39;s blog" href="http://kevinharder.com" target="_blank"&gt;Kevin Harder&lt;/a&gt; is blogging the &lt;a title="Community Server Developer Conference Site" href="http://csdc.communityserver.org/" target="_blank"&gt;Community Server Developer Conference&lt;/a&gt; live!&amp;nbsp; &lt;a title="Check out the Community Server Developer Conference Live" href="http://kevinharder.com/blog/archive/2007/10/20/live-blogging-the-csdc.aspx" target="_blank"&gt;Check it out&lt;/a&gt;. &lt;img src="http://daptivate.com/aggbug.aspx?PostID=414" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=4wGRDDA"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=4wGRDDA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=70vSZ0a"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=70vSZ0a" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://daptivate.com/archive/tags/Telligent/default.aspx">Telligent</category><category domain="http://daptivate.com/archive/tags/Community+Server/default.aspx">Community Server</category></item><item><title>Fluid, a new Community Server Blog Theme</title><link>http://daptivate.com/archive/2007/08/04/fluid-a-new-community-server-blog-theme.aspx</link><pubDate>Sat, 04 Aug 2007 19:23:32 GMT</pubDate><guid isPermaLink="false">f0cfdaa5-25b1-4b7d-b7d3-40a26cc40c63:322</guid><dc:creator>admin</dc:creator><slash:comments>71</slash:comments><wfw:commentRss>http://daptivate.com/rsscomments.aspx?PostID=322</wfw:commentRss><comments>http://daptivate.com/archive/2007/08/04/fluid-a-new-community-server-blog-theme.aspx#comments</comments><description>&lt;p&gt;If you haven&amp;#39;t heard, the deadline for the &lt;a title="Community Server 2007 Theming Extravaganza" href="http://docs.communityserver.org/wiki/page.aspx/239/community-server-2007-theming-extravaganza" target="_blank"&gt;Community Server Theme Contest has passed&lt;/a&gt;.&amp;nbsp; The good news is that now you can &lt;a title="Theme Contest is Over - Time to VOTE!" href="http://communityserver.org/blogs/announcements/archive/2007/08/03/vote.aspx" target="_blank"&gt;vote on your favorite themes&lt;/a&gt; and download them&amp;nbsp;for your site(s).&lt;/p&gt; &lt;p&gt;As part of the Theme Extravaganza, I submitted a single Blog Theme, Fluid,&amp;nbsp;similar to the one &lt;a title="New Theme for Daptivate.com" href="http://daptivate.com/archive/2007/01/10/chameleon-xhtml-large-fonts-and-more.aspx" target="_blank"&gt;currently used on daptivate.com&lt;/a&gt;&amp;nbsp;(note that this is about to change, as I am currently working with a designer on a new theme).&amp;nbsp; It is named &lt;em&gt;Fluid&lt;/em&gt; for several reasons ... that is the name of the Arcsin template I used as a starting point, it won&amp;#39;t cause problems with anti-virus software, and it simply makes a lot of sense for the name of a stretchy three column layout.&amp;nbsp; &lt;/p&gt; &lt;h3&gt;Details&lt;/h3&gt; &lt;p&gt;Here are some more details about the Community Server Blog Theme called &lt;em&gt;Fluid.&lt;/em&gt;&lt;/p&gt; &lt;ol&gt; &lt;li&gt;It is a very simple three column blog theme.&amp;nbsp; Each column adjust to the width of the browser.  &lt;li&gt;There are different pre-configured theme variations included: Pink, Blue, Red, and Green.&lt;br /&gt;&lt;a href="http://daptivate.com/blogs/dapblog/FluidanewCommunityServerBlogTheme_C9C5/variations.gif"&gt;&lt;img height="171" alt="variations" src="http://daptivate.com/blogs/dapblog/FluidanewCommunityServerBlogTheme_C9C5/variations_thumb.gif" width="336" /&gt;&lt;/a&gt;  &lt;li&gt;The title/description header can be easily shown or removed based on user preference.&lt;a href="http://daptivate.com/blogs/dapblog/FluidanewCommunityServerBlogTheme_C9C5/headeroptions.gif"&gt;&lt;img height="231" alt="header-options" src="http://daptivate.com/blogs/dapblog/FluidanewCommunityServerBlogTheme_C9C5/headeroptions_thumb.gif" width="646" /&gt;&lt;/a&gt; &lt;li&gt;The logo, text, and colors can&amp;nbsp;be easily changed.&lt;a href="http://daptivate.com/blogs/dapblog/FluidanewCommunityServerBlogTheme_C9C5/generaloptions.gif"&gt;&lt;img height="173" alt="general-options" src="http://daptivate.com/blogs/dapblog/FluidanewCommunityServerBlogTheme_C9C5/generaloptions_thumb.gif" width="365" /&gt;&lt;/a&gt; &amp;nbsp; &lt;li&gt;It is valid XHTML 1.0 Transitional.&lt;/li&gt;&lt;/ol&gt; &lt;h3&gt;Screen Shots&lt;/h3&gt; &lt;p&gt;In order to give you a feel for what it will look like on your blog, here are two screen shots.&lt;/p&gt; &lt;p&gt;The pink theme variation (with header shown):&lt;/p&gt; &lt;p&gt;&lt;a href="http://daptivate.com/blogs/dapblog/FluidanewCommunityServerBlogTheme_C9C5/pink.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="263" alt="pink" src="http://daptivate.com/blogs/dapblog/FluidanewCommunityServerBlogTheme_C9C5/pink_thumb.png" width="500" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;The blue theme variation (with header hidden):&lt;/p&gt; &lt;p&gt;&lt;a href="http://daptivate.com/blogs/dapblog/FluidanewCommunityServerBlogTheme_C9C5/blue.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="250" alt="blue" src="http://daptivate.com/blogs/dapblog/FluidanewCommunityServerBlogTheme_C9C5/blue_thumb.png" width="500" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;As you can see, this theme&amp;nbsp;puts a premium on actual content.&amp;nbsp; Blog posts&amp;nbsp;can be prominently displayed&amp;nbsp;and easily accessible&amp;nbsp;for users.&amp;nbsp; It also&amp;nbsp;enables easy customization to match your logo and preferences through the Community Server&amp;nbsp;dynamic theming feature.&amp;nbsp;&lt;/p&gt; &lt;h3&gt;Get It&lt;/h3&gt; &lt;p&gt;You can easily &lt;a title="Download the Fluid Blog Theme" href="http://themes.communityserver.org/files/folders/employees/entry99.aspx" target="_blank"&gt;download the theme for your blog&lt;/a&gt;.&amp;nbsp; Once you unzip the contents, follow the instructions in the readme.txt file to install.&lt;/p&gt; &lt;p&gt;Enjoy...&lt;/p&gt;&lt;img src="http://daptivate.com/aggbug.aspx?PostID=322" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=q2xIlrQc"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=q2xIlrQc" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=x0dpmMtF"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=x0dpmMtF" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://daptivate.com/archive/tags/Community+Server/default.aspx">Community Server</category></item><item><title>FeedBurner Users: Google Now Owns You</title><link>http://daptivate.com/archive/2007/06/21/feedburner-users-google-now-owns-you.aspx</link><pubDate>Thu, 21 Jun 2007 23:18:11 GMT</pubDate><guid isPermaLink="false">f0cfdaa5-25b1-4b7d-b7d3-40a26cc40c63:308</guid><dc:creator>admin</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://daptivate.com/rsscomments.aspx?PostID=308</wfw:commentRss><comments>http://daptivate.com/archive/2007/06/21/feedburner-users-google-now-owns-you.aspx#comments</comments><description>&lt;p&gt;In case you missed it.&amp;nbsp; Well, it&amp;#39;s really too late anyway...&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; Service of &lt;a title="FeedBurner" href="http://feedburner.com" target="_blank"&gt;FeedBurner&lt;/a&gt; publisher accounts will not be interrupted as a result of the acquisition by &lt;a title="Google" href="http://google.com" target="_blank"&gt;Google&lt;/a&gt;. You will have a 14-day interim period ending June 15, 2007 to opt-out of allowing Google to service your account. If you take no action by June 15, 2007, the rights to your data will transfer from FeedBurner to Google. &lt;strong&gt;Opting out will terminate your user agreement with FeedBurner, permanently delete your FeedBurner account, feeds, and all related statistical data and history, and prevent the transfer of your data rights to Google. &lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://daptivate.com/aggbug.aspx?PostID=308" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=XRqxqW5n"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=XRqxqW5n" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=GlGugHUu"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=GlGugHUu" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://daptivate.com/archive/tags/Random/default.aspx">Random</category><category domain="http://daptivate.com/archive/tags/Media/default.aspx">Media</category></item><item><title>Twitter Clients Galore</title><link>http://daptivate.com/archive/2007/06/13/twitter-clients-galore.aspx</link><pubDate>Wed, 13 Jun 2007 07:30:35 GMT</pubDate><guid isPermaLink="false">f0cfdaa5-25b1-4b7d-b7d3-40a26cc40c63:297</guid><dc:creator>admin</dc:creator><slash:comments>6</slash:comments><wfw:commentRss>http://daptivate.com/rsscomments.aspx?PostID=297</wfw:commentRss><comments>http://daptivate.com/archive/2007/06/13/twitter-clients-galore.aspx#comments</comments><description>&lt;p&gt;If you are looking for a stand-alone Twitter client for your Windows box, you&amp;#39;ve come to the right place.&amp;nbsp; Sort of.&amp;nbsp; I have a recommendation.&amp;nbsp; Check out &lt;a title="A simple Twitter Client for Windows" href="http://code.google.com/p/teletwitter/" target="_blank"&gt;Tel&lt;font color="#444444"&gt;e&lt;/font&gt;twitter&lt;/a&gt;.&amp;nbsp; A group of us at &lt;a title="Telligent" href="http://telligent.com" target="_blank"&gt;Telligent&lt;/a&gt;&amp;nbsp;teamed up with &lt;a title="TeleTwitter contributors" href="http://code.google.com/p/teletwitter/wiki/Contributors" target="_blank"&gt;others in the community&lt;/a&gt;, led by &lt;a title="Jason Alexander&amp;#39;s Blog Post on the TeleTwitter Client" href="http://jasona.net/archive/2007/04/20/code-drop-april-2007-teletwitter-twitter-client-for-windows.aspx" target="_blank"&gt;Jason&lt;/a&gt;, and decided to crank out a Windows Twitter Client.&amp;nbsp; We came up with something that is definitely &lt;a title="Download TeleTwitter" href="http://code.google.com/p/teletwitter/downloads/list" target="_blank"&gt;worth a spin&lt;/a&gt;.&amp;nbsp; If that doesn&amp;#39;t suit your fancy, &lt;a title="Google&amp;#39;s Web Search Engine" href="http://www.google.com" target="_blank"&gt;Google&lt;/a&gt; will keep you &lt;a title="A lot, lot, lot of twitter clients for you" href="http://www.google.com/search?q=twitter+client" target="_blank"&gt;busy for a while&lt;/a&gt;.&lt;/p&gt; &lt;h3&gt;Finally, the point&lt;/h3&gt; &lt;p&gt;But really, the purpose of this post is to announce the release a &lt;a href="http://code.google.com/p/community-server-extensions/wiki/TwitterModule" target="_blank"&gt;Twitter Client for Community Server.&lt;/a&gt;&amp;nbsp; Not another Twitter Client application.&lt;/p&gt; &lt;p&gt;As I mentioned in the &lt;a title="Community Server Blog Twitter Client" href="http://daptivate.com/archive/2007/04/13/community-server-blog-twitter-client.aspx" target="_blank"&gt;original non-technical teaser&lt;/a&gt;,&amp;nbsp;this software component (specifically a Community Server Module)&amp;nbsp;fills a niche by enabling &lt;a title="Community Server" href="http://communityserver.org" target="_blank"&gt;Community Server&lt;/a&gt; to have automatic tweet capabilities.&amp;nbsp; Currently, it supports automatically sending messages to &lt;a title="Twitter" href="http://twitter.com" target="_blank"&gt;Twitter&lt;/a&gt; whenever you post to your blog.&lt;/p&gt; &lt;p&gt;To use it, &lt;a title="Download the Community Server Blog Twitter Client" href="http://code.google.com/p/community-server-extensions/downloads/list" target="_blank"&gt;download the latest version&lt;/a&gt; and follow the &lt;a title="Community Server Twitter Module installation instructions" href="http://code.google.com/p/community-server-extensions/wiki/TwitterModule" target="_blank"&gt;simple installation instructions&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;/em&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Oh, and &lt;a title="Jose Lema&amp;#39;s Blog" href="http://www.tankete.com" target="_blank"&gt;Jose&lt;/a&gt;: I&amp;#39;m still waiting on my copy of &lt;a title="Professional Community Server - The Book" href="http://professionalcommunityserver.com/" target="_blank"&gt;Professional Community Server&lt;/a&gt;. :P&lt;/p&gt;&lt;img src="http://daptivate.com/aggbug.aspx?PostID=297" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=SpYiF5XR"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=SpYiF5XR" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=ol54pRcO"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=ol54pRcO" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://daptivate.com/archive/tags/Telligent/default.aspx">Telligent</category><category domain="http://daptivate.com/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://daptivate.com/archive/tags/Software/default.aspx">Software</category></item><item><title>Seth, on the ending of Sopranos and expectations</title><link>http://daptivate.com/archive/2007/06/13/seth-on-the-ending-of-sopranos-and-expectations.aspx</link><pubDate>Wed, 13 Jun 2007 06:28:09 GMT</pubDate><guid isPermaLink="false">f0cfdaa5-25b1-4b7d-b7d3-40a26cc40c63:296</guid><dc:creator>admin</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://daptivate.com/rsscomments.aspx?PostID=296</wfw:commentRss><comments>http://daptivate.com/archive/2007/06/13/seth-on-the-ending-of-sopranos-and-expectations.aspx#comments</comments><description>&lt;p&gt;In &lt;em&gt;&lt;a title="The Expectation Paradox, by Seth Godin" href="http://sethgodin.typepad.com/seths_blog/2007/06/the_expectation.html" target="_blank"&gt;The Expectation Paradox&lt;/a&gt;&lt;/em&gt;,&amp;nbsp;&lt;a title="Seth Godin&amp;#39;s Blog" href="http://sethgodin.typepad.com" target="_blank"&gt;Seth Godin&lt;/a&gt; writes:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&amp;quot;As word of mouth becomes an ever more important component of marketing, the scales are tipping. Undersell, overdeliver. It&amp;#39;s the strategy that works in the long run.&amp;quot;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;As I think:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;em&gt;&lt;font style="background-color:#ffffff;" size="3"&gt;&amp;quot;When was underselling and overdelivering a bad strategy?&amp;nbsp; Has one of the demigod&amp;#39;s of marketing just now enlightened us to the value of integrity?&amp;quot;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Hey, you gotta love the first reactions of an ignorant software developer.&amp;nbsp;&amp;nbsp;Maybe &lt;a title="Telligenti Tom Edward&amp;#39;s Blog" href="http://theblackfin.com/" target="_blank"&gt;TheBlackFin&lt;/a&gt; can clear this up...&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;[for &lt;a title="Bill Robertson&amp;#39;s Blog" href="http://billrob.com/" target="_blank"&gt;bill&lt;/a&gt;]&lt;/p&gt;&lt;img src="http://daptivate.com/aggbug.aspx?PostID=296" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=yczj1d4n"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=yczj1d4n" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=C3WVIHh7"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=C3WVIHh7" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://daptivate.com/archive/tags/Business/default.aspx">Business</category><category domain="http://daptivate.com/archive/tags/Random/default.aspx">Random</category></item><item><title>Community Server Blog Twitter Client</title><link>http://daptivate.com/archive/2007/04/13/community-server-blog-twitter-client.aspx</link><pubDate>Fri, 13 Apr 2007 21:56:25 GMT</pubDate><guid isPermaLink="false">f0cfdaa5-25b1-4b7d-b7d3-40a26cc40c63:250</guid><dc:creator>kbeyer</dc:creator><slash:comments>5</slash:comments><wfw:commentRss>http://daptivate.com/rsscomments.aspx?PostID=250</wfw:commentRss><comments>http://daptivate.com/archive/2007/04/13/community-server-blog-twitter-client.aspx#comments</comments><description>&lt;p&gt;Syndicating content on the web has never been easier.&amp;nbsp; I would venture to guess that the Blog, in a general sense,&amp;nbsp;has become the most popular way that users push content to the web.&amp;nbsp; And most Blog software supports at least two methods of syndication: RSS and E-mail.&amp;nbsp; Even if the Blog software&amp;nbsp;doesn&amp;#39;t there are sites like &lt;a title="FeedBurner" href="http://feedburner.com" target="_blank"&gt;FeedBurner&lt;/a&gt; and &lt;a title="FeedBlitz" href="http://www.feedblitz.com/" target="_blank"&gt;FeedBlitz&lt;/a&gt; which enable these syndication options to be added or enhanced.&lt;/p&gt; &lt;p&gt;So, that&amp;#39;s pretty cool.&amp;nbsp; A person can type some text, push a button and boom! &amp;nbsp;It is suddenly available not only through direct browsing of a web site and web search but also to users who have subscribed to that content via RSS or E-mail.&lt;/p&gt; &lt;p&gt;If you think that is sweet, buckle up.&amp;nbsp; You may have heard of this cool new site everyone is talking about: &lt;a title="Twitter" href="http://twitter.com/"&gt;Twitter&lt;/a&gt;.&amp;nbsp; I won&amp;#39;t attempt to explain the idea behind it, Co-Founder &lt;a title="Evan Williams" href="http://evhead.com/" target="_blank"&gt;Evan Williams&lt;/a&gt;&amp;nbsp;has &lt;a title="Evan Williams Twitter Interview" href="http://www.calacanis.com/2007/04/02/calacaniscast-21-beta/" target="_blank"&gt;already done a good job of that&lt;/a&gt; (via &lt;a title="Jason Calcanis" href="http://www.calacanis.com/" target="_blank"&gt;Jason Calcanis&lt;/a&gt;).&amp;nbsp;&amp;nbsp;The takeaway, in the context of content syndication, is that Twitter brings two more syndication options to the table:&amp;nbsp;&lt;a title="Instant Messaging" href="http://en.wikipedia.org/wiki/Instant_messaging"&gt;IM&lt;/a&gt; and &lt;a title="Short Text Service" href="http://en.wikipedia.org/wiki/SMS"&gt;SMS&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;You heard right.&amp;nbsp; Now you have the capability to syndicate new blog posts through IM and SMS.&amp;nbsp; At least if you use &lt;a title="Community Server" href="http://communityserver.org/" target="_blank"&gt;Community Server&lt;/a&gt; as your blogging software.&lt;/p&gt; &lt;p&gt;How?&amp;nbsp; Through a small little software component called&amp;nbsp;a Community Server Module.&amp;nbsp; The module acts as a Twitter client by updating your Twitter Status whenever you make a new post to your blog.&amp;nbsp; Enabling all your Twitter followers to be the first to know about it.&lt;/p&gt; &lt;p&gt;Community Server 2007 is &lt;a title="Community Server 2007 Release" href="http://communityserver.org/blogs/announcements/archive/2007/04/10/community-server-2007-release-candidate-1.aspx"&gt;scheduled for release&lt;/a&gt; on April 16th.&amp;nbsp; The module to enable this capability will be released shortly thereafter.&lt;/p&gt; &lt;p&gt;If you&amp;#39;d like to be a beta tester before then, &lt;a href="http://daptivate.com/contact.aspx"&gt;drop me a note&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Or send me a tweet... &lt;a href="http://twitter.com/kbeyer"&gt;http://twitter.com/kbeyer&lt;/a&gt;&lt;/p&gt;&lt;img src="http://daptivate.com/aggbug.aspx?PostID=250" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=vZ5R1FWI"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=vZ5R1FWI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=P3hnhszN"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=P3hnhszN" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://daptivate.com/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://daptivate.com/archive/tags/Software/default.aspx">Software</category><category domain="http://daptivate.com/archive/tags/Media/default.aspx">Media</category></item><item><title>Hacker's Challenge #2: Crack the AJAX Login Control (Plain text provided)</title><link>http://daptivate.com/archive/2007/04/02/hacker-s-challenge-2-crack-the-ajax-login-control-plain-text-provided.aspx</link><pubDate>Tue, 03 Apr 2007 04:36:20 GMT</pubDate><guid isPermaLink="false">f0cfdaa5-25b1-4b7d-b7d3-40a26cc40c63:246</guid><dc:creator>kbeyer</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://daptivate.com/rsscomments.aspx?PostID=246</wfw:commentRss><comments>http://daptivate.com/archive/2007/04/02/hacker-s-challenge-2-crack-the-ajax-login-control-plain-text-provided.aspx#comments</comments><description>&lt;p&gt;[&lt;em&gt;This is a follow up to the first &lt;/em&gt;&lt;a title="Original Hacker&amp;#39;s Challenge" href="http://daptivate.com/archive/2007/03/19/hacker-s-challenge-crack-the-ajax-login-control.aspx"&gt;&lt;em&gt;AJAX Login Control Hacker&amp;#39;s Challenge&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&amp;nbsp; You will find more details and instructions there.&lt;/em&gt;]&lt;/p&gt; &lt;p&gt;Well, so far, the hackers are not doing so well.&amp;nbsp; Here are some numbers.&amp;nbsp; Out of&amp;nbsp;~517 downloads,&amp;nbsp;~108 accounts created on the test site, and&amp;nbsp;~617 page views over the past two weeks, the AJAX Login Control has yet to be cracked.&amp;nbsp; Yes, I know, those aren&amp;#39;t great numbers... but hey, at least there is some indication that the armour is being tested.&lt;/p&gt; &lt;p&gt;Okay.&amp;nbsp; So, I&amp;#39;ve decided to cut you hackers a little slack.&amp;nbsp; Give you a few little hints, if you will.&amp;nbsp; As a matter of fact, I&amp;#39;m going to do all the hard work and provide the raw data that is transmitted during a successful login of the sample user, &lt;a href="mailto:hacker@snipgen.com"&gt;hacker@snipgen.com&lt;/a&gt;.&lt;/p&gt; &lt;h2&gt;VerifyUserLogin : The first AJAX request.&lt;/h2&gt; &lt;p&gt;POST&lt;br /&gt;{&amp;quot;request&amp;quot;:{&amp;quot;__type&amp;quot;:&amp;quot;snip.SaltRequest&amp;quot;,&amp;quot;username&amp;quot;:&amp;quot;hacker@snipgen.com&amp;quot;}} &lt;/p&gt; &lt;p&gt;RESPONSE&lt;br /&gt;{&amp;quot;__type&amp;quot;:&amp;quot;snip.SaltResponse&amp;quot;,&amp;quot;salt&amp;quot;:&amp;quot;EIyMXOyus3TRGnP/MiWwhQ==&amp;quot;,&amp;quot;challenge&amp;quot;:&amp;quot;wzLrnbxWivzNkbMPvksw8A==&amp;quot;,&amp;quot;success&amp;quot;:true}  &lt;h2&gt;Login : The second AJAX request&lt;/h2&gt; &lt;p&gt;POST&lt;br /&gt;{&amp;quot;request&amp;quot;:{&amp;quot;__type&amp;quot;:&amp;quot;snip.LoginRequest&amp;quot;,&amp;quot;username&amp;quot;:&amp;quot;hacker@snipgen.com&amp;quot;,&amp;quot;passwordHMAC&amp;quot;:&amp;quot;ERkSrTM8EeD2rIzwE8TyxiPJyo8=&amp;quot;,&amp;quot;createCookie&amp;quot;:false}}  &lt;p&gt;RESPONSE&lt;br /&gt;{&amp;quot;__type&amp;quot;:&amp;quot;snip.LoginResponse&amp;quot;,&amp;quot;status&amp;quot;:1} &lt;h2&gt;&amp;nbsp;&lt;/h2&gt; &lt;h2&gt;$100 Award Remains&lt;/h2&gt; &lt;p&gt;There it is.&amp;nbsp; I&amp;#39;ve spilled the beans.&amp;nbsp; And here&amp;#39;s the best part.&amp;nbsp; The $100 cash award to the first succesful hacker remains.&lt;/p&gt; &lt;p&gt;Once again, good luck and game on.&lt;/p&gt;&lt;img src="http://daptivate.com/aggbug.aspx?PostID=246" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=QwR7xG31"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=QwR7xG31" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=RDhnzIcB"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=RDhnzIcB" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://daptivate.com/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://daptivate.com/archive/tags/ASP.net/default.aspx">ASP.net</category></item><item><title>PageMethods Not Found (or Defined)?</title><link>http://daptivate.com/archive/2007/03/19/pagemethods-not-found.aspx</link><pubDate>Tue, 20 Mar 2007 05:01:25 GMT</pubDate><guid isPermaLink="false">f0cfdaa5-25b1-4b7d-b7d3-40a26cc40c63:226</guid><dc:creator>kbeyer</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://daptivate.com/rsscomments.aspx?PostID=226</wfw:commentRss><comments>http://daptivate.com/archive/2007/03/19/pagemethods-not-found.aspx#comments</comments><description>&lt;p&gt;If you are seeing this javascript error (or similar) while trying to use Page Methods with ASP.NET AJAX, here is a checklist that should save you some time.&lt;/p&gt; &lt;ol&gt; &lt;li&gt;The page method must have the System.Web.Services.WebMethod attribute.&lt;br /&gt;&lt;code&gt;[&lt;font color="#00ffff"&gt;WebMethod&lt;/font&gt;]&lt;br /&gt;...&lt;/code&gt;  &lt;li&gt;The page method must be public.&lt;br /&gt;&lt;code&gt;[&lt;font color="#00ffff"&gt;WebMethod&lt;/font&gt;]&lt;br /&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt; ...&lt;/code&gt;  &lt;li&gt;The page method must be static.&lt;br /&gt;&lt;code&gt;[&lt;font color="#00ffff"&gt;WebMethod&lt;/font&gt;]&lt;br /&gt;&lt;font color="#0000ff"&gt;public static&lt;/font&gt; ...&lt;/code&gt;  &lt;li&gt;The page method must be defined&amp;nbsp;on&amp;nbsp;the page (either inline or in the code-behind).&amp;nbsp; It cannot be defined in a control, master page, or base page.&lt;br /&gt;&lt;code&gt;&amp;lt;%&lt;font color="#0000ff"&gt;@&lt;/font&gt; &lt;font color="#800000"&gt;Page&lt;/font&gt; &lt;font color="#ff0000"&gt;Language&lt;/font&gt;&lt;font color="#0000ff"&gt;=&amp;quot;C#&amp;quot;&lt;/font&gt; %&amp;gt;&lt;br /&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#ff0000"&gt;script runat&lt;/font&gt;&lt;font color="#0000ff"&gt;=&amp;quot;server&amp;quot;&amp;gt;&lt;/font&gt;&lt;br /&gt;[&lt;font color="#00ffff"&gt;WebMethod&lt;/font&gt;]&lt;br /&gt;&lt;font color="#0000ff"&gt;public static&lt;/font&gt; ...&lt;/code&gt;  &lt;li&gt;The ASP.NET AJAX Script Manager must have EnablePageMethods set to true.&lt;br /&gt;&lt;code&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;asp:ScriptManager&lt;/font&gt; &lt;font color="#ff0000"&gt;EnablePageMethods&lt;/font&gt;&lt;font color="#0000ff"&gt;=&amp;quot;true&amp;quot;&lt;/font&gt; &lt;/code&gt;For an example with full source see &lt;a title="Calling static methods in an ASP.NET Web Page" href="http://ajax.asp.net/docs/ViewSample.aspx?sref=Sys.Net.PageMethod%23PageMethod.aspx" target="_blank"&gt;Calling static methods in an ASP.NET Web Page&lt;/a&gt;. &lt;li&gt;&lt;em&gt;[Reader Tip]&lt;/em&gt; If all else fails, be sure you are seeing the correct error.&amp;nbsp; A reader kindly reported that&amp;nbsp;although they saw the &amp;quot;PageMethods not defined&amp;quot; error, the server-side code was still executing correctly.&amp;nbsp; After switching to FireFox, they discovered the real error.&amp;nbsp; Perhaps &lt;a title="Get the Firebug extension for Firefox" href="http://getfirebug.com/" target="_blank"&gt;Firebug&lt;/a&gt;&amp;nbsp;would also&amp;nbsp;be&amp;nbsp;quite useful&amp;nbsp;while tracking down such scandalous&amp;nbsp;errors.&amp;nbsp;&lt;em&gt;[Thank JohnL&amp;nbsp;for the tip]&amp;nbsp;&lt;/em&gt;&lt;/li&gt;&lt;/ol&gt; &lt;ol&gt;Note that you can use complex return types and parameters with page methods the same as with calling web services with ASP.NET AJAX.&lt;/ol&gt;&lt;img src="http://daptivate.com/aggbug.aspx?PostID=226" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=jCPdqKEO"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=jCPdqKEO" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=3I76d6Gd"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=3I76d6Gd" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://daptivate.com/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://daptivate.com/archive/tags/ASP.net/default.aspx">ASP.net</category></item><item><title>Hacker's Challenge: Crack the AJAX Login Control</title><link>http://daptivate.com/archive/2007/03/19/hacker-s-challenge-crack-the-ajax-login-control.aspx</link><pubDate>Tue, 20 Mar 2007 04:22:13 GMT</pubDate><guid isPermaLink="false">f0cfdaa5-25b1-4b7d-b7d3-40a26cc40c63:224</guid><dc:creator>kbeyer</dc:creator><slash:comments>5</slash:comments><wfw:commentRss>http://daptivate.com/rsscomments.aspx?PostID=224</wfw:commentRss><comments>http://daptivate.com/archive/2007/03/19/hacker-s-challenge-crack-the-ajax-login-control.aspx#comments</comments><description>&lt;p&gt;So, you think you are an expert AJAX hacker?&amp;nbsp; Want to earn a quick $100?&amp;nbsp; Then you&amp;#39;ve come to the right place.&lt;/p&gt; &lt;p&gt;Here&amp;#39;s the challenge.&amp;nbsp; Go to &lt;a href="http://snipgen.com/secure"&gt;http://snipgen.com/secure&lt;/a&gt; and sign in as &lt;a href="mailto:hacker@snipgen.com"&gt;hacker@snipgen.com&lt;/a&gt;.&amp;nbsp; Yeah, I&amp;#39;m even giving you the username.&amp;nbsp;&amp;nbsp;And I&amp;#39;ve given you a &lt;a title="AJAX Sign In Experience" href="http://daptivate.com/archive/2006/12/30/simplifying-the-sign-in-experience-with-ajax.aspx"&gt;whole series of posts&lt;/a&gt; on how it works.&amp;nbsp; Not to mention that the &lt;a title="AJAX Login Control source code" href="http://code.google.com/p/ajax-login-system/" target="_blank"&gt;source is even&amp;nbsp;available&lt;/a&gt;.&amp;nbsp; How hard can it be.&lt;/p&gt; &lt;p&gt;In order to get the money, you have to successfully sign in with the afore mentioned email.&amp;nbsp; In addition, you have to &lt;a title="Contact me" href="http://daptivate.com/contact.aspx"&gt;send me&lt;/a&gt; the plain text password and instructions on how you discovered it.&lt;/p&gt; &lt;p&gt;The first person to do this will get $100.&lt;/p&gt; &lt;p&gt;There is a time limit.&amp;nbsp; I&amp;#39;ll give you two weeks.&amp;nbsp; If there isn&amp;#39;t a winner by April 2nd, then I will drop the prize money and give the plain text that is transimitted while successfully signing in with &lt;a href="mailto:hacker@snipgen.com"&gt;hacker@snipgen.com&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Good luck.&amp;nbsp; Game on.&lt;/p&gt;&lt;img src="http://daptivate.com/aggbug.aspx?PostID=224" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=9aVaUpTp"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=9aVaUpTp" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=H58JcaeH"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=H58JcaeH" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://daptivate.com/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://daptivate.com/archive/tags/ASP.net/default.aspx">ASP.net</category></item><item><title>Do you see what I see?</title><link>http://daptivate.com/archive/2007/03/06/do-you-see-what-i-see.aspx</link><pubDate>Wed, 07 Mar 2007 04:42:07 GMT</pubDate><guid isPermaLink="false">f0cfdaa5-25b1-4b7d-b7d3-40a26cc40c63:193</guid><dc:creator>kbeyer</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://daptivate.com/rsscomments.aspx?PostID=193</wfw:commentRss><comments>http://daptivate.com/archive/2007/03/06/do-you-see-what-i-see.aspx#comments</comments><description>&lt;p&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="480" src="http://daptivate.com/blogs/dapblog/DoyouseewhatIsee_13F34/classic1.jpg" width="640" border="0" alt="" /&gt; &lt;/p&gt; &lt;p&gt;No comment.&lt;/p&gt;&lt;img src="http://daptivate.com/aggbug.aspx?PostID=193" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=jZBX48Kw"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=jZBX48Kw" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=HKIGRsWu"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=HKIGRsWu" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://daptivate.com/archive/tags/Random/default.aspx">Random</category></item><item><title>[AJAX Login] Compatibility with ASP.NET Authentication</title><link>http://daptivate.com/archive/2007/02/26/ajax-login-compatibility-with-asp-net-authentication.aspx</link><pubDate>Tue, 27 Feb 2007 05:36:00 GMT</pubDate><guid isPermaLink="false">f0cfdaa5-25b1-4b7d-b7d3-40a26cc40c63:181</guid><dc:creator>kbeyer</dc:creator><slash:comments>5</slash:comments><wfw:commentRss>http://daptivate.com/rsscomments.aspx?PostID=181</wfw:commentRss><comments>http://daptivate.com/archive/2007/02/26/ajax-login-compatibility-with-asp-net-authentication.aspx#comments</comments><description>&lt;p&gt;[&lt;strong&gt;Update: March 20, 2007&lt;/strong&gt;]&amp;nbsp; &lt;em&gt;Before putting the finishing touches on this AJAX Login System / Control, I&amp;#39;ve decided to see just how secure it is by &lt;/em&gt;&lt;a title="Hacker&amp;#39;s Challenge : Crack the AJAX Login Control" href="http://daptivate.com/archive/2007/03/19/hacker-s-challenge-crack-the-ajax-login-control.aspx"&gt;&lt;em&gt;issuing a challenge&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&amp;nbsp; See if you can crack it...&lt;/em&gt;&lt;/p&gt; &lt;p&gt;In &lt;em&gt;&lt;a title="Simplifying the Sign In Experience with AJAX" href="http://daptivate.com/archive/2006/12/30/simplifying-the-sign-in-experience-with-ajax.aspx"&gt;Simplifying the Sign In Experience with AJAX&lt;/a&gt;, &lt;/em&gt;I brainstormed about how an AJAX Login control&amp;nbsp;could improve a user&amp;#39;s web application sign in experience.&amp;nbsp; If you have been following the more detailed posts of each attribute, you will remember that my last post was on making sure &lt;a title="AJAX Login and Unique URLs" href="http://daptivate.com/archive/2007/01/14/ajax-login-unique-urls.aspx"&gt;the functionality is accessible via URL&lt;/a&gt;.&amp;nbsp; In addition, I gave a link to a &lt;a href="http://snipgen.com/"&gt;live demo&lt;/a&gt; for you to give it a test drive.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Well, the next attribute in the list, #4,&amp;nbsp;is &lt;em&gt;Easy, Very Easy to Add to Web Pages&lt;/em&gt;.&amp;nbsp; And although it is very close to being ready, I decided to skip ahead to attribute #6, &lt;em&gt;Compatible with ASP.NET 2.0 Forms Authentication&lt;/em&gt;, as it turns out to be a pre-requisite to making&amp;nbsp;the AJAX Login&amp;nbsp;System easy to add to web pages.&amp;nbsp; This is because, naturally,&amp;nbsp;in order to be easy to add to ASP.NET web pages it needs to play well with&amp;nbsp;applications that use the built-in ASP.NET membership system.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Now, I want to be clear, making sure the AJAX Login System is compatible with ASP.NET Authentication&amp;nbsp;does not&amp;nbsp;mean that it&amp;nbsp;shouldn&amp;#39;t be easy to add to other types of web pages, be it&amp;nbsp;plain HTML, PHP, Ruby on Rails,&amp;nbsp;etc.&amp;nbsp;...&amp;nbsp;It&amp;nbsp;just means that it needs to be&amp;nbsp;easy to add to ASP.NET pages as well.&amp;nbsp; We will cover compatibility with other technologies in a future post.&lt;/p&gt; &lt;h3&gt;Community Server - A Use Case&lt;/h3&gt; &lt;p&gt;In order to keep things simple, I decided to use this site, daptivate.com as a use case of the AJAX Login System&amp;#39;s ability to work well with an ASP.NET application.&amp;nbsp; This way you will be able to see it in action and it will be a good test of using it with an application, Community Server, that not only&amp;nbsp;leverages the ASP.NET 2.0 Membership System but also extends it.&lt;/p&gt; &lt;p&gt;Feel free to &lt;a title="Join" href="http://daptivate.com/#join"&gt;create a test account&lt;/a&gt; and &lt;a title="Sign In" href="http://daptivate.com/#sign-in"&gt;test it out&lt;/a&gt; on this site if you like.&amp;nbsp; One benefit you will notice is that the Screen Name you choose will automatically appear in the Comment section.&amp;nbsp; Additionally, you don&amp;#39;t need to create a separate account if you already created one on SnipGen.com.&amp;nbsp; Simply sign in with your existing account.&lt;/p&gt; &lt;h3&gt;The Objective&lt;/h3&gt; &lt;p&gt;The first step is to simply show that a user can sign into an application which uses the ASP.NET 2.0 Membership System.&amp;nbsp; The second goal is to provide functionality that has come to be expected by users of ASP.NET (and really most) web applications; namely, auto-redirect when authentication is required, and remembering users through encrypted cookies.&lt;/p&gt; &lt;h3&gt;The Solution&lt;/h3&gt; &lt;p&gt;Blah, blah.&amp;nbsp; Instead of a verbose description of how the objective was met, I&amp;#39;ve decided to simply release the code.&amp;nbsp; This way if you are interested, you can get the source and see how it really works.&amp;nbsp; If you aren&amp;#39;t, then I won&amp;#39;t be wasting your time.&lt;/p&gt; &lt;p&gt;There are two options for getting the code:&lt;/p&gt; &lt;p&gt;1) &lt;a title="AJAX Login System Google Code Project" href="http://code.google.com/p/ajax-login-system/" target="_blank"&gt;The AJAX Login Google Code Project&lt;/a&gt;&amp;nbsp;- This will allow you to use subversion to get the latest code and optionally contribute to the project.&lt;/p&gt; &lt;p&gt;2) &lt;a title="Ajax Login System Example Website" href="http://daptivate.com/r.ashx?4" target="_blank"&gt;A zip file&lt;/a&gt; - Simple, zipped up version of an example website.&lt;/p&gt; &lt;p&gt;In either case, here are the basic steps for&amp;nbsp;getting the project running:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Modify connections.config to point to a database with the ASP.NET 2.0 membership schemas.&amp;nbsp; This could be an existing ASP.NET 2.0 application&amp;#39;s DB for which you want to use the AJAX Login functionality.  &lt;li&gt;Setup a virtual directory or website for the folder AjaxLogin.Web.  &lt;li&gt;Checkout your local version of the site.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;There may be a few extra steps / checkpoints to get it to integrate seamlessly with Community Server and other custom web applications.&amp;nbsp; However, I will leave that for another post.&lt;/p&gt;&lt;img src="http://daptivate.com/aggbug.aspx?PostID=181" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=vfQFq9Pr"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=vfQFq9Pr" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.daptivate.com/~f/daptivate-all?a=pWrhc5ST"&gt;&lt;img src="http://feeds.daptivate.com/~f/daptivate-all?i=pWrhc5ST" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://daptivate.com/archive/tags/Community+Server/default.aspx">Community Server</category><category domain="http://daptivate.com/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://daptivate.com/archive/tags/ASP.net/default.aspx">ASP.net</category></item></channel></rss>
