A reliable and convenient food delivery service Android application. Users can choose to deliver food for others while picking up orders for theirselves. Currently in development.
Photo Annotation Android App that allows taking and annotating photos.
Cryptocurrency Converter Android App that converts currencies between USD, Bitcoin, and Dogecoin using CoinMarketCap API live exchange rates.
HTML, CSS, JavaScript with jQuery and Bootstrap to create this site. Further used PHP for checking inputs and auto-emailing myself for the Contact Me page.
Exploited FTP vulnerability, analyzed and captured packets using Wireshark and tcpdump, manipulated seed in pseudo-random number generators, abused certificates to rewrite network traffic, performed DNS spoofing to impersonate a DNS server and launch DNS spoofing attacks which redirects victims to desired destinations, and wrote bash scripts to automate the processes.
Ensures confidentiality, integrity, and authenticity in a compromised server that allows uploading/downloading, sharing, revoking, and updating files.
Allows attacker to gain root access by taking advantage of buffer overflows, off-by-one, and ret2eax to bypass Address Space Layout Randomization in C code.
Created an intelligent Pac-Man that maximizes winning using Searching Algorithms, Constraint Satisfaction Problems, Minimax, Expectimax, Markov Decision Processes, Reinforcement Learning, Bayes’ Nets, Hidden Markov Models, Inference, and Classification using Perceptrons.
Includes File Management, B+ trees, Simple Nested Loop Join, Page Nested Loop Join, Block Nested Loop Join, Grace Hash Join, Query Optimization, and Concurrency Control.
Used MapReduce and Hadoop to record and sort data using like the NSA’s PRISM surveillance program.
Optimized 2D convolution on images, using kernels to achieve image filter effects such as sharpening, blurring, inverting, etc. Optimization techniques include SSE batch processing, register and cache blocking, loop unrolling, matrix padding, and OpenMP multi-threading and parallel processing, which achieved up to 9x speedup compared to a naive image processor.
Designed a 32-bit two-cycle pipelined processor with Register File, ALU, and CPU in Logisim which is compatible with machine code outputs from MARS (MIPS) with a specified Instruction Set Architecture including arithmetic operations, writing/reading to/from registers and memory, and instruction logic such as jumping and branching.
Designed a two-pass Assembler that translates a subset of the MIPS instruction set to machine code in C and a Linker that processes object files and generates an executable file in MIPS. Parses instructions in the MIPS Instruction Set Architecture to simulate a processor operating on the MIPS instruction set. Sample instructions include bit shifting, reading/writing in memory, arithmetic operations, conditional statements, instruction execution logic jumps, and system calls.
Created a serializable version-control system of Git called Gitlet. Can take in commands including init, add, commit, rm, log, global-log, find, status, checkout, branch, rm-branch, reset, and merge.
Created Lines of Action board game that allows player vs. player, player vs. AI, and AI vs. AI gameplay. Used alpha-beta pruning for the AI.
Created a database system and SQL interpreter.
Created an undo function and GUI for Canfield Solitaire card game.
Implemented Ants vs. SomeBees tower defense game. (Similar to Plants vs. Zombies game.)
Implemented Yelp-like data visualization app that gives restaurant ratings on Google Maps.
Implemented the text-based dice game of Hog and increased its winning rate through several different strategies using probability and other heuristics.