Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-25 Thread Moritz Lenz
Moritz Lenz wrote:
> Carl Mäsak wrote:
>> Tim (>):
>>> Anything else I should add, change or remove? I'm especially interested
>>> in verifyable metrics showing effort, progress, or use. Ideally graphical.
>>> Any interesting nuggets that fit with the theme will be most welcome.
>> 
>> Moritz++ and I were talking about making a graph showing the increase
>> of Perl 6 projects lately. Proto's project.list contains all the
>> pertinent history, so half an hour with git-log and SVG::Plot ought to
>> be able to produce something nice. If no-one else takes that as a
>> hint, I might look at it soonish. :)
> 
> I know produced this plot, attached is a .png, the perl script that
> generates the data file and gnuplot file which turns that into a .png.

Thanks to masak's contribution we now have a plot containing also the
earlier history of proto, and is daily updated on http://rakudo.de/

It is not completely accurate, but it's a enough for a broad trend line.

I know the talk is over now, but maybe somebody wants to hold such a
talk in the future, too.

Cheers,
Moritz


Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-25 Thread Tim Bunce
I gave the talk at OSSBarcamp in Dublin last weekend and it went well.
My sincere thanks to everyone who contributed.

The slides are available at:

http://www.slideshare.net/Tim.Bunce/perl-myths-200909

The graphs and stats charting the continuing growth of perl and the perl
community were surprising (and delighting) even to me.  

The presentation was even featured on the slideshare.net home page for a
while. Yeah!

I'll be giving the talk again at HighLoad++ in Moscow in a couple of
weeks time, and possibly again at IPW09 in Pisa later in October (though
it's not been scheduled yet). So I'd be grateful for any feedback on
the talk. Corrections, improvements, extra data etc.

Thanks again!

Tim.

p.s. I've already fixed the suprious reference to CPANTS.



Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-16 Thread Raphael Descamps
Am Mittwoch, den 16.09.2009, 10:30 +0200 schrieb François Perrad:
> 2009/9/16 Carl Mäsak :
> > Tim (>), Raphael (>>):
> >>> Some XML related stuff:
> >>>
> >>> XML parser:
> >>> http://github.com/fperrad/xml/
> No Perl6.
> Only Parrot & PCT.

Yes, I know.

But your XML grammar is Perl 6 syntax anyway ;)

If you want pure Perl6, here is an other small example:
http://github.com/krunen/xml

But as it stand now, it's more a stub.

It show that PGE is now mature enouth to start hacking on an XML Grammar
close to the W3C Spec.

Raphael.

> 
> François Perrad
> 
> >>>
> >>> Tree manipulation:
> >>> http://github.com/wayland/Tree/tree/master
> >>
> >> Thanks. Any reason they're not known to proto?
> >
> > The latter I wasn't really aware of. It's now added to the list, and
> > wayland has been given a proto commit bit.
> >
> > The former, while apparently a nice effort, doesn't contain any Perl 6
> > code as far as I can see.
> >
> > // Carl
> >
> >



Workaround for role stubs (Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk)

2009-09-16 Thread Moritz Lenz
Timothy S. Nelson wrote:
> On Wed, 16 Sep 2009, Carl Mäsak wrote:
> 
>> Tim (>), Raphael (>>):
 Some XML related stuff:

 XML parser:
 http://github.com/fperrad/xml/

 Tree manipulation:
 http://github.com/wayland/Tree/tree/master
>>>
>>> Thanks. Any reason they're not known to proto?
>>
>> The latter I wasn't really aware of. It's now added to the list, and
>> wayland has been given a proto commit bit.
> 
>   It doesn't work, though.  That's probably one reason it wasn't in 
> proto :).  Until either we get role stubs (role foo {...}) or I figure a way 
> to work around that, 

If you want to stub role foo, you can simply write

role foo[Int $a, Int $b, Int $c] { }

or with some other parametrization signature that's never used anywhere.
Role declarations are "multi" just like multi subs, and writing down one
multi role that's never used makes the name known to Rakudo.

That's a bit of an ugly hack, but it worked for me so far.

Cheers,
Moritz


Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-16 Thread Timothy S. Nelson

On Wed, 16 Sep 2009, Carl Mäsak wrote:


Tim (>), Raphael (>>):

Some XML related stuff:

XML parser:
http://github.com/fperrad/xml/

Tree manipulation:
http://github.com/wayland/Tree/tree/master


Thanks. Any reason they're not known to proto?


The latter I wasn't really aware of. It's now added to the list, and
wayland has been given a proto commit bit.


	It doesn't work, though.  That's probably one reason it wasn't in 
