<?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>MikeWitters.com &#187; LifeLessons</title>
	<atom:link href="http://mikewitters.com/category/life-lessons/feed/" rel="self" type="application/rss+xml" />
	<link>http://mikewitters.com</link>
	<description>My $0.02 on stuff.</description>
	<lastBuildDate>Thu, 29 Oct 2009 00:05:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The sleepy software bug.</title>
		<link>http://mikewitters.com/2008/the-sleepy-software-bug/</link>
		<comments>http://mikewitters.com/2008/the-sleepy-software-bug/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 01:46:55 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[LifeLessons]]></category>
		<category><![CDATA[ProfessionalStuff]]></category>
		<category><![CDATA[SoftwareDev]]></category>
		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://mikewitters.com/?p=43</guid>
		<description><![CDATA[First thing this morning I got an email with &#8216;high&#8217; priority.  The subject was &#8216;The Learning Center seems to be down&#8217;.  We&#8217;ve been having a lot of problems with the product that underlies our &#8216;Learning Center&#8217; application lately (we&#8217;re currently making a major switch) so I thought it was one of the run-of-the-mill [...]]]></description>
			<content:encoded><![CDATA[<p>First thing this morning I got an email with &#8216;high&#8217; priority.  The subject was &#8216;The Learning Center seems to be down&#8217;.  We&#8217;ve been having a lot of problems with the product that underlies our &#8216;Learning Center&#8217; application lately (we&#8217;re currently making a major switch) so I thought it was one of the run-of-the-mill problems we knew exactly how to fix.  How wrong I was.  Before I explain the story, I should give you some background info&#8230; </p>
<p><strong>Cue dreamy effect and go back in time&#8230;</strong></p>
<p><span id="more-43"></span></p>
<p>About 3 years ago, we bought a product as the basis for our learning management system.  The learning system coordinator didn&#8217;t want the users accessing it directly (having to learn a whole new UI) so we wrote a few custom portlets to browse the catalog and track your progress using the APIs of the product.  The APIs seemed kinda clunky, but they worked.</p>
<p><strong>Fast forward back to this morning</strong></p>
<p>After trying all of our known &#8216;fixes&#8217; to take care of the problem without success I had to dig.  I found some funniness in the logs.  Our app was getting a java.rmi.RemoteException from the web service when trying to execute the API calls.  Basically the error message was zero help.  We had made no changes to the code.  We had not updated the product in any way.  So why is this happening?  We determined is was definitely an API issue only &#8211; we could use the out of the box client and do all functions just fine.  We called in a support ticket to the vendor.  Luckily, they could tell us that the exception we were seeing would only be thrown in a scenario where we were providing either a null value or a zero length string as a parameter to the API method call.  I knew that we hadn&#8217;t changed any of the code or the product for a looooong time so I was confident that we would prove to the support tech that she was wrong and we were sending in a value so I added some logging statements to the app and redeployed it.</p>
<p><strong>Shock and dismay</strong></p>
<p>Immediately, the logs proved that we were sending in a null value.  </p>
<p>&#8220;What the #$%!!  This has worked for 6 months with no changes.  The only thing we did was change the logging level 2 days ago from DEBUG to ERROR and that should have no affect on this kind of thing.  Its worked since then&#8230; right?&#8221;  </p>
<p><strong>Never trust other people   <img src='http://mikewitters.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </strong></p>
<p>Just to be sure, I checked with the originator of the error (the guy who gets the calls when something is wrong or a change is needed &#8211; and a good all around guy): </p>
<p>Me: &#8220;Hey&#8230; this has been working OK since Monday, right?&#8221;.  </p>
<p>Him: &#8220;Yeah.  It was fine yesterday&#8221;.</p>
<p>&#8230;another 15 minutes pass trying to figure out how it could have ever worked since we&#8217;re passing a null value as a parameter.</p>
<p>Finally I came out of my funk and decided I just had to fix it with what I know now rather than trying to figure out what changed. </p>
<p><strong>The realization &#8211; Not crazy, just stupid</strong></p>
<p>As I looked into what the problem was, I found that a value for an attribute that we get from calling a utility library was null rather than a value pertaining to the logged in user.  &#8220;How could this be null?  Its been working forever!&#8221;.  I seriously thought logic was not prevailing, that something had gone awry in not one, but three servers and was conspiring to make me insane.  After another 5 minutes, I found that there was a VERY KEY line of code inside of an if block where the condition was &#8216;logger.isDebugEnabled&#8217;.  So changing the log level from DEBUG to ERROR caused a major issue in the program since it skipped that key line of code.  </p>
<p><strong>Uhhhhhh</strong></p>
<p>Immediately I tried to understand why it took me so long to figure out the problem.  I reckoned if I&#8217;d have known right after the change that something was wrong I could have easily tracked it to the logging issue (and still kicked myself in the arse for such a silly bug).  But since I heard from someone that it just broke &#8216;this morning&#8217; I went on a wild goose chase.  </p>
<p>This bug, had &#8217;slept&#8217; for nearly 3 years without notice since the logging level was left at DEBUG on the QA and production servers.</p>
<p><strong>Lessons learned</strong></p>
<p>- Test with your production logging level<br />
- Systems that aren&#8217;t mission critical can have an issue for a good long time before someone actually complains about it<br />
- Dont trust what anyone else says when it comes to observation of a software problem (This is why when you call support for any product you start at step 1, even though you are a seasoned computer person and dont need to get instructions on what alt-ctrl-delete means &#8211; apparently they&#8217;ve already learned the lesson I learned AGAIN today)<br />
- Accept that some bugs are just plain silly and no matter how experienced you are, you can create them.</p>
]]></content:encoded>
			<wfw:commentRss>http://mikewitters.com/2008/the-sleepy-software-bug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I got a new job!</title>
		<link>http://mikewitters.com/2007/i-got-a-new-job/</link>
		<comments>http://mikewitters.com/2007/i-got-a-new-job/#comments</comments>
		<pubDate>Sat, 13 Oct 2007 00:50:20 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[LifeLessons]]></category>
		<category><![CDATA[ProfessionalStuff]]></category>
		<category><![CDATA[SoftwareDev]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://mikewitters.com/?p=32</guid>
		<description><![CDATA[I have accepted a position at a company in Dayton.  The position is with a company that I have been working for as a consultant off and on (mostly on) for the last three years.  I will be a &#8216;Technical Architect&#8217; in the &#8216;Enterprise Solutions&#8217; group at WinWholesale. I am very excited about this new opportunity. In [...]]]></description>
			<content:encoded><![CDATA[<p>I have accepted a position at a company in Dayton.  The position is with a company that I have been working for as a consultant off and on (mostly on) for the last three years.  I will be a &#8216;Technical Architect&#8217; in the &#8216;Enterprise Solutions&#8217; group at <a href="http://www.winwholesale.com">WinWholesale</a>. I am very excited about this new opportunity. In my new position I will be the technical leader of the group that is dealing with newer technologies. We will be making use of open source technologies where they make sense and employing an agile software development methodology. One of the most important things to me is <span id="more-32"></span>that I won&#8217;t be asked to stay at a level higher than coding. Its a small enough IT staff that I will do everything from R &amp; D to laying lines of code&#8230; in Java, PHP, and who knows what else.  I am super excited about the things I am going to get to do in my new position.</p>
<p>As excited as I am about the new position, I am still sad to leave Perficient. They have been nothing but good to me. I really like the atmosphere they provide. Some of the smartest people I&#8217;ve ever met are in key positions at Perficient so I am sure they&#8217;ll be at the top of my list when we need outside expertise.  I don&#8217;t have anything bad to say about Perficient.  But when consulting, one of the things that can happen to you (especially when you are a &#8217;systems integrator&#8217; focused on an area like portals) is you can get stuck working on the same thing over and over again.  I can&#8217;t say that I am burned out on Portal because its definitely a fun and challenging area, but I&#8217;d rather be more of a jack of all trades and get to do development more often than not. </p>
<p>In my new position I think I&#8217;ll be able to do the things that make me love this profession.  I know the environment well since I have been consulting there for so long and I understand the challenges and opportunities that I will be faced with in the coming years.  It&#8217;s an exciting time for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://mikewitters.com/2007/i-got-a-new-job/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>LinkedIn vs FaceBook?  Even for career/professional stuff?</title>
		<link>http://mikewitters.com/2007/linkedin-vs-facebook-for-careerprofessional-stuff/</link>
		<comments>http://mikewitters.com/2007/linkedin-vs-facebook-for-careerprofessional-stuff/#comments</comments>
		<pubDate>Tue, 28 Aug 2007 01:53:59 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[LifeLessons]]></category>
		<category><![CDATA[ProfessionalStuff]]></category>

		<guid isPermaLink="false">http://mikewitters.com/?p=31</guid>
		<description><![CDATA[I&#8217;ve been &#8216;LinkedIn&#8217; for several months now.  I&#8217;ve made contacts with enough of my current and past colleagues to feel like its useful.  I&#8217;ve also gotten several serious employment inquiries.  I am a firm believer in the whole &#8216;web networking&#8217; thing.  When you replace the &#8216;web&#8217; with &#8217;social&#8217; in that statement is where I get [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been &#8216;LinkedIn&#8217; for several months now.  I&#8217;ve made contacts with enough of my current and past colleagues to feel like its useful.  I&#8217;ve also gotten several serious employment inquiries.  I am a firm believer in the whole &#8216;web networking&#8217; thing.  When you replace the &#8216;web&#8217; with &#8217;social&#8217; in that statement is where I get a little sketchy &#8211; at least when talking about professional relationships. </p>
<p>There are blog posts out the wazoo talking about FaceBook burying sites like myspace and LinkedIn.  I am certainly not bashing FaceBook because I&#8217;m not much of a user &#8211; it seems like it has a nicely designed web interface and certainly is getting a lot of pub so they must be doing something right.  I just don&#8217;t get the hype from the perspective of saying it will &#8216;replace&#8217; sites like LinkedIn.  When I created my FaceBook account and started trying to connect to contacts I felt like I was in a dating service.  Maybe its more of a general issue with society, but the pictures of people are almost always in a party mode and most of the people seem to me to be in more of a &#8217;social mood&#8217; in their profiles and comments.  Maybe I&#8217;m just turning into an old guy, but it just seems like the purpose is different, whether the creators intended it to be different or not.  Maybe the new wave is to totally mashup your personal and professional life.  I&#8217;m not sure I&#8217;m down with that though&#8230; that&#8217;ll take some getting used to. </p>
<p>So, again I&#8217;m not saying use LinkedIn  over Facebook.  I&#8217;m looking for someone to convince me that I should invest the time into FaceBook for professional endeavors.  So&#8230; let me have it.</p>
]]></content:encoded>
			<wfw:commentRss>http://mikewitters.com/2007/linkedin-vs-facebook-for-careerprofessional-stuff/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A foolproof way to end bank account phishing?  Close, but not quite.</title>
		<link>http://mikewitters.com/2007/a-foolproof-way-to-end-bank-account-phishing-close-but-not-quite/</link>
		<comments>http://mikewitters.com/2007/a-foolproof-way-to-end-bank-account-phishing-close-but-not-quite/#comments</comments>
		<pubDate>Tue, 08 May 2007 01:29:27 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[LifeLessons]]></category>
		<category><![CDATA[internet]]></category>

		<guid isPermaLink="false">http://192.168.1.4/?p=26</guid>
		<description><![CDATA[Slashdot linked to an interesting story today about a possible foolproof way to end bank account phishing.  I think its a step in the right direction, but I don&#8217;t think it would be a sure fire way to prevent them.
For those of you who aren&#8217;t sure what bank account phishing is, have you ever [...]]]></description>
			<content:encoded><![CDATA[<p><a class="snap_shots" href="http://slashdot.com">Slashdot</a> linked to an <a class="snap_shots" href="http://rss.slashdot.org/~r/Slashdot/slashdot/~3/114918671/article.pl">interesting story</a> today about a possible foolproof way to end bank account phishing.  I think its a step in the right direction, but I don&#8217;t think it would be a sure fire way to prevent them.<span id="more-26"></span></p>
<p>For those of you who aren&#8217;t sure what bank account phishing is, have you ever gotten one of those emails from a bank, probably one that you don&#8217;t even have an account with, asking you to click a link in the email and provide some information for update purposes?  Most of them use really official looking HTML emails with valid logos and images from the site they&#8217;re spoofing.  They have usually hacked the site of some innocent company or individual and are using it to sucker you into entering information.  A couple days ago I got one from &#8216;Bank of America&#8217;.  The URL was http://www.24hourinkjet.com/www.bankofamerica.com/onlineid-sessionload/cgi-bin/sso.login.controllernoscript=true/sessiondid=2335454893_&#8230;.  So it looks sort of official.  Unfortunately when I went to http://www.24hourinkjet.com to alert them, I was greeted with an explitive laced web page indicating that the hacker was proud of what he had done.</p>
<p>If you are traversing the &#8216;blogosphere&#8217; then you are probably smart enough to avoid phishing attacks, but a huge amount of the online population probably is not.  I think of my grandparents.  They don&#8217;t do a whole lot online.  I only signed them up for a webTV account a couple of years ago so they could keep up with the family abroad using emails.  If they happened to get a phishing attack email from a bank they actually deal with they&#8217;d probably go right to the link and enter their info.  Its unfortunate, but the phishers do this for a reason &#8211; they obviously land some &#8216;phish&#8217;.  So it&#8217;s important to come up with countermeasures.  I like general idea that Mikko offers, but you can&#8217;t take the ignorance out of the internet user.</p>
<p>I&#8217;m no internet security expert, but I have opinions on the matter.  The first problem with this is the &#8216;ignorant human&#8217; one.  For instance, my grandparents wouldn&#8217;t know the &#8216;rule&#8217; about only giving your bank information to a site at a *.bank domain name.  Second, as was apparent with the 24hourinkjet.com example I posted above is that the *.bank sites have to be hackproof.  Certainly today the major banks are very secure, but I&#8217;m guessing that if this idea went through then every small bank and credit union would need to get a .bank domain name.  The fact that they&#8217;d be spending a large part of their normal annual software/IT budget on a domain name means they have to spend less on stuff like paying a decent hosting service (i.e. one that is actually secure) or paying an admin that knows how to secure against such attacks.  Plus I&#8217;d hate to see the small banks and credit unions forced to spend that kind of dough on a domain name effectively hurting their ability to compete with &#8216;the big boys&#8217;.</p>
<p>I definitely think this is a step in the right direction, but I would say that the &#8216;cost&#8217; of the .bank domain name cannot be the barrier to entry.  To me, I think the barrier to entry should be some form of proof that the applicant is actually acting in the interest of a bonified financial institution.  I can&#8217;t offer a solution other than some governing body (warning &#8211; possible ruination of the entire point) that decides what applicants are worthy of the .bank domain name.</p>
]]></content:encoded>
			<wfw:commentRss>http://mikewitters.com/2007/a-foolproof-way-to-end-bank-account-phishing-close-but-not-quite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Saving planet Earth &#8211; Personally and Professionally</title>
		<link>http://mikewitters.com/2007/saving-planet-earth-personally-and-professionally/</link>
		<comments>http://mikewitters.com/2007/saving-planet-earth-personally-and-professionally/#comments</comments>
		<pubDate>Sat, 28 Apr 2007 00:19:32 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[LifeLessons]]></category>
		<category><![CDATA[SoftwareDev]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://192.168.1.4/?p=23</guid>
		<description><![CDATA[A couple of weeks ago, my wife and I rented &#8216;An inconvenient truth&#8217;.  This is the documentary by Al Gore about global warming.  In it, Mr. Gore presents pretty compelling arguments that we are headed towards great peril unless we immediately take steps to avoid it.  I have long thought we were [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of weeks ago, my wife and I rented &#8216;An inconvenient truth&#8217;.  This is the documentary by Al Gore about global warming.  In it, Mr. Gore presents pretty compelling arguments that we are headed towards great peril unless we immediately take steps to avoid it.  I have long thought we were not doing right &#8216;by the earth&#8217;, but didnt think the effects would be evident as soon as he expressed.  Fifty percent of the info I read are rebuttals to his claims and the other fifty are in support of it.  After my own investigation (Google-o-rama) it seems that there is no doubting the &#8216;rapid trending&#8217; in the negative direction over the last 30 years, to the degree to which it hasn&#8217;t been historically detectable over the past several hundreds of thousands of years.  This affects me personally and professionally, doesn&#8217;t it?<span id="more-23"></span></p>
<p>Personally, this is disturbing.  In the documentary one thing he said transcends the so-called facts thrown around&#8230; and that is something along the lines of when your grandchildren ask you how you could have ignored this issue how will you answer them.  That resonates in me for some reason.  I&#8217;m not a big wasteful turd, but I&#8217;m certainly not the most responsible steward of human resources.  Based on this thought&#8230; and whether it has any truth to it or not, I&#8217;m going to make an effort to be more responsible to the earth.  I will recycle as much as I can&#8230; I will print less&#8230; I will turn lights out when they aren&#8217;t necessary&#8230; etc.  So, Mr. Gore, whether I would vote for you or not, and whether you speak the truth or not, the concept has touched me and I will reduce my carbon signature.</p>
<p>I wonder if clock cycles could matter.  In twenty years will there be so many lines of code running inefficiently that there is some stat that says &#8220;if all the code in the world were 50% more efficient we wouldn&#8217;t be facing the dilemma we&#8217;re facing now&#8221;.  I don&#8217;t normally have to deal with detailed code level issues, let alone clock cycle issues, but I wonder if this is possible.  I&#8217;m not starting an efficient code crusade, I&#8217;m just wondering.</p>
]]></content:encoded>
			<wfw:commentRss>http://mikewitters.com/2007/saving-planet-earth-personally-and-professionally/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
