About Me

I'll never forget the first website I ever built. When I realized that I had the power to build things that the world could see, I was hooked. Since that time I've developed all kinds of websites and applications, in a variety of technologies. Along the way, I also discovered I loved to write, and ultimately teach. Now I am helping others learn about a wide range of development technologies. When I'm not coding, writing or speaking I enjoy long walks with my wife, skipping rocks with my kids, and I'm happy whenever Real Salt Lake can manage a win.

Contact Details

Scott McAllister


Why Loop in JavaScript When You Can Map, Reduce or Filter?

JavaScriptFunctional Intro

Traditionally, when developers see large arrays of data their "go to" tool for parsing and searching has been the for loop. But JavaScript provides a more declarative approach that can help you find what you're looking for in fewer lines of code that is cleaner, easier to read, and maintain. Come see how the map(), reduce(), and filter() functions can help you!

Flexbox + CSS Grid = Awesome!


The traditional 'box' layout model was designed to layout documents, not apps. Many hours have been lost endlessly tinkering with the positioning of HTML elements, but the joy at achieving perfect alignment is short-lived. Everything looks great until the page is loaded on a mobile device, and it looks like you threw things on a page from across the room. There's a better way!

In this talk I will teach you about the flexbox layout model and CSS grid. We will cover these concepts at a high level, discuss why they are a better approach, and I will show you how to use them effectively. Used in tandem, these widely supported techniques can make your pages responsive, more accessible, and easier to build.

Performance Cage Match: (Map, Filter and Reduce) vs For Loop


Functions built in to the Array object, like Map, Filter, and Reduce make our code more declarative and readable. But, how do these functions perform against for and forEach loops? Come watch these methodologies go head-to-head as we see just how fast each of these functions compare to similar loops!

Connecting the Dots: How Angular Components Work Together


Picking up a new framework with a new design paradigm can be daunting. You hear familiar names being tossed around (Components, Libraries, Objects), but they're being used in new and mysterious ways. In this talk we'll cover what some of these pieces are, how they're different, how to use them properly, and, most importantly, how they fit together as pieces of a greater whole. Come see why the Angular way of doing things is awesome (and easy).

Develop Add-ons for Google Apps AND Stay Sane

Google Apps ScriptGoogle Suite Add-ons

With Google Apps Script, Google has provided a way for developers to add functional to Google Suite apps. While using Google's in-browser editor to write sample Google Add-ons can be handy for extremely basic scripts, it gets clunky fast when developers want to do something like version control their code or have more than one person working on a script. With the help of a couple open source projects, developers can now build Add-ons on locally, on their own machines, with the tools they're most comfortable with.

Why Loop in Java When You Can Stream?


For years, the best tool for dealing with arrays was the for loop. But for loops get verbose and can easily cause bugs. Lucky for us Java 8 introduced the Streams API. Using Streams can shift your coding style from imperative to declarative—resulting in cleaner code that is easier to write, read, and maintain. Come see how using Streams can take your Java to the next level.

Building Command-Line Applications with OAuth in Node


Node provided a way to bring JavaScript out of the browser and on to server and desktop. In addition to building web applications, now you can build command line interface applications using JavaScript! Come explore some tools and libraries that will help you in your development, and even learn how to complete an OAuth flow from the command line.

Webhooks aren't as scary as they seem


Now that you're comfortable using REST, you really need to keep up with your changing data. The service you're calling provides real-time updates with webhooks, but the constant stream of events seems difficult to grasp. In this talk, we'll make sense out of all the noise. We'll talk about how to initiate webhooks, how to consume them, and talk about strategies for best utilizing them.

Always working on more...

Let me know if you'd like me to come speak on other topics!