Hi! Please consider following me on twitter: @hanekomu.
2001年06月27日
Scalar::Properties
After reading a journal entry here, James Duncan sent me some pretty cool code showing how to get constant overloading and literals-as-objects working as intended. At that point, Scalar::Properties had become an inevitability. Let me amuse you with an excerpt of the module's synopsis:
use Scalar::Properties; my $val = 0->true; if ($val && $val == 0) { print "yup, its true alright...\n"; } my @text = ( 'hello world'->greeting(1), 'forget it', 'hi there'->greeting(1), ); print grep { $_->is_greeting } @text; my $l = 'hello world'->length;
posted at: 13:40 | path: /dev | permalink | 0 comments | 0 trackbacks
2001年06月19日
Graphing Makefiles
While playing with Makefiles, I had the urge to know what depends on what, hence GraphViz::Makefile was born. Coming to a CPAN near you rsn (i.e., after the most pressing other stuff gets done).
posted at: 21:01 | path: /misc | permalink | 0 comments | 0 trackbacks
YAPC::NA afterglow
Revision: Without Damian, it would only have been half a conference, but without Kevin, Luc and Rich, there would have been no conference. Congratulations on organizing it and keeping it running smoothly.
On the flight back I was thinking about Ruby's literals-as-objects and realized that Perl can do this as well. By overloading constants, you can do things like
print 42->times(3); print 'hello world'->reverse;
This could be used for runtime properties:
return 0->true;
Now we need to override the test for definedness to also check for this property along with the value.
Tags: conferences, YAPC.
posted at: 20:51 | path: /misc | permalink | 0 comments | 0 trackbacks
YAPC::NA::END{}
YAPC::NA 2001 has finished. The time went by too fast, but it was fun. Lots of ideas and inspirations. And I've met many people whom so far I've only known from IRC or mail or newsgroups.
After the auction (where I actually bought a Ruby book and learned about its literal objects; nice) a bunch of us went for dinner in a lovely French restaurant. We split up into several groups as we didn't want to run the by-now-familiar risk of being turned away due to large numbers, and Abigail, Leon, Isabel (of NY.pm) and freeside had dinner, and we did something else afterwards, but I just can't seem to remember what. Drinking, probably. Someone mentioned to Abigail that he thought Klingon sounded like angry Dutch.
Saturday lunch we had the CPAN BOF, where we had to book a hotel room as there were about 30 people. Brian, who apparently hadn't slept all night, tried to convey his napc-idea (think CPAN + Napster for binary builds... watch this space) and there were other intense discussions. CPAN is great, and other languages would kill to have something like it, but there's still lots to do.
Then dha, Skud, Leon, Brian and many more went down into the old town to have a few drinks. A card game called "Chez Geek", the blame protocol and a long-expected rain (with impressive impromptu rivers down the sloped streets of Montreal) come to mind, in no particular order.
Sunday I just walked around lots; dinner at Mr Yan's again; now it's Monday and I'm writing this in a cafe just before going to the airport. Will be able to upload it only in Vienna, though.
NB: At the airport now. Complete rip-off: on top of an expensive flight, you have to pay CAD 10 when going through customs. "Oh, we just thought we'd rip you off some more before upholding our end of the deal."
Tags: conferences, YAPC.
posted at: 20:01 | path: /misc | permalink | 0 comments | 0 trackbacks
2001年06月15日
YAPC::NA. Day 3. Lunch.
We had some problems with wireless this morning, so this entry is a bit late. We don't do steenkin' wires.
Yesterday afternoon saw Damian's amazing "Life, The Universe and Everything" talk - where he mixes Conway's (no relation) Life, Klingon, Perl 6, Maxwell's Demonsa and more in a talk that you just had to be there - Damian at his best.
This morning mjd gave his talk on the dirty innards of the regex engine and the identity function. Next was Leon's talk about creating compilers for little languages using Parse::RecDescent or Parse::Yapp and abstract syntax trees; a concept with huge potential. Very exciting stuff.
And finally I had my debut as a Perl conference speaker: A lightning talk on Aspect-Oriented Perl. I was a bit nervous just beforehand, but up on stage, it quickly passed. Even Abigail liked the idea. Bodes well for my first full-fledged talk on "Handling Attributes" at YAPC::Europe.
Speaking of stages, for the last lightning talk, Damian and Brian took the stage to present Inline::Files in a Shakespeare-style play, in which, amongst other things, Damian (or rather, his character) called Brian('s character) the "puppet of an active state". It was an incredible talk and there were standing ovations at the end.
A Perl conference without Damian is no Perl conference.
Now I'm looking forward to the Perl 6 status meeting after lunch. Speaking of which…
Tags: conferences, YAPC.
posted at: 20:06 | path: /misc | permalink | 0 comments | 0 trackbacks
2001年06月14日
YAPC::NA. Day 2. Morning.
Fixed two bugs in Inline with Brian Ingerson. Discovered that Data::Denter is very slow with big data structures with circular references. Worked some more on Getopt::Attribute, which is being uploaded as we speak.
I survived Abigail's Parse::RecDescent talk.
Lots of talk, some more ideas, smoked meat bof (bof good, beef bad - but hey, at least they don't have foot & mouth here, so you gotta get all the meat you can). Then a few of us went to a french restaurant / bistro. Pretty nice.
Currently I'm in gnat's Perl Internals class. Tonight will still see Brian's "Data Denter & YAML" talk, Abigail's "Return of the JAPHi" and Damian's "Life, The Universe and Everything". As well as the YAPC dinner.
More on that later.
Tags: conferences, YAPC.
posted at: 16:24 | path: /misc | permalink | 0 comments | 0 trackbacks
2001年06月13日
Setting up registration in the afternoon was pretty painless . Went to a restaurant a few blocks away from the conference in the evening. Which turned out to be somewhat of an uncoordinated effort as poor Mr Yan couldn't cope with 40 hungry hackers, so about half had to be turned away as he "didn't want to give them bad service". Which is a nice attitude.
Met up with acme, Brian Ingerson, dha, Gurusamy Sarathy and had some more crazy ideas which this time I'm *not* going to add to my long list of projects as the list is already, well, long.
Now it's early morning (though the jetlag still caused me to wake up at 5.30am, so no change there) and they're just setting up breakfast and registration behind us as acme, gnat and me are updating our journals.
Some minor and not so minor glitches: Michel Rodriguez can't make it, so something else has to be arranged presto - for a 1.5 hours talk that's supposed to start at 10am. Fun!
gnat brought a wireless network base station - but no power cable. Thankfully there's an abundance of hubs to compensate. Nothing wireless, though.
Ah, lenzo has just turned up. Which means we'll have airport again soon.
Later.
Tags: conferences, YAPC.
posted at: 13:42 | path: /misc | permalink | 0 comments | 0 trackbacks
2001年06月12日
YAPC::Europe talk
Well, my talk on "Handling Attributes" for YAPC::Europe has been approved. Which means some work after returning to Vienna after YAPC::NA.
Tags: conferences, YAPC.
posted at: 22:21 | path: /misc | permalink | 0 comments | 0 trackbacks
Live from YAPC::NA
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.
Tags: conferences, YAPC.
posted at: 20:19 | path: /misc | permalink | 0 comments | 0 trackbacks
2001年06月07日
Exporter::Simple, networking simple
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.
posted at: 10:42 | path: /misc | permalink | 0 comments | 0 trackbacks
2001年06月01日
Entering ideas. Aspects.
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.
posted at: 17:40 | path: /misc | permalink | 0 comments | 0 trackbacks