    <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  :: Editorial</title>
        <link>https://members.accu.org/index.php/articles/845</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">Journal Editorial + CVu Journal Vol 17, #5 - Oct 2005</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/c184/">Journal Columns</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c185/">Editorial</a>
<br />

                                            <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/c94/">175</a>
<br />

                                            <a href="https://members.accu.org/index.php/articles/c185-94/">Any of these categories</a>

                    -                        <a href="https://members.accu.org/index.php/articles/c185+94/">All of these categories</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;Editorial</h1>
<p><strong>Author:</strong>&nbsp;</p>
<p>
<strong>Date:</strong> 09 October 2005 05:00:00 +01:00 or Sun, 09 October 2005 05:00:00 +01:00</p>
<p><strong>Summary:</strong>&nbsp;</p>
<p><strong>Body:</strong>&nbsp;<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e20" id="d0e20"></a>A Disaster
Waiting to Happen</h2>
</div>
<p>It's Sunday night. The compiler is happily running in the
background and all seems right in the world. The phone rings and
all hell breaks loose. I'm not talking about the latest science
fiction blockbuster here either. A friend's computer has gone belly
up and the world's most fantastic article has vanished without
trace.</p>
<p>Now, if this had happened a couple of weeks earlier, the problem
would not be so significant. However, with less than a week until
the editorial deadline, it poses a problem. Now, I could just run a
previous article or ring a friend to see if they can knock
something together, but that would be unfair - I mean, how often
does someone phone you up to say &quot;<span class="quote">Hey, can you
bash out 2000+ words for the end of the week for me and make it
good?</span>&quot; or I could write something myself - which in itself
is problematic as I only have a finite amount of time to do
unimportant things like actually living.</p>
<p>I suppose this really is the problem with any form of
publication which is reliant on submissions from the readership
rather than having an established team of writers. Looking back on
the issues I've edited, quite a number of articles are from
non-ACCU members. Yep, you read that right. I'm calling in favours
from various mailing lists and friends in order to give ACCU
members a damned fine read every other month. However, there are
only so many favours and times you can ask for submissions and they
are starting to dry up - rapidly.</p>
<p>This edition has been the hardest so far in getting quality
articles. It may be that you have never written for a magazine
before and you find it daunting. Don't worry - I don't bite and
offer friendly advice on whipping submitted material into shape. It
may be that you don't have anything interesting to say. I find that
hard to believe given the diversity of members and the range of
experience there is. We have company directors to students to
freelance programmers to people who are interested but don't really
know that much.</p>
<p>What I would love to see are four &quot;strands&quot;</p>
<div class="orderedlist">
<ol type="1">
<li>
<p>C++ for beginners (<span class="emphasis"><em>this could also be
C#, Java, Python or C</em></span>)</p>
</li>
<li>
<p>Project management</p>
</li>
<li>
<p>Defensive programming</p>
</li>
<li>
<p>Libraries</p>
</li>
</ol>
</div>
<p>Other than (4), I can't recall ever seeing the other three in C
Vu. There must be project managers out there, and those who
understand defensive programming techniques or even someone who can
deliver a basic set of tutorials on a language.</p>
<p>In a recent conversation with a couple of prominent academics in
UK universities, I asked them what they thought of both C Vu and
Overload. I was amazed when they replied with a shrug of the
shoulder as they had never heard of either the ACCU or its
publications. Luckily, I had a couple of copies as PDF files and
they read them over. Other than a few niggles, they did comment
that there was a lack of anything they could use in techniques,
libraries or for those coming into universities where the student
had never used a language before. Sure, they looked good, but it
wasn't something they could sell.</p>
<p>As a responsible editor (and someone who wants C Vu and Overload
to be as widely read as possible), it is important that these
criticisms are addressed - but to do that requires a team effort.
If you're happy to keep things the way they are where we are
writing for us, then fair enough. If though you want to see the
magazines more widely read, then you know what you have to do.</p>
<p>Come on folks - I know you're out there. I can hear you
breathe!!!!</p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e60" id="d0e60"></a>Conference
Report</h2>
</div>
<p>You've probably noticed that over the past couple of editions,
I've been giving space to up and coming conferences.</p>
<p>One I didn't mention was the annual DNSCon meeting. As the name
suggests, the conference was primarily concerned with network and
software security, but also covered other interesting aspects, such
as developments in surveillance techniques. From my point of view,
the talks on how to use a buffer overrun to compromise a remote
machine (demonstrated on a Win2000 laptop running VMWare with both
Linux and BSD box all on the same machine!) and the use of
fluorescent lights to bug rooms were of the greatest interest.</p>
<p>It was a somewhat strange conference which lasted one day in
Blackpool. Due to very poor weather, the &quot;fling an AOL CD&quot;
competition and prize sandcastle competition was cancelled as was
the &quot;most radioactive sandcastle&quot; competition (the conference was
in Blackpool and was won last time by very dubious means!).</p>
<p>One aspect which did puzzle me though. As you are possibly
aware, it is possible to read what is on a PC's monitor by
differences in magnetic patterns. Nothing new in that. What was
good though was that a piece was presented on the problems of
monitoring a TFT monitor. Given the amount of electromagnetic
radiation of the correct wavelength given off, it is damned near
impossible to see what is on one of those screens. It can be done
(it was revealed outside of the conference and over a number of
pints that a UK security body had demonstrated it live), but how? I
thought at 4am of the day of the conference I had it, but though
very bleary eyes, spotted the mistake in my maths. Oh well, it only
took me 4 hours worth of sleep!</p>
<p>On a sadder note (in one respect), it was announced that this
would be the final conference at Blackpool - mainly as it is a pain
to get to and that the 2006 conference would be in central
Manchester around Christmas. Yay!</p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e73" id="d0e73"></a>Z88DK &amp; Pud
Pud</h2>
</div>
<p>You may remember a few editions back that I was complaining that
programming was no longer simple and that for us to get anything
now requires large manuals, a compiler and lots of time to debug. I
then later just about retracted it in a small piece which answered
a number of points from the ACCU general list. Well, I'm
resurrecting the subject again. Why? Because of a Z80 cross
compiler and an AVI of a BBC programme called &quot;Commercial Breaks&quot;
(broadcast in 1984).</p>
<p>The TV programme was a strange piece of TV history as while
filming, the Liverpool based software company Imagine went under
and the camera crew was there. Other than a historical point of
view, it's not that significant. What was important was that there
was a 17 year old who had been programming for about a year on a
Spectrum and over 7 weeks had developed a multi-level game called
Pud Pud. This was a high resolution game, with sound (well, burps),
colour an addictive level of play - all of which was in Z80 machine
code.</p>
<p>How many people, in the space of a year, can not only learn
machine code and then in 7 week create a big selling game? Alright,
the processor was an 8 bit Z80 and there was no time frame given
for the number of hours spent in front of a TV set learning, but
given the age of the chap, I'd guess at 3 hours a night and 6 of a
weekend (12 hours in total). Okay, you can cover a fair amount in 3
hours a night, especially with a simple 8 bit processor. I'm sure
though that you'll all accept the achievement was considerable.
What has this got to do with Z88DK?</p>
<p>Z88DK is a Z80 cross compiler which allows you to target just
about any Z80 based machine (from a ZX81 to a TI89 calculator to
even embedded Z80 based systems). Source code is easy to read and
understand - take the following for example:</p>
<pre class="programlisting">
#include &lt;graphics.h&gt;
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
struct window mine;
/* Window structure */
int main()
{
  int j,i;
    clg();
/* Draw a series of
 * concentric circles in the
 * centre of the screen
 * these go off the screen
 * but don't generate an
 * error - very cool! */
    for (i=90 ; i!=0; i--)
    {
      circle(128,96,i,1);
      if (i &lt; 25 ) i--;
    }
    draw(0,0,255,63);
    /* Draw a diamond - weak,
     * but it demonstrates
     * relative drawing! */
    plot(200,32);
    drawr(10,10);
    drawr(10,-10);
    drawr(-10,-10);
    drawr(-10,10);
}
</pre>
<p>It's almost BASIC! Compilation is a case of running zcc followed
by a flag for the target machine. Very simple and very effective.
Perhaps it's a good way to go to start people learning to program
again. Sure, it's not as simple as having a built in interpreter,
but it's a start.</p>
<p>Anyway, that's enough for this issue. As always, your views and
comments are always welcome. Please feel free to contact me.</p>
</div>
</p>
<p><strong>Notes:</strong>&nbsp;</p>
<p><em>More fields may be available via dynamicdata ..</em></p>
</div>
</channel>
</rss>
