Perl 6 - the future is here, just unevenly distributed

IRC log for #webwork, 2012-06-20

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

All times shown according to UTC.

Time Nick Message
01:14 mgage_ aubreyja: do we have an update on who is coming to WeBWorK::Winona? is  the list at https://docs.google.com/document/d/1iYwQF6DHtKDFgwzx6N1_umBiUqyHwh9uPbMw-8Qo0DY/edit up to date?
01:59 djun joined #webwork
02:00 djun seen aubreyja?
02:00 djun oops, I guess our bot doesn't  do that :)
02:00 djun Jason - just hacking on your install script to let repos be specified.  Wanna use this to automate testing for pushes to the github repos.
02:01 mgage_ he left or at least his computer did around 9:45
02:01 djun thanks, mike.  Who needs bots, anyway?
02:02 djun Got your email re: OPL collaboration. Will follow up tomorrow
02:02 mgage_ not sure of all the capabilities they have yet -- we had one that was reporting submits to the svn but it broke -- we can try to get it working with github.
02:02 djun BTW, have you looked at frameworks for perl web-application testing?
02:02 djun I'm wanting to start with a few simple sanity checks
02:03 mgage_ ok -- no big rush -- I did want to give you all a chance to talk about direction before morving to far.
02:03 djun good idea :)
02:03 mgage_ I've read some parts of Test::Harness -- not recently -- I got distracted by other projects :-)
02:04 mgage_ I do have a mechanism for unit testing that you might not have noticed -- it's in the clients directory -- it allows you to submit
02:04 mgage_ a problem to the webservice for rendering from the command line.
02:04 mgage_ I use it with bbedit to edit problems in bbedit and check them through the web.
02:04 djun I'm thinking http://search.cpan.org/search?mode=module&query=Test%3A%3AWWW%3A%3AMechanize for the actual web application.
02:05 djun I was thinking about the client code for unit testing library problems
02:05 mgage_ I also use it to step through the entire library and check each problem to see if it renders without errors.
02:05 mgage_ so that is pretty much what the client does -- it's reasonably robust -- it would be more so if others used it.
02:06 mgage_ (they's find the bugs I missed.)
02:06 mgage_ It can still be a little fussy.
02:06 mgage_ there is a read me at :  hang on just a second
02:06 djun Awesome!  It might be good to stress test the library with multiple seeds, etc
02:07 mgage_ webwork2/clients/README  -- I think that's enough to get started with but there might be questions.
02:08 djun perfect...
02:08 mgage_ It's basically sound and the next step would be to hook it up to test harness or something like that to not only test each problem for rendering but test multiple seeds, also check to see if resubmitting the problem with answers works (and if you are really ambitious check that wrong answers don't work)
02:09 mgage_ so it's not perfect yet but a lot of hooks are there.
02:09 mgage_ this won't take care of all interface user testing -- it's basically checking the PG side of the code plus some webservice glue -- something like AMechanize might be useful there.
02:10 mgage_ I've also got a Mac specific app called Fake that allows you to automate a web browser to do routine things -- I use it to scrape the web output from our registrars senior reports since they don't seem to be able to deliver it in csv yset. :-)
02:10 djun for the actual web application, it looks like there's some recommendations for Test::WWW::Mechanize
02:12 mgage_ yes I've seen that -- I haven't looked at it in detail.  but the natural next step is to hook what I've got into the Test:: hierarchy -- I think Test::Harness is the next step but I could be wrong.
02:15 mgage_ I've also just finished the next consolidation on PGalias() --it's pushed to my github.  the tex portions of it aren't done yet, and I plan to add a search mechanism (like @INC n perl) so that you can specify a standard set of locations to search for a .png or .gif or .html file.  We already do that for macros and applets.  Eventually I expect the some of what I'm doing at the moment to factor into a much smaller code base since a lot
02:15 mgage_ is pretty similar.  Want to get this working reliably first.
02:16 mgage_ To do this I've got a half dozen unit test problems but checking them is not automated yet (sometimes a failure is what you want -- you are checking the warning mechanisms).
02:16 mgage_ anyway -- what I have in my github under pg-dev should be pretty stable right now
02:17 djun I pushed some PG refactoring to my fork of pg-dev - it removes comment and code references to dangerousMacros.pl and strips away the commented out code.  Setting up to test this before I issue a pull request.  I suppose I should port this to the non-dev version also.
02:17 mgage_ with luck I'll get most of the features for that done tomorrow or thursday -- it also collects all of the resources used by the problem while it is finding them so that it will the basis for being able to download a problem with all of its resources.
02:19 djun That's an interesting problem.  I've been assuming that all of the resources are packaged with the problem in the same directory.  But I suppose a set of problems might require a common library.
02:20 mgage_ use your judgement. I'm hoping to have a fair amount clean up development done on pg in the next week and then just move it over to pg -- perhaps in a different branch.   I've reconsidered your idea about branches -- if a site admin gets a stable and a beta branch every time they update from github and the switch over between them doesn't involve reconfiguring then we might be able to talk more people into testing since there is such a
02:20 mgage_ path to back out
02:21 djun yes... the main thing would be to make checkpoint backups of the database and possibly other local state before upgrading...
02:22 mgage_ yep, and even more likely with applets and macros.  this will also list external resources on the web somewhere -- so at least you have an index of what you need.  then you can decide what you should include when downloading. you can do all this by hand now of course but it is error prone and people want a one push solution to sending a homework set to a colleague.  PGalias provides the first step at the ground level.
02:23 mgage_ that would be safest.  our experience has been that the glitches are much more minor than that, mostly something fails to render -- we've had little data loss over the years.  this changes dramatically when we do a big database update.
02:23 mgage_ brb
02:24 mgage_ back
02:24 djun I'm about to be kicked out of the cafe I'm in.  Closing time :)
02:24 mgage_ and we are passsed due for a database update.
02:24 mgage_ ttyl
02:24 whytheplatypus joined #webwork
02:24 djun back online in an hour or so..
02:25 mgage_ kk -- david will be amused that you are being kicked out of the cafe -- he likes working in cafes as well
03:50 djun joined #webwork
04:26 djun joined #webwork
07:13 djun joined #webwork
13:10 thenub3141 joined #webwork
13:39 whytheplatypus joined #webwork
13:41 mgage_ whytheplatypus: hi
13:41 whytheplatypus heya
13:41 mgage_ john travis will be running WeBWorK::Clinton camp today through Friday so there should be some activity, particularly today on the irc
13:43 whytheplatypus sweet, i'll keep an eye on it then
15:12 djun joined #webwork
15:42 whytheplatypus joined #webwork
15:52 bubba joined #webwork
15:52 lmkuhn joined #webwork
15:53 bubba mgage:  This is your best friend!
15:53 mgage_ hi
15:53 bubba John T here with a few friends
15:53 mgage_ djun: whytheplatypus:  here they come
15:53 mgage_ :-)
15:53 whytheplatypus hahaha
15:54 bubba That hurts
15:54 bubba We have a small group here right now.  More coming this afternoon with questions about servers...
15:54 mgage_ kk
15:54 bubba BTW, I'm using the browser now instead of my client.
15:55 bubba Good enough.  We'll be back later...
15:55 mgage_ seems to work ok -- the main advantage of the client is probably that you can keep it up in some corner of your screen
15:55 mgage_ ttyl
15:56 bubba ttrn :)
15:56 bubba tfn
15:56 bubba whatever
15:56 JohnTravis joined #webwork
16:04 mgage_ djun: hi  there is an extra quote in the PG.pl file -- don't know why that didn't break my tests.  I'll push a correction in a few minutes.
17:06 aubreyja joined #webwork
17:08 aubreyja_ joined #webwork
17:08 aubreyja_ joined #webwork
17:18 aubreyja Hi
17:19 mgage_ hi
17:20 aubreyja Just getting caught up - out looking at houses this morning (we may move)
17:22 mgage_ I remember -- you mentioned that.  WeBWorK::Clinton has showed up in the IRC off and on -- they may again in the afternoon.  djun and david are around
17:23 aubreyja Great.  Djun's been really giving my install script a going over, so I have a few issues to look at.
17:26 mgage_ cool
17:29 aubreyja So, do you see any problem with me appending a parameter to $imageName in Pggraphmacros.pl (say a time stamp) so that the page always has to look for the image on the server?
17:32 mgage_ well -- at places like ASU they had performance problems at one point and John Jones put in some caching tools so that images didn't have to be recreated -- this was particularly important for equation images I can't remember if he did it for on the fly graphics.  I think there is a refresh attribute somewhere -- you should search through and see what it does and perhaps check its value before appending the random numbers.
17:33 aubreyja although actually, why is the filename built from $imageName rather than $graphRef -> imageName() - that seems to be unique….
17:33 mgage_ don't know -- that could be a bug
17:35 aubreyja the refresh attribute might be somewhere in WWPlot.pm or PGgraphmacros?
17:36 whytheplatypus joined #webwork
17:38 mgage_ check the conf files
17:39 mgage_ is $graphRef->imageName() giving you a unique ID type of name ?  if so that is newer than the $imageName defined in PGgraphmacros
17:41 aubreyja i'm not yet sure what it's doing, but (around line 126 of PGgraphmacros.pl) "this provides a unique name for the graph -- it does not provide an extension" then next line
17:42 aubreyja $graphRef -> imageName("${imageName}image${imageNum}")
17:44 aubreyja ah, actually I don't think this will make a difference anyway for ProblemRerandomize since $imageName uses $main::problemSeed.  Actually, I want to somehow override this in PeriodicRerandomization maybe to use $newProblemSeed...
17:46 aubreyja well, i need to figure out what this is doing - it probably would make a difference if it's doing what I think it's doing...
17:46 mgage_ yes -- I see.  There are some places where I have provided unique ids and others where I use the data from the problem and student info (this is a security leak which I'm slowly correcting -- there is new stuff in PGalias relevent to this as of last night)
17:47 mgage_ $graphRef->imageName  is just accessor for storing and retrieving the name -- so nothing is done internally in WWPlot.pm that I can see.
17:51 aubreyja right, but the name there includes $imageNum which is incremented each time the image is recreated
17:52 aubreyja oh, maybe this is for multiple images on a page
17:52 mgage_ you might print out $main::images_created{name_here}  to see if that value really does go up.  It will get reset to zero everytime a new copy of PGgraphmacros is actually read -- so it might not be incrementing
17:54 djun joined #webwork
17:55 mgage_ I think it was particularly meant for when problems are written on a library page
17:56 mgage_ but I'm not sure what assumption it is making about how often PGgraphmacros is being interpreted and whether that assumption is correct -- is PGgraph interpreted once per request? once per child?
17:57 mgage_ need to do some errands.  I'll be afk for an hour or so
17:58 aubreyja ok, thanks for your help, it's slowly coming together, ttyl
17:58 mgage_ ttyl
17:59 aubreyja Hi djun - thanks for having a look at ww_install.pl - it'll take me a bit to go through the issues, but I appreciate the feedback
18:00 djun Hi Jason, really digging your script.  I'm trying to hack it to spin up dev instances, which is why I'm encountering some of these edge cases.  I'll probably have some code for you as well as issues :)
18:01 aubreyja cool - keep it coming!
18:01 djun did you get the AskSage stuff working?
18:02 aubreyja For dev stuff the main problem is generating a devel-site.apache2.config.  i think copying the existing main httpd.conf locally and changing some paths is the best way to write this file (instead of trying to fix the .dist which was written for an old freebsd)
18:03 aubreyja Well, funny that.  I did get very, very far.  Learned a lot about how the translator works, but I think there is a bug in Safe or WWSafe.
18:05 aubreyja Where I'm stuck is that I've enabled absolutely all previously unsafe commands that I need to use it, but the it objects to using private methods defined in LWP::UserAgent, presumably because those weren't shared with the safe compartment when I shared the LWP::UserAgent object with that compartment.
18:05 aubreyja So, my next approach will be to try to use something less heavy weight than LWP::UserAgent.
18:06 whytheplatypus joined #webwork
18:06 aubreyja I even instantiated the UserAgent object in PGcore and added it to the PGcore object because maybe we could use this for other web services when authoring problems
18:06 aubreyja but still no luck due to the private methods problem
18:07 aubreyja so, on ww_insall.pl - it gets the path the the httpd.conf file (or whatever it's called.) So, I'd copy that and search through it for paths pointing up to protected directories and change those paths to be under the webwork prefix (e.g. log files, pid, etc...)
18:09 djun Funny how simple seeming problems can turn out to be impossible :)
18:09 mgage_ you saw Safe::Hole ??
18:09 mgage_ Safe in particular makes life more interesting
18:09 aubreyja yeah. Yep, but haven't quite got it working.  It does actually seem to do some more thorough sharing than simply $cmpt -> share(…)
18:10 mgage_ I never used it but Sam and I had it in mind if we got desperate
18:11 djun I'll have another look at the config file phase of ww_install a bit later
18:20 mgage_ out of curiosity why are you trying to get develsite apache2 working?
18:21 mgage_ It was mostly a hack so that we could run say three different instances of apache on the same machine on three different ports. -- this meant I could put several students to work developing on the same machine.   now that it's pretty easy to develop on a pc using a usb stick this kind of trickery might not be necessary.
18:23 mgage_ I still use it on devel1.webwork.rochester.edu  but I'd be willing to stop distributing it with the standard code unless it's still good for something
18:28 mgage_ afk
18:58 aubreyja Mike - devel-site seems still relevant so that you can run the server out of a local home directory.  If you run apache as an unprivileged user it objects to writing to the standard logs, pid location, etc...
18:59 aubreyja It would be great if there is an easier way to set this up
19:41 djun joined #webwork

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