Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Bernhard (4508)

https://www.xing ... hard_Schmalhofer

A freelance software engineer with experience in webapplications, databases and bioinformatics.

A contributor to Parrot and the person behind Pipp.

A physicist who worked with third sound in Helium-III and CCD X-ray detectors.

barney on
github: []
LinkedIn: []
XING: []

Journal of Bernhard (4508)

Wednesday October 31, 2007
02:09 PM

Teaching myself Scheme

In the last weeks I have been neglecting Plumhead, that is PHP on Parrot. Instead I have been concentrating on learning about Common Lisp and Scheme. Currently I'm working my way through a nice Scheme tutorial, Teach Yourself Scheme in Fixnum Days I try to make the tutorial examples work in 'languages/scheme', a Scheme on Parrot implementation from Jeff Goff.

I also got me a copy of Lisp in small pieces. But I found that it's better to know a little bit of Scheme, before starting to delve into that.

Tuesday October 02, 2007
03:25 AM

Seen on reddit: What large websites are running on

Seen on
What nine of the world’s largest websites are running on
Perl has a strong showing. However the selection of sites has been debated.
The data for the table was scraped from
Sunday June 24, 2007
03:22 PM

Bitflip error

On Friday a colleague @work asked me about an error in a webapplication. There was a Perl syntax error in Sys::Hostname. As I saw no reason that anybody should mess with with Sys::Hostname, I checked the time was last changed. Confusingly the last change was in 2004, apparently this was the time the server was set up. A diff with another Perl 5.8.0 installation showed a single bit change. The first space, 0x20, of line 104 has turned into into a '(', 0x28. The only explanation I can imagine is that a bit has flipped in file cache.


Monday April 09, 2007
03:19 PM

Choosing a license for Plumhead

I have been thinking on how to proceed with Plumhead, that is PHP on Parrot. The problem is that I have neither the ability nor the inclining to write a PHP grammar from scratch. So a template is needed. This brings up the question of licensing.

Johnlim's blog got me jumpstarted on which PHP implementations are out there. I have put my finding into the Parrot Wiki, The projects that look most interesting to me are phc, PHP4Mono and Roadsend. The PHP4Mono and the Roadsend grammars seem to be written from scratch. Both projects are GPL licensed. The phc grammar is derived from the PHP 5.2 grammar.

PHP 5.2 is licensed under the PHP license, while parts are under the Zend license. Both licenses are BSD-like, which is quite acceptable to me.

So the plan of the day is to derive the Plumhead grammars from the PHP 5.2 grammar. I'm not sure whether that means that I need to put the whole of Plumhead under BSD license, or whether I can stick with Artistic+GPL.

Thursday February 15, 2007
04:44 PM


Tonight I was opening a sealed envolope in dim light. When opening the envelope I noticed blueish flashes of light where the adhesive was pulling apart. Subconciously I probably was looking out for that, as I already had noticed the phemenomen some years ago.

Googling told me that this effect in called Triboluminescence, which means 'light from rubbing'. Apparently this is one of the messier phemenomens. At least three different mechanisms were suggested. Breaking of polymers, squashing of crystals and surface excitations. During my study of physics I never came accross it. The closest thing was the piezoelectric effect, which has a lot of technical applications.

If I don't forget about it, I'll get me some sugar cubes and crush them in the dark.

PS: Is there a something like a TinyMCE for use.perl ? Typing all that markup is tiring.

Tuesday January 16, 2007
06:03 PM

More Plumheads

Lately I have expanded the scope of PlumHeaded Parakeet. The current plan is to have a side-by-side comparison of differend parsing and transformation techniques. These techniques are:

Take XML output of phc,, and transform it with XSLT.
Write parser and treegrammar in ANTLR3,, with Java backend
Use the Parrot compiler tools for parsing and transformation

The transformation target is in all three PAST-pm, an abstract syntax tree that can be trasformed into Parrot bytecode.

See also

Thursday October 12, 2006
04:42 PM


After starting on Plumhead, aka PlumHeaded Parakeet, I stumbled on base64 encoded strings embedded in the XML emitted by phc

The plan is to create Parrot Intermediate Representation from XML. So I became sidetracked into making a MIME::Base64 module for PIR. As usual it took longer than expected, even though I found a nice german tutorial,
So an incomplete implementation is now at
The tests I stole from the Perl5 module MIME::Base64. Thanks to Will Coleda for compilers/json, which helps in setting up the test cases.

Saturday September 09, 2006
04:24 PM

Plum-headed Parakeet

Mark Overmeer passed on one of the take home messages from YAPC::Europe in Birmingham. In a lightening talk about XML::Compile,, he said something like: Never mind the XML, it's just syntax. The day before, Allison Randall had talked about the Parrot compiler tools and mentioned how XSLT had influenced the design of TGE. So I wondered whether Never mind the XSLT, it's just syntax. applies as well.

The XSLT project I came up with, is to take the XML output of phc, and transform it to something Parrot can understand. phc parses PHP, so this should become an implementation of PHP on Parrot.

As a projectname,, I chose 'Plumhead', which is short for Plum-headed Parakeet, The description on Wikipedia is neat too: Plum-headed Parakeet is a gregarious and noisy species with range of raucous calls.

Thursday May 18, 2006
04:50 PM

May 2006 Munich Perl Monger meeting

Last night the Munich Perl Mongers celebrated the second installment of the bimonthly meeting. Harald Jörg, the MPM fearless leader, suggested a 'Man Fat, a chinese restaurant in Schwabing as the stomping ground. The food was tasty and the wheatbeer was most welcome after the bike ride from $work at the other end of town.

Besides 7 regulars, two new faces showed up: another Jörg, of Perl golf fame, and Susanne Ruppel. Susanne got the rocks rolling by suggesting to bid for the German Perl Workshop 2007. As the enthusiasm is there, it was decided to go for it! In 2002, when we hosted the YAPC::EU, only Norbert Grüner really knew what we were getting into. This time we have no excuses.

Thursday March 16, 2006
02:51 PM

Munich Perl Monger meeting

In a radical breach of tradition, the Munich Perl Mongers decided to have regular bimonthly meetings. In order to limit the culture shock, the location will remain dynamic and will be chosen in feverish indecision.

So yesterday evening was the first regular meeting. Five Mongers showed, including a new face, Gertraud. Harald Jörg has a writeup in German, Topics ranged from using 'ed' on appliances to the job prospects of assembler programmers for BS2000.

The MPM schedule is the third wednesday of uneven months. When in doubt consult the perlgolf entries in

On the Parrot side, I hope to teach ANTLR 3 more about bc. And coming saturday I plan to attend the 'Linux Info Tag' in Augsburg, enjoying Ingo Blechschmidt's talk 'Perl6 genau jetzt'.