Humanity faces an array of important and far-reaching problems, some of which everyone already know about -- the impact of climate change, ethical issues highlighted by Edward Snowden's leaks, and the increasing influence that pseudo-science and bizarre fringe groups, such as vaccination opponents, are having in politics. However, many other major issues simmer beneath the surface, out of the public eye.
One such problem in my profession relates to the software that runs your phone, your computer, your email account, and literally every other piece of technology you use every day. This software was developed on an extraordinarily weak evidence base. By this I mean that the technologies have been vetted in relatively unscientific ways. It isn't like astrology, because we can see our email account actually getting the email, but the foundation on which these technologies were invented, called programming languages, have been vetted much less carefully than we would expect.
To put this in concrete terms, imagine you want to build a modern website. You might think that this is a matter of just writing some HTML code. Not so. In practice, developers use a wide array of incompatible technologies. It would be normal for a developer to use a "PHP backend with an SQL data layer, sending HTML and JS to the client, with a JSON transport layer over an AJAX connection using JQuery to adjust the page." That string of jargon means developers are used to programming in a half dozen languages all at once (depending on what you consider a language). Often these are complicated, with specifications that might span tens of thousands of pages.
As an analogy, imagine serving on a Naval aircraft carrier where every order that comes down the chain of command could be in any of a dozen languages (e.g., French, German, English), yet it is naively expected that every command will be carried out perfectly with no communication problems. It is no wonder that places like Target have had security problems -- the core foundation of the technology that runs their, and everyone else's, operations is a mess.
For decades, this problem, known in the business as the "programming language wars," has festered. While the lack of scientific evidence and the pressure of commercial interests plays into the issue, computer scientists have had no idea how to make progress on such a hard problem.
So, how does all this relate to 51³Ô¹ÏºÚÁÏ Creates? A few years ago, my lab worked on a National Science Foundation project with blind children. We were trying to make it easier for blind kids to invent their own technologies, so we invented a number of things that facilitated them. In the process, we learned that, using the same techniques scientists in biology might use to understand your DNA, we can estimate what kinds of "sounds" would maximize a blind person's comprehension of the audio.
It turns out that the same kinds of analysis could give us insight into parts of that much bigger, foundational problem of how to vet programming languages. This has helped spark the beginning of what I hope will be a re-imagining of these technologies. In my 51³Ô¹ÏºÚÁÏ Creates talk, I'll share my experience in the wacky, strange world of science -- where you work hard to come up with a plan but then in practice go in directions you never would have dreamed. Where, apparently, thinking about how to help blind children can give you the key insight for confronting the deep mysteries of the foundation of all modern technology.