Giving a talk at Perl Oasis, anyone got some ideas?

46 views
Skip to first unread message

gizmomathboy

unread,
Dec 12, 2012, 12:24:00 AM12/12/12
to the-quanti...@googlegroups.com
Thanks to my friends genehack and perigrin I'll be giving a short talk at Perl Oasis in 1 month.

http://www.perloasis.info/opw2013/talk/4486

The last (only talk) I've given outside of my monger group was at the Pittsburgh Perl Workshop last year. It was on Matlab alternatives and how Python(x,y) was probably a better choice than Perl (at the time).

After meeting and talking with David and Joel at YAPC::NA this year I think I'm back to Perl might be able to compete now.

I'm thinking of doing an overview of how I think Perl is doing regarding being a Matlab/Python/R alternative. I'm think of basically ripping^Wdescribing what Joel is doing and David's Prima work.

I will also talk about Perl4Science and The Quantified Onion.

If I get really crazy, maybe I'll throw out the idea of a Midwest Perl Workshop focused on science applications of Perl (something we've talked about, at least I have with Joel and David).

I'm really digging the discussion about how/what do we want to handle testing of scientifically inclined modules.

Anything else that might be good to throw in the mix?

Thanks,

gizmo

Joel Berger

unread,
Dec 12, 2012, 1:09:05 PM12/12/12
to the-quanti...@googlegroups.com
I did just release my Physics::UEMColumn today (finally) which was the subject of my YAPC::NA talk. I'm not sure that it needs promoting in the Perl world as much as in the scientific community, but you are welcome to use it as an example. It uses MooseX::Types::NumUnit which might be interesting to talk about.

I also released Physics::RayTransfer for modeling beams via ray transfer matrices; this is very useful for laser cavity stability analysis (I think there is an example).

The thing I'm trying to push for the Perl4Science community is object-oriented API-focused simulations. This way your module is a collection of reusable abstract (sub-classable!) tools which people build their actual simulations from. This makes the scripts self-documenting, readable and extendable in ways that scientific programming has never been (that I have seen). See my example of an electron-optical Cooke triplet: https://github.com/jberger/Physics-UEMColumn/blob/master/examples/Cooke.pl You can likely glean some of what is going on just from reading the script! 

Anyway, good luck and make sure you let us know what you talk about and how it goes!

Joel

gizmomathboy

unread,
Dec 15, 2012, 4:08:18 PM12/15/12
to the-quanti...@googlegroups.com

Joel,

thanks for the ideas.

Since it's only 20 minutes I think I'll shoot for something high level, maybe with lots of links in the slides (for after the talk when it goes online).

Plus, maybe it'll drum some stuff up for Perl4Science and here?

gizmo

Joel Berger

unread,
Dec 16, 2012, 5:10:03 PM12/16/12
to the-quanti...@googlegroups.com
That sounds great! Its great to promote Perl for science and Perl4Science! I haven't added anything in a while, does anyone have any good links, videos, or maybe want to write a quick tutorial? Send it to me and I'll post it, otherwise you may follow the howto on the site.

Good luck and keep us informed

David Mertens

unread,
Dec 18, 2012, 12:31:48 AM12/18/12
to the-quanti...@googlegroups.com
gizmo -

I think this is a great idea. I wish we could take this message outside the Perl echo chamber, but I have had less time to work on such things than I had hoped, and there are still so many people out there using Perl, but who don't know about PDL. I suspect there is a very large group of folks who would turn first to R, not Python, for science, and just teaching them about PDL would be a great benefit.

I will be happy to contribute thoughts, or even slides, if that would help. Do you have a tentative story that you want to tell? Are you going to discuss slogging through large data sets? Data visualization? Statistics? Parallel computing? I've recently done some stuff on PDL and parallel computing, and perhaps this could convince me to write some benchmarks to understand if I've actually made the world a better place, or just added Yet Another Module to CPAN. :-)

So, let us know what you're thinking, and we'll see what sort of elements we can add to your story.

David



--
 
 
 



--
 "Debugging is twice as hard as writing the code in the first place.
  Therefore, if you write the code as cleverly as possible, you are,
  by definition, not smart enough to debug it." -- Brian Kernighan

gizmomathboy

unread,
Dec 18, 2012, 9:09:20 AM12/18/12
to the-quanti...@googlegroups.com


On Tuesday, December 18, 2012 12:31:48 AM UTC-5, David Mertens wrote:
gizmo -

