CINXE.COM

Athanasius

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- Took this out for IE6ites "http://www.w3.org/TR/REC-html40/loose.dtd" --> <html lang="en"> <head id="stdcontainer"> <title> Athanasius </title> <link rel="canonical" href="https://www.perlmonks.org/?node_id=968231" /> <!-- Theme : Web safe blue PerlMonks Theme --> <script language="javascript" type="text/javascript" src="?node=list%20replies%20toggle%20javascript" integrity="sha384-6jdBZxT7udN82vOTryPaLwqMohSfDF3HXv3M32KAZ7dOREMdAkYh9ZhoaKCgCXcr" crossorigin="anonymous"></script> <link rel="stylesheet" href="/css/common.css" type="text/css" /> <link rel="stylesheet" href="?node_id=204962" type="text/css" /> <!-- No CSS Link in Display Settings --> <!-- No CSS Data in Display Settings --> <link rel="icon" href="/favicon.ico" /> </head> <body id="id-968231"> <!-- monktainer --> <!-- monkbar2001 --> <table id="monkbar" width="100%" border="0" cellpadding="0" cellspacing="0"> <tr class="bannerrow"> <td align="left" width="100%"> <a href="http://pair.com"> <img src="//promote.pair.com/i/pair-banner-current.gif" height = "60" width = "468" alt = "Beefy Boxes and Bandwidth Generously Provided by pair Networks" /> </a> </td> <td rowspan="2" align="right" valign="bottom"> <!-- Monk Pic Turned Off In User Settings --> </td> </tr> <tr class="monkquip"> <td class="monkquip" valign="bottom" width="100%" > laziness, impatience, and hubris </td> </tr> <tr class="titlebar"> <td class="titlebar"> <form method="get" action="?" enctype="application/x-www-form-urlencoded" > &nbsp; <input type="text" name="node" id="search_text" size="20" maxlength="300" /> <input class="titlebar" type="submit" value="Search" /> </form> </td> <td class="titlebar" id="mb2001titlebar" align="right" > <a class="titlebar" href="?">PerlMonks</a>&nbsp;&nbsp; </td> </tr> </table> <!-- /monkbar2001 --> <!-- Begin title bar --> <table width="98%" align="center" id="titlebar-top"> <tbody> <tr> <td valign="middle" class="titlechooser"> <!-- node_info_string: (h3)Title and (span)Author --> <h3 class="other">Athanasius</h3> <span class="attribution">by <a href="?node_id=968231">Athanasius</a> <span class="attribution-title">(Archbishop)</span> </span> <!-- /node_info_string --> </td> <td valign="top" align="right" class="monktitlebar"> <!-- monktitlebar --> <ul class="topnavmenu inline-list"> <li><a href="?node_id=109">Log&nbsp;in</a></li><li><a href="?node_id=101">Create&nbsp;a&nbsp;new&nbsp;user</a></li> <li><a href="?">The&nbsp;Monastery&nbsp;Gates</a></li> <li><a href="?node=Seekers%20of%20Perl%20Wisdom">Seekers&nbsp;of&nbsp;Perl&nbsp;Wisdom</a></li> <li><a href="?node=Meditations">Meditations</a></li> <li><a href="?node=Cool%20Uses%20for%20Perl">Cool&nbsp;Uses&nbsp;For&nbsp;Perl</a></li> <li><a href="?node=Obfuscated%20Code">Obfuscation</a></li> <li><a href="?node=Tutorials">Tutorials</a></li> <li><a href="?node=Perl%20Poetry">Poetry</a></li> <li><a href="?node=Illuminations">Illuminations</a></li> <li><a href="?node=Reviews">Reviews</a></li> <li><a href="?node=Perl%20News">Perl&nbsp;News</a></li> <li><a href="?node=Recently%20Active%20Threads">Recent&nbsp;Threads</a></li> <li><a href="?node=Newest%20Nodes">Newest&nbsp;Nodes</a></li> <li><a href="?node=Super%20Search">Super&nbsp;Search</a></li> <li><a href="?node=Perl%20Monks%20Discussion">PerlMonks&nbsp;Discussion</a></li> <li><a href="?node=Tidings">What's&nbsp;New</a></li> </ul> <!-- args=(monktitlebar sitedoclet -TOPNAV_SPECIAL <li><a href="?node_id=109">Log&nbsp;in</a></li><li><a href="?node_id=101">Create&nbsp;a&nbsp;new&nbsp;user</a></li>) NODE.title = Athanasius NODE.owner = 968231 N.title = monktitlebar sitedoclet N.owner = 17342 --> <!-- /monktitlebar --> </td> </tr> </tbody> </table> <table width="98%" align="center" id="titlebar-bottom"> <tbody> <tr> <td valign="middle" class="titlechooser"> <!-- node_info_string: (span)Date and (span)Links --> <span class="attribution">on May 01, 2012 at 11:13&nbsp;UTC</span> <span class="addlinks">( <a href="?node_id=968231">&#091;id://968231&#093;</a>=<a href="?node_id=15">user</a>: <a rel="nofollow" href="?node_id=968231;displaytype=print">print</a> <a rel="nofollow" href="?replies=1;node_id=968231;displaytype=print">w/replies</a>, <a href="?displaytype=xml;node_id=968231">xml</a> )</span> <!-- /node_info_string --> </td> <td valign="middle" align="right" class="monktitlebar"> <a href="?node=PerlMonks%20FAQ">Need Help??</a> </td> </tr> </tbody> </table> <!-- End title bar --> <!-- Begin main (monktainer) --> <center> <table width="98%"> <tr> <td width="80%" valign="top" class="main_content"> <!--contained stuff--> <!-- BEGIN general container --> <table class="pm-user-info"><tr> <td><img title="Athanasius's user image" src="?updated=20150907040844;node_id=974224" alt="Athanasius's user image" /></td> <td valign="top"> <table> <tr> <td>User since:</td> <td>May 01, 2012 at 11:13&nbsp;UTC <i>(13 years ago)</i></td> </td> </tr><tr> <td>Last here:</td> <td>Nov 28, 2024 at 09:09&nbsp;UTC <i>(2 hours ago)</i></td> </tr><tr> <td>Experience:</td> <td><b> 58813 </b></td> </tr><tr> <td>Level:</td><td><b>Archbishop (23)</b></td> </tr><tr> <td>Writeups:</td> <td><b> <a href="?user=Athanasius;node_id=6364">2006</a> </b></td> </tr> <tr><td>Location:</td><td>Gold Coast, Australia</td></tr><tr><td><a href="?node_id=504005">Curacy</a>:</td><td>637<sup>th</sup> Monk in the <a href="?node_id=3559">Book</a>, Dec 03, 2012</td></tr><tr><td>Image:</td><td>Athanasius I of Alexandria</td></tr><tr><td>Motto:</td><td><i>Contra Mundum</i> (&ldquo;Against the World&rdquo;)</td></tr> <tr> <td>User's localtime:</td><td> Nov 28, 2024 at 20:56&nbsp;AEST </td> </tr><tr> <td>Scratchpad:</td><td> <a href="?viewmode=public;node_id=968232">View</a> </td> </tr> <tr><td>Member of:</td><td> <a href="?node_id=59438">janitors</a> </td> </tr> <tr class="msg_user"><td>For this user:</td><td><a href="?a=Athanasius;node=Super%20Search">Search nodes</a></td></tr> </table> </td> </tr> </table> <p> <p> <p> <p> <p> <!-- location:latitude:-28.03.46.8,longitude:153.23.13.2 --> <center> <table cellpadding="10"> <tr class="highlight"> <td align="center"> <i>Errors, like straws, upon the surface flow;<br /> He who would search for pearls, must dive below.</i><br /> &mdash; John Dryden </td> </tr> </table> </center> <br /> <h1><a name="Athanasius">On Athanasius</a></h1> <h2>Etymology</h2> <ul> <li> Latin <i>Athanasius</i>&ensp;&lt;&ensp;Greek &#7944;&theta;&alpha;&nu;&#940;&sigma;&iota;&omicron;&sigmaf;&ensp;&lt;&ensp;&#7936;- <i>not</i>&ensp;+&ensp;&theta;&alpha;&nu;&#940;&tau;&omicron;&sigmaf; <i>death</i> </li> <li> Hence means &ldquo;immortal&rdquo; &mdash; see <a href="http://www.biblegateway.com/passage/?search=John%203:16&amp;version=NLV">John 3:16</a> and <a href="http://www.biblegateway.com/passage/?search=John%2011:25-26&amp;version=CEV">John 11:25-26a</a> </li> </ul> <br /> <center> <table cellpadding="10"> <tr class="highlight"> <td align="center"> <i>The Christian does not think God will love us because we are good,<br /> but that God will make us good because He loves us.</i><br /> &mdash; C. S. Lewis </td> </tr> </table> </center> <br /> <h2>Athanasius I of Alexandria</h2> <table cellpadding="0" cellspacing="0" border="0"> <tr valign="top"> <td width="48%"> <ul> <li>Renowned Christian theologian, Church Father, and chief defender of Trinitarianism against Arianism</li> <li>Born <i>c</i>. 296&ndash;298 <small>AD</small>, died 2 May, 373</li> <li>Wrote <i>Contra Gentes</i> and <i>De Incarnatione</i> (&ldquo;a masterpiece&rdquo;) aged 20&ndash;22</li> <li>Served as secretary to Patriarch Alexander of Alexandria at the First Council of Nic&aelig;a in 325</li> <li>Patriarch and Archbishop of Alexandria (Roman <i>Provincia &AElig;gyptus</i>) for 45 years (328&ndash;373)</li> <li>Spent more than 17 years in five exiles ordered by four different Roman emperors</li> <li>Known as &ldquo;Father of the Canon&rdquo; because he was the first to identify the 27 books of the New Testament in use today</li> <li>Said at Nic&aelig;a: &ldquo;Jesus that I know as my Redeemer cannot be less than God&rdquo;</li> </ul> </td> <td width="2%"> &nbsp; </td> <td width="48%" align="justify"> <i>His epitaph is Athanasius contra mundum, &ldquo;Athanasius against the world.&rdquo; We are proud that our own country has more than once stood against the world. Athanasius did the same. He stood for the Trinitarian doctrine, &ldquo;whole and undefiled,&rdquo; when it looked as if all the civilised world was slipping back from Christianity into the religion of Arius &mdash; into one of those &ldquo;sensible&rdquo; synthetic religions which are so strongly recommended today and which, then as now, included among their devotees many highly cultivated clergymen. It is his glory that he did not move with the times; it is his reward that he now remains when those times, as all times do, have moved away.</i><br /> &emsp;&mdash; C. S. Lewis, <a href="https://www.bhmc.org.uk/uploads/9/1/7/7/91773502/lewis-incarnation-intro.pdf">Introduction</a> to <i>On The Incarnation</i> by Athanasius </td> <td width="2%"> &nbsp; </td> </tr> </table> <br /> <center> <table cellpadding="10"> <tr class="highlight"> <td align="center"> <i>Men occasionally stumble over the truth,<br /> but most of them pick themselves up<br /> and hurry off as if nothing had happened.</i><br /> &mdash; Winston Churchill </td> </tr> </table> </center> <br /> <h2>Athanasius the PerlMonk</h2> <table border="0"> <tr valign="top"> <td> <h3>Evangelical Christian (Baptist)</h3> <h3>Web Presence</h3> <ul> <li>Athanasius on <a href="http://blogs.perl.org">blogs.perl.org</a></li> <li>Athanasius on <a href="https://groups.google.com/forum/#!forum/comp.lang.perl.misc">comp.lang.perl.misc</a></li> <li>Athanasius on <a href="https://perlweeklychallenge.org/">Perl Weekly Challenge</a></li> <li>Athanasius on <a href="https://projecteuler.net/about">Project Euler</a></li> <li><a href="http://en.wikipedia.org/wiki/Special:Search?search=User%3APerlMonk_Athanasius">PerlMonk Athanasius</a> on <a href="http://en.wikipedia.org/">Wikipedia</a></li> </ul> <h3>PerlMonks Poetry</h3> <ul> <li><a href="?node_id=987943">Scenes from the Monastery</a></li> <li><a href="?node_id=992453">Reflections from the Hermitage</a></li> <li><a href="?node_id=1001029">Re: Drunk at the monastery</a></li> <li><a href="?node_id=1031571">The PerlMonk&#39;s Progress</a></li> <li><a href="?node_id=1097105">Re: Dunning-Kruger Meets Bulwer-Lytton</a></li> <li><a href="?node_id=1111339">No雔, No雔</a></li> <li><a href="?node_id=1188086">Re^3: In Another Index</a></li> </ul> <h3>Meditations</h3> <ul> <li><a href="?node_id=1134465">Recam醤&#39;s sequence and memory usage</a></li> <li><a href="?node_id=11143246">Pangram challenge: greed and Scrabble</a></li> </ul> <h3>JAPHs</h3> <ul> <li><a href="?node_id=969289">A Simple JAPH</a></li> <li><a href="?node_id=997588">Progressive JAPH</a></li> </ul> </td> <td> &emsp;&emsp;&emsp;&emsp;&emsp; </td> <td> <h3>PerlMonks Career</h3> <table cellpadding="3" cellspacing="0" border="0"> <tr> <th align="right">Level</th> <th>&ensp;</th> <th align="left">Title</th> <th align="right">XP</th> <th>&ensp;</th> <th align="center">Date</th> </tr> <tr> <td colspan="6"><hr /><td> </tr> <tr> <td align="right">1</td> <td></td> <td><a href="?node_id=21211">Initiate</a></td> <td align="right">0</td> <td></td> <td align="right"><tt>&nbsp;1 May 2012</tt></td> </tr> <tr> <td align="right">2</td> <td></td> <td><a href="?node_id=17643">Novice</a></td> <td align="right">20</td> <td></td> <td align="right"><tt>&nbsp;5 May 2012</tt></td> </tr> <tr> <td align="right">3</td> <td></td> <td><a href="?node_id=346101">Acolyte</a></td> <td align="right">50</td> <td></td> <td align="right"><tt>&nbsp;9 May 2012</tt></td> </tr> <tr> <td align="right">4</td> <td></td> <td>Sexton</td> <td align="right">90</td> <td></td> <td align="right"><tt>17 May 2012</tt></td> </tr> <tr> <td align="right">5</td> <td></td> <td><a href="?node_id=198665">Beadle</a></td> <td align="right">150</td> <td></td> <td align="right"><tt>&nbsp;4 Jun 2012</tt></td> </tr> <tr> <td align="right">6</td> <td></td> <td><a href="?node_id=17644">Scribe</a></td> <td align="right">250</td> <td></td> <td align="right"><tt>14 Jun 2012</tt></td> </tr> <tr> <td align="right">7</td> <td></td> <td>Monk</td> <td align="right">400</td> <td></td> <td align="right"><tt>30 Jun 2012</tt></td> </tr> <tr> <td align="right">8</td> <td></td> <td>Pilgrim</td> <td align="right">600</td> <td></td> <td align="right"><tt>18 Jul 2012</tt></td> </tr> <tr> <td align="right">9</td> <td></td> <td><a href="?node_id=17645">Friar</a></td> <td align="right">900</td> <td></td> <td align="right"><tt>&nbsp;8 Aug 2012</tt></td> </tr> <tr> <td align="right">10</td> <td></td> <td>Hermit</td> <td align="right">1,300</td> <td></td> <td align="right"><tt>31 Aug 2012</tt></td> </tr> <tr> <td align="right">11</td> <td></td> <td>Chaplain</td> <td align="right">1,800</td> <td></td> <td align="right"><tt>28 Sep 2012</tt></td> </tr> <tr> <td align="right">12</td> <td></td> <td>Deacon</td> <td align="right">2,400</td> <td></td> <td align="right"><tt>30 Oct 2012</tt></td> </tr> <tr> <td align="right">13</td> <td></td> <td><a href="?node_id=504005">Curate</a></td> <td align="right">3,000</td> <td></td> <td align="right"><tt>&nbsp;3 Dec 2012</tt></td> </tr> <tr> <td align="right">14</td> <td></td> <td>Priest</td> <td align="right">4,000</td> <td></td> <td align="right"><tt>25 Jan 2013</tt></td> </tr> <tr> <td align="right">15</td> <td></td> <td>Vicar</td> <td align="right">5,400</td> <td></td> <td align="right"><tt>20 Apr 2013</tt></td> </tr> <tr> <td align="right">16</td> <td></td> <td>Parson</td> <td align="right">7,000</td> <td></td> <td align="right"><tt>17 Aug 2013</tt></td> </tr> <tr> <td align="right">17</td> <td></td> <td>Prior</td> <td align="right">9,000</td> <td></td> <td align="right"><tt>19 Dec 2013</tt></td> </tr> <tr> <td align="right">18</td> <td></td> <td>Monsignor</td> <td align="right">12,000</td> <td></td> <td align="right"><tt>18 Jul 2014</tt></td> </tr> <tr> <td align="right">19</td> <td></td> <td>Abbot</td> <td align="right">16,000</td> <td></td> <td align="right"><tt>13 Jan 2015</tt></td> </tr> <tr> <td align="right">20</td> <td></td> <td>Canon</td> <td align="right">22,000</td> <td></td> <td align="right"><tt>20 Sep 2015</tt></td> </tr> <tr> <td align="right">21</td> <td></td> <td>Chancellor</td> <td align="right">30,000</td> <td></td> <td align="right"><tt>9 Oct 2016</tt></td> </tr> <tr> <td align="right">22</td> <td></td> <td>Bishop</td> <td align="right">40,000</td> <td></td> <td align="right"><tt>19 Sep 2018</tt></td> </tr> <tr class="highlight"> <td align="right">23</td> <td></td> <td>Archbishop</td> <td align="right">50,000</td> <td></td> <td align="right"><tt>20 Mar 2021</tt></td> </tr> <tr> <td align="right">24</td> <td></td> <td>Cardinal</td> <td align="right">60,000</td> <td></td> <td></td> </tr> <tr> <td align="right">25</td> <td></td> <td>Sage</td> <td align="right">70,000</td> <td></td> <td></td> </tr> <tr> <td align="right">26</td> <td></td> <td><a href="?node_id=244022">Saint</a></td> <td align="right">80,000</td> <td></td> <td></td> </tr> <tr> <td align="right">27</td> <td></td> <td>Apostle</td> <td align="right">90,000</td> <td></td> <td></td> </tr> <tr> <td align="right">28</td> <td></td> <td>Patriarch</td> <td align="right">100,000</td> <td></td> <td></td> </tr> <tr> <td align="right">29</td> <td></td> <td>His Eminence</td> <td align="right">1,000,000</td> <td></td> <td></td> </tr> <tr> <td colspan="6"><hr /><td> </tr> </table> </td> </tr> </table> <br /> <center> <table cellpadding="10"> <tr class="highlight"> <td align="center"> <i>You know the old saying:<br />any technology sufficiently advanced<br /> is indistinguishable from a Perl s&#x200E;crip&#x200E;t.</i><br /> &mdash; <i>Programming Perl</i> (<i>The Camel Book</i>) </td> </tr> </table> </center> </p> <hr/><div class="user-blog"><a name="blog"></a> <!-- BEGIN listapproved default outer container --> <table width="100%" cellpadding="0" cellspacing="0"> <tr class="section_title" width="100%" border="1"> <td class="section_title" width="100%"> Posts by Athanasius </td> </tr> <tr> <td> <table width="100%" border="0" cellpadding="2" cellspacing="0"> <!-- BEGIN embed node with vote container --> <!-- Begin Post --> <!-- embed node with vote container --> <tr class="post-head post_head"> <td valign="top" style="padding-left:.2em"> <!-- TITLE --> <a id ="post-head-id11143246" name="post-head-id11143246" href="?node_id=11143246" >Pangram challenge: greed and Scrabble</a> in Meditations <br/> <!-- REPLIES --> 2 direct replies &mdash; <a href="?node_id=11143246">Read more / Contribute</a> </td> <td valign="top" align="right" style="padding-right:.2em"> <!-- AUTHOR --> by <a href="?node_id=968231">Athanasius</a> <br/> <!-- DATE --> on Apr 24, 2022 at 10:43 </td> </tr> <tr class="post-voterep"> <td colspan="2" class="voterep"> </td> </tr> <tr class="post-body post_body"> <td colspan="2"> <ul><p><a href="https://theweeklychallenge.org/blog/perl-weekly-challenge-161/#TASK2">Task 2</a> of the current <a href="https://theweeklychallenge.org/">Perl Weekly Challenge</a> is to generate a pangram from the English dictionary provided. &ldquo;A <b>pangram</b> or <b>holoalphabetic sentence</b> is a sentence using every letter of a given alphabet at least once.&rdquo;<sup>1</sup> However, for this challenge the requirement that the words form a sentence is removed: a list of unrelated words is all that is required. </p> <p>The bonus challenge is to &ldquo;Constrain or optimize for something interesting,&rdquo; and the first suggestion given is:</p> <blockquote> <tt class='inlinecode'>Shortest possible pangram (difficult)</tt> </blockquote> <p>Ok, so just how difficult would it be to perform an exhaustive search? I don&rsquo;t know the answer, but since the search space increases exponentially as words are added to the dictionary, a search for sequences (of varying lengths) drawn from a pool of 23,610 words (see below) would appear highly impractical. I haven&rsquo;t attempted it. </p> <p>Before we proceed, it should be noted that the dictionary can be significantly reduced in size before the search begins. Where groups of words share the same set of letters, only one word from the group (the shortest) need be kept. For example, &ldquo;abdicate,&rdquo; &ldquo;diabetic,&rdquo; and &ldquo;abdicated&rdquo; all have the letter set {a, b, c, d, e, i, t}, so &ldquo;abdicate&rdquo; is retained but &ldquo;diabetic&rdquo; and &ldquo;abdicated&rdquo; are filtered out. This reduces the dictionary size from 39,172 to 23,610 &mdash; a saving of 15,562 words! </p> <p>As noted above, 23,610 is still far too many words for an exhaustive search. So we&rsquo;re looking for a way to get a close-to-optimum result in a reasonable time. And as we&rsquo;ve just noted, each dictionary word can be considered as a set of its component letters. So the task is to find a <b><i>minimum set cover</i></b>, a well-studied problem in combinatorics and computer science.<sup>2</sup> And there is an algorithm that is known to give good results in polynomial time: the <b>greedy algorithm</b>:</p> <blockquote> <i>at each stage, choose the set that contains the largest number of uncovered elements.</i> </blockquote> <p>My initial implementation of this algorithm produced the following pangram:</p> <blockquote> <tt class='inlinecode'>oversimplification ladybug hawk jazz equinox</tt> (40 letters) </blockquote> <p>I wasn&rsquo;t satisfied with this, so began looking for ways to improve the search. It occurred to me that words with rare letters should be preferred over words with common letters. This immediately suggested the Scrabble<sup>3</sup> points system:</p> <pre class="code"><div class='codeblock'><tt class='codetext'>const my %ALPHABET =&gt; ( a =&gt; 1, b =&gt; 3, c =&gt; 3, d =&gt; 2, e =&gt; 1, f =&gt; 4, g =&gt; 2, h =&gt; 4, i =&gt; 1, j =&gt; 8, k =&gt; 5, l =&gt; 1, m =&gt; 3, n =&gt; 1, o =&gt; 1, p =&gt; 3, q =&gt; 10, r =&gt; 1, s =&gt; 1, t =&gt; 1, u =&gt; 1, v =&gt; 4, w =&gt; 4, x =&gt; 8, y =&gt; 4, z =&gt; 10 ); </tt></div><div class='embed-code-dl'><a href="?part=3;abspart=1;displaytype=displaycode;node_id=11143246">&#91;download&#93;</a></div></pre> <p>With this I was able to give each word a weighting based on its component letters, and prefer words with higher weightings. This produced the following pangram:</p> <blockquote> <tt class='inlinecode'>sympathized quarterbacking reflexive jawbone</tt> (41 letters) </blockquote> <p>&mdash; no improvement at all! The problem appears to be that the selected words contain too much deadweight &mdash; too many redundant letters. So would it help to adjust the weighting for each word by deducting points for redundant letters? I experimented with different values of <tt class='inlinecode'>$DUP_WEIGHT</tt>, the amount to deduct for each redundant letter. Here are the results:</p> <table cellpadding="5" cellspacing="1" border="1"> <tr> <th><tt class='inlinecode'>$DUP_WEIGHT</tt></th> <th>Pangram</th> <th>Letter Count</th> </tr> <tr> <td align="center">1</td> <td><tt class='inlinecode'>sympathized quarterbacking jinx overflow</tt></td> <td align="center">37</td> </tr> <tr> <td align="center">2</td> <td><tt class='inlinecode'>sympathized quacking overflow jinx be</tt></td> <td align="center">33</td> </tr> <tr> <td align="center">3</td> <td><tt class='inlinecode'>sympathized quacking fox jaw verb all</tt></td> <td align="center">32</td> </tr> <tr> <td align="center">4</td> <td><tt class='inlinecode'>sympathized unblock xv jaw qt frog</tt></td> <td align="center">29</td> </tr> </table> <p>Eureka! At 29 letters, the last pangram is only 3 letters above the theoretical best-possible result of 26. (For values of <tt class='inlinecode'>$DUP_WEIGHT</tt> above 4, the result does not change.)</p> <p>It should be emphasized that my improved results are not an improvement on the greedy algorithm. That algorithm applies to <i>sets</i>, whereas my search for pangrams is a search over words, which are essentially <i>bags</i> because they contain multiple instances of the same letters.</p> <p>For the implementation, I found the <a href="https://metacpan.org/pod/Set%3A%3ATiny">Set::Tiny</a> module very useful. I highly recommend it for working with sets of strings.</p> <p>Wikipedia<sup>1</sup> gives the following as a short pangram:</p> <blockquote> <tt class='inlinecode'>Waltz, bad nymph, for quick jigs vex.</tt> (28 letters) </blockquote> <p>Since all these words occur in the given dictionary, it would be possible for a search to improve on my best solution by at least one letter. Challenge: can anyone implement a search which finds this pangram (or a shorter one) within a reasonable time?</p> <p><i>Full code listings for my solution (in Perl and Raku) <strike>will shortly be</strike> are available on the Weekly Challenge&rsquo;s GitHub repository at <a href="https://github.com/manwar/perlweeklychallenge-club/tree/master/challenge-161/athanasius">https://github.com/manwar/perlweeklychallenge-club/tree/master/challenge-161/athanasius</a>.</i></p> <p>Cheers,</p> <p><small><sup>1</sup>&ldquo;Pangram, &rdquo; <i>Wikipedia</i>, <a href="https://en.wikipedia.org/wiki/Pangram">https://en.wikipedia.org/wiki/Pangram</a><br /> <sup>2</sup>&ldquo;Set cover problem,&rdquo; <i>Wikipedia</i>, <a href="https://en.wikipedia.org/wiki/Set_cover_problem">https://en.wikipedia.org/wiki/Set_cover_problem</a><br /> <sup>3</sup> &ldquo;Scrabble letter distributions,&rdquo; <i>Wikipedia</i>, <a href="https://en.wikipedia.org/wiki/Scrabble_letter_distributions#English">https://en.wikipedia.org/wiki/Scrabble_letter_distributions#English</a></small></p> <div class="pmsig"><div class="pmsig-968231"> <p> <table width="100%"> <tr> <td align="left"> Athanasius&emsp;<font color="#008000">&lt;</font><a href="http://www.biblegateway.com/passage/?search=John%203:16&amp;version=NLV"><font color="#008000">&deg;</font></a><font color="#008000">(((&gt;&lt;</font>&emsp;<i>contra mundum</i> </td> <td align="right"> <a href="http://translate.google.com.au/#la/en/Iustus%20alius%20egestas%20vitae%2C%20eros%20Piratica%2C"><b>Iustus alius egestas vitae, eros Piratica,</b></a> </td> </tr> </table> </p> </div></div></ul> </td> </tr> <!-- End Post --> <!-- END embed node with vote container --> <!-- BEGIN embed node with vote container --> <!-- Begin Post --> <!-- embed node with vote container --> <tr class="post-head post_head"> <td valign="top" style="padding-left:.2em"> <!-- TITLE --> <a id ="post-head-id1134465" name="post-head-id1134465" href="?node_id=1134465" >Recam醤&#39;s sequence and memory usage</a> in Meditations <br/> <!-- REPLIES --> 3 direct replies &mdash; <a href="?node_id=1134465">Read more / Contribute</a> </td> <td valign="top" align="right" style="padding-right:.2em"> <!-- AUTHOR --> by <a href="?node_id=968231">Athanasius</a> <br/> <!-- DATE --> on Jul 13, 2015 at 04:41 </td> </tr> <tr class="post-voterep"> <td colspan="2" class="voterep"> </td> </tr> <tr class="post-body post_body"> <td colspan="2"> <ul><p>Esteemed Monks,</p> <p>I was looking at <a href="http://oeis.org/">The On-Line Encyclopedia of Integer Sequences (OEIS)</a> (you know, as one does), and on the <a href="http://oeis.org/wiki/Welcome">Welcome</a> page I found a list of <a href="http://oeis.org/wiki/Welcome#Some_Famous_Sequences">Some Famous Sequences</a>, of which the first is <a href="http://oeis.org/A005132">Recam醤&rsquo;s sequence</a>, defined as follows:</p> <blockquote> <pre class="code"><div class='codeblock'><tt class='codetext'>R(0) = 0; for n &gt; 0, R(n) = R(n-1) - n if positive and not already in the sequence, oth<span class="line-breaker"> <font color="red">+</font></span>erwise R(n) = R(n-1) + n. </tt></div><div class='embed-code-dl'><a href="?part=1;abspart=1;displaytype=displaycode;node_id=1134465">&#91;download&#93;</a></div></pre> </blockquote> <p>What makes this sequence interesting is N. J. A. Sloane&rsquo;s conjecture <i>that every number eventually appears</i>.</p> <p>Coding the sequence is simplicity itself; the challenge is to test Sloane&rsquo;s conjecture by keeping track of the numbers that have not yet appeared in the series. My initial, na&iuml;ve approach was to use a sieve, &agrave; la <a href="http://en.wikipedia.org/wiki/Special:Search?search=Sieve_of_Eratosthenes">Eratosthenes</a>:</p> <div class='readmore-link'><a href="?node_id=1134465">Read more...</a><span class='readmore-size'> (671 Bytes)</span></div> <p>But this turned out to be far too memory-hungry: for values of <tt class='inlinecode'>MAX</tt> of the order of twenty million, RAM usage on my 3GB system approaches 100%, thrashing sets in, and the script (along with the rest of Windows) grinds to a shuddering halt.</p> <p>Surely, I thought, there must be a memory-efficient way to represent a sieve? And of course there is, and of course it was already implemented on <a href="http://www.cpan.org/">CPAN</a>. A little searching led to the <a href="https://metacpan.org/pod/Set%3A%3AIntSpan">Set::IntSpan</a> module which stores runs of consecutive integers as <i>spans</i>, allowing large (even infinite) collections of integers to be represented very economically.</p> <p>Calculation of successive terms in the Recam醤 sequence is noticeably slower using <tt class='inlinecode'>Set::IntSpan</tt> for lookup than it is using a hash. But, as the <a href="http://en.wiktionary.org/wiki/Special:Search?search=better_to_be_late_than_be_dead_on_time">adage</a> says, it&rsquo;s <i>better to be late than be dead on time</i>. (This was the slogan of an Australian safe driving ad campaign some years ago.) For the record: I also looked at <a href="https://metacpan.org/pod/Set%3A%3AIntSpan%3A%3AFast">Set::IntSpan::Fast</a> and <a href="https://metacpan.org/pod/Set%3A%3AIntSpan%3A%3AFast%3A%3AXS">Set::IntSpan::Fast::XS</a>. The latter failed to install on my system, and the former actually ran slower than <tt class='inlinecode'>Set::IntSpan</tt> for this use-case.</p> <p>Turns out that <tt class='inlinecode'>Set::IntSpan</tt> not only solves the memory problem, it also makes it possible to dispense with an upper bound for the sieve. How, then, to display progressive results? Well, the OEIS has a couple of additional series related to Recam醤&rsquo;s:</p> <ul> <li><a href="http://oeis.org/A064228">A064228</a>: <i>values of R(n) that take a record number of steps to appear</i>: 1, 2, 4, 19, ...</li> <li><a href="http://oeis.org/A064227">A064227</a>: the values of n corresponding to the values in A064228: 1, 4, 131, 99734, ...</li> </ul> <p>So I recast the script to output successive values of these two series:</p> <pre class="code"><div class='codeblock'><tt class='codetext'>14:20 &gt;perl recaman.pl 1 &lt;-- 1 2 &lt;-- 4 4 &lt;-- 131 19 &lt;-- 99734 ... </tt></div><div class='embed-code-dl'><a href="?abspart=1;part=7;node_id=1134465;displaytype=displaycode">&#91;download&#93;</a></div></pre> <p> Here is the new script:</p> <pre class="code"><div class='codeblock'><tt class='codetext'>use strict; use warnings; use sigtrap handler =&gt; \&amp;int_handler, &#39;INT&#39;, handler =&gt; \&amp;break_handler, &#39;BREAK&#39;; use Set::IntSpan; use Time::HiRes qw(gettimeofday tv_interval); $| = 1; my $t0 = &#91;gettimeofday&#93;; my $min0 = 1; my $n = 0; my $r0 = 0; my $missing = Set::IntSpan-&gt;new( &#39;1-)&#39; ); print &quot;$min0 &lt;-- &quot;; while (++$n) { my $r = $r0 - $n; $r = $r0 + $n if $r &lt; 0 || !$missing-&gt;member($r); $missing-&gt;remove($r); if ((my $min1 = $missing-&gt;min) &gt; $min0) { print &quot;$n\n$min1 &lt;-- &quot;; $min0 = $min1; } $r0 = $r; } sub int_handler { printf &quot;\nn = %d, elapsed time: %.1fs\n&quot;, $n, tv_interval($t0); } sub break_handler { int_handler(); exit 0; } </tt></div><div class='embed-code-dl'><a href="?displaytype=displaycode;node_id=1134465;part=8;abspart=1">&#91;download&#93;</a></div></pre> <p>This script was developed under Windows 8.1, 64-bit, using Strawberry Perl:</p> <pre class="code"><div class='codeblock'><tt class='codetext'>14:20 &gt;perl -v This is perl 5, version 22, subversion 0 (v5.22.0) built for MSWin32-x<span class="line-breaker"> <font color="red">+</font></span>64-multi-thread </tt></div><div class='embed-code-dl'><a href="?abspart=1;part=9;node_id=1134465;displaytype=displaycode">&#91;download&#93;</a></div></pre> <p>The two signal handlers allow the script to be interrupted as follows: <ul> <li><tt class='inlinecode'>Control-C</tt> causes the script to display the current value of <tt class='inlinecode'>$n</tt> and the total running time of the script so far.</li> <li><tt class='inlinecode'>Control-Break</tt> causes the script to display the same information and then exit.</li> </ul> </p> <div class='spoil_link'>&lt;<a href="?node_id=968231;showspoiler=1134465-1" rel="nofollow">Reveal this spoiler</a> or all <a href="?node_id=968231;spoil=1">in this thread</a><!-- <p>OK, I admit it: the script is of no <i>practical</i> value, since:</p> <ol> <li>It&rsquo;s slow.</li> <li>The Recam醤 sequence has already been calculated to a huge length:<br /> <blockquote> Even after 4.28*10^73 terms, the smallest missing number is still 852655.<br /> - Benjamin Chaffin, Mar 22 2010 ([http://oeis.org/A005132|A005132 EXTENSIONS]). </blockquote> </li> </ol> <p>But I don&rsquo;t really care, since I&rsquo;ve found this to be an interesting exercise. <tt>:-)</tt></p> -->&gt;</div> <p>My takeaways from this meditation?</p> <p>First, we all know that micro-optimisation is pointless until you have first selected the best algorithm(s). But optimising an algorithm may actually consist in optimising its <i>underlying data structures</i>. Obvious? Yes, but still worth a reminder now and then.</p> <p>Second, <a href="http://www.cpan.org/">CPAN</a> is awesome! But you knew <i>that</i> already. <tt>:-)</tt></p> <p>Cheers,</p> <div class="pmsig"><div class="pmsig-968231"> <p> <table width="100%"> <tr> <td align="left"> Athanasius&emsp;<font color="#008000">&lt;</font><a href="http://www.biblegateway.com/passage/?search=John%203:16&amp;version=NLV"><font color="#008000">&deg;</font></a><font color="#008000">(((&gt;&lt;</font>&emsp;<i>contra mundum</i> </td> <td align="right"> <a href="http://translate.google.com.au/#la/en/Iustus%20alius%20egestas%20vitae%2C%20eros%20Piratica%2C"><b>Iustus alius egestas vitae, eros Piratica,</b></a> </td> </tr> </table> </p> </div></div></ul> </td> </tr> <!-- End Post --> <!-- END embed node with vote container --> <!-- BEGIN embed node with vote container --> <!-- Begin Post --> <!-- embed node with vote container --> <tr class="post-head post_head"> <td valign="top" style="padding-left:.2em"> <!-- TITLE --> <a id ="post-head-id1111339" name="post-head-id1111339" href="?node_id=1111339" >No雔, No雔</a> in Perl Poetry <br/> <!-- REPLIES --> 2 direct replies &mdash; <a href="?node_id=1111339">Read more / Contribute</a> </td> <td valign="top" align="right" style="padding-right:.2em"> <!-- AUTHOR --> by <a href="?node_id=968231">Athanasius</a> <br/> <!-- DATE --> on Dec 25, 2014 at 01:03 </td> </tr> <tr class="post-voterep"> <td colspan="2" class="voterep"> </td> </tr> <tr class="post-body post_body"> <td colspan="2"> <ul><p> It&rsquo;s Christmas! Ring the Monastery bell,<br /> As we with joy recall that first No雔<br /> When shepherds, watching through the lonely night,<br /> Were over-awed by heaven&rsquo;s glorious light. </p> <p> With cheer, we&rsquo;ll greet our brother monks, and sisters,<br /> And amnesty extend to Pythonistas,<br /> And other erring souls; <tt class='inlinecode'>foreach</tt>, today,<br /> We wish bright blessings in a long <tt class='inlinecode'>@array</tt>. </p> <p> And tho&rsquo; at times, alas!, we make a <tt class='inlinecode'>%hash</tt><br /> Of our <a href="?node_id=188642">Monastic Rule</a>, with insults rash<br /> And words unkind: today we start anew<br /> And <tt class='inlinecode'>map</tt> our way with kinder goals in view. </p> <p> A maid needs help with syntax? We&rsquo;ll not fail &rsquo;er.<br /> A hill of bugs is in our way? We&rsquo;ll <tt class='inlinecode'>$scalar</tt>.<br /> Tho&rsquo; all the year in <b>Perl</b> we script &mdash; and well, &mdash;<br /> Today it&rsquo;s <b>&ldquo;Per&rdquo;</b>, in honour of No雔. </p> <p><small>&copy; 2014</small></p> <p><i>Merry Christmas!</i></p> <div class="pmsig"><div class="pmsig-968231"> <p> <table width="100%"> <tr> <td align="left"> Athanasius&emsp;<font color="#008000">&lt;</font><a href="http://www.biblegateway.com/passage/?search=John%203:16&amp;version=NLV"><font color="#008000">&deg;</font></a><font color="#008000">(((&gt;&lt;</font>&emsp;<i>contra mundum</i> </td> <td align="right"> <a href="http://translate.google.com.au/#la/en/Iustus%20alius%20egestas%20vitae%2C%20eros%20Piratica%2C"><b>Iustus alius egestas vitae, eros Piratica,</b></a> </td> </tr> </table> </p> </div></div></ul> </td> </tr> <!-- End Post --> <!-- END embed node with vote container --> <!-- BEGIN embed node with vote container --> <!-- Begin Post --> <!-- embed node with vote container --> <tr class="post-head post_head"> <td valign="top" style="padding-left:.2em"> <!-- TITLE --> <a id ="post-head-id1031571" name="post-head-id1031571" href="?node_id=1031571" >The PerlMonk&#39;s Progress</a> in Perl Poetry <br/> <!-- REPLIES --> No replies &mdash; <a href="?node_id=1031571">Read more</a> | <a href="?parent=1031571;node_id=3333">Post response</a> </td> <td valign="top" align="right" style="padding-right:.2em"> <!-- AUTHOR --> by <a href="?node_id=968231">Athanasius</a> <br/> <!-- DATE --> on May 01, 2013 at 09:59 </td> </tr> <tr class="post-voterep"> <td colspan="2" class="voterep"> </td> </tr> <tr class="post-body post_body"> <td colspan="2"> <ul><blockquote> <i>Happy Monkday!!<br /> You&rsquo;ve been here 1 thrilling year.</i> </blockquote> <p>Is it really a whole year since I joined the Monastery? I&rsquo;m so glad I did, and so very grateful to all the monks whose enthusiasm and dedication make PerlMonks the special place it is.</p> <p>So this seems like a good opportunity to post a rather long poem I wrote to meet the challenge of finding rhymes for all the monastic levels, from Initiate to Pope.</p> <p>Enjoy! <tt>:-)</tt></p> <div class='readmore-link'><a href="?node_id=1031571">Read more...</a><span class='readmore-size'> (4 kB)</span></div> <p>Cheers,</p> <div class="pmsig"><div class="pmsig-968231"> <p> <table width="100%"> <tr> <td align="left"> Athanasius&emsp;<font color="#008000">&lt;</font><a href="http://www.biblegateway.com/passage/?search=John%203:16&amp;version=NLV"><font color="#008000">&deg;</font></a><font color="#008000">(((&gt;&lt;</font>&emsp;<i>contra mundum</i> </td> <td align="right"> <a href="http://translate.google.com.au/#la/en/Iustus%20alius%20egestas%20vitae%2C%20eros%20Piratica%2C"><b>Iustus alius egestas vitae, eros Piratica,</b></a> </td> </tr> </table> </p> </div></div></ul> </td> </tr> <!-- End Post --> <!-- END embed node with vote container --> <!-- BEGIN embed node with vote container --> <!-- Begin Post --> <!-- embed node with vote container --> <tr class="post-head post_head"> <td valign="top" style="padding-left:.2em"> <!-- TITLE --> <a id ="post-head-id992453" name="post-head-id992453" href="?node_id=992453" >Reflections from the Hermitage</a> in Perl Poetry <br/> <!-- REPLIES --> 1 direct reply &mdash; <a href="?node_id=992453">Read more / Contribute</a> </td> <td valign="top" align="right" style="padding-right:.2em"> <!-- AUTHOR --> by <a href="?node_id=968231">Athanasius</a> <br/> <!-- DATE --> on Sep 08, 2012 at 04:59 </td> </tr> <tr class="post-voterep"> <td colspan="2" class="voterep"> </td> </tr> <tr class="post-body post_body"> <td colspan="2"> <ul><table cellpadding="5"> <tr> <td align="center" colspan="3"> <h3>5 Perlimericks</h3> </td> </tr> <tr> <td> A team of aspiring Perlistas<br /> Would type till their fingers got blisters.<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;But without their espresso,<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The code was a mess, so<br /> They had to take turns as baristas. </td> <td> </td> <td> A Perl coder sheepdog named Shep,<br /> As a herder acquired a rep &mdash;<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An array he did keep<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Full of cows, goats, and sheep,<br /> Then he gathered the sheep using <tt>grep</tt>. </td> </tr> <tr> <td> </td> <td> Said the Scribe, as his postings increased,<br /> &ldquo;An obsession? No, not in the least!<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;With my time I&rsquo;m restrictive.<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I <i>know</i> it&rsquo;s addictive.&rdquo;<br /> At the last report, he was a Priest... </td> <td> </td> </tr> <tr> <td> An old coder&rsquo;s wit (not a flash of it!)<br /> Rejected my Perl (the whole stash of it).<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;He&rsquo;d been coding all day<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An associative array,<br /> So I said, &ldquo;Well, you&rsquo;ve sure made a hash of it!&rdquo; </td> <td> </td> <td> Said the boss, &ldquo;Java&rsquo;s pure and sublime;<br /> To use anything else is a crime.&rdquo;<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;But a rebel named Earl<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Said &ldquo;I much prefer Perl&rdquo; &mdash;<br /> And <i>his</i> project was finished on time. </td> </tr> </table> <p><small>&copy; 2012</small></p> <!-- Node text goes above. Div tags should contain sig only --> <div class="pmsig"><div class="pmsig-968231"> <p>Athanasius&emsp;<font color='#008000'>&lt;&deg;(((&gt;&lt;</font>&emsp;<i>contra mundum</i></p> </div></div></ul> </td> </tr> <!-- End Post --> <!-- END embed node with vote container --> <!-- BEGIN embed node with vote container --> <!-- Begin Post --> <!-- embed node with vote container --> <tr class="post-head post_head"> <td valign="top" style="padding-left:.2em"> <!-- TITLE --> <a id ="post-head-id987943" name="post-head-id987943" href="?node_id=987943" >Scenes from the Monastery</a> in Perl Poetry <br/> <!-- REPLIES --> No replies &mdash; <a href="?node_id=987943">Read more</a> | <a href="?parent=987943;node_id=3333">Post response</a> </td> <td valign="top" align="right" style="padding-right:.2em"> <!-- AUTHOR --> by <a href="?node_id=968231">Athanasius</a> <br/> <!-- DATE --> on Aug 17, 2012 at 05:38 </td> </tr> <tr class="post-voterep"> <td colspan="2" class="voterep"> </td> </tr> <tr class="post-body post_body"> <td colspan="2"> <ul><table cellpadding="15"> <tr align="center"> <th colspan="3"> 5 Rhyming Haikus </th> </tr> <tr align="center"> <td width="33%"> </td> <td width="34%"> Newcomer puzzled<br /> By de-refs; but quickly copes<br /> With lexical scopes. </td> <td width="33%"> </td> </tr> <tr align="center"> <td> Seeker of wisdom<br /> Finds that reputation lags<br /> For want of <tt>&lt;code&gt;</tt> tags. </td> <td> Fresh-minted Friar<br /> Learning Consideration<br /> In Moderation. </td> <td> Tricky answer found&mdash;<br /> <!--Delighted cries of &ldquo;Whoopie!&rdquo;<br /--> Dancing and cries of &ldquo;Whoopie!&rdquo;<br /> As in rolls XP. </td> </tr> <tr align="center"> <td> </td> <td> Newbies, scholars, saints,<br /> Together in the cloisters<br /> Opening oysters. </td> <td> </td> </tr> </table> <p><small>&copy; 2012</small></p> <!-- Node text goes above. Div tags should contain sig only --> <div class="pmsig"><div class="pmsig-968231"> <p>Athanasius&emsp;<font color='#008000'>&lt;&deg;(((&gt;&lt;</font>&emsp;<i>contra mundum</i></p> </div></div></ul> </td> </tr> <!-- End Post --> <!-- END embed node with vote container --> </table> </td> </tr> </table> <!-- END listapproved default outer container --> <table width="100%" class="highlight navbar" border="0" cellpadding="2" cellspacing="0"> <tr><td align="left" width="100"> &nbsp;</td><td align="center">&nbsp;</td><td align="center">(1-6) of 6</td><td align="right" width="100"> &nbsp;</td></tr></table> </div> <!-- END general container --> <!--/contained stuff--> </td> <!--nodelet handling code (monktainer)--> <td width="20%" valign="top" align="right" class="nodelets"> <!-- Begin nodelets --> <table class='nodelet_container' id='nodelet_container'> <!-- Nodelet Break --> <tbody class="nodelet" id="Log_In"> <tr><th class="nodelet_head"> <span class="title">Log In</span><a href="?node=About the Log In" class="nodelethead-annot"><sup>?</sup></a> </th></tr> <tr><td class="nodelet_body"> <form method="post" action="?" enctype="multipart/form-data" name="login"> <span><input type="hidden" name="node_id" value="968231" ></input></span> <input type="hidden" name="op" value="login" /> <input type="hidden" name="lastnode_id" value="968231" /> <table border="0"><tr><td> Username:</td><td> <input type="text" name="user" size="10" maxlength="34" /> </td></tr><tr><td> Password:</td><td> <input type="password" name="passwd" size="10" maxlength="10" /> </td></tr></table> <label><input type="checkbox" name="expires" value="+10y" />remember me</label> <input type="submit" name="login" value="Login" /> <br /> <a href="?node_id=2513">What's my password?</a> <br /> <a href="?node_id=101">Create A New User</a> </form> </td></tr> </tbody> <!-- Nodelet Break --> <tbody class="nodelet" id="Domain_Nodelet"> <tr><th class="nodelet_head"> <span class="title">Domain Nodelet</span><a href="?node=About the Domain Nodelet" class="nodelethead-annot"><sup>?</sup></a> </th></tr> <tr><td class="nodelet_body"> <p class='domain_link' align='center'><a class='wwwdomainlink' href="http://www.perlmonks.com/index.pl?node_id=968231">www</a>.<a class='domainlink' href="http://perlmonks.com/index.pl?node_id=968231">com</a> | <a class='wwwdomainlink' href="http://www.perlmonks.net/index.pl?node_id=968231">www</a>.<a class='domainlink' href="http://perlmonks.net/index.pl?node_id=968231">net</a> | <span class='currentdomain'>www</span>.<a class='domainlink' href="http://perlmonks.org/index.pl?node_id=968231">org</a></p> </td></tr> </tbody> <!-- Nodelet Break --> <tbody class="nodelet" id="Chatterbox"> <tr><th class="nodelet_head"> <span class="title">Chatterbox</span><a href="?node=About the Chatterbox" class="nodelethead-annot"><sup>?</sup></a> </th></tr> <tr><td class="nodelet_body"> <form method="get" action="?" enctype="multipart/form-data"> <span><input type="hidden" name="node_id" value="968231" ></input></span><i class="cb_quiet">and all is quiet...</i><br /> <input type="submit" name="foo" value="Refresh" /> </form> <i><br /> <a href="?node=ChatterBox%20FAQ">How do I use this?</a> &bull; <a href="?node=last%20hour%20of%20cb">Last hour</a> &bull; <a href="?node_id=20842">Other CB clients</a></i> </td></tr> </tbody> <!-- Nodelet Break --> <tbody class="nodelet" id="Other_Users"> <tr><th class="nodelet_head"> <span class="title">Other Users</span><a href="?node=About the Other Users" class="nodelethead-annot"><sup>?</sup></a> </th></tr> <tr><td class="nodelet_body"> <span class="other-users-text">Others <span class="other-users-blurb">rifling through</span> the Monastery:</span> (6)<br /><ul class="spacey-list"><li><span class='even-row'><span class='item-000'><span class='user-level-26'><span class='user-461912'><a href="?node_id=461912" title="GrandFather's home node. Level 26. Member of: janitors">GrandFather</a></span></span></span></span></li> <li><span class='odd-row'><span class='item-001'><span class='user-level-24'><span class='user-832495'><a title="choroba's home node. Level 24. Member of: pmdev" href="?node_id=832495">choroba</a></span></span></span></span></li> <li><span class='even-row'><span class='item-002'><span class='user-level-20'><span class='user-200365'><a href="?node_id=200365" title="Tux's home node. Level 20">Tux</a></span></span></span></span></li> <li><span class='odd-row'><span class='item-003'><span class='user-level-20'><span class='user-174111'><a href="?node_id=174111" title="Discipulus's home node. Level 20. Member of: janitors">Discipulus</a></span></span></span></span></li> <li><span class='even-row'><span class='item-004'><span class='user-level-16'><span class='user-890813'><a title="cavac's home node. Level 16. Member of: pmdev, SiteDocClan, QandAEditors" href="?node_id=890813">cavac</a></span></span></span></span></li> <li><span class='odd-row'><span class='item-005'><span class='user-level-1'><span class='user-11155664'><a title="chatterbot's home node. Level 1" href="?node_id=11155664">chatterbot</a></span></span></span></span></li> </ul><span class='update-time'><small>As of 2024-11-28 10:55 GMT</small></span> </td></tr> </tbody> <!-- Nodelet Break --> <tbody class="nodelet" id="Sections"> <tr><th class="nodelet_head"> <span class="title">Sections</span><a href="?node=About the Sections" class="nodelethead-annot"><sup>?</sup></a> </th></tr> <tr><td class="nodelet_body"> <ul class="spacey-list"> <li><a href="?node=Seekers%20of%20Perl%20Wisdom">Seekers of Perl Wisdom</a></li> <li><a href="?node=Cool%20Uses%20for%20Perl">Cool Uses for Perl</a></li> <li><a href="?node=Meditations">Meditations</a></li> <li><a href="?node=Perl%20Monks%20Discussion">PerlMonks Discussion</a></li> <li><a href="?node=Categorized%20Questions%20and%20Answers">Categorized Q&amp;A</a></li> <li><a href="?node=Tutorials">Tutorials</a></li> <li><a href="?node=Obfuscated%20Code">Obfuscated Code</a></li> <li><a href="?node=Perl%20Poetry">Perl Poetry</a></li> <li><a href="?node=Perl%20News">Perl News</a></li> <li><a href="?node_id=483086">about</a></li> </ul> <!-- args=(Sections) NODE.title = Athanasius NODE.owner = 968231 N.title = Sections sitedoclet N.owner = 17342 --> </td></tr> </tbody> <!-- Nodelet Break --> <tbody class="nodelet" id="Information"> <tr><th class="nodelet_head"> <span class="title">Information</span><a href="?node=About the Information" class="nodelethead-annot"><sup>?</sup></a> </th></tr> <tr><td class="nodelet_body"> <ul class="spacey-list"> <li><a href="?node=PerlMonks%20FAQ">PerlMonks FAQ</a></li> <li><a href="?node=the%20Perl%20Monks%20guide%20to%20the%20Monastery">Guide to the Monastery</a></li> <li><a href="?node=Tidings">What's New at PerlMonks</a></li> <li><a href="?node=Voting%2FExperience%20System">Voting/Experience System</a></li> <li><a href="?node=Tutorials">Tutorials</a></li> <li><a href="?node=Reviews">Reviews</a></li> <li><a href="?node=Library">Library</a></li> <li><a href="?node=perlman%3Aperlfaq">Perl FAQs</a></li> <li><a href="?node=Where%20can%20I%20find%20more%20information%20on...">Other Info Sources</a></li> </ul> <!-- args=(Information sitedoclet -TIDINGS_NEW ) NODE.title = Athanasius NODE.owner = 968231 N.title = Information sitedoclet N.owner = 17342 --> </td></tr> </tbody> <!-- Nodelet Break --> <tbody class="nodelet" id="Find_Nodes"> <tr><th class="nodelet_head"> <span class="title">Find Nodes</span><a href="?node=About the Find Nodes" class="nodelethead-annot"><sup>?</sup></a> </th></tr> <tr><td class="nodelet_body"> <ul class="spacey-list"> <li><a href="?node_id=6364;user=961">Nodes You Wrote</a></li> <li><a href="?node=My%20Watched%20Nodes">My Watched Nodes</a></li> <li><a href="?node=Super%20Search">Super Search</a></li> <li><a href="?node=Perl%20Monks%20User%20Search">List Nodes By Users</a></li> <li><a href="?node=Newest%20Nodes">Newest Nodes</a></li> <li><a href="?node=Recently%20Active%20Threads">Recently Active Threads</a></li> <li><a href="?node=Selected%20Best%20Nodes">Selected Best Nodes</a></li> <li><a href="?node=Best%20Nodes">Best Nodes</a></li> <li><a href="?node=Worst%20Nodes">Worst Nodes</a></li> <li><a href="?node=Saints%20in%20our%20Book">Saints in our Book</a></li> <li><a href="?op=randomnode">Random Node</a></li> </ul> <!-- args=(Find Nodes sitedoclet -USER 961) NODE.title = Athanasius NODE.owner = 968231 N.title = Find Nodes sitedoclet N.owner = 17342 --> </td></tr> </tbody> <!-- Nodelet Break --> <tbody class="nodelet" id="Leftovers"> <tr><th class="nodelet_head"> <span class="title">Leftovers</span><a href="?node=About the Leftovers" class="nodelethead-annot"><sup>?</sup></a> </th></tr> <tr><td class="nodelet_body"> <ul class="spacey-list" id="user"></ul> <ul class="spacey-list" id="internal"> <li><a href="?node=The%20St.%20Larry%20Wall%20Shrine">The St. Larry Wall Shrine</a></li> <li><a href="?node=Offering%20Plate">Offering Plate</a></li> <li><a href="?node=Awards">Awards</a></li> <li><a href="?node=Quests">Quests</a></li> </ul> <ul class="spacey-list" id="external"> <li><a href="http://www.perl.org/">Perl</a></li> <li><a href="http://blogs.perl.org/">Perl Blogs</a></li> <li><a href="http://perl.com/">Perl.com</a></li> <li><a href="https://perl.theplanetarium.org/">Planet Perl</a></li> <li><a href="http://perlweekly.com/">Perl Weekly</a></li> <li><a href="http://jobs.perl.org/">Perl Jobs</a></li> <li><a href="http://www.pm.org/">Perl Mongers</a></li> <li><a href="http://perldoc.perl.org/">Perl documentation</a></li> <li><a href="https://metacpan.org/">MetaCPAN</a></li> <li><a href="http://cpan.perl.org/">CPAN</a></li> <li><a href="https://raku.org/">Raku</a></li> </ul> <!-- args=(Leftovers sitedoclet -USER_LINKS -TIL <span class="wikilink"><a href="?node_id=11156813">Today I Learned</a></span>) NODE.title = Athanasius NODE.owner = 968231 N.title = Leftovers sitedoclet N.owner = 17342 --> </td></tr> </tbody> <!-- Nodelet Break --> <tbody class="nodelet" id="Voting_Booth"> <tr><th class="nodelet_head"> <span class="title">Voting Booth</span><a href="?node=About the Voting Booth" class="nodelethead-annot"><sup>?</sup></a> </th></tr> <tr><td class="nodelet_body"> <div class="poll-vote-form"><b>chatterbot is...</b><form method="post" action="?" enctype="multipart/form-data"> <span><input type="hidden" name="displaytype" value="display" ></input></span><span><input type="hidden" name="node_id" value="11162559" ></input></span><p><label><input type="radio" name="vote" value="0" />Great! It updates <a href="?node_id=596792">last hour of cb</a> and helps me join a discussion </label><br /><label><input type="radio" name="vote" value="1" />The! Worst! Thing! Ever! It always ignores my self-upvotes for <a href="?node_id=11155739">cb stats</a>!!?! </label><br /><label><input type="radio" name="vote" value="2" />Somewhat useful in settling debates with coin flips and dice rolls </label><br /><label><input type="radio" name="vote" value="3" /><a href="?node=Chatterbot">Chatterbot</a>? Nobody told me about it! </label><br /><label><input type="radio" name="vote" value="4" />Not my cup of tea. I do not do that live chat thingie...</label><br /><input type="submit" value="Vote" /></p></form><p><a href="?node_id=11162559">Results (53 votes)</a>. Check out <a href="?node=past%20polls">past polls</a>.</p></div> </td></tr> </tbody> </table> <!-- End nodelets --> </td> <!--/nodelet handling code (monktainer)--> </tr> </table> </center> <!-- End main (monktainer)--> <br /> <br /> <div id="footer"> PerlMonks graciously bestowed by <a href="?node=vroom">Tim Vroom</a>.<br/> PerlMonks is a proud member of the <a href="http://www.perlfoundation.org">The Perl Foundation</a>. <a href="?node=Offering%20Plate">Donate</a> to TPF!<br /> Marvelous Managed Hosting and Bandwidth Generously Provided by <a href="http://promote.pair.com/direct.pl?perlmonks.org"> pair Networks</a> <br/>Built with the <a href="http://perl.org">Perl programming language</a>. </div> <!-- /monktainer --> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10