proto :).  Until either we get role stubs (role foo {...}) or I figure a way 
to work around that, it will continue not to work.  But after that, I'll be 
able to move forward with it (well, if I have tuits -- I hope to be back to 
Perl 6 stuff within the next month).  I don't want to complain, though. 
Great work so far, Rakudo implementors!


:)


-
| Name: Tim Nelson | Because the Creator is,|
| E-mail: wayl...@wayland.id.au| I am   |
-

BEGIN GEEK CODE BLOCK
Version 3.12
GCS d+++ s+: a- C++$ U+++$ P+++$ L+++ E- W+ N+ w--- V- 
PE(+) Y+>++ PGP->+++ R(+) !tv b++ DI D G+ e++> h! y-

-END GEEK CODE BLOCK-


Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-16 Thread François Perrad
2009/9/16 Carl Mäsak :
> Tim (>), Raphael (>>):
>>> Some XML related stuff:
>>>
>>> XML parser:
>>> http://github.com/fperrad/xml/
No Perl6.
Only Parrot & PCT.

François Perrad

>>>
>>> Tree manipulation:
>>> http://github.com/wayland/Tree/tree/master
>>
>> Thanks. Any reason they're not known to proto?
>
> The latter I wasn't really aware of. It's now added to the list, and
> wayland has been given a proto commit bit.
>
> The former, while apparently a nice effort, doesn't contain any Perl 6
> code as far as I can see.
>
> // Carl
>
>


Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-16 Thread Nathan Gray
On Mon, Sep 14, 2009 at 12:15:05PM +0100, Tim Bunce wrote:
> You can find my current draft at http://files.me.com/tim.bunce/65oikg (2.3MB 
> PDF)

page 73 - Haskell should be spelled with two Ls

-kolibrie



Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-16 Thread Carl Mäsak
Tim (>), Raphael (>>):
>> Some XML related stuff:
>>
>> XML parser:
>> http://github.com/fperrad/xml/
>>
>> Tree manipulation:
>> http://github.com/wayland/Tree/tree/master
>
> Thanks. Any reason they're not known to proto?

The latter I wasn't really aware of. It's now added to the list, and
wayland has been given a proto commit bit.

The former, while apparently a nice effort, doesn't contain any Perl 6
code as far as I can see.

// Carl


Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-15 Thread Tim Bunce
On Tue, Sep 15, 2009 at 12:15:10PM -0400, Nathan Gray wrote:
> On Mon, Sep 14, 2009 at 12:15:05PM +0100, Tim Bunce wrote:
> > You can find my current draft at http://files.me.com/tim.bunce/65oikg 
> > (2.3MB PDF)
> 
> page 73 - Haskell should be spelled with two Ls

Thank you! I kept wondering if that was spelt right but never got round
to checking. (The Mac's spell checker wan't to change it to Hassle :)

Tim.


Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-15 Thread Tim Bunce
On Tue, Sep 15, 2009 at 04:46:33PM +0200, Carl Mäsak wrote:
> Tim (>), Carl (>>), Tim (>>>):
> >> > I'd be grateful for feedback on any of the slides, but I'm especially
> >> > interested in updates for:
> >> >
> >> >    page 73 - Perl 6 implementations
> >> >                I've added Mildew, with links, to the SMOP line
> >> >                anything I should add / change / remove?
> >> >                What's the status of KindaPerl6?
> >>
> >> I think Elf could very well be added to those.
> >>
> >> >    page 77 - quantity of code writen in Perl 6
> >> >                are there any other significant perl6 codebases?
> >>
> >> Again, Elf is a nice, large example. :)
> >
> > Got a url? (I've not been keeping up with perl6 as much as I'd like)
> 
> This one here seems a good introduction: .

Ah, cool. I'll include Elf on the Multiple Implementations page.

> >> Depending on what you mean by significant, I'd also like to direct
> >> your attention towards SVG::Plot, proto, Gamebase, CSV, Druid, Form,
> >> HTTP::Daemon, Perl6::SQLite and Web.pm. All of those can be downloaded
> >> via proto.
> >
> > I'd really appreciate a list of "significant" perl6 projects, with a
> > few words of description of each, that I could put on a slide.
> > (Similar to the "Many gems on CPAN ..." on page 18.)
> >
> > The goal being to give a sense that there are "significant" projects
> > being implemented in perl6.
> 
> The list I gave above was my subjective, somewhat hasty traversal of
> projects.list, filtering on what I consider significant (meaning that
> people use it today or it holds some promise). Here's the same list,
> with a one-sentence (also subjective) description of each project:
> [...]
> It's entirely possible that I've forgotten some important module
> above, so don't hesitate to pipe up if one comes to mind.

Thanks.

On Tue, Sep 15, 2009 at 06:04:15PM +0200, Raphael Descamps wrote:
> 
> Some XML related stuff:
> 
> XML parser:
> http://github.com/fperrad/xml/
> 
> Tree manipulation:
> http://github.com/wayland/Tree/tree/master

