Software Development

Intelligent Tutor — Climatology / Two-Layer Atmospheric Model

This tutor teaches you the science of climate change. Rule-based tutor with CTAT and Nools rules engine.

More information here.

PiPiMy iOS

PiPiMy is a mobile e-commerce platform that lets users buy and sell things easily with their smartphone. You can list an item using your phone, and add photos and a short video clip to your product. The small startup formed in 2015.

I was one of the first members of the team, and the primary developer for the PiPiMy iOS app, from early development stage to the publishing the first version on the App Store (2015-16). The app is written in Objective-C and has a fairly extensive set of features.

Instructional Videos

Here is my YouTube channel, but I’ll highlight a couple that are very important to me.

Auto Layout Deep Dive

This is the playlist for section 6 of my Auto Layout course. Section 6 is one of the more substantial sections, with 19 videos. For now, these videos are not publicly listed and only shared with close friends.

Auto Layout is the default layout system used in iOS app development. There is a lot of confusion around Auto Layout in the developer community. It’s an opinionated framework; some developers love it, and many hate it. But in a mathematician’s eyes, Auto Layout is just linear algebra and linear programming with a shallow layer of abstraction. Many programmers are scared of math, but I think I can trick them into learning some cool math if I could convince them it’s relevant to their job.

Tetris SRS Twist Tutorial

This is one of my earliest and most watched tutorial video measured by watch time. Spoken Chinese with English captions.

In modern tetris, there is a type of counter-intuitive technique called a “twist.” It’s often confusing to newcomers, unless they understand the underlying game mechanics. Many viewers (on YouTube and elsewhere) told me they finally “got it” after watching my video, which I found very satisfying.

What is Abstract Algebra?

Khan Academy Talent Search video competition entry. Abstract algebra is my primary interest in graduate school, and arguably my my favorite branch of mathematics. In this video, I try to describe what the subject is about, assuming as little mathematical background as possible.

The hardest thing was to cram everything in 10 minutes without rushing like crazy. I think it turned out okay. I later heard from Khan Academy that my application received some of the highest scores from the judges.

Slides of past talks

Game analysis using Auto Layout

I gave this talk at CocoaHeads Taipei, a local iOS developers meetup, in August 2017. Auto Layout uses linear programming to calculate layout. What if we could feed a general linear programming problem into Auto Layout to find a solution? I formulated a game strategy problem and showed how we could use Auto Layout to find the optimal solution.

Auto Layout, Where Are You From

I was invited to give a talk at Taiwan iOSDC, a large iOS developer conference, in January 2018. By this time, I’ve been making a course on Auto Layout for quite some time, so I made a condensed summary of its historical and mathematical background, and the future development that I wish to see.

Tetris and Math

This is a guest lecture I gave at the Dong Hwa University, Department of Applied Mathematics in 2017. I covered a wide range of topics related to Tetris that may be of interest to university math majors, such as the PageRank algorithm applied to Tetris bot, and the special “parity” property of the T-tetromino.

Educational Games Primer

I shared this at Hualien.py, a local tech meetup in 2017. A few regulars of the meetup are university math professors, so I wanted to share with them what I learned about using games for learning. After a short presentation, we looked at examples of games with educational value and the group had a lively discussion.