    <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  :: From the Coalface</title>
        <link>http://accu.org/index.php/journals/749</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>


        <h2>Journal Articles</h2>


<div class="xar-mod-head"><span class="xar-mod-title">CVu Journal Vol 11, #1 - Nov 1998</span></div>

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

                                            <a href="http://accu.org/index.php/journals/">All</a>

                     &gt;                         <a href="http://accu.org/index.php/journals/c76/">Journals</a>

                     &gt;                         <a href="http://accu.org/index.php/journals/c77/">CVu</a>

                     &gt;                         <a href="http://accu.org/index.php/journals/c134/">111</a>
                    (19)
<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;From the Coalface</h1>
<p><strong>Author:</strong>&nbsp;Administrator</p>
<p>
<strong>Date:</strong> 03 November 1998 13:15:28 +00:00 or Tue, 03 November 1998 13:15:28 +00:00</p>
<p><strong>Summary:</strong>&nbsp;</p>
<p><strong>Body:</strong>&nbsp;<div class="section" lang="en">
<div class="titlepage">
<h2><a name="d0e13" id="d0e13"></a>I have a
friend.... another Tale From the Linker.</h2>
</div>
<p>My friend may have synthesised his story from one or more
incidents at different times and places. On the other hand he may
not have.</p>
<p>My friend works in a company where they have a person designated
as &quot;System Design Authority&quot; for a project. They have the final say
on design matters however this seems to have become all technical
matters. This helps stop arguments but some times causes them. On
my friends project the SDA was an engineer who had been &quot;left
behind&quot; when all the rest of the team faded away to other
companies. Thus he did know more than the new team about the
application but not SW engineering. This caused problems because
whilst the SDA did know about the application when it came to C he
was a bit of a hacker...</p>
<p>This was highlighted when someone suggested that enumerated
types were used instead of all the unsigned char defines used in
many places. He had never heard of enumerated types. (Come to that
neither had the Project Leader) Enumerated types were explained to
the Team Leader &amp; Project Leader. In an instant they decided to
use them instead of defines where appropriate. My friend pointed
out that they were not appropriate anywhere. This caused a few
interesting comments from the new converts. My friend then
explained that enum's were 16 bit.</p>
<p>So what you might say. In fact the Project Leader and Team
Leader did say just that. Well in an 8-bit system that has very
little memory and is time critical you have just doubled the size
of many items from 8 to 16-bit. As they are 16-bit they will need,
at assembler level more , and often slower, instructions.</p>
<p>However they did decide that shorts would be used instead of
ints &quot;For reasons of portability.&quot; As advised by an experienced
(and expensive) contractor.</p>
<p>Both int and short are 16-bit on the system in question. However
it was decided that using a defines like : #define U16 unsigned
short (or int) in a global header was far too much trouble and it
would not be done. As for typedef's... well my friend decided to
leave this idea for another time. So all my friends code is full of
shorts as instructed by the SDA &quot;to make it more portable 'cos all
shorts are 16-bit&quot;.</p>
<p>Later during testing a struct containing 3 unions was noticed.
Two of the unions contained three char's and one contained a short
and a char... Now there is an accident waiting to happen!</p>
<p>Perhaps it would be better to make sure that people only have
authority over areas they understand but in the land of the blind
who watches over the short sighted one eyed man who thinks he has
20-20 vision?</p>
<p>STOP PRESS: It appears that there were a couple of enumerated
types used. My friend found them during testing. One was &quot;enum
Splat {slpat_on = 0, Splat_off = 1};&quot; When the author was
questioned about it he said &quot;Oh yes... er that was a part we cut
and pasted from the previous development. We don't actually use it
in this one. We just left it in the code&quot; NB. The previous
development was also on an 8-bit system.</p>
<p>Final note: For those of you who follow the religion of
&quot;Alternate Suggestions Of Life From The Spellchecker&quot; for enum the
checker suggested enema. Only time will tell in this case.</p>
</div>
</p>
<p><strong>Notes:</strong>&nbsp;</p>
<p><em>More fields may be available via dynamicdata ..</em></p>
</div>
</channel>
</rss>
