+<div class="entry" id="App_Notifier_cpan_distributions">
+<li class="tags">perl, cpan, dancer</li>
+<h1>Announcement: the App-Notifier CPAN Distributions</h1>
+I would like to announce two new CPAN distributions of mine:
+These are derived from a few simplistic scripts I've written in shell and
+Perl, to allow me to notify when a task has finished (e.g:
+<tt>make ; finish-client</tt>) or a certain time has elapsed (e.g:
+<tt>sleep 240 ; finish-client</tt>), and I decided to create something
+more serious as CPAN modules.
+App-Notifier-Service implements an HTTP service (using Dancer), which
+listens for requests, and once one arrives, implements a callback, which
+notifies the user on the localhost that the event occured. App-Notifier-Client
+complements it by implementing a client that connects to the service
+Currently documentation may be lacking, and there are almost no automated
+tests in the distributions, but it appears to work nicely. To get started,
+read the documentation and you may wish to peruse some of these files
+from my home directory. First of all, the <tt>.app_notifier.yml</tt> file:
+ - /home/shlomif/bin/desktop-finish-cue
+ - /home/shlomif/bin/desktop-finish-cue
+ - "/home/music/Music/dosd-mp3s/Cookie.mp3"
+ url: "http://localhost:6300/"
+ url: "http://lap.shlomifish.org:6300/"
+The <tt>desktop-finish-cue</tt> file:
+song="/home/music/Music/dosd-mp3s/Theme - Eurovision.mp2"
+if test "$param" = "--song"; then
+xmessage "Your task has been finished! Go check it out." &
+And the <tt>finish-server</tt> script:
+cd "$HOME"/progs/perl/alert/http-based/hg/App-Notifier-Service &&
+ perl ./bin/app.pl --port=6300
+Otherwise, if you're in the Tel Aviv or vicinity, you are invited to
+next Tel Aviv Perl Mongers meeting on Wednesday, 25 July 2012</a>. Otherwise,
+I wish to note that I have written my first Java golf program as part
+of <a href="http://golf.shinh.org/p.rb?Alphabet+texture+">Anarchy golf’s
+“Alphabet Texture” challenge</a> (Anarchy golf accepts challenges in many
+languages). At 167 bytes, it is over 3 times longer than the shortest Perl
+entry which is only 50 bytes (my Perl solution is 52 bytes). But it
+was fun to write. For your information,
+<a href="http://en.wikipedia.org/wiki/Code_golf">code golf</a> is a challenge
+in which, participating programmers are challenged to write the shortest
+program that achieves a certain objective. I find it fun and addictive.
+<div class="entry" id="tech_tip_packaging_cpan_distributions_in_mageia">
+<li class="tags">perl, cpan, tip, tech, tech tip, mageia, linux</li>
+<h1>Tech Tip: How to Package and Maintain CPAN Distributions in Mageia</h1>
+<a href="http://www.mageia.org/">Mageia Linux</a> is an RPM-based
+Linux distribution, whose repositories contain
+3,000 CPAN packages</a>, and part of the reason why it has so many is
+because Jerome Quelin and the other maintainers have worked on tools to
+facilitate creating Mageia packages for CPAN distributions and maintaining
+However, I was a little confused about using
+<a href="https://metacpan.org/release/App-Magpie">magpie</a>, so I'd like
+to share my findings here:
+In order to import, upload and submit a new CPAN package into Mageia,
+along with all of its dependencies, one should not use magpie, but rather
+<a href="https://metacpan.org/release/App-CPAN2Pkg">cpan2pkg</a>. Its use
+is very simple: make <tt>rpm</tt> and <tt>urpmi</tt> sudoable, and type
+<tt>cpan2pkg Package::Name</tt> from the command-line inside an X terminal.
+This will start a Tk window where one can monitor the progress of preparing
+new RPM packages and it has an entry box to create more packages (which
+saves time on re-initialising CPAN.pm or CPANPLUS.pm).
+In order to upgrade a package, one can type
+<tt>eval $( magpie co -s perl-[PACKAGE_NAME] )</tt> and then
+<tt>magpie update</tt>. magpie requires <a href="https://metacpan.org/release/CPAN-Mini">minicpan</a> to be installed and updated.
+In order to install packages, one can do
+<tt>sudo urpmi 'perl(Package::Name)'</tt>. My
+<a href="https://metacpan.org/release/Module-Format">Module-Format module</a>
+facilitates the translation from other notations for writing modules:
+ sudo urpmi --auto $(perlmf as_rpm_colon "$@")
+<div class="entry" id="tpf_debugger_grant_and_new_cpan_distributions">
+<li class="tags">perl, foundation, tpf, grant, debugger, cpan, ruby</li>
+<h1>Grant for Improving the Perl Debugger + New CPAN Distributions</h1>
+First of all, I am glad to announce that the Perl Foundation grant
+committee has accepted my
+proposal for adding tests and refactoring the built-in perl debugger</a>.
+Here is <a href="http://news.perlfoundation.org/2012/08/2012q3-grant-proposals---resul.html">the announcement</a> for which grant proposals were
+accepted. My grant manager for this grant is
+<a href="http://alanhaggai.org/">Alan Haggai Alavi</a>, whom I've been
+talking with online and have collaborated on a few projects, so I'm really
+happy to work with him again.
+I have already made some progress with the grant (and this post is part
+of it), and sent a log for Alan Haggai to post as a grant update.
+That put aside, I'd now like to publicise some of the new distributions
+I have uploaded to CPAN, as I had some ideas for new ones, and am also
+contemplating making enough uploads to have 100 CPAN distributions or more:
+is a distribution wrapping a script that checks for internal broken links. I
+released the first three versions of it in a day, and it uses WWW::Mechanize.
+The reason why I wrote it was that the WDG HTML validator reported some broken
+links in one of my sites, but not their origins, so I had to trace them in
+a different way, and ended up writing that.
+<a href="https://metacpan.org/release/Inline-Ruby">Inline-Ruby</a> is
+an Inline:: distribution I adopted that allows to embed Ruby code inside
+Perl programs. I applied some fixes for it (some of which were not released
+to CPAN yet and some are ugly workarounds), and am planning to maintain it
+is a <tt>Test::</tt> namespace distribution for verifying that your code
+does not contain trailing space. Death to trailing space!
+A final anecdote is that when working on one of my CPAN modules I found the
+<tt>b [filename]:[line_num]</tt> feature that I implemented in the perl
+debugger to be of great help, and can be content that I'm eating my own
+<div class="entry" id="tech_tip_overriding_eumm_compiler">
+<li class="tags">tech, tip, tech tip, perl, eumm, compiler, gcc, clang</li>
+<h1>Tech Tip: Overriding the C compiler with ExtUtils::MakeMaker</h1>
+In order to override the C compiler with ExtUtils::MakeMaker, one can
+perl Makefile.PL CC=/usr/bin/clang
+Which will make the "CC" variable in the generated makefile be set to
+<tt>/usr/bin/clang</tt> instead of the default. Apparently, setting the
+<tt>CC</tt> environment variable does not work like it does with CMake.
+Thanks to <a href="http://firstname.lastname@example.org/msg03060.html">Sisyphus for the tip</a>.