Software Engineering

The process of designing and constructing software. Sounds simple? It's not.

Ahhhhh-- blockchain!

Thumbnail for Why Dynamic Memory Allocation Bad (for Embedded)
Thumbnail for Why Dynamic Memory Allocation Bad (for Embedded)

Why Dynamic Memory Allocation Bad (for Embedded)

If you need flexibility and can afford it, use dynamic memory. If you can’t afford it, use static.

Thumbnail for Smart-Tracking Tray
Thumbnail for Smart-Tracking Tray

Smart-Tracking Tray

Enhancing wet labs with IoT.

Thumbnail for The Mathematics of Types
Thumbnail for The Mathematics of Types

The Mathematics of Types

Programming isn't about mindlessly typing away on a keyboard. There is an aesthetic quality that comes with approaching a problem.

Thumbnail for STM32 MIDI Keyboard
Thumbnail for STM32 MIDI Keyboard

STM32 MIDI Keyboard

Boing boing plunk plunk. Constructing a MIDI keyboard from scratch.

Thumbnail for The HKUST Robotics Team
Thumbnail for The HKUST Robotics Team

The HKUST Robotics Team

Experiences and reflections journeying with the HKUST Robotics Team.

Thumbnail for Robot Design Contest Simulator
Thumbnail for Robot Design Contest Simulator

Robot Design Contest Simulator

Here you can drive robots without having to worry about damaging physical property or being impaled.

Thumbnail for Fractons
Thumbnail for Fractons

Fractons

An interactive fractions game for elementary students made using Felgo/QML.

Thumbnail for E-Payment Desktop Application and System
Thumbnail for E-Payment Desktop Application and System

E-Payment Desktop Application and System

A reflection of my first large-scale project: an e-payment system plus cross-platform desktop application made using Qt.