I am testing a Perl backed BitTorrent Sync folder for images. You can add images yourself. You can also delete Images from others. You can try this by adding the Full access key: ADDTHISBITTORRENTSYNCIMAGEFOLDERS

I hope to see some beautiful images from you.

back to asm with asm.js

Emscripten is an LLVM to JavaScript compiler. I think it was used to create plu. But now you can use asm.js with emscripten to compile C/C++ to a subset of JavaScript. Benchmarks of C programs compiled to asm.js are usually within a factor of 2 slower than native compilation.

JavaScript Bookmarklet Builder

Perl script for developing or modifying bookmarklets. I found it here.

My First CPAN Module


WWW::Shorten::Digg is now on CPAN.

Digg URL shortening service not in Stats yet

I wrote a Digg URL shortening module in Perl. You will have to wait at most 3 weeks for me to get a PAUSE ID before you can download it from CPAN. Mail me if you like to use it now. You can see the result of the module on According to Matthew Hurst Digg is not used on Twitter yet. My module will change that 😉

Fibonacci number in Perl

Inspired by Brian here are the Fibonacci numbers in Perl.

sub fib {
    my ($n) = @_;
    my $phi = (1 + sqrt(5)) / 2;
    return int ((($phi ** $n) - ((1 - $phi) ** $n) ) / sqrt(5));

for (0..20) {
  print fib($_)."\n";

OpenID testing

Eric Hodges posted this. I tested it here. It works a bit with myOpenID but not with my phpMyID. Anyway you helped me out Eric. Thanks.

The Perl Foundation has migrated Perl 5 to the Git version control system

HOLLAND, Michigan – The Perl Foundation has migrated Perl 5 to the Git
version control system, making it easier than ever for Perl’s development
team to continue to improve the language that powers many websites.

Moving from Perforce to git provides a number of benefits to the Perl

– With a public repository and Git’s extensive support for distributed
and offline work, working on Perl 5’s source becomes easier for everyone

– Because Git is open source, all developers now have equal access to
the tools required to work on Perl’s codebase.

– Core committers have less administrative work to do when integrating
contributed changes.

– Developers outside the core team can more easily work on experimental
changes to Perl before proposing them for inclusion in the next release.

– A vast array of improved repository and change analysis tools are now
available to Perl’s developers.

– The new Git repository includes every version of Perl 5 ever released,
as well as every revision made during development.

Interested developers can get a copy of the Perl 5 Git repository at

In true open source style, Sam Vilain converted Perl’s history from
Perforce to Git. He did the work both in his spare time and in time
donated by his employer, Catalyst IT. He spent more than a year building
custom tools to transform 21 years of Perl history into the first
ever unified repository of every single change to Perl. In addition
to changes from Perforce, Sam patched together a comprehensive view
of Perl’s history incorporating publicly available snapshot releases,
changes from historical mailing list archives and patch sets recovered
from the hard drives of previous Perl release engineers.

Perl 5 is used by businesses around the world including the BBC,, LiveJournal, Ticketmaster, Craigslist and IMDb. Larry Wall
created Perl in 1987 while working as a systems administrator for NASA.

Larry released Perl 1.000 on December 18th 1987. Over the past 21 years,
Perl has grown into a high-level, general-purpose, dynamic programming
language and is widely used for Web development, Systems Administration,
Genomics and in many other disciplines. The most recent major version
of Perl 5 (5.10.0) was released one year ago.

Git is an open source version control system designed to handle very
large projects with speed and efficiency. Created by Linus Torvalds,
the inventor of Linux to handle the vast number of contributions to
the Linux Kernel, Git is highly flexible and extensible. Perl’s motto,
“There’s More Than One Way To Do It!” perfectly matches the Git workflow.

Nicholas Clark, the manager for Perl 5.8.9 which was released this week,
said “I’m looking forward to Git giving me the ability to work either
online or offline. Perforce is great when I have a network connection,
but until now those times when I’ve been trying to develop on trains
or planes, at stations or airports, I’m back in the ‘dark ages’ before
version control. Git solves this problem and more”.

The hardware behind this and the systems administration time to maintain
it is donated by has also recently donated
$50,000 to The Perl Foundation, to aid in the further development and
maintenance of the Perl programming language in general, and Perl 5.10
in particular.

Perl originally used the Revision Control System (RCS) until March
1997 when it switched to the Perforce Software Configuration Management
System. The Perforce repository was graciously hosted and maintained,
free of charge, by ActiveState. Perforce provided the core developers
with powerful tools, but these tools were not available to users outside
the core team. The switch to Git removes this barrier.

About The Perl Foundation ( | The Perl
Foundation is dedicated to the advancement of the Perl programming
language through open discussion, collaboration, design, and code. The
Perl Foundation coordinates the efforts of numerous grass-roots Perl-based
groups, including: International Yet Another Perl Conferences (YAPC’s),
Carries the legal responsibility for Perl 5 and Perl 6 and the Artistic
and Artistic 2.0 licenses,, Perl Mongers, and PerlMonks.

About ( | is part of (Nasdaq: PCLN). Its website attracts an average of 30
million unique visitors each month. works with more than
57,000 affiliated hotels in 15,000 destinations around the world. Its
services are available in 21 languages. currently has 24
offices in Amsterdam, Athens, Barcelona, Berlin, Cambridge, Cape Town,
Dubai, Dublin, London, Loulé (Portugal), Lyon, Madrid, Moscow, Munich,
New York, Orlando, Paris, Rome, San Francisco, Sydney, Singapore,
Stockholm, Vienna and Warsaw.

About Catalyst IT (NZ) Ltd ( | Catalyst IT
is New Zealand’s premiere Open Source development house. Catalyst looks
after the development requirements for the NZ Electoral Enrolment Centre,
manage the .NZ registry, the largest NZ newspaper’s online presence,
the NZ TAB and many other exciting projects, and are organising the 2010
Australasian Linux Conference to be held in Wellington, New Zealand.

Girl with a Perl Earring

Girl with a Perl Earring, known as the “Mona Lisa of the North”

Undef in XML

I am writing some code that converts a Perl HASH to XML data. I didn’t know how to write Undef in XML. It seems this is the common way to write this:

empty value:      <string />
undefined value: <string defined=”false” />
normal value:     <string>abc</string>

Because you can have empty keys perhaps “” => undef must be written like this <item key=”” defined=”false” /> ?? This rules out Undef keys but I think I can live with it.