Hi, I’m Shawn

I am a Canadian technology entrepreneur currently living outside Coffs Harbour, NSW, Australia.  I am one half of North & South Nomads, run Sanswork where we provide technology and tender writing services and am also a co-founder of Maplegum Ventures and YellowCAKE Media.

I love programming in a lot of languages and frameworks though I am currently focused on Elixir, Phoenix, Javascript, and React.

After trying repeatedly to consistently blog and failing I’ve decided to use this blog as a personal book club.  I have a long backlog of technical books to read so I’ll be posting notes and projects and code as I go.

Current Backlog(in no order)

  • Think Stats
  • Practical Statistics for Data Scientists
  • Data Science from Scratch
  • Fundamentals of Deep Learning
  • CODE
  • The Elements of Computing Systems
  • Hands on Machine Learning with Scikit-Learn and TensorFlow
  • SICP
  • Book of Proof
  • The Algorithm Design Manual
  • Purely Functional Data Structures
  • Designing Data-Intensive Applications
  • Genetic Algorithms and Machine Learning for Programmers
  • Property-Based Testing with PropEr, Erlang and Elixir
  • Using SVG with CSS3 and HTML5
  • The Data Warehouse ETL Toolkit
  • The Data Warehouse Toolkit
  • The Data Warehouse Lifecycle Toolkit

As you can see I have a lot of work to do!

Latest stories

Javascript Upgrade: Tagged Template Literals

This is part of my series about upgrading my Javascript skills. Javascript, I hardly knew ya Javascript Upgrade: Day 1 Javascript Upgrade: let/const Javascript Upgrade: Arrow functions Javascript Upgrade: default arguments for functions/template strings This one is really cool and I can definitely see a lot of usage for it.  Continuing on from our template strings it turns out you can create...

Review of the Pod Tracker 3

Meet Finn And his brother Jake Two very smart, adventurous puppies. Being very smart, adventurous puppies they have mastered the art of the escape so that they can adventure even further than their already large dog run.  We’ve added new fencing up top and bricks and wood around the bottom of their fence but with over a hundred metres of fence in their pen there is lots of space for them to...

Javascript Upgrade: default arguments for functions/template strings

This is part of my series about upgrading my Javascript skills. Previous: Javascript, I hardly knew ya Javascript Upgrade: Day 1 Javascript Upgrade: let/const Javascript Upgrade: Arrow functions   Since these are both fairly quick I’ve put two in one Default values in functions are something I’m very familiar with as they exist in just about every other language I use.  Either...

Javascript Upgrade: Arrow functions

This is part of my series about upgrading my Javascript skills. Previous: Javascript, I hardly knew ya Javascript Upgrade: Day 1 Javascript Upgrade: let/const Next on my list of topics to learn are arrow functions.  I’ll fully admit to being completely confused by these when I started to get into React stuff.  I’d see them and try to use them but I never took the time to understand...

Javascript Upgrade: let/const

This is part of my series about upgrading my Javascript skills. Previous: Javascript, I hardly knew ya Javascript upgrade Day 1 First up I will be learning about let and const but to be honest I’m already pretty comfortable with both.  I’ve been aware of both for some time and earlier in the week I learned about let/const in detail on tylermcginnis.com along with information about...

Javascript Upgrade: Day 1

As mentioned previously I’m starting the process of upgrading my Javascript skills.  Today I started that process by first having to select where I was going to learn these new skills.  I bounced back and forth between books and video courses.  Lately I’ve found that I prefer reading technical books on paper so much more that I am finding myself choosing video courses if a book...

Javascript, I hardly knew ya

After over a decade working in web development I can honestly say I suck at Javascript.  I’ve always been more focused on the backend and so I’ve never put much effort into improving beyond the basics.  I used prototype back in the day before switching to jQuery at some point in time and I never really moved past that point in time for Javascript.  For me Javascript never really moved...

Shoe dog review

Shoe dog was an interesting look at the beginnings of a company the would become one of the largest most recognised brands in the world Nike.  By the end of the book I was honestly kind of amazed they managed to survive at all let alone reach the heights they have. Phil knight was refreshingly candid about his failures and shortcomings though the main story ends in the 80s and he kind of glosses...

Optimization for the fingers

As a programmer I spend a lot of time typing. But not only do I spend a lot of time typing I do it frequently using keys that most users rarely if ever type. All manner of brackets, and slashes, the whole row of characters above the numbers across the top of the keyboard, colons and semi-colons, etc. Basically I’m all over the place on the keyboard. To make matters worse I have really bad...

content_for in Phoenix

Disclaimer: I’m very new at both Elixir and Phoenix so the below might be horrible.  If it is let me know in the comments. Problem: I need content_for in Phoenix Solution: render_existing For this example we’ll be using the page controller and the app.html.eex layout to add breadcrumbs to the top of the page. 1. In app.html.eex where you want the breadcrumbs add <%= raw...

Other Things