### OSCAL 2017, Tirana, Albania - 13 May 2017 ![Oscal 2017](oscal-2017-banner.jpg) ## Building Applications Doesn't Mean Writing It All From Scratch OSCAL 2017, Tirana, Albania - 13 May 2017 Brian (bex) Exelbierd (@bexelbie) github.com/bexelbie/bexelbie-talks-demos/OSCAL.2017.Dont.Write.It.All # Who is this talk for? ## Why this talk? Not all IT engineering jobs are 40 hour coding jobs or systems administration 1. We don't tend to tell people 1. We lose great problem solvers to other professions 1. We lose diversity ### In school we learn to write it all Note: We study how to make everything from the input/output routines to encryption libaries. These lesson are important but also don't directly translate into the kind of work most working engineers do. The importance of these lessons is that they allow us to learn to think and to understand the massive amount of code that already exists. ## Typical School Project: Write code to publish documentation to a website. Your output should publish multiple documents to a single site. You should provide navigation between the documents and have a method of updating the site when the documentation changes. Your project must be browsable from the instructor's computer (you need a server). You should work in teams of 3-4 people. You may use only standard libraries in the language of your choice. ## Divide and Conquer 1. (Person 1) Convert Documentation format to HTML 2. (Person 2) Combine the HTML from multiple documents into a single site 3. (Person 3) Serve the site to a remote web browser 4. (Everybody) Rebuild the website when the documentation changes 1\. (Person 1) Convert Documentation format to HTML ``` # Title of the Document ## Introduction This is a sample document section that describes this document. ``` Becomes ```
This is a sample document section that describes this document.
``` ``` #!/usr/bin/perl while (<>) { chomp; if ($_ eq "") { next; } elsif (s/^# //) { # Found the Title $title = $_; $body .= "".$_."
\n"; } } print <