Thanks. Any reason they're not known to proto?

Tim.


Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-15 Thread Raphael Descamps
Am Dienstag, den 15.09.2009, 16:46 +0200 schrieb Carl Mäsak:
> Tim (>), Carl (>>), Tim (>>>):
> >> > I'd be grateful for feedback on any of the slides, but I'm especially
> >> > interested in updates for:
> >> >
> >> >page 73 - Perl 6 implementations
> >> >I've added Mildew, with links, to the SMOP line
> >> >anything I should add / change / remove?
> >> >What's the status of KindaPerl6?
> >>
> >> I think Elf could very well be added to those.
> >>
> >> >page 77 - quantity of code writen in Perl 6
> >> >are there any other significant perl6 codebases?
> >>
> >> Again, Elf is a nice, large example. :)
> >
> > Got a url? (I've not been keeping up with perl6 as much as I'd like)
> 
> This one here seems a good introduction: .
> 
> >> Depending on what you mean by significant, I'd also like to direct
> >> your attention towards SVG::Plot, proto, Gamebase, CSV, Druid, Form,
> >> HTTP::Daemon, Perl6::SQLite and Web.pm. All of those can be downloaded
> >> via proto.
> >
> > I'd really appreciate a list of "significant" perl6 projects, with a
> > few words of description of each, that I could put on a slide.
> > (Similar to the "Many gems on CPAN ..." on page 18.)
> >
> > The goal being to give a sense that there are "significant" projects
> > being implemented in perl6.
> 
> The list I gave above was my subjective, somewhat hasty traversal of
> projects.list, filtering on what I consider significant (meaning that
> people use it today or it holds some promise). Here's the same list,
> with a one-sentence (also subjective) description of each project:

Some XML related stuff:

XML parser:
http://github.com/fperrad/xml/

Tree manipulation:
http://github.com/wayland/Tree/tree/master


> SVG::Plot
>   Draw bar charts, line charts and pie charts in SVG.
> proto
>   Install Perl 6 projects, painlessly.
> Gamebase
>   Create games with animated 2D sprites.
> CSV
>   Read .csv files.
> Druid
>   Play a connection game which grows upwards.
> Form
>   Format text nicely à la Exigesis 7.
> HTTP::Daemon
>   Make a web server.
> Perl6::SQLite
>   Interact with an SQLite database.
> Web.pm
>   Create web applications with powerful tools.
> 
> It's entirely possible that I've forgotten some important module
> above, so don't hesitate to pipe up if one comes to mind.
> 
> // Carl

Raphael.



Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-15 Thread Carl Mäsak
Tim (>), Carl (>>), Tim (>>>):
>> > I'd be grateful for feedback on any of the slides, but I'm especially
>> > interested in updates for:
>> >
>> >    page 73 - Perl 6 implementations
>> >                I've added Mildew, with links, to the SMOP line
>> >                anything I should add / change / remove?
>> >                What's the status of KindaPerl6?
>>
>> I think Elf could very well be added to those.
>>
>> >    page 77 - quantity of code writen in Perl 6
>> >                are there any other significant perl6 codebases?
>>
>> Again, Elf is a nice, large example. :)
>
> Got a url? (I've not been keeping up with perl6 as much as I'd like)

This one here seems a good introduction: .

>> Depending on what you mean by significant, I'd also like to direct
>> your attention towards SVG::Plot, proto, Gamebase, CSV, Druid, Form,
>> HTTP::Daemon, Perl6::SQLite and Web.pm. All of those can be downloaded
>> via proto.
>
> I'd really appreciate a list of "significant" perl6 projects, with a
> few words of description of each, that I could put on a slide.
> (Similar to the "Many gems on CPAN ..." on page 18.)
>
> The goal being to give a sense that there are "significant" projects
> being implemented in perl6.

The list I gave above was my subjective, somewhat hasty traversal of
projects.list, filtering on what I consider significant (meaning that
people use it today or it holds some promise). Here's the same list,
with a one-sentence (also subjective) description of each project:

SVG::Plot
  Draw bar charts, line charts and pie charts in SVG.
proto
  Install Perl 6 projects, painlessly.
Gamebase
  Create games with animated 2D sprites.
CSV
  Read .csv files.
Druid
  Play a connection game which grows upwards.
Form
  Format text nicely à la Exigesis 7.
HTTP::Daemon
  Make a web server.
Perl6::SQLite
  Interact with an SQLite database.
Web.pm
  Create web applications with powerful tools.

It's entirely possible that I've forgotten some important module
above, so don't hesitate to pipe up if one comes to mind.

