<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.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>Search results for 'app:weblogs' matching tags 'Mindless Babbling' and 'Coding Techniques'</title><link>http://msmvps.com/search/SearchResults.aspx?q=app:weblogs&amp;tag=Mindless+Babbling,Coding+Techniques&amp;orTags=0&amp;o=DateDescending</link><description>Search results for 'app:weblogs' matching tags 'Mindless Babbling' and 'Coding Techniques'</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>How to be really annoying with Pocket Outlook</title><link>http://msmvps.com/blogs/williamryan/archive/2007/01/25/how-to-be-really-annoying-with-pocket-outlook.aspx</link><pubDate>Thu, 25 Jan 2007 06:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:517762</guid><dc:creator>William</dc:creator><description>&lt;P&gt;If you've been following my coding tonight, you can probably tell what I'm up to. If you call me regularly, you probably are already familiar with this little project, aka the CuckooBot.&amp;nbsp; He's up to Version 4.0 and about to be released into the wild. Yes, this one is more functional and useful than the last but also a lot snarkier and more annoying. In fact, he's also a lot smarter. He has a lot better AI and text parsing for one thing, so he can make better decisions about whether or not I can be disturbed and if you are on the 'cool' list, he'll actually do some of your bidding. When I release the final version, I'll provide everyone with the list of commands he'll respond to.&amp;nbsp; But enough about that for now.&amp;nbsp; Part two of this project involves email.&amp;nbsp; You can shoot the CuckooBot an email with a request, like "Please send ClevelandSteamer.jpg" and if you are authorized, he'll send it.&amp;nbsp; The&amp;nbsp; authorization piece is causing me some grief but it's not like I have anything better to be doing in the middle of the night right?&lt;/P&gt;
&lt;P&gt;Ok, so the way to send Email messages is to first create an OutlookSession object. Instantiate it and scope it as necessary.&amp;nbsp; Next, specify an EmailAccount for it.&amp;nbsp; Next create an EmailMessage and at the end, just Send() it.&lt;/P&gt;
&lt;P&gt;Now, I've mentioned many times that things like BCC, CC, Importance and Sensitivity should be outlawed and considered as tantamount to war crimes for they are pure evil. But too many people like those features so I'll have to keep my little quixotic jihad against them going in other ways.&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&lt;CODE&gt;const&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;String&lt;/FONT&gt;&lt;FONT size=2&gt; Primary = &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"Cuckoo1"&lt;/CODE&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;CODE&gt;private&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;CODE&gt;{&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008080 size=2&gt;&lt;CODE&gt;OutlookSession MainSession = new OutlookSession()&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;FONT color=#008080 size=2&gt;&lt;CODE&gt;EmailAccount&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;FONT color=#008080 size=2&gt;EmailAccount MainAccount = MainSession.EmailAccounts[Primary];&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;CODE&gt;EmailMessage MyMessage = new EmailMessage();&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;CODE&gt;//One dorks set this to High.&lt;/CODE&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;CODE&gt;MyMessage.Importance = &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Importance&lt;/FONT&gt;&lt;FONT size=2&gt;.Normal;&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;&lt;CODE&gt;//Again, see above.&lt;/CODE&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;CODE&gt;MyMessage.Sensitivity = &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Sensitivity&lt;/FONT&gt;&lt;FONT size=2&gt;.Normal;&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;MyMessage.Subject = &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"Cleveland Steamers vs. Pink Socks on Fox - 8:00 PM EDT"&lt;/FONT&gt;&lt;FONT size=2&gt;;&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;MyMessage.To = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Recipient&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"Knights of the Cleveland Steamers"&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"911@clevelandsteamers.org"&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;MyMessage.Attachments.Add(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Attachment&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;@"\eviction1.jpg"&lt;/FONT&gt;&lt;FONT size=2&gt;));&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;MyMessage.BodyText = &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"Cleveland Steamers aren't appropriate for community sites. However I predict they'll win tonight - 9-2"&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;MainAccount.Send(MyMessage);&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;}&lt;/CODE&gt;&lt;/P&gt;&lt;/FONT&gt;</description></item><item><title>Password Protection != Encryption on SqlCe</title><link>http://msmvps.com/blogs/williamryan/archive/2007/01/25/password-protection-encryption-on-sqlce.aspx</link><pubDate>Thu, 25 Jan 2007 06:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:517605</guid><dc:creator>William</dc:creator><description>&lt;P&gt;I know this probably seems pretty obvious, but believe it or not, it's a very common area of confusion.&amp;nbsp; Take a look at the following declaration:&lt;/P&gt;&lt;FONT color=#008080 size=2&gt;
&lt;P&gt;&lt;CODE&gt;String&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;CODE&gt;ConnectionString = &lt;/CODE&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;String&lt;/FONT&gt;&lt;FONT size=2&gt;.Format(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;@"Data Source=\BlueCuckoo.sdf;password={0}"&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"SomeValue"&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008080 size=2&gt;&lt;CODE&gt;SqlCeEngine&lt;/FONT&gt;&lt;/CODE&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;CODE&gt;engine.CreateDatabase();&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;If I asked, "Will this database be encrypted?" you should hopefully answer "No" b/c&amp;nbsp;I gave away the answer in the title. However on more than a few occassions, i've seen people&amp;nbsp;assume that it was.&amp;nbsp; If you don't explicitly add Encrypt&amp;nbsp; = True&amp;nbsp;- it isn't going to be encrypted.&amp;nbsp; And just in case you're wondering "Well, what if I want to encrypt the database but not password protect it?" , well, you wouldn't seriously ask me something like that right?&amp;nbsp;&lt;/P&gt;</description></item><item><title>SMS Messages with Windows Mobile 5.0</title><link>http://msmvps.com/blogs/williamryan/archive/2007/01/25/sms-messages-with-windows-mobile-5-0.aspx</link><pubDate>Thu, 25 Jan 2007 06:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:517555</guid><dc:creator>William</dc:creator><description>&lt;P&gt;A while ago, I was playing around creating a bot, a Snarkier version of the &lt;A href="http://blogs.msdn.com/windowsmobile/archive/2006/10/29/the-mobile-secretary-source-code.aspx"&gt;Mobile Secretary Application&lt;/A&gt;&amp;nbsp;.&amp;nbsp; Well, it was late and I got sloppy. So basically, my little app sent out a text message to everyone on one of my company's Outlook distribution lists. I learned a lot that night.&lt;/P&gt;
&lt;P&gt;So you've always been able to send SMS messages with Smartphone, but it's a lot easier now.&amp;nbsp; Sending them isn't a big deal though. The cool thing is intercepting them.&amp;nbsp; To that end, the &lt;A href="http://msdn2.microsoft.com/en-us/library/microsoft.windowsmobile.pocketoutlook.messageinterception.messageinterceptor.aspx"&gt;Message Interceptor&lt;/A&gt;&amp;nbsp;class makes it quite easy:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV&gt;Create a module level variable (or whatever scope you need it).&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;MessageInterceptor&lt;/FONT&gt;&lt;FONT size=2&gt; Interceptor;&lt;/CODE&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV&gt;Instantiate it in the constructor&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Interceptor = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;MessageInterceptor&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;InterceptionAction&lt;/FONT&gt;&lt;FONT size=2&gt;.NotifyAndDelete, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;false&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;/CODE&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV&gt;Specify a &lt;A href="http://msdn2.microsoft.com/en-us/library/microsoft.windowsmobile.pocketoutlook.messageinterception.interceptionaction.aspx"&gt;InterceptionAction&lt;/A&gt;&amp;nbsp;property. (Notify or NotifyAndDelete) - those should be self explanatory [See above]&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;Specify if you want it to use the Form's thread (a must if you want to update the UI) [see above]&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV&gt;Wire up a handler.&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;CODE&gt;Interceptor.MessageReceived +=&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;MessageInterceptorEventHandler&lt;/FONT&gt;&lt;FONT size=2&gt;(Interceptor_MessageReceived);&lt;/CODE&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV&gt;Cast the e.Message object in the handler as a SmsMessage and use accordingly&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;CODE&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;void&lt;/FONT&gt;&lt;FONT size=2&gt; Interceptor_MessageReceived(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;object&lt;/FONT&gt;&lt;FONT size=2&gt; sender, &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;MessageInterceptorEventArgs&lt;/FONT&gt;&lt;FONT size=2&gt; e)&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp; SmsMessage&lt;/FONT&gt;&lt;FONT size=2&gt; IncomingMessage = (e.Message &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;as&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SmsMessage&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&lt;/FONT&gt;&lt;FONT size=2&gt;[] ImportantStuff = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;String&lt;/FONT&gt;&lt;FONT size=2&gt;[]{&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"Dog pooping"&lt;/FONT&gt;&lt;FONT size=2&gt;,&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;&lt;/FONT&gt;&lt;FONT color=#800000 size=2&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;nbsp;&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;nbsp;&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;nbsp;&amp;nbsp;&amp;nbsp; "Vista Launch"&lt;/FONT&gt;&lt;FONT size=2&gt;,&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;&lt;/FONT&gt;&lt;FONT color=#800000 size=2&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;nbsp;&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;nbsp;&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"Would you care to explain THIS?"&lt;/FONT&gt;&lt;FONT size=2&gt;,&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;&lt;/FONT&gt;&lt;FONT color=#800000 size=2&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;nbsp;&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;nbsp;&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;nbsp;&amp;nbsp;&amp;nbsp; "Vicodin ES"&lt;/FONT&gt;&lt;FONT size=2&gt;,&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;&lt;/FONT&gt;&lt;FONT color=#800000 size=2&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;nbsp;&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;nbsp;&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;nbsp;&amp;nbsp;&amp;nbsp; "Camel Toe"&lt;/FONT&gt;&lt;FONT size=2&gt;,&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;&lt;/FONT&gt;&lt;FONT color=#800000 size=2&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;nbsp;&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;nbsp;&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"Kim"&lt;/FONT&gt;&lt;FONT size=2&gt;,&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;&lt;/FONT&gt;&lt;FONT color=#800000 size=2&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;nbsp;&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;nbsp;&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;"Mom"&lt;/FONT&gt;&lt;FONT size=2&gt;,&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;&lt;/FONT&gt;&lt;FONT color=#800000 size=2&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;nbsp;&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;nbsp;&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;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "EDC"&lt;/FONT&gt;&lt;FONT size=2&gt;};&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;foreach&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;String&lt;/FONT&gt;&lt;FONT size=2&gt; s &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;in&lt;/FONT&gt;&lt;FONT size=2&gt; ImportantStuff){&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;if&lt;/FONT&gt;&lt;FONT size=2&gt;(IncomingMessage.Body.IndexOf(s)&amp;gt; -1){&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SmsMessage&lt;/FONT&gt;&lt;FONT size=2&gt; OutgoingMessage = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SmsMessage&lt;/FONT&gt;&lt;FONT size=2&gt;(e.Message.From.Address, &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"This is the Cuckoobot, I'm handling Bill's messages, he'll be in touch shortly"&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;OutgoingMessage.Send();&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;//Yes, I know this isn't optimal - it's demo code.&lt;/CODE&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;CODE&gt;}&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;else&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;CODE&gt;{&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SmsMessage&lt;/FONT&gt;&lt;FONT size=2&gt; OutgoingMessage = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SmsMessage&lt;/FONT&gt;&lt;FONT size=2&gt;(e.Message.From.Address, &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"This is the Cuckoobot. Your message isn't important and will have to wait."&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;/CODE&gt;&lt;/P&gt;&lt;CODE&gt;OutgoingMessage.Send();&lt;BR&gt;}&lt;BR&gt;}&lt;BR&gt;}&lt;BR&gt;&lt;/CODE&gt;&lt;/FONT&gt;</description></item><item><title>Comment of the week - Sql Server Reporting Services vs. Crystal</title><link>http://msmvps.com/blogs/williamryan/archive/2006/09/27/Comment-of-the-week-_2D00_-Sql-Server-Reporting-Services-vs.-Crystal.aspx</link><pubDate>Wed, 27 Sep 2006 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:142621</guid><dc:creator>William</dc:creator><description>&lt;p&gt;A while ago, I posted &lt;a href="http://msmvps.com/blogs/williamryan/archive/2004/11/07/18148.aspx?CommentPosted=true#commentmessage"&gt;this&lt;/a&gt;&amp;nbsp;about how much a55 I think Crystal Reports sucks.&amp;nbsp; A long time ago, back at like v.7, I thought Crystal was a decent product.&amp;nbsp; And to be honest, it still is a decent product.&amp;nbsp; But it comes with a lot of baggage and has a lot that just makes it lame.&amp;nbsp; So I had almost total consenus on the Crystal Reports w/ .NET sucks side, I think there are two people that disagree.&amp;nbsp;Ignoring the fact that SSRS is very new product and Crystal has been around forever, I think side by side it&amp;#39;s a slam dunk.&amp;nbsp; But one big mouth said this: (NOTE:&amp;nbsp; I&amp;#39;m only posting a comment that was publicly posted on my site.&amp;nbsp; So hopefully the guy won&amp;#39;t be a &lt;a href="http://www.charlescarroll.com"&gt;cry baby&lt;/a&gt; about it and throw a temper tantrum over it)&lt;/p&gt;&lt;p&gt;&lt;em&gt;&amp;quot;Either you guys are idiots or you have never used Crystal and don&amp;#39;t realize the minimal functionality that SQL Reporting Services offers. I have spent the last week evaluating SSRS and am greatly dissapointed. I came up with a list of over 250 items that SSRS could not do. As for all you Access reporters, your probably the only people to ever purchase Microsoft&amp;#39;s &amp;quot;Bob&amp;quot; product. &amp;quot;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;So the guy claims to know enough about Crystal to have cataloged over 250 features that SSRS doesn&amp;#39;t have.&amp;nbsp; That means that including the features he&amp;#39;ll admit it does have, he knows way more than 250 features.&amp;nbsp; I think that would qualify you as a fairly advanced Crystal user if you&amp;#39;ll pardon the oxymoron.&amp;nbsp; And he spent one week with SSRS.&amp;nbsp; And the only conclusion he can draw is that SSRS is definitely lacking those features and that it couldn&amp;#39;t possibly be that he just doesn&amp;#39;t know how to use them, right?&amp;nbsp; And far be it from me to say anything positive about Access, but come on, being a hard core Crystal user still means you&amp;#39;re the report ***, and that gives you credentials to snob no one. Certainly not Access developers&amp;nbsp;and certainly not Bob users.&amp;nbsp; Is he really claiming Bob was lame but Crystal Reports isn&amp;#39;t?&amp;nbsp; Pulllleeezz.&amp;nbsp; But if you read the context of the comments, the people were pointing out that Access, as lame as it is, provides more effective funcionality.&amp;nbsp; The fact this can even be debated speaks volumes don&amp;#39;t you think?&amp;nbsp; Is Access supposed to be first and foremost a report writer?&amp;nbsp; Last time I looked it&amp;#39;s main purpose was as a relational database (more precisely, a database that anyone can build with, that causes major headaches for the people that will inevitably be brought in to clean up the mess it made) not a report writer.&amp;nbsp; Reports are one of its features but one would certainly expect that a mature product who&amp;#39;s sole purpose is report writing ought to be a little better than a RDBMS product with reports added in.&lt;/p&gt;&lt;p&gt;So I offered a challenge, I asked him to post just 20 of his 250 features that CR can do that SSRS can&amp;#39;t.&amp;nbsp; I&amp;#39;ll see if they really can&amp;#39;t be done and post the results. If I&amp;#39;m wrong, I&amp;#39;ll admit it.&amp;nbsp; If he&amp;#39;s wrong I&amp;#39;ll point out what an a33hat he is.&amp;nbsp; I actually believe there are probably 20 or so features missing, but certainly not major ones.&amp;nbsp; Even assuming there were really 250 features missing, how many times do you need 250 features for a report?&amp;nbsp; Typically you need Grouping, Subreporting, charts/graphs, conditional formatting, functions and the like. He didn&amp;#39;t comment as to his evaluation of how each stacked up there - for reasons that are obvious.&amp;nbsp; Anyway, I believe his 250+ number about as much as I believe in the easter bunny so although *someone* could probably post 20 things lacking, I doubt he can.&amp;nbsp; One of us is very wrong here and hopefully it&amp;#39;s not me. We&amp;#39;ll have to wait and see.&lt;/p&gt;</description></item><item><title>7 Deadly Sins of Software Development</title><link>http://msmvps.com/blogs/williamryan/archive/2006/06/14/101099.aspx</link><pubDate>Wed, 14 Jun 2006 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:101099</guid><dc:creator>William</dc:creator><description>&lt;P&gt;&lt;A href="http://weblogs.asp.net/fbouma/archive/2006/06/11/Jon-Skeet-on-the-7-deadly-sins-of-Software-Development.aspx"&gt;&lt;FONT face=Verdana size=2&gt;Frans&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp; blogged about &lt;/FONT&gt;&lt;A href="/blogs/jon.skeet/archive/2006/06/10/deadlysins.aspx"&gt;&lt;FONT face=Verdana size=2&gt;Jon Skeet's&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;which was inspired by &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/ericgu/archive/2006/05/16/599045.aspx"&gt;&lt;FONT face=Verdana size=2&gt;Eric's&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;post. Since Eric is asking others to contribute, I'm throwing in my two cents.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face=Verdana size=2&gt;#1&amp;nbsp; Not understanding the problem that you're trying to solve&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Personal guilt rating: historically 7, currently 3 &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I've seen (and commited) this sin more than just about anything else. It typically goes like this.&amp;nbsp; You meet with the client/customer/co-worker and they tell you about the problem. As they talk, you get an idea about what they mean and how you want to do it. You promise some really impressive deadline b/c as you understand it, it's a piece of cake.&amp;nbsp; Then you show them the product and tons of things are wrong. But more than just the number of things wrong, some or all of the things that are wrong are big issues.&amp;nbsp; You got excited and started coding. And you solved some problem, but not necessarily the problem you were charged with solving.&amp;nbsp; They tell you "But it needs to do this and it does that." Then you hear a reply "That's because you didn't do X. If you go to this screen and that screen and add this value, it'll work." Then they tell you "Yah, but I don't need to do all of that to get what I want, that's going to take me forever and will make me really unproductive."&amp;nbsp; Then the developer goes back and starts bitching about how stupid customers are.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face=Verdana size=2&gt;#2 Thinking everyone 'else' is stupid&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Personal guilt rating: historically 4, currently 3 &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Don't get me wrong, there is wayyy to low unemployment in this country. There's no way many people should have their jobs. But everyone isn't stupid. All of your co-workers aren't idiots. All the users aren't dumb.&amp;nbsp; Yes, it's tempting to say "Well, they work for the government so what do you expect" but most of the time, if everyone doesn't 'get it', it's not because everyone is dumb.&amp;nbsp; This happens quite a bit with user interfaces. You make an atrocious user interface which does all sorts of cool stuff but little that users want, they hate it, say it's unintiutive, and then you go back complaining about how dumb they are and if they had&amp;nbsp; a clue, they'd love it. Sometimes this is true, but if you find yourself saying this very often, it's probably time for reflection. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face=Verdana size=2&gt;#3 Emphasizing other people's shortcomings and ignoring your own.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Personal guilt rating: historically 5, currently 3 &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Back in grad school, I learned about something &lt;/FONT&gt;&lt;A href="http://en.wikipedia.org/wiki/Fundamental_attribution_error"&gt;&lt;FONT face=Verdana size=2&gt;Fundamental Attribution Error&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;and it's alive and well.&amp;nbsp; How many times have you worked with another consulting company on a project where everything they did was 'stupid'? Of course, the stuff you did wrong is just part of the process.&amp;nbsp; How many architects have you seen who overarchitect something in to the ground, then when it's built and sucks, starts talking about how it wasn't done correctly.&amp;nbsp; I'm the first to admit that there's a lot of incompetence out there, but if you are harder on other's 'incompetence' than you are on your own, you ought to do some self-reflection&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face=Verdana size=2&gt;#4 The Design is not the Deliverable&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Personal guilt rating: historically&amp;nbsp;9, currently 3 &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Well, if you're a sales person or a business analyst it might be. But if you're a developer, remember what clients are paying you for. "I have a 10,000 page Word document with correct UML notation for everything ...."&amp;nbsp; And you turned a 6 month project into a two year project. After 6 months, you're ready to deliver it but it's not 'perfect'.&amp;nbsp; So you think "well, everything else is so right, I just need to make these few last changes." That thinking process goes into an endless loop and you lose sight of the fact that, they are paying you for the project, not the documentation (unless of course you're getting paid exclusively for documentation).&amp;nbsp; The code is what matters. The same thing happens with unit tests. How many times have you seen unit tests that show all green lights yet the code is still buggy? You look into it and you realize that the unit tests may be 'perfect' but they don't test the actual code.&amp;nbsp; In many cases, the same people that do this seem to be very much against Debug Assertions in their actual code.&amp;nbsp; Why?&amp;nbsp; Assertions run in production code and they should compliment unit tests.&amp;nbsp; They should both be used.&amp;nbsp; But just like design, it's easy to thing that ___________ is the deliverable - and in the end, it's not.&amp;nbsp; Granted, perfect documentation and perfect unit tests correlate highly to great software,&amp;nbsp; but it's not necessarily the case. Rather, a perfect document and a crappy (or expensive / late ) project isn't what the customers wanted.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face=Verdana size=2&gt;#5 Making too many assumptions&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Personal guilt rating: historically 6, currently 3 &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;How many times have you seen this:&amp;nbsp; A program is deployed and works perfect on developer's machines.&amp;nbsp; It goes to a client machine and the setup fails.&amp;nbsp; The developer goes over to fix it and gets it installed. They user runs it and it breaks again. "Oh, you need to have a C:\Whatever\Documents directory before it will run."&amp;nbsp; Then they add it and something else breaks. This goes on and on and on. Each time it's probably because of some hard coded assumption that the developer didn't want. Developers make assumptions about how code will be used that the world doesn't know about and shouldn't need to know about. Not using configuration for instance is a common problem.&amp;nbsp; Hard coding stuff that shouldn't be.&amp;nbsp; Or, "Oh, well you passed in a null and it can't accept a null." So you reply "Then why isn't it documented and why doens't it throw an argument exception or something?"&amp;nbsp; You hear "Well, what's the difference if it throws an argument exception or a null reference exception, either way it's an exception." &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face=Verdana size=2&gt;#6 Thinking you know everything&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Personal guilt rating: historically 6, currently&amp;nbsp;4 &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;You aren't going to learn Remoting in a day. You might be able to make something respond, but you aren't going to learn remoting in a day. You aren't going to learn OOD in a week. You aren't going to learn ADO.NET in a day. As a matter of fact, you aren't going to learn most things without some effort. And just because you made it work doesnt' mean you know it.&amp;nbsp; Yes, I can copy code from Code Project too - that doesn't mean I know it.&amp;nbsp; Too many times I've heard people say they 'know' something just b/c they made one project work. One time, I did a presentation on Speech Server emphasizing how easy it is to get some of the things working. One of the participants went home, created a grammar, and decided he knew Speech Server. He went to his boss and pitched the idea that they could Speech Enable their whole order processing system.&amp;nbsp; Three weeks later the guy emailed me offering me obscene amounts of money to come in and bail him out. Creating a grammar to recoginze a list of names is not hard. I want everyone to use Speech Server. But doing a simple recognition doens't mean you know it.&amp;nbsp; Creating a Remoting server doesn't mean you know remoting.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;As a matter of fact, I'd go so far as to say this... If you can't code the guts of the class without using an external reference, you don't 'know' it. Sure, we all need to look things up and there's nothing wrong with it. But if you can't open a database connection and fire a command without looking up how to do it, you don't know ADO.NET. If you need help writing a call to the database that doesn't use SqlHelper, you don't know ADO.NET.&amp;nbsp; If you only use code you've copied or other developer's have written, you don't know it.&amp;nbsp; Knowing it means you understand it, you can explain it, you can troubleshoot it and you don't make a bunch of false assumptions about what's causing a problem.&amp;nbsp; I'm NOT criticizing looking things up, but before you say you "Know" something, you ought to know it. And you ought to have spent some time learning why it works the way it does and how it works.&amp;nbsp; If you can answer any question in the world as long as you have MSN Search, it doesn't make you an expert at anything other than searching for other people's answers.&amp;nbsp; Again, I'm not criticizing this, but if you claim to know something, you ought to be one of the people who's answers you find in MSN Search.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Database normalization is one of my favorites. Everyone 'knows' normalization.&amp;nbsp; Yet if you ask them about design, many people sure seem to not really know it. &lt;/FONT&gt;&lt;A href="http://jjbresearch.org/acs/blogs/optionsscalper/archive/2005/06/12/OnTheUseOfRA.aspx"&gt;&lt;FONT face=Verdana size=2&gt;optionsScalper&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;has one of the best examples of this that I've come across. He's a genius for many reasons, this is just one of them. Don't claim you 'know' Relational database theory if you don't know the difference between ANY of the normal forms. Don't claim you know database theory if you don't know a single normal form.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;What about UML?&amp;nbsp; How many people 'know' UML?&amp;nbsp; Then ask them to create a sequence diagram. "Uhh, I don't really know those, I know object modelling."&amp;nbsp; Ok, draw a Foo that implements bar and inherits from Foobar.&amp;nbsp; "Uhh, i don't know that." Then you don't know UML.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Web Services? If you don't know about the proxy class and what purpose it serves, don't tell me you know web services. Yes, I can create one too with the designer - that doesn't mean you 'know' web services.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Remoting?&amp;nbsp; Better be able to tell me why you can't remote a SqlConnection object.&amp;nbsp; &lt;/FONT&gt;&lt;A href="http://www.atrevido.net/blog/default.aspx?date=2004-07-23"&gt;&lt;FONT face=Verdana size=2&gt;Michael says it best though...&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I could go on, but you get the idea.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face=Verdana size=2&gt;#7 Resting on your laurels&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Personal guilt rating: historically 3, currently&amp;nbsp;7 &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;What have you done LATELY? You might have been the man at C. You might have been the best VB2 coder on earth. That doesn't mean you automatically know more than someone in .NET. Just because someone is younger than you doesn't mean they know less or that they are wrong.&amp;nbsp; Just b/c you're a MCAD, MVP , MSCE or whatever, doesn't mean your automatically right.&amp;nbsp; In my case, I've been writing books for most of 2006 and have gotten behind on LINQ for example. I've gotten behind on a few 2.0 topics. I go over to the ADO.NET newsgroup and remember when I could answer just about any question asked. I can still answer a bunch, but not every one.&amp;nbsp; I got rusty.&amp;nbsp; Who I was two years ago means squat now. And until I bust my butt getting caught up, I have to accept that. If you don't buy a lot of books, read a lot of technology articles, USE new features, you're going to get behind. This is a fast game and a lot of folks that were big shots in 2001 are &lt;/FONT&gt;&lt;A href="http://www.charlescarroll.com/"&gt;&lt;FONT face=Verdana size=2&gt;nothing now.&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp; Nothing is more sad than seeing someone that can't deal with the fact that they feel from glory. They are bitter. They belittle others. They are condescending and defensive.&amp;nbsp; That's what happens in some cases.&amp;nbsp; The same can happen to anyone and if you don't work really hard to do something about it, you can rest assured that it will. People that keep up with the game for a long period of time turn into your &lt;/FONT&gt;&lt;A href="http://www.wintellect.com/"&gt;&lt;FONT face=Verdana size=2&gt;Wintellectuals&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; , your &lt;/FONT&gt;&lt;A href="http://www.betav.com/"&gt;&lt;FONT face=Verdana size=2&gt;Bill Vaughn's&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; and the like - but they didn't get their by resting on their laurels.&amp;nbsp; they got there by hard work over a long period of time. And if you want to be 'the man', you're going to have to do the same.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;--------&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Let me also point out that I think each of these are Sins precisely b/c I've been guilty of them and realize I was wrong.&amp;nbsp; I probably sound a little sanctimonious at times, but that's only b/c I was as guilty as anyone in many cases and have seen the light. I'm still not totally innocent but I try to keep an eye out for it b/c I know, these can hurt you more than you know.( Just like former smokers are the most ardent anti-smoking zealots, that's pretty much how I'd characterize myself.&amp;nbsp; One of the main reasons I wrote this up is so that I can keep looking at it and remind myself of how dangerous these can be.&amp;nbsp;) &amp;nbsp;And by the time you realize you're guilty of them, damage has already started taking place.&amp;nbsp; I encourage everyone else to add their own list and link back to Eric's original post.&amp;nbsp;&amp;nbsp; Trackback to this or shoot me an email and I'll publish your list too.&lt;/FONT&gt;&lt;/P&gt;</description></item><item><title>Why Avoid Code  Behind?</title><link>http://msmvps.com/blogs/williamryan/archive/2006/03/26/87806.aspx</link><pubDate>Sun, 26 Mar 2006 05:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:87806</guid><dc:creator>William</dc:creator><description>&lt;FONT face=Verdana size=2&gt;I spent the good part of this week debugging and redoing a bunch of ASP.NET code that featured the no code behind approach prominently.&amp;nbsp; It was excrutiating to say the least. I know &lt;A href="http://www.learnasp.com/"&gt;Boiling Springs' Greatest Unemployed Guru&lt;/A&gt; is a big advocate of this approach, but is there really any possible benefit to avoiding Code Behind?&amp;nbsp; If so, please school me because I sure as hell don't see it.&lt;/FONT&gt;</description></item><item><title>College Debate...</title><link>http://msmvps.com/blogs/williamryan/archive/2005/02/28/37265.aspx</link><pubDate>Mon, 28 Feb 2005 06:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:37265</guid><dc:creator>William</dc:creator><description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;A little while ago, I was at my favorite local restaurant minding my own business reading &lt;A href="http://www.apress.com/book/bookDisplay.html?bID=374"&gt;the Updated version of Ingo's Killer remoting book&lt;/A&gt;.&amp;nbsp; I eat there regularly and use it as a time to catch up on my reading - then I usually go home and try out a few of the things I read about.&amp;nbsp; Anyway, when I got there a few teenagers sat down in the booth behind me.&amp;nbsp; What happened afterward just blew my mind:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Kid 1:&amp;nbsp; &amp;#8220;Dude, you're crazy, Clemson is way cooler than USC&amp;#8221;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Kid2: &amp;#8220;No way man, USC is way better, the frats are cooler and you can get way more &lt;STRONG&gt;&lt;EM&gt;Putang&lt;/EM&gt;&lt;/STRONG&gt;&amp;#8221;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Kid1: &amp;#8220;Dude, your wack, Clemson has mad parties and there chicks are way hotter.&amp;#8220;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Kid3: &amp;#8220;It's not PUTANG, It's PUNTANG&amp;#8220;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Kid1: &amp;#8220;Nuh uh - it's Putang you dork&amp;#8220;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Kid2: &amp;#8220;No it's not, it's PUN- TANG - with an N - why do you think they call it PUNE?&amp;#8220;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Who can debate that logic?&amp;nbsp; I don't know why I found this particularly funny, but I recall the legend about old school intellectuals/theologians arguing over how many &lt;A href="http://www.straightdope.com/classics/a4_132.html"&gt;angels could dance on the head of a needle.&lt;/A&gt;&amp;nbsp;If this really happened, I really can't see how&amp;nbsp;society&amp;nbsp;has moved forward intellectually (although I can certainly tell you which discussion I'd rather partake in ).&amp;nbsp; So as luck&amp;nbsp;would have it, I just took a big swig of diet coke and was overcome with laughter - spitting diet coke through my nose I was laughing so hard.&amp;nbsp; I couldn't have been more obvious.&amp;nbsp; So the one kid says &amp;#8220;See, even that dude knows that it's PUN TANG&amp;#8221; which for some reason, made me laugh even harder.&amp;nbsp;&amp;nbsp;So there I was with my brand new book&amp;nbsp;and smartphone slobbering diet coke all over them.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;I know, I know, this is terribly immature&amp;nbsp;and hardly appropo for a technical blog - so I actually decided to code it so I'd at least have some technical reason for such a mindless post.&amp;nbsp; Btw, does anyone have any insight into which one is technically correct?&amp;nbsp; That &amp;#8220;Pune&amp;#8221; argument wasn't rebutted so I'm leaning toward that as the better argument:&lt;/FONT&gt;&lt;CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;enum&lt;/FONT&gt; PropsectiveStudentCollege :&lt;FONT color=#0000ff&gt;uint&lt;/FONT&gt;&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SouthCarolina = 0,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Clemson = 1&lt;BR&gt;}&lt;BR&gt;String GenetaliaSlang(PropsectiveStudentCollege college)&lt;BR&gt;{&lt;BR&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp; switch&lt;/FONT&gt;(college)&lt;BR&gt;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;case&lt;/FONT&gt; PropsectiveStudentCollege.Clemson:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;return&lt;/FONT&gt; "Putang"; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;case&lt;/FONT&gt; PropsectiveStudentCollege.SouthCarolina:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;return&lt;/FONT&gt; "PuNtang";&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;default&lt;/FONT&gt;:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;return&lt;/FONT&gt; "GetALifeBill";&lt;BR&gt;&amp;nbsp; }&lt;BR&gt;}&lt;BR&gt;-------------&lt;/P&gt;
&lt;P&gt;Update, after checking in the &lt;A href="http://www.bartleby.com/61/22/P0442250.html"&gt;dictionary&lt;/A&gt;&amp;nbsp;- it appears PoonTang is the technically correct way to pronounce it.&amp;nbsp; I honestly can't believe it made it into the &lt;A href="http://www.bartleby.com/61/22/P0442250.html"&gt;Dictionary&lt;/A&gt;&lt;/CODE&gt;&lt;/P&gt;</description></item><item><title>Improving a CAPTCHA - An idea</title><link>http://msmvps.com/blogs/williamryan/archive/2005/01/31/34428.aspx</link><pubDate>Mon, 31 Jan 2005 06:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:34428</guid><dc:creator>William</dc:creator><description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Ok, so you have probably already heard about &lt;A href="http://www.brains-n-brawn.com/default.aspx?vDir=aicaptcha"&gt;all of the controversy&lt;/A&gt;&amp;nbsp;my homey &lt;A href="http://www.brains-n-brawn.com/"&gt;KC&lt;/A&gt; caused with his Captcha beater.&amp;nbsp; He posted his suggestions on how to make Captcha stronge, which are provided below:&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;render the characters with different colors 
&lt;LI&gt;make some characters darker than the background, and some lighter 
&lt;LI&gt;use gradient colors for the backgrounds and the characters 
&lt;LI&gt;dont align all the characters vertically 
&lt;LI&gt;dont make the answers words, so that a dictionary could be used 
&lt;LI&gt;use more characters and symbols 
&lt;LI&gt;use uppercase and lowercase characters 
&lt;LI&gt;use a different number of characters each time 
&lt;LI&gt;rotate some of the characters more drastically (i.e. upside down) 
&lt;LI&gt;do more overlapping of characters 
&lt;LI&gt;make some pixels of&amp;nbsp;a single&amp;nbsp;character not touching 
&lt;LI&gt;have grid lines that cross over the characters with their same color 
&lt;LI&gt;consider asking natural language questions &lt;/LI&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;But I was thinking about an addition.&amp;nbsp; In my building, we have an access code to get in the building on weekends and extreme hours - and you basically punch in your code.&amp;nbsp; The buttons are all LED so the numbers appear Lit up vs. being painted on or hard coded.&amp;nbsp; However it's got one neat twist to it -- you hit an &amp;#8220;Enter Code&amp;#8221; button, since it's LED, the numbers appear in a scrambled format.&amp;nbsp; So you never know where any given number is going to show up.&amp;nbsp;&amp;nbsp; This is done, ostensibly, to keep someone from looking over your shoulder and figuring out what you just punched.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;So, how does this relate to captcha?&amp;nbsp; Well, randomly, you could attach a number to either the top, bottom, left or right of a given character.&amp;nbsp; So if a was the first character, but it had a 3 next to it - it would need to be entered third.&amp;nbsp; You could rotate the numbers around different parts of the letters to help prevent reading across - bottom etc - it would have the side benefit if making it more difficult to figure out the base numbers.&amp;nbsp; And if you really wanted to get tricky, you could make it so you appended some other crap in front of the number just to really throw a monkey wrench into the process.&amp;nbsp; Also, you could embed something like &amp;#8220;ALL CAP LETTERS&amp;#8221; or so even if there was an 'a', you'd need to enter an 'A'.&amp;nbsp; So far from what I've been toying with - writing this is a whole lot easier than reading it will be (which is good) - b/c I'm trying to copy what casey did and just getting the pixels is enough of a pain in the a33 for me to get frustrated.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;</description></item><item><title>http://www.everythingado.net</title><link>http://msmvps.com/blogs/williamryan/archive/2005/01/30/34242.aspx</link><pubDate>Sun, 30 Jan 2005 06:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:34242</guid><dc:creator>William</dc:creator><description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Well, I finally bit the bullet and purchased my site from Brinkster.&amp;nbsp; I'm going to be hosting blogs for a few of my disaffected DNJ friends - but well, due to the nature of the site - I'm not handing them out to everyone - If I know you, or you can convince me your not a dork, or if you're a dork and can convince me you have some technical content - drop me a line or if you're a&amp;nbsp;regular contributor to a newsgroup that begins with microsoft.public.dotnet.framework - if it ends with compactframework or adonet then you're automatically invited.&amp;nbsp;&amp;nbsp; I'm also going to have a Uncensored portion or which is going to be cool - Bridgette Kerkove, Jenna Jameson, Janine &amp;amp; TS&amp;nbsp;type of cool.&amp;nbsp; I'm debating about how to host the &amp;#8220;Unrelated Cool&amp;#8220; content - probably make it restricted access.&amp;nbsp; And on the off chance you're wondering - no, I'm not moving my blog over there.&amp;nbsp; I really dig it here.&amp;nbsp; But I want to do a few things.&amp;nbsp; Sahil already found a good place but it seems DNJ is going to crap these days - I see more Exception messages than I do content since 2005 began.&amp;nbsp; I also want to host a few web services that are public, a few private ones that I can dish out the tokens to if people are interested... etc etc.Part of the reason I want to host my own Text stuff is b/c I want to mod it out - and I can't create skinz and stuff without being an pain in the a33 to the wonderful patron of this site.&amp;nbsp; basically I just want a playground - ADO.NET and Compact Framework oriented - where I and other people that don't write me STUPID hate mail all the time can use.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;But the real rub is that it looks like they are going to let me install the 2.0 framework to run some ASP.NET 2.0 and Yukon samples on.&amp;nbsp; Still gotta check with MS and make sure this is ok but I think it will be.&amp;nbsp; If it is, then there's Lot's o Potential.&amp;nbsp; Can't get too into the details now - but using Yukon - there's potentially a much cooler way to send out notifications that articles have been posted, blogs updated, or Bridgette has another movie available.&amp;nbsp;Also, Sonny &amp;amp; EDC the Coding Cuckooz are going to be active in development - and you know what sort of stuff they are interested in.&amp;nbsp; Suffering at the moment from More ideas than ability to stay awake...............&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Setting up .Text is a total pain in the a33 - at least so far it has been.&amp;nbsp; It's mainly the web interface and all the f**** sql scripts that I have to run - ONE AT A TIME.&amp;nbsp; Anyway, I'm screwing around with .NET Nuke and one of the starter kits. can't figure out which one I prefer.&amp;nbsp; Feedback is welcome.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;I'm also working w/ one of the starter kits but I'm leaning more toward .NET Nuke.&amp;nbsp; Not sure if the hype is real but I hear it is - so sometime tomorrow hopefully I'll have made up my mind.&amp;nbsp; I won't be doing anything other than sitting in my apartment wondering why this whole f~ck1ng city is shut down b/c of 1/2 an inch of snow - so I should get something done. &lt;/FONT&gt;&lt;/P&gt;</description></item></channel></rss>