Knut Ringheim Lunde

Knut Ringheim Lunde

Bergen

38,811

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

    • Norwegian, English

473 Achievements

  • Meet Selenium
  • Getters and Setters
  • Working with Classes in JavaScript
  • Object Basics
  • Introduction to Object-Oriented JavaScript
  • Introducing jQuery (2017)
  • Understanding jQuery Events and DOM Traversal (2017)
  • Working with jQuery Collections (2017)
  • JavaScript Tools and Workflows
  • JavaScript is Everywhere
  • Adding 3D Effects with CSS
  • Getting Started with CSS Transforms
  • Transition Timing Functions and Delays
  • Getting Started with CSS Transitions
  • Graphical User Interfaces
  • Gotchas and Wins
  • Iteration
  • Creation
  • What Is WordPress?
  • Building a Flashcard App
  • Sweeping Vues: Loops, Methods, Directives
  • What a Beautiful Vue!
  • Introducing Vue
  • Vulnerabilities: Configuration, Components, and Logging
  • Vulnerabilities: Authentication, Access, and Sensitive Data
  • Vulnerabilities:  Injection, XSS, CSRF
  • The OWASP Top 10 Explained
  • Testing for Accessibility
  • Mobile Accessibility
  • Accessible UI Patterns
  • Semantic HTML and WAI-ARIA
  • WCAG 2.0 (and Other Standards)
  • Access for Everybody
  • Reformatting User Input
  • Validating a Form with Regular Expressions
  • Improving the Application Code
  • Editing and Filtering Names
  • Adding and Removing Names
  • Going Further with Grid Layout
  • Flexible Sized Grids
  • Introducing Grid Layout
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Exploration
  • Discovery
  • Getting Started with CSS Layout
  • Designing with the Latest Features
  • Fundamental Concepts
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Basic Layout
  • Captioning Video
  • Media Basics
  • Combining Array Methods
  • Array Manipulation
  • Array Iteration
  • Art Direction with the Picture Element
  • Image Delivery with Srcset and Sizes
  • Finishing the Game
  • Introducing JavaScript
  • Create Function Using Arrow Syntax
  • Using Template Literals
  • Defining Variables With let and const
  • Callbacks and the DOM
  • Callbacks with Timers
  • Introduction to Callback Functions
  • Going Further with HTML
  • Images, Text and Links
  • Structuring Your Content
  • Getting Started With HTML
  • Creating an SVG
  • Introduction to SVG
  • Subqueries
  • Set Operations
  • Working with Text
  • Joining Table Data with SQL
  • Table Relationships
  • Database Keys
  • Database Normalization
  • Day 3: Getting Creative
  • Day 2: Advanced Selecting
  • Day 1: Joining Tables
  • Orientation: Selecting Data
  • Responsive Theory
  • Media Queries
  • Responsive Patterns
  • Date and Time Functions
  • Aggregate and Numeric Functions
  • Ordering, Limiting and Paging Results
  • Maintaining Secure Web Apps
  • Protecting Data and Keeping Attackers Out
  • Why Protect Your Web Apps
  • Security in Practice
  • Common Attacks and Defenses
  • Hello Internet!
  • Lists, Code, Links and Images
  • Understanding Markdown
  • Regular Expressions
  • Building Forms With Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts With the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Graphic Basics
  • DNS Basics
  • Website Basics
  • Measuring Performance
  • Security: Solutions
  • Security: Concerns
  • Combine and Minify Assets
  • Optimize Assets
  • Planning for Performance
  • Optimization Best Practices
  • Asset Optimization
  • Why Web Performance Matters
  • Get Involved in Open Source
  •  Create a Web Presence on GitHub
  •  Working on a Team
  • Working By Yourself
  • Communicating with Mongo Through Mongoose
  • Building API Routes in Express
  • Introducing Unit Testing
  • Building a REST Service
  • Local Notifications
  • Broadcast Receivers
  • Implicit Intents and Intent Filters
  • For All Intents and Purposes
  • Using SQLite for Structured Data
  • Introducing Sketch
  • Managing Fragments
  • Introducing Fragments
  • Tablet Time
  • Ingredients and Directions
  • The Project
  • Introducing SharedPreferences
  • The Activity Lifecycle
  • Lists with RecyclerViews
  • Custom ListViews
  • Standard ListViews
  • Testing and Debugging
  • UI Testing with Espresso
  • Unit Testing - Now Featuring Robolectric!
  • Improving Our Code
  • Basic Android Programming
  • Creating the Screen Layout
  • Getting Started with Android
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • Going Further with Routes
  • Navigating and Nesting Routes
  • Getting Started with React Router
  • The WordPress Customizer
  • Managing Media in WordPress
  • Managing Content in WordPress
  • Starting a WordPress Theme
  • Component Lifecycle
  • Designing Dataflow
  • Stateful Components
  • Thinking in Components
  • File Uploads and Entity Updates in Spring + Hibernate
  • Integrating Hibernate with Spring
  • User Messages in Spring
  • Getting Started with CRUD in Spring + Hibernate
  • Data-Driven Application Design
  • First Steps in React
  • Persisting Data with Hibernate
  • Getting Started with Hibernate
  • Classes
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • ES2015 Basics
  • Data Persistence & ORMs
  • 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
  • GET and POST Requests in a Browser
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Updating Data in a Database
  • Adding Data to a Database
  • Finding the Data You Want
  • Getting Data from a Database
  • Using the MVC Architecture with Spring
  • Spring Components and Configuring Our App
  • Modeling, Storing, and Presenting Data with Spring
  • Creating Spring Controllers and Thymeleaf Views
  • Writing Your Own Java Annotation
  • Data, Databases and SQL
  • Setting Up Your Local Environment for Spring Development
  • Using Java's Built-In Annotations
  • Introduction to HTTP
  • What to Test
  • How To Test
  • Why Test
  • Bells and Whistles
  • Diving into Web Development
  • Number Game App
  • Shopping List App
  • Logic in Python
  • Python Data Types
  • Python For Beginners
  • Understanding Flexbox
  • Getting the REST You Need
  • The Internet
  • Creating and Editing Data in a MEAN App
  • Setting Up MongoDB
  • Going MEAN with Angular
  • Going MEAN with Express
  • Improving your Gulp Workflow
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • Introduction to MEAN
  • The Box Model
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Improving Our Todo App
  • Services in Angular
  • Using Angular's Built-in Directives
  • Controllers and Scope
  • Getting Started with Angular
  • 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
  • Quiz Practice Project
  • Prototypal Inheritance
  • Constructor Functions & Prototypes
  • Introduction to Methods
  • JavaScript Objects
  • JavaScript Arrays
  • Hello, GitHub!
  • Getting Started with MongoDB
  • JavaScript Loops
  • What is Agile?
  • How it Works
  • Efficiency!
  • Organizing Data
  • Getting There
  • Delivering the MVP
  • Creating the MVP
  • Perfecting the Prototype
  • Harnessing the Power of Objects
  • Meet Objects
  • Hooking up the Model to the View
  • Building the Weather UI
  • Working with JSON
  • Concurrency and Error Handling
  • Networking
  • Exploring an API
  • Getting Started with Genymotion
  • Using Git for Android
  • Getting Started with Android Studio
  • Publishing on Google Play
  • Finishing the User Interface
  • The Model-View-Controller Pattern
  • Intents and Multiple Activities
  • User Input
  • Computer Languages
  • Computer Basics
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with CSS
  • Ruby Arrays
  • Building a Command Line Application
  • Introduction to Node.js
  • Media Basics
  • AngularJS MVC Frameworks
  • Using your New Tools
  • Getting Started with Java
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Build a Website With Bootstrap
  • Prototyping With Bootstrap
  • Introduction to Front-End Frameworks
  • Traversing and Manipulating the DOM with JavaScript
  • Selecting Elements and Adding Events with JavaScript
  • JavaScript and the DOM
  • Using Intents to Display and Share Posts
  • Adapting Data for Display in a List
  • Ruby Logical Operators
  • Ruby Control Structures
  • Ruby Operators
  • Getting Data from the Web
  • Rebuilding from Scratch
  • Exploring the Master-Detail Template
  • Testing and Debugging
  • Improving Our Code
  • Coding the Fun Facts
  • Basic Android Programming
  • Creating the Initial Screen Layout
  • Getting Started with Android
  • Going Mobile
  • Designing Email with CSS
  • Coding HTML Email
  • HTML Email Basics
  • Password Resets and Testing
  • Adding User Support to Our Application
  • Password Hashing and Sign-In
  • AR Extensions
  • Callbacks
  • Query Interface
  • Validation
  • Migrations and Relationships
  • Introduction to ActiveRecord
  • Structuring Tables
  • Table Basics
  • Build a Todo List Application with Rails 4
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Ruby Testing
  • Standard Library
  • Ruby Core
  • Workflows
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Why Version Control Matters
  • Installing Programs
  • Ruby Modules
  • Ruby Procs & Lambdas
  • Ruby Blocks
  • Ruby Loops
  • Ruby Methods
  • Ruby Methods
  • Ruby Numbers (Ruby Basics)
  • Ruby Strings (Ruby Basics)
  • How Ruby Works
  • Installing a Ruby Development Environment
  • Environment and Redirection
  • Chrome DevTools Basics
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • 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
  • Console Processes
  • Responsive Web Design and Testing
  • Sharing a Website
  • Debugging HTML and CSS Problems
  • 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
  • What is User Experience (UX)?
  • Getting Started with Android
  • Careers in the Tech Industry
  • Learning the Language
  • 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
  • Console Users and Permission
  • Web Apps
  • Websites
  • Adding a Contact Form
  • Creating the Menu and Footer
  • Introduction
  • Advanced Techniques
  • Responsive Design
  • Adaptive Design
  • Fluid Foundation
  • Introduction to Responsive Web Design
  • Web Typography
  • Media Queries
  • Getting Started with PHP
  • Moving Around in the Console
  • Securing and Maintaining a MySQL Database
  • Installing MySQL Server and MySQL Workbench
  • 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
  • CSS Animations
  • Transitions and Transforms
  • Flexbox and Multi-Column Layout
  • Gradients
  • Customizing Google Maps
  • Google Maps Integration
  • jQuery Plugins
  • Form Validation and Manipulation
  • Introduction to jQuery
  • Color Theory
  • Backgrounds and Borders
  • Functions
  • Objects and Arrays
  • Control Structures
  • Basics
  • Launching the Website
  • CSS Box Model
  • Text, Fonts, and Lists
  • Elements
  • Advanced Sass Concepts
  • Speeding up Workflow With Sass
  • Variables, Mixins, and Extending Selectors
  • Getting Started with Sass
  • Values and Units
  • Advanced Selectors
  • Selectors
  • JavaScript Objects
  • JavaScript Functions
  • JavaScript Arrays
  • JavaScript Numbers
  • JavaScript Strings
  • Introduction Variables
  • Getting Started with CSS
  • Forms
  • Tables
  • Objects
  • Links
  • Lists
  • Introduction to Data, Databases and SQL
  • Ruby Hashes
  • Ruby Basics
  • Ruby Arrays
  • Ruby Numbers
  • Ruby Strings
  • Text
  • Introduction
  • Objects, Classes, and Variables
  • Styling Content
  • Creating a Website Structure
  • Text Editors and HTML
  • Website Basics
  • Newbie