University of Virginia engineering · physics · cs · 2021

Halo Infinite © 2020 MSFT
May 20th, 2020
Who's to say what's a waste of time? The universe can't allow such things, since that would be bad game design.


I have absolutely no idea what I'm talking about. I'm not qualified, and to be honest, I don't really care to be; I'm just here to explore the universe while I can (It'd be nice if I made it pass the Earth server). I built this website to showcase that exploration. I strongly believe that what there is to learn about the world through computation and imagination doesn't need fancy words or rigourous technique - it just needs to be explored. So, you may find some of these projects, (maybe even most of them, actually) are grandious, way outside of conventional approach, and in many ways, kind of unscientific; but above all, are projects I made, by myself, from my own ideas, with my passion for learning at the center.
There are no wrong answers, only answers to which you have yet to find the question.

The contents of this self/dir is loosely summarized as:

  • projects: /env /proj
  • connections: /comm
  • achievements: /etc /한

and also some random things about myself.

If you find something cool that you want to play around with, all my projects are released on github (though sometimes I privatize the most recent versions), so feel free to use them as you like and even contribute to the projects. Hopefully these provide a unique perspective on some interesting problems.
Thinking, after all, is a freedom no one can take away!
Let the showcase commence. I try my best to make it appealing. Thanks for looking.


Dabin - Hold/She was © 2015
Being wrong is alright. Not knowing is alright. That's how you learn. Don't let someone who knows make you feel like you'll never know.


Prime Numbers and arithemetic sequences

One of my hobby projects is exploring how conventional numbers behave, but also how our concept of them could change, perhaps for the better practically. There are all sorts of interesting ideas out there, but what ties different interpretations of numerical concepts together seems to be hidden inside primality. Prime numbers bring forth the beauty in detail and seem, at first, astonishingly simple. Consider the following C++ function, which represents the Collatz map. Collatz is a historical problem of which "current mathematics are not ready to solve", in which the function repeats forever following two simple rules: If the number is odd, multiply by 3 and add 1; otherwise, divide it by 2.

A Collatz function

                  #include <iostream>
                  unsigned int collatz(unsigned int n)
                      if (n == 1) return 1;
                      std::cout << n << '\n';
                      n % 2 == 1 ? collatz(3*n+1) : collatz(n/2);
It appears as though the resulting length of output of Collatz is random. Take Collatz(9), for example: {9, 28, 14, 7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1}. By definition, we see powers of two will collapse directly, but it also seems that all other numbers eventually collapse to a power of 2, and then to the same ending cycle 4, 2, 1. In 002 /PROJ you can see more about this and related number theory exploration.

Graphics and Visualization

I love turning things into pictures and geometry and visually evolving systems. Visuals are just excellent about communicating vast amounts of information in unique ways, and often it can vary to a different form but it is easy to see that it is still fundamentally the same: like a sphere growing in size, or a system of orbiting planets. With the advent of algebraic understanding, people have gotten increasingly good at making statements, and have abandoned the more expensive but much more useful techinque of demonstrating something: seeing. And of course, we want things to look beautiful! In 001 /ENV I'm working on building a portable engine to do so. Here's an example of something beautiful straight from mathematics, it's fun to think about whats going on:
Prime's cradle
You don't see it... until you do. So much to try to understand! Thanks, universe!
Eventually, I want to port this sort of thing to 001 /ENV, but for now it will exist in an inferior, but still awesome form.

Artificial Intelligence

The future is coming faster than we expect it thanks to the hard work of engineers and theorists on artifical intelligence systems. I have a few of my own ideas to implement which will first be seen in Andromeda as an arithemetic solver. (An AI that can add/subtract/multiply slightly less terribly than a person!). It encompasses three pillars:
  • emergence - the human brain has trillions of connections and unbelievably larger quantity of possible activation and deactivation sequences. There are a lot of nodes available, even if they aren't used (still significantly less than I want). Each node should encompass an electrically similar relation relative to an input using a 3 dimensional polynomial as approximate.
  • training rewards unexpected behavior and desireable behavior - we will never know if the current state of the network system is developing incorrectly, we can only measure how correct it currently is. Obtuse pathing and strange output is not punished. I desire unpredictability and inaccuracy, that's what I expect from a person. Perfection comes after, not before general intelligence.
  • parallelism and statelessness - a response is never final. There is no shutoff. If I asked someone to factor a large number, there are many correct ways to start and make progress, even if the final answer is static. A continuous read of response actions allows and facilitates this. The decay of computation is done in parallel, and does not emulate a discrete or reversable process.
These ideas are being implemented right now in one of my projects. A demonstration will not be available any time soon. The project is large, and the current output of the network is, to say it lightly, pretty inaccurate. I'm slowly improving the methodology for implementing these concepts, but the goal is that output and input are both full of noise, just like in real life. This will take a while! Currently training Airis on Arithemetics. When Airis is available for demonstration, it will be under the andromeda environment.
Everything is a pathfinding algorithm, and the "best" path misses the beauty of seeing what you don't expect.


andromeda, a portable demonstrations engine

July 11th, 2020

andromeda is an application engine capable of seemless, high performance, and portable graphics demonstrations that are quick to build but also beautiful. There is a secret demonstration available currently on under 001 /ENV, but the future release is current private. A demonstration of A* with various heurisitics will be posted soon.

rendering is accomplished with the Vulkan API, which is the next generation toolchain for interfacing with graphics hardware.


the rest of my /life, compiled achievements

May 29th, 2020

A gallery of my competitve achiements. I've been playing competitve games since around highschool, and achieved high percentiles in many. I spent quite a bit of time playing these games, but I've most recently relaxed that. I started playing Chess in 2019 since I became interested in building my own Chess engine. This page is sort of a trophy showcase for employers (please hire me if you're Microsoft!), but I'm very proud of what I learned playing these games. A more formal, less flashy (but also less insightful) version of this can be seen in /INFO in CV form.

Make the best of what you've got. Achieve your goals, but don't let them consume you. The universe is amazing and scary but leave the sandbox every once in a while, will ya?