// Carl


Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-15 Thread Tim Bunce
On Mon, Sep 14, 2009 at 03:46:54PM +0200, Carl Mäsak wrote:
> Tim (>):
> > I'd be grateful for feedback on any of the slides, but I'm especially
> > interested in updates for:
> >
> >    page 73 - Perl 6 implementations
> >                I've added Mildew, with links, to the SMOP line
> >                anything I should add / change / remove?
> >                What's the status of KindaPerl6?
> 
> I think Elf could very well be added to those.
> 
> >    page 77 - quantity of code writen in Perl 6
> >                are there any other significant perl6 codebases?
> 
> Again, Elf is a nice, large example. :)

Got a url? (I've not been keeping up with perl6 as much as I'd like)

> Depending on what you mean by significant, I'd also like to direct
> your attention towards SVG::Plot, proto, Gamebase, CSV, Druid, Form,
> HTTP::Daemon, Perl6::SQLite and Web.pm. All of those can be downloaded
> via proto.

I'd really appreciate a list of "significant" perl6 projects, with a
few words of description of each, that I could put on a slide.
(Similar to the "Many gems on CPAN ..." on page 18.)

The goal being to give a sense that there are "significant" projects
being implemented in perl6.

> > Anything else I should add, change or remove? I'm especially interested
> > in verifyable metrics showing effort, progress, or use. Ideally graphical.
> > Any interesting nuggets that fit with the theme will be most welcome.
> 
> Moritz++ and I were talking about making a graph showing the increase
> of Perl 6 projects lately. Proto's project.list contains all the
> pertinent history, so half an hour with git-log and SVG::Plot ought to
> be able to produce something nice. If no-one else takes that as a
> hint, I might look at it soonish. :)

Moritz has come up trumps on that one.

Tim.


Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-15 Thread Tim Bunce
On Tue, Sep 15, 2009 at 09:40:46AM +1000, Damian Conway wrote:
> Darren Duncan wrote:
> 
> > So another proposal I have is to add to the slideshow mentions of the
> > Enlightened and Modern Perl movements and where one can go to read more,
> > this being supplemental to PBP.
> 
> With that suggestion I'd whole-heartedly concur.

I'm covering that with a slide based on chromatic's blog post
http://www.modernperlbooks.com/mt/2009/07/milestones-in-the-perl-renaissance.html
(I've taken a few minor liberties with the dates, so don't get picky.)

Milestones in the Perl Renaissance

2001:  Lexical file-handles,  Test::Simple
2002:  Module::Build,  Test::Builder,
2003:  PAR,  Perl 5.8.1
2004:  Perl 6 Apocalypse 12 (Roles),  CPANTS
2005:  PPI,  Perl::Critic
2006:  CPAN Testers,  Moose,  Strawberry Perl
2007:  Devel::Declare,  local::lib
2008:  Padre,  Enlightened Perl Organization
2009:  Iron Man Blogging Challenge

with a speaker note of

All this happened after the Perl 6 project was announced.
Modern Perl, 21st Century Perl, is very different to 20th Century Perl.

Tim.


Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-15 Thread Tim Bunce
On Mon, Sep 14, 2009 at 03:07:40PM -0700, Darren Duncan wrote:
>
>  pp 22-23 - You might want to update the screen captures related to Moose, 
> both its search.cpan page and dependency graph, since its moved a long way 
> from 2008; on the other hand, the existing captures are still quite 
> representative, which is the point, so maybe nothing to do here.

Already on my "if I have time" list.

>  pg 52 - Still have XXX for count of Perl 5.10.1 core, bundled tests.

Done. Perl 5.10.1 has 92,697 core tests +142,101 more for bundled libraries etc.

>  pg 56 - Newest Perl versions 5.10.1, 5.8.9 not in graph.

Updated to the latest, which also has more platforms.
http://matrix.cpantesters.org/?dist=DBI+1.609

>  I don't know if you're going for visual consistency between the Perl 5 and 
> Perl 6 sections, but in the former, the section dealing with each myth 
> ended with the title of that myth with "busted" superimposed.  Now even if 
> you're not going for the multi-screen transition, you should at least mark 
> the end of each section with "busted".

Another "if I have time". (The Perl 6 portion was a bit of a bolt-on 
originally.)

>  pg 73 - I suggest having Rakudo first in the list and Pugs second

They're in a vagely cronological order, in line with the whirlpool
metaphor on the previous pages.

>  Generally speaking with your metrics, it is valuable to distinguish of a 
> project's code lines from its documentation lines (or blank lines).

I'll probably drop mention of code lines and focus on projects, using the
nice graph of "projects known to proto" that Moritz generated.

(Counting lines of perl 6 code, even non-doc-non-blank lines, isn't very
useful when talking to an audience who don't appreciate the expressive
power of the language.)

