Brydon Eastman

Code

When I was 12 years old I learned to write CSS and HTML in order to personalize social media pages. Afterwards, I started making websites for various local bands and businesses. Along the way I picked up skills in Javascript, PHP, and MySQL in order to develop content management systems. This was during that particular gauche period in internet history where everyone used flash intros to their website, so I also started to learn Actionscript and Adobe Flash throughout highschool prompting me to make various flash video games (from which I made a small sum of money).

Nowadays I primarily program in Python and C. I have extensive experience in various python libraries including PyTorch, Tensorflow, Numpy, Scipy, Keras, SciKit-Learn, Matplotlib, and Fenics.

I enjoy Open Source Software. I've used a variety Linux as my primary operating system since at least 2008. For my capstone project in undergraduate I wrote an open source piece of pedagogy software for writing, learning, and simulating Intel 8088 assembly code. I've also contributed to the keras-tuner open source github project.

People often ask me why I prefer Python as a programming environment. I enjoy that I can link Python code to compiled C code quite easily (or write in a C-like manner with Cython). This allows me to leverage the high-level readability of Python while still enjoying incredible low-level performance. This is especially important in collaborations. In my experience, in collaborations there is often a very heterogeneous level of programming comfort. In this way, we can abstract the complicated and computationally expensive parts of the project into linked C libraries or Cython code, while allowing the raw Python code to handle all the high-level interactions. As such, the less computationally savvy collaborators feel comfortable experimenting and changing the raw-Python portions while others on the project can handle what's under-the-hood. Indeed, it is often the case that the limiting bottleneck in a project is how quickly one can iterate on their ideas. This particular setup with scientific computing in Python has proven very useful in this regard.

Beyond Python, in graduate school I have spent an extensive amount of time in various mathematics software like Maple, Matlab, and R. During two undergraduate summer research projects I used Mathematica. Throughout my master's degree I used XPPAut to perform bifurcation analysis and integrate ODEs. My computer science courses in undergraduate used Java as the primary language of instruction, so I am quite familiar with that language as well.

As a hobby I dabble in Javascript, Julia, and Rust. There are so many fun programming languages to explore!