Michael Hulet

Michael Hulet

Treehouse Moderator

Brentwood, TN

47,725

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

    Celero Commerce / RazorSync

  • Job Title

    Lead iOS Engineer

  • Spoken Languages

    • English
    • Svenska (Swedish)
  • Looking for work

    Yes

491 Achievements

  • Give and Receive Feedback
  • Searching Names
  • Sorting Algorithms
  • Merge Sort and Linked Lists
  • The Merge Sort Algorithm
  • Merging
  • Adding Sound Effects
  • Personalizing The Story
  • Refactoring Our Code
  • Creating the User Interface Programmatically
  • Creating a Story
  • Navigating Through An Adventure
  • Using the Delegate Pattern in iOS
  • The Delegate Pattern
  • Access Control
  • Memory Management in Swift
  • Extensions and Protocols
  • Value Semantics, Type Methods and Inheritance
  • Object Initialization
  • Properties
  • Templating Languages
  • Displaying Additional Views
  • Using the Vending Machine
  • Loading Data From a Resource
  • Modeling an Interface
  • Error Handling
  • Creating Flexible Objects Using Protocols
  • Protocol Basics
  • Objects and Optionals
  • Introduction to Enumerations
  • Building a Linked List
  • Exploring Arrays
  • Recursion and Space Complexity
  • Algorithms in Code
  • Time Complexity
  • Using Slack Effectively
  • Introducing Slack for the Techdegree
  • Running Apps on a Device
  • Improving Our User Interface
  • Structs As Data Models
  • View Controllers and Views
  • Getting Started with iOS Development
  • Differentiating Between Objects
  • Class Inheritance
  • Classes in Swift
  • Complex Data Structures
  • Playing a Counting Game
  • Adding Power to Functions
  • Functions in Swift
  • Control Flow With Conditional Statements
  • Control Flow With Loops
  • Dictionaries in Swift
  • DNS Basics
  • Graphic Basics
  • Build a Spreadsheet
  • Spreadsheet Best Practices
  • Spreadsheet Functions & Formulas
  • Getting Started With Spreadsheets
  • Introducing Spreadsheets
  • WordPress User Roles
  • WordPress Plugins
  • WordPress Themes
  • The WordPress Customizer
  • Managing Media in WordPress
  • Refactoring Using Codable
  • JavaScript Frameworks, Libraries, and Developer Roles
  • JavaScript Outside of the Browser
  • Writing Great Swift
  • Error Handling
  • Dynamic Keys and Inheritance
  • Parsing Different JSON Structures
  • Parsing to Non-Primitive Types
  • An Overview of Codable
  • Reusable GraphQL
  • Making Changes with Mutations
  • Fetching Data with Queries
  • Getting Started with GraphQL
  • Vulnerabilities: Configuration, Components, and Logging
  • Vulnerabilities: Authentication, Access, and Sensitive Data
  • Vulnerabilities:  Injection, XSS, CSRF
  • The OWASP Top 10 Explained
  • Build an Application
  • Generic Types
  • Managing Content in WordPress
  • Installing WordPress Locally
  • What Is WordPress?
  • Writing a Classifier
  • Machine Learning Vocabulary
  • Introduction to Machine Learning
  • Maintaining Secure Web Apps
  • Protecting Data and Keeping Attackers Out
  • Why Protect Your Web Apps
  • Handling Rails Requests
  • Creating Rails Apps
  • Building API Routes in Express
  • Classes
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • Security in Practice
  • Common Attacks and Defenses
  • Hello Internet!
  • Establishing a Proper Workflow
  • Protecting Yourself With Contracts
  • Pricing and Project Proposals
  • Finding Your First Project
  • Starting a Freelance Career
  • Retrieving Restaurant Details Using Operations
  • Adding Reviews and a Map
  • Simplifying Networking Code
  • Obtaining a Location Fix
  • Authorization with Third Party Libraries
  • Introduction to Collections
  • Go Concurrency Overview
  • Go Custom Types Overview
  • Go Data Structures Overview
  • Go Flow Control Overview
  • Go Syntax Overview
  • Lists, Code, Links and Images
  • Understanding Markdown
  • Security: Solutions
  • Security: Concerns
  • Introduction to Optionals
  • Getting Started with iOS Development
  • Swift Operators
  • Swift Types
  • An Introduction to Swift Programming
  • Making Strong Users
  • Character Builder
  • Flask Templates
  • Welcome to Flask
  • 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
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Letter Game App
  • Number Game App
  • Shopping List App
  • Logic in Python
  • Python Data Types
  • Python For Beginners
  • 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
  • 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
  • Building a Command Line Application
  • Introduction to Node.js
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Traversing and Manipulating the DOM with JavaScript
  • Selecting Elements and Adding Events with JavaScript
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Covering Your Bases
  • Be Assertive!
  • What Is Testing?
  • Gettin' CRUD-y With It
  • Our Diary App
  • Meet Peewee
  • Python Regular Expressions
  • Timezones
  • Math Quiz App
  • Dates and Times
  • Buggy Logs
  • Cleaner Code
  • Local Python
  • Hack-n-Slash
  • Python Inheritance
  • Python Objects
  • Dungeon Game
  • Tuples
  • Dictionaries
  • Slices
  • Lists Redux
  • Pick a Number! Any Number!
  • Putting the "Fun" Back in "Functions"
  • Shopping List
  • Things That Count
  • Ins & Outs
  • Say Hello to Python
  • MASH JavaScript
  • MASH CSS
  • MASH HTML
  • Treehouse Club - JavaScript
  • Treehouse Club - CSS
  • Welcome to the Treehouse Club
  • The Internet
  • Input and Output
  • Search
  • Ruby Class Design
  • WWW
  • Blocks Practice
  • Working With Blocks
  • Ruby Blocks
  • Build a Simple Todo List Program
  • Ruby Booleans
  • Build a Bank Account Class
  • Ruby Variables and Methods
  • Computer Languages
  • Computer Basics
  • Ruby Objects and Classes
  • Build a Simple Contact List
  • Ruby Iteration
  • Ruby Loops
  • Build a Grocery List Program
  • Ruby Hashes
  • Ruby Arrays
  • Ruby Logical Operators
  • Ruby Control Structures
  • Ruby Operators
  • Video Marketing
  • Email Marketing
  • Search Engine Optimization
  • Usability Testing
  • Usability Basics
  • Social Media
  • Next Steps
  • Financing Our Company
  • Selling Your Product
  • Marketing Your Product
  • Product Market Fit
  • Swift Value vs Reference Types
  • Swift Properties
  • Swift Inheritance
  • Swift Classes and Objects
  • Discovery
  • Displaying Our Weather Data
  • Data Modeling With Structures
  • Concurrency
  • Pulling Data From the Web
  • Deploying to a Device
  • Debugging Our App
  • Improving Our User Interface
  • Using a Data Model
  • Views and View Controllers
  • Getting Started with Xcode
  • Swift Optionals
  • Swift Parameters and Tuples
  • Swift Functions
  • Control Flow
  • Collections
  • Operators
  • Types
  • Variables and Constants
  • Limiting Results in Queries
  • Using Relationship Tables
  • Filtering Input for Queries
  • Querying the Database
  • Connecting to MySQL
  • Paginating a List: Model and View
  • Paginating a List: Controller
  • Adding Search: Model
  • Adding Search: Controller & View
  • Refactoring the Codebase
  • Cleaning URLs with Rewrite Rules
  • Cleaning URLs with Subfolders
  • Integrating Validation Errors
  • Simple PHP Application: Wrapping Up The Project
  • Working with PHP Functions
  • Integrating With Paypal
  • Listing Inventory Items
  • Adding a Contact Form
  • Creating the Menu and Footer
  • Getting Started with PHP
  • Finishing the User Interface
  • Customizing Table View Controllers
  • Using Auto Layout and Managing the Keyboard
  • 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
  • Retrieving and Viewing Data from Parse.com
  • Capturing Photo and Video Using UIImagePickerController
  • Relating Users in Parse.com
  • Using Parse.com as a Backend and Adding Users
  • 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
  • Fundamentals of C
  • Password Resets and Testing
  • Adding User Support to Our Application
  • Password Hashing and Sign-In
  • AR Extensions
  • Callbacks
  • Query Interface
  • Validation
  • Migrations and Relationships
  • Ruby Methods
  • Ruby Numbers (Ruby Basics)
  • Ruby Strings (Ruby Basics)
  • How Ruby Works
  • 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
  • Installing MySQL Server and MySQL Workbench
  • Introduction to Data, Databases and SQL
  • Build a Todo List Application with Rails 4
  • Ruby Testing
  • Standard Library
  • Ruby Core
  • Ruby Modules
  • Ruby Procs & Lambdas
  • Ruby Blocks
  • Ruby Loops
  • Ruby Methods
  • Ruby Hashes
  • Ruby Arrays
  • Ruby Numbers
  • Ruby Strings
  • Objects, Classes, and Variables
  • Ruby Basics
  • Installing a Ruby Development Environment
  • Spriting with Compass
  • Compass Helper Functions
  • Compass Layout and Typography
  • Getting Started with Compass
  • Better SEO Through Tools
  • Better SEO Through Code
  • Better SEO Through Content
  • Introduction to SEO
  • Moving Forward with UX
  • Tools UXers Use
  • How UXers Think
  • What Do User Experience Designers Do?
  • What is User Experience (UX)?
  • Creating Home Page Assets
  • Applying Effects
  • How to Draw in Illustrator
  • Exterminator
  •  Adding Color and Type
  • Creating an Icon
  • Introduction to Illustrator
  • Workflow Basics
  • Slices & Save for Web
  • Vector Shapes
  • Type Tools
  • Masks Basics
  • Layer Basics
  • Workspace Basics
  • Design Foundations Final
  • Becoming a Problem Solver
  • Understanding Aesthetics
  • Introduction to Design
  • Color Theory
  • Principles
  • Elements
  • Grid Layout
  • Flexbox Layout
  • Positioning Schemes
  • Float Layout
  • Display Modes
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Getting Started with Sass
  • 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
  • Chrome DevTools Basics
  • Web Apps
  • Websites
  • Introduction
  • 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
  • Media Queries
  • CSS Animations
  • Transitions and Transforms
  • Flexbox and Multi-Column Layout
  • Gradients
  • Web Typography
  • Backgrounds and Borders
  • 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
  • CSS Box Model
  • Text, Fonts, and Lists
  • Values and Units
  • Advanced Selectors
  • Selectors
  • Getting Started with CSS
  • Forms
  • Tables
  • Objects
  • Links
  • Lists
  • Text
  • Introduction
  • Launching the Website
  • Styling Content
  • Creating a Website Structure
  • Text Editors and HTML
  • Website Basics
  • Newbie