Hi there! I’m Paul
I’m a physics major turned programmer. Ever since I first learned how to program while taking a scientific computing for physics course, I have pursued programming as a passion, and as a career. Below is a compilation of some of my favourite things that I have built over the years. You may find everything else on my Github and Code Pen profiles. You may also download a copy of my resume
Jekyll Website Theme for Blogging
Lagrange is a minimalist Jekyll blog theme that I built from scratch. The purpose of this theme is to provide a simple, clean, content-focused blogging platform for your personal site or blog. This theme is currently being used by about three dozen people, with this number growing every day.
Free Code Camp Projects
I strongly believe that online open education is the future of education. One organization that I believe is leading this movement for computer programming is Free Code Camp. The following are some projects that I have developed through Free Code Camp’s Front End Development curriculum. You may view them all on my Code Pen profile:
The weather app uses an API to roughly estimate your location based on your IP address, and another API to fetch data on the local weather:
Random Quote Generator
The random quote generator uses an API to fetch a random quote and displays it in a simple way:
Wikipedia Article Finder
The Wikipedia article finder uses Wikipedia's own API to fetch articles that fit search criteria.
TwitchTV Status Display
This web app uses the Twitch API to fetch data regarding the status of a given user, and checks whether or not they are online.
At heart, I will always love physics. Something that I did not know going into university was how closely related computer programming and physics are, and how much programming actually goes on in physics. Ever since I first learned how to program through studying physics, I have been hooked. The following are some of my favourite projects I have done relating to computational physics:
Ising Model Simulation
The Ising model is a model of how magnets work at the atomic level, and is an interesting physical problem with a complicated solution. If you actually try to solve this problem analytically (i.e. with pen and paper), it would actually take longer than the age of the universe, but with Monte Carlo algorithms you can solve it in a reasonable time (you also end up with cool visualizations).
The plot below shows how the magnetization of the system evolves over time for two different systems. I let the simulations run for a period of time before plotting the results, so the magnetizations appear to fluctuate around a certain magnetization value:
Quantum Mechanics Simulation
As it turns out, most problems in quantum mechanics actually don't have an analytic solution (something you can solve with pen and paper). For physical systems more complicated than the hydrogen atom, you typically need to utilize numerical techniques to solve. One famous technique is called the Numerov algorithm, which I implemented to solve some special cases.
The plot below is an example that shows the probability of finding a particle within an electic potential:
Things I Am Currently Working On
Jekyll Website Theme for an Online Publication
My second Jekyll theme is going to be designed for people who would like to start an online publication.
Data Analysis for Olympic Weightlifting
Using data gathered from the International Weightlifting Federation's website, I generated a few graphs comparing a number of variables affecting a weightlifter's results at the Olympics.Data analysis was done in Pything, with all the plots made using Python's Matplotlib library.
Front End Development Certificate
Currently working on completing the Front End Development Certificate from Free Code Camp, which involves a wide variety of front end development projects, some of which I have showcased above.