Computing Thoughts Bruce Eckel's Programming Blog

PyCaribbean Keynote On Youtube

I gave the closing keynote at PyCaribbean, the Python conference held in Puerto Rico. It’s called Science is What Works, and you can see it on YouTube. The slides are available here.

I think a closing keynote should provide perspective and look at things from a higher point of view. By then, the audience is full of technical information and, I believe, looking for relief rather than more code.

Even though I was a physics major as an undergraduate, I’ve begun to realize over the last ten years or so that I didn’t understand what science was, and that’s probably why I was only a mediocre physics student, at best. I thought that science was about “the truth,” so I had a very hard time when the teacher manipulated models, throwing away higher-order terms and arguing that a billiard-balls-and-springs model that produced a specific heat within an order of magnitude was “pretty darn good.”

Had I understood that science is just coming up with a model that fits the data, I wouldn’t have been stuck on ideas of the truth. That is not to say that science doesn’t disprove models, because it certainly does—indeed, that’s all you can know with any certainty, and falsifiability is a requirement for any theory. A model works until it doesn’t, and then you must either make adjustments or throw it away altogether and come up with a new one.

One way to think about science is that it is built on doubt, down to the point that we don’t even bother trying to believe whether our models are true or not. They just fit the data…so far. Whereas what came before the scientific revolution was belief without evidence, and doubt had to be crushed lest the whole operation topple.

Once you understand that science is just models representing parts of the world, you can start observing how those models are created. Some models are purely observational: cell theory in biology (“all organisms are made of cells”) required us to look at every living thing we could get our hands on, through a microscope. In physics, we’re fond of equations, but we have a limited set of approaches to use in order to formulate those equations, because our brains can only deal with so much complexity. The algorithms produced through machine learning have no such limitations, which may produce breakthroughs in science that we have up until now been unable to achieve.

In this presentation, I briefly look at a lot of different sciences and see how they work and when they don’t, and finally ask the question of whether computer science is actually a science (aspects of it certainly seem to be, while other parts are clearly not).

I did learn something important from seeing the video. I used one of Google’s standard slide formats (including color choices), and the video is just a single camera pointed at both me and the screen. This is certainly the easiest way to capture a presentation, and I can’t count the number of videos I’ve watched where they had hired a “professional” who kept pointing the camera at the speaker when the speaker was describing code, and at the screen when there was nothing interesting going on there. But I will be thinking in the future of the one-static-camera capture and ensure that the font and background are contrasty enough, and of course large enough. In the past this wasn’t even an option because pointing a camera at a video projection would cause all kinds of interference; technology has improved to the point where this is no longer an issue.