>  pg 80 - You already recognized the need to update the graph.  And of 
> course, when you do, you would be sure to mention that any significant dip 
> starting through 2008 was due to lots of sub-projects splitting off.  And 
> the Rakudo commits graph that shows up 5 slides later shows where some of 
> those went.

I've still not found an update to that graph, or even any details about
where it came from originally.

> Once again great work.  And its particularly good that you're backing up 
> what you say in general with data, so its easier to trust, verify, and 
> convince.  And graphs are easy to absorb / make an impact.

Thanks for all the feedback Darren.

> I hope you're going to post another draft between now and the talk, so 
> people can review it again post changes.

Possibly not before Dublin (on Saturday) but certainly before Moscow
(3 weeks away).

Tim.


Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-14 Thread Damian Conway
Darren Duncan wrote:

> So another proposal I have is to add to the slideshow mentions of the
> Enlightened and Modern Perl movements and where one can go to read more,
> this being supplemental to PBP.

With that suggestion I'd whole-heartedly concur.


> My own opinion is that the modern best way to use inside-out objects is in
> combination with Moose, as the physical representation used for objects
> behind the scenes, rather than each user class having direct package
> lexicals like %foo_attr and %bar_attr.

No doubt that's a best-of-both-worlds solution...for those who can handle it.
I guess my point is simply that not everyone can handle it. Just as not
everyone could handle raw inside-out techniques, which is why Class::Std
was written in the first place.

But, as you say, this is now far off-topic, so let's leave it at that.

Damian


Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-14 Thread Darren Duncan

Damian Conway wrote:

Darren Duncan wrote:


 pg 36 - About the "Perl Best Practices" book, you should be clear to
mention that what is considered best practices has evolved significantly
since that book came out, so teams can't simply agree on "We'll just follow
PBP guidelines" and call it a day, but should study more modern resources
also;


While it's certainly true that best practices have evolved (and
modernized ;-) since PBP came out, teams *can* still simply agree to
follow PBP. They won't we as well off as if they'd thought about the
issues themselves (i.e. read and followed the advice in Chapter 1) and
explored the various modern/evolved resources now available, but they'd
still be much better off than they are at present.

Not everyone has the time, inclination, or capacity to evaluate
the myriad possibilities and make informed personal judgements in
every case.

Ideally, if you mention PBP, describe it as a starting point (which is
how it describes itself in Chapter 1, btw), and the various Enlightened
and Modern Perl movements as evolutionary resources for going much
further in certain very specific directions.


Well, the slideshow could also be left as it is and my comment about PBP 
disregarded; it also works fine as is; it might be that mentioning 
somewhat-outdated is just pointing out the obvious, or alternately that doing so 
might confuse people, and those who actually read the book would see that 
Chapter 1 says how to interpret it anyway.


So another proposal I have is to add to the slideshow mentions of the 
Enlightened and Modern Perl movements and where one can go to read more, this 
being supplemental to PBP.



 in particular the recommendation to use Class::STD/etc is outdated,
and people should use Moose instead.


There is no doubt that Moose is an excellent and very advanced framework,
but both the above assertions are highly debatable, especially if you
s/moribund Class::Std/actively developed Object::InsideOut/.


My own opinion is that the modern best way to use inside-out objects is in 
combination with Moose, as the physical representation used for objects behind 
the scenes, rather than each user class having direct package lexicals like 
%foo_attr and %bar_attr.  But this matter isn't really about Tim's talk so I 
won't discuss inside-out/etc further here.


-- Darren Duncan


Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-14 Thread Damian Conway
Darren Duncan wrote:

>  pg 36 - About the "Perl Best Practices" book, you should be clear to
> mention that what is considered best practices has evolved significantly
> since that book came out, so teams can't simply agree on "We'll just follow
> PBP guidelines" and call it a day, but should study more modern resources
> also;

While it's certainly true that best practices have evolved (and
modernized ;-) since PBP came out, teams *can* still simply agree to
follow PBP. They won't we as well off as if they'd thought about the
issues themselves (i.e. read and followed the advice in Chapter 1) and
explored the various modern/evolved resources now available, but they'd
still be much better off than they are at present.

Not everyone has the time, inclination, or capacity to evaluate
the myriad possibilities and make informed personal judgements in
every case.

Ideally, if you mention PBP, describe it as a starting point (which is
how it describes itself in Chapter 1, btw), and the various Enlightened
and Modern Perl movements as evolutionary resources for going much
further in certain very specific directions.


>  in particular the recommendation to use Class::STD/etc is outdated,
> and people should use Moose instead.

There is no doubt that Moose is an excellent and very advanced framework,
but both the above assertions are highly debatable, especially if you
s/moribund Class::Std/actively developed Object::InsideOut/.

