Category: The Perl Programming Language

  • perlfork – Perl’s fork emulation

    perlfork – Perl’s fork emulation

    Picked this up on twitter from a conversation between 2 rather well-known hard-core Rubyists (and both certainly former hard-core Perl Mongers):
    my mate James Edward Gray II (author of the Textmate book, author of the Ruby CSV library modules, renowned I18N guru, contributor to my FRITZ!Box call monitor, …) and Yehuda Katz (member of Engine Yard, Rails core contributor, …).

    SYNOPSIS

    Perl provides a fork() keyword that corresponds to the Unix system call of the same name. On most Unix-like platforms where the fork() system call is available, Perl’s fork() simply calls it.


    On some platforms such as Windows where the fork() system call is not available, Perl can be built to emulate fork() at the interpreter level. While the emulation is designed to be as compatible as possible with the real fork() at the the level of the Perl program, there are certain important differences that stem from the fact that all the pseudo child “processes” created this way live in the same real process as far as the operating system is concerned.


    This document provides a general overview of the capabilities and limitations of the fork() emulation. Note that the issues discussed here are not applicable to platforms where a real fork() is available and Perl has been configured to use it.

  • Parrot – everything we have heard so far seems wrong

    Emerging Languages camp – day 1 | Ola Bini: Programming Language Synchronicity

    Allison Randall gave a talk about what’s currently happening with Parrot. It seems they are going for a new rewrite of most of the subsystems. One of the changes is going from a CISC style op code system to a RISC style. Parrot apparently has over 1200 op codes at this point, and they want to scale back everything to about 20-30 bytecodes instead. As a preparation for this, they have ripped out the JIT and will revisit most of the subsystems in Parrot to see what can be done. Allison also gave the audience the distinct impression that Parrot is still quite slow for user programs.

    It looks like everything we have heard so far and what we told others seems wrong. Isn’t that embarrassing?

  • “Perl Best Practices” as a useful good night story

    “Perl Best Practices” – O’Reilly Media

    I really like reading good night stories for my sons late in the evening, but I hate reading “Spiderman fights Hulk“, absolutely. Really!
    Now, I actually found out years ago, that it doesn’t really matter to the kids, what you read, but that you like, what you read to them.
    Last night I selected a book, which didn’t come into operation then, but with one day delay today it actually did so.
    Pls find the title attached! (This referred to, when this article was a Google Buzz and there was even a picture attached. I do love Google Buzz, but the number of followers is rather depressing, I actually prefer not to know, how many usually read my blogs. And last week’s Google presentation of the Buzz API at Berlin.Betahaus.de with finest catering and unlimited free drinks even encouraged me to love it more.)
    Now you may understand, what I referred to by: “it doesn’t really matter to the kids…
    You may even think, I am a bad father. I seriously don’t agree. Well, the useless social workers of the “youth welfare office” at Berlin might agree with you. But then, I don’t care.
    Son#2 literally slept within minutes, which is otherwise never easy to achieve. (He can easily fought 2 hours against his sleepiness.)
    Now this either has to do with the quality of the book, or simply with my son liking my voice. Choose yourself!
    Son#2 actually started sleeping deeply in the middle of the preface, but I insisted on completing the preface, of course w/o even touching the acknowledgements. Sorry for that. Maybe I will browse them silently another day. I do find names interesting, and after 30 years in IT you do know a few ones.

    After that I decided to get the PDF for $5 from O’Reilly’s, and I immediately went for it. That PDF is now on my disk. I even think parts of this book will make good presentation material at future Berlin Technical Perl Meetings, well, maybe Stuttgart Technical Perl Meetings, if the Berlin Perl Mongers are lucky enough resp. not lucky enough. Decide yourself, which way it’s meant!

    This book looks like entertaining but educative literature, just the way I considered Larry Wall’ classical Camel Book almost 20 years ago. But I read it then in the Berlin Underground on my way to work or back home.

    Pls have mercy and excuse my Bad Simple English!

  • “the right tool for your job”

    I thought, I should cross-post / sort of “retweet” this article “the right tool for your job” from the rails to the perl world. Of course, the words are different, and also the tools, but the professional researcher attitude is the same, I think. Maybe someone picks the article up and translates it into the perl world.
    I particularly like, what he says in the end:

    Use what works

    Use the best tool for the job, don’t be afraid to look outside your main language or to push outside your comfort levels. Don’t hesitate to make a switch to another plugin or gem if the one you are using doesn’t seem to fit your needs. Most of all, just take some time to really examine what you are using – it can go a long way.

    According to my experience you can’t share this attitude with most employers or clients, but as a professional researcher software developer I fully agree.
  • Task::Kensho – “A Glimpse at an Enlightened Perl”

    See its manual page at CPAN!

    • The installations with/for my self-brewn perl-5.12.1 on openSUSE-11.2 as well as on OS X Snow Leopard have a problem with Task::Kensho‘sTryCatch, I skip that, and all the remainder seems to be fine.
    • The installation with/for my self-brewn perl-5.10.1 on openSUSE-11.2 runs straight through.
    • The installation with/for the “native” perl-5.10.0 on my openSUSE-11.2 runs straight through.




     
  • Catalyst based CMSs

    According to cms.wikia.com/wiki/Impl these are the current Catalyst (so esp. implemented in perl)
     based CMSs:

    Can anybody help me selecting “the right one”?

    O, what do I want to use it for?
    I got a few web-sites, most of them more or less plain text (HTML!), generated from DocBook, and I want them to look a little more spicy, maybe with a left and a right column and all that.
    Alright, coming from DocBook maybe I should also have a look at DocBook website, a variant of DocBook for dealing with websites. But I want to consider the alternatives.

  • Ruby User Group Berlin / 2010-07-01 “meetup” / a brief report

    At today’s meeting of RUG-B

    • and  Benjamin Krause talked to us about Unobtrusive Google Analytics Event Tracking.

    Of course both presentations were given with quite some compentence and professionality, but the Google App thing excited me personally far more.
    Here are
    I am rather keen to see Jan‘s slides and his code getting announced on the Google Group.
    Well, ruby apps run in a Google App environment through jruby, which in turn runs on a JVM. Jan told us of two different working approaches. Rails does run in theory in that environment, but it takes way too long to start. Instead Sintra seems to be the ruby framework of choice wrt the Google App Engine.

    I might err there …, sorry, rephrase:
    maybe that question is heretic, but simply put: what’s the status of perl on the Google App Engine?
    Looks like nothing moved after 2009-07-01 with perl-appengine, right?
    I personally would love to see a perl app say “hello world!” on the Google App Engine.

    RUG-B’s mailing list lives on Google Groups.

  • some *-berlin.de domains

    All of a sudden today I thought I should register a couple of domains.
    Here they are:

    Quite a good start — even e-mail addresses are set up!
    If you want to have any such e-mail address — talk to me!