Categories
Here's a list of posts from my blog, organized by category:
Doodles
- How To Be Self-Absorbed With CSS
- Create an Iframe Portal
- HTML5 Canvas Balloon
- HTML5 Circle Puzzle
- CSS3 Navi
Projects
- Community Financial Aid Shopping Sheet Template
- MWF ASP.NET Web Forms
- Capturing Cursor Speed with jQuery
Tutorials
- Why Your Web Application Can't Connect to SQL Server
- ES6 Everyday: The End
- ES6 Everyday: Reflect
- ES6 Everyday: Proxies
- ES6 Everyday: Modules
- ES6 Everyday: Shorthand Properties and Methods
- ES6 Everyday: Computed Properties
- ES6 Everyday: New Object Methods
- ES6 Everyday: Typed Arrays
- ES6 Everyday: New Array Methods
- ES6 Everyday: WeakSets
- ES6 Everyday: WeakMaps
- ES6 Everyday: Sets
- ES6 Everyday: Maps
- ES6 Everyday: yield* Keyword
- ES6 Everyday: Generator Functions
- ES6 Everyday: The Iterator Protocol
- ES6 Everyday: for..of Loops and the Iterable Protocol
- ES6 Everyday: Symbols
- ES6 Everyday: Promises
- ES6 Everyday: Extending Built-in Classes
- ES6 Everyday: Class Inheritance
- ES6 Everyday: Static Class Members
- ES6 Everyday: Classes
- ES6 Everyday: New Number Methods and Properties
- ES6 Everyday: New Math Methods
- ES6 Everyday: Arrow Functions
- ES6 Everyday: let Keyword
- ES6 Everyday: const Keyword
- ES6 Everyday: New String Methods
- ES6 Everyday: Sticky Regex Matches
- ES6 Everyday: Tagged Template Strings
- ES6 Everyday: Template Strings
- ES6 Everyday: Binary and Octal Literals
- ES6 Everyday: Destructuring
- ES6 Everyday: Rest Parameters
- ES6 Everyday: Spread Operator
- ES6 Everyday: Default Parameter Values
- ES6 Everyday
- Overriding Equals in C# (Part 3)
- Overriding Equals in C# (Part 2)
- Overriding Equals in C# (Part 1)
- How I Fought and Won the Battle for Disk Space
- Creating a Financial Aid Estimator
- New in C# 6.0: Null-Conditional Operator
- New in C# 6.0: Declaration Expressions
- New in C# 6.0: Auto-Property Initializers
- Using Web Forms Responsibly (Part 4): Watch the Outcome
- Using Web Forms Responsibly (Part 3): Don't Go Control Crazy
- Using Web Forms Responsibly (Part 2): Restrict Form Scope
- Using Web Forms Responsibly (Part 1)
- Mocking DbSet Queries in EF6
- ASP.NET Page Life Cycle and Exceptions
- Watch Your Rounding in .NET
- Developing a Web Application Locally with IIS7 and Web Developer Express
- Extending the UCLA Mobile Web Framework Geolocation API
- Device Classification in the UCLA Mobile Web Framework
- Set Up UCLA Mobile Web Framework on WampServer
- Create a Treasure Hunt Game With the UCLA Mobile Web Framework
Essays
- The Stories Our Systems Tell
- There is No Open-Source Higher Education Ecosystem
- My Second Hackathon
- Seattle Open Data Day 2015
- My First Hackathon
- Why I Write a Blog No One Reads
- Respect the List
- Responsive vs Adaptive Web Design
Research
- Open Source at UCSB
- Do We Still Need Image Replacement?
- Accessibility of Labelless Inputs
- A Closer Look at Minification
- CSSOff 2013 Round-up
- Unobtrusive Validation in ASP.NET 4.5
Talks
- Creating Dynamic Web Content
- Overview of Web Standards
- Introduction to Web Accessibility
- Introduction to Responsive Design
- MMWCon 2013
- Creating Responsive Content
- UCCSC Talks
- jQuery: JavaScript, Made Easy
- Responsive Design: Real Talk
- UCSB HTML5 Workshop