Categories / Programming
Swift Exercism Scale Generator
What I learned from Swift's Scale Generator Exercise
2020-09-04    
The Mojolicious Toolkit

This presentation covers some of the Mojolicious toolkit—a suite of classes that enables the Mojolicious web framework—and provides illustrations of many of the more useful modules. Slides and code samples are available at https://scottw.github.io/presentations/mojolicious-toolkit and https://github.com/scottw/mojolicious-toolkit respectively.

This presentation uses Mojolicious version 7.84 which was released in June 2018.

2018-07-15    
JSON Schema and OpenAPI

I gave a presentation this week about JSON Schema and OpenAPI.

Here are the slides for the presentation; here is the source code used in the presentation.

Video expertly recorded and edited by Doran Barton:

2017-10-12    
Functional Refactoring

I gave a presentation last week at Bluehost about using functional programming techniques to overcome some of the common quandaries in procedural codebases.

Here’s the blurb:

Functional programming is the oldest but least well known of the three major programming paradigms. While it has a reputation for inscrutability, many of its tenets can be applied to both procedural and object-oriented paradigms to reduce complexity and create cleaner code. In this workshop we’ll get a taste of functional programming in Perl and apply the techniques we learn to refactoring and removing common procedural anti-patterns.

2017-06-12    
GNU Make: Batman's Grappling Hook for Programmers

I gave a presentation about the ancient-but-ubiquitous GNU Make utility.

Source code and Make examples are available on Github and slides are available here.

Doran Barton again lent his expertise to the video production:

2017-04-26    
High Availability Perl with Kubernetes

I gave a presentation about Kubernetes (using a Mojolicious Perl application as the example). Here are the sources and here are the slides.

As usual, Doran Barton put together an expert recording:

2016-11-10    
SOLID MVC in Perl

Here is a link to my SOLID MVC in Perl presentation slides, and here is a link to the Perl sources used. I’ll post the recording here as soon as it’s available.

Photo by Robert Lukeman via Unsplash.

2016-10-29    
Git Roots and Branches

Git is a minimal and elegantly architected DVCS. However, its terrible user interface obscures its simple data model, making reasoning with git surprising and frustrating. Once you have learned git’s data model and a few commands to help you see what’s going on, most of the surprises and frustration go away. This workshop aims to give you the mental model you need to work with git and provide a foundation for a deeper understanding of the git toolkit.

2016-02-26    
OpenSSL, OS X "El Capitan" and Brew

Apple removed the OpenSSL header files in “El Capitan”, making it hard to build OpenSSL-dependent libraries without modifying your system a little bit.

Fortunately we have Homebrew; if you don’t have it yet, go ahead and install it now. I’ll wait here.

Ready? Now, repeat after me:

$ brew doctor (now fix anything that it tells you to fix)
$ brew update
$ brew upgrade

We’re just warming up with all that; it’s good to stay current with things like OpenSSL, which tends to go stale fast. Now let’s install it:

2015-12-08    
Don't Repeat Yourself Unless Coupling

Dan North gave a presentation a few years ago about some of the decisions a software architect or a developer might make.

At 46:50 he begins to talk about the DRY principle (“Don’t Repeat Yourself”). He makes it clear that he’s a fan of the Pragmatic Programmer, but this section of his talk is a warning about following one principle (DRY) without giving consideration to other competing principles. In this case, the opposite of DRY code is decoupled code, another desirable goal.

2015-12-07