Perl 6 - the future is here, just unevenly distributed

IRC log for #pdl, 2013-02-18

| Channels | #pdl index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:17 Molaf_ joined #pdl
15:12 Molaf__ joined #pdl
15:37 run4flat joined #pdl
15:53 run4flat hmm, anybody know what happened to our subject?
15:54 run4flat it seems to have disappeared
15:55 shadowpaste joined #pdl
15:56 Topic for #pdl is now Install PDL: http://pdl.perl.org/?page=install  | Book: http://pdl.perl.org/content/pdl-book-toc.html | Mailing list: http://pdl.perl.org/?page=mailing-lists | Pasting: http://scsys.co.uk:8001/pdl | Channel is logged by ilbot2: http://irclog.perlgeek.de/pdl/
15:56 run4flat there we go
15:56 run4flat thank goodness for ilbot2! :-D
15:56 Topic for #pdl is now Install PDL: http://pdl.perl.org/?page=install  | Book: http://pdl.perl.org/content/pdl-book-toc.html | Mailing list: http://pdl.perl.org/?page=mailing-lists | Pasting: http://scsys.co.uk:8001/pdl | Channel is logged by ilbot2: http://irclog.perlgeek.de/pdl/today
16:09 chm joined #pdl
16:09 chm hi all
16:10 chm @run4flat: just sent you an email
16:16 run4flat hi!
16:16 run4flat chm, I was just about to reply to your email and suggest you hop onto IRC. :-)
16:16 chm hop,hop
16:16 run4flat all the more amusing since you're using mibbit
16:17 run4flat The latest git has my latest work, with new event_loop detection logic, so it would be the best place to start
16:17 run4flat Craig and I are going to chat over the phone tomorrow afternoon to iron out some PGPrima and PGG common demos
16:17 chm cool
16:17 run4flat Hopefully we'll have progress on that front tomorrow evening or so
16:18 chm I'm folding in the new IDL.pm, seeing if I can fix the PROJ4 build problem with proj 4.8.0, and pushing some more on the new PDL::NiceSlice
16:19 run4flat awesome
16:19 chm I expect to push another developers release today
16:19 chm If the docs and demos and graphics come together, this should be a *significant* bump up for PDL-dom
16:20 run4flat yeah, visualization improvements are a big deal
16:20 run4flat :-)
16:20 chm Especially since we don't have a default, guaranteed option for PDL
16:21 run4flat or, we did, but it's bitrotting
16:21 chm Even that we mainly by default/inertia since PDL originated in the Astro community
16:21 chm It was barely available for other non-unix platforms
16:21 run4flat yeah
16:22 run4flat I must say that the lack of general discussion about my plotting library has been sad
16:22 chm BTW, do you know if Joel's Alien::Base has support for getting executable files?  It would be a big help to PGG if it could just check Alien::Gnuplot
16:22 run4flat makes it hard to put effort into it
16:22 run4flat Craig has echoed a similar sentiment
16:23 run4flat I don't know about Alien::Base's ability to install executables
16:23 run4flat jberger, ping
16:23 run4flat I mean, any distribution could install executables, of coruse
16:23 jberger oh holy backlog batman
16:24 run4flat but you'd have to write  a separate bit of code to bend the output of the compile process to put the results in blib/bin or some such
16:25 run4flat I think Alien::Base could handle it, though
16:25 chm I would like to see some development on your plotting library but you've been busy elsewhere and not able to close the loop.  As I mentioned in my email, I'll try to start from the top, verify build and install for cygwin and win32 SPP and then take a look at the operation.
16:25 run4flat yeah, that would be great
16:26 * jberger is caught up
16:26 jberger ok
16:26 chm re Alien::Gnuplot, there are packages and binary executables for all platforms.  Alien::Gnuplot could start by just fetching one if needed
16:26 jberger I have put essentially no effort into Alien::Base being able to do install executables
16:26 jberger that doesn't mean that perhaps it can't do it
16:26 jberger I just really haven't tried
16:26 run4flat but you have all of the logic for fetching
16:26 jberger right
16:26 run4flat and maybe Alien::Gnuplot could just piggy-back off that
16:27 chm hmmm, sorry that I haven't had time to look into your code myself.  It is difficult to stay focused with so many shiny things around :-)
16:27 jberger gnuplot is an odd case though right?
16:27 jberger its an executable with no libraries
16:27 chm Gnuplot is an easy case
16:27 * run4flat chuckles
16:28 chm FFMPEG also has a static build available
16:28 run4flat jberger, I don't know that we would aim for Alien::Gnuplot to be Perl-local in this case
16:28 jberger but still with extra files (like terminal definitions etc)
16:28 jberger then its not Alien::Base
16:28 jberger :-)
16:28 chm As far as PDL is concerned, does it matter if there is a local or system version.
16:28 run4flat ah, but it can can it exploit Alien::Base? :-D
16:28 run4flat chm, no
16:28 chm PGG could just pick the system one if available, else use the internal one
16:29 jberger you might be able to abuse the downloading logic
16:29 run4flat jberger, if Alien::Gnuplot were to "just install the darn thing", would it work with CPAN Testers?
16:29 jberger perl-local installation is a core value of the AB project
16:29 run4flat yes, I know
16:29 run4flat and I know we would violate that
16:30 chm I know there is a directory of support that comes with Gnuplot but AFAICT no cross-dependency problems if there were an alternate system version
16:30 jberger to "would it work with CPAN testers?" I dunno
16:30 chm Only if trying to use 2 different flavors at the same time
16:30 jberger it probably depends on how you do it
16:30 jberger the problem is permissions
16:30 jberger I bet the tester boxes don't run the installers as root
16:31 chm I brought this up since David mentioned he would be talking to Craig soon about this sort of thing
16:31 jberger which is why AB was perl-local from the start
16:31 run4flat chm, somehow I didn't think about discussing this with Craig
16:31 chm Personally, I would like to see it go to a PDL local install site
16:31 * run4flat facepalm
16:32 chm You know, even if I'm not pinging you guys all the time, your projects keep things interesting...
16:32 run4flat chm, we could probably do that, but we would have to tell gnuplot's installer to put it in the eventual bin directory
16:32 run4flat chm, thanks. :-)
16:33 chm You could even have a "lazy install" option that could ask the user where to put things if they didn't want a PDL-only location
16:33 run4flat well, one *could* do all sorts of things, couldn't one. :-)
16:34 chm I think even a KISS Alien::Gnuplot that did a PDL-local install would be a great first start.  There is no reason an updated Alien::Gnuplot could not do something nicer.
16:35 run4flat chm, in my estimation, a PDL-local install is much harder than a global install
16:35 chm On a related note, PGG currently required 5.10 or above so for 5.8.x perls, your Prima stuff is it, David.
16:35 run4flat Sorry if I've not made that point clearer
16:35 run4flat :-D
16:36 run4flat Interesting that it requires 5.10. Do you know why?
16:36 chm Coming from a site where I *never* have admin privileges, I'm not sure how your statement hold up?
16:37 jberger chm thanks
16:37 chm Convenience, they use // operator
16:37 run4flat oh, ha, I had that in mine too, for a little while
16:37 run4flat until Rob asked me to remove it
16:37 run4flat chm, sorry, I'll try to be more clear
16:37 chm I opened a ticket for Craig today
16:37 run4flat I suspect that the Gnuplot installer tries to install Gnuplot globally
16:38 jberger PDL-local isn't that hard
16:38 run4flat making it install locally might simply be a matter of passing a configuration flag
16:38 jberger using File::ShareDir and a little makefile magic
16:38 chm We're talking a binary zip file, not an installer program----yuck, don't want PDL to be doing that if possible, too much bad security Karma (also, some of us don't have admin)
16:39 run4flat ok, got it
16:39 run4flat so then we would want to tell Gnuplot to install to $PERL5LIB/bin
16:40 run4flat under the assumption that $PERL5LIB points to a place the user can write to
16:40 jberger my concern for installing Gnuplot automagically is when I install it for my own use I have to do a lot of tinkering and have a lot of external libraries to make it do what I want
16:40 chm sure, or wherever, the Alien::Gnuplot should be able to tell PGG where to find it
16:40 jberger I guess some of those are PDL requirements
16:40 * run4flat has never used Gnuplot, so can only provide theoretical fodder to the discussion
16:40 jberger and if you make the bundle (zipball/tarball) yourself then you can make it DWYW
16:41 run4flat ooooh
16:41 run4flat jberger++
16:41 run4flat that's brilliant
16:41 chm Even better, win32 is now simple
16:41 run4flat just distribute a bundle of the source code, properly modified to install where Perl's tool chain expects it to go
16:41 chm Never thought I would say that
16:42 run4flat cool
16:44 chm If you are doing the build it yourself option, it might be simpler to set this install prefix at build time rather than hardwired
16:44 chm For binary file install, just unzip the directory and set the config paths appropriately
16:45 * jberger turns and walks away slowly
16:46 jberger I have done enough of this for AB, have fun guys :-P
16:46 run4flat jberger, thanks
16:46 chm thansk
16:46 jberger the difference is for gnuplot you don't have to do things in an abstract fashion like AB does
16:46 jberger so maybe it wont be so bad
16:46 jberger more like sysadmin stuff than real module making
16:47 run4flat right
16:47 chm Isn't that like the classic test for an OO module---it still works for the null class?  E.g, the simplest possible case?
16:47 * run4flat laughs
16:48 run4flat jberger, I think chm is calling you out
16:48 run4flat probably not
16:48 run4flat but it sure is amusing
16:48 run4flat chm, Alien::Base goes through contortions to make sure it loads various dynamic libraries
16:48 run4flat it assumes that it *is* loading a dynamic library
16:49 run4flat I am not sure how deep that assumption is baked into the code
16:49 chm That is one thing that is nice about IRC, the interaction with other developers helps me see things in different ways.  Sort of pair programming+
16:49 run4flat but it might cause Alien::Base to break in funny ways if there is no dynamic library to load
16:49 run4flat :-)
16:49 chm Maybe we should look into a skype-type option?
16:49 jberger hehe, I see your point chm
16:50 * jberger thinks about it
16:50 chm It would go faster if we could have a real dialog
16:50 * jberger is also in a convo on #mojo
16:50 run4flat chm, I don't think I could justify a skype conversation
16:50 * jberger is sorry that there is a delay
16:50 run4flat I mean, I can excuse myself for idle texting
16:51 run4flat I'm at work
16:51 run4flat otherwise I would be up for it
16:51 chm That makes sense on the day to day.  I think there would be some value in a PDL developers meeting post 2.4.12
16:51 run4flat chm, absolutely
16:51 jberger the more I think about it, the more I think that AB might work for gnuplot
16:51 jberger but yeah you have to avoid the dynamic loader bits
16:51 run4flat I would be delighted to have accasional, or even regular, conferences
16:52 * jberger would be game for that
16:52 run4flat jberger, if the end-result module doesn't actually depend on Alien::Base, I think it would work
16:52 run4flat in other words, just have Build.PL depend on Alien's Build system
16:52 jberger it still needs the finding logic
16:52 run4flat oh, right
16:52 run4flat chm, Craig and I were planning on meeting tomorrow afternoon to chat
16:52 chm Yes, that is the messy stuff.  If it is already working in Alien::Base, we don't want to re-invent the wheel
16:53 run4flat should we try to schedule a Skype call instead?
16:53 jberger maybe there could be some keys in the Build.PL about executable_name, executable_location etc
16:53 chm I won't be able to.
16:53 run4flat chm, ok
16:54 chm Well, I've got to get back to PDL stuff so I can get a release out.
16:54 * run4flat cheers on the PDL Pumpking
16:54 chm Before I go, I wanted to mention some exciting developments you both may be interested ing
16:54 run4flat sure!
16:55 run4flat I'm sure jberger is interested, but paying attention to Mojo at the moment
16:55 chm Basically, someone has gotten a Moo version of Devel::REPL started and I'm working with him to make it support pdl2
16:55 run4flat aah, very nice
16:55 chm When that happens, we'll have a very lightweight pdl2 without the Moose nightmare
16:56 run4flat yeah, that would be fantastic
16:56 chm The other item (which I alluded to in the list discussion)...
16:56 jberger very nice
16:56 chm I think we should make PDL-3 based on Moo.  It gives us a much cleaner framework for going forward.
16:56 run4flat I might also see if I can build on Devel::REPL with Prima so that App::Prima::REPL is that much more powerful
16:56 jberger !!!!!!!!!!!!!!!!!!!!!!!
16:56 run4flat :-)
16:56 run4flat I was wondering about that
16:57 run4flat Chris, have you followed p5mop at all?
16:57 jberger chm, I had some thoughts about a nicer PP that I discussed with David a few weeks ago
16:57 chm Also, we can use Moose capabilities if needed to use before, around, after,... and turn them into equivalent operations: jit compiling, G
16:57 run4flat You may recall Stevan's talk at last year's dcbpw
16:57 chm GPU,...
16:58 run4flat there's hope of getting p5mop into 5.20, which would be next spring/summer
16:58 chm Yes, it would clean up PP as well
16:58 run4flat I would love to clean up PP with Moo(se)?
16:58 jberger run4flat, p5mop in 20? don't you mean signatures?
16:58 run4flat no, I mean p5mop
16:58 run4flat that was the original hope/timeline
16:58 chm One thing I will specifically look at is fixing TriD (not just the name)  :-)
16:58 run4flat right
16:58 run4flat you mean if we bump to PDL3
16:59 run4flat I think we should certainly have a developers meeting about this
16:59 run4flat but not until 2.4.12 is out. :-)
16:59 chm I can start using Moo for TriD whenever.  The bigger issue is what to do with the PDL core.
16:59 run4flat btw, BioPerl is also going through a similar change
16:59 run4flat they are about to release a stable version, then they are going to dismantle and rewrite
17:00 chm I think using that as a framework allows for a very simple core and then we use roles (class, object, static, dynamic) to build from there
17:00 run4flat yep
17:00 run4flat there are lots of issues to be sorted out, and they will not be trivial
17:01 run4flat but the time is ripe
17:01 chm I know, but very exciting possibilities.
17:01 jberger indeed
17:01 run4flat Honestly, I would want to bring Dmitry Karasik in on this, as he build the Prima C-based object model
17:01 jberger btw my thoughts on PP still used the same PP engine, but a different way of structuring the files etc
17:01 run4flat I think he would have some ideas for us
17:02 chm Agreed, I didn't want to bring it up on the list because I thought I might be distracting...
17:02 run4flat it most certainly would!
17:02 jberger .pm.PL that makes a .pm and an a .pd, the .pd when it gets built makes a .xs and a .pmc which loads the .pm
17:02 run4flat better to hold off until we have 2.4.12 out the door
17:03 chm Agreed! :-)
17:03 jberger my thought would be for after that too, probably for 3, though it should be fully back compat
17:03 chm Yes, definitely!
17:04 run4flat chm, I have had ideas rolling around my head
17:04 run4flat I've meant to write it down in some sort of white paper or proposal
17:04 chm Let's try to stay focused on PGP and PGPS until March... :-)
17:04 run4flat At any rate, I will certainly keep my thoughts in mind whenever we start working on the PDL core
17:05 run4flat ok, sounds good
17:05 run4flat btw, is March 1 the tentative release date?
17:05 jberger \m/
17:05 chm Thats the plan.  Testing is going well.  I'm determined to get PDL::NiceSlice working but the problem is Filter::Simple is crufty.
17:06 run4flat Gosh, March 1 is only 11 days away!
17:06 run4flat March 1 is my birthday, btw
17:06 run4flat :-)
17:06 chm To fix the problem there is a waste.  The project now is to excise the needed functionality into perldlpp.  Then I can use Module::Compile to add perl -c compiling support
17:06 chm Hence, the ping about PGP.
17:07 chm Later guys.  o/
17:07 run4flat cya!
17:07 jberger Module::Compile? for what?
17:08 jberger o/
17:08 chm perl -c file.pm generates file.pmc with the PDL::NiceSlice filtered already
17:08 jberger oh ok
17:09 jberger hmmmm, thats good to know, because my thought on PP would need the .pmc file extension too
17:09 jberger might be problematic
17:09 run4flat probably would be something we could combine
17:09 jberger would be very different use-cases
17:09 chm .pmc is the standard perl extension for compiled modules, already in there
17:09 jberger yes, I know
17:10 jberger I was going to abuse it for something else :D
17:10 chm See the Module::Compile docs and list discussions for more
17:10 chm Closing window now....for real  :-)  o/
17:10 jberger I didn't know we had any reason to use it properly
17:10 run4flat bye
17:10 jberger see ya
17:10 jberger run4flat, I need to move on too
17:10 jberger but just quickly
17:10 run4flat sure
17:11 jberger you said that the .pd makes some pm code which can't be known by the author right?
17:11 jberger hooks or some such
17:11 jberger loading?
17:11 run4flat .pd makes a pm file that calls dynaloader
17:12 run4flat and it adds some stuff like *myfunc = \&PDL::myfunc
17:12 run4flat etc, etc
17:12 jberger right, so my .pmc would just be that code and then require __FILE__
17:12 run4flat you can control most of the content
17:12 run4flat sure
17:12 jberger __FILE__ in a .pmc is just the filename WITHOUT the c
17:12 jberger cute eh?
17:12 run4flat oh, yeah, that is cute
17:13 jberger so your .pm which comes from the .pm.PL is exactly what you wrote
17:13 jberger but then the .pmc does the other shtuff
17:13 jberger and load the .pm :D
17:13 run4flat Chris is proposing that we apply the NiceSlice filter in the process of going from .pd -> .pmc
17:14 run4flat hmm...
17:14 jberger yeah
17:14 * run4flat scratches head
17:14 jberger hmmmmm
17:14 jberger something to think about
17:14 jberger you get my idea though right?
17:14 run4flat I'm afraid you lost me on the bit about the .pmc loading the .pm file
17:14 run4flat why would we do that?
17:15 jberger because we want the .pm.PL to look like a pm as far as the indexers see
17:15 run4flat Ah, but you can do that anyway
17:15 run4flat :-)
17:15 run4flat You can have .pm.PL generate a C file if you want
17:15 jberger no interleaving of add_to_pm or docstrings or whatever
17:16 jberger yeah
17:16 run4flat jberger, interleaving of add_to_pm is considered a feature
17:16 run4flat it lets you mix your Perl and C(ish) code in one place
17:16 run4flat along with the documentation for it
17:17 jberger and then the documentation is lost to the internetverse as you have seen
17:17 jberger anyway, I have to mush on
17:17 run4flat ok
17:17 jberger we shall think on these things
17:17 run4flat indeed
17:17 run4flat have fun working on your dissertation
17:17 run4flat :-)
17:30 jberger :-)
17:41 sivoais ref $p
17:43 run4flat sivoais, huh?
17:44 sivoais run4flat: sorry, combination of wrong window and laggy network :-P
17:44 run4flat haha, ok
17:44 sivoais but I was actually looking at something PDL related and maybe someone could help me figure it out
17:44 run4flat sure, go for it
17:45 sivoais I forked jberger's Data::Printer filter for PDL and tried to add support for PDL::Char last night <http://gist.github.com/4979167>, but it seems not get called.
17:46 * run4flat looks
17:46 sivoais I mean, it works for PDL, but not for PDL::Char.
17:48 run4flat oh, cool
17:48 run4flat I have not played much with Data::Printer but I like the basic idea you have here
17:48 run4flat :-)
17:49 sivoais Well, most of the code is jberger's. I just added color. :-)
17:51 run4flat this may be a silly question, but what happens if you reverse the order of the PDL and the PDL::Char filter declarations?
17:51 run4flat Because, a PDL::Char isa PDL
17:51 run4flat so maybe the filters are executed in order
17:51 run4flat so, swap lines 9 and 10
17:52 sivoais heh, yeah, I'd tried that, as well as just commenting out the 'PDL' line. I think I'll have to dig into Data::Printer or chase down garu.
17:52 run4flat oh, hmm
17:52 run4flat what happens if you comment out the 'PDL' line?
17:53 * run4flat installs Data::Printer
17:54 sivoais when 'PDL' is commented: for PDL::Char, the same as before: calls PDL::Char::string. for PDL, it calls the default filter that dumps the methods/internals
17:55 run4flat oh, so when PDL is commented, it simply stringifies the input?
17:58 sivoais for PDL::Char,  yes
17:59 run4flat I tried copying your code into a file named Color.pm in my own local directory
17:59 run4flat when I run a script that uses it, It does not seem to have any effect
18:00 sivoais yes, you need to put <http://gist.github.com/8d7220c3605ccc5b8700> in ~/.dataprinter
18:00 run4flat oh, thanks
18:00 sivoais and Color.pm needs to be in @INC under Data::Printer::Filter::PDL::Color
18:01 run4flat ok
18:01 run4flat ah, that's somewhat annoying. :-)
18:01 sivoais mkdir -p !
18:02 run4flat I can never remember that flag!
18:02 run4flat :-P
18:02 run4flat and now I've just made them.
18:02 run4flat ha ha
18:03 run4flat How is this invoked? Just "use Data::Printer" and that picks it up?
18:03 run4flat ah, ok, yes
18:03 run4flat it's working
18:03 run4flat ok, I'll admit that's pretty neat. :-)
18:03 run4flat now onto char stuffs
18:04 run4flat works for me
18:04 run4flat though, I must say that the min and max are kinda silly
18:04 run4flat :-)
18:05 shadowpaste "run4flat" at 217.168.150.38 pasted "output of Data::Printer for PDL::Char" (13 lines) at http://paste.scsys.co.uk/230994
18:06 run4flat sivoais, am I right? is this actually working as expected?
18:06 sivoais Yes! It is!
18:07 sivoais with no change?
18:07 run4flat nope
18:07 run4flat except I removed the Data::Printer::Filter...
18:07 run4flat then added it back again
18:07 sivoais ha ha
18:08 run4flat maybe you have a version skew issue
18:08 run4flat :-)
18:13 sivoais Ah, OK. I'm getting the right output. I was testing in pdl2 with Devel::REPL::Plugin::DataPrinter. There's an update for that that I need to test.
18:13 sivoais But it works if I just do it all from a script.
18:15 run4flat yep
18:18 sivoais Do you think this code is worth uploading to CPAN? There isn't a PDL filter on there yet.
18:19 run4flat well... sure
18:19 run4flat I'm not sure how much traction you'll get with it
18:20 run4flat It's really neat, no doubt about that
18:21 run4flat Ideally, something like this would be added to PDL's core
18:21 run4flat and we would just swap perldl's definition of p out for Data::Printer's definition
18:21 run4flat etc, etc
18:21 run4flat but that's probably more work than you want to sign-up for
18:21 sivoais Yeah, I see what you mean. It would be good to get it working under Devel::REPL first.
18:22 run4flat yes
18:22 run4flat If you've written up CPAN modules before, then I say go for it
18:22 sivoais OK, adding to my Play Perl list :-P
18:23 run4flat yes, perfect
18:23 run4flat that's the best way to know if this sort of thing is worth doing. :-)
18:24 run4flat Oh, hey, I see you've just uploaded a recent version of you Gmail label dist to CPAN
18:24 run4flat so you do have some idea of what you're doing.
18:24 run4flat eh, either way, play-perl
18:24 run4flat :-)
20:19 jberger I would think that it should be added to the core too
20:19 jberger that is the mode of use for this functionality
20:20 jberger ps good job resurrecting this sivoais
20:20 jberger and btw, you can import data::printer with a different alias than p
20:20 jberger thats just the default
20:20 jberger run4flat ping
20:27 run4flat jberger, what's up?
20:28 jberger just the above
20:28 jberger thats all
20:28 run4flat k, thanks
20:34 run4flat http://thedailywtf.com/Articles/DOLLARS-and-SENSE.aspx
20:34 sivoais I found the issue that I was facing. Just need to patch the plugin for Devel::REPL.
20:34 run4flat I need to read thedailywtf more often
20:34 run4flat sivoais, well done
20:37 run4flat There's a very interesting comment at the end of it which explains a *lot* of programming practice among C/C++ programmers
20:37 run4flat "I've seen this before in IBM Mainframe programmers. They were told that 'tables are fast', and 'the CPU is slow', so they try to use tables for everything that would bog up the CPU."
20:38 run4flat These days, the opposite is true. It can take 100 CPU cycles to retrieve data from RAM
20:53 * jberger looks
21:03 jberger i like the second comment :-)
21:06 run4flat yeah, right
21:06 run4flat hey, I just got a phone call to schedule an interview at one of the places where I applied!
21:06 run4flat :-D

| Channels | #pdl index | Today | | Search | Google Search | Plain-Text | summary