<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JohnnyCoder &#187; Rants</title>
	<atom:link href="http://johnnycoder.com/blog/category/rants/feed/" rel="self" type="application/rss+xml" />
	<link>http://johnnycoder.com/blog</link>
	<description></description>
	<lastBuildDate>Tue, 10 Apr 2012 00:14:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Don&#8217;t Skip A Code Review</title>
		<link>http://johnnycoder.com/blog/2010/08/13/dont-choose-option-2/</link>
		<comments>http://johnnycoder.com/blog/2010/08/13/dont-choose-option-2/#comments</comments>
		<pubDate>Sat, 14 Aug 2010 00:32:27 +0000</pubDate>
		<dc:creator>Ben Griswold</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://johnnycoder.com/blog/2010/08/13/dont-choose-option-2/</guid>
		<description><![CDATA[Does this ever happen to you? You finish coding something up and the very second before you become pleased with yourself you suppress that wonderful feeling and wrestle with the fact that coders aren’t exactly impartial when it comes to judging their own code. You realize you have two options. 1, you can accept the [...]]]></description>
			<content:encoded><![CDATA[<p>Does this ever happen to you? You finish coding something up and the very second <em>before</em> you become pleased with yourself you suppress that wonderful feeling and wrestle with the fact that coders aren’t exactly impartial when it comes to judging their own code. You realize you have two options. 1, you can accept the fact that a second pair of eyes can’t hurt and you can go around the office in search of that nonbiased someone who is willing to sit down, review your code and provide honest feedback. Or 2, you can say “to heck with it” and just move on to the next thing.&#160; </p>
<p>I’ll leave you with this – <strong>there is value in every code review</strong>.&#160; Whether it’s you, or the reviewer, or the project, someone/something is always better off because of a code review.&#160; Next time, don’t avoid a code review.&#160; And who knows?&#160; Maybe you’ll get that chance to be pleased with yourself after all. </p>
]]></content:encoded>
			<wfw:commentRss>http://johnnycoder.com/blog/2010/08/13/dont-choose-option-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>My Mother Bought a Droid</title>
		<link>http://johnnycoder.com/blog/2010/02/07/my-mother-bought-a-droid/</link>
		<comments>http://johnnycoder.com/blog/2010/02/07/my-mother-bought-a-droid/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 03:46:08 +0000</pubDate>
		<dc:creator>Ben Griswold</dc:creator>
				<category><![CDATA[Rants]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://johnnycoder.com/blog/2010/02/07/my-mother-bought-a-droid/</guid>
		<description><![CDATA[I converted to iPhone two years ago when I left my former employer and my Blackberry behind. The truth is I half-heartedly purchased my iPhone. It was a great looking device, but as far as I was concerned, it was a mere toy compared to my Blackberry.&#160; I remember hiding the toy in my briefcase [...]]]></description>
			<content:encoded><![CDATA[<p>I converted to iPhone two years ago when I left my former employer and my Blackberry behind. The truth is I half-heartedly purchased my iPhone. It was a great looking device, but as far as I was concerned, it was a mere toy compared to my Blackberry.&#160; I remember hiding the toy in my briefcase when attending business meetings because I didn’t consider it to be professional enough.&#160; I&#8217;ve since owned all three generations of the iPhone and, well, iPhone seems to have caught on. I still miss the click of the Blackberry keyboard and the blinking red light letting me know that someone/something requires my attention, but I’m officially an iPhone fanboy now.&#160; </p>
<p>My mom called last weekend and asked if she should buy an iPhone. I talked her ear off about everything I love about iPhone. I went on for about twenty minutes. I couldn&#8217;t help myself. I mentioned everything from my podcast subscriptions to the application which manages my workouts.&#160; I went as far as to say that someday all smart phones will be referred to as iPhones just like all tissues are referred to as Kleenex and all sodas are referred to as <a href="http://johnnycoder.com/blog/wp-content/uploads/2010/02/att-mark-the-spot-app.png"><img style="border-right-width: 0px; margin: 10px 0px 10px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="att_mark_the_spot_app" border="0" alt="att_mark_the_spot_app" align="right" src="http://johnnycoder.com/blog/wp-content/uploads/2010/02/att-mark-the-spot-app-thumb.png" width="169" height="244" /></a>Cokes.&#160; I was really on a roll and then I stopped. I had to…the call dropped.&#160; There I was, strategically standing in the far corner of my backyard where I get the most reliable AT&amp;T reception and the call drops in middle of my iPhone pitch.&#160; Folks, I don’t care how good a salesperson you are, it’s tough to recover from a situation like this.&#160;&#160; </p>
<p>I dialed my mom back and jokingly asked if she was planning to make calls with her new phone. I explained that AT&amp;T is bound to provide better service eventually but I&#8217;m not sure she should wait. After all, I have troubles with the network in San Diego and I can only image how bad it would be for her in Western Massachusetts. </p>
<p>Mom called back a few days later exclaiming, “I bought a Droid! I love this phone! I haven&#8217;t done anything with it but make phone calls, but I love it.”&#160; I had to laugh.&#160; My mom made the right call (pun intended.)&#160; </p>
<p>The iPhone is an amazing device, but owners are constantly reminded that its core function (it’s a phone, remember?) is subpar.&#160; If you love gadgets, you’re probably enthralled by iPhone’s many bells and whistles and, relatively speaking, the terrible phone service might not amount to much.&#160; (Maybe it amounts to a rant on your blog.) The overall iPhone offering is so attractive that consumers are willing to wait for AT&amp;T to straighten up their act or wait until Apple grants a choice of carriers.&#160; But I don’t see either of these remedies coming soon. In the interim, I’m willing to take my iPhone for what it is and just continue to enjoy my favorite features while pretending that poor coverage isn’t a big deal. With any luck, more and more reasonable folks will recognize that Android Phones are legitimate players in the smart phone space, they will buy loads of them and there will become plenty of functional phones to borrow when my “phone” is showing zero bars.&#160; Heck, I’m already covered when I visit my mom.</p>
]]></content:encoded>
			<wfw:commentRss>http://johnnycoder.com/blog/2010/02/07/my-mother-bought-a-droid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Forced Learning</title>
		<link>http://johnnycoder.com/blog/2009/12/18/forced-learning/</link>
		<comments>http://johnnycoder.com/blog/2009/12/18/forced-learning/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 19:43:12 +0000</pubDate>
		<dc:creator>Ben Griswold</dc:creator>
				<category><![CDATA[Presentations]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://johnnycoder.com/blog/2009/12/18/forced-learning/</guid>
		<description><![CDATA[If you ask me, it can be a little intimidating to stand in front of a group and walkthrough anything remotely technical. Even if you know “Technical Thingy #52” inside and out, public speaking can be unsettling.&#160; And if you don’t have your stuff together, well, it can be downright horrifying. With that said, if [...]]]></description>
			<content:encoded><![CDATA[<p>If you ask me, it can be a little intimidating to stand in front of a group and walkthrough anything remotely technical. Even if you know “Technical Thingy #52” inside and out, public speaking can be unsettling.&#160; And if you don’t have your stuff together, well, it can be downright horrifying. With that said, if given the choice, I still like to schedule myself to present on unfamiliar topics. <img style="margin: 0px 0px 0px 20px; display: inline" align="right" src="http://www.dpkpr.com/attachments/wysiwyg/5/Public-Speaking.jpg" width="171" height="240" /></p>
<p>Over the past few months, I&#8217;ve talked about Aspect-Oriented Programming, Functional Programming, Lean Software Development and Kanban Systems, Domain-Driven Design and Behavior Driven Development.&#160; What do these topics have in common? You guessed it: </p>
<ol>
<li>I was truly interested in them. </li>
<li>I had only a superficial understanding of each. </li>
</ol>
<p><strong>Huh?</strong>&#160; Why in the world would I ever want to to put myself in that intimidating situation?</p>
<p>Actually, I rarely <em>want </em>to put myself into that situation but I often do as I like the results.&#160; There’s nothing remotely clever going on here.&#160; All I’m doing is putting myself into a compromising situation knowing that I’ll likely work myself out of it by learning the topic prior to the presentation.&#160; I’m simply time-boxing myself to learn something new while knowing there are negative repercussions if I fall short. So, I end up doing tons of research and I learn bunches to ensure I have my head firmly wrap around the material before my talk. I’m not saying I become an expert overnight (or over a couple of weeks) but I’ll definitely know enough to be confident and comfortable and I’ll know more than enough to ensure the audience will learn a thing or two from me. It’s forced learning and though it might sound a little scary to some, it works for me.</p>
<p>Now I could very easily rename this post to something like <em>Fear Is My Motivator </em>because, in a sense, fear of failure and embarrassment is what’s driving my learning. However, I’m the guy signing up for the presentation and since the entire process is self-imposed I’m not sure Fear deserves too much credit.&#160; </p>
<p>Anyway…</p>
]]></content:encoded>
			<wfw:commentRss>http://johnnycoder.com/blog/2009/12/18/forced-learning/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Firefox Has Stopped Working&#8230;Again</title>
		<link>http://johnnycoder.com/blog/2008/07/09/firefox-has-stopped-workingagain/</link>
		<comments>http://johnnycoder.com/blog/2008/07/09/firefox-has-stopped-workingagain/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 00:08:02 +0000</pubDate>
		<dc:creator>Ben Griswold</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://johnnycoder.com/blog/2008/07/09/firefox-has-stopped-workingagain/</guid>
		<description><![CDATA[I can&#8217;t possibly count the number of times the beautiful &#8220;Firefix has stopped working&#8221; message has popped up over the past two weeks.  Sometimes, when the coding gods are smiling down on me, I am lucky enough to get the Restore Session / Start New Session prompt after I &#8220;Close program&#8221; and relaunch.  The majority [...]]]></description>
			<content:encoded><![CDATA[<p>I can&#8217;t possibly count the number of times the beautiful &#8220;Firefix has stopped working&#8221; message has popped up over the past two weeks. </p>
<p><a href="http://johnnycoder.com/blog/wp-content/uploads/2008/07/image4.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://johnnycoder.com/blog/wp-content/uploads/2008/07/image-thumb4.png" border="0" alt="image" width="426" height="256" /></a></p>
<p>Sometimes, when the coding gods are smiling down on me, I am lucky enough to get the Restore Session / Start New Session prompt after I &#8220;Close program&#8221; and relaunch.  The majority of the time, however, I just keep getting the &#8220;Firefox has stopped working&#8221; message until I reboot my machine &#8212; a task I try to avoid in the middle of the work day.  I don&#8217;t know about you but I find it difficult to code when my computer is offline. </p>
<p><a href="http://johnnycoder.com/blog/wp-content/uploads/2008/07/image5.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://johnnycoder.com/blog/wp-content/uploads/2008/07/image-thumb5.png" border="0" alt="image" width="452" height="136" /></a></p>
<p>As a result, IE became my default browser today because I simply do not have the time to debug the issue.  I&#8217;ll miss you firebug&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://johnnycoder.com/blog/2008/07/09/firefox-has-stopped-workingagain/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Unoriginal Thoughts Bear Repeating</title>
		<link>http://johnnycoder.com/blog/2008/06/18/unoriginal-thoughts-bears-repeating/</link>
		<comments>http://johnnycoder.com/blog/2008/06/18/unoriginal-thoughts-bears-repeating/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 05:06:00 +0000</pubDate>
		<dc:creator>Ben Griswold</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[Team]]></category>

		<guid isPermaLink="false">http://johnnycoder.com/blog/2008/06/18/unoriginal-thoughts-bears-repeating/</guid>
		<description><![CDATA[I suspect every blogger aspires to publish original content.  Unfortunately, in a world where original thoughts/ideas no longer exist, this is virtually impossible. Maybe I am making this up, but I think it is only a matter of time before thoughts are appropriately republished.  It&#8217;s like fashion.  This year&#8217;s hip style was trendy in one [...]]]></description>
			<content:encoded><![CDATA[<p>I suspect every blogger aspires to publish original content.  Unfortunately, in a world where original thoughts/ideas no longer exist, this is virtually impossible. <a href="http://johnnycoder.com/blog/wp-content/uploads/2008/06/image13.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 10px; border-right-width: 0px" src="http://johnnycoder.com/blog/wp-content/uploads/2008/06/image-thumb9.png" border="0" alt="image" width="244" height="243" align="right" /></a></p>
<p>Maybe I am making this up, but I think it is only a matter of time before thoughts are appropriately republished.  It&#8217;s like fashion.  This year&#8217;s hip style was trendy in one form or another years ago.  The style was literally worn out, then put on a shelf until someone came along and decided to put a form of those super &#8220;new&#8221; pants back on.  Like the clothes we wear (the music we listen to, the TV we watch), thoughts become fresh and new if enough time passes. You may have noticed this <em>phenomenon</em> recently when blog and podcast conversations turned to topics like whether or not developers should learn C or whether or not developers should still be using stored procedures.  </p>
<p>There&#8217;s also plenty of really great content which didn&#8217;t get enough looks the first time around, didn&#8217;t rank high in Google and, as far as I am concerned, is basically lost for ever.  Earlier today, for example, I was trying to track down some information. I knew the blog and the general topic. Actually, I remembered specific text but I still couldn&#8217;t find the post in the sea of information.  Lost forever. One of the reasons good content gets lost in the shuffle is the fact that there is very literally too much information available to us. It is information overload thanks to all of the non-stop blogging/Twittering/video-making/podcasting/book-writing folks in the tech community.</p>
<p>Again, I believe every blogger aspires to publish original content.  I know <a href="http://johnnycoder.com/blog/2008/05/19/back-from-the-dead/">I have always been concerned with writing about things which have already been said</a>, but does this attitude make sense considering how much information deserves more attention or even a second chance?  Having only started to read/write blog posts about two years ago, I, for one, have missed a lot and I sure am thankful that good content tends to echoes since most of the online debates are news to me.  Everything is cyclical and the good topics are noteworthy each time around.  <strong>Do you think good information bears repeating?</strong> </p>
<p>I&#8217;m going to wrap with three unoriginal thoughts:</p>
<ol>
<li>A Suggestion: To all of the folks contributing to the information overload, get back to work! And by &#8220;work,&#8221; I mean your real jobs. I can&#8217;t keep up with you. Can anybody?</li>
<li>A Recommendation:  The <a href="http://blog.stackoverflow.com/">stackoverflow podcast</a> is excellent.  It is a great, hardly-ever-on-topic, unscripted, one-hour, weekly dialogue between two industry enthusiasts, <a href="http://www.codinghorror.com/blog/">Jeff Atwood</a> and <a href="http://www.joelonsoftware.com/">Joel Spolsky</a>, about their new stackoverflow.com endeavor.  It&#8217;s truly enjoyable.  You will laugh.  You will cry.  You should listen in. </li>
<li>A Quick Story: I listened to Stackoverflow podcast #7 last night.  This was a delinquent listen as it was recorded on 5/27.  Part of the discussion revolved around OpenID which prompted Joel to play the role of a future stackoverflow user and setup an account.  The registration process was easy although Joel struggled to interpret the characters displayed in the <a href="https://www.myopenid.com/">MyOpenID</a> CAPTCHA. He went as far as to comment about the CAPTCHA audio display.  So, I reviewed my archived posts this morning and <a href="http://johnnycoder.com/blog/2008/06/10/captcha-roulette/">I wrote about that exact topic on 6/10.</a>  Hearing the words coming out of Joel&#8217;s mouth last night made my stomach sink as I technically posted unoriginal content about two weeks after it was presented in the podcast.  By no means am I saying the CAPTCHA observations are really great topics, but I guess I am still concerned with writing about things which have already been said.  If this post speaks to anyone, I hope it is me.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://johnnycoder.com/blog/2008/06/18/unoriginal-thoughts-bears-repeating/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s the Level of Difficulty?</title>
		<link>http://johnnycoder.com/blog/2008/06/17/whats-the-level-of-difficulty/</link>
		<comments>http://johnnycoder.com/blog/2008/06/17/whats-the-level-of-difficulty/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 21:45:34 +0000</pubDate>
		<dc:creator>Ben Griswold</dc:creator>
				<category><![CDATA[Estimates]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://johnnycoder.com/blog/2008/06/17/whats-the-level-of-difficulty/</guid>
		<description><![CDATA[My customer recently asked me if my current coding assignment is difficult.  I believe his exact question was, &#8220;On a scale of 1 to 10, how technically difficult is this project?&#8221;  If you have been in the software development business for more than 2 hours, you know this is a loaded question.  Quickly reply with [...]]]></description>
			<content:encoded><![CDATA[<p>My customer recently asked me if my current coding assignment is difficult.  I believe his exact question was, &#8220;On a scale of 1 to 10, how technically difficult is this project?&#8221;  If you have been in the software development business for more than 2 hours, you know this is a loaded question.  Quickly reply with &#8220;It&#8217;s highly technical and super hard&#8221; and you may be perceived as being over-your-head or even incompetent.  If you say &#8220;It&#8217;s super <a href="http://johnnycoder.com/blog/wp-content/uploads/2008/06/image12.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px; border-right-width: 0px" src="http://johnnycoder.com/blog/wp-content/uploads/2008/06/image-thumb8.png" border="0" alt="image" width="122" height="123" align="right" /></a>easy&#8221; the customer may wish to speed up the product delivery or wonder why your code hasn&#8217;t been delivered already.  Say anything in between and, well, your client may think you&#8217;re keeping something from them.</p>
<p>Fortunately for me, I&#8217;ve built up a good working relationship with my client (who&#8217;s a very reasonable guy) and I have gained trust through regular status and deliverables.  We&#8217;re both happy with the current state of the project and therefore I took the question as he merely being curious.  I have given the benefit of the doubt and I don&#8217;t believe the question was loaded at all.  Time will tell&#8230;</p>
<p>Notwithstanding, as uncomfortable as the question is when coming from your customer, project manager or project lead, it is still a great question to ask yourself.  A number of factors should play into your answer but I&#8217;m willing to bet there&#8217;s an aspect of your effort which factors in the most.  For example, my biggest factor is the sheer number of components.  If you have worked with me for any duration of time, I hope you know I keep my architecture as simple as possible at all costs.  My ego doesn&#8217;t like it but my tiny brain and my clients tend to thank me for it.  Though I whole-heartedly stick by the architecture I&#8217;ve put in place for my current effort, it is made up of a dizzying number of components &#8212; certainly more components than the typical, single-developer, 3-month assignment. Specifically, I am hosting a web application, web service and a SQL 2005 DB.  I am also distributing a Windows application, Windows service and a third party application to client machine&#8217;s using custom installers.  The web site features online order/purchasing and reports using Adobe Flex.  All development (other than Flex) is using .NET 3.5 Framework and I&#8217;ve opted to use WPF for the Windows application.  With the exception of Flex (which I&#8217;m hoping goes away soon) and WPF, it&#8217;s all stuff I&#8217;ve done before although it has been an awfully long time since I built a desktop application.  Each piece of this puzzle isn&#8217;t overly difficult on it&#8217;s own, but collectively I think this solution is quite complex.  If I could, I would dumb it down, but I can&#8217;t.  I simply have to acknowledge the complexity and mitigate what I perceive as a risk.</p>
<p>So, on a scale of 1 to 10, how technically difficult is your project?  If it&#8217;s high, is there anything you can do about it or are you kind of &#8220;stuck&#8221; like me?</p>
]]></content:encoded>
			<wfw:commentRss>http://johnnycoder.com/blog/2008/06/17/whats-the-level-of-difficulty/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Important Daylights Savings Time Update</title>
		<link>http://johnnycoder.com/blog/2007/01/30/important-daylights-savings-time-update/</link>
		<comments>http://johnnycoder.com/blog/2007/01/30/important-daylights-savings-time-update/#comments</comments>
		<pubDate>Tue, 30 Jan 2007 17:31:21 +0000</pubDate>
		<dc:creator>Ben Griswold</dc:creator>
				<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://johnnycoder.com/blog/2007/01/30/important-daylights-savings-time-update/</guid>
		<description><![CDATA[I took this post&#8217;s title from the subject line of an email I received from Microsoft this morning: This year Daylight Saving Time (DST) extends by approximately four weeks.&#160; In compliance with this provision in the Energy Policy Act of 2005, DST dates in the United States and Canada will start three weeks earlier (2:00 [...]]]></description>
			<content:encoded><![CDATA[<p>I took this post&#8217;s title from the subject line of an email I received from Microsoft this morning:</p>
<blockquote><p>This year Daylight Saving Time (DST) extends by approximately four weeks.&nbsp; In compliance with this provision in the Energy Policy Act of 2005, DST dates in the United States and Canada will start three weeks earlier (2:00 A.M. on the second Sunday in March) and will end one <a href="http://www.answers.com/topic/binary-clock"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 20px; border-right-width: 0px" height="240" src="http://johnnycoder.com/blog/wp-content/uploads/2007/01/WindowsLiveWriter/ImportantDaylightsSavingsTimeUpdate_80A1/200px-Thinkgeek_binary_clock_thumb1.jpg" width="233" align="right" border="0"></a>week later (2:00 A.M. on the first Sunday in November).</p>
<p>In some instances, effort will be required to accommodate the new DST legislation.&nbsp; For example, systems and applications may need to be updated directly, while in other circumstances the application may inherit the date and time information from the underlying system.</p>
<p>Microsoft is committed to helping customers that are affected by the DST changes make this transition as seamless as possible.&nbsp; Microsoft is producing updates for Windows products as well as other Microsoft products affected by the new U.S. statute.&nbsp; These updates will be released through technical support channels including Microsoft Customer Service &amp; Support (CSS), as well as online channels such as Windows Update and Microsoft Update. </p>
</blockquote>
<p>At first, I thought, &#8220;Can&#8217;t they SPAM me with something better than this?&#8221;&nbsp; Then I rolled back my negative attitude and considered the impact of the many productions servers I&#8217;ve worked with in the past and current being off by one hour.&nbsp; Some of those servers can&#8217;t be off by a second &#8212; nevermind 3600!&nbsp;&nbsp; </p>
<p>Though I&#8217;m sure that updates will be issued well before March 11, it&#8217;s good that MS is bugging us with this stuff if for no other reason than I know too many servers which&nbsp;aren&#8217;t patched/updated on a regular basis.&nbsp; </p>
<p>And it is good to know I will be getting an extra hour of sleep four weeks earlier this year&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://johnnycoder.com/blog/2007/01/30/important-daylights-savings-time-update/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>A Day in the Life of a Coder</title>
		<link>http://johnnycoder.com/blog/2007/01/24/a-day-in-the-life-of-a-coder/</link>
		<comments>http://johnnycoder.com/blog/2007/01/24/a-day-in-the-life-of-a-coder/#comments</comments>
		<pubDate>Thu, 25 Jan 2007 02:32:10 +0000</pubDate>
		<dc:creator>Ben Griswold</dc:creator>
				<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://johnnycoder.com/blog/2007/01/24/a-day-in-the-life-of-a-coder/</guid>
		<description><![CDATA[My mom took up painting a few years ago and I am absolutely amazed with what she is able to create.&#160; It is wonderful.&#160; It is inspiring.&#160; It shows what one can accomplish if they absolutely love what they do. What&#160;I truly admire about the way my mom paints is she is able to take [...]]]></description>
			<content:encoded><![CDATA[</p>
<p>My mom took up painting a few years ago and I am absolutely amazed with what she is able to create.&nbsp; It is wonderful.&nbsp; It is inspiring.&nbsp; It shows what one can accomplish if they absolutely love what they do.</p>
<p>What&nbsp;I truly admire about the way my mom paints is she is able to take a step back, review her&nbsp;painting and&nbsp;with very little hesitation just get rid of&nbsp;it.&nbsp; I&#8217;m not talking about putting the painting in the corner&nbsp;with the expectation of coming back to it some other day.&nbsp; I mean&nbsp;get rid of it.&nbsp;&nbsp;She picks up her brush and&nbsp;begins painting OVER THE TOP of her previous work.&nbsp; Just like that&#8230; She uses the same canvas, but new paints and a new perspective.&nbsp; She gives herself a fresh start with no feeling of loss.&nbsp; It&#8217;s remarkable.</p>
<p>I find when I&#8217;m writing&nbsp;I will occasionally put together what I feel is the perfect sentence.&nbsp; When I review the entire article, I&#8217;ll step&nbsp;back and think, &#8220;Damn it. The perfect sentence just doesn&#8217;t&nbsp;work.&#8221; Then I will work extremely hard in attempt to somehow fit that sentence into the post just because I don&#8217;t want to lose it.&nbsp;&nbsp;I&#8217;ve gone as far as change the entire point of the&nbsp;article in order to salvage a single statement.</p>
<p>Coding can be the same way.&nbsp; I wrote some code last night that I really liked it.&nbsp; As it turns out, today&nbsp;(with a change to business requirements) my code is now 100% useless.&nbsp; I worked really hard to make the code work within the new parameters, but it was a fruitless effort.&nbsp;&nbsp;Ultimately, I took a page out of my mom&#8217;s book.&nbsp; I stepped back, recognized my work was crap (under the new circumstances), took a deep breath and started over.&nbsp; </p>
<p>Yesterday&#8217;s code is no longer part of the project.&nbsp; It&#8217;s another block of code which will never be seen, used, appreciated,&nbsp;laughed at&nbsp;or hated.&nbsp; It&#8217;s just another day in the life of a coder.&nbsp; </p>
]]></content:encoded>
			<wfw:commentRss>http://johnnycoder.com/blog/2007/01/24/a-day-in-the-life-of-a-coder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>January First is Not a Holiday</title>
		<link>http://johnnycoder.com/blog/2007/01/24/january-first-is-not-a-holiday/</link>
		<comments>http://johnnycoder.com/blog/2007/01/24/january-first-is-not-a-holiday/#comments</comments>
		<pubDate>Wed, 24 Jan 2007 09:55:00 +0000</pubDate>
		<dc:creator>Ben Griswold</dc:creator>
				<category><![CDATA[Brain Scratcher]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://johnnycoder.com/blog/2007/01/24/january-first-is-not-a-holiday/</guid>
		<description><![CDATA[If you like to drive your fellow developers mad, here&#8217;s something fun.  The next time you need to manage a bunch of dates, add them to a Hashtable AFTER converting ToString().  For example, DateTime holiday = new DateTime(2007,1,1); Hashtable htHolidays = new Hashtable(); htHolidays.Add(holiday.ToString(), holiday.ToString()); &#8230; Next, create a function similar to the following: public static [...]]]></description>
			<content:encoded><![CDATA[<p>If you like to drive your fellow developers mad, here&#8217;s something fun.  The next time you need to manage a bunch of dates, add them to a Hashtable AFTER converting ToString().  For example,</p>
<div id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:2b0e3cdd-4ff0-438a-92a1-c38ef478e1f0" class="wlWriterSmartContent" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<div><!--  Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/  --><span style="color: #000000;">DateTime holiday </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> DateTime(</span><span style="color: #000000;">2007</span><span style="color: #000000;">,</span><span style="color: #000000;">1</span><span style="color: #000000;">,</span><span style="color: #000000;">1</span><span style="color: #000000;">); Hashtable htHolidays </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Hashtable(); htHolidays.Add(holiday.ToString(), holiday.ToString()); &#8230; </span></div>
</div>
<p>Next, create a function similar to the following:</p>
<div id="57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:f5f0742e-1d48-40fc-8111-e12e45e33fa1" class="wlWriterSmartContent" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<div><!--  Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/  --><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">static</span><span style="color: #000000;"> </span><span style="color: #0000ff;">bool</span><span style="color: #000000;"> isHoliday(</span><span style="color: #0000ff;">string</span><span style="color: #000000;"> checkdate) { DateTime tempdate </span><span style="color: #000000;">=</span><span style="color: #000000;"> Convert.ToDateTime(checkdate); </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (htHolidays.ContainsKey(tempdate)) { </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #0000ff;">true</span><span style="color: #000000;">; } </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #0000ff;">false</span><span style="color: #000000;">; }</span></div>
</div>
<p>Notice you are shifty enough to let the function accept the DATE as a string and then you converted it to a DateTime before checking for its existence in the Hashtable. </p>
<p>Now wait.  Wait until your tired, fellow developer is working through this code at 1AM and they can&#8217;t figure out why 1/1/2007 is not being recognized as a holiday.  Every time your fellow coder hovers his mouse over htHolidays, they find 1/1/2007 in the collection and, without a doubt, tempdate is equal to 1/1/2007.  All the same, the routine returns false and it takes way too long to figure out why.</p>
<p>This is when you laugh.  You got your fellow developer really good with your trick.  Unfortunately, you had to wait a long time for your laugh.  Per source control comments, you waited over three years while the function exclusively returned false in the production environment.</p>
<p>I&#8217;m tired enough to laugh as well, but I should have just gone to bed to dream of <em>System.Collections.Generic</em> rather than live the <em>Hashtable.Add(object key, object value) </em>nightmare.</p>
<p>Good night.</p>
]]></content:encoded>
			<wfw:commentRss>http://johnnycoder.com/blog/2007/01/24/january-first-is-not-a-holiday/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>We&#8217;ve Upgraded Our Site And Your Login</title>
		<link>http://johnnycoder.com/blog/2006/12/06/weve-upgraded-our-site-and-your-login/</link>
		<comments>http://johnnycoder.com/blog/2006/12/06/weve-upgraded-our-site-and-your-login/#comments</comments>
		<pubDate>Wed, 06 Dec 2006 22:46:11 +0000</pubDate>
		<dc:creator>Ben Griswold</dc:creator>
				<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://johnnycoder.com/blog/2006/12/06/weve-upgraded-our-site-and-your-login/</guid>
		<description><![CDATA[This morning, I received an email from my bank announcing the release of &#8220;the new and improved Internet Branch.&#8221;&#160;&#160;I think my bank did a nice job with the announcement since they kept the communication short and sweet yet included everything that needed to be said.&#160; The email&#8217;s largest emphasis was on the newly-implemented, long-awaited enhancements.&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>This morning, I received an email from my bank announcing the release of &#8220;the new and improved Internet Branch.&#8221;&nbsp;&nbsp;I think my bank did a nice job with the announcement since they kept the communication short and sweet yet included everything that needed to be said.&nbsp; The email&#8217;s largest emphasis was on the newly-implemented, long-awaited enhancements.&nbsp; They also provided answers to questions which were sure to arise.&nbsp; For example, they stated that&nbsp;one now needs to enable pop-ups in order to access statements and they gave instructions on how to do so&nbsp;for some browsers.&nbsp; They also provided appropriate contact information in case users require assistance.&nbsp; I don&#8217;t know about you, but I don&#8217;t think release notes should include anything more or anything less&nbsp;no matter how big or small the application upgrade.</p>
<p>Though I was impressed with the communication (and the fact that I didn&#8217;t experience any banking downtime while the latest code was being deployed), I have to question one of the changes.&nbsp;&nbsp;Why in the world did they change my login?&nbsp;&nbsp; I&#8217;ve been logging into the site using my bank account number for the past 5 years &#8212; maybe longer.&nbsp;&nbsp;Today, however, I was only able to log&nbsp;into the site&nbsp;using my account number <u>without the leading zeros</u>.&nbsp;In other words, if I had been using 000121212, I now need to use 121212 instead.&nbsp;You&#8217;re right.&nbsp;This isn&#8217;t that big of a deal, but&nbsp;it makes me wonder why they implemented this change.&nbsp; I have a feeling it was&nbsp;for &#8220;business reasons.&#8221;&nbsp; Or perhaps account numbers were being stored as alphanumeric (I think this is the only way to maintain the leading zeros in the database) and there was a need to standardize on numeric only.&nbsp; I know I have personally witnessed large performance gains from changing account numbers from CHAR(8) to int in SQL Server.&nbsp;In any case, I think my login should have stayed the same.&nbsp; I don&#8217;t think&nbsp;login information&nbsp;should be&nbsp;mucked with unless the user has some say in the matter.&nbsp; Sure.&nbsp; There are times when&nbsp;usernames or passwords absolutely need to be changed.&nbsp; Okay.&nbsp; Then&nbsp;let the user login using&nbsp;their current credentials and then prompt them to make the change themselves, but don&#8217;t make the change them. </p>
<p>In this particular case, I think I would have considered letting the user continue to enter complete account numbers with the leading zeros and all.&nbsp; In the code, I would strip the leading zeros prior to authentication.&nbsp; My small brain can&#8217;t find ay fault in this approach.&nbsp; As a coder, I&#8217;m thinking, &#8220;Keep providing the zeros or don&#8217;t provide the zeros.&nbsp; I don&#8217;t care.&nbsp; I can accommodate and not inconvenience you.&#8221;&nbsp; But who knows?&nbsp; There may be a legitimate reason for the change and, if so, my bank handled it as well as they could&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://johnnycoder.com/blog/2006/12/06/weve-upgraded-our-site-and-your-login/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

