<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" version="2.0">
  <channel>
    <title>Paul Mrozowski's Blog - Soapbox</title>
    <link>http://www.rcs-solutions.com/blog/</link>
    <description>A day in the life (of a developer)</description>
    <language>en-us</language>
    <copyright>Paul Mrozowski / RCS Solutions, Inc.</copyright>
    <lastBuildDate>Sat, 08 Nov 2008 15:19:36 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>paulm@rcs-solutions.com</managingEditor>
    <webMaster>paulm@rcs-solutions.com</webMaster>
    <item>
      <trackback:ping>http://www.rcs-solutions.com/blog/Trackback.aspx?guid=c23600a0-e40f-4dfd-bca0-97ff439440f6</trackback:ping>
      <pingback:server>http://www.rcs-solutions.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.rcs-solutions.com/blog/PermaLink,guid,c23600a0-e40f-4dfd-bca0-97ff439440f6.aspx</pingback:target>
      <dc:creator>Paul Mrozowski</dc:creator>
      <wfw:comment>http://www.rcs-solutions.com/blog/CommentView,guid,c23600a0-e40f-4dfd-bca0-97ff439440f6.aspx</wfw:comment>
      <wfw:commentRss>http://www.rcs-solutions.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=c23600a0-e40f-4dfd-bca0-97ff439440f6</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I needed to sign back up for online access to one of my bank accounts. I used to have
this all automated through Quicken but at some point it broke and I never seemed to
get around to fixing it. I couldn't remember the account password so I requested it
to be changed. They had a cool step where they had me select which phone number I
had registered with the account would be called. As soon as I hit "Next" they (well,
their automated system) was calling. They wanted me to confirm the fact that I was
expecting the call and to enter a code which was shown on the screen. As soon as I
did that it allowed me to continue on to change my password.
</p>
        <p>
That was pretty cool - a pretty painless way of ensuring I'm really who I say I am.
Imagine how disappointed I was when I started typing in my new password:
</p>
        <p>
          <a href="http://www.rcs-solutions.com/blog/content/binary/WindowsLiveWriter/ThisisSecure_9134/BankPass_2.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="444" alt="Bank Password" src="http://www.rcs-solutions.com/blog/content/binary/WindowsLiveWriter/ThisisSecure_9134/BankPass_thumb.png" width="778" border="0" />
          </a>
        </p>
        <p>
Really? No special characters and I'm limited to 12 characters for access to my bank
account? (sigh). My <a href="http://www.linkedin.com/" target="_blank">LinkedIn</a> account
has a more secure password than this. Lame.
</p>
        <img width="0" height="0" src="http://www.rcs-solutions.com/blog/aggbug.ashx?id=c23600a0-e40f-4dfd-bca0-97ff439440f6" />
      </body>
      <title>This is Secure?</title>
      <guid isPermaLink="false">http://www.rcs-solutions.com/blog/PermaLink,guid,c23600a0-e40f-4dfd-bca0-97ff439440f6.aspx</guid>
      <link>http://www.rcs-solutions.com/blog/2008/11/08/ThisIsSecure.aspx</link>
      <pubDate>Sat, 08 Nov 2008 15:19:36 GMT</pubDate>
      <description>&lt;p&gt;
I needed to sign back up for online access to one of my bank accounts. I used to have
this all automated through Quicken but at some point it broke and I never seemed to
get around to fixing it. I couldn't remember the account password so I requested it
to be changed. They had a cool step where they had me select which phone number I
had registered with the account would be called. As soon as I hit "Next" they (well,
their automated system) was calling. They wanted me to confirm the fact that I was
expecting the call and to enter a code which was shown on the screen. As soon as I
did that it allowed me to continue on to change my password.
&lt;/p&gt;
&lt;p&gt;
That was pretty cool - a pretty painless way of ensuring I'm really who I say I am.
Imagine how disappointed I was when I started typing in my new password:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.rcs-solutions.com/blog/content/binary/WindowsLiveWriter/ThisisSecure_9134/BankPass_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="444" alt="Bank Password" src="http://www.rcs-solutions.com/blog/content/binary/WindowsLiveWriter/ThisisSecure_9134/BankPass_thumb.png" width="778" border="0"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Really? No special characters and I'm limited to 12 characters for access to my bank
account? (sigh). My &lt;a href="http://www.linkedin.com/" target="_blank"&gt;LinkedIn&lt;/a&gt; account
has a more secure password than this. Lame.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.rcs-solutions.com/blog/aggbug.ashx?id=c23600a0-e40f-4dfd-bca0-97ff439440f6" /&gt;</description>
      <comments>http://www.rcs-solutions.com/blog/CommentView,guid,c23600a0-e40f-4dfd-bca0-97ff439440f6.aspx</comments>
      <category>Soapbox</category>
    </item>
    <item>
      <trackback:ping>http://www.rcs-solutions.com/blog/Trackback.aspx?guid=d630da35-576f-499a-b479-6d9a38e41701</trackback:ping>
      <pingback:server>http://www.rcs-solutions.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.rcs-solutions.com/blog/PermaLink,guid,d630da35-576f-499a-b479-6d9a38e41701.aspx</pingback:target>
      <dc:creator>Paul Mrozowski</dc:creator>
      <wfw:comment>http://www.rcs-solutions.com/blog/CommentView,guid,d630da35-576f-499a-b479-6d9a38e41701.aspx</wfw:comment>
      <wfw:commentRss>http://www.rcs-solutions.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=d630da35-576f-499a-b479-6d9a38e41701</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The question shouldn't be, "Can we do this?" but, "Should we do this?".
