Stories
Slash Boxes
Comments

SoylentNews is people

posted by janrinok on Tuesday May 06 2014, @07:02PM   Printer-friendly
from the sharing-is-good dept.

bryan over at Pipedot has released the source code for Pipecode, the software running pipedot.

Pipecode is written in PHP and the code is using the GPLv3.

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 1, Interesting) by Anonymous Coward on Tuesday May 06 2014, @11:08PM

    by Anonymous Coward on Tuesday May 06 2014, @11:08PM (#40376)

    IMHO templating is overrated unless you need to add features on a regular basis.

    We can have a cross-site discussion [pipedot.org] if you like :P

    Nobody is criticising Bryans code, however not separating presentation from business logic is a huge red flag to me as a former freelance contractor. This is what NCommander referred to as a 'mess' and I was agreeing with that sentiment whilst pointing out why somebody would use that term. PHP is a templating language and you only have to see a couple of horror codebases before not doing something as simple as...

    function view($files, $data = array()){
        extract($data);
        foreach ($files as $file)
            require_once(VIEW_PATH . $file . '.php');
    }

    view (array ('masthead', 'content', 'pagination', 'footer'),
        array ('title' => 'Page Title', 'content' => $content,
            'pagination' => new Pagination ($current_page, $results_count, $results_per_page));

    ... will set cacophonous alarm bells ringing in your head. I don't see how that is overrated? It's moving all the HTML, inline script and CSS to separate files. Nothing complicated about it -- extract an array into the function scope and make the variables available to included files.

    Attempting to maintain a codebase where there's javascript stored in SQL being retrieved in the middle of a HTML segment and updating inline CSS... No really -- I still have nightmares after all these years and like I said it's a red flag to me and this is quite probably why NCommander used the term 'mess'. I've no particular reason to defend the guy but am certain that I too have felt the pain.

    Starting Score:    0  points
    Moderation   +1  
       Interesting=1, Total=1
    Extra 'Interesting' Modifier   0  

    Total Score:   1  
  • (Score: 2) by crutchy on Wednesday May 07 2014, @07:56AM

    by crutchy (179) on Wednesday May 07 2014, @07:56AM (#40448) Homepage Journal

    all good points. css is usually stored in separate .css files anyway, so i don't think there is any disagreement there (and i didn't see any inline css in the pipecode files that i looked at).

    javascript stored in SQL being retrieved in the middle of a HTML segment and updating inline CSS

    my guess is that scenario would be closer to slashcode than pipecode

    also, not saying that templating is bad... more that lack of templating isn't necessarily bad.

    • (Score: 1) by RaffArundel on Wednesday May 07 2014, @12:53PM

      by RaffArundel (3108) on Wednesday May 07 2014, @12:53PM (#40503) Homepage

      also, not saying that templating is bad... more that lack of templating isn't necessarily bad.

      I haven't seen the code, but I will say not having templating for something like this suggests you aren't separating the layers properly. Ignoring the "smell" argument for a moment, it definitely removes flexibility.

      It's like not having unit tests or FIT for code - you may be able to get away with it for a while but the first time you need to do any real work on it, especially when there is a problem you have created a mess for yourself.

      Now I am curious - I think I will grab the code and take a look at it.

      • (Score: 0) by Anonymous Coward on Wednesday May 07 2014, @01:24PM

        by Anonymous Coward on Wednesday May 07 2014, @01:24PM (#40512)
        Templating is overrated for this site at least. Many of the soylentils here are here because Slashdot changed too much for the worse.

        So for a site like this, once you've settled on a usable and not too crappy UI, the users aren't going to care if you never actually change the look.
      • (Score: 2) by crutchy on Wednesday May 07 2014, @09:55PM

        by crutchy (179) on Wednesday May 07 2014, @09:55PM (#40707) Homepage Journal

        removes flexibility

        your argument is based on the false premise that templating is required for flexibility... it's not. if you look at the source, the page structure can be changed, quite easily too. the only difference is that you need only know a bit of php to do it and not some obscure invented templating syntax.

        separation of layers is usually good, but it's not the rule, and nor should it be... because such rule itself would remove flexibility. established rules are a tool of the waterfall trade, and is also partly why waterfall projects so often fall on their swords.

        do grab the code. "professional programmers" will no doubt balk at it, but from a pragmatic tinkerer's point of view, it's simple, easy to read & understand, and it works.
        i was able to navigate my way around pipecode fairly easily the first time i saw it. slashcode otoh, well... you can probably guess.

        • (Score: 1) by RaffArundel on Thursday May 08 2014, @01:03PM

          by RaffArundel (3108) on Thursday May 08 2014, @01:03PM (#40875) Homepage

          your argument is based on the false premise that templating is required for flexibility... it's not. if you look at the source, the page structure can be changed, quite easily too. the only difference is that you need only know a bit of php to do it and not some obscure invented templating syntax.

          Nope, my argument is that proper structuring of code makes it easier to add/remove/change. Improper design makes changes harder (hence, removes flexibility) and your options fewer.

          Is your argument that "templating" is something you do in "one of those (obscure invented) templating languages"? Do you believe that PHP isn't/can't be a templating language? Is Velocity or Freemarker "obscure" or does it have to have the ubiquity of JS?

          Just so we are clear, I am talking about the MVC pattern - specifically the Model->View part, templating is simply mapping the data in the Model to structures in the View. Proper templating treats those a separate components so you can (re)move, add, enhance what the user sees without needing to or minimize messing with code. Ignoring the business driven decisions by Dice, do you think we would be here if the site-which-must-not-be-named had a clean template layer that you could control?

          separation of layers is usually good, but it's not the rule, and nor should it be... because such rule itself would remove flexibility. established rules are a tool of the waterfall trade, and is also partly why waterfall projects so often fall on their swords.

          Ah, so design patterns (MVC in this case) is a tool of the Man, and fails the People in the real world of Agile Masters. I won't get side-tracked on why waterfall and agile projects fail, but it isn't because they followed best practices. In fact, many of these "rules" were created to address project failure regardless of methodology - but likely help the faster paced development teams the most.

          YMMV.

          do grab the code. "professional programmers" will no doubt balk at it, but from a pragmatic tinkerer's point of view, it's simple, easy to read & understand, and it works.
          i was able to navigate my way around pipecode fairly easily the first time i saw it. slashcode otoh, well... you can probably guess.

          I grabbed slashcode when I joined this site, and it is sitting on my computer. I meandered through it, mostly because I was interested in seeing what NCommander was talking about in some of those posts. It is a good sign that the pipedot code is easy to understand, but I just did a bender with Wordpress, so I'm not in any particular hurry to look at more PHP - but I definitely plan to. Eventually. When the mood or need strikes me.

          • (Score: 2) by crutchy on Thursday May 08 2014, @02:10PM

            by crutchy (179) on Thursday May 08 2014, @02:10PM (#40899) Homepage Journal

            i'm just a tinkerer... rules are meant to be broken, wheels are meant to be reinvented, and methodologies be damned. also, my idea of software design is scrawl on a bunch of sticky notes, so it's probably a good thing i'm not a pro.