About Me

I am studying physics and computer science at University of California, San Diego.

I enjoy thinking about and trying to understand things. My curiosity has most recently led me to ponder questions related to particle physics and cosmology. Previously, I was involved in research at UCLA as an Amgen Scholar and UC Riverside related to electrophysiology and neuroscience.

When I'm not trying to understand the world around me, I like to create things. For example, I created skqrl, a social platform for sharing what you like and dislike experiences, such as TV shows, movies, video games, music, books, restaurants, food, and more. I created the concept and wrote most of the code myself. For those who are curious, it was built using Django and Python.

I also enjoy writing. I am currently working on a series of short stories related to science and technology.  In the past, I've written about technology and videogames. I have been published by IGN, GamePro, Kombo, TheEscapist, and several others.

On the more physical side of things, I like to swim, lift, run, and bike. I've also been known to talk friends into going on long walks and hikes with me.

If you have any questions or want to contact me, please send me an email.

Read more »

Human Beings and the Next Revolution: Automation

“Can you believe people actually used to work?”

Some day in the not-too-distance future, people will say words like these.

Read more »

Calculus explained in a way that anyone can understand

Calculus is an essential mathematical tool used by scientists in many fields -- from physics to artificial intelligence. So, what is it?

Calculus is the study of change.

Full article

Read more »

Skqrl: A Social Platform For Sharing Experiences

Skqrl.com is a social media platform for sharing what you like and dislike about experiences, such as movies, TV shows, music, books, restaurants, food, drinks, events, and more. You can also follow others users and see what they’re experiencing.

My goal with Skqrl is to provide a platform for people to share bite-sized information about what they like and dislike about everything they experience. There are no reviews or ratings – instead, it’s all about short, list-style opinions that get to the heart of the matter. I want anyone to be able to quickly and easily share their opinion on a variety of experiences, without having to write entire reviews.

Skqrl connects you to your friends, allowing you to see what they’re experiencing, while providing meaningful information about each experience so that you can decide whether you want to spend your time or money on it as well.

Read more »

Some Programs I've Written

This is by no means a comprehensive collection of my work, but here is a sample of some of the kinds of programs I've designed and written.

Decision Tree: Predicting Credit Card Default 
This is a Python program that uses decision trees, the ID3 algorithm, and pruning to make classification decisions. More specifically, this program was written to predict whether a credit card user was likely to default on their payments using a 22-feature description of the the user. After pruning with a validation data set, this program predicts with ~90% accuracy whether a given user is likely to default on their credit card payment.

This is a C program that can generate quantitative predictions based on a set of data. Users supply a set of x and y pairs, where x is a suspected independent variable and y is a suspected dependent variable. After naming the variables and providing a data set, users can provide a value, and the program will predict the corresponding dependent value. The algorithm employed uses the supplied data set to determine a linear equation that describes the relationship between the two variables. The program uses the given pairs of values to generate a least squares equation by solving the normal equation for the vector containing the regression coefficients that define this model. Given this approach, Prediction is limited to making predictions that are linear by nature. As a result, this program will not produce optimal predictions for all data sets.

Learn more on my Github

This is an implementation of the "uniq" Unix command written in a combination of SPARC assembly language and C that consists of 1000+ lines of code. This program implements much of the same functionality as the Unix command. The program takes input from users and provides output based on the flags provided by the user when they run the program. There are various modes that the program can be run in. For example, users can use the program to identify unique lines of text or duplicate lines of text. A line is considered a duplicate if it is the same as another line and comes directly after that line. A line is considered unique if it is not a duplicate line.

Users control the mode of the program by providing defined flags as arguments. There are three mutually exclusive flags. The -d flag will result in outputting only duplicate lines. The -D flag will result in all duplicate lines being printed. The -u flag will result in only unique lines being printed.

In addition to the mutually exclusive flags, there are flags that can be used together. For example, the -c flag results in the count of duplicates being output. The -i flag will result in the program ignoring case during comparisons. The -s flag sorts the output. When -s is provided with -c, it is sorted by count. Otherwise, sorting is alphabetical. The -S flag can be used to sort the input before processing. Finally, users can provide the -x flag, which causes the output to include a summary. This summary describes information about the entries and lines comprising the input.

This program performs substantial error checking during execution. If there is a program failure or an error caused by user behavior, contextual error messages will be printed to stdout to aid the user in successfully running the program.


"Anagrams" is a interactive program written in C and SPARC assembly language. The program allows users to enter a word and find out if it is an anagram. An anagram is a word whose letters can be used to form another word. For example, the word "ape" is an anagram because its letters can be used to spell another word: "pea."

If users enter a word that is an anagram, then the program will print a list of anagrams that consist of the same letters as the word the user provided. The program uses a dictionary of words to generate a database of anagrams and hash keys, which play a role in the algorithm used to determine if a word has any anagrams.

Users are able to provide their own custom dictionary of words. The program will generate a database with the appropriate hash keys based on the dictionary provided. Users are also able to run the program with their choice of database.

This program provides comprehensive error checking and contextual information to aid users in successfully running the program. For example, users can type -h to learn what argument flags are required. When a user runs the program with invalid arguments, the program will provide the necessary information for users to correctly run the program. Should a run-time error occur during program execution that is independent of user behavior, contextual error messages are provided to the user to explain the program's unexpected behavior.

More programs coming soon...

Read more »

My Research Experience

Neuroscience Research at UCLA
In summer 2014, I was accepted into the prestigious Amgen Scholars program and conducted summer research at UCLA. I worked in Dr. Michael S. Levine's lab at the UCLA Semel Institute, where I was involved in a project focused on altered synaptic transmission in Huntington's Disease. My role involved statistical analysis of data collected during experiments. I presented a poster on this research at the UCLA Amgen Scholars Poster Symposium and UCLA SPUR Poster Symposium.

Neuroscience Research at UC Riverside
During summer 2013, I participated in UCR's MSRIP program, conducting neuroscience research that culminated in a poster presentation at the MSRIP 2013 Symposium. This work was done in Dr. Ted Garland Jr's lab, where I studied the neurobiology of mice selectively bred for high voluntary wheel running. My work involved capturing digital photographs of biological tissue, using software to trace brain regions, and organizing data for presentation. I gave a poster presentation at the UCR Student Summer Research poster session on this research.

Read more »

Some Books That Are Pretty Good

I read a lot. Mostly on the Internet, but sometimes I open an actual book. These are some of the books I've read that I enjoyed the most and highly recommend. 

Surely You're Joking, Mr. Feynman! (Adventures of a Curious Character) by Richard P. Feynman

A Brief History of Time by Stephen Hawking

Now: The Physics of Time by Richard A. Muller

A Mind For Numbers by Barbara Oakley

Mastery by Robert Greene

Brave New World by Aldous Huxley 

The Great Gatsby by F. Scott Fitzgerald

The Elements of Style by William Strunk and EB White

On Writing by Stephen King

Siddhartha by Hermann Hesse

Read more »