New blog entry: "Acme::CPANAuthors::Austrian" in my Perl blog.
New blog entry: "CPAN Gems: Proc::InvokeEditor" in my Perl blog.
New blog entry: "Overloading Constants in Perl" in my Perl blog.
At the Vienna.pm TechSocialMeeting yesterday I've given a talk called "Perl in Japan" about the japanese Perl community: who they are, how they work, what they do. It contains impressions I brought back from YAPC::Asia 2008. Too many people don't know anything about asian perl mongers. That's a shame because there are some really interesting developments going on there. I've also briefly talked about Perl in Korea; there seems to be a small but intense community and I hope to find out more.
Here are the slides from the talk: http://www.slideshare.net/hanekomu/perl-in-japan
During the YAPC::Asia hackathon day 2, we discovered a kanji that we could use for Moose.pm: 箆. It even looks a bit like some thing with antlers. Here is the JEDict definition:
箆 [へら: HERA] spatula
箆鹿 [へらじか: HERAJIKA] (uk) moose, elk
So a moose is an animal with a spatula on its head? Larry said that 箆 could also mean "comb", so a moose is an animal with a comb on its head. But I digress.
I've made a simple proof-of-concept distribution. The main module's code basically is:
use utf8;
package 箆;
1;
'perl Makefile.PL', 'make', 'make test' and 'make dist' all worked well. It produced a tarball: 箆.tar.gz. So far, so good.
Then I've tried to upload the tarball to cpan:
$ cpan-upload-http 箆.tar.gz
That also gave no error message. So I waited for the emails from PAUSE. Here is the first one:
> Subject: Notification from PAUSE
>
> MARCEL (Marcel Grünauer == hanekomu (跳ね込む)) visited the PAUSE and
> requested an upload into his/her directory. The request used the
> following parameters:
>
> pause99_add_uri_upload [ç®-0.01.tar.gz]
> SUBMIT_pause99_add_uri_httpupload [ Upload this file from my disk ]
> pause99_add_uri_httpupload [-0.01.tar.gz]
>
> The request is now entered into the database where the PAUSE daemon will
> pick it up as soon as possible (usually 1-2 minutes).
>
> During upload you can watch the logfile in
> https://pause.perl.org/pause/authenquery?ACTION=tail_logfile&pause99_tail_logfi
>
> You'll be notified as soon as the upload has succeeded, and if the
> uploaded package contains modules, you'll get another notification from
> the indexer a little later (usually within 1 hour).
>
>
> Thanks for your contribution,
> --
> The PAUSE
Due to the good fortune of having kanji and kana in my CPAN display name (跳ね込む), I was sure that the email had the right encoding. But the tarball filename it returned was wrong: "ç®-0.01.tar.gz". Well, let's see. Maybe it's just a problem with generating the email. Wait and see... Here is the second email:
> Subject: CPAN Upload: M/MA/MARCEL/-0.01.tar.gz
>
> The uploaded file
>
> -0.01.tar.gz
>
> has entered CPAN as
>
> file: $CPAN/authors/id/M/MA/MARCEL/-0.01.tar.gz
> size: 24392 bytes
> md5: 39ebd0b5ab4bd9acdb2a80c1c4a733dd
>
> No action is required on your part
> Request entered by: MARCEL (Marcel Grünauer == hanekomu (跳ね込む))
> Request entered on: Sun, 18 May 2008 11:00:42 GMT
> Request completed: Sun, 18 May 2008 11:00:52 GMT
>
> Thanks,
> --
> paused, v996
Hm, doesn't look good either. Well, wait for the indexer report... Here it is:
> Subject: Failed: PAUSE indexer report MARCEL/-0.01.tar.gz
>
> The following report has been written by the PAUSE namespace indexer.
> Please contact modules@perl.org if there are any open questions.
> Id: mldistwatch 1001 2008-05-15 05:34:01Z k
>
> User: MARCEL (Marcel Gruenauer == hanekomu)
> Distribution file: -0.01.tar.gz
> Number of files: 21
> *.pm files: 14
> README: 箆-0.01/README
> META.yml: 箆-0.01/META.yml
> Timestamp of file: Sun May 18 11:00:51 2008 UTC
> Time of this run: Sun May 18 11:02:23 2008 UTC
>
> No package statements could be
> found in the distro (maybe a script or
> documentation distribution?)
>
> __END__
Ah, so it could actually untar it because it found the README and META.yml files. But it seems it uses the wrong regex to find the package statements. Maybe it needs to read the file as utf8...
Just to be sure it wasn't a problem with cpan-upload-http, I also uploaded the file from the PAUSE web interface directly. Here is the response:
> The Perl Authors Upload Server
>
> Upload a file to CPAN
> Add a file for MARCEL
> File successfully copied to '/home/ftp/incoming/-0.01.tar.gz'
> Your filename has been altered as it contained characters besides the class [A-Za-z0-9_\-\.\@\+].
> DEBUG: your filename['ç®-0.01.tar.gz'] corrected filename['-0.01.tar.gz'].
So this doesn't work either.
Dear CPAN maintainers, please fix it.
I've moved most of my code to CodeRepos. Thanks to Yappo for the commit bit. Now every CodeRepos committer (that is, all the cool Japanese hackers and some gaijin) can patch my distros. Looking forward to it!
I've released DB-Pluggable which adds plugin support to the debugger. There are quite a few good ~/.perldb ideas around, but they're not easy to combine because they often overwrite the same DB::* functions. This distribution tries to remedy this by moving functionality to plugins.
$ cat ~/.perldb
use DB::Pluggable;
use YAML;
$DB::PluginHandler = DB::Pluggable->new(config => Load <<EOYAML);
global:
log:
level: error
plugins:
- module: BreakOnTestNumber
EOYAML
$DB::PluginHandler->run;
$ perl -d foo.pl
Loading DB routines from perl5db.pl version 1.28
Editor support available.
Enter h or `h h' for help, or `man perldebug' for more help.
1..9
...
DB<1> b #5
DB<2> r
DB-Pluggable was inspired by Andy Armstrong's journal entry about a debugger command that adds breakpoints for specific Test::Builder-based tests.
This distribution is very much in beta, so it's more like a proof of concept. Therefore, not all hooks imaginable have been added, only the ones to make this demo work. If you want more hooks or if the current hooks don't work for you, let me know.
I've registered for the YAPC::Asia, so the next thing to do is to find a flight and a hotel.
Unbelievable, I turned 40 today. Because the memorable thing happened at 0:40am local time 40 years ago, I thought I'd stay up last night and finish watching Dennou Coil. Ended up watching 16 episodes (11-26) and going to bed at 2:40, knowing I'd have to get up at 7:30. Normally this wouldn't be worth mentioning, but with advanced age there seems to be a greater need of sleep...
Getting up wasn't too bad, though, as I had time to ponder the cool things that happened in Dennou Coil.
ObReflection: Being 40 doesn't feel like what I expected it to feel like when I was 20. Even 50-60 year olds generally don't seem to be as old as they seemed to me 30 years ago. Ok, back then I was a child and had a different concept of time, but still... Extended lifespan and better medicine certainly has something to do with it as well.
I am wondering, though, whether more days are behind me than lie before me...