Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Inner Scriptorium

( #389873=superdoc: print w/replies, xml ) Need Help??

This section is used by the Cabal in plotting improvements to the inner workings of the Monastery's raw sewage macerator, boiler room, nuclear reactor, and cold fusion pump. Cabal only may post root nodes to this section. But fresh thought often spawns progress, so any Perl Monk may add comments to existing discussion threads within this section.

Please remember that Monastery related discussions of global interest to the general PerlMonks population should be entertained in the Perl Monks Discussion section. gods can and will remove off-topic content from the Inner Scriptorium.

Inner Scriptorium
Development of PerlMonks "Mobile" is now open for business
No replies — Read more | Post response
by jdporter
on Nov 07, 2016 at 12:29

    One of the things that people have said we ought to have is a mobile version of the site. I agree. :-) So to get development started, I have set up a small framework for the developers to work on. There are three infrastructure nodes which any pmdev members can submit patches to:

    As I post this, all three are empty except for some comments to show what kind of code they could contain.

    To access the "mobile" version of the site, insert the /mobile/ path component in the URL, for example:

    [href://mobile/?node=SOPW] => mobile/?node=SOPW
    Hopefully someday we can make the necessary DNS changes to allow the mobile site to be accessed at m.perlmonks.org.

    We need people who are good with CSS and Javascript. :-)

    If you'd like to help, and are not yet a member of pmdev, you may message the gods to ask to be added.

    Update:

    In order to support expedited development of the CSS and JS bits, I have set up a wonki, mobile css and javascript, which contains the CSS and JS used by the mobile site. This is temporary; when the CSS and JS have stabilized, I'll move their respective code into the fullpages linked above. If you would like to try hacking on the CSS and/or JS, let me know and I'll add you to the wonki. But I want to keep the number of writers small, to minimize collisions. Wonkis work like wikis. :-)

    I reckon we are the only monastery ever to have a dungeon stuffed with 16,000 zombies.
RFC: Edit your posts in a separate page, rather than at the top of a thread.
4 direct replies — Read more / Contribute
by jdporter
on Mar 09, 2016 at 15:09

    Inspired by the thread voting does update, I have made a change -- experimental at this point -- to test the viability and desirability of separating the edit your post capability out of the normal threaded view; the vote on posts capability would remain in the normal threaded view as it is.

    To check it out, find and view a root post of yours in the Obfu section. (You can find a list (if you have any) here.) Currently this change is only in effect for that specific scenario: root Obfu posts.
    You'll see two differences:

    1. The textarea labeled "Your obfuscated code", where you could edit the content, is gone;
    2. There is now an "Edit" link above your post, on the far right side.
    If you click on that 'Edit' link, you'll be taken to a page which, like original post/preview pages, allows you to edit your post but does not show you the rest of the thread, nor to vote on posts in the thread.

    Note: janitors (and other authorized members) will see this 'Edit' link on any post* to which they have edit permissions, not just ones they own.

    * Currently only Obfu root posts, as I said above.

    I think this change, if adopted across the board, would have the desirable side-effect of suppressing, however slightly, the tendency of monks to edit their posts later. What are your thoughts?

    I reckon we are the only monastery ever to have a dungeon stuffed with 16,000 zombies.
old development version of perlmonks still online
1 direct reply — Read more / Contribute
by LanX
on Sep 20, 2015 at 07:36
    Hi

    a google search for another monk led me to a profile page saying he hasn't been here for more than 7 years!?!

    After investigating the URL (which I hesitate to disclosure here) I realized that this must be a development version of the monastery accessing an old DB instance.

    Changing the topdomain produced different results, sometimes I had to change index.pl to index.cgi, sometimes I was able to read the scripts source, sometimes got just 404s for links which worked before and vice versa.

    Not sure if this might be related to my privileges ...

    I think either this has to be taken offline or password protected, in any case it shouldn't be indexed by google.

    Cheers Rolf
    (addicted to the Perl Programming Language and ☆☆☆☆ :)
    Je suis Charlie!

    update

    this post was initially written for PMD, till I found this pmdevtopic board.

    I think it should be safe to post links here

    links deleted

    if you are getting errors, please try to switch to .com or .net or change .pl to .cgi, it seems like different servers in the background react inconsistently.

    update

    ) why is this branch called "inner scriptorium" but publicly readable? I deleted the links again, google didn't cache them yet.

