Daniel Glennie

Daniel Glennie

Member Since July 7, 2016

42,854

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

    Improvement Service

  • Job Title

    Developer

518 Achievements

  • Meet Python
  • Getting Started with Sass
  • Model Administration
  • What a View
  • Say Hello to Django
  • Vulnerabilities: Configuration, Components, and Logging
  • Vulnerabilities: Authentication, Access, and Sensitive Data
  • Vulnerabilities:  Injection, XSS, CSRF
  • The OWASP Top 10 Explained
  • Go Flow Control Overview
  • Go Syntax Overview
  • Maintaining Secure Web Apps
  • Protecting Data and Keeping Attackers Out
  • Why Protect Your Web Apps
  • Dockerize a Web App
  • Managing Images and Containers
  • Building Images Using Dockerfiles
  • Fundamentals of Docker
  • Docker Use Cases
  • Security in Practice
  • Common Attacks and Defenses
  • Hello Internet!
  • Setting Up an Authorization System
  • Adding an Authentication System
  • Build a Library
  • What is Authentication
  • Parsing Specific Formats
  • Basic File Handling
  • Updating and Deleting Records
  • Reading and Writing Reports
  • Creating Records
  • Project Setup
  • Browser Persistent Data with PHP
  • Sinatra Finishing Touches
  • Updating Data in Sinatra
  • Adding New Data in Sinatra
  • Sinatra ERB Templates
  • Creating New Sinatra Apps
  • Covering Your Bases
  • Be Assertive!
  • What Is Testing?
  • Gettin' CRUD-y With It
  • Our Diary App
  • Meet Peewee
  • Timezones
  • Math Quiz App
  • Dates and Times
  • 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
  • Ruby Class Design
  • Blocks Practice
  • Working With Blocks
  • Ruby Blocks
  • Build a Simple Todo List Program
  • Ruby Booleans
  • Build a Bank Account Class
  • Ruby Variables and Methods
  • 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
  • Ruby Methods
  • Ruby Numbers (Ruby Basics)
  • Ruby Strings (Ruby Basics)
  • How Ruby Works
  • Dice Roller
  • Python: Advanced Objects
  • MASH JavaScript
  • MASH CSS
  • MASH HTML
  • WWW
  • The Internet
  • Computer Languages
  • Computer Basics
  • Day 3: Getting Creative
  • Day 2: Advanced Selecting
  • Day 1: Joining Tables
  • Orientation: Selecting Data
  • Big Data at Netflix
  • Where and How Big Data Is Used
  • What is Big Data
  • Python: Inheritance
  • Python Regular Expressions
  • Dungeon Game 2
  • Python Sets
  • Python Tuples
  • Introducing Spreadsheets
  • Going Further with HTML
  • Images, Text and Links
  • Structuring Your Content
  • Getting Started With HTML
  • Python Dictionaries
  • Security: Solutions
  • Security: Concerns
  • Python Slices
  • Python Lists
  • WordPress User Roles
  • How to Install WordPress on Your Computer
  • What Is WordPress?
  • S3 Storage Service
  • AWS and "The Cloud"
  • Python: Instant Objects
  • Lists, Code, Links and Images
  • Understanding Markdown
  • Captioning Video
  • Media Basics
  • Angular Basic Forms
  • Services in Angular
  • Angular Components
  • Setting Up an Angular Application
  • Getting Data From an API With Node
  • Persisting Data with Hibernate
  • Getting Started with Hibernate
  • Data Persistence & ORMs
  • Writing Your Own Java Annotation
  • Using Java's Built-In Annotations
  • Introduction to Node.js
  • Treehouse Club - JavaScript
  • Improving Our Todo App
  • Services in Angular
  • Using Angular's Built-in Directives
  • Controllers and Scope
  • Getting Started with Angular
  • Classes
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • ES2015 Basics
  • Using the MVC Architecture with Spring
  • Modeling, Storing, and Presenting Data with Spring
  • Creating Spring Controllers and Thymeleaf Views
  • Spring Components and Configuring Our App
  • Setting Up Your Local Environment for Spring Development
  • Refactoring with Sass
  • Error Handling
  • Creating Distributable OOP Packages
  • Autoloading and Composer
  • Databases and International Concerns
  • Starting Right with PHP Best Practices
  • Item Completion & Interaction
  • Nested Edits & Updates
  • Nested Routes & Controllers
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with Sass
  • Installing Sass and Setting up the Project
  • Working with Media Queries
  • CSS Animation Basics
  • Understanding CSS Transitions and Transforms
  • Understanding Flexbox and Multi-Column Layout
  • Adding 3D Effects with CSS
  • Getting Started with CSS Transforms
  • Transition Timing Functions and Delays
  • Getting Started with CSS Transitions
  • Event Planning
  • Build a Pomodoro App
  • Design a Better App
  • Graphical User Interfaces
  • Advanced Tooling
  • Website Basics
  • Welcome to the Treehouse Club
  • Grid Layout
  • Flexbox Layout
  • Positioning Schemes
  • Float Layout
  • Display Modes
  • Treehouse Club - CSS
  • Improving the Application Code
  • Editing and Filtering Names
  • Adding and Removing Names
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • Bells and Whistles
  • Diving into Web Development
  • Building a Collection
  • Building the Recipe
  • IDE Exploration
  • How it Works
  • Efficiency!
  • Exploring the Java Collections Framework
  • Organizing Data
  • Getting There
  • Contact Forms & Mailers
  • Slim and Templates
  • Dependency Management
  • Delivering the MVP
  • Creating the MVP
  • Harnessing the Power of Objects
  • Meet Objects
  • Delivering the MVP
  • Creating the MVP
  • Harnessing the Power of Objects
  • Meet Objects
  • Perfecting the Prototype
  • Using your New Tools
  • Getting Started with Java
  • Customizing Drupal
  • Modules and Themes
  • Site Building with the Drupal Interface
  • Learn About Drupal
  • Understanding Classes
  • Why Object-Oriented Programming?
  • DOM Traversal
  • DOM Manipulation
  • Events
  • Hello, jQuery!
  • Test Doubles
  • Acceptance Tests
  • Subqueries
  • Set Operations
  • Joining Table Data with SQL
  • Table Relationships
  • Database Keys
  • Database Normalization
  • Controllers
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • Organizing your Tests
  • Creating Your Tests
  • Tools for Testers
  • How To Test Our Code
  • PHPDB Stage 5: Search
  • PHPDB Stage 4: Pagination with LIMITs
  • PHPDB Stage 3: Using Relational Data
  • PHPDB Stage 2: Querying the Database with PHP
  • PHPDB Stage 1: Databases and PHP
  • Creating Reports
  • 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
  • Relating Models
  • Laravel CRUD
  • Validation & Flash Messages
  • Database Security
  • Queries & Results
  • Getting Started with PDO
  • Laravel Forms
  • Laravel & Databases
  • Laravel Controllers
  • Laravel Project Setup
  • Laravel Getting Started
  • Charts and Tables
  • Exporting
  • Cleaning Data
  • Describing Data
  • Buggy Logs
  • Cleaner Code
  • WordPress Plugin Best Practices
  • Widgets and Custom Menus
  • Custom Post Types and Fields
  • Customizing WordPress Themes
  • WordPress Themes
  • Installing Wordpress
  • More Advanced PHP for WordPress
  • PHP Basics for WordPress
  • Introduction to PHP for WordPress
  • WordPress Plugins
  • WordPress Themes
  • The WordPress Customizer
  • Managing Media in WordPress
  • Managing Content in WordPress
  • DNS Basics
  • Graphic Basics
  • PHP Loops
  • PHP Arrays
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Chrome DevTools Basics
  • HTTP Methods and Headers
  • Building Forms with Bootstrap
  • Using Bootstrap Components
  • Creating a Basic Template Engine in Node.js
  • Video Marketing
  • Email Marketing
  • Search Engine Optimization
  • Usability Testing
  • Usability Basics
  • Social Media
  • PHP Conditionals
  • Handling Routes in Node.js
  • Creating a Simple Server in Node.js
  • Building a Command Line Application
  • Introduction to Node.js
  • Daily Exercise Program
  • PHP on the Web
  • Unit Converter
  • Getting to Know PHP
  • Presentation Skills
  • Soft Skills - Psychology
  • Writing Online
  • Productivity
  • Hack-n-Slash
  • Python Inheritance
  • Data Retreiver
  • Serialized!
  • Important Skills For Professional Success
  • Python Objects
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • PHP Email Form Errors
  • PHP Email Forms
  • Console Users and Permission
  • Moving Around in the Console
  • PHP Inventory
  • 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
  • Web Apps
  • Websites
  • Introduction
  • PHP Includes
  • Moving Forward with UX
  • Tools UXers Use
  • How UXers Think
  • What Do User Experience Designers Do?
  • What is User Experience (UX)?
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • PHP Loops
  • PHP Conditionals
  • PHP Datatypes
  • PHP Data & Structure
  • PHP Getting Started
  • Data Parser
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • Responsive Layouts with the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • 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
  • 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
  • Dungeon Game
  • AJAX and APIs
  • jQuery and AJAX
  • Tuples
  • Dictionaries
  • Slices
  • Lists Redux
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • Letter Game App
  • Programming AJAX
  • Number Game App
  • AJAX Concepts
  • Shopping List App
  • Logic in Python
  • Python Data Types
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Get Involved in Open Source
  •  Create a Web Presence on GitHub
  •  Working on a Team
  • Next Steps
  • Financing Our Company
  • Selling Your Product
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • Custom Media Players
  • Captioning Video
  • Media Basics
  • Adding New Behavior
  • Thinking in Components
  • Organizing Code into Methods
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Camera Switching
  • Marketing Your Product
  • Selectors - Beyond the Basics
  • Structuring Tables
  • Table Basics
  • Introducing jQuery Plugins
  • Creating a Simple Drawing Application
  • Camera Movement
  • Creating a Password Confirmation Form
  • Creating a Mobile Drop Down Menu
  • Image Effects
  • Camera Basics
  • Creating a Simple Lightbox
  • Data Reader
  • Product Market Fit
  • Getting Started with MongoDB
  • Date and Time Functions
  • Aggregate and Numeric Functions
  • Scripting Materials
  • Additional Textures in the Standard Shader
  • Textures in the Standard Shader
  • Loops and Final Touches
  • Understanding Materials
  • Creating an SVG
  • Working with Text
  • Encapsulation with Properties
  • Encapsulation and Arrays
  • Inheritance
  • Ordering, Limiting and Paging Results
  • Fundamental Concepts
  • Designing with the Latest Features
  • Basic Layout
  • Creating a Spoiler Revealer
  • Key Concepts in Unity
  • The Box Model
  • Debugging Games
  • Lights, Audio, and Animation
  • Assets and Game Objects
  • Build and Share a Unity Game
  • Game Audio
  • Introduction to jQuery
  • Score, Enemies, and Game State
  • Pickups
  • Player Input and Cameras
  • The Unity Editor and Scene Setup
  • JavaScript Objects
  • JavaScript Arrays
  • Introduction to Video Games
  • The 3D Views
  • JavaScript Loops
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with CSS
  • Introduction to SVG
  • Methods
  • Object-Oriented Programming
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Python For Beginners
  • Getting the REST You Need
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Forms
  • Tables
  • Objects
  • Discovery
  • Links
  • Lists
  • Text
  • Introduction
  • Perfect
  • Working By Yourself
  • Hello, GitHub!
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Updating Data in a Database
  • Scrum Artifacts
  • Scrum Events
  • Introducing Scrum
  • What is Agile?
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Adding Data to a Database
  • Why Version Control Matters
  • Getting Started with Data Science
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • Perform
  • Project Setup
  • Console I/O
  • Prepare and Plan
  • Newbie