Roger Ngo's Website

Personal thoughts about life and tech written down.

Roger Makes Games

  • Dev Diaries - Building a JRPG - Part 15
  • Dev Diaries - Building a JRPG - Part 14
  • Dev Diaries - Building a JRPG - Part 13
  • Dev Diaries - Building a JRPG - Part 12
  • Dev Diaries - Building a JRPG - Part 11
  • Dev Diaries - Building a JRPG - Part 10
  • Dev Diaries - Building a JRPG - Part 9
  • Dev Diaries - Building a JRPG - Part 8
  • Dev Diaries - Building a JRPG - Part 7
  • Dev Diaries - Building a JRPG - Part 6
  • Dev Diaries - Building a JRPG - Part 5
  • Dev Diaries - Building a JRPG - Part 4
  • Dev Diaries - Building a JRPG - Part 3
  • Dev Diaries - Building a JRPG - Part 2
  • Dev Diaries - Building a JRPG - Part 1
  • Thinking about Characters - Part 8
  • Thinking about Characters - Part 7
  • Thinking about Characters - Part 6
  • Thinking about Characters - Part 5
  • Thinking about Characters - Part 4
  • Thinking about Characters - Part 3
  • Thinking about Characters - Part 2
  • Thinking about Characters - Part 1
  • Thinking about Characters - Part 0 (Interlude)
  • Thinking about Inventory - Part 7
  • Thinking about Inventory - Part 6
  • Thinking about Inventory - Part 5
  • Thinking about Inventory - Part 4
  • Thinking about Inventory - Part 3
  • Thinking about Inventory - Part 2
  • Thinking about Inventory - Part 1
  • Math, and Computer Graphics

  • WebGL Color Interpolation
  • Cubic B-splines
  • Bezier Curves
  • Hermite Curves
  • Shaded Teapot in WebGL
  • 2D Orbit About a Point
  • 2D Affine Transformations
  • Floyd Steinberg Dithering
  • Interlacing
  • Projection of Two Vectors
  • Angle Between Two Vectors
  • Transposing a Matrix
  • Matrix Multiplication
  • Articles

  • Overflow Flag in the 6502
  • Our Wedding
  • Array.prototype.push vs Fixed Array Experiment
  • Which is Faster? Math.trunc, or the Bitwise OR Trick?
  • HTML5 Canvas Rendering Peformance
  • Building a Video Streaming Service
  • High Performance Logging
  • A/B Client Testing with Chat Bots
  • Microservices Architecture
  • Grind! The Technical Interview!
  • A Quick Introduction to JavaScript Promises
  • Interface and Abstract Classes
  • Analysis of the Pentium Pro
  • Understanding Browser Rendering: A Trip Down the Browser Rendering Pipeline
  • Operating Systems in a Nutshell
  • Easy Binary to Hexadecimal Conversion and Back
  • What is an Interrupt? (65c816)
  • My Testing Methodology
  • Quicksort
  • Creating a Sticky Note Effect in CSS
  • Christmas Lights With The Raspberry Pi 2 - 2016 Edition!
  • Don't Comment Out That Method, Just Get Rid of It!
  • Coding Standards: Do You Have Coding Standards
  • Object Oriented Design and Analysis: My Notes
  • How to Get Good at Recursion
  • Christmas Lights With The Raspberry Pi 2
  • Big O(H)! Time and Space Complexity!
  • DST2PNG - A Tajima Embroidery DST Viewer
  • Building Better Work Ethic
  • Too Many Languages
  • The Night We [Almost] Didn't Leave The ECE Lab
  • I Don't Want To Write It In [Programming Language], Because Everyone Says It Sucks!
  • Creating a Simple Captcha in .NET
  • My Computing History