</p>
        <p>
I think companies sometime get so excited about the possibility of doing "X" that
they forget to ask themselves if it's something that should even be done:<br /></p>
        <ul>
          <li>
What are the risks? 
</li>
          <li>
Does the payoff justify the amount of work required? 
</li>
          <li>
Are there more important things that should be done first? 
</li>
          <li>
What is the simplest way of accomplishing our goal (it may not even include doing
"X")? 
</li>
          <li>
Is this our core business or should we look to an outside source? 
</li>
          <li>
Does this even make sense?</li>
        </ul>
        <img width="0" height="0" src="http://www.rcs-solutions.com/blog/aggbug.ashx?id=d630da35-576f-499a-b479-6d9a38e41701" />
      </body>
      <title>Sometimes...</title>
      <guid isPermaLink="false">http://www.rcs-solutions.com/blog/PermaLink,guid,d630da35-576f-499a-b479-6d9a38e41701.aspx</guid>
      <link>http://www.rcs-solutions.com/blog/2007/11/07/Sometimes.aspx</link>
      <pubDate>Wed, 07 Nov 2007 03:15:13 GMT</pubDate>
      <description>&lt;p&gt;
The question shouldn't be, "Can we do this?" but, "Should we do this?".
&lt;/p&gt;
&lt;p&gt;
I think companies sometime get so excited about the possibility of doing "X" that
they forget to ask themselves if it's something that should even be done:&lt;br&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
What are the risks? 
&lt;li&gt;
Does the payoff justify the amount of work required? 
&lt;li&gt;
Are there more important things that should be done first? 
&lt;li&gt;
What is the simplest way of accomplishing our goal (it may not even include doing
"X")? 
&lt;li&gt;
Is this our core business or should we look to an outside source? 
&lt;li&gt;
Does this even make sense?&lt;/li&gt;
&lt;/ul&gt;
&lt;img width="0" height="0" src="http://www.rcs-solutions.com/blog/aggbug.ashx?id=d630da35-576f-499a-b479-6d9a38e41701" /&gt;</description>
      <comments>http://www.rcs-solutions.com/blog/CommentView,guid,d630da35-576f-499a-b479-6d9a38e41701.aspx</comments>
      <category>Soapbox</category>
    </item>
    <item>
      <trackback:ping>http://www.rcs-solutions.com/blog/Trackback.aspx?guid=7d417c6e-dfa9-4ed1-8e3a-564997d85287</trackback:ping>
      <pingback:server>http://www.rcs-solutions.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.rcs-solutions.com/blog/PermaLink,guid,7d417c6e-dfa9-4ed1-8e3a-564997d85287.aspx</pingback:target>
      <dc:creator>Paul Mrozowski</dc:creator>
      <wfw:comment>http://www.rcs-solutions.com/blog/CommentView,guid,7d417c6e-dfa9-4ed1-8e3a-564997d85287.aspx</wfw:comment>
      <wfw:commentRss>http://www.rcs-solutions.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=7d417c6e-dfa9-4ed1-8e3a-564997d85287</wfw:commentRss>
      <slash:comments>5</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Here's a <a href="http://www.intelligententerprise.com/channels/bi/showArticle.jhtml?articleID=201806814">link</a> to
