<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="CVtoXHTML_full.xsl" title="Full, detailed output of all CV data to XHTML"?>
<?xml-stylesheet type="text/xsl" href="CVtoXHTML_short.xsl" title="Short, single page output of CV data to XHTML"?>
<curriculumvitae forwhom="Niall Douglas" lang="en"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cv_v6.xsd">
    <name>Niall Douglas</name>
    <linkedIn country="IE">nialldouglas</linkedIn>
    <revision>
        <version>6.6</version>
        <lastupdated>2020-06-18</lastupdated>
    </revision>
    <privatedetails>
        <dateofbirth>1978-01-15</dateofbirth>
        <address><div xmlns="http://www.w3.org/1999/xhtml">15 Hammond Place<br/>
            Dromahane<br/>
            Mallow<br/>
            County Cork</div></address>
        <telephone>+353 (89) 447 5617</telephone>
        <email>s_jobs0002@nedprod.com</email>
    </privatedetails>
    <introduction>
        <specialize profile="Education">
            <short>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <p><span class="underlined">Primary research interest:</span> managing human civilisation under conditions of declining
                        basic resource inputs with a particular emphasis on the moral, social and
                        economic consequences therein (see publications list overleaf).</p>
                    <p><span class="underlined">Teaching experience:</span> significant hours of paid higher education
                        teaching experience (consistently scoring in top quintile in anonymous student
                        feedback).</p>
                </div>
            </short>
            <long>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <p>I am a <b>SCHOLAR AND EDUCATOR</b> with an inter-disciplinary knowledge
                        spanning multiple numerate and non-numerate subjects, in many of which I
                        possess a formal academic qualification. My primary academic research
                        interest is in managing human civilisation under conditions of declining
                        basic resource inputs with a particular emphasis on the moral, social and
                        economic consequences therein.</p>
                    <p>I have experience in teaching at many diverse levels of academic difficulty,
                        student ability and class size, having approximately two hundred hours of
                        paid higher education teaching experience. I have lectured informally at
                        student societies and gatherings of enthusiasts as well as providing higher
                        education private tuition for students including those with learning
                        difficulties. One of my many experiences involved teaching Economics at
                        degree level at the National University of Ireland (NUI), Cork. As part of
                        this employment, I designed the curriculum and assessment rubrics, and I
                        achieved an excellent average 87.2% class attendance, an 82.8%
                        Interestingness and an 81.2% Clearness rating in the weekly feedback.
                        Another experience involved teaching Business to French undergraduates where
                        I deployed an experimental critical thinking skills curriculum based on
                        Springer and Borthick's 2004 paper, with great success. I have approximately
                        sixty hours of postgraduate tutoring employment in e-Business at NUI Cork,
                        and I have a deep understanding of other cultures through living and working
                        in the countries of Britain, Spain, Ireland and Canada, and in the languages
                        of English (native speaker) and Spanish in which I am conversationally
                        fluent.</p>
                </div>
            </long>
        </specialize>
        <specialize profile="IT">
            <short>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <ul>
                        <li>More than twenty years of experience, with &gt; 8k contributions to
                            many open source projects over two decades in addition to a wide variety
                            of commercial experience.</li>
                        <li> I hold graduate or postgraduate qualifications in Software Engineering,
                            Economics, Management, Business Information Systems, Educational and
                            Social Research, and Pure Maths.</li>
                        <li> I formerly served in administration of <a href="http://www.boost.org/"
                                >the Boost C++ Libraries</a>. I was the lead for spending over
                            US$150k of funding.</li>
                        <li> I have spoken as a domain expert on multiple occasions at the major
                            global C++ conferences, CppCon, ACCU, C++ Now, Meeting C++ as well as at
                            local C++ user groups. I have been interviewed twice as a C++ expert on
                            CppCast.</li>
                        <li>I am part of the International Standardisation of C++, serving on
                            multiple committees and study groups for many years, including formerly
                            as SC22 mirror convenor for the Republic of Ireland.
                        </li>
                        <li> After six years of work, I successfully got <a
                            href="https://ned14.github.io/outcome/">a fundamentals library</a>
                            past Boost C++ Libraries peer review and into Boost, the first
                            fundamentals library to do so in many years. The peer review of this
                            library, which was one of the largest of any C++ library anywhere in the
                            C++ ecosystem in many years, informed the design of Herb Sutter's <a
                                href="https://wg21.link/P0709" class="trim">P0709 <em>Zero overhead
                                    deterministic exceptions</em></a> proposal. <a
                                        href="https://ned14.github.io/outcome/experimental/"
                                        >Experimental.Outcome</a>, which ships with Boost since v1.71,
                            provides a very decent library-based emulation of P0709 using the <a
                                href="https://wg21.link/P1028" class="trim"
                                ><code>std::status_code</code> and <code>std::error</code></a>
                            standard error objects.</li>
                    </ul>

                    <div class="itreferences">
                        <ul>
                            <li>
                                <a class="printlink" href="http://github.com/ned14">My GitHub
                                        page<br/><span style="font-size:80%">(contains about 50k+
                                        lines of my open source contributions over the past eighteen
                                        years)</span></a>
                            </li>
                            <li>
                                <a class="printlink"
                                    href="https://www.google.com/search?q=%22s_sourceforge%22+OR+%22ndouglas+*+rim+*+com%22+OR+%22ndouglas+*+blackberry+*+com%22+OR+%22ndouglas.rim%22"
                                    >My posts to technical mailing lists<br/><span
                                        style="font-size:80%">(many thousand over the past twenty
                                        years)</span></a>
                            </li>
                            <li>
                                <a class="printlink"
                                    href="https://stackoverflow.com/story/nialldouglas">My
                                    StackOverflow Developer Story<br/>
                                    <span style="font-size:80%">(top 5% in C++, posix; top 10% in
                                        file-io, boost; top 20% in c, linux and python)</span></a>
                            </li>
                            <li>
                                <a class="printlink" href="https://www.openhub.net/accounts/ned14"
                                    >My OpenHub profile<br/>
                                    <span style="font-size:80%">(8,230 commits to 28 open source
                                        projects over 15 years in 21 data formats and programming
                                        languages)</span></a>
                            </li>
                        </ul>
                    </div>
                </div>
            </short>
            <long>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <ul>
                        <li>More than twenty years of experience, with &gt; 8k contributions to
                            many open source projects over two decades in addition to a wide variety
                            of commercial experience.</li>
                        <li> I hold graduate or postgraduate qualifications in Software Engineering,
                            Economics, Management, Business Information Systems, Educational and
                            Social Research, and Pure Maths.</li>
                        <li> I formerly served in administration of <a href="http://www.boost.org/"
                                >the Boost C++ Libraries</a>. I was the lead for spending over
                            US$150k of funding.</li>
                        <li> I have spoken as a domain expert on multiple occasions at the major
                            global C++ conferences, CppCon, ACCU, C++ Now, Meeting C++ as well as at
                            local C++ user groups. I have been interviewed twice as a C++ expert on
                            CppCast.</li>
                        <li>I am part of the International Standardisation of C++, serving on
                            multiple committees and study groups for many years, including formerly
                            as SC22 mirror convenor for the Republic of Ireland. Some highlights, in
                            order of current closeness to standardisation: <ol>
                                <li>
                                    <a href="https://wg21.link/P1030">
                                        <code>std::filesystem::path_view</code>
                                    </a> was approved by LEWG for entry into C++ 23. </li>
                                <li>
                                    <a href="https://wg21.link/P1028"><code>std::status_code</code>
                                        and <code>std::error</code></a> is making good progress at
                                    LEWG, and is hoped to become the new standard error object for
                                    C++. </li>
                                <li>
                                    <a href="https://wg21.link/P1029">
                                        <code>move = bitcopies</code>
                                    </a> has survived EWG-I, and would markedly improve the codegen
                                    of a large class of move-only types (including most STL
                                    containers). </li>
                                <li> WG21 <a href="https://wg21.link/P1883"
                                            ><code>std::file_handle</code> and
                                            <code>std::mapped_file_handle</code></a> continue to
                                    make good progress at LEWG-I, and would bring both very high
                                    performance and concurrency safe file i/o to standard C++, as
                                    well as providing a solid foundation for replacing iostreams
                                    with a more modern alternative. </li>
                                <li> WG21 <a href="https://wg21.link/P2069">P2069</a> proposes a
                                    modernised, portable, thread safe, implementation of POSIX
                                    signals. It has not been rejected in initial consultations with
                                    WG21, WG14 (C), the Austin Working Group (POSIX), nor Microsoft.
                                    Everybody agrees how sorely needed this modernisation is needed,
                                    however coordinating all four standards bodies onto a single
                                    proposal is widely considered challenging. It would also require
                                    strengthened guarantees for both C and C++ compilers, a new
                                    dialect of 'signal safe' C++ to be defined. It is a lot of work,
                                    but necessary if we are to properly support mapped memory in
                                    standard C and C++ in the future. </li>
                                <li>WG14 <a
                                        href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2429.pdf"
                                        >N2429</a> proposes a mechanism for defining C function
                                    editions which enables far more efficient error handling for
                                    both C and C++ code, particularly for <code>errno</code>-setting
                                    functions such as the C math functions, including providing
                                    seamless interoperation between C code and any future C++ with
                                    lightweight exceptions (see <a href="https://wg21.link/P0709"
                                        >P0709 <em>Zero overhead deterministic exceptions</em></a>.
                                    P0709 currently awaits a reference compiler implementation,
                                    expected to be funded by Microsoft.</li>
                            </ol>
                        </li>
                        <li> After six years of work, I successfully got <a
                                href="https://ned14.github.io/outcome/">a fundamentals library</a>
                            past Boost C++ Libraries peer review and into Boost, the first
                            fundamentals library to do so in many years. The peer review of this
                            library, which was one of the largest of any C++ library anywhere in the
                            C++ ecosystem in many years, informed the design of Herb Sutter's <a
                                href="https://wg21.link/P0709" class="trim">P0709 <em>Zero overhead
                                    deterministic exceptions</em></a> proposal. <a
                                href="https://ned14.github.io/outcome/experimental/"
                                >Experimental.Outcome</a>, which ships with Boost since v1.71,
                            provides a very decent library-based emulation of P0709 using the <a
                                href="https://wg21.link/P1028" class="trim"
                                    ><code>std::status_code</code> and <code>std::error</code></a>
                            standard error objects.</li>
                    </ul>

                    <div class="itreferences">
                        <ul>
                            <li>
                                <a class="printlink" href="http://github.com/ned14">My GitHub
                                        page<br/><span style="font-size:80%">(contains about 50k+
                                        lines of my open source contributions over the past eighteen
                                        years)</span></a>
                            </li>
                            <li>
                                <a class="printlink"
                                    href="https://www.google.com/search?q=%22s_sourceforge%22+OR+%22ndouglas+*+rim+*+com%22+OR+%22ndouglas+*+blackberry+*+com%22+OR+%22ndouglas.rim%22"
                                    >My posts to technical mailing lists<br/><span
                                        style="font-size:80%">(many thousand over the past twenty
                                        years)</span></a>
                            </li>
                            <li>
                                <a class="printlink"
                                    href="https://stackoverflow.com/story/nialldouglas">My
                                    StackOverflow Developer Story<br/>
                                    <span style="font-size:80%">(top 5% in C++, posix; top 10% in
                                        file-io, boost; top 20% in c, linux and python)</span></a>
                            </li>
                            <li>
                                <a class="printlink" href="https://www.openhub.net/accounts/ned14"
                                    >My OpenHub profile<br/>
                                    <span style="font-size:80%">(8,230 commits to 28 open source
                                        projects over 15 years in 21 data formats and programming
                                        languages)</span></a>
                            </li>
                        </ul>
                    </div>
                </div>
            </long>
        </specialize>
        <!--<specialize profile="allpossibledata">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>I am a teapot, short and stout.</p>
            </div>
        </specialize>-->
        <div xmlns="http://www.w3.org/1999/xhtml">
            <p>I am a year 2000 graduate of <b>Software Engineering</b> at the University of Hull,
                England, with extensive experience of working prior to and during my degree, and
                where my final project was an Object Orientated Hardware Abstraction Layer with a
                port of the uC/OS II real time operating system. I am also a year 2008 Joint Honours
                Masters graduate in <b>Economics &amp; Management</b> at the University of St.
                Andrews, Scotland, where my Masters dissertation topic was on <i>Modelling the Costs
                    of Climate Change and its Costs of Mitigation</i>. In 2009 I graduated with a
                further Masters in <b>Business Information Systems</b> from NUI University College
                Cork, Ireland, with my team winning the prestigious 2009 Student Enterprise Awards
                held annually by Enterprise Ireland, the Irish Government organisation for
                entrepreneurship, for our Web 2.0 FIXatdl Financial Algorithmic Trading Definition
                Language Editor. In March 2013 I graduated with a PGCert in <b>Educational and
                    Social Research</b> from the University of London, and in June 2013 I obtained a
                Certificate in <b>Introduction to Complexity</b> with the Santa Fe Institute. I
				completed in 2017 a Higher Certificate in <b>Pure Mathematics</b> with the
				Open University, having taken it part-time by distance over a five year period.</p>
        </div>
    </introduction>
    <skills>
        <skillsgroup type="Technical">
            <skill name="Assemblers">
                <specificskill ability="expert">ARM</specificskill>
                <specificskill ability="expert">x64</specificskill>
                <specificskill ability="expert">x86</specificskill>
            </skill>
            <skill name="Programming Languages">
                <specificskill ability="expert">C</specificskill>
                <specificskill ability="expert">C++</specificskill>
                <specificskill ability="competent">C#</specificskill>
                <specificskill ability="competent">GLSL</specificskill>
                <specificskill ability="competent">HLSL</specificskill>
                <specificskill ability="competent">Javascript</specificskill>
                <specificskill ability="competent">OpenCL</specificskill>
                <specificskill ability="competent">PHP</specificskill>
                <specificskill ability="expert">Python</specificskill>
                <specificskill ability="expert">SQL</specificskill>
                <specificskill ability="competent">VBA</specificskill>
                <specificskill ability="proficient">XSL</specificskill>
            </skill>
            <skill name="Programming Libraries">
                <specificskill ability="expert">Boost</specificskill>
                <specificskill ability="competent">DirectX</specificskill>
                <specificskill ability="proficient">jQuery</specificskill>
                <specificskill ability="competent">.NET</specificskill>
                <specificskill ability="competent">OpenGL</specificskill>
                <specificskill ability="expert">OpenSSL</specificskill>
                <specificskill ability="competent">Qt</specificskill>
                <specificskill ability="proficient">X11</specificskill>
            </skill>
            <skill name="Platforms">
                <specificskill ability="competent">Google Android</specificskill>
                <specificskill ability="competent">Apple Mac OS X</specificskill>
                <specificskill ability="expert">POSIX Unix (Linux, FreeBSD)</specificskill>
                <specificskill ability="expert">Windows</specificskill>
            </skill>
            <skill name="General">
                <specificskill ability="expert">embedded systems (kernel and driver development)</specificskill>
                <specificskill ability="expert">multiprocessor &amp; multithreaded systems</specificskill>
                <specificskill ability="expert">object orientation</specificskill>
                <specificskill ability="expert">stream and GPU high performance computing</specificskill>
                <specificskill ability="expert">performance tuning</specificskill>
                <specificskill ability="expert">generic programming</specificskill>
                <specificskill ability="proficient">functional programming</specificskill>
                <specificskill ability="expert">distributed programming</specificskill>
                <specificskill ability="proficient">project management</specificskill>
            </skill>
        </skillsgroup>
        <skillsgroup type="Language">
            <skill name="Spanish">
                <specificskill ability="competent">Passable Conversational Spanish</specificskill>
            </skill>
        </skillsgroup>
    </skills>
    <qualifications>

        <award type="Higher Certificate">
            <name>HE Cert</name>
            <title>Pure Maths</title>
            <institution>Open University</institution>
            <grade>Pass</grade>
            <iscedcategory>
                <iscedlevel>5</iscedlevel>
                <iscedfield1>4</iscedfield1>
                <iscedfield2>46</iscedfield2>
            </iscedcategory>
            <start>2012-01-01</start>
            <end>2017-06-13</end>
            <location>
                <city>Cork</city>
                <country>IE</country>
            </location>
        </award>
        <award type="Certificate">
            <name>Certificate</name>
            <title>Introduction to Complexity</title>
            <institution>The Santa Fe Institute</institution>
            <grade>Pass (95%)</grade>
            <iscedcategory>
                <iscedlevel>4</iscedlevel>
                <iscedfield1>4</iscedfield1>
                <iscedfield2>46</iscedfield2>
            </iscedcategory>
            <start>2013-01-31</start>
            <end>2013-06-01</end>
            <location>
                <city>Waterloo, Ontario</city>
                <country>CA</country>
            </location>
        </award>
        <award type="Post-graduate Certificate">
            <name>PGCert</name>
            <title>Educational and Social Research</title>
            <institution>University of London</institution>
            <grade>Merit</grade>
            <iscedcategory>
                <iscedlevel>6</iscedlevel>
                <iscedfield1>1</iscedfield1>
                <iscedfield2>14</iscedfield2>
            </iscedcategory>
            <start>2010-10-01</start>
            <end>2012-06-30</end>
            <location>
                <city>Cork</city>
                <country>IE</country>
            </location>
        </award>
        <award type="Master of Business Systems">
            <name>MBS</name>
            <title>Business Information Systems</title>
            <institution>National University of Ireland Cork</institution>
            <grade>2H2</grade>
            <iscedcategory>
                <iscedlevel>6</iscedlevel>
                <iscedfield1>3</iscedfield1>
                <iscedfield2>34</iscedfield2>
            </iscedcategory>
            <start>2008-10-01</start>
            <end>2009-06-30</end>
            <location>
                <city>Cork</city>
                <country>IE</country>
            </location>
            <dissertation>WebATDL – a Web 2.0 FIXatdl Financial Algorithmic
                Trading Definition Language Editor</dissertation>
        </award>
        <award type="Master of Arts">
            <name>MA</name>
            <title>Joint Honours in Economics &amp; Management</title>
            <institution>University of St. Andrews</institution>
            <grade>2H1</grade>
            <iscedcategory>
                <iscedlevel>5</iscedlevel>
                <iscedfield1>3</iscedfield1>
                <iscedfield2>31</iscedfield2>
            </iscedcategory>
            <start>2004-10-01</start>
            <end>2008-06-30</end>
            <location>
                <city>St. Andrews</city>
                <county>Fife</county>
                <country>GB</country>
            </location>
            <dissertation href="http://econpapers.repec.org/RePEc:pra:mprapa:13650">Modelling the
                Costs of Climate Change and its Costs of Mitigation – A Scientific
                Approach</dissertation>
        </award>
        <award type="Bachelor of Science">
            <name>BSc</name>
            <title>Software Engineering</title>
            <institution>University of Hull</institution>
            <grade/>
            <iscedcategory>
                <iscedlevel>5</iscedlevel>
                <iscedfield1>4</iscedfield1>
                <iscedfield2>48</iscedfield2>
            </iscedcategory>
            <start>1997-10-01</start>
            <end>2000-06-30</end>
            <location>
                <city>Hull</city>
                <county>Yorkshire</county>
                <country>GB</country>
            </location>
            <dissertation href="http://www.nedprod.com/NedHAL/">NedHAL – a modular,
                architecture-independent, multiprocessing-capable Hardware Abstraction
                Layer</dissertation>
        </award>
        <award type="Irish Leaving Certificate">
            <name>Seven Honours</name>
            <title/>
            <institution>Presentation Brothers College</institution>
            <grade>1 A, 5 B's, 1 C</grade>
            <iscedcategory>
                <iscedlevel>3</iscedlevel>
                <iscedfield1>0</iscedfield1>
                <iscedfield2>01</iscedfield2>
            </iscedcategory>
            <start>1993-09-01</start>
            <end>1996-06-30</end>
            <location>
                <city>Cork</city>
                <country>IE</country>
            </location>
        </award>
        <award type="Irish Junior Certificate">
            <name>Ten Honours</name>
            <title/>
            <institution>Presentation Brothers College</institution>
            <grade/>
            <iscedcategory>
                <iscedlevel>2</iscedlevel>
                <iscedfield1>0</iscedfield1>
                <iscedfield2>01</iscedfield2>
            </iscedcategory>
            <start>1990-09-01</start>
            <end>1993-06-30</end>
            <location>
                <city>Cork</city>
                <country>IE</country>
            </location>
        </award>
    </qualifications>
    <memberships>
        <society>
            <name>College of Teachers</name>
            <grade>Member no. 008996</grade>
            <start>2011-02-21</start>
            <end>2012-02-28</end>
        </society>
        <society>
            <name>World Economics Association (formerly Post-Autistic Economics Network)</name>
            <grade>Member</grade>
            <start>2005-12-01</start>
            <end>unbounded</end>
        </society>
        <society>
            <name>British Computing Society</name>
            <grade>Ordinary Member</grade>
            <start>1997-10-01</start>
            <end>2001-06-30</end>
        </society>
        <society>
            <name>Mensa Ireland</name>
            <grade>Member</grade>
            <start>1994-01-01</start>
            <end>1995-01-01</end>
        </society>
    </memberships>
    <recognitions>
        <organisation>
            <name>Dublin C++ Users group</name>
            <grade>Presented</grade>
            <when>2018-09-17</when>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <a href="https://www.youtube.com/watch?v=cbUTAoHy6Ls"
                        >Deterministic Disappointment</a>
                </div>
            </description>
        </organisation>
        <organisation>
            <name>Boost C++ Libraries</name>
            <grade>Underwent peer review of proposed Boost.Outcome C++ library (2nd time)</grade>
            <when>2018-01-01</when>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <a href="https://lists.boost.org/boost-announce/2018/02/0536.php"
                        >Peer Review Report for proposed Boost.Outcome v2 Jan 19th - 28th</a>
                </div>
            </description>
        </organisation>
        <organisation>
            <name>The 2017 Meeting C++ conference</name>
            <grade>Presented</grade>
            <when>2017-11-10</when>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <a href="https://www.youtube.com/watch?v=JfMBLx7qE0I"
                        >Introduction to proposed std::expected&lt;T, E&gt;</a>
                </div>
            </description>
        </organisation>
        <organisation>
            <name>Boost C++ Libraries</name>
            <grade>Underwent peer review of proposed Boost.Outcome C++ library (1st time)</grade>
            <when>2017-05-01</when>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <a href="https://lists.boost.org/boost-announce/2017/06/0510.php"
                        >Peer Review Report for proposed Boost.Outcome v1 May 19th - June 2nd</a>
                </div>
            </description>
        </organisation>
        <organisation>
            <name>Google Summer of Code 2017</name>
            <grade>Mentor for proposed Boost.StaticViews C++ library</grade>
            <when>2017-06-30</when>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <a href="https://svn.boost.org/trac10/wiki/SoC2017#a1.Staticmapboost::static_mapKeyTConstExprHashboost::constexpr_hashKeyPredboost::constexpr_equal_toKey"
                        >https://svn.boost.org/trac10/wiki/SoC2017</a>
                </div>
            </description>
        </organisation>
        <organisation>
            <name>The 2017 ACCU conference</name>
            <grade>Presented</grade>
            <when>2017-04-15</when>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <a href="https://youtu.be/XVofgKH-uu4"
                        >Mongrel Monads, Dirty, Dirty, Dirty</a>
                </div>
            </description>
        </organisation>
        <organisation>
            <name>Boost C++ Libraries</name>
            <grade>Peer Review managed proposed Boost.Stacktrace C++ library (2nd time)</grade>
            <when>2017-03-17</when>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <a href="http://lists.boost.org/boost-announce/2017/03/0496.php"
                        >Peer Review Report for proposed Boost.Stacktrace v2 Mar 17th - 26th</a>
                </div>
            </description>
        </organisation>
        <organisation>
            <name>Boost C++ Libraries</name>
            <grade>Peer Review managed proposed Boost.Stacktrace C++ library (1st time)</grade>
            <when>2016-12-14</when>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <a href="https://lists.boost.org/boost-announce/2017/01/0486.php"
                        >Peer Review Report for proposed Boost.Stacktrace v1 Dec 14th - 23rd</a>
                </div>
            </description>
        </organisation>
        <organisation>
            <name>The 2016 CppCon conference</name>
            <grade>Presented</grade>
            <when>2016-09-15</when>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <a href="https://www.youtube.com/watch?v=9l28ax3Zq0w"
                        >Better Mutual Exclusion on the filesystem using Boost.AFIO</a>
                </div>
            </description>
        </organisation>
        <organisation>
            <name>The 2016 ACCU conference</name>
            <grade>Presented</grade>
            <when>2016-04-15</when>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <a href="https://www.youtube.com/watch?v=elegewDwm64"
                        >Distributed Mutual Exclusion using Proposed Boost.AFIO</a>
                </div>
            </description>
        </organisation>
        <organisation>
            <name>The 2015 CppCon conference</name>
            <grade>Presented</grade>
            <when>2015-09-15</when>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <a href="https://www.youtube.com/watch?v=uhRWMGBjlO8"
                        >Racing the File System</a>
                </div>
            </description>
        </organisation>
        <organisation>
            <name>The 2015 C++ Now conference</name>
            <grade>Presented</grade>
            <when>2015-05-14</when>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <a href="https://github.com/boostcon/cppnow_presentations_2015"
                        >A review of C++ 11/14 only Boost libraries - Fiber, AFIO, DI and APIBind</a>
                </div>
            </description>
        </organisation>
        <organisation>
            <name>The 2014 C++ Now conference</name>
            <grade>Presented</grade>
            <when>2014-05-17</when>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <a href="https://github.com/boostcon/cppnow_presentations_2014"
                        >My Thoughts on Large Code Base Change Ripple Management in C++</a>
                </div>
            </description>
        </organisation>
        <organisation>
            <name>Boost C++ Libraries</name>
            <grade>Peer Review managed proposed Boost.TypeIndex C++ library</grade>
            <when>2013-11-24</when>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <a href="https://groups.google.com/d/msg/boost-list/TeiSdkRkUF0/eA8u8gqsHnwJ"
                        >Peer Review Report for proposed Boost.TypeIndex v2.1 Nov 12th – 21st 2013</a>
                </div>
            </description>
        </organisation>
        <organisation>
            <name>Google Summer of Code 2013</name>
            <grade>Mentor for proposed Boost.AFIO and Boost.Trie C++ libraries</grade>
            <when>2013-06-30</when>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <a href="http://www.google-melange.com/gsoc/org/google/gsoc2013/boost"
                        >http://www.google-melange.com/gsoc/org/google/gsoc2013/boost</a>
                </div>
            </description>
        </organisation>
        <organisation>
            <name>All Ireland Student Enterprise Awards Competition</name>
            <grade>Winner of 'Export Capability' Award</grade>
            <when>2009-06-10</when>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">G-One Trading for WebATDL (group project
                    of MBS BIS above): <a
                        href="http://www.ucc.ie/en/news/newsarchive/2009pressreleases/fullstory-76744-en.html"
                        >http://www.ucc.ie/en/news/newsarchive/2009pressreleases/fullstory-76744-en.html</a>
                </div>
            </description>
        </organisation>
        <organisation>
            <name>Google Summer of Code 2009</name>
            <grade>Nominated as Mentor for the Boost C++ libraries</grade>
            <when>2009-06-01</when>
        </organisation>
        <organisation>
            <name>Aer Lingus Young Scientist's Competition</name>
            <grade>Came second in group</grade>
            <when>1994-12-01</when>
            <when>1995-12-01</when>
        </organisation>
        <organisation>
            <name>Motorola Software in Schools Competition</name>
            <grade>Came second</grade>
            <when>1993-12-01</when>
        </organisation>
        <organisation>
            <name>International Logo Programming Competition</name>
            <grade>Came second in Ireland and fourth in the world</grade>
            <when>1989-06-01</when>
        </organisation>
    </recognitions>
    <experiences>
        <experience>
            <title href="https://maystreet.com/">Capital Markets Platform Consultant</title>
            <employer>MayStreet Inc.</employer>
            <location>
                <city>Cork</city>
                <country>IE</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.2</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2019-02-13</start>
            <end>unbounded</end>
            <earnings periodicity="salary" currency="EUR" comment="excl. stocks">270000</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <p>Led out the design and implementation of the custom database part of
                        MayStreet’s replacement for the SEC’s MIDAS platform, which captures all
                        trades in the US including futures and options, and provides live and
                        historical querying of that data to regulatory authorities. This was a
                        challenging project, requiring extreme attention to detail and correctness
                        in order to handle the volumes of data involved, whilst keeping latencies
                        within tens of milliseconds no matter market volatility, and very high
                        uptime and redundancy. Some features:</p>
                    <ul>
                        <li>The database server could be unexpectedly halted at any time, including
                            due to OOM, or due to spinning down AWS instances, without losing
                            storage integrity. It could thus be restarted quickly, without losing
                            the many Terabytes of locally cached content.</li>
                        <li>The database server could be replicated across any number of nodes,
                            using an Amazon S3 bucket as the central repository from which missing
                            chunks could be fetched, and cached locally. Each node automatically
                            synchronises its defined subset of the total new data pushed to S3.</li>
                        <li>Arbitrary numbers of open queries could be kept open, each of which
                            would yield new data as and when new data matching the open query
                            ingressed into the database.</li>
                        <li>Each of the APIs capable of going to the network had a non-blocking and
                            a coroutinised edition. This was a hedge against the then-buggy C++
                            coroutine implementations.</li>
                        <li>This was a VM-heavy implementation which regularly pushed hard against
                            Linux kernel limits (each OPRA session might consume 900Gb per day, and
                            there is forty-three of them, and OPRA was just one source of trade
                            data). Most of the usual VM problems (TLB shootdown storms) were avoided
                            using a custom mapped file implementation, so we had direct control over
                            when to evict data, but also to substantially increase the i/o block
                            size in order to fully leverage the bandwidth of the wide local RAID
                            array of NVMe SSDs.</li>
                        <li>The implementation was written in C++ 17 and 20, exclusively using <a
                                href="https://ned14.github.io/llfio/">the reference implementation
                                library</a> for <a href="https://wg21.link/P1031" class="trim">P1031 <em>Low
                                    level file i/o</em></a> configured with <a
                                href="https://ned14.github.io/outcome/experimental/"
                                >Experimental.Outcome</a> as a library-based emulation of <a
                                    href="https://wg21.link/P0709" class="trim">P0709 <em>Zero-overhead deterministic
                                    exceptions</em></a>.</li>
                        <li>Typical individual operation latencies (Linux, 100 days in database):
                            add new day: 55 μs; publish day: 71 μs; query available days: 660 μs;
                            get first update in a day: 13.7 μs.</li>
                    </ul>
                    <br/>
                    <br/>
                    <i>Contracted through ned Productions Ltd.</i>
                </div>
            </description>
        </experience>
        <experience>
            <title href="https://www.youtube.com/watch?v=cbUTAoHy6Ls">Deterministic Disappointment</title>
            <employer>Dublin C++ users group</employer>
            <location>
                <city>Dublin</city>
                <country>IE</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2018-09-17</start>
            <end>2018-09-17</end>
            <earnings>Unpaid</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <p>Literature review of the WG21 papers relating to deterministically handling failure, and using libraries such as Outcome to implement the same.</p>
                </div>
            </description>
        </experience>
        <experience>
            <title href="https://www.verizonwireless.com/">Modernisation Contractor</title>
            <employer>Verizon Wireless</employer>
            <location>
                <city>Dublin</city>
                <country>IE</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.2</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2017-11-22</start>
            <end>2018-11-30</end>
            <earnings periodicity="daily" currency="EUR">400</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">

                    <p>Helped the Public Key Infrastructure group modernise their twenty-five year
                        old C++ codebase of approx. two million lines of code. Contributions:</p>
                    <ul>
                        <li>Ported 2M lines of 90s and early 2000s C++ code, much of it pre-STL,
                            from Windows x86 to Windows x64. In the process replaced many ancient
                            versions of third party dependencies with much newer editions,
                            refactoring code as necessary.</li>
                        <li>Replaced legacy VC6 inherited build system tied together with complex
                            batch scripting with cmake + ninja + ctest.</li>
                        <li>Ported same 2M lines of code to Visual Studio 2017 running in C++ 17
                            mode. This was surprisingly tricky given the age of the codebase.</li>
                        <li>Ported code to clang trunk on Linux, in order to make use of the runtime
                            sanitisers which were used to track down and repair a number of
                            instances of memory corruption.</li>
                    </ul>

                    <br/>
                    <br/>
                    <i>Contracted through ned Productions Ltd.</i>
                </div>
            </description>
        </experience>
        <experience>
            <title href="https://lists.boost.org/boost-announce/2018/02/0536.php">My proposed Boost
                library Outcome peer reviewed by experts (2nd time)</title>
            <employer>Boost C++ Libraries</employer>
            <location>
                <city>Cork</city>
                <country>IE</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2018-01-19</start>
            <end>2018-01-28</end>
            <earnings>Open Source</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Submitted a second attempt, incorporating
                    the ample feedback from the first peer review, at a library intended for C++
                    standardisation which implements fixed latency failure handling as a predictable
                    latency alternative to C++ exception throws. This was <b>accepted</b> into the
                    Boost libraries, and 
                    <a href="https://wg21.link/P0709">it began almost immediately the process to
                        become standardised into ISO C++</a>.</div>
            </description>
        </experience>
        <experience>
            <title href="https://www.youtube.com/watch?v=JfMBLx7qE0I">Introduction to proposed std::expected&lt;T, E&gt;</title>
            <employer>Meeting C++ conference</employer>
            <location>
                <city>Berlin</city>
                <country>DE</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2017-11-10</start>
            <end>2017-11-10</end>
            <earnings>Unpaid</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <p>Literature review of the several WG21 papers relating to std::expected&lt;T, E&gt;</p>
                </div>
            </description>
        </experience>
        <experience>
            <title href="https://lists.boost.org/boost-announce/2017/06/0510.php">My proposed Boost
                library Outcome peer reviewed by experts (1st time)</title>
            <employer>Boost C++ Libraries</employer>
            <location>
                <city>Cork</city>
                <country>IE</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2017-05-01</start>
            <end>2017-05-31</end>
            <earnings>Open Source</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Submitted a first attempt at a library intended for C++
                    standardisation which implements fixed latency failure handling as a predictable
                    latency alternative to C++ exception throws. As a vocabulary type expected to
                    enter standardisation, this review attracted enormous interest from across the
                    C++ ecosystem. It was rejected, but with plenty of feedback on what to design
                    for v2 Outcome.</div>
            </description>
        </experience>
        <experience>
            <title href="https://www.quanthouse.com/">Contract Consultant on Market Data over TCP scalability</title>
            <employer>Quant House</employer>
            <location>
                <city>Cork</city>
                <country>IE</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.2</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2017-04-01</start>
            <end>2017-04-30</end>
            <earnings periodicity="daily" currency="EUR">600</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <p>This was a 100% remote working contract with an onsite visit.</p>
                    
                    <p>Performed one month of feasibility testing on QuantHouse's main ultra low
                        latency market data supply product FeedOS, producing a report on their
                        future options for reducing latency and increasing density of clients
                        served.</p>
                    
                    <br/><br/><i>Contracted through ned Productions Ltd.</i></div>
            </description>
        </experience>
        <experience>
            <title href="https://pypi.org/project/pcpp/">A C99 preprocessor written in pure
                Python</title>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2017-03-13</start>
            <end>unbounded</end>
            <earnings>Open Source</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">A pure universal Python C
                    (pre-)preprocessor implementation very useful for pre-preprocessing header only
                    C++ libraries into single file includes and other such build or packaging stage
                    malarky. The implementation can be used as a Python module (see API reference)
                    or as a command line tool pcpp which can stand in for a conventional C
                    preprocessor (i.e. it’ll accept similar arguments).</div>
            </description>
        </experience>
        <experience>
            <title href="https://youtu.be/XVofgKH-uu4">Mongrel Monads, Dirty, Dirty, Dirty - Niall Douglas [ACCU 2017] - YouTube</title>
            <employer>ACCU conference</employer>
            <location>
                <city>Bristol</city>
                <country>GB</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2017-04-01</start>
            <end>2017-04-30</end>
            <earnings>Unpaid</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <p>Are you using enums to return error states from functions (or even an int or
                        bool!)? Do you find writing exception safe C++ a poor return on coding
                        investment, and end up avoiding using most of the STL entirely because it
                        could throw exceptions in all sorts of unhelpful places? Have you ever
                        wondered what on earth the C++ 11’s system_error header is actually useful
                        for?</p>

                    <p>One might think that after thirty years C++ would have decided upon a
                        canonical way of handling errors, but it is very clear the jury remains out
                        with heavy fragmentation in the C++ user base as to how best to handle
                        errors. The new systems programming languages Rust and Swift have chosen a
                        canonical error handling system based on immediate stack unwinding returns
                        of integer error codes in a monadic wrapper e.g. Rust’s ResultT and OptionT.
                        Efforts are underway to standardise something similar for C++ with optional
                        T and soon WG21 LEWG’s expected T, E which recently lost its monadic
                        operations as it gets pared ever further down to its essentials for
                        standardisation.</p>

                    <p>This talk reviews these four standardised error handling techniques in C++,
                        and how well the three major compilers and library implementations implement
                        these techniques into overhead. I will also be introducing for the first
                        time my own solution to this problem called outcomes (implemented by a
                        proposed Boost.Outcome library) which implement a very impure and dirty -
                        but very lightweight on compile and runtime overhead – simple “mongrel
                        monad” outcome T, result T and option T transport factory specifically
                        targeted at extending C++ 11’s std::exception_ptr and std::error_code in a
                        more convenient to use form, thus providing a unified lossless error
                        handling system for C++. I am hoping these will eventually form part of SG14
                        (games/low latency)’s recommendations for maximum performance C++ as a
                        lighter weight and more convenient to use for error handling alternative to
                        the LEWG expected T, E.</p>
                </div>
            </description>
        </experience>
        <experience>
            <title href="https://www.youtube.com/watch?v=9l28ax3Zq0w">CppCon 2016: Niall Douglas “Better mutual exclusion on the filesystem using Boost.AFIO"</title>
            <employer>CppCon conference</employer>
            <location>
                <city>Seattle</city>
                <country>US</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2016-09-01</start>
            <end>2016-09-30</end>
            <earnings>Unpaid</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <p>This is the third and likely final part of a surprisingly popular "from first
                        principles" series of beginner's workshops based on developing the v2
                        post-peer-review rewrite of proposed Boost.AFIO, a C++ library wrapping the
                        advanced features of the filesystem intended for eventual ISO C++
                        standardisation. If you're the kind of library developer who likes building
                        unusual low level concurrent algorithms using the very latest C++ 14-17
                        (proposed) features and testing them for time and space complexities, this
                        is definitely your kind of talk.</p>

                    <p>At CppCon 2015 we studied the concurrency fundamentals of the filing system,
                        and how it can have the acquire/release semantics of memory atomics but also
                        differs in many ways from memory. At ACCU 2016, using those fundamentals we
                        built from first principles a novel distributed mutual exclusion
                        implementation boost::afio::algorithm::atomic_append which doesn't suffer
                        from the "scalability holes" found in the OS kernel provided facilities
                        boost::afio::algorithm::byte_ranges and boost::afio::algorithm::lock_files.
                        At this third workshop we shall continue the "from first principles" theme
                        by building a fourth and probably last distributed mutual exclusion
                        algorithm for the AFIO algorithms library boost::afio::algorithm, with this
                        one making use of shared memory maps for superior performance when only a
                        single machine is doing the locking.</p>

                    <p>Is it possible to portably detect the arrival of a networked drive user (SMB,
                        NFS) and safely disable using shared memory maps such that we can
                        automatically race free downgrade our implementation to a networked drive
                        compatible technique?</p>

                    <p>It turns out that the answer is yes. It has superb performance and
                        scalability, but also comes with many interesting preconditions, tradeoffs
                        and caveats, the most important being that this is an anti-social mutual
                        exclusion algorithm.</p>
                </div>
            </description>
        </experience>
        <experience>
            <title href="https://www.youtube.com/watch?v=elegewDwm64">'Distributed Mutual Exclusion using Proposed Boost.AFIO' - Niall Douglas [ ACCU 2016 ]</title>
            <employer>ACCU conference</employer>
            <location>
                <city>Bristol</city>
                <country>GB</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2016-04-01</start>
            <end>2016-04-30</end>
            <earnings>Unpaid</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <p>Developing from the surprisingly popular CppCon 2015 tutorial “Racing the
                        filesystem” (https://www.youtube.com/watch?v=uhRWM...) on the concurrency
                        fundamentals of the file system, this workshop takes the audience from the
                        fundamental first principles of the file system through to a working and
                        high performance distributed mutual exclusion implementation exclusively
                        using atomic file append messaging based on a modified Maekawa-Suzuki-Kasami
                        distributed voting and mutual consensus algorithm.</p>

                    <p>Along the way the portable asynchronous file system model supplied by
                        proposed Boost.AFIO will be explained and how such a standardised
                        programming model makes implementing write-once run-anywhere file system
                        algorithms much more tractable. Empirical benchmarks will be shown comparing
                        the scalability of our algorithm to other forms of file system based mutual
                        exclusion such as lock files and byte range locking across Microsoft Windows
                        (NTFS and ReFS), Linux (ext4) and FreeBSD (ZFS). One of the major advantages
                        of our algorithm is that it works perfectly over SMB networked file systems,
                        including mixed POSIX and Microsoft Windows endpoints, and it will be
                        explained how this is not always the case with other mutual exclusion
                        techniques.</p>

                    <p>With a live demonstration of the working algorithm, the likely audience for
                        this workshop would be similar to that for lock free programming using
                        memory atomics, however the file system exposes a much richer suite of
                        fundamental primitive operations – and unexpected surprises!</p>
                </div>
            </description>
        </experience>
        <experience>
            <title href="http://dts.com/">Contract Consultant on Audio C++ library</title>
            <employer>DTS</employer>
            <location>
                <city>Cork</city>
                <country>IE</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.2</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2015-09-01</start>
            <end>2016-12-30</end>
            <earnings periodicity="daily" currency="EUR">500</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <p>This was a 100% remote working contract with a 100% remote working team each
                        member distributed from the US to Continental Europe.</p>

                    <p>The team I was contracted to was one of many teams working on DTS's (now
                        Tessera) binaural 3D spatialisation technology which provides superior
                        quality rendering at very low CPU cost on the platforms Windows 7 to 10,
                        XBox One, OS X, Android, Linux, and other platforms. It was optimised for
                        the x86, x64, ARM v7a and AArch64 targets via extensive SIMD and micro cache
                        tuning. During this contract, I helped to very substantially refactor the
                        implementation to bring it from an R&amp;D/experimental quality level
                        into state of the art production quality C++ 14/17 with the very latest in
                        C++ best practice.</p>

                    <br/>
                    <br/>
                    <i>Contracted through ned Productions Ltd.</i>
                </div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <ol>
                        <li>Tooling applied per-commit, nightly and weekly by the Jenkins continuous
                            integration service. Amongst the many tools applied were automatic style
                            enforcement via a mixture of clang-format and python tooling, linting
                            via clang-tidy on both POSIX and Windows, a full sweep of address,
                            memory, thread, undefined behaviour sanitisers, weekly runs of Dr.
                            Memory for symbolic memory debugging, performance regression testing,
                            line and edge unit test coverage monitoring.</li>
                        <li>I almost entirely rearchitected and reimplemented the build to use state
                            of the art cmake 3 design patterns and single header build enabling a
                            very large reduction in build system maintenance overheads for the team
                            given all the supported platforms. I utilised a "build driver"
                            functional cmake design allowing the team's product to integrate well
                            with multiple externally imposed build systems, thus making all parts
                            build within the wider organisation happy.</li>
                        <li>I implemented multiple low latency and worst execution time techniques,
                            such as enforcing fast-math, disabling C++ exceptions and resurrecting a
                            performance regression test suite. One particular low latency feature
                            item I designed and wrote was an extremely low latency audio scheduler
                            for Windows 7 which is used by the product's Unreal Engine integration
                            to implement spatialised audio for all UE4 games using the native audio
                            system.</li>
                        <li>Most of the Android and ARM (32 and 64) port was done by me with almost
                            all the groundwork done for an iOS port. To port the optimised SIMD
                            routines from AVX/SSE2 intrinsics to ARM, I made use of the excellent <a
                                href="https://ispc.github.io/">Intel SPMD compiler based on LLVM</a>
                            to rewrite the SIMD routines into the ISPC language, and had Python use
                            the ISPC compiler to generate optimised SIMD assembler for Intel x86 and
                            x64, and ARM with NEON2. This allowed very easy tuning for very specific
                            hardware targets simply by changing the ISPC compiler's setting.</li>
                    </ol>
                </div>
            </detail>
        </experience>
        <experience>
            <title href="https://www.youtube.com/watch?v=uhRWMGBjlO8">CppCon 2015: Niall Douglas
                “Racing The File System"</title>
            <employer>CppCon conference</employer>
            <location>
                <city>Seattle</city>
                <country>US</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2015-09-01</start>
            <end>2015-09-30</end>
            <earnings>Unpaid</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <p>Almost every programmer knows about and fears race conditions on memory where
                        one strand of execution may concurrently update data in use by another
                        strand of execution, leading to an inconsistent and usually dangerous
                        inconsistent read of program state. Almost every programmer therefore is
                        aware of mutexes, memory ordering, semaphores and the other techniques used
                        to serialise access to memory.</p>

                    <p>Interestingly, most programmers are but vaguely aware of potential race
                        conditions on the filing system, and as a result write code which assumes
                        that the filing system does not suddenly change out from underneath you when
                        you are working on it. This assumption of a static filing system introduces
                        many potential security bugs never mind ways of crashing your program, and
                        of course creating data loss and corruption.</p>

                    <p>This workshop will cover some of the ways in which filing system races can
                        confound, and what portable idioms and patterns you should employ to prevent
                        misoperation, even across networked Samba shares. Finally, an introduction
                        of the proposed Boost library AFIO will be made which can help application
                        developers writing filing system race free code portably.</p>
                </div>
            </description>
        </experience>
        <experience>
            <title>My proposed Boost library AFIO peer reviewed by experts</title>
            <employer>Boost C++ Libraries</employer>
            <location>
                <city>Cork</city>
                <country>IE</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2015-08-01</start>
            <end>2015-08-31</end>
            <earnings>Open Source</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">After a two and a half year wait, my
                    proposed asynchronous filesystem and file i/o library for C++, Boost.AFIO was
                    reviewed by the Boost community. It received a unanimous but one rejection with
                    very extensive feedback on what needed to be changed. The work on a complete
                    rearchitecture and rewrite based on that feedback began in October 2015, and the
                    first part of that rewrite should become ready for peer review in Q1 2018 as
                    well as being presented by me at the major C++ conferences throughout
                    2017.</div>
            </description>
        </experience>
        <experience>
            <title>Presented to peers at conference at C++ Now Conference</title>
            <employer>C++ Now conference</employer>
            <location>
                <city>Aspen, Colorado</city>
                <country>US</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2015-05-01</start>
            <end>2015-05-31</end>
            <earnings>Unpaid</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">C++ Now is one of the world's leading C++
                    conferences where experts present to experts. Presented for 90 minutes on a C
                    preprocessor driven modularisation and dependency injection technique made
                    possible by C++ 11.</div>
            </description>
        </experience>
        <experience>
            <title href="http://maidsafe.net/">Principal Architect Consultant on Boost, C++, thread safety and reliable UDP</title>
            <employer>MaidSafe Ltd</employer>
            <location>
                <city>Cork</city>
                <country>IE</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.2</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2014-03-01</start>
            <end>2015-07-17</end>
            <earnings periodicity="hourly" currency="EUR">45</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Work-from-home off-site contracted (with
                    two extensions) by MaidSafe to help them launch the next generation of
                    decentralised secure internet advising on architecture, Boost, C++ 14, continuous
                    integration, recruitment, economics, management and the other topics in which I
                    have formal academic qualifications.
                    <br/><br/><i>Contracted through ned Productions Ltd.</i></div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    Contract specifications (in order):
                    <ol>
                        <li>Improve stability of RUDP and Routing layers, specifically: (a)
                            Systematically investigate the causes of reliability problems in the
                            RUDP and Routing parts of the Maidsafe software platform. (b) Effect
                            changes to the implementation to mitigate such reliability problems.
                            Investigate the problem of UDP packet congestion control, and to
                            substantially improve on the present implementation.</li>
                        <li>To deliver a replacement RUDP implementation semantically compatible
                            with the existing RUDP implementation, but without most of the power
                            consumption, scalability, thread safety and UDP congestion control
                            issues of the present implementation. (a) The replacement RUDP
                            implementation shall aim to meet the Boost C++ Library admission
                            guidelines described at
                            http://www.boost.org/development/requirements.html, except where the
                            proper practice of C++ 11/14 diverges. (b) The design of the replacement
                            RUDP implementation shall take account of the feedback from the
                            extensive stakeholder survey which was performed at the end of Agreement
                            no 1. Stakeholders surveyed were MaidSafe staff, Boost members currently
                            contracted by MaidSafe, the Boost community and the Boost.ASIO
                            community. Records have been kept of all feedback and shall be reviewed
                            again prior to commencement of the replacement implementation. To
                            advise on the technical capabilities of potential new staff or
                            contractors being interviewed. To advise on matters of Business,
                            Management, Information Systems, Economics and Complexity Science and
                            Education, or in any other expert topics in which ned Productions
                            Limited staff hold formal qualifications, and are therefore in a
                            position to advise from authority.</li>
                        <li>To consult and assist on a replacement implementation of the MaidSafe
                            platform written in the Rust programming language. To consult and assist
                            on any systems programming matters which may arise during the contract,
                            which may or may not include the interaction between platform
                            dependencies written in other programming languages such as C or C++. To
                            consult and assist with improved unit testing of the software,
                            specifically improved automation of distributed machine unit testing
                            e.g. a single functional test being performed over a dozen machines each
                            of which is networked behind a NAT being controlled by some unit test
                            master controller. To advise on the technical capabilities of
                            potential new staff or contractors being interviewed. To advise on
                            matters of Business, Management, Information Systems, Economics and
                            Complexity Science and Education, or in any other expert topics in which
                            ned Productions Limited staff hold formal qualifications, and are
                            therefore in a position to advise from authority. </li>
                    </ol>
                </div>
            </detail>
        </experience>
        <experience>
            <title>Presented to peers at conference at C++ Now Conference</title>
            <employer>C++ Now conference</employer>
            <location>
                <city>Aspen, Colorado</city>
                <country>US</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2014-05-01</start>
            <end>2014-05-31</end>
            <earnings>Unpaid</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">C++ Now is one of the world's leading C++
                    conferences held annually in May in Aspen, Colorado. Sessions last 90
                    minutes.</div>
            </description>
        </experience>
        <experience>
            <title href="http://lists.boost.org/boost-announce/2014/02/0394.php">Primary Boost C++ Libraries Admin for annual Google funding</title>
            <employer>Boost C++ Libraries</employer>
            <location>
                <city>Cork</city>
                <country>IE</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2014-02-06</start>
            <end>2017-09-30</end>
            <earnings>Open Source</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Appointed as primary Google Summer of Code admin
				for the Boost C++ Libraries. Boost petitions Google annually for student-mentor funding
				worth US$5,000 per student, and is typically awarded between US$40,000 and US$50,000 in
				grants per year.</div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <p>One of the largest single chunks of income for many open source projects is the
					Google Summer of Code program which pays students to work under mentors to achieve
					a predeclared set of work items during the annual university summer recess. Mentors receive
					no compensation, and the main responsibilities of this team management position
					are as follows:</p>
					<ul>
					    <li>To petition and cajole some of the top minds in C++
						to mentor a student for three months, as well as to write up descriptions of a set
						of suitable student work items from which students may pick.</li>
						<li>To review the technical content of proposed student work items for suitability,
						particularly to encourage mentors to break up work items into smaller, more tightly
						defined chunks and to add additional clarifying documentation where necessary.</li>
						<li>To encourage and remind the Boost community to do peer review on student submissions
						as part of the candidate ranking process.</li>
						<li>To lead out matching up potential mentors with potential students where a
						project proposal lacks a predefined mentor.</li>
						<li>To assist answering questions about the GSoC process from both
						students and mentors.</li>
						<li>To be the primary liaison between Google and the Boost community, including the
						Boost steering committee, delegating work to others where appropriate.</li>
						<li>To arbitrate between students and mentors when disagreements occur, and to
						review student work independently as part of reporting to the Boost steering
						committee on progress and goals achieved.</li>
					</ul>
				</div>
			</detail>
        </experience>
        <experience>
            <title href="https://groups.google.com/d/msg/boost-list/TeiSdkRkUF0/eA8u8gqsHnwJ">Peer Review Managed Boost.TypeIndex C++ library</title>
            <employer>Boost C++ Libraries</employer>
            <location>
                <city>Waterloo, Ontario</city>
                <country>CA</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2013-11-01</start>
            <end>2013-11-30</end>
            <earnings>Open Source</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Selected as Peer Review Manager for the community peer review of proposed Boost.TypeIndex in the highly esteemed peer reviewed Boost C++ Libraries. Peer review report can be viewed at <a href="https://groups.google.com/d/msg/boost-list/TeiSdkRkUF0/eA8u8gqsHnwJ"
                        >Peer Review Report for proposed Boost.TypeIndex v2.1 Nov 12th – 21st 2013</a>.</div>
            </description>
        </experience>
        <experience>
            <title href="http://www.google-melange.com/gsoc/org/google/gsoc2013/boost">Mentor for Boost.AFIO and Boost.Trie C++ libraries</title>
            <employer>Google Summer of Code 2013</employer>
            <location>
                <city>Waterloo, Ontario</city>
                <country>CA</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2013-06-01</start>
            <end>2013-09-30</end>
            <earnings>Open Source</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Selected as mentor for two Google Summer
                    of Code 2013 projects in the highly esteemed peer reviewed Boost C++ Libraries,
                    Boost.AFIO and Boost.Trie.</div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <p>The first project, proposed Boost.AFIO, is a linear scalable, batch,
                        chainable, asynchronous closure execution engine extending Boost.ASIO
                        and Boost.Thread specialised as a portable asynchronous file i/o
                        implementation library with the student, Paul Kirth, porting an
                        existing pure C++ 11 codebase written and designed by me to Boost and
                        the last three generations of the compilers GCC 4.6, 4.7 and 4.8,
                        Microsoft Visual Studio 2010, 2012 and 2013, and clang/LLVM 3.1, 3.2
                        and 3.3 on the operating systems Linux, FreeBSD 10 and Microsoft
                        Windows. Proposed Boost.AFIO is an alternative solution to Google's
                        WG21 <a
                            href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3731.pdf"
                            >N3731 (Executors and schedulers v2)</a> proposal, or indeed
                        Microsoft's WG21 <a
                            href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3721.pdf"
                            >N3721 (Improvements to std::future&lt;T&gt; and Related
                            APIs)</a>, and it is hoped that AFIO will be the pattern chosen instead for
                        ISO standardisation.</p>
                    <p>Despite being <a href="https://coveralls.io/r/BoostGSoC/boost.afio">less than 1000 active LOC</a>, the
                        effort involved in readying this library for peer review has been
                        substantial, and included the configuration of <a
                            href="https://ci.nedprod.com/">our own custom Jenkins CI running a
                            series of snapshotting VMs</a> and a very extensive automated unit
                        and functional test suite, which runs inside <a
                            href="http://www.nedproductions.biz/wiki/configuring-a-proxmox-ve-2.x-cluster-running-over-an-openvpn-intranet/configuring-a-proxmox-ve-2.x-cluster-running-over-an-openvpn-intranet-part-1"
                            >my own personal cloud compute mash up platform</a> based on the
                        Proxmox VE virtualisation solution with three nodes in France, Quebec and in
                        my own home. AFIO now exceeds 20,000 lines of text, most of which is extensive testing
                        and documentation. You may find <a
                            href="https://ci.nedprod.com/view/All/job/Boost.AFIO%20Build%20Documentation/Boost.AFIO_Documentation"
                            >the official Boost documentation on proposed Boost.AFIO of
                            interest</a>. </p> 
                    
                    <p>The second project, Boost.Trie, implements a STL trie (prefix tree)
                        container for C++. I was selected as one of three mentors for this project
                        due to my domain experience with the popular 
                        <a href="http://www.nedprod.com/programs/portable/nedtries/">nedtries open
                            source bitwise tries algorithm library</a>.</p>
                    
                </div>
            </detail>
        </experience>
        <experience>
            <title href="https://www.libro.ca/">Owner Representative</title>
            <employer>Libro Credit Union</employer>
            <location>
                <city>Waterloo, Ontario</city>
                <country>CA</country>
            </location>
            <iscocategory>
                <nacecode>K64.9.</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>24</iscofield2>
                <iscofield3>241</iscofield3>
                <iscofield4>2419</iscofield4>
            </iscocategory>
            <start>2013-01-31</start>
            <end>2013-11-30</end>
            <earnings currency="CDN" periodicity="salary">1600</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">I serve on the board of owner
                    representatives for the Beechwood branch, Waterloo, Ontario. We disperse around
                    $30k per annum on community youth investment projects.</div>
            </description>
        </experience>
        <experience>
            <title href="http://wici.ca/2012/11/niall-douglas/">Affiliate Researcher</title>
            <employer>Institute for Complexity and Innovation, University of Waterloo</employer>
            <location>
                <city>Waterloo, Ontario</city>
                <country>CA</country>
            </location>
            <iscocategory>
                <nacecode>M72.2.0</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>23</iscofield2>
                <iscofield3>231</iscofield3>
                <iscofield4>2310</iscofield4>
            </iscocategory>
            <start>2012-11-19</start>
            <end>unbounded</end>
            <earnings>Unpaid</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">The Waterloo Institute for Complexity and
                    Innovation (WICI) facilitates transdisciplinary and collaborative research
                    promoting innovation and resilience within - and beneficial transformation of -
                    the complex adaptive systems at the core of human well being in the 21st
                    century. </div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    Under this overarching mission, WICI aims to:
                    <ol>
                        <li>Pursue leading-edge research that significantly advances complexity
                            science and its practical application to humanity’s problems;</li>
                        <li>Create a vigorous university-wide research community in the field of
                            complexity and innovation studies;</li>
                        <li>Link this community through research projects and exchange of knowledge
                            with the global complexity-science community; and,</li>
                        <li>Establish the University of Waterloo as a world leader in efforts to use
                            complex-systems ideas to promote innovation to solve multi-scale,
                            systems-level global problems.</li>
                    </ol> Within the University of Waterloo, WICI acts as a “centre of centres” for
                    research on complex systems. Within southern Ontario, WICI activities bring
                    together scholars, practitioners, and policy makers working on both theoretical
                    and applied complex systems problems. Beyond the immediate geographic scope of
                    Southern Ontario, WICI uses online and interactive technologies to disseminate
                    its findings and to engage vigorously with complexity researchers around the
                    world. </div>
            </detail>
        </experience>
        <experience>
            <title href="http://www.blackberry.com/">Senior Software Developer, Platform Development</title>
            <employer>BlackBerry Inc.</employer>
            <location>
                <city>Waterloo, Ontario</city>
                <country>CA</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2012-10-01</start>
            <end>2013-08-19</end>
            <earnings currency="CDN" periodicity="salary">120735</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Working in part with Principal BlackBerry
                    Architect Gary Klassen's Performance and Advanced UI Groups, and with VP of
                    Systems Optimisation Sean Simmons, researched and prototyped and wrote internal
                    white papers on solutions to systemic, ecosystemic and performance concerns
                    surrounding the BB10 mobile device platform.</div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">Some of my main projects at BlackBerry involved:
                    <ol>
                        <li>The component objectivisation of the C++ application binary
                            interface using the advanced capabilities of the clang compiler to
                            extend the C++-1y Modules proposal (<a
                                href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3347.pdf"
                                >WG21 N3347</a>) with an additional layer of information
                            abstraction in order to very substantially reduce the coupling
                            between software components, and therefore inhibit constant
                            breakages of source code trunk due to it being a never ending
                            moving target. It is well known that Microsoft's COM, a much
                            simpler implementation though similar in spirit, <a
                                href="http://www.microsoft.com/about/technicalrecognition/com-team.aspx"
                                >is regarded by Microsoft as one of their greatest internal
                                productivity enhancement technologies ever developed</a>. This
                            generated a 12,000 line working prototype which I proposed via an
                            internal 10,000 word white paper for ISO C++ standardisation,
                            perhaps initially as part of the Boost C++ libraries.</li>
                        
                        
                        <li>The employment of <a href="http://valgrind.org/">the open source
                            memory analysis tool valgrind</a> as part of platform and
                            application performance and hardware prototype simulation, and
                            automated testing and regression. I added a significant improvement
                            to <a href="http://valgrind.org/docs/manual/cl-manual.html">the
                                callgrind tool</a>, adding the ability to estimate CPU time from
                            the call tree using empirical timings which came in within 20% of
                            reality on the Qualcomm Snapdragon S4 Pro CPU (note that this CPU
                            has non-linear execution dynamics) and 10% of reality on Intel
                            x86/x64 CPUs.</li>
                        
                        
                        <li>The generation, analysis and manipulation of large (hundreds of
                            thousands of vertices) graphs of live semantic information about
                            the hardware and software making up BB10, most specifically the
                            call tree for a Cascades EmailCard process launch output by my
                            improvements to the callgrind tool, and for which I wrote a custom
                            callgrind to time weighted <a
                                href="http://en.wikipedia.org/wiki/GraphML">GraphML</a> directed
                            graph format parser using <a
                                href="http://www.boost.org/doc/libs/1_54_0/libs/spirit/doc/html/index.html"
                                >Boost.Spirit</a>. <a
                                    href="https://plus.google.com/109885711759115445224/posts/jnjHRuuBvz3"
                                    >Visualising usefully the incredible complexity of modern C++
                                    call tree graphs was a good workout of my Econometrics
                                    training.</a>
                        </li>
                        
                        
                        <li>I led out, implemented and finished a port of the <a
                            href="http://clang.llvm.org/">clang/LLVM compiler stack</a> plus
                            <a href="http://compiler-rt.llvm.org/">compiler-rt runtime</a>
                            to QNX and BB10. Watching LLVM generated from some of the five
                            million lines of BB10 C++ system libraries I had ported to clang be
                            JITed into ARM on device was quite neat. My need for a clang/LLVM
                            port was an idea for a clang AST based C++ library API review
                            automation tool which would have replaced a majority of the manual
                            human effort expended on internal API review.</li>
                        
                        
                        <li>I initiated and participated in a series of summer meetings
                            between Gary Klassen and Sean Simmons with the University of
                            Waterloo with a view to creating much closer relations between
                            BlackBerry and their technology startup spin out programme. This
                            was facilitated by me being an Affiliate Researcher with <a
                                href="http://www.wici.ca/">the UW Research Institute for
                                Complexity and Innovation (WICI)</a>.</li>
                        
                        
                        <li>A side project of mine was a regular series of internal white
                            papers using Econometrics to empirically compare BB10 major
                            releases with the competing mobile device platforms Android 4.2 and
                            Microsoft Windows Phone 8, along with desktop operating systems for
                            good measure. Some of the statistical approaches I took were
                            information entropy analysis, Zipf's Law identification of
                            statistical outliers, and Lempel-Ziv-Markov chain analysis of
                            duplicated assets in private memory. <a
                                href="https://plus.google.com/109885711759115445224/posts/VaRPzP9ffVc"
                                >Some of the graphs from those papers can partially be seen
                                here.</a>
                        </li>
                        

                    </ol>
                </div>
            </detail>
        </experience>
        <experience>
            <title href="http://www.anthempress.com/index.php/economists-and-the-powerful.html"
                >Coauthor of Book &quot;Economists and the Powerful — Convenient Theories,
                Distorted Facts, Ample Rewards&quot;</title>
            <iscocategory>
                <nacecode>R90.0.3</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>24</iscofield2>
                <iscofield3>245</iscofield3>
                <iscofield4>2451</iscofield4>
            </iscocategory>
            <start>2011-11-15</start>
            <end>2012-05-02</end>
            <earnings currency="GBP" periodicity="fixedprice">500</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Together with Handelsblatt (German
                    equivalent of <i>The Financial Times</i>) Economics correspondent and co-founder
                    of the World Economics Association Dr. Norbert Häring, coauthored a novel 100,000 word
                    account of the inner workings of our capitalist economy, in which competition is
                    imperfect and influence of power is ubiquitous. Unlike the <i>Freeing Growth</i>
                    series of books, this book contained no original economics research and
                    consisted of a critical literature review combined with a fairly robust critique
                    of the Economics profession, particularly how many of its leading figures
                    advocate policies favourable to their research funding interests, often for cash
                    payments, rather than pursuing objectivity or truth. Published across the
                    English speaking world by Anthem Press.</div>
            </description>
        </experience>
        <experience>
            <title href="http://www.hydrodata.ie/">Implemented reliable wave buoy data collection solution</title>
            <employer>Irish Hydrodata</employer>
            <location>
                <city>Cork</city>
                <country>IE</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.2</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2011-11-18</start>
            <end>2012-01-15</end>
            <earnings periodicity="fixedprice" currency="EUR">1500</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Contracted by Irish Hydrodata to implement
                    a software solution which reliably transmitted wave data collected by buoys in the
                    Atlantic Ocean to their head office.
                </div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <ul>
                        <li>Implemented using the GIT source control system to send compressed
                            deltas of changed data over a Virtual Private Network (VPN) via 3G to and from a
                            Linux mini-server. The core program was written in Python using the <a
                                href="http://pypi.python.org/pypi/dulwich">dulwich python
                                implementation of GIT</a>. A convenience GUI written in C# and .NET
                            3.5/2.0 operated OpenVPN and the python core program.</li>
                    </ul>
                </div>
            </detail>
        </experience>

        <experience>
            <title href="http://www.nsai.ie/">Appointed to International
                Standards Committees</title>
            <employer>National Standards Authority of Ireland ISO/IEC mirror committees</employer>
            <iscocategory>
                <nacecode>M71.1.</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2139</iscofield4>
            </iscocategory>
            <start>2011-10-24</start>
            <end>2012-09-30</end>
            <earnings>Unpaid</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Appointed to the National Standards
                    Authority of Ireland (NSAI) ISO/IEC JTC1/SC22 (Programming languages, their
                    environments and system software interfaces) and JTC1/SC38 (Distributed
                    application platforms and services) mirror committees. Appointed Irish convenor
                    of JTC1/SC22. Joined Austin Common Standards Revision Group responsible for
                    development of POSIX.</div>
            </description>
        </experience>
        <experience>
            <title href="http://www.worldeconomicsassociation.org/">Appointed to the Conference
                Committee</title>
            <employer>World Economics Association Conference Committee</employer>
            <iscocategory>
                <nacecode>P85.4.2</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>23</iscofield2>
                <iscofield3>231</iscofield3>
                <iscofield4>2310</iscofield4>
            </iscocategory>
            <start>2011-08-22</start>
            <end>2011-12-31</end>
            <earnings>Unpaid</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Appointed to the Conference Committee of
                    the World Economics Association, an international association of pluralist
                    Economists.</div>
            </description>
        </experience>
        <experience>
            <title href="https://github.com/ned14/BEurtle">BEurtle BE distributed issue tracker GUI
                plugin for the TortoiseXXX family of SCMs</title>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2011-08-01</start>
            <end>unbounded</end>
            <earnings>Open Source</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Implemented a user interface plugin in C#
                    and .NET 3.5/2.0 for the <a href="http://www.bugseverywhere.org/">Bugs
                        Everywhere</a> distributed issue tracker for the TortoiseXXX family of
                    source control management user interfaces for Microsoft Windows. This GUI used
                    WiX, the Windows Installer XML abstraction toolkit, to generate a fully
                    compliant Windows Installer package.</div>
            </description>
        </experience>
        <experience>
            <title href="http://www.worldeconomicsassociation.org/">Appointed Social Networking
                Coordinator</title>
            <employer>World Economics Association</employer>
            <iscocategory>
                <nacecode>P85.4.2</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>23</iscofield2>
                <iscofield3>231</iscofield3>
                <iscofield4>2310</iscofield4>
            </iscocategory>
            <start>2011-06-14</start>
            <end>unbounded</end>
            <earnings>Unpaid</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Appointed Social Networking Coordinator of
                    the World Economics Association, an international association of pluralist
                    Economists.</div>
            </description>
        </experience>
        <experience>
            <title href="http://www.oxyderkeia.net/">The Luxubrations Οξυδέρκεα Startup
            Project</title>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2131</iscofield4>
            </iscocategory>
            <start>2011-03-01</start>
            <end>2011-09-30</end>
            <earnings>Unpaid</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Luxubrations Οξυδέρκεα (Luxubrations
                    Oxydérkeia) was a startup project aimed at bringing deep, penetrating insight
                    (oxyderkis) to academic studies performed under artificial light (luxubrations).
                    Originally intended as a Master of Research thesis project with the Institute of
                    Education in the University of London, this software performed real-time cloud
                    and client analysis of how students went about writing academic work outputs.
                    Unfortunately due to the loss of access to students with which to test the
                    software, it had to be abandoned after six months of development.</div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <ul>
                        <li>The project was aimed especially at the transnational education market
                            due to three particular features: <ol>
                                <li>The generation of a timeline of activities performed by the
                                    student when writing the academic work output. Activities
                                    recorded included which internet searches were performed, what
                                    results were returned, which links were clicked in these
                                    results, which parts of each web page or PDF document were
                                    viewed and what interactions were made via social networking
                                    with other people. This feature is especially useful for proving
                                    that plagiarism did not occur, as well as automating the
                                    generation of the bibliography of the academic work output, as well
                                    as for ethnographic study of how people go about socially constructing
                                    any form of text.</li>
                                <li>Latent Semantic Analysis (LSA) and Latent Dirichlet Allocation
                                    (LDA) were employed to analyse the topics which traverse
                                    throughout the student's activities and their academic work
                                    output. This allowed a viewer e.g. the assessor to generate a
                                    "blame" history for any sentence or paragraph in the work output
                                    i.e. the tapestry of those parts of all the materials read by
                                    the student during the genesis of the academic work output.</li>
                                <li>All the data and metadata recorded by the software was stored on
                                    the cloud (Google Cloud Storage/Amazon S3) where a series of
                                    useful operations could be performed upon it such as being able
                                    to suggest, in real-time, additional articles for a student to
                                    study during the writing of an essay on the basis of what other
                                    students studied during the writing of similar essays.</li>
                            </ol>
                        </li>
                        <li>Some unusual and interesting technologies were employed during the
                            development of this project. The Microsoft Office plugin was written in
                            C# utilising .NET 3.5/2.0. The web browser extensions (for Internet
                            Explorer, Mozilla Firefox, Opera and Google Chrome) were written in
                            Javascript and jQuery using the <a href="http://crossrider.com/"
                                >Crossrider</a> cross-browser extension framework. Both the web
                            browser extensions and the Microsoft Office plugin used JSON-RPC v2 to
                            communicate with a multithreaded client-local server written in Python
                            which stored all the data as reduced OpenXML or sanitised XHTML in a NoSQL XML database
                            called <a href="http://basex.org/">BaseX</a>. The Latent Semantic
                            Analysis (LSA) and Latent Dirichlet Allocation (LDA) was performed using
                            the <a href="http://pypi.python.org/pypi/gensim">Gensim python
                                library</a>. Access to Google Cloud Storage and Amazon S3 was
                            performed using the <a href="http://code.google.com/p/boto/">Boto python
                                library</a>. It was intended to use Google App Engine to perform the
                            cloud execution portion of the project, but unfortunately the project
                            had to be abandoned before implementation of this portion could be
                            begun.</li>
                    </ul>
                </div>
            </detail>
        </experience>
        <experience>
            <title href="http://www.lah.ie/">Business Lecturer</title>
            <employer>Cork English College</employer>
            <location>
                <city>Cork</city>
                <country>IE</country>
            </location>
            <iscocategory>
                <nacecode>P85.4.2</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>23</iscofield2>
                <iscofield3>231</iscofield3>
                <iscofield4>2310</iscofield4>
            </iscocategory>
            <start>2011-01-24</start>
            <end>2011-05-28</end>
            <earnings periodicity="hourly" currency="EUR">18</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Gave seventy-five hours of lectures in
                    Business and Management to undergraduate students from l’Ecole Supérieure de
                    Commerce IDRAC Lyon, France as part of their semester abroad studying in a
                    native English speaking country.</div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <ul>
                        <li>Topics taught were: (i) International Business (ii) International Law
                            (iii) Advertising, Marketing, Banking, Finance (iv) The European Union.
                            Each of these was delivered via a critical approach making particular
                            use of annotated contemporary articles from the business press and
                            audio-visual techniques to overcome the lack of native English barrier
                            to comprehension. </li>
                        <li>A particularly interesting component of the curriculum delivered during
                            this course was a component of critical thinking Business skills based
                            on <a href="http://www2.gsu.edu/~acccws/springerissues2004.pdf"
                                >Springer, C.W. and Borthick, A.F., (2004), 'Business Simulation to
                                Stage Critical Thinking in Introductory Accounting: Rationale,
                                Design, and Implementation', <i>Issues in Accounting Education</i>,
                                vol. 19 no. 3, pp. 277-303</a>. During action research performed
                            during the teaching of the course, I determined that the students would
                            prefer a more practical business task solving approach to their group
                            work activities. On searching the literature, I found the above paper
                            which presents a seven-stage assignment plan from which I derived a very
                            similar plan.</li>
                    </ul>
                </div>
            </detail>
        </experience>

        <experience>
            <title href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1527.pdf">Made
                presentation and submitted N-notes</title>
            <employer>International Standards Organisation (ISO) Working Group 14
                committee</employer>
            <iscocategory>
                <nacecode>M71.1.</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2139</iscofield4>
            </iscocategory>
            <start>2010-08-01</start>
            <end>2011-10-15</end>
            <earnings>Unpaid</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Also stemming from the previous works on
                    user mode page allocation, wrote and submitted proposal N1527 to modify the
                    dynamic memory allocation API to improve memory allocation and deallocation
                    latencies of the ISO C programming language standard. Along with N1527, also
                    wrote two library implementations of the N1527 proposal which are available at
                        <a href="http://github.com/ned14/C1X_N1527"
                        >http://github.com/ned14/C1X_N1527</a>.</div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <ul>
                        <li>Started the process by deploying a custom website where people could
                            collaborate on the development of a standard proposal for C1X. This
                            phase ended in October 2010.</li>
                        <li>From this proposal developed the N1527 document along with two C99
                            implementations which went to the March 2011 London C1X committee
                            meeting.</li>
                        <li>As a result of the deliberations of this meeting, substantial changes
                            are currently being made and a new change document being written.</li>
                    </ul>
                </div>
            </detail>
        </experience>
        <experience>
            <title href="http://arxiv.org/abs/1105.1811">Wrote academic paper on user mode page allocation</title>
            <iscocategory>
                <nacecode>M72.1.</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>24</iscofield2>
                <iscofield3>245</iscofield3>
                <iscofield4>2451</iscofield4>
            </iscocategory>
            <start>2010-07-11</start>
            <end>2011-03-30</end>
            <earnings>Unpaid</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Wrote an academic treatise on the topic of
                    user mode page allocation which stemmed from the work performed in the previous
                    two experiences. This paper presents a large number of empirical test results
                    comparing kernel page allocator performance on Microsoft Windows and Linux with
                    the user mode page allocator as implemented below in a wide variety of synthetic
                    and real world scenarios using the binary patching process injection feature of
                    nedmalloc. The paper has been submitted for presentation to the 2011 Federated
                    Computing Research Conference to be held in San Jose, U.S.A.</div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <ul>
                        <li>Especially given that I had no prior academic experience in this field,
                            nor even much outside the social sciences, the paper could not have
                            possibly been written without the most helpful advice, detailed comments
                            and patience from Doug Lea of the State University of New York at
                            Oswego, USA; David Dice from Oracle Inc. of California, USA; and Peter
                            Buhr of the University of Waterloo, Canada.</li>
                    </ul>
                </div>
            </detail>
        </experience>
        <experience>
            <title href="http://github.com/ned14/nedtries">nedtries Portable Bitwise Fredkin Trie
                Library</title>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2010-06-01</start>
            <end>2010-06-26</end>
            <earnings>Open Source</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Repackaged work done as part of
                    implementing the user mode page allocator for nedmalloc (see last experience)
                    into a standalone C and C++ architecture independent library called
                        <em>nedtries</em>. This library implements an in-place bitwise Fredkin trie
                    algorithm which allows for near constant time insertions, deletions, finds,
                    closest fit finds and iteration as well as being of equal speed in each of these
                    operations (a very unusual characteristic in search algorithms). Benchmarking
                    shows it to be approximately 50-100% faster than red-black trees and up to 20%
                    faster than O(1) hash tables. Also added a C++ STL std::map&lt;&gt; and
                    std::unordered_map&lt;&gt; compatible container called
                    nedtries::trie_map&lt;&gt; which allows very easy usage from C++. Full
                    API and source documentation is provided as a Microsoft Compiled Help format
                    file.</div>
            </description>
        </experience>
        <experience>
            <title href="http://www.ara.com/">Further optimisation of US DoD Planning Project
                gaining a further 10% performance improvement</title>
            <employer>Applied Research Associates</employer>
            <location>
                <city>Cork</city>
                <country>IE</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.2</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2010-03-30</start>
            <end>2010-05-31</end>
            <earnings periodicity="daily" currency="EUR">550</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Further contracted by ARA to help them
                    significantly improve the performance of one of their major projects for the US
                    Department of Defence, a planning solver application which constructs large
                    trees of interrelated objects occupying multiple gigabytes of RAM. Through the
                    benchmarking and analysis performed during the previous contract with ARA, we
                    realised that there ought to be a &gt; 10% performance improvement
                    realisable through implementing a user mode memory page allocator.
                        <br/><br/><i>Provided through ned Productions Ltd.</i></div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <ul>
                        <li>As part of the contract tendering process, a quick technology
                            demonstration was written to determine the potential performance
                            improvements. It was discovered that remapping memory pages via the
                            manipulation of the processor's memory management unit is around twenty
                            times faster than copying 4Kb of memory (on Intel Core 2) and around
                            sixty five times faster than copying 16Kb of memory. This meant that
                            large arrays of items could be extended several orders of magnitude
                            faster than is traditionally the case. These results were sufficient to
                            convince the customer to initiate the contract.</li>
                        <li>After implementation we found a further inadvertent cause of even higher
                            performance gains: the avoidance of having to clear newly allocated
                            memory. This allowed nedmalloc to run 20-25x faster when manipulating
                            allocations averaging 1Mb with exponentially larger gains for larger
                            allocations.</li>
                        <li>We later discovered an academic paper partially proposing a similar idea
                            entitled <a href="http://portal.acm.org/citation.cfm?id=1376892"
                                    ><i>EVector: An efficient vector implementation - Using virtual
                                    memory for improving memory</i> by Kimpe, Vandewalle &amp;
                                Poedts (2006)</a>. Our implementation is very different to theirs
                            however, and so superior are the performance benefits that an academic
                            paper detailing the new approach is in the process of becoming
                            published.</li>
                    </ul>
                </div>
            </detail>
        </experience>
        <experience>
            <title href="http://plone.org/products/easyshop/">Contributed EU VAT support to Plone's
                Easyshop eCommerce Product</title>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2010-01-31</start>
            <end>2010-03-31</end>
            <earnings>Open Source</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">When searching for an e-Commerce solution
                    for the <i>ned Productions Ltd.</i> website capable of handling intra-EU B2B and
                    B2C VAT, it was realised that very few open source e-Commerce solutions are
                    capable of this without purchasing additional components (and usually at a high
                    monthly cost). As the company's primary web application platform is Plone, a
                    complete configurable intra-EU VAT solution was developed and contributed to
                    Easyshop.</div>
            </description>
        </experience>
        <experience>
            <title href="http://www.ara.com/">Debugging and 13% performance improvement of US DoD
                Planning Project</title>
            <employer>Applied Research Associates</employer>
            <location>
                <city>Cork</city>
                <country>IE</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.2</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2009-09-01</start>
            <end>2010-01-28</end>
            <earnings periodicity="hourly" currency="EUR">75</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Contracted by ARA to help them solve
                    performance problems being experienced by one of their major projects for the US
                    Department of Defence, a planning solver application which constructs large
                    trees of interrelated objects occupying multiple gigabytes of RAM. Work focused
                    around the incorporation of my memory allocator, nedmalloc, into their project.
                        <br/><br/><i>Provided through ned Productions Ltd.</i></div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <ul>
                        <li>Determined that the source of their problems was that nedmalloc was not
                            being reliably called by their Qt-based application (a violation of the
                            ODR) which was causing segmentation faults. Many solutions were
                            analysed, and eventually a brute force approach of adding a binary
                            patcher was adopted which had the major long term cost advantage of not
                            requiring a custom build of Qt. This binary patcher replaced all usage
                            of the system allocator with usage of nedmalloc by rewriting the
                            appropriate parts of the PE format binaries on Windows.</li>
                        <li>One particular problem was handling system allocated blocks efficiently
                            as the logic for checking for such blocks is highly branch predictor
                            unfriendly. An initial 13% loss in performance on x86 was reduced to nil
                            through considerable hand tuning and analysis of assembler.</li>
                        <li>Even with the slight performance loss on x64, nedmalloc still remains
                            the fastest free portable memory allocator in the world, a title it has
                            held since 2006. It is now however much more flexible and useful than
                            before especially with respect to debugging facilities.</li>
                    </ul>
                </div>
            </detail>
        </experience>
        <experience>
            <title href="http://www.kestrelcomms.com/">Implemented Radio Over IP via Voice Over IP
                (Asterisk)</title>
            <employer>Kestrel Communications</employer>
            <location>
                <city>Cork</city>
                <country>IE</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.2</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2009-07-01</start>
            <end>2009-09-30</end>
            <earnings periodicity="hourly" currency="EUR">50</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Developed a low cost software based
                    application to link disparate radio installation sites via VoIP transmitted over
                    the internet. This project is intended to be initially deployed at Blackpool
                    Shopping Centre where it will allow a person located anywhere in the world to
                    log into the Centre's internal radio system and participate in its dialogue.
                        <br/><br/><i>Provided through ned Productions Ltd.</i></div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <ul>
                        <li>The RoIP server was a custom Linux installation running the Asterisk
                            VoIP server software. The radio interface app_rpt was used to
                            communicate with the radio via a USB FOB (basically a USB connected
                            sound card).</li>
                        <li>Remote PCs then used the IAXRPT Windows client to perform an IAX
                            protocol connection with the RoIP server. To the end user, after
                            connection one hears the radio chatter and presses the left Ctrl button
                            to press PTT and transmit.</li>
                    </ul>
                </div>
            </detail>
        </experience>
        <experience>
            <title href="http://www.nedproductions.biz/">ned Productions Limited IT Consultancy</title>
            <iscocategory>
                <nacecode>J62.0.2</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2009-07-01</start>
            <end>unbounded</end>
            <earnings>Unpaid</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Set up a limited company to provide
                    consultancy services in the field of computer information technology to
                    fee-paying clients.</div>
            </description>
        </experience>
        <experience>
            <title href="http://www.ucc.ie/">Tutor in Economics, Business, Stats, Management and Web Programming</title>
            <employer>National University of Ireland Cork</employer>
            <location>
                <city>Cork</city>
                <country>IE</country>
            </location>
            <iscocategory>
                <nacecode>P85.4.2</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>23</iscofield2>
                <iscofield3>231</iscofield3>
                <iscofield4>2310</iscofield4>
            </iscocategory>
            <start>2008-10-01</start>
            <end>2009-05-31</end>
            <earnings periodicity="hourly" currency="EUR">18</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Tutored the “Masters in E-Business” class
                    of 2009 in XHTML, Javascript and PHP web services programming. Also tutored
                    students suffering from disabilities in Economics, Business Studies, Statistics,
                    IT and Management.</div>
            </description>
        </experience>
        <experience>
            <title href="http://www.nedprod.com/studystuff/">Economics Lecturer</title>
            <employer>National University of Ireland Cork</employer>
            <location>
                <city>Cork</city>
                <country>IE</country>
            </location>
            <iscocategory>
                <nacecode>P85.4.2</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>23</iscofield2>
                <iscofield3>231</iscofield3>
                <iscofield4>2310</iscofield4>
            </iscocategory>
            <start>2008-10-01</start>
            <end>2009-01-31</end>
            <earnings periodicity="hourly" currency="EUR">65</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Gave twenty-one hours of Economics
                    lectures for the Adult Education Department in their interdisciplinary Social
                    Studies degree programme, during which I achieved an excellent 87.2% class
                    attendance, an 82.8% Interestingness and an 81.2% Clearness rating in the weekly
                    feedback form evaluations.</div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <ul>
                        <li>Designed the syllabus of the course to dovetail in with the other
                            modules taught in the Degree. Coursework consisted of five readings from
                            five topical books with a series of questions which were marked each
                            week.</li>
                        <li>Topics covered include non-linear chaotic dynamic systems, information
                            asymmetries, energy return on investment (EROI), volatility and
                            periodicity in economic growth, the disequilibrium structures within
                            demand and supply, the sources of the Celtic Tiger, the Gaussian
                            distribution and the central limit theorem, correlation and
                            convertibility of energy, food and water.</li>
                    </ul>
                </div>
            </detail>
        </experience>
        <experience>
            <title href="http://www.freeinggrowth.org/">Author of Book &quot;Freeing
                Growth&quot;</title>
            <iscocategory>
                <nacecode>R90.0.3</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>24</iscofield2>
                <iscofield3>245</iscofield3>
                <iscofield4>2451</iscofield4>
            </iscocategory>
            <start>2008-06-01</start>
            <end>2008-11-30</end>
            <earnings>Unpaid</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Wrote a two hundred thousand word,
                    five hundred page book consisting
                    of my thoughts on a range of topics including Accounting, Agricultural,
                    Corporate, Educational, Financial, Health, Legal, Moral, Political, Spiritual
                    &amp; Religious matters with a strong grounding in mathematical logic, based
                    on an application of the principles of the Tn project (below) to wider society.
                    After receiving feedback from others, I intend to expand this book into a series
                    of many books from 2009 onwards.</div>
            </description>
        </experience>
        <experience>
            <title href="http://sourceforge.net/projects/brook/">Substantially improved the Brook
                GPU stream computing runtime, increasing performance forty-fold</title>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2131</iscofield4>
            </iscocategory>
            <start>2007-06-01</start>
            <end>2007-12-31</end>
            <earnings>Open Source</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Significantly upgraded the open source
                    software Brook GPU which is a streaming computation language for graphics
                    processors. A 2007 era GPU can achieve 250 GFLOPs with good data partitioning,
                    and performance roughly doubles annually.</div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <ul>
                        <li>Upgraded the OpenGL runtime to use FBOs instead of PBuffers and updated
                            the texture transfer to use PBO-based asynchronous DMA transfers, thus
                            significantly increasing speed and adding full compatibility with Linux
                            and Mac OS X.</li>
                        <li>Added a GLSL output runtime target, thus matching the OpenGL
                            capabilities with the DirectX runtime.</li>
                        <li>Added per-thread operation to all runtimes, thus allowing multiple GPU’s
                            to be operated in parallel simultaneously.</li>
                        <li>Upgraded the CPU debug runtime to use SSE intrinsics on x86 and x64
                            processors and OpenMP to use multiple processors. Performance was
                            increased some forty times.</li>
                    </ul>
                </div>
            </detail>
        </experience>
        <experience>
            <title href="http://www.futuresociety.org.uk/">The Future Society</title>
            <employer>University of St. Andrews Student Societies</employer>
            <iscocategory>
                <nacecode>P85.4.2</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>23</iscofield2>
                <iscofield3>231</iscofield3>
                <iscofield4>2310</iscofield4>
            </iscocategory>
            <start>2007-02-01</start>
            <end>2008-06-30</end>
            <earnings>Unpaid</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Formed a student society called “The
                    Future Society” which held a lecture series called “Creating The Future” given
                    by invited guest lecturers speaking upon the future.</div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml"> These lectures were given by world
                    leaders in their fields such as:<ul>
                        <li>The heterodox Economist Paul Ormerod (author of Butterfly
                            Economics).</li>
                        <li>Founder of the Schumacher College and Editor of Resurgence Magazine
                            Satish Kumar.</li>
                        <li>The world’s leading authority on Accounting theory Professor Rob
                            Gray.</li>
                        <li>One of the world’s most famous Historiographers Professor Michael
                            Bentley.</li>
                        <li>One of the world’s leading environmentalists, Sir Crispin Tickell GCMG
                            KCVO. This event was chaired by the then St. Andrews Rector, Mr. Simon
                            Pepper OBE (of the World Wildlife Fund).</li>
                    </ul>The Future Society Executive Committee hosted an after-lecture dinner with
                    each of the guest lecturers which has proved invaluable for networking and
                    contacts.</div>
            </detail>
        </experience>
        <experience>
            <title href="http://sourceforge.net/projects/nedmalloc/">nedmalloc Thread Caching Memory
                Allocator</title>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2005-12-01</start>
            <end>unbounded</end>
            <earnings>Open Source</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Finding that ptmalloc2 did not scale as
                    well with extra processor cores as it could, reimplemented ptmalloc2 by basing a
                    new allocator, nedmalloc, on dlmalloc but with an added thread cache for smaller
                    allocations. Still remains to this day the fastest fully-portable memory
                    allocator in the world, including commercial offerings and is in use by root DNS
                    servers and some of the world’s largest corporations such as the Royal Bank of
                    Scotland, SAP AG, Applied Research Associates Inc. and CSC.</div>
            </description>
        </experience>
        <experience>
            <title href="http://mail.python.org/pipermail/cplusplus-sig/2005-November/009486.html">
                Added void * support to the C++ Boost.Python library</title>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2005-11-01</start>
            <end>2005-11-30</end>
            <earnings>Open Source</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Due to further requirements of the TnFOX
                    Python bindings, as Boost.Python did not previously support void *, most C
                    &amp; C++ code had to resort to some nasty hacks to work around it. As of
                    v1.33.1 this is no longer necessary.</div>
            </description>
        </experience>
        <experience>
            <title>Secretary of Senior Residents Committee</title>
            <employer>University of St. Andrews Student Committees</employer>
            <iscocategory>
                <nacecode>P85.4.2</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>23</iscofield2>
                <iscofield3>231</iscofield3>
                <iscofield4>2310</iscofield4>
            </iscocategory>
            <start>2005-05-15</start>
            <end>2006-05-15</end>
            <earnings>Unpaid</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Was elected as Secretary of the Senior
                    Residents Committee. Minuted meetings, helped organise resident events, liaised
                    between wardenial staff and residents, modernised the Committee’s Constitution,
                    helped bring in direct subscriptions collection scheme, helped organise annual
                    resident’s ball.</div>
            </description>
        </experience>
        <experience>
            <title href="http://gcc.gnu.org/ml/gcc-patches/2004-07/msg02620.html">Added symbol
                visibility support to the GNU Compiler Collection</title>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>2004-07-01</start>
            <end>2004-07-31</end>
            <earnings>Open Source</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Patched in the GCC 4.0 feature to set
                    per-symbol ELF visibility (using __attribute__ and –fvisibility) in a MSVC
                    compatible syntax. This was required by the TnFOX Python bindings exceeding
                    exported symbol limits and a need to contain the number to only those necessary.
                    This patch proved to be one of the most popular new features in GCC 4.x and use
                    of it has been widely adopted by many projects including OpenOffice, KDE, Boost
                    and Qt.</div>
            </description>
        </experience>
        <experience>
            <title href="http://sourceforge.net/projects/tnfox/">TnFOX template metaprogrammed C++
                portability layer</title>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2131</iscofield4>
            </iscocategory>
            <start>2003-05-01</start>
            <end>2010-12-31</end>
            <earnings>Open Source</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Forked the LGPL C++ GUI toolkit FOX for
                    building a portable library providing the necessary core functionality for Tn
                    which is a commercial implementation of my previous research. It continues to
                    grow in popularity and features, recently exceeding 40,000 lines of code.</div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">It provides:<ul>
                        <li>Identical functionality on Microsoft Windows, Unix &amp; Apple MacOS
                            X.</li>
                        <li>An extremely flexible thread-safe &amp; exception-safe 64 bit
                            addressing i/o structure. <ul>
                                <li>Classes which provide file i/o, named pipe i/o, socket i/o (IPv4
                                    &amp; IPv6), inter-thread i/o, shared memory &amp;
                                    memory mapped file i/o, strong file encryption and SSL/TLS
                                    secure connectivity via the OpenSSL library.</li>
                            </ul></li>
                        <li>Superior generic and robustness compile-time programming tools e.g.
                            typelists, traits, policies, rollbacks etc.</li>
                        <li>A full set of multithreading primitives, some written in x86 assembler
                            for speed plus dynamic thread pools.</li>
                        <li>Automatic human-language translation and locale specialisation
                            facilities via Google Translate.</li>
                        <li>A full set of bindings for python using the Boost.Python library.</li>
                        <li>Automatic munging in by a python script of extra run-time support code
                            providing nested C++ exceptions plus automatic extraction of error codes
                            and user-visible text for translation.</li>
                        <li>Full integration with host OS security facilities, including Win32 ACL
                            based security and POSIX user &amp; group ID.</li>
                        <li>Arbitrary freestores based on nedmalloc (previously ptmalloc2) giving
                            >6000% speed improvement in dynamic memory allocation over Win32.</li>
                        <li>Easily extensible &amp; extremely efficient generic Inter Process
                            Communication framework with asynchronous i/o and optional zlib
                            compression. Can transport arbitrary C++ objects across any i/o device
                            listed above.</li>
                        <li>Full SQL database support with native SQLite3 and via-IPC drivers.</li>
                        <li>Substantial OpenGL-based 3D and 2D graphing facilities.</li>
                        <li>Patched and reworked FOX to provide per-thread event loops allowing
                            multiple window trees to be run concurrently.</li>
                    </ul>
                </div>
            </detail>
        </experience>
        <experience>
            <title href="http://www.tnrev.org/">The Tn Revolution Project</title>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2131</iscofield4>
            </iscocategory>
            <start>2002-05-01</start>
            <end>2003-01-31</end>
            <start>2004-03-01</start>
            <end>2006-06-30</end>
            <earnings>Unpaid</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">My third and fourth attempts at
                    reimplementing computer software structure from the ground-up, with the primary
                    goal of creating a 10x or greater productivity improvement for skilled workers
                    (Brookes’ Silver Bullet). Implemented in C++ &amp; Python using TnFOX
                    (previously Qt) and multithreading throughout, it is designed for 64 bit NUMA
                    architectures and can run on Win32/64, POSIX Unix (e.g. Linux, FreeBSD) and Mac
                    OS X but with low resource requirements for eventual transition to mobile
                    phones.</div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">The major sub-goals of this project include:<ul>
                        <li>To make software self-organising and self-optimising based upon system
                            (ecosystem) and complexity theory (c.f. Bateson, Heisenburg, Prigogine)
                            whereby tools magnify the effectiveness of effort.</li>
                        <li>To conceptualise all programming and user operation in simple cognitive
                            elements, thus greatly improving intuitiveness of operation and much
                            increased productivity.</li>
                        <li>To integrate all software components across multiple systems such that
                            they appear and act as one.</li>
                        <li>To be fully secure at all levels whilst remaining compatible with the
                            host OS – this is a full capability based system.</li>
                    </ul>
                </div>
            </detail>
        </experience>
        <experience>
            <title>Chief Software Architect for EuroFighter Fuel &amp; Hydraulic Test
                Benches</title>
            <employer>Setroson S.A.</employer>
            <location>
                <city>Madrid</city>
                <country>ES</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2131</iscofield4>
            </iscocategory>
            <start>2001-01-01</start>
            <end>2002-05-31</end>
            <earnings periodicity="salary" currency="EUR">50000</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Designed a multithreaded distributed
                    application for Windows 2000 using the Microsoft technologies Visual C++,
                    VisualBasic, VBA, MFC and C#; MySQL &amp; ODBC for the database and the
                    National Instruments’ technologies PXI, LabWindows/CVI, TestStand and LabView.
                    Also designed and implemented a system restore CD-ROM which was a bootable
                    version of Linux with custom-written software.</div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <ul>
                        <li>The project’s goal was to be a bench-portable test bench control and
                            component management software plus bench-customisations for the (i)
                            M-3011 Hydraulic Test Bench Bench (contracted by EADS Deutschland) and
                            (ii) B-1057 Fuel Component Test Bench (contracted by British Aerospace
                            Systems) for the EuroFighter project.</li>
                        <li>Innovative features included:<ul>
                                <li>A self-adapting help system which taught the user as they used
                                    the bench. This was written in HTML with custom embedded ActiveX
                                    controls (MS HTMLHelp).</li>
                                <li>A graphical virtual instrument showing fuel flows, valve
                                    positions etc. which were manipulable using the mouse. This was
                                    implemented using a custom designed scripting language to
                                    specify possible fuel flows and possible valve states.</li>
                                <li>A searchable library of all engineering specifications in
                                    multiple formats including SGML, PDF and MS Word.</li>
                                <li>A completely customisable UUT test report generator (using
                                    Crystal Reports) which each air force could tailor
                                    individually.</li>
                                <li>The application could run on two computers connected by TCP/IP
                                    at the same time controlling the same bench.</li>
                            </ul></li>
                        <li>Due to the high performance &amp; safety requirements of testing
                            EuroFighter aircraft components, the code was written from the ground-up
                            to be efficient and with my own design of structured exception handling.
                            The Continuous Built-In Test (CBIT) was so accurate it detected hardware
                            problems no human could and required specialised equipment to
                            solve.</li>
                        <li>Performance analysis at the end of project using tools designed by
                            myself showed 5000 i/o's per second sustained (well above
                            specification).</li>
                        <li>The core was written in ANSI C but had ActiveX extensions support e.g. a
                            stopwatch &amp; timer (VisualBasic), report generator (Crystal
                            Reports, MFC &amp; Visual C++) and a voltmeter (LabView).</li>
                        <li>The database for the component (UUT) management was based in MySQL
                            manually linked against a disc based store of i/o transcripts and test
                            reports. Specialised support was present to suspend MySQL &amp;
                            compress its data store into a single file which then was burned
                            regularly to a backup CD.</li>
                        <li>Other responsibilities I assumed there included liasing extensively with
                            EADS, BAE and directly with the militaries of the four EuroFighter
                            participating nations.</li>
                        <li>While I implemented much of the core code myself (there was only myself
                            for the first six months), I also mentored &amp; led two other
                            programmers during my time there.</li>
                    </ul>
                </div>
            </detail>
        </experience>
        <experience>
            <title href="http://www.nedprod.com/NedHAL/">nedHAL object-orientated Hardware
                Abstraction Layer for ARM microprocessors</title>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>1999-10-01</start>
            <end>2000-05-31</end>
            <earnings>Open Source</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Designed and implemented a technically
                    superior Hardware Abstraction Layer (HAL) called NedHAL for generic ARM
                    architectures in ARM assembler and ANSI C. It was an object orientated modular
                    framework with multiprocessor capability. Also ported the uC/OS II RTOS onto my
                    project (now freeware). Some of this code has been since incorporated into the
                    primary car operating system firmware Micrium which is used by many major car
                    manufacturers.</div>
            </description>
        </experience>
        <experience>
            <title>Performance Optimisation of ARM7 GPS firmware for Guidance Systems</title>
            <employer>Intelligent Systems Design (ISD)</employer>
            <location>
                <city>London</city>
                <county>Ontario</county>
                <country>CA</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.2</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>1999-06-01</start>
            <end>1999-08-31</end>
            <earnings periodicity="salary" currency="USD">150000</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">This three month contract was to implement
                    a specified list of items, most important of which was to improve performance.
                    This was especially successful with a threefold performance increase and a six
                    figure cost saving thanks to not having to prematurely upgrade hardware.</div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <ul>
                        <li>Replaced the real-time operating system (RTOS) in their GPS (Global
                            Positioning System) library for their embedded ARM device with a
                            licensed third-party RTOS called SuperTask! (made by US Software).</li>
                        <li>Implemented and integrated many new features including Flash ROM
                            reprogramming, serial port driver, LCD panel display driver, power
                            saving and Infra-Red communications.</li>
                        <li>Merged ARM's Demon debugger into the new operating system, allowing
                            debugging without a JTAG and ICE (In-Circuit Emulator) based
                            debugger.</li>
                    </ul>
                </div>
            </detail>
        </experience>
        <experience>
            <title href="http://www.nedprod.com/programs/RISC-OS/Wimp2/">Implemented a Preemptive
                Multitasker for Acorn RISC-OS</title>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>1998-12-01</start>
            <end>1998-12-31</end>
            <earnings>Open Source</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Wrote a fully featured preemptive
                    multitasker called Wimp2 for the Acorn RISC-OS operating system in fully
                    hand-coded ARM assembler.</div>
            </description>
        </experience>
        <experience>
            <title href="http://www.arm.com/">Wrote i/o driver, EEPROM programmer and refactored
                DEC's StrongARM uHAL port</title>
            <employer>Advanced RISC Machines (ARM)</employer>
            <location>
                <city>Cambridge</city>
                <country>GB</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>1998-06-01</start>
            <end>1998-09-30</end>
            <earnings periodicity="salary" currency="GBP">14000</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Performed a number of &quot;odd
                    jobs&quot; involving the writing of several small computer programs in C and
                    ARM Assembler. </div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <ul>
                        <li>Wrote a driver for ARM’s Angel debugger to drive a tertiary serial port
                            on the Cirrus Logic CLPS-7111 board. Due to hardware difficulties,
                            successfully used a logic analyser to implement the code.</li>
                        <li>Wrote a modular EEPROM programmer in C++ for Win32 allowing test ROM
                            images to be easily flashed into test boards.</li>
                        <li>Overhauled and redesigned DEC's StrongARM uHAL for generic Arm's and
                            ported the new uHAL to the Arm test motherboard, the PID7T. Also ported
                            the redesigned uHAL to the Cirrus Logic CL-7111 board.</li>
                    </ul>
                </div>
            </detail>
        </experience>
        <experience>
            <title>Year, Student and Science Faculty Student Representative</title>
            <employer>University of Hull Student Committees</employer>
            <iscocategory>
                <nacecode>P85.4.2</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>23</iscofield2>
                <iscofield3>231</iscofield3>
                <iscofield4>2310</iscofield4>
            </iscocategory>
            <start>1998-05-01</start>
            <end>2000-05-31</end>
            <earnings>Unpaid</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Whilst at Hull University, elected as
                    member of the last Lawns Residents Association – our main function was to wind
                    up the LRA successfully. Elected as Staff/Student Representative for the
                    Computer Science Department – liaised between staff and students informally and
                    via formal committee. Also elected to Student’s Union Parliament as Ordinary
                    Representative where many matters were debated of both large import and small.
                    Also elected as the Undergraduate Science Faculty Representative on University
                    Senate where I was one of four voting members representing the entire Student
                    Body.</div>
            </description>
        </experience>
        <experience>
            <title>Language Compiler</title>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>1997-01-01</start>
            <end>1998-06-01</end>
            <earnings>Unpaid</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Wrote a portable BBC Basic to ANSI C
                    compiler (Acorn RISC-OS, Unix, Win32 &amp; MacOS) in C. This near-completed
                    yearlong project was abandoned after the Acorn group was liquidated.</div>
            </description>
        </experience>
        <experience>
            <title>Implemented distributed Post Office Address network query service over
                TCP/IP</title>
            <employer>Protechnic Computers</employer>
            <location>
                <city>Cambridge</city>
                <country>GB</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>1997-04-01</start>
            <end>1997-09-30</end>
            <earnings periodicity="salary" currency="GBP">12000</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Designed and wrote a multithreaded
                    distributable application for Windows NT 4.0 using the Microsoft technologies
                    Visual C++ and a custom library for Unix applications.</div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <ul>
                        <li>The project’s goal was to permit Unix applications to query Windows-only
                            databases on one or more Windows machines over a TCP/IP based
                            network.</li>
                        <li>Implemented a number of engines for this system using third party search
                            engines (native to Windows) such as the Royal Mail PAF (Post office
                            Address File) engine and a Read code v3 (used in the English National
                            Health Service) engine.</li>
                    </ul>
                </div>
            </detail>
        </experience>
        <experience>
            <title>Customer Support &amp; Upgrading of PipeDream Office Software for Acorn
                RISC-OS</title>
            <employer>Colton Software</employer>
            <location>
                <city>Cambridge</city>
                <country>GB</country>
            </location>
            <iscocategory>
                <nacecode>J62.0.1</nacecode>
                <iscofield1>2</iscofield1>
                <iscofield2>21</iscofield2>
                <iscofield3>213</iscofield3>
                <iscofield4>2132</iscofield4>
            </iscocategory>
            <start>1996-06-01</start>
            <end>1996-09-30</end>
            <earnings periodicity="salary" currency="GBP">10000</earnings>
            <description>
                <div xmlns="http://www.w3.org/1999/xhtml">Performed a number of &quot;odd
                    jobs&quot; involving provision of customer support, code writing for a
                    product upgrade and the design of an advertisement. </div>
            </description>
            <detail>
                <div xmlns="http://www.w3.org/1999/xhtml">
                    <ul>
                        <li>Helped upgrade the integrated package PipeDream from v4.13 to v4.5 which
                            incorporated StrongARM compatibility and a number of enhancements.</li>
                        <li>Manned the technical support desk dealing with both telephone and
                            written queries.</li>
                        <li>Designed an advertisement for publication in Acorn User.</li>
                    </ul>
                </div>
            </detail>
        </experience>
    </experiences>
    <publications>
        <!-- If you have a lot of publications, it is easiest to automate the conversion from
        BibTex, RIS or whatever to MODS. See http://www.scripps.edu/~cdputnam/software/bibutils/ -->
        <modsCollection xmlns="http://www.loc.gov/mods/v3">
            <mods>
                <titleInfo>
                    <title>P2069: Stackable, thread local, signal guards</title>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2020-Jan</dateIssued>
                    <publisher>openstd.org</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>ISO JTC1/SC22/WG21 C++ programming language standards committee</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <location>
                    <url>https://wg21.link/P2069</url>
                </location>
            </mods>
            <mods>
                <titleInfo>
                    <title>P2052: Making modern C++ i/o a consistent API experience from bottom to top</title>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2020-Jan</dateIssued>
                    <publisher>openstd.org</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>ISO JTC1/SC22/WG21 C++ programming language standards committee</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <location>
                    <url>https://wg21.link/P2052</url>
                </location>
            </mods>
            <mods>
                <titleInfo>
                    <title>P1883: file_handle and mapped_file_handle</title>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2019-Oct</dateIssued>
                    <publisher>openstd.org</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>ISO JTC1/SC22/WG21 C++ programming language standards committee</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <location>
                    <url>https://wg21.link/P1883</url>
                </location>
            </mods>
            <mods>
                <titleInfo>
                    <title>N2429: Function failure annotation</title>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <name type="personal">
                    <namePart type="given">Jens</namePart>
                    <namePart type="family">Gustedt</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2019-Sep</dateIssued>
                    <publisher>openstd.org</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>ISO JTC1/SC22/WG14 C programming language standards committee</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <location>
                    <url>http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2429.pdf</url>
                </location>
            </mods>
            <mods>
                <titleInfo>
                    <title>P1631: Object attachment and detachment</title>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <name type="personal">
                    <namePart type="given">Bob</namePart>
                    <namePart type="family">Steagall</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2019-Jul</dateIssued>
                    <publisher>openstd.org</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>ISO JTC1/SC22/WG21 C++ programming language standards committee</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <location>
                    <url>https://wg21.link/P1631</url>
                </location>
            </mods>
            <mods>
                <titleInfo>
                    <title>P1095/N2290: Zero overhead deterministic failure
                        - A unified mechanism for C and C++</title>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2018-Aug</dateIssued>
                    <publisher>openstd.org</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>ISO JTC1/SC22/WG14 C programming language standards committee and ISO JTC1/SC22/WG21 C++ programming language standards committee</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <location>
                    <url>http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2289.pdf</url>
                </location>
            </mods>
            <mods>
                <titleInfo>
                    <title>P1031: Low level file i/o library</title>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2018-May</dateIssued>
                    <publisher>openstd.org</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>ISO JTC1/SC22/WG21 C++ programming language standards committee</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <location>
                    <url>https://wg21.link/P1031</url>
                </location>
            </mods>
            <mods>
                <titleInfo>
                    <title>P1030: std::filesystem::path_view</title>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2018-May</dateIssued>
                    <publisher>openstd.org</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>ISO JTC1/SC22/WG21 C++ programming language standards committee</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <location>
                    <url>https://wg21.link/P1030</url>
                </location>
            </mods>
            <mods>
                <titleInfo>
                    <title>P1029: SG14 [[move_relocates]]</title>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2018-May</dateIssued>
                    <publisher>openstd.org</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>ISO JTC1/SC22/WG21 C++ programming language standards committee</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <location>
                    <url>https://wg21.link/P1029</url>
                </location>
            </mods>
            <mods>
                <titleInfo>
                    <title>P1028: SG14 status_code and standard error object for P0709 Zero-overhead deterministic exceptions</title>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2018-May</dateIssued>
                    <publisher>openstd.org</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>ISO JTC1/SC22/WG21 C++ programming language standards committee</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <location>
                    <url>https://wg21.link/P1028</url>
                </location>
            </mods>
            <mods>
                <titleInfo>
                    <title>P1026: A call for an 'Elsewhere Memory' study group</title>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2018-May</dateIssued>
                    <publisher>openstd.org</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>ISO JTC1/SC22/WG21 C++ programming language standards committee</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <location>
                    <url>https://wg21.link/P1026</url>
                </location>
            </mods>
            <mods>
                <titleInfo>
                    <title>P0824: Summary of SG14 discussion on &lt;system_error&gt;</title>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2018-Feb</dateIssued>
                    <publisher>openstd.org</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>ISO JTC1/SC22/WG21 C++ programming language standards committee</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <location>
                    <url>https://wg21.link/P0824</url>
                </location>
            </mods>
            <mods>
                <titleInfo>
                    <title>P0762: Concerns about expected&lt;T, E&gt;
                        from the Boost.Outcome peer review</title>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2017-Oct</dateIssued>
                    <publisher>openstd.org</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>ISO JTC1/SC22/WG21 C++ programming language standards committee</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <location>
                    <url>https://wg21.link/P0762</url>
                </location>
            </mods>
            <mods>
                <titleInfo>
                    <title>Handbook of Best Practices in C++ 11/14 libraries</title>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2015-May</dateIssued>
                    <publisher>The Boost C++ Libraries</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>Wiki</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <location>
                    <url>https://svn.boost.org/trac/boost/wiki/BestPracticeHandbook</url>
                </location>
            </mods>
            <mods>
                <titleInfo>
                    <title>Large Code Base Change Ripple Management in C++</title>
                    <subTitle>My thoughts on how a new Boost C++ Library could help</subTitle>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2014-May</dateIssued>
                    <publisher>ArXiv e-prints</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>ArXiv e-prints</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <identifier type="citekey">arXiv:1405.3323</identifier>
                <location>
                    <url>http://arxiv.org/abs/1405.3323</url>
                </location>
                <part>
                    <detail type="number">
                        <number>1405.3323</number>
                    </detail>
                </part>
            </mods>
            <mods>
                <titleInfo>
                    <title>BB10.0-BB10.1 Memory Footprint Analysis</title>
                    <subTitle>How do we compare?</subTitle>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2013-May</dateIssued>
                    <publisher>BlackBerry</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>Internal white paper</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
            </mods>
            <mods>
                <titleInfo>
                    <title>Object Components Revisited</title>
                    <subTitle>Helping to solve the BB10 complexity &amp; scalability problem</subTitle>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2013-Mar</dateIssued>
                    <publisher>BlackBerry</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>Internal white paper</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
            </mods>
            <mods>
                <titleInfo>
                    <title>BB10.0 Memory Footprint Analysis</title>
                    <subTitle>How do we compare?</subTitle>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2013-Jan</dateIssued>
                    <publisher>BlackBerry</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>Internal white paper</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
            </mods>
            <mods>
                <titleInfo>
                    <title>Economists and the Powerful</title>
                    <subTitle>Convenient Theories, Distorted Facts, Ample Rewards</subTitle>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Norbert</namePart>
                    <namePart type="family">Häring</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2012-Sept</dateIssued>
                    <publisher>Anthem Press</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <genre>book</genre>
                <identifier type="isbn">978-0-8572-8459-4</identifier>
            </mods>
            <mods>
                <titleInfo>
                    <title>Freeing Growth</title>
                    <subTitle>A Neo-Capitalist Manifesto</subTitle>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2011-Sept</dateIssued>
                    <publisher>ned Productions</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <genre>book</genre>
                <identifier type="isbn">978-1-4478-7962-6</identifier>
                <identifier type="isbn">978-1-4478-8757-7</identifier>
                <identifier type="isbn">978-1-4664-6357-8</identifier>
            </mods>
            <mods>
                <titleInfo>
                    <title>Combining reliability and validity in assessment</title>
                    <subTitle>Can auditing create the Golden Goose in assessment quality?</subTitle>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2011-June</dateIssued>
                    <publisher>Institute of Education, University of London</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>Proceedings of the Doctoral School Summer Conference 2011</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <location>
                    <url>http://www.educatejournal.org/online/ds/2011/</url>
                </location>
            </mods>
            <mods>
                <titleInfo>
                    <title>User Mode Memory Page Management</title>
                    <subTitle>An old idea applied anew to the memory wall problem</subTitle>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2011-May</dateIssued>
                    <publisher>ArXiv e-prints</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>ArXiv e-prints</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <identifier type="citekey">ArXiv:2011arXiv1105.1815D</identifier>
                <location>
                    <url>http://arxiv.org/abs/1105.1815</url>
                </location>
                <part>
                    <detail type="number">
                        <number>1105.1815</number>
                    </detail>
                </part>
            </mods>
            <mods>
                <titleInfo>
                    <title>User Mode Memory Page Allocation</title>
                    <subTitle>A Silver Bullet For Memory Allocation?</subTitle>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2011-May</dateIssued>
                    <publisher>ArXiv e-prints</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>ArXiv e-prints</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <identifier type="citekey">ArXiv:2011arXiv1105.1811D</identifier>
                <location>
                    <url>http://arxiv.org/abs/1105.1811</url>
                </location>
                <part>
                    <detail type="number">
                        <number>1105.1811</number>
                    </detail>
                </part>
            </mods>
            <mods>
                <titleInfo>
                    <title>Choosing a distance TESOL/TEFL</title>
                    <subTitle>A Personal Report</subTitle>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2010-Nov</dateIssued>
                    <publisher>College of Teachers</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>Submitted to Education Today (rejected as unsuitable material)</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <location>
                    <url>http://www.nedprod.com/studystuff/Choosing%20a%20distance%20TESOL-TEFL%20-%20A%20Personal%20Report.pdf</url>
                </location>
            </mods>
            <mods>
                <titleInfo>
                    <title>ISO JTC1/SC22/WG14 (The C programming language) - N1527</title>
                    <subTitle>Latency Reducing Memory Allocation</subTitle>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2010-Oct</dateIssued>
                    <publisher>International Standards Organisation</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>open-std.org</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <identifier type="citekey">ISO/IEC JTC1/SC22/WG14/N1527</identifier>
                <location>
                    <url>http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1527.pdf</url>
                </location>
                <part>
                    <detail type="number">
                        <number>N1527</number>
                    </detail>
                </part>
            </mods>
            <mods>
                <titleInfo>
                    <title>Freeing Growth</title>
                    <subTitle>A Neo-Capitalist Manifesto</subTitle>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2009-Feb</dateIssued>
                    <publisher>Google Books</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <genre>book</genre>
                <location>
                    <url>http://books.google.com/books?id=tJO0fZycXvQC</url>
                </location>
            </mods>
            <mods>
                <titleInfo>
                    <title>Freeing Growth</title>
                    <subTitle>How The World Can Grow Four Times Faster Sustained</subTitle>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2008-Dec</dateIssued>
                    <publisher>Working Manuscript</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <genre>book</genre>
            </mods>
            <mods>
                <titleInfo>
                    <title>Modelling the Costs of Climate Change and its Costs of Mitigation</title>
                    <subTitle>A Scientific Approach</subTitle>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2008-May</dateIssued>
                    <publisher>University Library of Munich, Germany</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>MPRA Working Papers</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <identifier type="citekey">RePEc:pra:mprapa:13650</identifier>
                <location>
                    <url>http://ideas.repec.org/p/pra/mprapa/13650.html</url>
                </location>
                <part>
                    <detail type="number">
                        <number>13650</number>
                    </detail>
                </part>
            </mods>
            <mods>
                <titleInfo>
                    <title>Explain "conjectural variation" in Cournot duopoly, evaluate its
                        impacts and discuss the policy implication</title>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2006-Dec</dateIssued>
                    <publisher>University Library of Munich, Germany</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>MPRA Working Papers</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <identifier type="citekey">RePEc:pra:mprapa:13652</identifier>
                <location>
                    <url>http://ideas.repec.org/p/pra/mprapa/13652.html</url>
                </location>
                <part>
                    <detail type="number">
                        <number>13652</number>
                    </detail>
                </part>
            </mods>
            <mods>
                <titleInfo>
                    <title>What is the evidence on the role of foreign direct investment in
                        economics growth, and on the determinants of foreign direct investment
                        flows?</title>
                </titleInfo>
                <name type="personal">
                    <namePart type="given">Niall</namePart>
                    <namePart type="given">Edward</namePart>
                    <namePart type="family">Douglas</namePart>
                    <role>
                        <roleTerm authority="marcrelator" type="text">author</roleTerm>
                    </role>
                </name>
                <originInfo>
                    <dateIssued>2006-Apr</dateIssued>
                    <publisher>University Library of Munich, Germany</publisher>
                </originInfo>
                <typeOfResource>text</typeOfResource>
                <relatedItem type="host">
                    <titleInfo>
                        <title>MPRA Working Papers</title>
                    </titleInfo>
                    <genre>catalog</genre>
                </relatedItem>
                <identifier type="citekey">RePEc:pra:mprapa:13651</identifier>
                <location>
                    <url>http://ideas.repec.org/p/pra/mprapa/13651.html</url>
                </location>
                <part>
                    <detail type="number">
                        <number>13651</number>
                    </detail>
                </part>
            </mods>
        </modsCollection>
    </publications>
    <academicreferees>various on request</academicreferees>
    <workreferees>various on request</workreferees>
</curriculumvitae>
