<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;">
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">'Understanding Regular Expressions' by Damian Conway</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Full day of Training</p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-weight:600;">Wednesday 12th March 2014</span> </p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-style:italic;">The Ambassadors Hotel, 12 Upper Woburn Place, London WC1H 0HX</span> </p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-weight:600;">full day of training - 10:00 - 17:00</span> </p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-weight:600;">Course Outline:</span> </p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Regular expressions are powerful and efficient tools for <a name="line-15"></a>analyzing and manipulating structured text-based data. <a name="line-16"></a>They are available in most major programming languages <a name="line-17"></a>and as a key component of many other useful software tools <a name="line-18"></a>(browsers, command-line utilities, text editors, web servers, etc.). </p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">But to most programmers, regular expressions remain a riddle <a name="line-21"></a>wrapped in a mystery inside an enigma shrouded in line-noise. <a name="line-22"></a>They seem hard to create, harder to use, and almost impossible <a name="line-23"></a>to debug or maintain. </p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">So most developers make an entirely rational choice: either <a name="line-26"></a>don't use regexes at all (the "Reinventing The Wheel...Badly" <a name="line-27"></a>solution), or else just cut-and-paste existing regexes, adapting <a name="line-28"></a>them to the new task by trial-and-error (the "Attack Of The <a name="line-29"></a>Mutant Clones" approach). </p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">This full-day class offers a third option, taking participants <a name="line-32"></a>back to the fundamentals of regular expressions and explaining <a name="line-33"></a>what regexes really are (i.e. NOT declarative pattern matching <a name="line-34"></a>specifications) and how they actually work (i.e. NOT simply by <a name="line-35"></a>sequential character-to-character text comparisons). </p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">The class also demonstrates how normal programmers can make use <a name="line-38"></a>of their existing software development skills to construct <a name="line-39"></a>correct and efficient regexes...without selling their souls or <a name="line-40"></a>losing their minds along the way. </p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">The course is completely language-agnostic. Every example will <a name="line-43"></a>be shown in all five major modern dialects of regex syntax (ERE, <a name="line-44"></a>PCRE, POSIX, P6, and Vimmish), which collectively cover the use <a name="line-45"></a>of regular expressions in: Apache, C, C++, C#, Chrome, Clojure, <a name="line-46"></a>egrep, Emacs, flex, Firefox, gawk, grep, Haskell, Java, <a name="line-47"></a>JavaScript, MySQL, .Net, PCRE, Perl, PHP, PowerShell, Python, <a name="line-48"></a>Ruby, Safari, sed, VB.NET, and Vim. </p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-weight:600;">Who should attend:</span> </p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Programmers familiar with the basics of control flow, string <a name="line-53"></a>handling, and simple data structures, in any of the programming <a name="line-54"></a>languages or tools listed above. </p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><span style=" font-weight:600;">Tutor:</span> </p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Damian Conway is a renowned programmer, speaker and educator, <a name="line-59"></a>best known for his work on Perl and Vim. </p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">A PhD in Computer Science and a former Associate Professor at <a name="line-62"></a>Australia's largest University, he now runs an international IT <a name="line-63"></a>training company, Thoughtstream, which provides programmer <a name="line-64"></a>training from beginner to masterclass level throughout Europe, <a name="line-65"></a>North America, and Australasia. </p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Over the past two decades Damian has delivered training classes <a name="line-68"></a>for major corporations including Apple, Yahoo!, Amazon, <a name="line-69"></a>Canonical, Xerox, Qualcomm, Canon, Michelin, Morgan Stanley and <a name="line-70"></a>Goldman Sachs. and given seminars and classes at institutions <a name="line-71"></a>such as Harvard, MIT, Carnegie Mellon, U.Toronto and ETH Zurich. </p>
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Other technical areas in which he has published or keynoted <a name="line-74"></a>include programming language design, programmer education, <a name="line-75"></a>communications skills, object orientation, software engineering, <a name="line-76"></a>computational linguistics, emergent systems, declarative <a name="line-77"></a>programming, bioinformatics, quantum computational models, <a name="line-78"></a>computer graphics, human-computer interaction, geometric <a name="line-79"></a>modelling, the psychophysics of perception, nanoscale <a name="line-80"></a>simulation, and parsing techniques. </p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"></p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">See: http://www.flossuk.org/Events/RegularExpressions2014</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"></p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">-- </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">FLOSS UK Secretariat</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">PO Box 37</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Buntingford</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Herts SG9 9UQ</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Tel: 01763 273475</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Fax: 01763 273255</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">office@flossuk.org</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">office@ukuug.org</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">www.flossuk.org</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">www.ukuug.org</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">A Company Limited by Guarantee</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">UKUUG Ltd. t/a FLOSS UK</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Registered Office:</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">The Manor House</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Buntingford</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Herts SG9 9AB</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Reg. No. 2506680</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"></p></body></html>