Damian


Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-14 Thread Darren Duncan

Tim Bunce wrote:

You can find my current draft at http://files.me.com/tim.bunce/65oikg (2.3MB 
PDF)

I'd be grateful for feedback on any of the slides, but I'm especially
interested in updates for:


First off, the slideshow looks very good in general, and I'll look forward to 
using it myself after its done to evangelize Perl.


I have some suggestions:

 p 2 - You may want to change the name of the talk as advertised everywhere to 
something more positive sounding, though still mention it addresses myths. 
Maybe flip the components, to say "Startling Realities & Baseless Myths". 
Although the current title is still fine, and its certainly good you have the 
Startling Realities part in it, even if second.


 pp 22-23 - You might want to update the screen captures related to Moose, both 
its search.cpan page and dependency graph, since its moved a long way from 2008; 
on the other hand, the existing captures are still quite representative, which 
is the point, so maybe nothing to do here.


 pg 36 - About the "Perl Best Practices" book, you should be clear to mention 
that what is considered best practices has evolved significantly since that book 
came out, so teams can't simply agree on "We'll just follow PBP guidelines" and 
call it a day, but should study more modern resources also; in particular the 
recommendation to use Class::STD/etc is outdated, and people should use Moose 
instead.


 pg 48 - Typo, "vented speen", it appears.

 pg 52 - Still have XXX for count of Perl 5.10.1 core, bundled tests.

 pg 56 - Newest Perl versions 5.10.1, 5.8.9 not in graph.

 I don't know if you're going for visual consistency between the Perl 5 and 
Perl 6 sections, but in the former, the section dealing with each myth ended 
with the title of that myth with "busted" superimposed.  Now even if you're not 
going for the multi-screen transition, you should at least mark the end of each 
section with "busted".


 pg 73 - I suggest having Rakudo first in the list and Pugs second; Rakudo is 
arguably the single most important one in recent history as far as actually 
being well supported, used, developed, and is the closest to having an actual 
roadmap, and the closest to "official" even though there is no actual "official".


 pg 77 - (Shades of the OSCON 2008 version of this talk.)  You should remove 
any mention of Muldis DB.  During the timeline of your talk, it is completely 
vaporware and has no significant amount of Perl 6 code, and its weight is almost 
entirely POD.  Likewise don't mention Set::Relation, which like the other has an 
ext/ dir under Pugs.  Both of those *will* be rewritten in Perl 6 in the near 
future, and be quite large, but for *now* they don't exist and shouldn't be 
cited.  (But first, I'm still making the Perl 5 versions.)


 Generally speaking with your metrics, it is valuable to distinguish of a 
project's code lines from its documentation lines (or blank lines).  Some 
projects, such as mine, are very heavy with POD, which may outweigh the code in 
some cases.  I think Moose et al are also POD heavy relative to their code.


 pg 80 - You already recognized the need to update the graph.  And of course, 
when you do, you would be sure to mention that any significant dip starting 
through 2008 was due to lots of sub-projects splitting off.  And the Rakudo 
commits graph that shows up 5 slides later shows where some of those went.


Once again great work.  And its particularly good that you're backing up what 
you say in general with data, so its easier to trust, verify, and convince.  And 
graphs are easy to absorb / make an impact.


I hope you're going to post another draft between now and the talk, so people 
can review it again post changes.


-- Darren Duncan


Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-14 Thread Moritz Lenz
Carl Mäsak wrote:
> Tim (>):
>> Anything else I should add, change or remove? I'm especially interested
>> in verifyable metrics showing effort, progress, or use. Ideally graphical.
>> Any interesting nuggets that fit with the theme will be most welcome.
> 
> Moritz++ and I were talking about making a graph showing the increase
> of Perl 6 projects lately. Proto's project.list contains all the
> pertinent history, so half an hour with git-log and SVG::Plot ought to
> be able to produce something nice. If no-one else takes that as a
> hint, I might look at it soonish. :)

I know produced this plot, attached is a .png, the perl script that
generates the data file and gnuplot file which turns that into a .png.

I'll also look into putting that plot up on rakudo.de and updating it by
cron job regularly.

Cheers,
Moritz
use strict;
use warnings;
use Date::Simple qw(date today);

my $d = date('2009-06-12');
my $grep_re = quotemeta '^\S+:';
open my $out, '>', 'projects.hist' or die $!;
while ($d < today()) {
my $lines = `git-show he...@{$d}:projects.list`;
my $count = () = $lines =~ m/^\S+:/mg;

print $out "$d\t$count\n";
$d++;
}
close $out or warn $!;
set terminal png transparent interlace large
set output 'proto-projects-list.png'
set style line 1 lw 3 lt 2 # green
set style line 2 lw 3 lt 1 # red
set style line 3 lw 3 lt 3 # blue
set style line 4 lw 3 lt 7 # yellow
set style line 5 lw 3 lt 0 # dunno
set title 'Projects known to Proto'
set xlabel 'Days'
set ylabel 'Number of projects'
set timefmt '%Y-%m-%d'
set xdata time
set xtics rotate
set format x "%Y-%m-%d'
set key left top

