Back in the day...

A list of old projects.

January 01, 2014

HTML Editor (2007)

My first coding project. I worked on it throughout my freshman year of high school, discovering programming as I went along.

Done in VB.NET, it was an HTML editor which showed updates to an HTML file as a person typed. A web-view which refreshed each time a key was pressed. The most interesting thing about the experience was that I didn’t know how to do syntax highlighting, but I noticed that when something was highlighted by cursor, one could change its color programmatically. So I implemented syntax highlighting by doing programmatic cursor manipulations, and color changes. It was ridiculously slow, but it worked!

You can get the code here (7zip file).

LOLEXE (2008)

Some time in 2008, LOLcode became popular. I decided to wring an interpreter in VB.NET.

I learned a lot in the making of this program. Most importantly, I self-discovered recursion! I realized that I could just call the “interpreter” function with my variables for running if statements. It automatically gave the correct variable isolation!

Note: The interpretation of code was done quite literally in LOLEXE through the use of string functions.

You can get the code here (7zip file).

DXPy (2009)

My introduction to C++. It was a high-level wrapper for DirectX, and allowed simple python manipulation of scenes.

The most memorable part of this program was a bug… At one point, I noticed that for some reason I was getting artefacts in the drawing stage. I couldn’t figure out what was wrong! Even the internet seemed mute on the errors I had! I rewrote the entire program from scratch, line by line. Still had the error! Finally, after weeks of work, and almost giving up, I realized that wasn’t clearing the Z-buffer…

You can get the code here (7zip file).

Nova (2010)

Near the end of high school (2009-ish), I decided to make a “recurrent neural network” in C++.

Having always just messed around with code until stuff worked, I took the same approach to AI - I randomly generated recurrent neural networks, and ran them through thousands of modifications until they started to do what I wanted them to do. It was a type of simplified genetic algorithm.

What was unusual about Nova, though, is that it was not limited to logistic or binary neurons. I thought of neurons as a circuit. There were “if” neurons, “and” neurons, etc. In effect, my program was randomly constructing programs/circuits, and testing modifications for performance improvements.

I didn’t get much further than ‘teaching’ a virtual robot to follow a gradient. The code for this project has been lost.

SciRoom (2011)

An “improved forum”, it is a chat application with the ability to typeset math with LaTex and code. This was before the days of markdown.

When typing in computer code, one would enclose it in [c] and [/c] tags. Typesetting mathematics is done with LaTex enclosed in [m] and [/m] tags.

For this project I made use of several javascript libraries, including jsMath, prettify and jQuery.

The full code along with python server are available here (7zip file).

nDB (2011)

nDB was a combination of a SQL-like database for data, with an underlying graphical structure. Entries were directly linked to other entries.

With nDB, it was possible to keep a graph structure in RAM, while continuously updating the disk representation. It was built to store and query networks of arbitrarily connected circuits/graphs.

The database was most definitely not ACID compliant.

The code is available here (7zip file).