    <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/">
     <channel>
        <title>ACCU  :: Thinking Aloud</title>
        <link>https://members.accu.org/index.php/articles/1155</link>
        <description>Professionalism in Programming</description>
        <dc:language>en-us</dc:language> 
        <dc:creator>Administrator</dc:creator> 
        <admin:generatorAgent rdf:resource="http://www.xaraya.org" /> 
        <admin:errorReportsTo rdf:resource="mailto:webeditor@accu.org" />
       <sy:updatePeriod>hourly</sy:updatePeriod>
       <sy:updateFrequency>1</sy:updateFrequency>
       <docs>http://backend.userland.com/rss</docs>




<div class="xar-mod-head"><span class="xar-mod-title">CVu Journal Vol 14, #1 - Feb 2002</span></div>

<table border="0" cellpadding="1" cellspacing="0">
    <tbody>
    <tr>
        <td valign="top">
            Browse in :
       </td>
       <td valign="top">

                                            <a href="https://members.accu.org/index.php/articles/">All</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c76/">Journals</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c77/">CVu</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c116/">141</a>
<br />
</td>
   </tr>
   </tbody>
</table>




<div class="xar-error">
   <p>
 <strong>Note:</strong> when you create a new publication type,
the articles module will automatically use the templates
<em>user-display-[publicationtype].xt</em>
and <em>user-summary-[publicationtype].xt</em>.
If those templates do not exist when you try to preview or display a new article,
you'll get this warning :-)  Please place your own templates in themes/<em>yourtheme</em>/modules/articles . The templates will get the extension .xt there. </p>
</div>
<div class="xar-norm xar-standard-box-padding">
   <h1><strong>Title:</strong>&nbsp;Thinking Aloud</h1>
<p><strong>Author:</strong>&nbsp;</p>
<p>
<strong>Date:</strong> 03 February 2002 13:15:49 +00:00 or Sun, 03 February 2002 13:15:49 +00:00</p>
<p><strong>Summary:</strong>&nbsp;</p>
<p><strong>Body:</strong>&nbsp;<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e18" id="d0e18"></a></h2>
</div>
<p>Those of you with long memories might recall that in my last
column I discussed the myth of the silver techno-security bullet.
Interestingly enough, proof of the example I used, that face
recognition technology simply doesn't work, was confirmed
dramatically only recently.</p>
<p>The American Civil Liberties Union (ACLU) recently obtained
system records of the video surveillance cameras on the streets of
Tampa, Florida, using the state's open-records law. The system was
deployed in June 2001 and, it turns out, failed to identify even a
single individual in the department's database of photographs. In
fact, the system is so useless that the police admit they haven't
used it since August...</p>
<p>Rarely do my unsubstantiated assertions get so swiftly validated
- normally I have to wait years to be able to say 'I told you so!'
If you are trying to hold back the tide on this sort of issue at
work the URL to download the report from is:</p>
<p><a href="http://www.aclu.org/issues/privacy/drawing_blank.pdf"
target=
"_top">www.aclu.org/issues/privacy/drawing_blank.pdf</a>.</p>
<p>I was going to spend most of this issue on an open letter to
Borland about their new licensing conditions. Unfortunately, I fell
foul of the cold/cough/chest/flue bug currently doing the rounds,
and all intellectual activity ceased while I took to my bed. By the
time I staggered back to my computer, Borland CEO Dale Fuller had
recanted and issued a mea culpa letter of the sort that normally
precedes a session of falling on swords.</p>
<p>For those who missed the whole thing, the more eagle eyed
amongst developers spotted that Borland's new license for Kylix
included provisions allowing Borland to walk into your house and
rummage through your computers and records at their pleasure. It
also required you to waive your right to jury trial although it
didn't specify what heinous crimes you might have committed that
would require trial by jury. About the only thing it didn't include
was the right to put your first born to the sword - strange,
because I can think of a number of parents of teenagers who would
find such a clause very attractive...</p>
<p>Needless to say there was a furore, with many US citizens
posting about their rights under 'The Constitution', and others
pointing out that 'The Constitution' only covered rights vis-a-vis
'the government', not private companies. (I once had a player, who
had been misbehaving, tell me, when I threatened to kick him out,
that he had a right to play my game under 'The Constitution'.)</p>
<p>Eventually, Dale Fuller put out a letter explaining that
provisions which only applied to corporate volume licenses had
accidentally got left in the individual license. Probably this will
go some way towards mollifying the developers, but the whole affair
has undoubtedly done harm to Borland's image in the developer
community.</p>
<p>The whole thing is all the more depressing because Borland were
the first people to produce a sensible license for using their
software. This was their 'No Nonsense License'. What it said was
that you should treat their programs like a book. You can only read
a book in one place at a time, and similarly you can only use their
program in one place at a time. You can legally put it on as many
computers as you like, as long as it is only used in one place at a
time. This was the first recognition by any software company that
you might want to use the same piece of software on your work and
your home computers.</p>
<p>Sadly, I don't think the latest faux pas isolated, it's yet
another manifestation of the extent to which Borland has lost its
way since the early 90's. I have yet to be convinced that its C++
version of Kylix is anything other than vapourware. I've never felt
that about a Borland product before and I first started using their
programs with Turbo Pascal, loyally buying Turbo C++ and it's
upgrades through Borland C++ to C++ Builder. Indeed, C++ Builder is
still my primary Windows programming tool, and I consider that it
gives me an order of magnitude productivity boost over using
VC++.</p>
<p>Lately, though, I have started to look at alternatives,
especially TrollTech's QT, which looks especially promising. Time
is running out for Borland as far as I am concerned, and I suspect
that I'm not the only one.</p>
<p>On an entirely different tack, I'd like to draw people's
attention to an excellent on-line article by Kevlin Henney about
exceptions and exception-safe code. I confess to being ambivalent
about exceptions. I have the feeling they are used in far too many
circumstances that are not, in fact, exceptional... I have
suspected for some time that this, and the waste of time in adding
exceptions when calling 'new' in Linux, have lead me to neglect
this important topic. Reading Kevlin's article was a revelation
about what exceptions really are, how they <span class=
"bold"><b>should</b></span> be used, and what exception safety is
really all about.</p>
<p>The article is on the C/C++ Users Journal in their C++ Experts
section. Point your browser at:</p>
<p><a href="http://www.cuj.com/experts/2002/henney.htm" target=
"_top">www.cuj.com/experts/2002/henney.htm</a> to look at the
article.</p>
<p>Well just a short column this issue - normal service will be
resumed (I hope) next time. Have fun programming.</p>
</div>
</p>
<p><strong>Notes:</strong>&nbsp;</p>
<p><em>More fields may be available via dynamicdata ..</em></p>
</div>
</channel>
</rss>
