<?xml version="1.0" encoding="windows-1252"?>
<node id="890813" title="cavac" created="2011-03-01 15:42:34" updated="2012-07-16 09:34:27">
<type id="15">
user</type>
<author id="890813">
cavac</author>
<data>
<field name="doctext">
&lt;h1&gt;About me&lt;/h1&gt;
&lt;p&gt;Author of:
&lt;ul&gt;
&lt;li&gt;MAPLAT framework&lt;/li&gt;
&lt;li&gt;HTTP::Server::Simple::CGI::PreFork&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;

&lt;p&gt;
Current maintainer of:
&lt;ul&gt;
&lt;li&gt;Acme::AutoColor&lt;/li&gt;
&lt;li&gt;Acme::Innuendo&lt;/li&gt;
&lt;li&gt;Acme::Mobile::Therbligs&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;

&lt;h1&gt;Significant achievements on PerlMonks&lt;/h1&gt;
&lt;p&gt;
&lt;ul&gt;
&lt;li&gt;2011-03-01: &lt;b&gt;Finally managed to register an account&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;2011-03-28: Broke the 10-writeups barrier&lt;/li&gt;
&lt;li&gt;2011-03-29: Leveled up to Novice, missed vote fairy by an hour&lt;/li&gt;
&lt;li&gt;2011-04-02: First writeup with negative reputation. Installed think-before-posting output filter.&lt;/li&gt;
&lt;li&gt;2011-04-02: Leveled up to Acolyte by bribing the vote fairy&lt;/li&gt;
&lt;li&gt;2011-04-05: Leveled up to Sexton by not downvoting my own comments&lt;/li&gt;
&lt;li&gt;2011-04-10: Leveled up to Beadle after winning a game of poker against the reaper&lt;/li&gt;
&lt;li&gt;2011-04-10: &lt;b&gt;Uploaded Photo&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;2011-10-03: Leveled up to Scribe and stole the fire from the gods&lt;/li&gt;
&lt;li&gt;2011-11-05: Leveled up to Monk in exchange for selling some fire back to the gods&lt;/li&gt;
&lt;li&gt;2011-11-25: Broke the 100-writeups barrier&lt;/li&gt;
&lt;li&gt;2011-12-10: Leveled up to Pilgrim by actually helping others. &lt;i&gt;I feel dirty.&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;2011-12-25: Drunken Santa crashed sleigh into my house. Made me Friar for not calling the police. &lt;b&gt;Can now approve and consider.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;2011-12-25: Approved my first node, meditation [945069].&lt;/li&gt;
&lt;li&gt;2011-12-31: Reached 1000 XP.&lt;/li&gt;
&lt;li&gt;&lt;strike&gt;2011-01-01&lt;/strike&gt; 2012-01-01: Encountered first date/time bug of the leap year.&lt;/li&gt;
&lt;li&gt;2012-01-07: Broke the 200-writeups barrier&lt;/li&gt;
&lt;li&gt;2012-01-17: Leveled up to Hermit, I'm here to write code and chew bubble gum. And i'm all out of gum...&lt;/li&gt;
&lt;li&gt;2012-06-17: Reached 250 writeups. Seems to get harder over time.&lt;/li&gt;
&lt;li&gt;2012-06-28: Broke my left arm. Online discussion still possible, but not code writing.&lt;/li&gt;
&lt;li&gt;2012-07-14: Joined as the newest member of [QandAEditors].&lt;/li&gt;
&lt;li&gt;2012-07-16: Leveled up to Chaplain due to an accounting error.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;


&lt;h1&gt;Perl Geek Code&lt;/h1&gt;
&lt;p&gt;
&lt;i&gt;
I write my own webserver in Perl, many mission critical parts of "my" production plant run my software and i'm actually getting paid to have fun with Perl. Why would i need a Perl Geek Code block...?
&lt;/i&gt;
&lt;/p&gt;

