Find me on Github.

Here are some of the projects I worked on for fun:

Puzzle generator: A generator of crossword puzzles, ranks puzzles generated and selects the best one.

Robo talk: Uses probabilities that characterize universal dependencies of parts-of-speech pairs and possible relations for each pair to create gramatical-sounding English sentences.

Machine learning: Select machine learning algorithms.

Algorithms: A collection of fun algorithms and data structures.

Funny news app: I created an app that fetches news headlines and adds a fun, sometimes sarcastic twist, to them, and strings them together in a humorous way. In beta.

Unix fsck: fsck checks for and repairs file system damages.

Unix LFS reader: reads, parses, and seeks from an LFS (log structured file system) file system image.

Concurrency Implemented concurrency architecture on Unix xv6, such as clone(), join() system calls on the user side, and threads creation, lock initiation, acquisition and release, and conditional variable signaling and wait on the kernel side.

Memory management Built thread-safe memory allocation (slab and next-fit) and free functions on the heap. Mapping memory layout at all times for efficient memory coalescing.

Rearrange memory layout Rearranged memory stack and heap layout to enable safer (in terms of memory overwriting), more flexible and efficient stack growth.

Stride scheduler Built scheduler that allocates the CPU according to process priorty, and implemented system calls to get process info and set process tickets.

Reddit Simulates the basic functionality of Reddit.