Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Comment on

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

What is attracting "ordinary" people to computing these days? Two related items have regularly emerged in my casual conversations over the past year or more. The first is the Arduino phenomenon. Arduino's programming language is loosely based on Wiring and is similar to C++ according to those in the know. Another area of growing interest relates to the Processing programming language which is loosely based on Java. The latter has commonalities with the former in terms of their IDEs which I like for their rather captivating minimalist design and approach.

Processing is attractive to artists and those concerned with communicating visually--this is not typically considered one of Perl's strong points (however, compare, Martien Verbruggen, Shawn P. Wallace, et alia). Its having been ported successfully to Javascript using the Canvass element nearly three years ago means that Processing visualisation language outputs can be rendered in modern web-browsers (google John Resig and Processing.js or visit Arduino is being taken up by people who increasingly wish to have some engagement with the technologies that are influencing their lives. Strong synergies are being created between the open source software and hardware communities and cultures. New opportunities are emerging to interest the larger community in computing.

For all of their short-comings, the troika comprised of Web Development with Apache and Perl (WDWAP) (Theo Paterson, 2002), CGI Programming 101: Programming Perl for the World Wide Web, Second Edition (Jaqueline "Kira" Hamilton, the 2004 edition both expands--50% longer--and improves upon the 1999 edition and, for the most part, is the basis of the materials offered on the CGI101 web-site), and Beginning Web Development with Perl (Steve Suehring, 2006; James Lee was the technical reviewer) are still a good resource set for helping people become engaged with computing through the development of their own personal or communal web-sites. At least, it would seem so to me.

When necessary, this troika can certainly be supplemented by Beginning Perl (James Lee, 2010, Third Edition), the perldoc resources, the CGI portion of the Apache2 manual, and so forth. There are other good books as well and a large library can soon be collected (of O'Reilly books alone!). But, encouraging people to get their hands on things and to learn by doing is fundamental. Most people will not be interested in learning a language, much less a computer language, if there is no relevance to their daily lives.

By the third chapter of WDWAP (or, the second chapter of CGI101), you are already writing Perl programs whose none trivial effect you can actually see in your own browser. And, you feel as if you are being guided by people who want you to learn something that is of interest to you and not to them, merely. This sort of pedagogy is fantastic; it is basic to the success of the present Arduino phenomenon. But, it is not easy to pull off. In fact, it is very easy to miss the teachable moment entirely.

Larry Wall had a great idea when he developed a computer language which was very much like a human language. In fact, it was a brilliant idea for so many reasons that can be more fully discussed at another time. However, one point for now: human languages are best learnt in the home whilst engaged in mundane activities, or by immersion in a community of practice, such as some work-based activities. So, too, computer languages. "Straightforward" CGI, if you will, seems more generally suited for one domain these days and medium to large-scale web development frameworks for the other.

Yet, the home context is not insignificant. There are literally tens of thousands of old boxes in garages or on their way to land-fills that could be loaded with Linux-based desktop and server software. (While very much an amateur at this, I spend a fair amount of time collecting, reloading and, then, redistributing such boxes in communities of disadvantage.) More importantly, if there were whole neighborhoods families running local servers, think of the dynamics that would be created in terms of local knowledge generation, knowledge transfer (particularly important in Aboriginal and Torres Strait Islander communities) and community support for a wide variety of projects.

One such project might be the implementation of a wide-area community-based urban gardening program which is a known improver of both personal and public health. Large amounts of data can be collected, stored and shared through time to create new understandings and develop new practices. It would even be possible to link-up with Arduino-based projects. For instance, the data from a variety of home-based weather stations can be communicated to a web-server that both stores and redistributes the information throughout a larger network. Of course, such a project could be easily extended into the local schools.

Few, if any, of these projects would require either medium or large-scale web development frameworks to create and maintain their sites; at least, not at first. Anyway, that's my opinion, such as it may be.

In reply to Web Development with Apache and Perl, etcetera by mrdurtal

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others scrutinizing the Monastery: (4)
    As of 2018-12-13 12:56 GMT
    Find Nodes?
      Voting Booth?
      How many stories does it take before you've heard them all?

      Results (62 votes). Check out past polls.