&lt;h1&gt;Useful nodes&lt;/h1&gt;
&lt;p&gt;Here are some helpful node. Some are my own, actually.&lt;/p&gt;
&lt;p&gt;
&lt;table border="1px" bgcolor="lightgrey"&gt;
&lt;tr&gt;&lt;th&gt;Node&lt;/th&gt;&lt;th&gt;Title or Description&lt;/th&gt;&lt;th&gt;Author&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[939918]&lt;/td&gt;&lt;td&gt;Using Tab Completion on Windows in cmd.exe&lt;/td&gt;&lt;td&gt;[Stamm]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[935499]&lt;/td&gt;&lt;td&gt;Reinventing the wheel&lt;/td&gt;&lt;td&gt;[cavac]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[931045]&lt;/td&gt;&lt;td&gt;3-byte representation&lt;/td&gt;&lt;td&gt;[gerleu]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[929344]&lt;/td&gt;&lt;td&gt;Embedded scripting sandbox? Lua?&lt;/td&gt;&lt;td&gt;[cavac]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[941905]&lt;/td&gt;&lt;td&gt;Poem "Perl(Hello World)"&lt;/td&gt;&lt;td&gt;[chacham]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[693828]&lt;/td&gt;&lt;td&gt;Yes, even you can use CPAN&lt;/td&gt;&lt;td&gt;[Tanktalus]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[128077]&lt;/td&gt;&lt;td&gt;A Guide to Installing Modules&lt;/td&gt;&lt;td&gt;[tachyon]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[376075]&lt;/td&gt;&lt;td&gt;brian's Guide to Solving Any Perl Problem&lt;/td&gt;&lt;td&gt;[brian_d_foy]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[919075]&lt;/td&gt;&lt;td&gt;Common Software Development Mistakes&lt;/td&gt;&lt;td&gt;[eyepopslikeamosquito]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[914899]&lt;/td&gt;&lt;td&gt;Hoss'ss Last Words&lt;/td&gt;&lt;td&gt;[hossman]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[967433]&lt;/td&gt;&lt;td&gt;Radius with RFC conform OTP tokens&lt;/td&gt;&lt;td&gt;[cavac]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[945042]&lt;/td&gt;&lt;td&gt;Automation with X11::GUITest&lt;/td&gt;&lt;td&gt;[cavac]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[944371]&lt;/td&gt;&lt;td&gt;Turn a Website into a native application&lt;br&gt;Fixing MakeMaker on 64bit Linux&lt;/td&gt;&lt;td&gt;[cavac]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[976036]&lt;br&gt;[978081]&lt;br&gt;[978256]&lt;/td&gt;&lt;td&gt;Cavac does text adventure&lt;/td&gt;&lt;td&gt;[cavac]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[976888]&lt;/td&gt;&lt;td&gt;Design elegance vs. getting the job done (the famous piggy bank example)&lt;/td&gt;&lt;td&gt;[cavac]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[976690]&lt;/td&gt;&lt;td&gt;Twas the night after Lulzsec (Perl vs. PHP)&lt;/td&gt;&lt;td&gt;[cavac]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[969030]&lt;/td&gt;&lt;td&gt;How to maintain a persistent connection over sockets? (Amazing! Multi-tasking without multi-tasking!)&lt;/td&gt;&lt;td&gt;[BrowserUk]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[116759]&lt;/td&gt;&lt;td&gt;Finite Automata Question Generator&lt;/td&gt;&lt;td&gt;[suaveant]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[980650]&lt;/td&gt;&lt;td&gt;Explaining the poorly documented ||= operator&lt;/td&gt;&lt;td&gt;[live4tech]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[130021]&lt;/td&gt;&lt;td&gt;Orcish Maneuver (caching expensive lookups in sort operations)&lt;/td&gt;&lt;td&gt;[AidanLee]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[26380]&lt;/td&gt;&lt;td&gt;The path to mastery&lt;/td&gt;&lt;td&gt;[tilly]&lt;/td&gt;&lt;/tr&gt;
&lt;!--
&lt;tr&gt;&lt;td&gt;[]&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;[]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[]&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;[]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[]&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;[]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[]&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;[]&lt;/td&gt;&lt;/tr&gt;
--&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/p&gt;

&lt;h1&gt;Interesting nodes&lt;/h1&gt;
&lt;p&gt;Here are some funny or "historically relevant" nodes. Most of them don't have "useful solutions to Perl problems", but are relevant in PM culture or just plain funny.&lt;/p&gt;
&lt;p&gt;
&lt;table border="1px" bgcolor="lightblue"&gt;
&lt;tr&gt;&lt;td&gt;[414465]&lt;/td&gt;&lt;td&gt;Funniest Nodes of 2004&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[4677]&lt;/td&gt;&lt;td&gt;Erudil, the master. Read all his posts!&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[499201]&lt;/td&gt;&lt;td&gt;"Most popular links on homenodes"&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[846]&lt;/td&gt;&lt;td&gt;Paco! &lt;i&gt;He will return!&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[100000]&lt;/td&gt;&lt;td&gt;AntiVroom!&lt;/td&gt;&lt;/tr&gt;
&lt;!--
&lt;tr&gt;&lt;td&gt;[]&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[]&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[]&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[]&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
--&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;h1&gt;PM quotes (and a few other relevant ones)&lt;/h1&gt;
&lt;p&gt;
&lt;table border="1px" bgcolor="lightgreen" width="100%"&gt;
&lt;tr&gt;&lt;th&gt;Author&lt;/th&gt;&lt;th&gt;Post&lt;/th&gt;&lt;th&gt;Quote&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;[Albannach]&lt;/td&gt;&lt;td&gt;[882459]&lt;/td&gt;&lt;td&gt;That reminds me of something a senior engineer told me about 20 years ago on the topic of estimating effort: double your first number and go the the next larger unit. So if your first reaction is 30 seconds, better say 60 minutes. Four hours is more likely to be 8 days, and so on. I'm still crap at estimating individual task effort, but I'm much better at total project cost at least.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt;&lt;td&gt;[sundialsvc4]&lt;/td&gt;&lt;td&gt;[935935]&lt;/td&gt;&lt;td&gt;Yes, it really depends upon your project’s DFQ (&lt;u&gt;D&lt;/u&gt;issected-&lt;u&gt;F&lt;/u&gt;rog &lt;u&gt;Q&lt;/u&gt;uotient), followed by your cauldron-burn and fire-bubble. ;-)&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt;&lt;td&gt;Crow&lt;/td&gt;&lt;td&gt;MST3K The Movie&lt;/td&gt;&lt;td&gt;Believe me, Mike, I calculated the odds of this succeeding against the odds I was doing something incredibly stupid… and I went ahead anyway.&lt;/td&gt;&lt;/tr&gt;

