Shashi Gowda


I am a PhD student in Computational Science and Engineering at MIT.

I'm exploring program transformations for scientific computing using the Julia programming language. I'm interested in rule-based expression rewriting, high-performance computing, and interactive visualization software.

I'm excited by software tools that make life easier for engineers and scientists who do technical computing. I love knowing about every level of abstraction of computers – from registers and cache lines to compilers and programming language design. My advisor is Prof. Alan Edelman. In Fall 2020, I was a teaching assistant for the 18.S191 Introduction to Computational Thinking course. It's online and free for anyone!

Previously, I was a Principal Software Engineer at Julia Computing where I co-developed JuliaDB.

Resume/Contact info

Resume. You can email me at I hang out on the Julia Language slack where my user name is @shashi. My Github profile is here. I do not use Facebook or Instagram.


These are projects I am currently working on. All these projects are in the Julia language.


(co-author with Yingbo Ma and others) A fast and modern CAS for a fast and modern language. I am spending most of my time on this and related projects.
Github | website


Symbolic programming utilities and a rule-based expression rewriting system.
Github | website


(co-author) Sientific modeling domain-specific language that compiles to Julia.
Github | website


Filesystem inspired parallel computing abstractions.
Github | website


A parallel scheduler for Julia

Previous projects

Projects that I wrote, that I now only occasionally help maintain.


Manipulate output with simple widgets in Jupyter
Examples | Github


Distributed in-memory database written in Julia.
Website | Github


Fast just-in-time generated CSV parser for Julia.
Website | Github


Low level tools for web widgets


(dormant) experiments in web-based UIs
Website | Github

Fun stuff

Here are some interesting Jupyter notebooks I made.