I think this is a great idea. I wish we could take this message outside the Perl echo chamber, but I have had less time to work on such things than I had hoped, and there are still so many people out there using Perl, but who don't know about PDL. I suspect there is a very large group of folks who would turn first to R, not Python, for science, and just teaching them about PDL would be a great benefit.

I will be happy to contribute thoughts, or even slides, if that would help. Do you have a tentative story that you want to tell? Are you going to discuss slogging through large data sets? Data visualization? Statistics? Parallel computing? I've recently done some stuff on PDL and parallel computing, and perhaps this could convince me to write some benchmarks to understand if I've actually made the world a better place, or just added Yet Another Module to CPAN. :-)

So, let us know what you're thinking, and we'll see what sort of elements we can add to your story.


David,

The rough idea I have in my head goes something like:

1) brief riff on fight club rules
    because genehack and perigrin sort of roped me into saying that I had to give a talk since it is my first OPW.

2) Sum up my Pittsburgh Perl Workshop talk
    Basically that Python(x,y) is a better Matlab replacement than Perl

3) Cover this year's YAPC::NA where I met you and Joel and the stuff you to have done (and are doing)
    Talk about where PDL is, App::Prima, Joel's Alien::Base (and GSL) stuff as really busting things open for those that aren't familiar with what Perl does science-wise. I think most non-Perl folks probably only think of BioPerl when it comes to Perl and science.

    I also want to discuss Perl4Science and The Quantified Onion.

4) ???

5) profit

Since it's only 20 minutes I expect it to be a high level, whirlwind kind of survey of where we are. 

I might do the talk in App::Prima! That showcases what I think is the best "distro" for scientific Perl and the Matlab alternatives.

I think Perl stands toe to toe with Python, R, Matlab, whomever. Mostly because of CPAN. Where it falls down is in plotting. Data Visualization is the current hotness (not quite new since I think it peaked last year but still an ongoing trend).

I haven't done much on the Windows side of things since $work is full time Linux now, but I think that is where the students are.

So, my story is muddled and incoherent at the moment.

Showing what parallelization is out there would be great as well. I think something as simple as Parallel::Loops is a big win. It does the embarassing parallelization stuff without having to get to deep into parallel coding thinking. I've been meaning to try it on some internal web spidering stuff I have.

gizmo

David Mertens

unread,
Jan 4, 2013, 5:17:21 PM1/4/13
to the-quanti...@googlegroups.com
Eight days! Do you have any questions or need any help?

David


--
 
 
 

Joe Kline

unread,
Jan 4, 2013, 6:11:56 PM1/4/13
to the-quanti...@googlegroups.com
On Fri, Jan 4, 2013 at 5:17 PM, David Mertens <dcmerte...@gmail.com> wrote:
> Eight days! Do you have any questions or need any help?

I have some ideas I'm sorting through.

Mostly grouping things.

Here's my rough notes so far:

Riff on Fight club rules
I blame genehack and perigrin for getting me to give the talk
because genehack said, "well if it's your first time you gotta give a
talk"

1st RULE: You do not talk about FIGHT CLUB.
2nd RULE: You DO NOT talk about FIGHT CLUB.
3rd RULE: If someone says "stop" or goes limp, taps out the fight is over.
4th RULE: Only two guys to a fight.
5th RULE: One fight at a time.
6th RULE: No shirts, no shoes.
7th RULE: Fights will go on as long as they have to.
8th RULE: If this is your first night at FIGHT CLUB, you HAVE to fight.


The Quantified Onion

Perl4Science
- joel berger
- alien::base TPF grant
- PerlGSL (Alien::GSL, too)

PDL

App::Prima
- David Mertens
- App::Prima::REPL
- PDL::Drawing::Prima
- PDL::Graphics::Prima

Parallel
Parallel::Loops
Parallel::Simple::Dynamic
Parallel::ForkManager

Plotting still sucks?

Grumpy guy moment
Does it even matter if Perl is good at science?


I'm still not entirely sure what my story really is. It's partly
joking about having to do a talk because it's my first time at the
workshop. It's partly doing an overview of replacing matlab and doing
science with Perl. It's partly looking at some of the things that make
it possible to do parallel coding without a lot of the pain.

gizmo

David Mertens

unread,
Jan 6, 2013, 12:53:57 AM1/6/13
to the-quanti...@googlegroups.com
On Fri, Jan 4, 2013 at 5:11 PM, Joe Kline <gizmom...@gmail.com> wrote:
On Fri, Jan 4, 2013 at 5:17 PM, David Mertens <dcmerte...@gmail.com> wrote:
> Eight days! Do you have any questions or need any help?