&lt;!--
&lt;tr&gt;&lt;td&gt;[]&lt;/td&gt;&lt;td&gt;[]&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
--&gt;
&lt;/table&gt;
&lt;/p&gt;


&lt;h1&gt;Where to find me&lt;/h1&gt;
&lt;p&gt;There is always confusion on how to find me in the "real world". I don't understand why, i'm nearly always in my office at the monastery. It is on ground level, so you wont even have to climb stairs or anything. The layout of the monastery is simple enough, it has been agreed on by a fair vote all inhabitants. Most of it is even very well documented.&lt;/p&gt;

&lt;p&gt;If you still can't find my office, here's the map:

&lt;code&gt;

 ##################################################################### ###########
 #             #   #     #   #     #             #     #   #         #   #       # 
 # ##### ##### # # # ##### # ##### # ########### # ### # # # ### # ### ### ##### # 
 #   #   #       #   #     #       # #       #   # # # # # # #   #     #   # #   # 
 ##### # # ######### # ############# # ##### ##### # # # # # # ######### ### # ### 
 #     # # #       # # #       #     #     #   #   # #   #   #         #     #   # 
 ### ### # # ##### # # ### ### # ### ### ##### # ### ##### ########### ######### # 
 #   #   # #     # # # #   # # # #           # #     # #   #   #     # #         # 
 # ####### ####### # # # ### # # # ########### ####### # ### # # ### # # ######### 
 # #   #   #       #   # #   #   # #   #   #   #     # #   # # # #   #       #   # 
 # ### # ### ######### ### # ##### ### # # # ####### # ### ### # ### ####### # # # 
 #     #   #     #   #     #           # # #     #   #   #   # #   #   #   # # # # 
 # ####### ### ### # # ################# # ##### # ### # ### # ### ### # # ### # # 
 # # #     #   #   # # #     #       #   #       # #   # #   # #   #   # #     # # 
 # # # ####### # ### # # ### # ##### # ########### # ### # ### # ### ### ######### 
 # # # #     # # #   # #   # #   # # # #     #     # # # #     # #       #   #   # 
 # # # ##### # # ##### ### # ### # # ### ### # # ### # # # ##### # ####### ### # # 
 # # #       # # #     #   #     #   #     # # #     # #   #   # # #         # # # 
 # # ######### # # ##### ####### ##### ##### # ####### ##### # ### # ####### ### # 
 #   #   #     #   #     #   # # #   # #     #         # #   # #   # #     #     # 
 ##### # # ##### ### ####### # # # # # # ############# # # ### # ### # ########### 
 #   # #   #   #   #       # #     # # #             #   # #   # #   # #   #     # 
 ### # ##### ##### ####### # # ####### ############# ### # ##### # ### # # # ### # 
 #   #             #     #   # #     #   #           #   #       #   #   # # #   # 
 # # # ############# ### ##### ##### # # ############# ### ##### ### # ### # # ### 
 # # #   #       #     #     #   #   # #       #   #       # #     # # # # # #   # 
 # # ### # ##### ##### # ####### # ### ##### # # ### ####### # ### # # # # ##### # 
 # #   # # #   #     # #         #   #   #   # #       #   # #   # #     #     # # 
 # ### # # # ####### ### ######### # ### # ##### ####### # # # # ### ######### # # 
 #  O#     #                       #     #               #   # #             #   # 
 ######################################################################### ####### 
    ^                                                                     ^
    |                                                                     |
    |                                                                     |
 my office                                                       Enter monastery here
&lt;/code&gt;

If you still can't find me, try to contact me online. Most likely i'll be able to help you out this way, too.
&lt;/p&gt;</field>
<field name="lasttime">
2013-06-02 17:46:27</field>
<field name="experience">
2111</field>
<field name="user_scratchpad">
890814</field>
<field name="imgsrc">
898621</field>
<field name="timeformat">
</field>
<field name="numwriteups">
340</field>
<field name="location">
In my office at the monastery, see map below.</field>
<field name="timezone">
Europe/Rome</field>
<field name="codewrapoff">
</field>
<field name="codewraplength">
32766</field>
<field name="codeautowrap">
</field>
<field name="codeprefix">
&lt;span class="line-number"&gt;&amp;1;&lt;/span&gt;&amp;nbsp;</field>
<field name="codebig">
</field>
</data>
</node>
