<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>MeetingProgramming</title><revhistory><revision><revnumber>11</revnumber><date>2013-03-08 10:28:25</date><authorinitials>localhost</authorinitials><revremark>converted to 1.6 markup</revremark></revision><revision><revnumber>10</revnumber><date>2007-08-08 15:05:07</date><authorinitials>l24.mrc-cbu.cam.ac.uk</authorinitials></revision><revision><revnumber>9</revnumber><date>2007-08-01 13:40:43</date><authorinitials>devel03.mrc-cbu.cam.ac.uk</authorinitials></revision><revision><revnumber>8</revnumber><date>2007-08-01 13:38:37</date><authorinitials>devel03.mrc-cbu.cam.ac.uk</authorinitials></revision><revision><revnumber>7</revnumber><date>2007-08-01 11:40:18</date><authorinitials>devel03.mrc-cbu.cam.ac.uk</authorinitials></revision><revision><revnumber>6</revnumber><date>2007-08-01 11:40:08</date><authorinitials>devel03.mrc-cbu.cam.ac.uk</authorinitials></revision><revision><revnumber>5</revnumber><date>2007-08-01 11:39:55</date><authorinitials>devel03.mrc-cbu.cam.ac.uk</authorinitials></revision><revision><revnumber>4</revnumber><date>2007-08-01 11:39:42</date><authorinitials>devel03.mrc-cbu.cam.ac.uk</authorinitials></revision><revision><revnumber>3</revnumber><date>2007-08-01 10:50:03</date><authorinitials>devel03.mrc-cbu.cam.ac.uk</authorinitials></revision><revision><revnumber>2</revnumber><date>2007-08-01 10:48:48</date><authorinitials>devel03.mrc-cbu.cam.ac.uk</authorinitials></revision><revision><revnumber>1</revnumber><date>2007-08-01 10:23:12</date><authorinitials>devel03.mrc-cbu.cam.ac.uk</authorinitials></revision></revhistory></articleinfo><section><title>Writing good programs</title><para>Here's the actual presentation: </para><para><ulink url="https://imaging.mrc-cbu.cam.ac.uk/methods/MeetingProgramming/methods/MeetingProgramming?action=AttachFile&amp;do=get&amp;target=how_to_program.ppt">how_to_program.ppt</ulink> </para><para>Here's some notes: </para><section><title>Think!</title><itemizedlist><listitem><para>Learning to think about your own process </para></listitem></itemizedlist><para>The three chief virtues of a programmer are: Laziness,   Impatience and Hubris - Larry Wall - <ulink url="http://www.netropolis.org/hash/perl/virtue.html"/> </para></section><section><title>Owning your code</title><itemizedlist><listitem><para>Fixing broken windows </para></listitem><listitem><para>Signing it </para></listitem><listitem><para>Deliberate coding and coding by coincidence </para></listitem><listitem><para>Documentation </para></listitem></itemizedlist></section><section><title>Orthogonality</title><itemizedlist><listitem><para>Breaking code into parts and making them separable one from the other </para></listitem></itemizedlist></section><section><title>Learning your tools</title><itemizedlist><listitem><para>Your text editor </para></listitem><listitem><para>Your language </para></listitem><listitem><para>Learning several languages </para></listitem><listitem><para>Differences between languages (high-level, low level) </para></listitem></itemizedlist></section><section><title>Assume you will make mistakes</title><itemizedlist><listitem><para>Make code tests </para></listitem><listitem><para>Use code repositories </para></listitem></itemizedlist></section><section><title>Talk to the duck</title><itemizedlist><listitem><para>Describe the problem to someone or something to aid thinking </para></listitem></itemizedlist></section></section></article>