plot 'projects.hist' using 1:2 title 'projects'  with lines ls 1

# vim: ft=gnuplot tw=0
<>

Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-14 Thread Tim Bunce
On Mon, Sep 14, 2009 at 05:49:41PM +0400, Richard Hainsworth wrote:
> For the slides on Rakudo, I would suggest adding the modules that are 
> associated with proto as measure of code written in perl6. There is a list 
> of 27 projects. proto in itself is an interesting installer.

I wasn't aware of proto. Interesting.

I'd be grateful if someone could find out how many lines of perl6 code
are in each of those projects. I don't think I'll have time this week.

> Also, the number of tests written for perl6 is substantial (18,000 vs 1,400 
> for Ruby - your figure).

I think jruby has a larger test suite that's being adopted as the ruby
test suite. If sometone knows more about this, or ruby testing in
general, please send me an email.

Tim.


Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-14 Thread Raphael Descamps
A few other interesting metrics could be for example:

* Work done on the Specification (Synopses):
svn log docs/Perl6/Spec/

* TimToady hacking ;)
svn log src/perl6/
svn log src/perl6/STD.pm

* Work done on the Official Testsuite:
svn log t/spec/

* Work done on the Testsuite:
svn log t/
(It's interresting to compare it with the developement of the
specification as the correlation are obvious and it also show the Pugs
contribution)

Please note that the parrot commit curve seems to have slow down a
little lately...

It's because the parrot HLL languages have left the nest :)

> page 80 - graph of parrot commits and releases
> I don't have a url for that graph. Do you?
> Is it maintained? Can anyone update it for me?

In the Pugs Repository there is the 4 years old util/svnlog2graph.pl,
but beware because it is buggy and not delivering correct results:
(the dayify function and developers counting are both buggy...)

On the old wiki there is a somewhat newer Version of this file as
attachment but it has the same bugs:
http://www.perlfoundation.org/parrot/index.cgi?search_term=svnlog2graph.pl&action=search

An other old file delivering some statistik is parrot_dev_stat.pl:
http://www.perlfoundation.org/parrot/index.cgi?search_term=parrot_dev_stat.pl&action=search