I have some ideas I'm sorting through.

Mostly grouping things.

Here's my rough notes so far:

Riff on Fight club rules
  I blame genehack and perigrin for getting me to give the talk
because genehack said, "well if it's your first time you gotta give a
talk"

  1st RULE: You do not talk about FIGHT CLUB.
  2nd RULE: You DO NOT talk about FIGHT CLUB.
  3rd RULE: If someone says "stop" or goes limp, taps out the fight is over.
  4th RULE: Only two guys to a fight.
  5th RULE: One fight at a time.
  6th RULE: No shirts, no shoes.
  7th RULE: Fights will go on as long as they have to.
  8th RULE: If this is your first night at FIGHT CLUB, you HAVE to fight.

Thank you. I have not seen fight club, so writing this out makes everything clear to me. :-)
 
The Quantified Onion

Perl4Science
 - joel berger
   - alien::base TPF grant
   - PerlGSL (Alien::GSL, too)

PDL

There's a ton to cover with PDL. I recommend mentioning PDL::Book, in the very least, so that others can find a place to start after you're done. I would also mention PDL::Stats, as Maggie's contributions here make a whole lot of stuff possible in Perl that would otherwise normally be performed in R.
 
App::Prima
  - David Mertens
  - App::Prima::REPL
    - PDL::Drawing::Prima
    - PDL::Graphics::Prima

Fantastic, thank you very much. I wish App::Prima::REPL was further along than it presently is. I have had some help from Chicago.pm to refactor the application and make it more extensible and sensible. The next major update is an IRC tab so that new people can hop onto irc.perl.org. I have a working Prima IRC client that uses POE, but I haven't worked it into the REPL. I also wish that PDL::Graphics::Prima was further along, but I only have so much time...
 
Parallel
  Parallel::Loops
  Parallel::Simple::Dynamic
  Parallel::ForkManager

PDL::Parallel::threads. Brand spanking new. Lets you share PDL data across Perl ithreads. :-D
 
Plotting still sucks?

Um, can we lighten that to "Plotting still isn't (yet) as easy as in Matlab but the PDL community is actively working on both PDL::Graphics::Gnuplot and PDL::Graphics::Prima"? I'm working on it, but as am I'm sure you can understand, I have lots on my plate. In fact, this is arguably one of the most important things that others can help with.
 
Grumpy guy moment
  Does it even matter if Perl is good at science?

Now c'mon, that's not very nice.

I'm still not entirely sure what my story really is. It's partly
joking about having to do a talk because it's my first time at the
workshop. It's partly doing an overview of replacing matlab and doing
science with Perl. It's partly looking at some of the things that make
it possible to do parallel coding without a lot of the pain.

gizmo

--

I think it's important to differentiate between the language comparison and the computational comparison. Perl is the better language, hands-down. I discuss this at length in my old use.perl.org write-up comparing PDL and Matlab, which I managed to dig-up here: http://use.perl.org/use.perl.org/_david%2bm/journal/39838.html. Also see this excellent post tha describes Modern Perl, which is an even stronger subset of Perl: http://www.bofh.org.uk/2010/07/25/a-tale-of-two-languages

Also, if you're developing anything that's new or untested, I would put Perl above Matlab because it's just so darn easy to (1) munge data and (2) write your own blazing fast C code. Writing C code for Matlab is a chore. Writing C code that interfaces with Perl is much easier, and then you get access to Perl's extensive testing and distribution infrastructure.

As for the computational comparison, Matlab and Numpy have better out-of-the-box plotting and deeper libraries. It pains me to say that. However, I have personally taken on the plotting problem and have made strides to not only remedy it, but to make PDL's plotting library more useful than Matlab's or Numpy's. I would say that PDL is the right solution if you're at a Perl shop and need to do some number crunching, or if you are working in a field that doesn't have a lot of library support to begin with and you expect to write all of your own algorithms. But in the latter case, if you think you might need some sophisticated calculations that you think should be canned, you should double-check if PDL has functions for them or not.

Does that help, or am I just rambling?

David

Joe Kline

unread,
Jan 6, 2013, 10:57:00 AM1/6/13
to the-quanti...@googlegroups.com
On Sun, Jan 6, 2013 at 12:53 AM, David Mertens <dcmerte...@gmail.com> wrote:
> On Fri, Jan 4, 2013 at 5:11 PM, Joe Kline <gizmom...@gmail.com> wrote:
>>
>> On Fri, Jan 4, 2013 at 5:17 PM, David Mertens <dcmerte...@gmail.com>
>> wrote:
<SNIP>
>> The Quantified Onion
>>
>> Perl4Science
>> - joel berger
>> - alien::base TPF grant
>> - PerlGSL (Alien::GSL, too)
>>
>> PDL
>
>
> There's a ton to cover with PDL. I recommend mentioning PDL::Book, in the
> very least, so that others can find a place to start after you're done. I
> would also mention PDL::Stats, as Maggie's contributions here make a whole
> lot of stuff possible in Perl that would otherwise normally be performed in
> R.
>

