Patrick Mockridge

Patrick Mockridge

Techdegree Graduate

Member Since November 25, 2015

FSJS TechDegree Graduate: https://www.accredible.com/10294205 Chartered Chemical Engineer. Currently developing a web-based software concept to help engineers learn and manage their competency and careers.

45,611

Total Points

Points are earned whenever you take an important action on Treehouse.
Learn more about when and how points are earned.

Skills & Experience

  • Company

    engzig.com ltd

535 Achievements

  • Getting to Know PHP
  • Covering Your Bases
  • Be Assertive!
  • Testing and Publishing an Alexa Skill
  • Building an Alexa Skill
  • Alexa Skills Kit Overview
  • Angular Form Validation
  • Angular Basic Forms
  • Services in Angular
  • Angular Components
  • Setting Up an Angular Application
  • Creating Reports
  • Charts and Tables
  • Exporting
  • Cleaning Data
  • Describing Data
  • What Is Testing?
  • Gettin' CRUD-y With It
  • Our Diary App
  • Meet Peewee
  • Test Time!
  • Python Regular Expressions
  • Timezones
  • Final Details
  • Django Templates
  • Model Administration
  • What a View
  • Say Hello to Django
  • Dungeon Game 2
  • Python Sets
  • Python Tuples
  • Python Dictionaries
  • Python Slices
  • Python Lists
  • A Template Hierarchy Review
  • Media Templates in WordPress
  • Custom Post Type Templates
  • Archive Templates in WordPress
  • Page and Post Templates in WordPress
  • Homepage Templates in WordPress
  • Core WordPress Theme Files
  • How WordPress Templates Work
  • Finishing Your WordPress Theme
  • Custom Homepage Templates in WordPress
  • Adding a Blog to a WordPress Theme
  • Custom Post Type Templates
  • Building Out WordPress Navigation
  • Building Page Templates in WordPress
  • The WordPress Loop
  • WordPress Header and Footer Templates
  • WordPress Plugin Best Practices
  • WordPress Widgets
  • Custom Post Types in WordPress
  • Customizing WordPress Themes
  • WordPress Themes
  • Teleporting
  • Raycasting and Line Rendering
  • Locomotion Overview
  • Putting it all Together
  • Actions, Dispatch and Reducers. Oh my!
  • Modularizing the React Scoreboard Application
  • Getting Started with Redux
  • Exploring the Java Collections Framework
  • Organizing Data
  • Getting There
  • Delivering the MVP
  • Getting Started with Android
  • Working with CSS and JS in WordPress Themes
  • Starting a WordPress Theme
  • More Advanced PHP for WordPress
  • PHP Basics for WordPress
  • Introduction to PHP for WordPress
  • Local WordPress Development
  • WordPress Plugin Best Practices
  • Widgets and Custom Menus
  • Custom Post Types and Fields
  • Owning a WordPress Site Long Term
  • WordPress Community Management
  • Working with Media in WordPress
  • Adding and Editing Content
  • Getting a WordPress Site
  • Creating the MVP
  • Harnessing the Power of Objects
  • Interacting with Objects
  • Room-Scale Setup
  • Room-Scale Overview
  • Positional Audio
  • Gameplay
  • Physics Scripting
  • Physics Setup
  • VR Setup
  • Review
  • Interfaces
  • Inheritance
  • Adding New Behavior
  • Thinking in Components
  • Organizing Code into Methods
  • Loops and Final Touches
  • Encapsulation with Properties
  • Encapsulation and Arrays
  • Inheritance
  • Methods
  • Meet Objects
  • Perfecting the Prototype
  • Using your New Tools
  • Object-Oriented Programming
  • Perfect
  • Perform
  • Console I/O
  • Reflections
  • Global Illumination
  • Shadows
  • Lighting Basics
  • Camera Switching
  • Camera Movement
  • Image Effects
  • Camera Basics
  • Scripting Materials
  • Additional Textures in the Standard Shader
  • Textures in the Standard Shader
  • Understanding Materials
  • Exporting Models Into Unity
  • Scene File Organization and Clean-up
  • Adding Surface Detail to a Model
  • Optimizing the Model
  • Box Modeling Techniques
  • Working with Primitives
  • Getting Started in Maya LT
  • Key Concepts in Unity
  • Debugging Games
  • Lights, Audio, and Animation
  • Assets and Game Objects
  • The 3D Views
  • Math Quiz App
  • Dates and Times
  • Buggy Logs
  • Cleaner Code
  • Hack-n-Slash
  • Python Inheritance
  • Python Objects
  • Build and Share a Unity Game
  • Game Audio
  • Dungeon Game
  • Dictionaries
  • Score, Enemies, and Game State
  • Pickups
  • Tuples
  • Going Further with Routes
  • Navigating and Nesting Routes
  • Getting Started with React Router
  • Moving Forward with UX
  • Tools UXers Use
  • How UXers Think
  • What Do User Experience Designers Do?
  • What is User Experience (UX)?
  • Soft Skills - Psychology
  • Writing Online
  • Productivity
  • Presentation Skills
  • Important Skills For Professional Success
  • Hosting with GitHub Pages
  • Building and Customizing the Blog
  • Getting Started with Jekyll
  • Creating a Long Term Business
  • Protecting Yourself With Contracts
  • Establishing a Proper Workflow
  • Pricing and Project Proposals
  • Finding Your First Project
  • Starting a Freelance Career
  • Getting Work Done
  • A Lifestyle Choice
  • Growing Your Business
  • Client Services
  • Sales and Pitching
  • Moving Beyond the Blog
  • Finding Business
  • Creating Content
  • Introduction to Blogging
  • Marketing and Promotion
  • Business Plan for Freelance Business
  • Business Plan Basics
  • Set Operations
  • Joining Table Data with SQL
  • Table Relationships
  • Database Keys
  • Database Normalization
  • Making sense of it all
  •  Learning activity: Interviewing
  • Learning activity: Field Observation
  • Learning activity: Experience Sampling
  • Finding participants for your learning activity
  • Solving an Important Problem
  • Finishing the Prototype
  • Grid Layout and UI Components
  • Protecting and Sharing Your Work
  • Licensing
  • Fair Use and Public Domain
  • Getting Started with Copyright
  • Getting to Know Foundation for Apps
  • Controllers
  • Routes and Templates
  • Getting Started with Ember.js
  • DNS Basics
  • Graphic Basics
  • Exporting Designs
  • Sketch Features
  • Introducing Sketch
  • Getting Started with Data Science
  • Prepare and Plan
  • Next Steps
  • Financing Our Company
  • Selling Your Product
  • Marketing Your Product
  • Product Market Fit
  • Discovery
  • Video Marketing
  • Email Marketing
  • Search Engine Optimization
  • Usability Testing
  • Usability Basics
  • Social Media
  • Debugging, Best Practices, and Production
  • Refactoring with Sass
  • Installing Sass and Setting up the Project
  • Component Lifecycle
  • Designing Dataflow
  • Stateful Components
  • Thinking in Components
  • First Steps in React
  • Professional Development
  • Applying & Interviewing
  • The Job Search
  • Networking
  • Personal Branding
  • Setting Your Course
  • Careers in the Tech Industry
  • Self-Assessment
  • Adding a Model Attribute
  • Using the Rails Console
  • Handling Rails Requests
  • Creating Rails Apps
  • Classes
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • ES2015 Basics
  • Express Middleware
  • Sessions and Cookies
  • User Registration and Login
  • What is Authentication?
  • Player Input and Cameras
  • The Unity Editor and Scene Setup
  • Introduction to Video Games
  • Query Interface
  • Validation
  • Migrations and Relationships
  • Exterminator
  • Completing and Testing the API
  • Communicating with Mongo Through Mongoose
  • Modeling Data for the API
  • Building API Routes in Express
  • Building a REST Service
  • Getting the REST You Need
  • Swift Operators
  • Swift Types
  • An Introduction to Swift Programming
  • Date and Time Functions
  • Aggregate and Numeric Functions
  • Working with Text
  • Ordering, Limiting and Paging Results
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Updating Data in a Database
  • Adding Data to a Database
  • Scrum Artifacts
  • Scrum Events
  • Introducing Scrum
  • Building Forms with Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts with the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • What is Agile?
  • Intro to Objective-C
  • Modular Media Queries
  • Sass Grid System
  • SMACSS and Sass
  • Sass and BEM
  • Getting Modular with Mixins and Functions
  • Next Steps
  • Improving Our Tests
  • Behavior Driven Development with Mocha & Chai
  • Introducing Unit Testing
  • Get Involved in Open Source
  •  Create a Web Presence on GitHub
  •  Working on a Team
  • Working By Yourself
  • Hello, GitHub!
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Keyframe and Line Drawing Animations
  • Art Direction with the Picture Element
  • Image Delivery with Srcset and Sizes
  • Adding a New Web Page
  • Make It Beautiful with CSS
  • HTML: The Structural Foundation of Web Pages and Applications
  • Getting Familiar with HTML and CSS
  • PHP Email Form Errors
  • Interactive Visualizations
  • PHP Email Forms
  • More TODO with the MEAN Stack
  • Creating and Editing Data in a MEAN App
  • Styling and Scaling Data
  • Data Binding with D3
  • Selections with D3
  • Setting Up MongoDB
  • Going MEAN with Angular
  • Going MEAN with Express
  • Introduction to MEAN
  • PHP Inventory
  • PHP Includes
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • The Logo Sprint
  • Logo Design 101
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Improving Our Todo App
  • Services in Angular
  • Using Angular's Built-in Directives
  • Controllers and Scope
  • Getting Started with Angular
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • Doing More with Express
  • Serving Static Files in Express
  • Using Templates with Express
  • The Request and Response Objects in Express
  • Developing Express Apps Like a Boss
  • Getting Started with Express
  • Getting Started with Java
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • HTTP Methods and Headers
  • Creating a Basic Template Engine in Node.js
  • Handling Routes in Node.js
  • Creating a Simple Server in Node.js
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Getting Started with Sass
  • Slices
  • Lists Redux
  • Building a Command Line Application
  • Introduction to Node.js
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • Introduction to ActiveRecord
  • Securing and Maintaining a MySQL Database
  • SQL Calculating, Aggregating and Other Functions
  • Joining Relational Data Between Tables in SQL
  • Manipulating Schema with SQL
  • Creating Tables and Manipulating Data with SQL
  • Reading Data from Databases with SQL
  • Build a Todo List Application with Rails 4
  • Customizing WordPress Themes
  • WordPress Themes
  • Installing Wordpress
  • PHP Loops
  • PHP Conditionals
  • PHP Datatypes
  • PHP Data & Structure
  • PHP Getting Started
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Chrome DevTools Basics
  • Web Apps
  • Websites
  • Introduction
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Custom Media Players
  • Captioning Video
  • Media Basics
  • Traversing and Manipulating the DOM with JavaScript
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • Creating a Simple Drawing Application
  • Creating a Password Confirmation Form
  • Creating a Mobile Drop Down Menu
  • Creating a Simple Lightbox
  • Creating a Spoiler Revealer
  • WordPress Admin Settings
  • WordPress User Roles
  • WordPress Plugins
  • WordPress Themes
  • The WordPress Customizer
  • Managing Media in WordPress
  • Managing Content in WordPress
  • How to Install WordPress on Your Computer
  • Finalizing the Project
  • Case Studies and Examples
  • The Brand Identity Design Process
  • Introduction to Brand Identity
  • Transitions and Transforms
  • Creating an SVG
  • Introduction to SVG
  • Adding 3D Effects with CSS
  • Getting Started with CSS Transforms
  • Transition Timing Functions and Delays
  • Installing MySQL Server and MySQL Workbench
  • Introduction to Data, Databases and SQL
  • Letter Game App
  • Number Game App
  • Shopping List App
  • Logic in Python
  • Python Data Types
  • Getting Started with CSS Transitions
  • Python For Beginners
  • Introduction to jQuery
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Type Tools
  • Masks Basics
  • Layer Basics
  • Workspace Basics
  • Gems In Depth
  • Ruby Gems
  • Ruby Standard Library: Part 2
  • Ruby Standard Library: Part 1
  • Ruby Core
  • Store Inventory Using Modules
  • Include and Extend
  • Ruby Core Modules
  • Ruby Module Basics
  • Input and Output
  • Search
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Introduction to Design
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • Structuring Tables
  • Table Basics
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Getting Started with WordPress
  • Selectors - Beyond the Basics
  • Fundamental Concepts
  • Designing with the Latest Features
  • Basic Layout
  • Ruby Class Design
  • Blocks Practice
  • Working With Blocks
  • Ruby Blocks
  • Build a Simple Todo List Program
  • The Box Model
  • Ruby Booleans
  • Build a Bank Account Class
  • Understanding Values and Units
  • Ruby Variables and Methods
  • Basic Selectors
  • Getting Started with CSS
  • Ruby Objects and Classes
  • Build a Simple Contact List
  • Ruby Iteration
  • Ruby Loops
  • Build a Grocery List Program
  • Ruby Hashes
  • Installing a Ruby Development Environment
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Why Version Control Matters
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Console Users and Permission
  • Moving Around in the Console
  • Ruby Arrays
  • Ruby Logical Operators
  • Ruby Control Structures
  • Ruby Operators
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Ruby Methods
  • Ruby Numbers (Ruby Basics)
  • Ruby Strings (Ruby Basics)
  • How Ruby Works
  • Debugging HTML and CSS Problems
  • Sharing a Website
  • Responsive Web Design and Testing
  • Adding Pages to a Website
  • Styling Web Pages and Navigation
  • Customizing Colors and Fonts
  • CSS: Cascading Style Sheets
  • Creating HTML Content
  • HTML First
  • Beginning HTML and CSS
  • Newbie