Define "On Topic" for the Monastery
6 direct replies — Read more / Contribute
by jdporter
on Jul 17, 2015 at 15:28

    There's been a fair amount of discussion lately about how to designate off-topic posts (i.e. whether to set up a separate section for them, or not). (I think a good place to start getting familiar with the subject is here.)

    The implicit underpinning of these discussions is what "off topic" means at PerlMonks. Indeed, part of the difficulty in arriving at a solution of which a plurality of monks would approve is that "off topic" is not well defined, and seems to mean different things in different contexts. I am starting to think it might be a good idea, then, to establish definitions for the following:

    1. What is so far off topic for PerlMonks that it simply won't be acceptable? A post that is beyond this pale would be reaped, or possibly moved to the offtopicroot "section". (Note: not a section.)
    2. What is off-topic enough to warrant not being approved into a section?
    3. What is off-topic enough to warrant being designated (labeled, binned, etc.) as "OT"?
    4. And indeed, what is the relative "severity" of the latter two criteria?

    These definitions would be documented for all to see, and in particular would be incorporated into the Janitors' Guidelines, as well as the moderation and consideration guidelines.

    Question #1 is: Do we agree that having something written down would be a good idea? I get a vague feeling that the answer to this question, historically, was "No". But it could just be that we never got around to it...

    I reckon we are the only monastery ever to have a dungeon stuffed with 16,000 zombies.
Considerations History
1 direct reply — Read more / Contribute
by jdporter
on Jul 07, 2015 at 11:31

    Is there a complete log of consideration events anywhere? By complete, I mean including the logging of events such as unconsideration. I don't know of any such; and what that means is that if a monk puts on a consideration, and then a janitor removes it, there is no trace of that consideration at all anywhere. Am I just missing something? Thanks...

    I reckon we are the only monastery ever to have a dungeon stuffed with 16,000 zombies.
E2 site code about to take an incompatible change
No replies — Read more | Post response
by JayBonci
on Sep 28, 2012 at 11:04
    Hey monks,

    Over at E2, we are about to take what is going to be an very incompatible change and forever move away from Perlmonks: we're going to be getting rid of the $VARS hash, and replacing it with a $DB->getNodeParam($NODE, "paramname") type setup where we have a large, indexed key-value store for each node. We'll be caching the contents of the vars in the nodeCache, but the goal is to not have to rewrite $VARS every time, and to be able to expand the code so that any type of node can have a key/value parameter.

    The goal is to move some non-index-needing, non-primary columns over to it, and be able to add arbitrary metadata to any type of node, without having to muck with types and database schemas. If you guys are interested in syncing up, drop me an email or a message here, and we'll try and figure out what our engine deltas look like. In ecore terms, it is like every node would virtually join on setting.

    I'd like to continue to be on the same rough engine branch, and be able to share performance improvements with you guys, but it's going to require a bit of engineering work.

    Also, we've had some great success moving to AWS, so if you're thinking about picking up stakes and moving anywhere, please let me know and i'll have happy to share my recipes and practices getting E2 up and cooking on a modern web platform. Having S3 and RDS available has been a huge boon for our performance. I don't know what the state of the site is now that Perl foundation has it.



        --jaybonci
refactor newlistapproved to absorb newmoderatelist
2 direct replies — Read more / Contribute
by jdporter
on Jul 13, 2012 at 09:31

    Update: The below has been done. You may disregard. :-)


    If you take a look at the code of each of the sections, you'll see a fairly common pattern. SoPW is the canonical case; it looks like this:

    [{get_sitedoclet}] [{votehead}] [{newlistapproved:perlquestion,perlquestion approved linktype,User Que +stions,10,navbaron,showunapproved}] [{votefoot}] [{newmoderatelist:perlquestion,perlquestion approved linktype,Unapprov +ed Questions}] [{addnewform:perlquestion,Add your question,Your question:}]

    Examining newlistapproved and newmoderatelist, we find that the latter is logically a part of the former, but it seems to have been split out merely in order to "jump over" a call to votefoot.

    I propose merging the code of newmoderatelist back into newlistapproved, and add an option parameter which would tell newlistapproved whether to call votefoot at the appropriate point. There is already an option parameter, showunapproved, which controls whether to show the unapproved list.

    In order to grasp all the ramifications across the site, I prepared the following table, which summarizes the code of each place newlistapproved is currently used (excluding test nodes and such).

    Table is presented in a reply below.

    Based on this data, I believe this change would be safe and straightforward to make. The only real oddball we'd have to worry about is Editor Requests, but I think we could handle that.

    I think this change will make the code simpler, but perhaps more importantly, more efficient. The overhead cost of calling an htmlcode is substantial. It includes the cost of (a) retrieving the node from the database, and (b) executing a perl eval.

    I reckon we are the only monastery ever to have a dungeon stuffed with 16000 zombies.