Yep, I meant to mention that, thanks for the reminder.
>>
>> App::Prima
>> - David Mertens
>> - App::Prima::REPL
>> - PDL::Drawing::Prima
>> - PDL::Graphics::Prima
>
>
> Fantastic, thank you very much. I wish App::Prima::REPL was further along
> than it presently is. I have had some help from Chicago.pm to refactor the
> application and make it more extensible and sensible. The next major update
> is an IRC tab so that new people can hop onto irc.perl.org. I have a working
> Prima IRC client that uses POE, but I haven't worked it into the REPL. I
> also wish that PDL::Graphics::Prima was further along, but I only have so
> much time...
>

Having an irc client in it is kind of cool.

>>
>> Parallel
>> Parallel::Loops
>> Parallel::Simple::Dynamic
>> Parallel::ForkManager
>
>
> PDL::Parallel::threads. Brand spanking new. Lets you share PDL data across
> Perl ithreads. :-D
>

I saw that but didn't know enough about it to comment. I'll through it
in the list.

>>
>> Plotting still sucks?
>
>
> Um, can we lighten that to "Plotting still isn't (yet) as easy as in Matlab
> but the PDL community is actively working on both PDL::Graphics::Gnuplot and
> PDL::Graphics::Prima"? I'm working on it, but as am I'm sure you can
> understand, I have lots on my plate. In fact, this is arguably one of the
> most important things that others can help with.
>

Sucks is kind of harsh. I wasn't sure what "mainstream" PDL folks were
using for plotting, now I know.

>>
>> Grumpy guy moment
>> Does it even matter if Perl is good at science?
>
>
> Now c'mon, that's not very nice.
>

It was just a passing moment of grumpiness.

Maybe we can look at "why Perl for science?" I might toss that to the
audience but I better have some ideas (probably use what you wrote
below).

>> I'm still not entirely sure what my story really is. It's partly
>> joking about having to do a talk because it's my first time at the
>> workshop. It's partly doing an overview of replacing matlab and doing
>> science with Perl. It's partly looking at some of the things that make
>> it possible to do parallel coding without a lot of the pain.
>>
>> gizmo
>>
>> --
>
>
> I think it's important to differentiate between the language comparison and
> the computational comparison. Perl is the better language, hands-down. I
> discuss this at length in my old use.perl.org write-up comparing PDL and
> Matlab, which I managed to dig-up here:
> http://use.perl.org/use.perl.org/_david%2bm/journal/39838.html. Also see
> this excellent post tha describes Modern Perl, which is an even stronger
> subset of Perl: http://www.bofh.org.uk/2010/07/25/a-tale-of-two-languages
>
> Also, if you're developing anything that's new or untested, I would put Perl
> above Matlab because it's just so darn easy to (1) munge data and (2) write
> your own blazing fast C code. Writing C code for Matlab is a chore. Writing
> C code that interfaces with Perl is much easier, and then you get access to
> Perl's extensive testing and distribution infrastructure.
>

I would have to look at this angle more since I haven't done much of either.

Sounds like a nice little blog post.


> As for the computational comparison, Matlab and Numpy have better
> out-of-the-box plotting and deeper libraries. It pains me to say that.
> However, I have personally taken on the plotting problem and have made
> strides to not only remedy it, but to make PDL's plotting library more
> useful than Matlab's or Numpy's. I would say that PDL is the right solution
> if you're at a Perl shop and need to do some number crunching, or if you are
> working in a field that doesn't have a lot of library support to begin with
> and you expect to write all of your own algorithms. But in the latter case,
> if you think you might need some sophisticated calculations that you think
> should be canned, you should double-check if PDL has functions for them or
> not.
>
> Does that help, or am I just rambling?

I think Perl has good libraries too but may not a good "structure" to
them like Numpy/Scipy and Matlab do.

gizmo

Joel Berger

unread,
Mar 15, 2013, 5:58:44 PM3/15/13
to the-quanti...@googlegroups.com
We never got a recap. Did you present? Do you have slides somewhere?
Reply all
Reply to author
Forward
0 new messages