(The parrot repository have moved but otherwise it seems to works, I
don't know if the results delivered are accurate)

Here a proposed fix for the version of svnlog2graph.pl found in the pugs
repository:
Index: util/svnlog2graph.pl
===
--- util/svnlog2graph.pl(Revision 28206)
+++ util/svnlog2graph.pl(Arbeitskopie)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl
 # Creates a statistic of Pugs' development.
-# Usage: svn log | util/svnlog2graph.pl > /tmp/graph.png   --or
-#svn log > /tmp/log; util/svnlog2graph /tmp/log
> /tmp/graph.png
+# Usage: LANG=C svn log | util/svnlog2graph.pl > /tmp/graph.png   --or
+#LANG=C svn log > /tmp/log; util/svnlog2graph /tmp/log
> /tmp/graph.png
 
 use warnings;
 use strict;
@@ -23,10 +23,12 @@
 INFO
 
 # Read the logfile
-while(<>) {
+my @lines = reverse <>;
+foreach my $line (@lines) {
+#while(<>) {
   # Only process headlines
-  next unless m/^r/ and m/lines?$/ and m/\|/;
-  my ($dev, $date) = (split / \| /)[1, 2];
+  next unless $line =~ m/^r/ and $line =~ m/lines?$/ and $line =~
m/\|/;
+  my ($dev, $date) = (split / \| /, $line)[1, 2];
   $date =~ s/ [+-]\d+ \(.*$//;
 
   # Example: $date is now "2005-02-06 17:52:06"
@@ -36,10 +38,6 @@
   $num_commits++;
 }
 
-# $commits[0] should be first commit, not last
-...@commits= reverse @commits;
-...@developers = reverse @developers;
-
 # Collect commits in days
 # E.g. $commits_till_day[42] = 1500 (1500 commits from day 1 to day 42)
 my @commits_till_day = dayify(@commits);
@@ -52,17 +50,22 @@
 # Create the graph.
 my $graph = GD::Graph::lines->new(500, 350);
 $graph->set(
-  title=> "Pugs development",
+  title=> "Perl 6 development",
   x_label  => "Days",
-  y_label  => "Commits/Developers",
-  x_label_skip => 10,
-  y_max_value  => (int(@commits / 500) + 1) * 500,
+  two_axes => 1,
+  use_axis => [1,2],
+  y1_label  => "Commits",
+  y2_label  => "Developers",
+  x_label_skip => 365,
+  logo => "misc/camelia.jpg",
+  logo_resize => 0.1,
+  logo_position => "UL",
 ) or die $graph->error;
 
 my @data = (
   [ 0...@commits_till_day ],  # Day#
   [ 0, @commits_till_day ],  # Commits
-  [ 0, map { 50 * $_ } @devs_till_day ], # Developers (scaled)
+  [ 0, @devs_till_day ], # Developers
 );
 
 my $gd = $graph->plot(\...@data) or die $graph->error;
@@ -80,9 +83,8 @@
 if($cur_day != $#till_day) {
   push @till_day, $till_day[-1] || 0
 while $#till_day < $cur_day;
-} else {
-  $till_day[-1]++;
 }
+$till_day[-1]++;
   }
 
   return @till_day;




Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-14 Thread Moritz Lenz
On Mon, Sep 14, 2009 at 12:15:05PM +0100, Tim Bunce wrote:
> page 73 - Perl 6 implementations
> I've added Mildew, with links, to the SMOP line
> anything I should add / change / remove?
> What's the status of KindaPerl6?

I think it's stalled or sleeping.

> page 77 - quantity of code writen in Perl 6
> are there any other significant perl6 codebases?

Uhm, be careful. The pugs repository also contains generated Perl 5 code (for
example kp6 contains lots of those), so if you want to be honest, only count
t/, ext/ and misc/elf*.

The file projects.list in proto () lists other
Perl 6 projects, but I guess most of them are rather smallish (maybe except
druid and november)

> page 80 - graph of parrot commits and releases
> I don't have a url for that graph. Do you?
> Is it maintained? Can anyone update it for me?
> Can anyone produce a similar one for rakudo?

Not quite as nice, and not summing up the commits:
http://moritz.faui2k3.org/tmp/commits.png
That's generated by tools/commit-stats.pl in the Rakudo repository.

> page 81 - size of parrot test suite
> I can update the basic number myself, but how many
> runcores are considered useful?
> 
> page 85 - Rakudo test progress
> I've just updated this to the latest myself.
> 
> Anything else I should add, change or remove? I'm especially interested
> in verifyable metrics showing effort, progress, or use. Ideally graphical.

Maybe sombody could track the number of Perl 6 projects known to proto over
time?

If you should do the talk again next year, I can also provide visitor
statistics for perl6.org, but since we only have control over that domain for
a month now you can't see any trends yet.

Cheers,
Moritz


Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-14 Thread Richard Hainsworth
For the slides on Rakudo, I would suggest adding the modules that are 
associated with proto as measure of code written in perl6. There is a 
list of 27 projects. proto in itself is an interesting installer.


Also, the number of tests written for perl6 is substantial (18,000 vs 
1,400 for Ruby - your figure).


Richard

Tim Bunce wrote:

page 77 - quantity of code writen in Perl 6
are there any other significant perl6 codebases?

 
  


Re: Looking for help updating Perl 6 and Parrot part of Perl Myths talk

2009-09-14 Thread Carl Mäsak
Tim (>):
> I'd be grateful for feedback on any of the slides, but I'm especially
> interested in updates for:
>
>    page 73 - Perl 6 implementations
>                I've added Mildew, with links, to the SMOP line
>                anything I should add / change / remove?
>                What's the status of KindaPerl6?

I think Elf could very well be added to those.

>    page 77 - quantity of code writen in Perl 6
>                are there any other significant perl6 codebases?

Again, Elf is a nice, large example. :)

Counting up the lines of code in November:

$ find lib -name \*.pm | xargs wc
[...]
16185351   46558 total

So 1600. But as always it depends on how you count:

* Blank lines, comments...
* We have another 1697 lines of tests.
* We've factored out the module HTML::Template so that it sits in its
own project, but those 500 lines of code could still be considered to
be part of November, since they're run when November is.

Depending on what you mean by significant, I'd also like to direct
your attention towards SVG::Plot, proto, Gamebase, CSV, Druid, Form,
HTTP::Daemon, Perl6::SQLite and Web.pm. All of those can be downloaded
via proto.

> Anything else I should add, change or remove? I'm especially interested
> in verifyable metrics showing effort, progress, or use. Ideally graphical.
> Any interesting nuggets that fit with the theme will be most welcome.

Moritz++ and I were talking about making a graph showing the increase
of Perl 6 projects lately. Proto's project.list contains all the
pertinent history, so half an hour with git-log and SVG::Plot ought to
be able to produce something nice. If no-one else takes that as a
hint, I might look at it soonish. :)

// Carl