Stories
Slash Boxes
Comments
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 ]

unimatrix (1124)

unimatrix
  (email not shown publicly)
http://www.codewerk.com

Journal of unimatrix (1124)

Tuesday June 12, 2001
02:21 PM

yapc::europe talk

[ #279 ]

Well, my talk on "Handling Attributes" for YAPC::Europe has been approved. Which means some work after returning to Vienna after YAPC::NA.

02:19 PM

live from yapc::na

[ #278 ]

This is unimatrix, reporting live from YAPC::NA over the wireless network which lenzo and moi (to use the local language) have just set up. Registration starts at 4pm (which is 43 minutes from now - and counting).

I am indeed in shorts as it's pretty warm. Yesterday we had a bit of rain which was compensated by humidity today.

The bad news is that Larry can't make it as he is apparently rather ill; Damian will do his opening talk instead.

A few guys have already arrived and are hanging around the registration area.

My lightning talk (aspect-oriented perl) coincides with acme's compiler talk, so I'll ask mjd to move my talk to the back. Trying to explain this concept in five minutes is madness anyway. The title should be "The Reduced Hacker Company: The Compleat Aspect-Oriented Perl (abridged)".

I'll send updates if and when I get around, although with wireless, it should be a lot easier.

Thursday June 07, 2001
02:42 AM

Exporter::Simple, networking simple

[ #261 ]

Worked some more on Exporter::Simple, which uses attributes to make exporting variables (even lexicals!) and subroutines simple as you don't have to worry about Exporter's arrays and hashes.

Exporting lexicals was made possible/easy using Robin Houston's PadWalker module, which allows you to see which lexicals are defined in your scope.

Acme mentioned wireless networking in his journal; I have to agree that it's pretty cool wandering about with your powerbook downloading stuff - and no wires whatsoever. Let's see if we can get together a wireless network for YAPC::NA.

The lightning talk on aspect-oriented Perl has been approved, but it seems scary now to try and explain aspects in five minutes - apart from the fact that I've spent all time scheduled for aspects on Exporter::Simple... Oh well; it'll be a brief overview.

Friday June 01, 2001
09:40 AM

Entering ideas. Aspects.

[ #238 ]

Having a little notebook (of the paper variety) to jot down quick ideas is a good thing (I have a Palm but can never quite bring myself to use it); but every now and then the notes become so extensive that you have to start entering them lest you have to carry your laptop, notebook, additional loose pieces of paper, the Palm (that does get used from time to time) etc. Need I go on?

So it's typing time. Having it all on disk makes it easier to backup those ideas, but it's just no match for reading from real paper.

Coming soon to a Perl interpreter near you: I've had some more ideas for aspect-oriented perl; more on which at YAPC::North::America. Basically it's about being able to influence almost any point during execution from the outside, without having to rewrite (and un-rewrite later) loads of modules to install (and uninstall) certain behavior. Sounds abstract, I know. Read http://www.parc.xerox.com/csl/projects/aop/ and aspectj.org for details.

Thursday May 31, 2001
02:40 AM

Attributes II

[ #227 ]

After doing some more experiments and work with attributes, there are now two more modules on CPAN: Attribute::Util, which provides four general-purpose attributes (Memoize, Abstract, Alias, SigHandler) and Attribute::Overload, which allows you to declare a subroutine to be an overload handler for one or more operations.

I've also submitted a proposal for a talk on attributes to YAPC::Europe (yes, I know the CFP deadline is today...)

Work still continues on Exporter::Simple, another module that uses - surprise! - attributes to make life easier if you want to export variables and subroutines. Damian is about to release a new version of Attribute::Handlers and so I'm delaying the release of Exporter::Simple; there are still a few things to be implemented.

I've quit my job (it was the end of a project) to spend all summer hacking Perl (ok, I'll try to get out every now and then...), and you just get so much more done if you can work a) on what you really love to do, b) in concentration, c) without commercial pressures.

I'll start looking for another job in September, but again it'll only be to fund some more time on what's really important.

Friday May 18, 2001
03:38 PM

Fun with Attributes

[ #183 ]

Got into attributes today. Damian's Attribute::Handlers really makes this easy. The result so far are the following three modules:

Attribute::TieClasses - attribute wrappers for CPAN Tie classes. The following lines load in Tie::Scalar::Timeout and tie()s $k with those options

            use Attribute::TieClasses;
            my $k : Timeout(EXPIRES => '+2s');

Attribute::Memoize - Attribute interface to Memoize.pm

            use Attribute::Memoize;
            sub fib :Memoize {
                            my $n = shift;
                            return $n if $n 2;
                            fib($n-1) + fib($n-2);
            }

Attribute::Abstract - implementing abstract methods with attributes

            package SomeObj;
            use Attribute::Abstract;

            sub new { ... }
            sub write : Abstract;

Now, if properties (in Perl 6 jargon) were modifiable at runtime, it would open the door to aspect-oriented programming. There might be a little talk at YAPC::NA and/or YAPC::Europe on that; so far there is a proof-of-concept implementation of aspects using the flexibility afforded by the debugger. More on that later.

Monday April 09, 2001
10:29 AM

Why Perl?

[ #16 ]

I yearn for a sense of common purpose, with Open Source and
Perl hackers, beyond competing for the next job. We as
hackers are in the happy position of using and building
those tools that further sharing ideas. I'm optimistic that
the 21st century can be a blissful time of shared
conviction.

Why Perl?

Perl is not just a way of telling the computer what you
mean, it is also the basis of a thriving culture. The Perl
Mongers are one of the most important aspects of this
culture. They have chapters throughout the world, with new
ones being built all the time. Meetings, mailing lists, IRC
channels and grassroots conferences produce an energy and
exchange of ideas. This is helped by flat structures; even
the most brilliant minds within the Perl community are just
regular guys you don't have to be afraid to talk to.

Certainly one reason for this thriving culture is that fun
can be had with Perl, since the language is expressive and
flexible enough to allow you to write code the way you want,
be it obfuscated or poetic (the two are not necessarily
mutually exclusive), as a one-liner or as beautifully
structured object systems. There's more than one way to do
it.

Perl also allows you to do crazy things in easy and powerful
ways. Quantum-superpositioned variables that can be in
several states at the same time, or variables whose value
expires after some time; writing code in Latin or data
structures that flexibly bend and morph into any shape you
want, are but a few things possible in this rather natural
computer language - no contradiction in terms implied.

Elaborate code repositories, automated testing facilities,
recorded history; and now, the first development grant
sponsored by a community. Within two weeks of making public
the idea of sponsoring Damian Conway for a year to
exclusively work on Perl, the notion had become a reality.
Perl generates quite a bit of money, and good programmers
are sought-after, well-paid and tend to be generous and
helpful - as it has turned out, not only with advice. If
this concept works, it could spawn a wave of communities
self-sufficiently honoring brilliant minds. It is in this
environment that a sharing of ideas and common purpose is
fostered and achieved.

10:28 AM

Open Source and Artistic Movements

[ #15 ]

It's easy to make plans when you're on holiday or have some
spare time, but once you're back home the day-to-day chores
will quickly catch up with you. Nevertheless, I think I've
learned something in the past year. Those two months in the
summer of 2000 that I've taken as more or less a sabbatical
have shown just how far you can get and how much fun it can
be when you're don't have to go to a regular nine-to-five
job. And experiences in London, meeting the open-source
community, namely in the form of the London Perl mongers and
taking part in the London Perl conference, have shown me
that, unless you're part of some culture you can relate to,
the life of a hacker can be a solitary one. However, when
you're engaged in open-source activities, you can immerse
yourself in this hacker culture, and it feels good and gives
you energy.

There are some concepts which may appear initially unrelated
to computer programming, but are compatible with that
mindset. The idea of living a bohemian lifestyle, of
exploring the artist within yourself (and hacking certainly
can be an art form), the comparison with the French painter
or poet around the fin-de-siecle who takes part in new
artistic movements, maybe even political discussions with
other artists in some Parisian cafe, drinking Absinthe (the
poet's third eye), is very appealing. In his talk at the
yapc::Europe 19100, Simon Cozens related the open-source
hacker to such artists. But how do you achieve such a state
of the free spirit?

The principal downside of programming for fun is the lack of
income. Only rarely can one find a job, temporary or
permanent, that allows oneself to indulge in open-source
projects. My rather temporary solution for this has been a
three-month visit to London, in a rather well-paid project.
London is expensive, Vienna is not, so the idea was to earn
money in London and spend it in Vienna. Back in Vienna, I'll
try to find similar set-ups; well-paid, short-term
commercial projects followed by periods of practising your
own hackerly art. Unfortunately, income taxation in Austria
is very high, so it would pay off a lot more working in
London, but then again that's not home.

There are, of course, other ways to make a living. Having
taught a few small Perl-classes, I found that to be
challenging and fun at the same time. So I might offer some
open Perl training with the Vienna.pm and Linux user group
folks, hoping to build up experience and a reputation, so I
can then offer these services to companies. Speaking of the
Vienna Perl mongers, they seem to be lazy beyond virtue when
it comes to organizing meetings and other activities, so I'd
like to encourage socal contact between those hackers.

10:26 AM

Hello, World!

[ #14 ]

The first entry into a new diary.

There will be notes of a more general nature, not specific
to a particular project.