About Me

I'm Daniel,

An aspiring Computational Scientist.

I'm a graduate student in the Computational Science and Engineering (CSE) program at the Massachusetts Institute of Technology, in the Uncertainty Quantification group (UQgroup). I finished my undergraduate program in 2021, graduating from Virginia Tech with a B.S. in Computational Modeling and Data Analytics, a B.S. in Applied Computational Mathematics, and a minor in Computer Science. My academic research spans numerical tensor algebra, fast Fourier transforms, CPU vectorization, parametric model order reduction, Bayesian sequential parameter inference, and measure transport. My professional experience is related to some of these, plus data visualization & analytics in several different environments. For more about these topics, check out Research.

Other pet projects include being the sysadmin for the Aerospace Computational Design Lab, collaborating on an esoteric language, developing a LaTeX-rendering messenger bot, a fairly robust symbolic & numeric software stack written from scratch in Java, writing an type-agnostic FFT in Julia, and self-hosting web services that are generally productivity-focused (think Jupyter notebooks, password managers, video-conferencing software, collaboration tools, etc.). For more information about me, see the About Me page.

Skills and Experience

I've spent time at several companies during my undergraduate career, primarily with a focus on data science due to my experience at the time. While I've used computers for most of my life and dabbled in programming a few times before college, my first experience with programming with intent was about two months before college. After switching from engineering to computation, I jumped around with internships and academics using combinations of R, Python, SQL, VBA, C++, Julia, C, Matlab, and many other languages, plus several different other software tools and platforms. Working with people with all kinds of backgrounds and working toward a diverse set of goals over the years has broadened my perspective and given me some invaluable insight into not just what the right tool is for the right job, but how to employ it in a reasonable manner.

Interested in more information about my employment history and professional experience? Check out my LinkedIn.

Other Personal Info

I'm from Raleigh, North Carolina. My hobbies include music and baking. Of course, I also am passionate about math and computation. I haven't taken as many chances to explore the great outdoors as I wish, but I do enjoy hiking and backpacking on occasion. Personally, I enjoy mentoring other students and ensuring their understanding-- all too often, early experiences in math or computation will turn a student off from the respective topic, and I do my best to show them not just the intrigue of such topics, but the importance of them as well.

Interested in more about me? Contact me at dannysharp416 AT gmail DOT com.

An Aside on Free Software

I generally try to employ Free and Open Source Software. I advocate, where possible and reasonable, to make software easily accessible to the public. In an academic setting, this is a direct equivalent to the mission of experimental reproducibility so important to the physical sciences. Virtually every profession relies on a stack of open source software. For example, as of writing this down, there are over 60 million users on GitHub, 30 million users on GitLab, and 10 million users on BitBucket. Obviously, there is an enormous amount of overlap here, but this is merely one statistic of how consequential and engrained open source software is (in fact, GitLab is FOSS itself). Almost every programming position out there strongly recommends having experience with Git, so contributing to open source software certainly helps you professionally. In fact, many job postings say that these contributions are a plus on your resume.

Virtually everything we interact with on the internet today is being powered or served by Linux, which is generally free software. Python, Julia, GNU/R, Clang, LLVM, and OpenJDK are all free software (which covers the majority of my computational experience, notably omitting Matlab, Mathematica, CUDA, and some flavors of SQL). Virtually every modern web browser (Google Chrome, Brave, Vivaldi, Edge) is built on open-source Chromium (with the only notable emission being the free and open source FireFox). Many services (Slack, VS Code, Atom, Spotify) are built on Electron, which is arguably the most influential piece of user-experience focused software since the turn of the millenium. There are many very successful companies from all walks of life that have thrived on creating large deposits of FOSS such as: Canonical, Overleaf, Microsoft, Google, and JuliaHub (my former employer). All this to say-- consider open sourcing your next project and supporting open source software in other ways. Due to the wealth of resources out there to help you, it can be mutually beneficial to both you and the greater community.

867 Words