Steve Hunter

Steve Hunter

Treehouse Moderator

Earsham, Norfolk, United Kingdom

Tech-curious management consultant, business analyst and project leader aiming to add new skills and broaden existing ones. Look me up on Twitter (@OnlySteveH) or drop me a line on Skype at big.dog.consultants

Skills & Experience

  • Company

    Big Dog Consultants Ltd

  • Job Title

    Chief Consultant & Analyst

  • Looking for work

    Yes

395 Achievements

  • Basic Android Programming
  • Creating the Screen Layout
  • Getting Started with Android
  • Vulnerabilities: Configuration, Components, and Logging
  • Vulnerabilities: Authentication, Access, and Sensitive Data
  • Vulnerabilities:  Injection, XSS, CSRF
  • The OWASP Top 10 Explained
  • Security in Practice
  • Common Attacks and Defenses
  • Hello Internet!
  • Maintaining Secure Web Apps
  • Protecting Data and Keeping Attackers Out
  • Why Protect Your Web Apps
  • Security: Solutions
  • Security: Concerns
  • Getting Started With HTML
  • Gotchas and Wins
  • Iteration
  • Creation
  • Ruby Conditionals
  • Ruby Numeric Types
  • Ruby Objects
  • Ruby Strings and Escape Sequences
  • Ruby Syntax
  • Exploring Best Practices
  • Test Drive
  • Meet Selenium
  • Local Notifications
  • Math Quiz App
  • Dice Roller
  • Python: Advanced Objects
  • Python: Inheritance
  • Python: Instant Objects
  • Dates and Times
  • Buggy Logs
  • Cleaner Code
  • Dungeon Game 2
  • Python Sets
  • Python Tuples
  • Python Dictionaries
  • Python Slices
  • Python Lists
  • Differentiating Between Objects
  • Class Inheritance
  • Control Flow With Conditional Statements
  • Control Flow With Loops
  • Dictionaries in Swift
  • Introduction to Collections
  • Adding Power to Functions
  • Swift Types
  • An Introduction to Swift Programming
  • Swift Operators
  • Functions in Swift
  • Classes in Swift
  • Complex Data Structures
  • Delivering the MVP
  • Harnessing the Power of Objects
  • Meet Objects
  • Creating the MVP
  • AJAX Concepts
  • Traversing and Manipulating the DOM with JavaScript
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • Creating a Simple Drawing Application
  • Creating a Password Confirmation Form
  • Creating a Mobile Drop Down Menu
  • Memory, Arrays and Loops, Oh My!
  • Number Game App
  • Shopping List App
  • Python Data Types
  • Logic in Python
  • Letter Game App
  • Python For Beginners
  • Immersive Examples
  • Scope and Loops
  • More Operators
  • Operators and Conditionals
  • Intro to Objective-C
  • Data Types and Variables
  • Creating a Simple Lightbox
  • Creating a Spoiler Revealer
  • Self-Assessment
  • Introduction to jQuery
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Basic Android Programming
  • Creating the Screen Layout
  • Getting Started with Android
  • Styling Rails Models
  • Ruby on Rails Helpers
  • Rails Partials
  • Styling a Header
  • Sass and Rails
  • Working with Rails Layouts
  • Zurb Foundation on Rails
  • Remember Me
  • Store Inventory Using Modules
  • Gems In Depth
  • Ruby Gems
  • Include and Extend
  • Ruby Core Modules
  • Ruby Module Basics
  • Input and Output
  • Search
  • What to Test
  • How To Test
  • Why Test
  • Ruby Class Design
  • Blocks Practice
  • Social Media
  • Working With Blocks
  • Ruby Blocks
  • Ruby Control Structures
  • Ruby Operators
  • Build a Simple Contact List
  • Ruby Iteration
  • Ruby Loops
  • Build a Grocery List Program
  • Ruby Hashes
  • Build a Simple Todo List Program
  • Ruby Booleans
  • Build a Bank Account Class
  • Ruby Variables and Methods
  • Cleanup and Feature Merge
  • Maintaining The Test Suite
  • Polishing Rails Applications
  • Static Pages with Rails
  • MASH CSS
  • MASH HTML
  • Treehouse Club - JavaScript
  • Treehouse Club - CSS
  • Welcome to the Treehouse Club
  • WWW
  • The Internet
  • Getting Started with iOS Development
  • Computer Basics
  • Computer Languages
  • Ruby Standard Library: Part 2
  • Ruby Standard Library: Part 1
  • Ruby Core
  • Ruby on Rails Authentication
  • Rails Frontend Development
  • Getting Started With Rails
  • Ruby Objects and Classes
  • Classes
  • Complex Data Structures
  • Class Inheritance
  • Tables
  • Lists
  • Introduction
  • Control Flow with Conditional Statements
  • Introduction to Collections
  • Swift Operators
  • Swift Types
  • An Introduction to Swift Programming
  • Functions in Swift 2.0
  • Function Parameters
  • The Unity Editor and Scene Setup
  • Introduction to Video Games
  • Control Flow With Loops
  • Publishing on Google Play
  • Finishing the User Interface
  • User Input
  • Improving Our Code
  • Basic Android Programming
  • Creating the Initial Screen Layout
  • Testing and Debugging
  • Password Resets and Testing
  • Adding User Support to Our Application
  • Event Planning
  • Build a Pomodoro App
  • Design a Better App
  • Graphical User Interfaces
  • Advanced Tooling
  • IDE Exploration
  • Efficiency!
  • Exploring the Java Collections Framework
  • Organizing Data
  • Creating the MVP
  • Perfecting the Prototype
  • Using your New Tools
  • Shopping List
  • MASH JavaScript
  • Getting to Know Foundation for Apps
  • Delivering the MVP
  • Harnessing the Power of Objects
  • Meet Objects
  • PHP Data & Structure
  • Password Hashing and Sign-In
  • Ruby Arrays
  • Ruby Logical Operators
  • How it Works
  • Float Layout
  • Display Modes
  • Structuring Tables
  • Table Basics
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Getting Started with Java
  • Selectors - Beyond the Basics
  • Fundamental Concepts
  • Designing with the Latest Features
  • Basic Layout
  • The Box Model
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with CSS
  • AR Extensions
  • Callbacks
  • Query Interface
  • Intents and Multiple Activities
  • Validation
  • Getting Started with Android
  • Migrations and Relationships
  • Introduction to ActiveRecord
  • Securing and Maintaining a MySQL Database
  • SQL Calculating, Aggregating and Other Functions
  • Manipulating Schema with SQL
  • Creating Tables and Manipulating Data with SQL
  • Joining Relational Data Between Tables in SQL
  • Reading Data from Databases with SQL
  • Installing MySQL Server and MySQL Workbench
  • Introduction to Data, Databases and SQL
  • Build a Todo List Application with Rails 4
  • 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
  • HTTP Methods and Headers
  • Creating a Basic Template Engine in Node.js
  • Handling Routes in Node.js
  • Creating a Simple Server in Node.js
  • Getting There
  • Console Users and Permission
  • Moving Around in the Console
  • 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
  • Acting on List Item Taps
  • Lists with RecyclerViews
  • Using Parcelable Data
  • Custom ListViews
  • Standard ListViews
  • Updating the Data Model
  • Hooking up the Model to the View
  • Building the Weather UI
  • Working with JSON
  • Concurrency and Error Handling
  • Networking
  • Exploring an API
  • Migrating a SQLite Database
  • CRUD Operations with SQLite
  • Using SQLite for Structured Data
  • Key-Value Saving with SharedPreferences
  • File Storage
  • Introduction to Data Persistence
  • Displaying Our Weather Data
  • Data Modeling With Structures
  • Concurrency
  • Pulling Data From the Web
  • Refactoring Our Code (Swift)
  • Building the Master and Detail Views (Swift)
  • Building a Music Library and Playlists (Swift)
  • Using a Navigation Controller With Segues (Swift)
  • Working With Multiple View Controllers (Swift)
  • Deploying to a Device
  • Debugging Our App
  • Improving Our User Interface
  • Using a Data Model
  • Views and View Controllers
  • Getting Started with Xcode
  • Swift Value vs Reference Types
  • Swift Properties
  • Swift Inheritance
  • Swift Classes and Objects
  • Swift Structs and their Methods
  • Swift Structs
  • Swift Enums and their Methods
  • Swift Enums
  • Swift Optionals
  • Swift Parameters and Tuples
  • Swift Functions
  • Control Flow
  • Collections
  • Operators
  • Types
  • Variables and Constants
  • Finishing the User Interface
  • Customizing Table View Controllers
  • Using Auto Layout and Managing the Keyboard
  • Deploying to a Device (ObjC)
  • Debugging Our App (ObjC)
  • Improving Our User Interface (ObjC)
  • Creating a Data Model (ObjC)
  • Views and View Controllers (ObjC)
  • Getting Started with Xcode (ObjC)
  • Implementing Custom Login and Sign Up Screens
  • UIKit Dynamics
  • View Controller Transitions
  • Gestures
  • What is an API?
  • Cocoapods
  • Downloading Data with NSURLSession
  • Collection Views
  • Custom Detail View Controller
  • Custom UITableViewCell
  • Deleting Data
  • Listing Data using NSFetchedResultsController
  • Inserting and Saving Data
  • Understanding Core Data
  • Adding Push Notifications from Parse.com
  • Updating Other GridViews
  • Customizing a GridView for Friends
  • Customizing a ListView for the Inbox
  • Customizing the Action Bar
  • Using Custom Styles and Themes
  • Customizing the Login Screen
  • Starting with Design Mockups
  • Self-Destruction
  • Retrieving and Viewing Data from Parse.com
  • Capturing Photo and Video Using UIImagePickerController
  • Relating Users in Parse.com
  • Retrieving and Viewing Messages
  • Sending Messages
  • Capturing Photos and Videos
  • Relating Users in Parse.com
  • Using Fragments for Tabs
  • Adding Users Using Parse.com
  • Starting the App
  • Using Git for Android
  • Getting Started with Genymotion
  • Getting Started with Android Studio
  • Using Intents to Display and Share Posts
  • Using Parse.com as a Backend and Adding Users
  • Designing and Starting the App
  • Adapting Data for Display in a List
  • Data Modeling
  • Viewing a Web Page
  • Adapting Data for Display
  • Getting Data from the Web
  • Rebuilding from Scratch
  • Exploring the Master-Detail Template
  • Testing and Debugging
  • Getting Data from the Web
  • Rebuilding from Scratch
  • Exploring the Master-Detail Template
  • Sharing Your Creation
  • Interrogating the App
  • Shaking Things Up
  • Pretty Little Things
  • Learning the Language
  • Getting Started with Android
  • 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
  • Fundamentals of C
  • Newbie