an article about keys in SQL. Make sure you read the comments. I wonder where most
people fall on this subject and the split (if any) between developers and DBA’s (and
people have to fill both roles)?
</p>
        <p>
Personally, I don’t give a crap about whether identity keys are “exposed physical
locators”. How about GUIDs or Stored Procedures which generate an incrementing number
instead? I’ll be honest, I’ve never used them to identify the physical location. It’s
just that I’ve found that “natural keys aren’t” (I think I first heard that from Jim
Booth <a href="http://www.jamesbooth.com">http://www.jamesbooth.com</a> ) and having
a system generated key greatly simplifies any code I’ve needed to write against a
SQL backend (VFP or SQL Server). I’ve worked with systems that exclusively used natural
keys and invariably what seemed like a reasonable natural key suddenly wasn’t any
more. This usually meant we now had to use multiple columns to uniquely identify the
record (this usually ends up happening more than once on the same table). No thanks.
I’m sure some people would argue that changes like this just means we didn’t do a
proper design. Yeah, that could be the case. But I’d much rather use a style of development
that was more flexible to change and more forgiving of developer errors than one that
leads to nightmarish spaghetti code just because someone didn’t take something into
account during whatever design process there was. The other way may lead to the most
elegant, clear code ever written, but if it’s dependent on people never making any
kinds of mistakes (or incorrect judgment calls), I’ll skip it, thanks. 
</p>
        <p>
  
</p>
        <p>
If you’re interested, Joe has a blog where he answers questions about SQL in his own,
abrasive, insulting (if sometimes funny) style. 
</p>
        <p>
  
</p>
        <p>
          <a href="http://joecelkothesqlapprentice.blogspot.com/">http://joecelkothesqlapprentice.blogspot.com/</a>
        </p>
        <p>
  
</p>
        <p>
How many of his “rules” have you broken to actually deliver usable software (within
the confines of the tools you’re using)? Why is there so much support built into these
tools to do things the “wrong way”? Right now, I’m specifically thinking about Crystal
Reports: where are you doing most of your data manipulation – in SQL Server or in
CR? I guess it could be argued that the limitations of these various development tools
doesn’t mean that the various practices they (sometimes) force on you are correct.
Could be, but ultimately most of us Just-Need-to-Get-it-Done. “In theory” is nice,
but “in practice” pays the bills. Do you think your customers would accept the excuse
that you wouldn’t generate some report for them because the reporting tool doesn’t
have the ability to do what they wanted and putting it into SQL isn’t the correct
way to do it? 
</p>
        <p>
  
</p>
        <p>
As a side note, it seems like this is a distinct personality trait with some “computer”
people in general. You know the type: really smart, could be really helpful to have
on the team but they just don’t play well with others. Fanboys (and girls) of them
will usually say things like, “I know online he can be rough, but it personal he’s
great”. In other words, that just means he’s an asshole. Being blunt (as it’s sometimes
described) is OK as long as it’s tempered with the understanding that it’s not an
excuse to be an asshat, online or in person. 
</p>
        <p>
  
</p>
        <p>
(I just hope the above isn’t taken as some argument for writing crappy code). Write
the best code you can for the given problem and time constraints. Refactor mercilessly. 
</p>
        <p>
 
</p>
        <p>
          <strong>Links</strong>
        </p>
        <p>
          <a href="http://www.intelligententerprise.com/channels/bi/showArticle.jhtml?articleID=201806814">http://www.intelligententerprise.com/channels/bi/showArticle.jhtml?articleID=201806814</a>
          <br />
          <a href="http://joecelkothesqlapprentice.blogspot.com/">http://joecelkothesqlapprentice.blogspot.com/</a>
          <br />
          <a href="http://www.jamesbooth.com">http://www.jamesbooth.com</a>
        </p>
        <img width="0" height="0" src="http://www.rcs-solutions.com/blog/aggbug.ashx?id=7d417c6e-dfa9-4ed1-8e3a-564997d85287" />
      </body>
      <title>Article about Keys by Joe Celko</title>
      <guid isPermaLink="false">http://www.rcs-solutions.com/blog/PermaLink,guid,7d417c6e-dfa9-4ed1-8e3a-564997d85287.aspx</guid>
      <link>http://www.rcs-solutions.com/blog/2007/10/30/ArticleAboutKeysByJoeCelko.aspx</link>
      <pubDate>Tue, 30 Oct 2007 01:48:54 GMT</pubDate>
      <description>&lt;p&gt;
Here's a &lt;a href="http://www.intelligententerprise.com/channels/bi/showArticle.jhtml?articleID=201806814"&gt;link&lt;/a&gt; to
an article about keys in SQL. Make sure you read the comments. I wonder where most
people fall on this subject and the split (if any) between developers and DBA’s (and
people have to fill both roles)?
&lt;/p&gt;
&lt;p&gt;
Personally, I don’t give a crap about whether identity keys are “exposed physical
locators”. How about GUIDs or Stored Procedures which generate an incrementing number
instead? I’ll be honest, I’ve never used them to identify the physical location. It’s
just that I’ve found that “natural keys aren’t” (I think I first heard that from Jim
Booth &lt;a href="http://www.jamesbooth.com"&gt;http://www.jamesbooth.com&lt;/a&gt; ) and having
a system generated key greatly simplifies any code I’ve needed to write against a
SQL backend (VFP or SQL Server). I’ve worked with systems that exclusively used natural
keys and invariably what seemed like a reasonable natural key suddenly wasn’t any
more. This usually meant we now had to use multiple columns to uniquely identify the
record (this usually ends up happening more than once on the same table). No thanks.
I’m sure some people would argue that changes like this just means we didn’t do a
proper design. Yeah, that could be the case. But I’d much rather use a style of development
that was more flexible to change and more forgiving of developer errors than one that
leads to nightmarish spaghetti code just because someone didn’t take something into
account during whatever design process there was. The other way may lead to the most
elegant, clear code ever written, but if it’s dependent on people never making any
kinds of mistakes (or incorrect judgment calls), I’ll skip it, thanks. 
&lt;p&gt;
&amp;nbsp; 
&lt;p&gt;
If you’re interested, Joe has a blog where he answers questions about SQL in his own,
abrasive, insulting (if sometimes funny) style. 
&lt;p&gt;
&amp;nbsp; 
&lt;p&gt;
&lt;a href="http://joecelkothesqlapprentice.blogspot.com/"&gt;http://joecelkothesqlapprentice.blogspot.com/&lt;/a&gt; 
&lt;p&gt;
&amp;nbsp; 
&lt;p&gt;
How many of his “rules” have you broken to actually deliver usable software (within
the confines of the tools you’re using)? Why is there so much support built into these
tools to do things the “wrong way”? Right now, I’m specifically thinking about Crystal
Reports: where are you doing most of your data manipulation – in SQL Server or in
CR? I guess it could be argued that the limitations of these various development tools
doesn’t mean that the various practices they (sometimes) force on you are correct.
Could be, but ultimately most of us Just-Need-to-Get-it-Done. “In theory” is nice,
but “in practice” pays the bills. Do you think your customers would accept the excuse
that you wouldn’t generate some report for them because the reporting tool doesn’t
have the ability to do what they wanted and putting it into SQL isn’t the correct
way to do it? 
&lt;p&gt;
&amp;nbsp; 
&lt;p&gt;
As a side note, it seems like this is a distinct personality trait with some “computer”
people in general. You know the type: really smart, could be really helpful to have
on the team but they just don’t play well with others. Fanboys (and girls) of them
will usually say things like, “I know online he can be rough, but it personal he’s
great”. In other words, that just means he’s an asshole. Being blunt (as it’s sometimes
described) is OK as long as it’s tempered with the understanding that it’s not an
excuse to be an asshat, online or in person. 
&lt;p&gt;
&amp;nbsp; 
&lt;p&gt;
(I just hope the above isn’t taken as some argument for writing crappy code). Write
the best code you can for the given problem and time constraints. Refactor mercilessly. 
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Links&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.intelligententerprise.com/channels/bi/showArticle.jhtml?articleID=201806814"&gt;http://www.intelligententerprise.com/channels/bi/showArticle.jhtml?articleID=201806814&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://joecelkothesqlapprentice.blogspot.com/"&gt;http://joecelkothesqlapprentice.blogspot.com/&lt;/a&gt;
&lt;br&gt;
&lt;a href="http://www.jamesbooth.com"&gt;http://www.jamesbooth.com&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.rcs-solutions.com/blog/aggbug.ashx?id=7d417c6e-dfa9-4ed1-8e3a-564997d85287" /&gt;</description>
      <comments>http://www.rcs-solutions.com/blog/CommentView,guid,7d417c6e-dfa9-4ed1-8e3a-564997d85287.aspx</comments>
      <category>Soapbox</category>
      <category>SQL</category>
    </item>
  </channel>
</rss>