I find the most excitement at the place where research areas from different fields of study overlap, and found data-centric problems to be a great place to find opportunities to work on things with this flavor. My current research and applied work looks at interesting things that happen when one looks at analysis and modeling problems from the mathematical point of view, and look at the same problem from the point of view of a programming language designer and implementer. There is a great deal of work to be performed to bridge the gap between powerful analytical techniques and realizing them on the computer, which is often a question of appropriate expression mechanisms and abstractions. Things get even more interested when a third point of view is brought into the mix: high performance computing. Often performance and expressivity of mathematical methods are in tension, and finding an appropriate balance is still a question that has held my attention for a number of years. There are really interesting questions that come up when you stare at this problem a bit: why do people use the languages that they do? Why do they complain about the ones they don’t – what is it about them that gets in their way? Why do they complain about the ones that they DO use — what about them makes them tolerable, if annoying to use? The human aspect of how people express their ideas in mathematical and scientific computing is quite fascinating (and still to the most part full of open problems).
My work in analysis and data tends to make heavy use of mathematical methods from signals and systems, graph theory, and geometric analysis. I often tell people that twice in my academic career (undergrad and graduate), I started off with a goal of working in physics only to wander off and end up in corners of computer science and mathematics. All along the way I have kept a keen interest in problems that originate in the physical sciences, ranging from tools and techniques to support computational fluid dynamics to excursions into astronomical data analysis. As a result, it is likely unsurprising that I tend to attack problems with a common set of tools – Fourier analysis, graph and network properties, and so on.
In addition to my day job leading scientific computing research efforts at Galois in Portland, Oregon, I have maintained connections to the academic world through both the University of Oregon and most recently collaborations with Kevin Vixie, someone with whom I’ve interacted since the late 1990s when we were both still students. In 2014, I have started Sailfan Research, a new effort that is intended to connect to commercially viable data problems.
Outside data and computing, I’m an avid soccer player and fan. You can find me out playing at least three times a week year round both indoor and outdoor, and during the MLS season I’m at every home Portland Timbers game.
Contact Information: Web: http://www.syntacticsalt.com/ Twitter: @mjsottile (https://twitter.com/mjsottile)