├── .gitmodules
├── 0 - Sample
├── Sample.pdf
├── Sample.pptx
├── license.txt
└── readme.md
├── 5 Tips for Cultivating Emotional Intelligence in the Workplace
└── readme.md
├── 7 Languages in 7 Hours
└── readme.md
├── A Crash Course on Building Microservice-based Architectures
└── readme.md
├── A Math-Free Intorduction to Neural Networks
└── readme.md
├── A Technical Tour of Real-World Web Application Vulnerabilities
└── readme.md
├── A-new-storm-is-brewing-Spring-Data-Flow-Server-for-Kubernetes
├── license.txt
├── readme.md
└── spring-data-flow-CM2017.pdf
├── AgileSwift
└── AgileSwift.pdf
├── Asset Template Guides
└── readme.md
├── Bash On Ubuntu On Windows
├── BashOnUbuntuOnWindows.pptx
└── README.MD
├── Bedtime Stories
└── readme.md
├── Beyond the language the importance of algorithms in programming
└── readme.md
├── Big Data == Big Testing
└── readme.md
├── Bringing Up Our Future - On Mentoring Junior Developers
├── Bringing Up Our Future - On Mentoring Junior Developers.pdf
└── Readme.md
├── Building Lightsabers Workshop
└── readme.md
├── Building Self-Defending Applications With AppSensor
└── README.md
├── Building Serverless Applications in AWS Workshop
└── readme.md
├── Building Serverless Software with AWS Lambda
├── presentation with notes.pdf
├── presentation.pdf
└── readme.md
├── Building a Better Development Shop
├── Readme.md
└── TheSoftwareGuild-HowToBuildABetterDevelopmentShop-CodeMash Presentation 1-9-17.pptx
├── Building failure resistant systems with circuit breakers
├── Building failure resistant systems with circuit breakers.pdf
└── Readme.md
├── Building for the PHP Command Line Interface
├── .bowerrc
├── .editorconfig
├── .gitignore
├── .jshintrc
├── .yo-rc.json
├── Gruntfile.coffee
├── README.md
├── bower.json
├── css
│ ├── source
│ │ └── theme.scss
│ └── theme.css
├── js
│ └── loadhtmlslides.js
├── package.json
├── resources
│ ├── .gitkeep
│ ├── emily.jpg
│ └── tim-lytle.jpg
├── slides
│ ├── about-me.md
│ ├── argc.md
│ ├── args.md
│ ├── argv.md
│ ├── artisan.md
│ ├── benefits.md
│ ├── best-practices.md
│ ├── composability.md
│ ├── composability2.md
│ ├── daemons.md
│ ├── dont-assume-anything.md
│ ├── drush.md
│ ├── emily.md
│ ├── environment-variables.md
│ ├── environment-variables2.md
│ ├── escapeshellcmd.md
│ ├── escaping-arguments.md
│ ├── escaping-shell-commands.md
│ ├── example-symfony-console.md
│ ├── example-symfony-console2.md
│ ├── example-symfony-console3.md
│ ├── example-symfony-console4.md
│ ├── examples.md
│ ├── exit-codes.md
│ ├── exit-codes2.md
│ ├── garbage-collection.md
│ ├── getopt.md
│ ├── how-does-it-run.md
│ ├── in-the-wild.md
│ ├── index.md
│ ├── joomla-console.md
│ ├── list.json
│ ├── php-cli-tools-example.md
│ ├── php-cli-tools-example2.md
│ ├── php-cli-tools.md
│ ├── php-sapi.md
│ ├── symfony-console.md
│ ├── system-commands.md
│ ├── system-commands2.md
│ ├── system-commands3.md
│ ├── thank-you.md
│ ├── types-of-arguments.md
│ ├── verbosity.md
│ ├── when-might-i-use-them.md
│ ├── why-the-cli.md
│ ├── wp-cli-example.md
│ ├── wp-cli-example2.md
│ ├── wp-cli-example3.md
│ ├── wp-cli-example4.md
│ ├── wp-cli.md
│ └── writing-your-own-scripts.md
└── templates
│ ├── _index.html
│ └── _section.html
├── Caching Made Bootiful
└── readme.md
├── Can I Build a 12-Factor App in .Net
└── Can I Build a 12-Factor App in .Net.pptx
├── Chipping away at the monolith with Go
├── demos
│ ├── README.md
│ ├── go-kit
│ │ └── main.go
│ ├── interfaces
│ │ └── main.go
│ └── server
│ │ └── main.go
└── readme.md
├── Clouds and Containers
└── readme.md
├── Components-and-More-Effective-Angular-2-Testing-Strategies
└── README.md
├── Containers for Windows Developers
└── README.md
├── DDD for Beginners
└── readme.md
├── Declarative testing for JavaScript applications
├── .jshintrc
├── Gruntfile.js
├── README.md
├── bs-config.json
├── dist
│ ├── css
│ │ ├── app.min.css
│ │ └── bootstrap.min.css
│ ├── fonts
│ │ ├── glyphicons-halflings-regular.eot
│ │ ├── glyphicons-halflings-regular.svg
│ │ ├── glyphicons-halflings-regular.ttf
│ │ ├── glyphicons-halflings-regular.woff
│ │ └── glyphicons-halflings-regular.woff2
│ ├── index.html
│ └── js
│ │ ├── app.min.js
│ │ ├── app.uglified.js.map
│ │ └── ui-bootstrap-tpls.js
├── generators
│ └── generator-my-app
│ │ ├── .gitignore
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── generators
│ │ ├── app
│ │ │ ├── index.js
│ │ │ └── templates
│ │ │ │ └── dummyfile.txt
│ │ └── display
│ │ │ ├── index.js
│ │ │ └── templates
│ │ │ ├── display.expect.js.tmplt
│ │ │ ├── display.html.tmplt
│ │ │ ├── display.js.tmplt
│ │ │ ├── display.spec.js.tmplt
│ │ │ └── tab-summary.html.tmplt
│ │ ├── gulpfile.js
│ │ └── package.json
├── karma.conf.js
├── package.json
├── src
│ ├── components
│ │ └── project
│ │ │ ├── display.html
│ │ │ ├── display.js
│ │ │ └── tab-summary.html
│ ├── css
│ │ └── index.less
│ ├── index.html
│ ├── js
│ │ └── app.js
│ └── tmp
│ │ ├── app-components.js
│ │ ├── app.annotated.js
│ │ ├── app.max.css
│ │ ├── app.min.js
│ │ ├── app.uglified.js
│ │ └── app.uglified.js.map
└── test
│ ├── Jhelpers.js
│ └── structural
│ └── components
│ └── project
│ ├── project.expect.js
│ └── project.spec.js
├── Design Before Code
└── readme.md
├── DevOps at Scale Greek Tragedy in 3 Acts
└── shownotes.md
├── DevOps at Scale
└── readme.md
├── Docker Container Lifecycles Problem or Opportunity
└── shownotes.md
├── Docker and Kubernetes Recipes
├── docker-kubernetes-recipes.pdf
└── readme.adoc
├── Dont Write Secure Code Design Secure Systems
└── readme.md
├── Fat Controller CQRS Diet
└── readme.md
├── Fragments - the solution to (and cause of) all of android's problems
└── readme.md
├── From Zero to the Actor Model
└── readme.md
├── Full Stack ASP.NET Performance
└── readme.md
├── Functional Reactive Programming with JavaScript
└── readme.md
├── GraphQL What it is and why you should care
└── readme.md
├── Hacking and Hardening Java Web Applications
└── readme.md
├── Horizontally Scaling Nodejs and WebSockets
└── readme.md
├── How to Disclose a Security Vulnerability
├── README.md
├── license.txt
└── slides.pdf
├── How to Have the Best Dates Ever
├── Readme.md
└── readme.md
├── How to Hire Programmers You'll Want as Teammates
└── readme.md
├── How to write Java web apps like a JS hipster
└── readme.md
├── Implementing Binary Protocols With Elixir
└── readme.md
├── Incredibly Strange Programming Languages
└── readme.md
├── Integrating React Into A Legacy Web App
└── readme.md
├── Introducing Managed Effects
├── README.md
└── slides.pdf
├── Java 8 Puzzlers The strange the bizarre and the wonderful
└── shownotes.md
├── JavaScript Robotics - Not a Bad Idea
└── readme.md
├── Lets Write a Lambda Calculus in Haskell
├── LambdaCal.hs
├── Let's Write a Lambda Calculus in Haskell.pdf
└── README.mkd
├── Life After Nil
└── Readme.md
├── Mashing Up QA and Security
└── readme.md
├── Migrating the Monolithic to the Microscopic
└── README.md
├── Netflix Culture Freedome and Responsibility
└── readme.md
├── Patterns of Effective Test Setup
└── readme.md
├── Practical Data Science with R
└── readme.md
├── PracticalAtdd
└── Readme.md
├── Preparing for This Augmented Life
└── readme.md
├── Programmers dont have to suck at UX and UI
└── readme.md
├── README.md
├── React Everywhere
└── readme.md
├── Real-time Server Telemetry-The downfall of logging and rise of data pipelines
└── readme.md
├── Rules as an Architectural Pattern For Development
└── readme.md
├── SQL Server Perfomance Tuning
└── readme.md
├── Scale Your Node Application Skip the Infrastructure
└── readme.md
├── Shiny Lets Be Bad Guys
└── readme.md
├── Sowing-Seeds-of-STEM-thru-TechnoFashion
├── README.md
└── Sowing the Seeds of STEM Through Techno-Fashion.pdf
├── Style Guides
└── readme.md
├── Taming the JavaScript Dragon with TypeScript
└── readme.md
├── Testing at the boundaries - using Consumer Driven Contracts to keep your microservices in sync
└── README.md
├── The Evolution of Memory and Resource Management
├── Memory-and-Resource-Management-Slides.pdf
└── readme.md
├── The Mindful Developer
└── readme.md
├── The Rust Language - Memory, Ownership and Lifetimes
├── Rust-Language-Slides.pdf
└── readme.md
├── Threat Modeling For Secure Software Design
└── readme.md
├── Tips and Tricks for Testing Lambda Expressions in Android
└── readme.md
├── Toward a Better Front-end Architecture Elm
└── readme.md
├── What are Observables and why should I care
└── readme.md
├── [KidzMash] You put the Object in, you take the Object out, … and you shake it all about.
└── KidzMash2017-OOP.pdf
├── electron-desktop-development-for-web-developers
├── Electron Desktop Development for Web Developers.pptx
└── Readme.md
└── stranger-streams-howto-rxandroid
└── readme.md
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "electron-desktop-development-for-web-developers/electron-demo"]
2 | path = electron-desktop-development-for-web-developers/electron-demo
3 | url = https://github.com/cwoodruff/electron-demo.git
4 | [submodule "electron-desktop-development-for-web-developers/electron-react-demo"]
5 | path = electron-desktop-development-for-web-developers/electron-react-demo
6 | url = https://github.com/cwoodruff/electron-react-demo.git
7 | [submodule "electron-desktop-development-for-web-developers/electron-photon-demo"]
8 | path = electron-desktop-development-for-web-developers/electron-photon-demo
9 | url = https://github.com/cwoodruff/electron-photon-demo.git
10 |
--------------------------------------------------------------------------------
/0 - Sample/Sample.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TechConf/CodeMash2017/8e2a312dda243c05d209818ab2d00b318ef06252/0 - Sample/Sample.pdf
--------------------------------------------------------------------------------
/0 - Sample/Sample.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TechConf/CodeMash2017/8e2a312dda243c05d209818ab2d00b318ef06252/0 - Sample/Sample.pptx
--------------------------------------------------------------------------------
/0 - Sample/license.txt:
--------------------------------------------------------------------------------
1 | All content in this directory is under a Creative Commons Attribution-ShareAlike 3.0 Unported License ( http://creativecommons.org/licenses/by-sa/3.0/ )
--------------------------------------------------------------------------------
/0 - Sample/readme.md:
--------------------------------------------------------------------------------
1 | This is the readme for the sample session
2 | ============
3 |
4 | You can see my blog at http://www.kuemerle.com
5 |
6 | Follow me on Twitter at http://twitter.com/jkuemerle
7 |
8 |
9 |
--------------------------------------------------------------------------------
/5 Tips for Cultivating Emotional Intelligence in the Workplace/readme.md:
--------------------------------------------------------------------------------
1 | From [@uckygirliegirl](https://twitter.com/uckygirliegirl) material for [5 Tips for Cultivating Emotional Intelligence in the Workplace](http://christinaaldan.com/5TIPS4EQ/)
2 |
--------------------------------------------------------------------------------
/7 Languages in 7 Hours/readme.md:
--------------------------------------------------------------------------------
1 | [Repository](https://github.com/crebma/7-languages) (Note: Contains presentation)
2 | ---
3 | ##### 7 Languages in 7 Hours
4 | * 1/10/17 8:00 am
5 | * Speakers: Amber Conville
6 | * Room: Indigo Bay
7 | * Tags: Other, Ruby/Rails, Testing, Functional Programming
8 | * Category: Pre-Compiler
9 | ---
10 |
11 | Hands-on experience in seven different languages, ranging from object-oriented to functional, from the cozy and familiar to the eye-squintingly terse and foreign. You’ll work through a familiar kata in each of them, showing you how to approach an entirely new language. You’ll learn about the strengths and weaknesses of each language out in the real world. You’ll also see how each language’s quirks can teach us ways to improve the code we write every day. You may not come out of this pre-compiler an expert in all of these languages, but you’ll have learned a lot about how to get started with a new one. You may even discover a new passion! At the very least, the next time a new language comes along, you’ll have the tools you need to tackle it, and enough knowledge to help you push past the “what is this syntax even doing” barrier. Languages: Ruby, Clojure, Haskell, Rust, Scala, Elixir, Go
12 | © 2017 CodeMash Conference, an Ohio Non-Profit Organization
13 |
--------------------------------------------------------------------------------
/A Crash Course on Building Microservice-based Architectures/readme.md:
--------------------------------------------------------------------------------
1 | [Repository and Presentation](https://github.com/shawnewallace/choreographed_process)
2 | ---
3 | ##### A Crash Course on Building Microservice-based Architectures
4 | * 1/13/17 12:15 pm
5 | * Speakers: Shawn Wallace
6 | * Room: Zambezi
7 | * Tags: Other
8 | * Category: General Session
9 | ---
10 |
11 | Driven by popular DevOps stories, many large and successful companies are implementing and singing the praises of microservice-based architectures. Is it time for your organization to get on board too?
12 |
13 | In this session, we’ll discuss:
14 | * Why implementing microservice-based architectures is something to consider
15 | * How this approach is different from “traditional” service-oriented architectures
16 | * How microserice-based applications are designed and implemented
17 | * Benefits and possible pitfalls to work around
18 | * Tooling tricks to give you a head start to “predictable” success
19 |
20 | We’ll also talk about topics such as state management, data persistence, transaction support and the role of the enterprise so you can better decide if you should stay with your current process or go forward with a microservice-based architecture.
21 |
--------------------------------------------------------------------------------
/A Math-Free Intorduction to Neural Networks/readme.md:
--------------------------------------------------------------------------------
1 | From Slack, material for [A Math-Free Intorduction to Neural Networks](https://www.dropbox.com/s/nt11oo8v4wd9rzb/math-free-neural-nets.pdf?dl=0)
2 |
--------------------------------------------------------------------------------
/A Technical Tour of Real-World Web Application Vulnerabilities/readme.md:
--------------------------------------------------------------------------------
1 | From slides of @presidentbeef [A Technical Tour of Real-World Web Application Vulnerabilities](https://docs.google.com/presentation/d/1Yh2ogUE5Z8m0bfy2b5Xr4F4t9d0OaWwlaQHooqY7K4s/pub?start=false&loop=false&delayms=3000&slide=id.p)
2 |
3 |
4 |
--------------------------------------------------------------------------------
/A-new-storm-is-brewing-Spring-Data-Flow-Server-for-Kubernetes/license.txt:
--------------------------------------------------------------------------------
1 | All content in this directory is under a Creative Commons Attribution-ShareAlike 3.0 Unported License ( http://creativecommons.org/licenses/by-sa/3.0/ )
--------------------------------------------------------------------------------
/A-new-storm-is-brewing-Spring-Data-Flow-Server-for-Kubernetes/readme.md:
--------------------------------------------------------------------------------
1 | A new storm is brewing: Spring Data Flow Server for Kubernetes
2 | ============
3 |
4 | This presentation was an introduction / overview to Spring Cloud Data Flow Server
5 | with a demonstration in a local developer environment and a Kubernetes minikube environment.
6 |
7 | [spring-data-flow-CM2017.pdf](spring-data-flow-CM2017.pdf) is a copy of the slides.
8 |
9 | For updated slides and scripts you can go to
10 | [https://github.com/lseinc/intro-spring-data-flow-CM2017](https://github.com/lseinc/intro-spring-data-flow-CM2017).
11 |
12 | Enjoy!
13 |
14 | David D Lucas
15 | @DavidDLucas
16 |
17 |
--------------------------------------------------------------------------------
/A-new-storm-is-brewing-Spring-Data-Flow-Server-for-Kubernetes/spring-data-flow-CM2017.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TechConf/CodeMash2017/8e2a312dda243c05d209818ab2d00b318ef06252/A-new-storm-is-brewing-Spring-Data-Flow-Server-for-Kubernetes/spring-data-flow-CM2017.pdf
--------------------------------------------------------------------------------
/AgileSwift/AgileSwift.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TechConf/CodeMash2017/8e2a312dda243c05d209818ab2d00b318ef06252/AgileSwift/AgileSwift.pdf
--------------------------------------------------------------------------------
/Asset Template Guides/readme.md:
--------------------------------------------------------------------------------
1 | From [@nicetransition](https://twitter.com/nicetransition) material for [Asset Template Guides](http://nicetransition.com/Kevin-Mack_Asset-Template-Guides_CodeMash-01-12-17.pdf)
2 |
--------------------------------------------------------------------------------
/Bash On Ubuntu On Windows/BashOnUbuntuOnWindows.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TechConf/CodeMash2017/8e2a312dda243c05d209818ab2d00b318ef06252/Bash On Ubuntu On Windows/BashOnUbuntuOnWindows.pptx
--------------------------------------------------------------------------------
/Bash On Ubuntu On Windows/README.MD:
--------------------------------------------------------------------------------
1 | # Bash on Ubuntu on Windows #
2 | - 1/12/17 10:30 am
3 | ## Speakers: Paul DeCarlo
4 | - Room: Sagewood, Zebrawood
5 | - Tags: Cloud/Big Data, .NET, Other, JavaScript, Ruby/Rails
6 | - Category: General Session ##
7 |
8 | Windows 10 now provides developers with a familiar Bash environment. This environment will allow users to:
9 |
10 |
11 | 1. Run native Linux binaries including grep, sed, and awk
12 | 2. Navigate a new Linux based file system using these commands
13 | 3. Run bash shell scripts which rely on supported command line utilities
14 |
15 | Windows accomplishes this through the Windows Subsystem for Linux which allows Ubuntu user-mode binaries provided by Canonical to run on Windows 10. This means that the command line utilities are the same as those that run within a native Ubuntu environment.
16 |
17 | In this session we will showcase scripting, code editing / compilation, and execution of X11 apps compiled for Linux using a local X11 server from within the Bash on Ubuntu on Windows environment.
18 |
19 | We will then discuss the implications of these features as they relate to existing developer workflows. This will include a demonstration showcasing compilation of various programs using node.js, python, c++, asp.net, ruby and even a port of the original first person shooter Quake.
20 |
21 | We will also include a demonstration showing how to build and deploy a Ruby based web application from within Visual Studio Code using Bash on Ubuntu on Windows as an integrated terminal. Finally, we will show how to obtain the latest bits for Bash on Ubuntu on Windows that are shipped in the upcoming Windows 10 Anniversary update.
--------------------------------------------------------------------------------
/Bedtime Stories/readme.md:
--------------------------------------------------------------------------------
1 | From [@sbastn](https://twitter.com/sbastn) material for [Bedtime Stories](http://yiddish.ninja/bedtime-stories/)
2 |
--------------------------------------------------------------------------------
/Beyond the language the importance of algorithms in programming/readme.md:
--------------------------------------------------------------------------------
1 | From [@weppos](https://twitter.com/weppos) material for [Beyond the language: the importance of algorithms in programming](https://slidr.io/weppos/beyond-the-language-the-importance-of-algorithms-codemash-2017#1)
2 |
--------------------------------------------------------------------------------
/Big Data == Big Testing/readme.md:
--------------------------------------------------------------------------------
1 | From Slack, material for [Big Data == Big Testing](https://docs.google.com/presentation/d/1uJXcmUO31kdwjaP8IotkGYmuMBIHZ-p6flNXMITNYNg/edit#slide=id.p4)
2 |
--------------------------------------------------------------------------------
/Bringing Up Our Future - On Mentoring Junior Developers/Bringing Up Our Future - On Mentoring Junior Developers.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TechConf/CodeMash2017/8e2a312dda243c05d209818ab2d00b318ef06252/Bringing Up Our Future - On Mentoring Junior Developers/Bringing Up Our Future - On Mentoring Junior Developers.pdf
--------------------------------------------------------------------------------
/Bringing Up Our Future - On Mentoring Junior Developers/Readme.md:
--------------------------------------------------------------------------------
1 | #### Bringing Up Our Future – On Mentoring Junior Developers
2 | * 1/12/17 4:45 pm
3 | * Speakers: Sarah Dutkiewicz
4 |
5 | ---
6 | While it is one thing to learn from videos or blog posts, it is a different experience when you have someone to turn to that can answer the questions you have when you have them. It makes a world of difference to be able to ask someone "What do they mean when they say "inheritance vs. interfaces'?" When you have someone who forces you to think about what it is you want in life and what steps you may need to take to get there… someone who can make introductions and offer direction… it makes your career and life a little less scary and a lot more manageable. In this session, we will look at some practices that are used by great mentors in the field and learn lessons on how we can be great role models and mentors for our future – junior developers!
7 |
--------------------------------------------------------------------------------
/Building Lightsabers Workshop/readme.md:
--------------------------------------------------------------------------------
1 | From [@javajudd](https://twitter.com/javajudd) [slides](https://s3.amazonaws.com/cmj-presentations/lightsabers-codemash-2017.pdf), [worksheet](https://s3.amazonaws.com/cmj-presentations/worksheet-codemash-2017.pdf) and [Instructables](http://www.instructables.com/id/Lightsabers-for-Learning-Basic-Electronics/) for KidzMash Building Lightsabers workshop.
2 |
--------------------------------------------------------------------------------
/Building Self-Defending Applications With AppSensor/README.md:
--------------------------------------------------------------------------------
1 | Slides for [Building Self-Defending Applications With AppSensor](http://www.slideshare.net/jtmelton/appsensor-codemash-2017)
2 |
3 | Contact: @_jtmelton on Twitter
4 |
--------------------------------------------------------------------------------
/Building Serverless Applications in AWS Workshop/readme.md:
--------------------------------------------------------------------------------
1 | [Presentation](https://s3.amazonaws.com/cmj-presentations/serverless-codemash-2017.pdf)
2 | ---
3 | ##### Building Serverless Applications in AWS Workshop
4 | * Date: 1/11/17 1:00 pm
5 | * Speakers: [Christopher Judd](https://twitter.com/javajudd) and [Jarred Olson](https://twitter.com/jarredolson)
6 | * Room: Nile
7 | * Tags: Cloud/Big Data, JavaScript
8 | * Category: Pre-Compiler
9 | ----
10 | Tired of trying to manage and maintain servers? Never have a large enough operations team? Don’t have a budget for running lots of server? Don’t want to pay for servers siting idle? Afraid you might become so popular that you won’t be able to scale fast enough? Don’t worry, it is possible to alleviate these issues by moving to a serverless architecture that utilizes microservices hosted in the cloud. This type of architecture can support all different types of clients including web, mobile and IoT. During this hands-on workshop, you will build a serverless application utilizing AWS services such as Lambda, API Gateway, S3 and a datastore.
11 |
--------------------------------------------------------------------------------
/Building Serverless Software with AWS Lambda/presentation with notes.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TechConf/CodeMash2017/8e2a312dda243c05d209818ab2d00b318ef06252/Building Serverless Software with AWS Lambda/presentation with notes.pdf
--------------------------------------------------------------------------------
/Building Serverless Software with AWS Lambda/presentation.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TechConf/CodeMash2017/8e2a312dda243c05d209818ab2d00b318ef06252/Building Serverless Software with AWS Lambda/presentation.pdf
--------------------------------------------------------------------------------
/Building Serverless Software with AWS Lambda/readme.md:
--------------------------------------------------------------------------------
1 | [Slides from PittsburgTechFest 2016](https://github.com/PghTechFest/PghTechFest2016/blob/master/building%20serverless%20software%20with%20AWS%20lambda%20-%20Jon%20Knapp.pdf)
2 | [Video from Erie Day of Code 2016](https://www.youtube.com/watch?v=i5hhcZk31t8)
3 | [What Does Lambda Support Reference Site](http://whatdoeslambdasupport.com)
4 | ---
5 | ##### Building “serverless” software with AWS Lambda
6 | * Date: 1/12/17 1:00 pm
7 | * Speakers: Jonathan Knapp
8 | * Room: Indigo Bay
9 | * Tags: Other, JavaScript
10 | * Category: General Session
11 | ---
12 | I was asked to build a fuzzytext search interface for information stored in the SEC’s massive Edgar database which holds all of the electronic documents filed with the SEC. By leveraging managed ElasticSearch, S3 for document storage, and the asynchronous job processing power of AWS Lambda I was able to build a solution that required absolutely no ongoing server maintenance for my client. In this talk I’ll explain how I was able to: – parse gigabytes of info without IP activity restrictions – provide an easy way to scale or disable the application – continuously monitor parsing activity and application health You will learn about the different services I utilized with their strengths and weaknesses as well as alternative services like Iron.io which allows you to write code in many different languages. I’ll also talk about different ways async processing can be applied to other situations such as managing contact forms for static websites as FormKeep does.
13 |
--------------------------------------------------------------------------------
/Building a Better Development Shop/Readme.md:
--------------------------------------------------------------------------------
1 | #### Building a Better Development Shop
2 | * 1/13/17 1:30 pm
3 | * Speakers: Eric Wise, The Software Guild
4 |
5 | ---
6 | In a world where "every company is becoming a software company", building and managing a software development team that can consistently deliver value is a key concern for hiring managers and executives. In this presentation we cover the key qualities of good software, discuss research showing why hiring great developers pays big dividends, explore why your hiring process sucks, and cover common traits of high performing teams, and more importantly things in your environment that drive great developers away. Bonus: Most of the recommendations are inexpensive!
7 |
--------------------------------------------------------------------------------
/Building a Better Development Shop/TheSoftwareGuild-HowToBuildABetterDevelopmentShop-CodeMash Presentation 1-9-17.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TechConf/CodeMash2017/8e2a312dda243c05d209818ab2d00b318ef06252/Building a Better Development Shop/TheSoftwareGuild-HowToBuildABetterDevelopmentShop-CodeMash Presentation 1-9-17.pptx
--------------------------------------------------------------------------------
/Building failure resistant systems with circuit breakers/Building failure resistant systems with circuit breakers.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TechConf/CodeMash2017/8e2a312dda243c05d209818ab2d00b318ef06252/Building failure resistant systems with circuit breakers/Building failure resistant systems with circuit breakers.pdf
--------------------------------------------------------------------------------
/Building failure resistant systems with circuit breakers/Readme.md:
--------------------------------------------------------------------------------
1 | #### Building failure resitant systems with circuit breakers
2 | * 1/13/17 12:15 pm
3 | * Speakers: Stuart Ingram
4 |
5 | ---
6 | Murphy’s law is universal and constant, if something can go wrong it will go wrong, which is especially true of distributed heterogeneous systems. Failures can take many forms from a complete service breakdown to a single latent service causing a cascading catastrophic failure for your users or even intermittent service failures. This talk will discuss how to build resilient, highly available systems utilizing circuit breaker and bulkhead design patterns that help provide service and user guarantees regardless of service QoS breakdowns. See how visualizing the telemetry around service interactions, latency and failures can provide valuable early insights into growing problems before they affect your customers. Learn how Netflix, one of the largest examples of a distributed system, implements these patterns at scale and how you can apply them to your infrastructure big or small. Failure is now an option when implemented the right way!
7 |
--------------------------------------------------------------------------------
/Building for the PHP Command Line Interface/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "bower_components"
3 | }
4 |
--------------------------------------------------------------------------------
/Building for the PHP Command Line Interface/.editorconfig:
--------------------------------------------------------------------------------
1 | # http://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | indent_style = space
6 | indent_size = 4
7 | end_of_line = lf
8 | charset = utf-8
9 | trim_trailing_whitespace = true
10 | insert_final_newline = true
11 |
--------------------------------------------------------------------------------
/Building for the PHP Command Line Interface/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | bower_components
3 | dist
4 | *.log
5 | .sass-cache
6 | /index.html
7 |
--------------------------------------------------------------------------------
/Building for the PHP Command Line Interface/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "esnext": true,
3 | "bitwise": true,
4 | "camelcase": true,
5 | "curly": true,
6 | "eqeqeq": true,
7 | "immed": true,
8 | "indent": 4,
9 | "latedef": true,
10 | "newcap": true,
11 | "noarg": true,
12 | "quotmark": "single",
13 | "undef": true,
14 | "unused": true,
15 | "strict": true,
16 | "trailing": true,
17 | "smarttabs": true,
18 | "white": true
19 | }
20 |
--------------------------------------------------------------------------------
/Building for the PHP Command Line Interface/.yo-rc.json:
--------------------------------------------------------------------------------
1 | {
2 | "generator-reveal": {
3 | "presentationTitle": "Writing for the PHP Command Line Interface",
4 | "packageVersion": "0.1.0",
5 | "useSass": true,
6 | "deployToGithubPages": true,
7 | "githubUsername": "stevegrunwell",
8 | "githubRepository": "writing-for-php-cli"
9 | }
10 | }
--------------------------------------------------------------------------------
/Building for the PHP Command Line Interface/Gruntfile.coffee:
--------------------------------------------------------------------------------
1 | # Generated on 2016-04-03 using generator-reveal 0.5.8
2 | module.exports = (grunt) ->
3 |
4 | grunt.initConfig
5 | pkg: grunt.file.readJSON 'package.json'
6 |
7 | watch:
8 |
9 | livereload:
10 | options:
11 | livereload: true
12 | files: [
13 | 'index.html'
14 | 'slides/{,*/}*.{md,html}'
15 | 'js/*.js'
16 | 'css/*.css'
17 | 'resources/**'
18 | ]
19 |
20 | index:
21 | files: [
22 | 'templates/_index.html'
23 | 'templates/_section.html'
24 | 'slides/list.json'
25 | ]
26 | tasks: ['buildIndex']
27 |
28 | coffeelint:
29 | files: ['Gruntfile.coffee']
30 | tasks: ['coffeelint']
31 |
32 | jshint:
33 | files: ['js/*.js']
34 | tasks: ['jshint']
35 |
36 | sass:
37 | files: ['css/source/theme.scss']
38 | tasks: ['sass']
39 |
40 | sass:
41 |
42 | theme:
43 | files:
44 | 'css/theme.css': 'css/source/theme.scss'
45 |
46 | connect:
47 |
48 | livereload:
49 | options:
50 | port: 9001
51 | # Change hostname to '0.0.0.0' to access
52 | # the server from outside.
53 | hostname: 'localhost'
54 | base: '.'
55 | open: true
56 | livereload: true
57 |
58 | coffeelint:
59 |
60 | options:
61 | indentation:
62 | value: 4
63 | max_line_length:
64 | level: 'ignore'
65 |
66 | all: ['Gruntfile.coffee']
67 |
68 | jshint:
69 |
70 | options:
71 | jshintrc: '.jshintrc'
72 |
73 | all: ['js/*.js']
74 |
75 | copy:
76 |
77 | dist:
78 | files: [{
79 | expand: true
80 | src: [
81 | 'slides/**'
82 | 'bower_components/**'
83 | 'js/**'
84 | 'css/*.css'
85 | 'resources/**'
86 | ]
87 | dest: 'dist/'
88 | },{
89 | expand: true
90 | src: ['index.html']
91 | dest: 'dist/'
92 | filter: 'isFile'
93 | },
94 | {
95 | expand: false
96 | src: ['node_modules/reveal-ga/dist/reveal-ga.min.js']
97 | dest: 'dist/js/reveal-ga.min.js'
98 | filter: 'isFile'
99 | }]
100 |
101 |
102 | buildcontrol:
103 |
104 | options:
105 | dir: 'dist'
106 | commit: true
107 | push: true
108 | message: 'Built from %sourceCommit% on branch %sourceBranch%'
109 | pages:
110 | options:
111 | remote: '<%= pkg.repository.url %>'
112 | branch: 'gh-pages'
113 |
114 |
115 |
116 | # Load all grunt tasks.
117 | require('load-grunt-tasks')(grunt)
118 |
119 | grunt.registerTask 'buildIndex',
120 | 'Build index.html from templates/_index.html and slides/list.json.',
121 | ->
122 | indexTemplate = grunt.file.read 'templates/_index.html'
123 | sectionTemplate = grunt.file.read 'templates/_section.html'
124 | slides = grunt.file.readJSON 'slides/list.json'
125 |
126 | html = grunt.template.process indexTemplate, data:
127 | slides:
128 | slides
129 | section: (slide) ->
130 | grunt.template.process sectionTemplate, data:
131 | slide:
132 | slide
133 | grunt.file.write 'index.html', html
134 |
135 | grunt.registerTask 'test',
136 | '*Lint* javascript and coffee files.', [
137 | 'coffeelint'
138 | 'jshint'
139 | ]
140 |
141 | grunt.registerTask 'serve',
142 | 'Run presentation locally and start watch process (living document).', [
143 | 'buildIndex'
144 | 'sass'
145 | 'connect:livereload'
146 | 'watch'
147 | ]
148 |
149 | grunt.registerTask 'dist',
150 | 'Save presentation files to *dist* directory.', [
151 | 'test'
152 | 'sass'
153 | 'buildIndex'
154 | 'copy'
155 | ]
156 |
157 |
158 | grunt.registerTask 'deploy',
159 | 'Deploy to Github Pages', [
160 | 'dist'
161 | 'buildcontrol'
162 | ]
163 |
164 |
165 | # Define default task.
166 | grunt.registerTask 'default', [
167 | 'test'
168 | 'serve'
169 | ]
170 |
--------------------------------------------------------------------------------
/Building for the PHP Command Line Interface/README.md:
--------------------------------------------------------------------------------
1 | # Building for the PHP Command Line Interface
2 |
3 | Executing PHP from the command line enables us to interact with our applications in new and interesting ways: from performing site maintenance to scaffolding new projects, CLI tools like [WP-CLI](http://wp-cli.org/), [Artisan](https://laravel.com/docs/5.1/artisan), and [Drush](http://www.drush.org/en/master/) make it easy to interface with our code without ever opening a browser.
4 |
5 | Attendees will be introduced to popular PHP CLI tools and their default capabilities. We'll discuss characteristics of good CLI scripts, strong use-cases for writing custom commands, then write several CLI programs across different platforms.
6 |
7 | #### [View slides](http://stevegrunwell.github.io/building-for-php-cli)
8 |
9 | This presentation also has [a companion repository, full of executable examples from this presentation](https://github.com/stevegrunwell/php-cli-examples).
10 |
11 | ## Notes and links
12 |
13 | * [Symfony Console Component](http://symfony.com/doc/current/components/console/introduction.html) - Project documentation
14 | * [PHP-CLI Tools](https://github.com/wp-cli/php-cli-tools) - GitHub repository
15 | * [Building PHP Daemons and Long Running Processes](https://prezi.com/pymsnzwlieqt/building-php-daemons-and-long-running-processes-tek15/) - Talk from php[tek] 2015 by [Tim Lytle](http://timlytle.net)
16 | * [Exit Codes with Special Meanings](http://tldp.org/LDP/abs/html/exitcodes.html) - The Linux Documentation Project
17 | * [Understanding Exit Codes and How to Use Them in Bash Scripts](http://bencane.com/2014/09/02/understanding-exit-codes-and-how-to-use-them-in-bash-scripts/) - Article by Benjamin Cane
18 |
19 | ### Platform-specific CLI tools
20 |
21 | * [WP-CLI](http://wp-cli.org/)
22 | * [Laravel Artisan](https://laravel.com/docs/5.1/artisan)
23 | * [Drush](http://www.drush.org/en/master/)
24 | * [Joomlatools Console](https://www.joomlatools.com/developer/tools/console/)
25 |
26 | ## Presentation History
27 |
28 | * [CodeMash 2017](http://www.codemash.org/) - January 13, 2017
29 | * [Nomad PHP (EU)](https://nomadphp.com/nomadphp-2016-12-eu/) – December 15, 2016 ([joind.in](https://joind.in/talk/dce28))
30 | * [php[tek] 2016](https://tek.phparch.com/speakers/#66432) – May 27, 2016 ([joind.in](https://joind.in/talk/ce9a4))
31 | * [Columbus PHP Meetup](http://www.meetup.com/phpphp/events/229434721/) – April 13, 2016 ([joind.in](https://joind.in/talk/e9465))
32 |
--------------------------------------------------------------------------------
/Building for the PHP Command Line Interface/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "writing-for-the-php-command-line-interface",
3 | "version": "0.1.0",
4 | "dependencies": {
5 | "reveal.js": "~3.2.0",
6 | "highlightjs": "~9.0.0"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Building for the PHP Command Line Interface/css/source/theme.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Black theme for reveal.js. This is the opposite of the 'white' theme.
3 | *
4 | * Copyright (C) 2015 Hakim El Hattab, http://hakim.se
5 | */
6 |
7 | // This file has been copied over from
8 | // ../../bower_components/reveal.js/css/theme/source/black.scss
9 |
10 | // See ../../bower_components/reveal.js/css/theme/README.md
11 | // for further explanations on how to create a custom reveal.js theme.
12 |
13 | // Default mixins and settings -----------------
14 | @import "../../bower_components/reveal.js/css/theme/template/mixins";
15 | @import "../../bower_components/reveal.js/css/theme/template/settings";
16 | // ---------------------------------------------
17 |
18 |
19 | // Include theme-specific fonts
20 | @import url(../bower_components/reveal.js/lib/font/source-sans-pro/source-sans-pro.css);
21 |
22 |
23 | // Override theme settings (see ../../bower_components/reveal.js/css/theme/template/settings.scss)
24 | $backgroundColor: #222;
25 |
26 | $mainColor: #fff;
27 | $headingColor: #fff;
28 |
29 | $mainFontSize: 38px;
30 | $mainFont: 'Source Sans Pro', Helvetica, sans-serif;
31 | $headingFont: 'Source Sans Pro', Helvetica, sans-serif;
32 | $headingTextShadow: none;
33 | $headingLetterSpacing: normal;
34 | $headingTextTransform: uppercase;
35 | $headingFontWeight: 600;
36 | $linkColor: #42affa;
37 | $linkColorHover: lighten( $linkColor, 15% );
38 | $selectionBackgroundColor: lighten( $linkColor, 25% );
39 |
40 | $heading1Size: 2.5em;
41 | $heading2Size: 1.6em;
42 | $heading3Size: 1.3em;
43 | $heading4Size: 1.0em;
44 |
45 | section.has-light-background {
46 | &, h1, h2, h3, h4, h5, h6 {
47 | color: #222;
48 | }
49 | }
50 |
51 | // Theme template ------------------------------
52 | @import "../../bower_components/reveal.js/css/theme/template/theme";
53 | // ---------------------------------------------
54 |
55 | .slides {
56 |
57 | h2, h3, h4, h5, h6 {
58 | code {
59 | text-transform: none;
60 | }
61 | }
62 |
63 | cite {
64 | display: block;
65 | margin-top: 1em;
66 | font-size: .8em;
67 | }
68 |
69 | .slides-link {
70 | display: block;
71 | margin-top: 1em;
72 | font-size: .86em;
73 | white-space: nowrap;
74 | + .slides-link {
75 | margin-top: 0;
76 | }
77 | }
78 |
79 | .speaker-headshot {
80 | display: inline-block;
81 | vertical-align: middle;
82 | max-width: 15%;
83 | margin-top: 2em;
84 | margin-right: 1em;
85 | transform: rotate(-8deg);
86 | }
87 |
88 | dd + dt {
89 | margin-top: 1em;
90 | }
91 | }
--------------------------------------------------------------------------------
/Building for the PHP Command Line Interface/css/theme.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Black theme for reveal.js. This is the opposite of the 'white' theme.
3 | *
4 | * Copyright (C) 2015 Hakim El Hattab, http://hakim.se
5 | */
6 | @import url(../bower_components/reveal.js/lib/font/source-sans-pro/source-sans-pro.css);
7 | section.has-light-background, section.has-light-background h1, section.has-light-background h2, section.has-light-background h3, section.has-light-background h4, section.has-light-background h5, section.has-light-background h6 {
8 | color: #222; }
9 |
10 | /*********************************************
11 | * GLOBAL STYLES
12 | *********************************************/
13 | body {
14 | background: #222;
15 | background-color: #222; }
16 |
17 | .reveal {
18 | font-family: "Source Sans Pro", Helvetica, sans-serif;
19 | font-size: 38px;
20 | font-weight: normal;
21 | color: #fff; }
22 |
23 | ::selection {
24 | color: #fff;
25 | background: #bee4fd;
26 | text-shadow: none; }
27 |
28 | .reveal .slides > section,
29 | .reveal .slides > section > section {
30 | line-height: 1.3;
31 | font-weight: inherit; }
32 |
33 | /*********************************************
34 | * HEADERS
35 | *********************************************/
36 | .reveal h1,
37 | .reveal h2,
38 | .reveal h3,
39 | .reveal h4,
40 | .reveal h5,
41 | .reveal h6 {
42 | margin: 0 0 20px 0;
43 | color: #fff;
44 | font-family: "Source Sans Pro", Helvetica, sans-serif;
45 | font-weight: 600;
46 | line-height: 1.2;
47 | letter-spacing: normal;
48 | text-transform: uppercase;
49 | text-shadow: none;
50 | word-wrap: break-word; }
51 |
52 | .reveal h1 {
53 | font-size: 2.5em; }
54 |
55 | .reveal h2 {
56 | font-size: 1.6em; }
57 |
58 | .reveal h3 {
59 | font-size: 1.3em; }
60 |
61 | .reveal h4 {
62 | font-size: 1em; }
63 |
64 | .reveal h1 {
65 | text-shadow: none; }
66 |
67 | /*********************************************
68 | * OTHER
69 | *********************************************/
70 | .reveal p {
71 | margin: 20px 0;
72 | line-height: 1.3; }
73 |
74 | /* Ensure certain elements are never larger than the slide itself */
75 | .reveal img,
76 | .reveal video,
77 | .reveal iframe {
78 | max-width: 95%;
79 | max-height: 95%; }
80 |
81 | .reveal strong,
82 | .reveal b {
83 | font-weight: bold; }
84 |
85 | .reveal em {
86 | font-style: italic; }
87 |
88 | .reveal ol,
89 | .reveal dl,
90 | .reveal ul {
91 | display: inline-block;
92 | text-align: left;
93 | margin: 0 0 0 1em; }
94 |
95 | .reveal ol {
96 | list-style-type: decimal; }
97 |
98 | .reveal ul {
99 | list-style-type: disc; }
100 |
101 | .reveal ul ul {
102 | list-style-type: square; }
103 |
104 | .reveal ul ul ul {
105 | list-style-type: circle; }
106 |
107 | .reveal ul ul,
108 | .reveal ul ol,
109 | .reveal ol ol,
110 | .reveal ol ul {
111 | display: block;
112 | margin-left: 40px; }
113 |
114 | .reveal dt {
115 | font-weight: bold; }
116 |
117 | .reveal dd {
118 | margin-left: 40px; }
119 |
120 | .reveal q,
121 | .reveal blockquote {
122 | quotes: none; }
123 |
124 | .reveal blockquote {
125 | display: block;
126 | position: relative;
127 | width: 70%;
128 | margin: 20px auto;
129 | padding: 5px;
130 | font-style: italic;
131 | background: rgba(255, 255, 255, 0.05);
132 | box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2); }
133 |
134 | .reveal blockquote p:first-child,
135 | .reveal blockquote p:last-child {
136 | display: inline-block; }
137 |
138 | .reveal q {
139 | font-style: italic; }
140 |
141 | .reveal pre {
142 | display: block;
143 | position: relative;
144 | width: 90%;
145 | margin: 20px auto;
146 | text-align: left;
147 | font-size: 0.55em;
148 | font-family: monospace;
149 | line-height: 1.2em;
150 | word-wrap: break-word;
151 | box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3); }
152 |
153 | .reveal code {
154 | font-family: monospace; }
155 |
156 | .reveal pre code {
157 | display: block;
158 | padding: 5px;
159 | overflow: auto;
160 | max-height: 400px;
161 | word-wrap: normal; }
162 |
163 | .reveal table {
164 | margin: auto;
165 | border-collapse: collapse;
166 | border-spacing: 0; }
167 |
168 | .reveal table th {
169 | font-weight: bold; }
170 |
171 | .reveal table th,
172 | .reveal table td {
173 | text-align: left;
174 | padding: 0.2em 0.5em 0.2em 0.5em;
175 | border-bottom: 1px solid; }
176 |
177 | .reveal table th[align="center"],
178 | .reveal table td[align="center"] {
179 | text-align: center; }
180 |
181 | .reveal table th[align="right"],
182 | .reveal table td[align="right"] {
183 | text-align: right; }
184 |
185 | .reveal table tr:last-child td {
186 | border-bottom: none; }
187 |
188 | .reveal sup {
189 | vertical-align: super; }
190 |
191 | .reveal sub {
192 | vertical-align: sub; }
193 |
194 | .reveal small {
195 | display: inline-block;
196 | font-size: 0.6em;
197 | line-height: 1.2em;
198 | vertical-align: top; }
199 |
200 | .reveal small * {
201 | vertical-align: top; }
202 |
203 | /*********************************************
204 | * LINKS
205 | *********************************************/
206 | .reveal a {
207 | color: #42affa;
208 | text-decoration: none;
209 | -webkit-transition: color .15s ease;
210 | -moz-transition: color .15s ease;
211 | transition: color .15s ease; }
212 |
213 | .reveal a:hover {
214 | color: #8dcffc;
215 | text-shadow: none;
216 | border: none; }
217 |
218 | .reveal .roll span:after {
219 | color: #fff;
220 | background: #068de9; }
221 |
222 | /*********************************************
223 | * IMAGES
224 | *********************************************/
225 | .reveal section img {
226 | margin: 15px 0px;
227 | background: rgba(255, 255, 255, 0.12);
228 | border: 4px solid #fff;
229 | box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
230 |
231 | .reveal section img.plain {
232 | border: 0;
233 | box-shadow: none; }
234 |
235 | .reveal a img {
236 | -webkit-transition: all .15s linear;
237 | -moz-transition: all .15s linear;
238 | transition: all .15s linear; }
239 |
240 | .reveal a:hover img {
241 | background: rgba(255, 255, 255, 0.2);
242 | border-color: #42affa;
243 | box-shadow: 0 0 20px rgba(0, 0, 0, 0.55); }
244 |
245 | /*********************************************
246 | * NAVIGATION CONTROLS
247 | *********************************************/
248 | .reveal .controls .navigate-left,
249 | .reveal .controls .navigate-left.enabled {
250 | border-right-color: #42affa; }
251 |
252 | .reveal .controls .navigate-right,
253 | .reveal .controls .navigate-right.enabled {
254 | border-left-color: #42affa; }
255 |
256 | .reveal .controls .navigate-up,
257 | .reveal .controls .navigate-up.enabled {
258 | border-bottom-color: #42affa; }
259 |
260 | .reveal .controls .navigate-down,
261 | .reveal .controls .navigate-down.enabled {
262 | border-top-color: #42affa; }
263 |
264 | .reveal .controls .navigate-left.enabled:hover {
265 | border-right-color: #8dcffc; }
266 |
267 | .reveal .controls .navigate-right.enabled:hover {
268 | border-left-color: #8dcffc; }
269 |
270 | .reveal .controls .navigate-up.enabled:hover {
271 | border-bottom-color: #8dcffc; }
272 |
273 | .reveal .controls .navigate-down.enabled:hover {
274 | border-top-color: #8dcffc; }
275 |
276 | /*********************************************
277 | * PROGRESS BAR
278 | *********************************************/
279 | .reveal .progress {
280 | background: rgba(0, 0, 0, 0.2); }
281 |
282 | .reveal .progress span {
283 | background: #42affa;
284 | -webkit-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
285 | -moz-transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985);
286 | transition: width 800ms cubic-bezier(0.26, 0.86, 0.44, 0.985); }
287 |
288 | .slides h2 code, .slides h3 code, .slides h4 code, .slides h5 code, .slides h6 code {
289 | text-transform: none; }
290 |
291 | .slides cite {
292 | display: block;
293 | margin-top: 1em;
294 | font-size: .8em; }
295 |
296 | .slides .slides-link {
297 | display: block;
298 | margin-top: 1em;
299 | font-size: .86em;
300 | white-space: nowrap; }
301 | .slides .slides-link + .slides-link {
302 | margin-top: 0; }
303 |
304 | .slides .speaker-headshot {
305 | display: inline-block;
306 | vertical-align: middle;
307 | max-width: 15%;
308 | margin-top: 2em;
309 | margin-right: 1em;
310 | transform: rotate(-8deg); }
311 |
312 | .slides dd + dt {
313 | margin-top: 1em; }
314 |
--------------------------------------------------------------------------------
/Building for the PHP Command Line Interface/js/loadhtmlslides.js:
--------------------------------------------------------------------------------
1 | // Modified from markdown.js from Hakim to handle external html files
2 | (function () {
3 | /*jslint loopfunc: true, browser: true*/
4 | /*globals alert*/
5 | 'use strict';
6 |
7 | var querySlidingHtml = function () {
8 | var sections = document.querySelectorAll('[data-html]'),
9 | section, j, jlen;
10 |
11 | for (j = 0, jlen = sections.length; j < jlen; j++) {
12 | section = sections[j];
13 |
14 | if (section.getAttribute('data-html').length) {
15 |
16 | var xhr = new XMLHttpRequest(),
17 | url = section.getAttribute('data-html'),
18 | cb = function () {
19 | if (xhr.readyState === 4) {
20 | if (
21 | (xhr.status >= 200 && xhr.status < 300) ||
22 | xhr.status === 0 // file protocol yields status code 0 (useful for local debug, mobile applications etc.)
23 | ) {
24 | section.innerHTML = xhr.responseText;
25 | } else {
26 | section.outerHTML = '
exec()
shell_exec()
\`ls -al` === shell_exec('ls -al')
10 | system()
passthru()