Github repo up, bootstrap partially working
1 direct reply — Read more / Contribute
by JayBonci
on Mar 18, 2012 at 20:31
    Hey everybody, I've put together some basic utilities to bootstrap a raw perlmonks from the XML available here on the server. It'll improve as patches get applied to correct missing pieces and as more people take a look at it. I've got a wider goal to unify the codebase with E2, and so that the improvements we are making over there can wash back with you guys.

    https://github.com/perlmonks/perlmonks.
    What's working:
    • vagrant up, environment similar to E2, based on squeeze and perl 5.10
    • Bootstrap, however lots of server errors on the page (go to http://localhost:8888/?node=Login once it is up).
    What's missing:
    • Pieces to generate cachedgates.html
    • A few needed dependency modules need to be added to the chef recipes. I saw one, but forgot to jot it down. I'll add it once we work through a few of the errors.
    • The pmscrape.pl script stupidly scrapes Node Lister for every category, because it's a dumb comparion. Also, my username is hardcoded in.


    Going forward, I'd like to know how the administration would like to handle patches to the core libraries. I've made two small ones to Everything::NodeBase to handle conditions that won't come up in production, only bootstrapping, but after we're settled and bootstrappable w/o errors, I'm going to see what we can do to merge the codebases, and move forward.

    As a note, the vagrant environment is VERY convenient for Devel::NYTProf and Apache::DB so it makes really digging into the code quite easy. Happy hacking!


        --jaybonci
Everything2 github repository and being of value to perlmonks
2 direct replies — Read more / Contribute
by JayBonci
on Feb 21, 2012 at 14:47
    Hey folks,

    Some of you may or may not remember me, but I'm Jay Bonci, a longtime perlmonks semi-lurker, and the new owner of Everything2, the PM sister-site. Even though it diverged a long time ago, I'm hoping that things are still similar enough I'm back around actively developing and improving the core engine underneath E2 with a huge push to clean up a lot of old practices and bring the code forward to the modern era. I'd love to see if Perlmonks can get some use out of the tools that we're developing.

    I've got a somewhat active repository going at github with our tools. Looking ahead to where I'd like to be:

    • The development community should be developing inside of a bootstrapped sandbox machine running inside of a Vagrant virtual machine. This allows us to develop Chef recipes for box deployment as well
    • Nodes are stored in git(hub) as XML with ecoretool.pl export, and are instantiated with ecoretool.pl import (or bootstrap). This allows for a sanitized environment and source control of the underlying nodes
    • We're working towards compilation of the underlying htmlcodes, containers, htmlpages, opcodes, superdocs, etc that run the site and I've developed an execution environment using some symbol table muckery to make it think that it's running inside of Everything::HTML. This is going to reduce our apache footprint and our database load pretty significantly. It also allows for Devel::NYTProf to not get lost inside of evals

    I'd be greatly interested in working with the PM staff to see what tools you can can lift or vice versa. Check out the github repository and message me here or over email on my homenode. The goal is to rapidly improve our body of in-database software and to get out of the performance bottlenecks that are increasing how much it costs to run the site (or conversely, how much capacity we get out of our current hardware).



        --jaybonci
Context-Sensitive Rejection
No replies — Read more | Post response
by jdporter
on Jul 20, 2011 at 10:04

    Idea: Let the Permission Denied page contain information on the node you're not allowed to see.

    In particular, I want the page to display the sitedoclet associated with the denied node, if any. This will be useful to SiteDocClan as it will facilitate the maintenance of sitedoclets associated with nodes they're not allowed to "run". A well-written sitedoclet might also allay some of the confusion to which newbies are heir, when they hit a forbidden page.

    Technical Implementation

    The code of Permission Denied needs to know which node the user requested and was rejected. Currently, that information is lost (afaict) as soon as the engine decides to redirect to Permission Denied. Therefore, I propose the following patch in order to preserve that info:

    In Everything/HTML.pm, insert the following line before line 1408:

    $HTMLVARS{requested_node} = $NODE;

    When this has been done, the Permission Denied - (patch) can be applied.

    Update: Done!

    I reckon we are the only monastery ever to have a dungeon stuffed with 16,000 zombies.
Log In?
Username:
Password:

What's my password?
Create A New User
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (3)
As of 2016-12-04 18:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    On a regular basis, I'm most likely to spy upon:













    Results (69 votes). Check out past polls.