ESP Biography



DAVID GIRARDO, Abstraction Salesman




Major: 18

College/Employer: MIT

Year of Graduation: G

Picture of David Girardo

Brief Biographical Sketch:

Whilst carrying on the family business of whittling baby corn out of regular corn, David Girardo had a lot of time to think about Life, the Universe, and Everything. He concluded that none of it makes a lick of sense and decided to live a simple life with the dolphins in their undersea kingdom. Retired from biology, he now peddles discount entropy by night, and does "Secure Cloud Things" by day



Past Classes

  (Clicking a class title will bring you to the course's section of the corresponding course catalog)

E11408: 5 steps, 5 people, 5 minutes: engineering principles of manufacturing in Spark 2017 (Mar. 11 - 12, 2017)
Ever wondered how engineers think? Consider this: the industrialized society we live in is packed with mass-produced commodities – you might even know a few industrial processes for making them! But what makes mass production so attractive in the first place? Are there scenarios where it is at a disadvantage? In this class, we will critically examine two common production methods – continuous and batch – through a mini social experiment. You will learn how to mathematically analyze production schemes using cool engineering concepts, and we will have an open discussion about their social implications, from the Industrial Revolution to contemporary trade policies.


X7362: Introduction to Meditation or "How to Hack your Nervous System" in Splash! 2013 (Nov. 23 - 24, 2013)
If you've ever wanted to improve your concentration, creativity, dexterity, endurance or relaxation, and think that meditation is "just for relaxation", you should think again. This class will be a broad introduction to various meditative practices, sprinkled with a bit of contextual history and philosophy surrounding each. We will cover the two most popular styles, mindfulness (vipassana) and zen (zazen), as well as a few lesser known or supplementary practices. For each type we will introduce the concepts behind the technique and practice for a few minutes. Disclaimer: I will try to introduce as wide a range of practices as possible so that you can choose one that works best. However, every meditator has their own. Rather than introduce it as "The Right Way", I will give reasons to prefer some techniques over others.


C5734: Parallel programming in Theory and Practice in Spark! 2012 (Mar. 10, 2012)
A wide reaching introduction to parallel programming. We will explore much of the theory behind parallel computing: What's the deal with parallelism? (What is it and why should we care) Different hardware implementations such as Symmetric Multi-Processing, Clusters, and Quantum computers. The difference between task parallelism and data parallelism. The rest of the class will be devoted to exploring existing and future tools for parallel programming, and arguing why functional parallelism is the way of the future!


C5099: course = "Hasklo" ++ (drop 4 course) -- An introduction to functional programming in Haskell in Splash! 2011 (Nov. 19 - 20, 2011)
The history of computer science has been dominated by so-called 'imperative' languages: Java, C, Perl, etc. The Imperative style is so common, that you might not even realize that there are other programing paradigms, paradigms without (Gasp) variable assignments. Now, you might be saying to yourself: "Programming without variables!? Why, that's like Science without unpaid interns!". In Functional programming, one describes what things ARE rather than how to make them. Our tool in this endeavor will be Haskell; A Lazy, Functional language with Strong Static Typing. In this course, we will discuss what all of this means, as well as some cool things that you've probably never heard of, including: Monads and Monoids and Functors (Oh my!).


C5100: The Limits of Computation in Splash! 2011 (Nov. 19 - 20, 2011)
What does it really mean to do a computation? Most people are familiar with the common implementations: "Take some input, push some variables around, and spit something out". But how much of that do you really need? Do you absolutely need random access memory? Loops? Recursion? How much is just enough? In this class, we will look at "computers" and "languages" in whatever shapes they hide. From a two dimensional Billiards game on a doughnut, to a sequence of fractions. I will quickly introduce you to the Church-Turing Thesis, a rigorous way of defining full computer systems, as well as some of the fundamental "computation structures". Most of the class will be spent looking at some cool examples from the strange world of 'Esoteric' languages and hardware.


C5101: Calculus? I thought we were talking about computers in Splash! 2011 (Nov. 19 - 20, 2011)
One of the nice things about programming is that it's secretly just math. To substantiate this claim, we'll explore some of the connections between various types of "calculus" and functional programming. Find out how programming is equivalent to 'calculus', by the Curry-Howard-Lambek correspondence, and why in the world you would ever want to take the derivative of a data structure.


S5104: Biomathematics in Splash! 2011 (Nov. 19 - 20, 2011)
When people think of biology, they think of wet and squishy, test tubes and pipettes. What they don't know is that there's a whole world of abstract nonsense underpinning these studies, and advances in computer processing have revealed them. First, we'll briefly talk about some computational tools used to handle the vast amounts of data involved in genomics. Then we'll talk about replicator theory, the characterization of abstract life.