John Hill
seal-mask

John Hill

Techdegree Graduate

Here, There, Everywhere
Open to Work

Human

35,236

Total Points

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

Skills & Experience

  • Spoken Languages

  • Awards

  • Publications

356 Achievements

  • The Lambda Lambada
  • Functional Workhorses
  • Timezones
  • Math Quiz App
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • Creating a Basic Website with Flask
  • Technical Interview Prep: Basic Python
  • Dice Roller
  • Python: Advanced Objects
  • Python: Inheritance
  • Python: Instant Objects
  • Creating a Memory Game
  • Emulating Built-ins
  • Welcome to OOP
  • Iterating and Packing with Dictionaries
  • Introducing Dictionaries
  • Sequence Operations
  • Sequence Iterations
  • Packing and Unpacking
  • Getting Info In and Out of Functions
  • Introduction to Functions
  • Getting to Know Tuples
  • Build an Application
  • Using Lists
  • Meet Lists
  • Practice Functions
  • All Together Now
  • Functions and Looping
  • Types and Branching
  • Meet Python
  • Creating the Screen Layout
  • Getting Started with Android
  • Running Apps on a Device
  • Improving Our User Interface
  • Self-Assessment
  • Structs As Data Models
  • View Controllers and Views
  • Getting Started with iOS Development
  • Differentiating Between Objects
  • Class Inheritance
  • Classes in Swift
  • Complex Data Structures
  • Adding Power to Functions
  • Functions in Swift
  • Control Flow With Conditional Statements
  • Control Flow With Loops
  • Dictionaries in Swift
  • Introduction to Collections
  • Swift Operators
  • Swift Types
  • An Introduction to Swift Programming
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Security: Solutions
  • Security: Concerns
  • Getting Started with Express
  • Optimization Best Practices
  • Asset Optimization
  • Why Web Performance Matters
  • Improving your Gulp Workflow
  • Compile Sass with Gulp
  • Gulp your JavaScript workflow!
  • Welcome to Gulp.js
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Testing for Accessibility
  • Mobile Accessibility
  • Accessible UI Patterns
  • Semantic HTML and WAI-ARIA
  • WCAG 2.0 (and Other Standards)
  • Access for Everybody
  • Captioning Video
  • Media Basics
  • Improving the Application Code
  • Editing and Filtering Names
  • Adding and Removing Names
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Keyframe and Line Drawing Animations
  • Transitions and Transforms
  • Creating an SVG
  • Introduction to SVG
  • Adding 3D Effects with CSS
  • Getting Started with CSS Transforms
  • Responsive Patterns
  • Transition Timing Functions and Delays
  • Getting Started with CSS Transitions
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • Add Reusable Logic to Your Sass
  • Write Smart and Efficient CSS with Sass
  • Improve Your Workflow with Sass
  • Getting Started with Sass
  • Debugging, Best Practices, and Production
  • Refactoring with Sass
  • Installing Sass and Setting up the Project
  • Getting a Handle on the DOM
  • The Browser Environment
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • DOM Traversal
  • DOM Manipulation
  • Events
  • Hello, jQuery!
  • Responsive Theory
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Media Queries
  • Art Direction with the Picture Element
  • Image Delivery with Srcset and Sizes
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Going Mobile
  • Designing Email with CSS
  • Coding HTML Email
  • HTML Email Basics
  • Getting Started with CSS Layout
  • Fundamental Concepts
  • Designing with the Latest Features
  • Basic Layout
  • Structuring Tables
  • Table Basics
  • The Box Model
  • Understanding Values and Units
  • Basic Selectors
  • MASH JavaScript
  • Getting Started with CSS
  • JavaScript Objects
  • MASH CSS
  • MASH HTML
  • Treehouse Club - JavaScript
  • Treehouse Club - CSS
  • Welcome to the Treehouse Club
  • JavaScript Arrays
  • JavaScript Loops
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • 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
  • Building Forms with Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts with the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Functional Rules
  • Dates and Times
  • Buggy Logs
  • Cleaner Code
  • Hack-n-Slash
  • Local Python
  • Python Inheritance
  • Python Objects
  • Sound Design
  • Introduction to Game Design
  • Dungeon Game
  • Tuples
  • Dictionaries
  • Slices
  • Lists Redux
  • Pick a Number! Any Number!
  • Exterminator
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • Putting the "Fun" Back in "Functions"
  • Shopping List
  • Things That Count
  • Ins & Outs
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Console Users and Permission
  • Moving Around in the Console
  • Database Security
  • Say Hello to Python
  • Queries & Results
  • Getting Started with PDO
  • WWW
  • Computer Languages
  • Securing and Maintaining a MySQL Database
  • SQL Calculating, Aggregating and Other Functions
  • Workspace Basics
  • Joining Relational Data Between Tables in SQL
  • Manipulating Schema with SQL
  • Creating Tables and Manipulating Data with SQL
  • Reading Data from Databases with SQL
  • Installing MySQL Server and MySQL Workbench
  • Introduction to Data, Databases and SQL
  • The Internet
  • Contact Forms & Mailers
  • Slim and Templates
  • Dependency Management
  • PHP Inheritance & Interfaces
  • PHP Properties & Methods
  • PHP Objects and Classes
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • Computer Basics
  • PHP Loops
  • PHP Conditionals
  • PHP Datatypes
  • PHP Data & Structure
  • PHP Getting Started
  • Debugging HTML and CSS Problems
  • Sharing a Website
  • Responsive Web Design and Testing
  • Adding Pages to a Website
  • Styling Web Pages and Navigation
  • CSS: Cascading Style Sheets
  • Customizing Colors and Fonts
  • Creating HTML Content
  • HTML First
  • Beginning HTML and CSS
  • Finalizing the Project
  • Case Studies and Examples
  • The Brand Identity Design Process
  • Introduction to Brand Identity
  • Local WordPress Development
  • WordPress Plugin Best Practices
  • Customizing WordPress Themes
  • WordPress Themes
  • Installing Wordpress
  • Building a WordPress.com Site
  • Getting Started with WordPress.com
  • Designing and Starting the App
  • Viewing a Web Page
  • Adapting Data for Display
  • Data Modeling
  • Getting Data from the Web
  • Rebuilding from Scratch
  • Exploring the Master-Detail Template
  • Testing and Debugging
  • Animate This (iOS7)
  • Designing your App
  • Refactoring into a Model
  • Creating a Data Collection
  • Understanding Views and View Controllers
  • Getting Started (iOS7)
  • Beyond the Basics
  • Advanced Objective-C
  • Foundation Framework
  • Introduction to Objective-C
  • Pointers and Memory
  • Functional Programming in C
  • Customizing Ruby on Rails Forms
  • Ruby on Rails Authentication
  • Rails Frontend Development
  • Fundamentals of C
  • Getting Started With Rails
  • Ruby Testing
  • Standard Library
  • Ruby Core
  • Ruby Modules
  • Ruby Procs & Lambdas
  • Ruby Blocks
  • Ruby Loops
  • Ruby Methods
  • Ruby Hashes
  • Display Modes
  • Ruby Arrays
  • Getting Started With Git
  • Ruby Numbers
  • Ruby Strings
  • Objects, Classes, and Variables
  • Introduction to Front-End Frameworks
  • Why Version Control Matters
  • Installing a Ruby Development Environment
  • Creating a Simple Drawing Application
  • Creating a Password Confirmation Form
  • Creating a Mobile Drop Down Menu
  • Creating a Simple Lightbox
  • Creating a Spoiler Revealer
  • Introduction to jQuery
  • JavaScript Objects
  • JavaScript Functions
  • JavaScript Arrays
  • JavaScript Numbers
  • JavaScript Strings
  • Introduction Variables
  • Functions
  • Objects and Arrays
  • Control Structures
  • Basics
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Getting Started with Sass
  • Media Queries
  • CSS Animations
  • Transitions and Transforms
  • Flexbox and Multi-Column Layout
  • Ruby Basics
  • Gradients
  • Web Typography
  • Backgrounds and Borders
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Introduction to Design
  • Color Theory
  • Principles
  • Introduction to Illustrator
  • The Job Search
  • Important Skills For Professional Success
  • Business Plan Basics
  • CSS Box Model
  • Text, Fonts, and Lists
  • Values and Units
  • Advanced Selectors
  • Selectors
  • Getting Started with CSS
  • Forms
  • Tables
  • Objects
  • Links
  • Lists
  • Text
  • Elements
  • The Logo Sprint
  • Logo Design 101
  • Advanced Techniques
  • Responsive Design
  • Adaptive Design
  • Fluid Foundation
  • Introduction to Responsive Web Design
  • Introduction
  • Launching the Website
  • Styling Content
  • Creating a Website Structure
  • Text Editors and HTML
  • Website Basics
  • Newbie