What is Elm and Why Should I Care?

I gave a talk at Pandamonium 2016, the Instructure engineering conference earlier this year about Elm, the front-end programming language (https://pandamonium2016.sched.org/event/5w4r/what-is-elm-and-why-should-i-care).

The talk is about diving into some of the clever ideas of the Elm programming language and how they can be applied to modern JavaScript development.

After a short introduction to the language, I go into a discussion on the following Elm concepts and their corollaries in the modern JavaScript ecosystem:

  1. Static Analysis
  2. Signal Graphs
  3. Tasks and Effects

The following are the slides from that talk:

Alternate format: http://tgroshon.github.io/elm-pandamonium-pres

What is Elm and Why Should I Care?

Deploying Your WebApp the Right Way

Recently, I gave a talk at Brigham Young University to the Association of Information Systems (AIS) club. The talk was well received so I thought I should publish the slides and notes.  Here ya go!



Executive Summary

The infrastructure and deployment strategies you use for your websites depend heavily on the problems you are trying to solve with them.  You can break down a website into two broad camps:

  1. Static Websites
  2. Web Applications

The characteristics of these kinds of websites mean you will distribute them to end-users very differently and opens up very different avenues of distribution and deployment.

Static websites can be hosted for free through services such as Github Pages or for relatively cheap through AWS S3.  They can even be distributed through Content-Delivery Networks such as AWS CloudFront or CloudFlare which make your site downloads blazing fast.

Web applications are another beast entirely.  They can leverage some of the same tools and services as static websites but in truth they different infrastructure.  Often, this means managing Virtual Private Servers through a cloud provider.  And then, because applications involve custom code, consideration should be given to processes and behaviors such as testing, continuous integration, configuration management, etc.

There is no silver bullet for one, the other, or both.  But knowing the differences between websites and their use cases is the first step to choosing infrastructure and deployment strategies.

Deploying Your WebApp the Right Way