Reddit Ask-Me-Anything Event
(AMA; 2/23/16)

Responses by Stephen Wolfram to an "Ask Me Anything" on Reddit.

Q: What is your go-to dinner when you are too tired to make anything else?

SW: Hmmm... I'm not really one for food construction; it's perhaps embarrassing how few times in my life I've made any nontrivial foodform. My default thing to eat tends to be chocolate or fruit...

Q: What's the craziest thing you've seen your Wolfram Alpha engine respond with, and what was the query you used? Are there any easter eggs you'd care to share with us? —OmahaVike

SW: I sometimes think the problem is not the creation of artificial intelligence, but the avoidance of artificial stupidity... I put some of my favorites from the history of Wolfram|Alpha in http://blog.stephenwolfram.com/2012/04/overcoming-artificial-stupidity/

E.g. "all the king's horses" used to be interpreted as the total horse livestock population of the world, on Elvis's birthday...

Q: How do you feel about piracy, namely, Mathematica piracy?
—ceeyu

SW: These days there isn't such a notion of it, because more and more relies on the cloud. (Plus, Wolfram|Alpha piracy is a weird concept, given that the site is free... but I suppose someone may have come up with a way to "pirate" it nevertheless...)

I'm really keen to make sure that Mathematica and everything we make can be used by as many people as possible, and that we have a sensible ecosystem to support future development. That's why we invented site licenses for education long ago, and student versions, and home editions... and now the Wolfram Open Cloud.

But in some countries, piracy (even sometimes when things are free!) remains a serious problem... and it's a shame because it makes it hard for us to put effort into supporting those countries, their languages, etc.

Q: Hello Stephen, I knew your father Hugo when I was a young man living in England in the 1940s. He was a fiercely intellectual man, even at that young age. What is he up to these days? I hope he is well!
—GeraldWickersham

SW: He lived to the ripe age of 90, but unfortunately died recently. I was thinking of writing a blog post about family history... but I'm not sure I'll ever get around to it... or if anyone would be interested if I did...

Q: I like the Wolfram Language (WL) and how just a few lines allows one to "do something." But, for the language, what do you expect developers to do in terms of deploying software written using WL? Certainly you don't expect everyone to always rely 100% on the Wolfram Cloud infrastructure or your programming lab pages (with the looks, feel, links, ads, etc.) every time they want to to run a WL program. Nor would one expect customers to all have Mathematica. Is 100% of the WL implemented in the CDF plug-in, or will we ever see the ability to create native binaries or some kind of portable bytecode from WL code? —sjapple2101

SW: I've worked a lot on this in recent years... and actually there are a huge number of different deployment paths now, with more coming in the future.

A very lightweight deployment is to create an API (e.g. CloudDeploy[APIFunction[{"city"->"City"}, .... ]] will deploy an API that looks for a "city" parameter, then interprets it, computes something, etc.) You can run the API against the Wolfram Cloud, or against a private cloud. You can also use EmbedCode to create code to call the API in a whole bunch of languages.

Soon you'll be able to take the API and essentially create a custom version of the Wolfram Engine that you can deploy on pretty much any machine.

If you want fancy interaction, you'll probably want to use notebooks. Yes, 100% of the Wolfram Language is implemented in the CDF Player engine. The browser plug-in model is going away though... there are native versions for desktops and soon (finally) also mobile.

Compilation is another very interesting issue. We've done a lot on that for years. It used to be that the Wolfram Language "runtime" was way too big to distribute with developer code... but that's no longer true, and so there are lots of things to do there.

There's a lot to say about this... I could probably go on for hours... check out https://www.wolfram.com/engine-integration-system/ if you're interested.

Q: Hi, Thanks for taking time to do this AMA. I have a few questions:

  1. What was it like working with Richard Feynman?
  2. How did you manage to start legitimate research on quantum field theory when you were only 15?
  3. What are your plans and goals for the future?
—tilluminati

SW: Richard Feynman and I had rather different styles of solving problems... so there was often a certain amount of "I don't understand what you're talking about" on both sides. We worked on quantum computing back around 1982 or so. He did hand calculation which I could never believe got the right answer, and I did computer calculations which he could never believe got the right answer... (In retrospect, I think we actually both got the right answers.) More here: http://www.stephenwolfram.com/publications/short-talk-about-richard-feynman/

I discovered that one could learn things pretty well by reading books (well, today it would be reading the web). I always found (and still find) it much much easier to learn things when I have a particular question I'm trying to answer, or project I'm trying to do. At that time lots of things were happening in particle physics, and I set myself the goal of answering some questions that had come up... and then learned what I needed to know to do that.

Oh, so many. Right now a lot of things that make use of the Wolfram Language technology stack. Understanding how to use it to teach computational thinking, to do software development, etc. Then using it (as I have for nearly 30 years now) to develop more technology (AI-related things, etc. etc.) I always maintain a stack of projects that I'm interested in. Sometimes it takes decades before the technology I can use gets to the point where it's actually realistic to do the project (the record so far is Wolfram|Alpha, which had a nearly 40-year span from first conception to actual release). One project I really want to do is seeing whether my way of finding the fundamental theory of physics is correct; hopefully I'll get to that one fairly soon. And then I have a few hobbies... like studying history of science and technology. Which I occasionally get to indulge: e.g. http://blog.stephenwolfram.com/2015/12/untangling-the-tale-of-ada-lovelace/

Q: Hi Stephen, when will Skynet be ready? —herrsergio

SW: Wolfram|Alpha seems to have at least something to say: http://www.wolframalpha.com/input/?i=are+you+skynet

Q: Is there something that you think is true, that almost nobody agrees with you on? —aaaal

SW: Probably lots of things... but I'm happy to say that I've had a really good record of things that I think are true... that in the end turn out to be true, even though at the beginning almost nobody else thinks they are.

I guess I have set up my life (company, etc.) so I can pursue things based on what I think is true, without needing other people to agree. Often I don't really make a big effort to find out whether people agree with me—e.g. I am quite certain that if I'd taken a poll about whether Wolfram|Alpha was possible, most people would have said it wasn't.

When my book A New Kind of Science first came out, there were definitely people who didn't "agree with it", but I'm happy to say that the use-programs-as-models approach that I advocated seems to have become very popular... and in fact it seems like, of new models being created today, more are now being done in that kind of way than in the traditional mathematical equations way that dominated for about 300 years.

I've thought quite a lot about fundamental physics. And of course I can't know how the universe happens to be set up. But I've got what I think is a minimal hypothesis about the "program for the universe"... and I definitely have quite a few friends in the physics community who are convinced the universe couldn't be that simple. Hopefully before too long we'll know. I wrote about this a bit recently in: http://blog.stephenwolfram.com/2015/12/what-is-spacetime-really/

Q: Hey Stephen, about how much of the traffic to Wolfram|Alpha do you think is legit vs. people just asking silly questions? —bdonvr

SW: At the beginning there were lots of tourists... but today the vast majority of traffic is people asking real questions they want to get answers to.

Q: How do you promote creativity inside your developer community? —ruisukuntm

SW: First, I hope, by providing tools that make it easy to be creative. I'm a big believer in the idea that languages help define what one can think about... and I hope the Wolfram Language lets people think creatively about a lot of things.

At least within our company, I like to try to lead by example. It's a bad day when I haven't had at least one idea that I think is decently good. For years now, I've spent a lot of my time around the company "thinking in public"—i.e. being on conference calls when I'm actually figuring stuff out, so other people can (a) see why we decided to do something, and (b) get the idea that they can figure things out too. (Also, of course, it's really great to get other peoples' input when I'm trying to figure things out.)

Outside the company, we try to have good venues for people to talk about what they're figuring out, e.g. http://community.wolfram.com/ And for the past 14 years we have our Summer School ( http://education.wolfram.com/summer) , where I and others communicate some of what we've learned about getting creative things done...

Q: Mr. Wolfram,

First of all, I'd like to thank you for helping me pass several levels of Algebra and Calculus over the years. The step-by-step solutions and practice problem sets have been invaluable. I'm not sure I would have the understanding of mathematics that I do today without the help of WolframAlpha and Mathematica.

Which leads me to the question, what was the inspiration for WolframAlpha? It's an amazing tool and I use it all the time to find useful bits of information. Plus, it's fun to ask it things like "What is the airspeed velocity of an unladen swallow?" or just "1.21 gigawatts".

Very cool! —torgis30

SW: I actually got interested in making something like Wolfram|Alpha when I was a kid (around age 12 or so)... but that was 1972 and I (obviously) didn't have the tools back then.

For a long time I thought that making a general computational knowledge engine required solving the general AI problem... and making something like a brain. But in doing the research for what became A New Kind of Science I realized that that wasn't correct—that there isn't a bright line between brain-like intelligence and "mere computation". And by then I had a really good tool for "mere computation—Mathematica (and what became the Wolfram Language)... and I decided it wasn't crazy to try building a general computational knowledge engine. And it worked.... (Though it certainly wasn't easy, and required a whole bunch of new ideas...)

Q: Recently I wrote a paper (http://x.ifost.org.au/aitc) on the concept of cellular automata in the presence of time travel. (I should add this is not a troll). The resulting universe looks very quantum-ish. Have you read it and what do you think of it? —solresol

SW: Well, I just clicked your link. It's a bit terrifying to see FORTRAN-like code these days (imagine the universe declaring its variables in all caps :-) ). But translating in my head into Wolfram Language I think I understand. Looks like you're interested in cellular automata that depend on multiple steps in the past. I've studied those quite a bit, as have other people, particularly at our summer school. One feature of such cellular automata is that it's easy to make them be reversible, like the basic equations for quantum mechanics. (Other cellular automata can also be reversible, but it's harder to pick them out.) You might find http://www.wolframscience.com/nksonline/section-9.2 interesting.

Q: Professor Wolfram, have you or your students ever made a design search of the computational universe that yielded the same results as the human historical record? (as an example, I programed a digital drum machine to loop the ternary code from 0000 0000 to 2222 2222 by converting to eighth notes as 0=silence 1=tak 2=boom. To my surprise, every good drum groove was already part of drumming history, either medieval, Congo, Egyptian, Indian or Oriental. It gave me the feeling that others had made this design search 2000 years ago.) —thementalesefalcon

SW: That's an interesting issue: is there a "theory of history" or is too much of it accidental? There clearly are some aspects of history that can be modeled, and indeed people have used my kinds of models to do this. (Think e.g. computational agents in a market, social system, etc.)

Biology gives us another example of a historical record... where perhaps more has been played out than in human history. One of the things one can ask is whether the organisms that exist are a consequence of particular historical accidents... or whether they're somehow theoretically determined, e.g. by filling out a space of all possibilities. I was somewhat surprised to discover, at least in the particular cases I looked at (e.g. http://www.wolframscience.com/nksonline/section-8.6) that there was a lot of predictability in the set of possible organisms.

Does something similar apply to human history? I don't know. I suspect we haven't had enough independent societies etc. etc. to see the same kind of phenomena as in biology. I note that in Wolfram Language (and Wolfram|Alpha) we now have a lot of historical country data... and it's remarkable to watch the evolution of the countries of the world with time: it looks remarkably "biological", and perhaps amenable to theory.

Now about music: we did quite a bit on that in connection with http://www.wolframtones.com a few years back (yes, embarrassingly enough, that site doesn't work with many modern browsers... and, yes, we're working on it... but it doesn't help that the Wolfram Language server it uses has been running happily since 2005 without anyone needing to know how it works :-) )

As part of the WolframTones projects, we inventoried musical scales (and they're also in Wolfram|Alpha). Of the 212=2048 that are possible, my recollection is that about 400 of them are actually named and used in real music. I thought it would be fun to see if there was a correlation between geolocations of users of WolframTones and what kinds of scales they picked... and indeed there was some correlation. Could we predict which scales humans will like? It'd be interesting to train a neural network with various ambient musical environments, and see what it ends up liking.... (There are some more physiological considerations... a few of which I talked about in http://www.wolframscience.com/nksonline/page-585 and the notes to this..)

Q:

  • You mentioned in your blog that you may return to do Physics and explain the Universe. Now you seem to be pretty excited about the gravitational waves. So, are you still planning to do that?
  • What are your thoughts about the singularity?
  • When are you going back to Hollywood with a show like Numb3rs? :-) —ViolatorMachine

SW: Oh yes, I definitely hope to return to seeing if my ideas about physics make sense. I was excited about the gravitational wave discovery partly because I saw the beginnings of that project when I was at Caltech 35 years ago... and it's pretty neat when something comes to fruition after all that time. I intended to write a small blog about it... having thought I could explain the basics of black holes etc. quickly. But when I actually started to write, I realized things that (after all these years of knowing them myself) I thought were "obvious" actually needed explanations... And the whole blog, that I posted yesterday, ended up being quite long: http://blog.stephenwolfram.com/2016/02/black-hole-tech/

On the singularity: I think different people mean different things by it. (Long ago I met I. J. Good, who I believe invented the term "intelligence explosion"... but we mostly talked about biological not technological evolution...) Gosh, there's a lot to say about this. My Principle of Computational Equivalence implies that "intelligence" exists in lots of things, with a great deal of equivalence, making the idea of "superintelligence" less plausible. I think I shouldn't start writing about this here, or I won't get any other questions answered. I would say that I think the most practical "singularity" for our species will come when we achieve effective human immortality. Maybe I'll come back to this question later in this AMA if there's still time.

On Hollywood: We certainly didn't create the Numb3rs TV show, but some people at our company had a lot of fun providing math for each episode and the website about all that is still up: http://numb3rs.wolfram.com/ I personally haven't done as much with Hollywood as I might because I find the high noise-to-signal ratio that tends to exist there very difficult to deal with. However, I had a nice experience helping a little (with one of my kids) recently on a movie project that hopefully will come out this year. (Of course, our technology gets used a lot in Hollywood: a nice recent example which takes us back to your gravitational wave question is https://www.wolfram.com/mathematica/customer-stories/academy-award-visuals-mathematica-wolfram-language.en.html)

Q: What do you think is the most interesting open problem in mathematics? —bignoid

SW: One that I'm definitely very interested in is really a metaproblem: how much math is doable?

Gödel's Theorem tells us that there are mathematical questions that are undecidable from existing axioms of math... but those questions often seem very artificial, and most working mathematicians merrily proceed without worrying about undecidability. On the other hand, in my studies of the general computational universe of possible programs, I've found that undecidability is quite rampant. So the question is: how does mathematics avoid that?

My guess is that it's a reflection of the human aspect of doing mathematics: that human mathematicians specifically choose to extend the field in directions where its methods work, and they don't fall into the morass of undecidability. But it'd be nice to really understand this. There are practical questions, like where the boundary of undecidability is, say, for Diophantine equations. (We know complicated examples of equations involving integers where it's undecidable if they have solutions... but can equations as simple as x3 + y3 + z3 == 20 have this issue too?) [ See http://www.wolframscience.com/nksonline/section-12.9]

Another question is how inevitable the "tower" of current pure mathematics is. If one starts from arithmetic and basic geometry, is there a definite set of concepts that one gets by generalizing those? If so, then one should be able to do "predictive metamathematics", and work out what the limit of all this generalization will be...

Q: You are a physicist who seems very keen on understanding the fabric of the universe at the most primitive levels. I'm not sure I've ever heard your thoughts on consciousness/qualia. It seems very unique from matter, energy, space, and time, so presumably a theory of everything needs to account for it. Have you given it much thought? —danielbigham

SW: I think the most interesting issue here is whether there's a formal theory of the concepts that we seem to form with consciousness, independent of a theory of the physical world. No doubt our actual consciousness emerges from a theory of the physical world, but we can ask whether we can have a formal theory of concepts that doesn't rely on connection to the physical world.

I think the answer is definitely yes, and in a sense that's what the idea of computation—and universal computation—gives us. We can have a symbolic representation of how any world operates, independent of the details of the physics of our particular world. The notion of working with symbolic representation is at the core of the Wolfram Language, and I'm really interested in using the language to represent the kinds of concepts that people seem to form in their minds. The notion of developing "philosophical languages" that can handle things like this was quite popular in the 1600s (Leibniz, Wilkins, etc.) but has gone out of fashion since. I think with the Wolfram Language—between its symbolic character, and the fact that it knows and can represent a lot about the real world—we finally have a platform to do this for real, and that's something I'm hoping to pursue.

Q: What are your thoughts on Elon Musk? —aaaal

SW: He's always fun to talk to... and we've been having some interesting exchanges about AI of late.

I have to relate one amusing story, though. A few years ago I was at a dinner party with my oldest son (who was then about 15), and my son happened to be sitting away from me but near Elon. Apparently my son figured out "who Elon was" when he mentioned that he'd recently got a contract to blow up asteroids... Elon apparently went on to say that the only reason he went to college was "to pick up girls". My son quoted this as "the Elon Musk theory of college" for quite a while thereafter.

Q: What is the ultimate goal with the Wolfram Language? I'm working through the exercises and am admittedly a novice, but by the end of the new book I'm hoping to "see the light," so to speak. I'm neither a programmer nor do I have any sort of strong mathematics background (in fact, quite the opposite), but by the end of this book/series of exercises I'm hoping to understand just what I can do with this information beyond some cool stuff in Wolfram|Alpha/Mathematica.

What can this offer people who are more creative thinkers than concise mathematicians or programmers?

Thank you. —RabbitHats

SW: My goal with the Wolfram Language is to give everyone a way to turn ideas into reality. I want it to give people a way to think about things computationally—so that they can implement them in code and actually get them executed, whether they're ideas about creating some new visual form, or implementing some financial scheme, or whatever.

Computational thinking isn't the same as traditional mathematical thinking, although many of the most valuable elements of mathematical thinking also exist in computational thinking. I assume you're talking about working your way through my book An Elementary Introduction to the Wolfram Language ( wolfr.am/eiwl ). [I hope you like the exercises: I must admit that I've never written exercises before...] That book is completely math-less: I made a point of not using any math beyond basic arithmetic.

I'm not sure what kind of "creative thinker" you are. But whatever it is you create, try to automate the process in the Wolfram Language.

Q: If you are the Alpha, then who is the Omega? —Madlutian

SW: I don't know about that... but I could perhaps tell a little story.

Back in 1987 we were working on developing what would become "Mathematica"... and its working name was "Omega"! (In fact, if you look at the creator ID for a Wolfram notebook file on a Mac, it's still OMEG because of that....) [There were some other candidate names too: http://www.stephenwolfram.com/scrapbook/page5/#1987_names] So in creating Wolfram|Alpha we've gone from Omega to Alpha......

Q: What is the one thing any student must try in college?
—Snorlax_Returns

SW: Hmmmm... I myself was only in college for about a year (in Oxford, long long ago)... and I spent most of my time in an underground computer room where I had access to the ARPANET, doing physics research. So I don't have much to say from personal experience.

In today's world, the obvious point is to learn about things that will be important in the future. One trend I've noticed is that eventually there's a field called "computational X" for all X (X = agriculture, archaeology, ... , zoology) ... which is a way of saying that computation and computational thinking are going to be important in pretty much anything people want to do. So it's a really good idea to get familiar with that... and, needless to say, I've spent years building tools to make that easy for people. The most recent development is Wolfram Programming Lab, which you can use on the web at https://lab.open.wolframcloud.com

I myself have always found it useful to learn as much as possible about as many things as possible... and college at least should be a good place to do that. Even if you're a techie, don't forget the humanities. Long after the latest fad in software development, or the latest JavaScript framework, is long forgotten, people will still be reading Plato, and learning useful things from doing so....

Q: What are you thoughts on the recent "Apple vs FBI" developments? —sjapple2101

SW: Obviously, it's complicated. And I don't know enough about the details of Apple's technology to have a sense of what's even possible. Does breaking in require breaking NP-complete-like strong cryptography, or unraveling some physical source of randomness? Or does it just require some patch to iOS that someone with access to the source code could readily make, and which could be made useless in a future OS update? It seems to me that the "right thing to do" depends considerably on which of these is what's going on.

I have to say that it's been really interesting over the last few decades to see the transition from cryptography being a weird thing that only a few people knew or cared about... to something that's increasingly central to everyday life. It's a great example of the relevance of theoretical science to practical things....

Q: Hello Stephen, I have a very important question that many of my colleagues wish to have answered:

Would you rather fight 100 duck sized horses, or 1 horse sized duck? How might you use Mathematica to answer this intelligently?
—swAMAThrowAway

SW: [Note: This answer made Best of Reddit.] I'm certainly no expert on fighting... but here's how I might approach the problem. Basically I would want to make models of these creatures—their mechanics, and if possible their behaviors. I know Mathematica has been used a bunch to model quadruped mechanics (e.g. for dinosaurs in movies, and real things). I'd probably start from models of the biomechanics of ducks and horses. We recently added detailed human anatomy data to the Wolfram Language and Wolfram|Alpha (see e.g. http://www.wolframalpha.com/examples/HumanAnatomy.html), and I know from that project (which took a long time) that there isn't readily available comparable data for other species. So one would have to wing it a bit (and, yes, I have no idea about models for the wings...)

So... after one has a biomechanics model, then there's the question of how these critters would fight. Oh, by the way, there's another issue: how would the anatomies of horses and ducks scale? There are empirical scaling laws for anatomy (how much stronger is a leg if it's x times bigger, etc.), which perhaps one could use. But to be "realistic" one would have to think about how an actual duck the size of a horse would grow. Maybe one could use synthetic biology to fabricate such a thing, but that's out of range for now. We don't even know what genes govern human height... let alone knowing what to modify to change the size of a duck.

OK... but let's assume we've got a plausible biomechanics model. Then we've got to model the brains of the critters. In modern times, perhaps we could simply capture training data for a neural network by watching the actual behaviors of ducks and horses when presented with different sensory inputs and situations. At least on short timescales I wouldn't be surprised if some simple recurrent neural network or some such wouldn't be able to reproduce the behavior pretty well.

So let's imagine that we have models for these critters. Now we'd have to work out a strategy for how to fight them. Actually, my tendency might be to try to avoid fighting them, but I'm not sure how it would work negotiating with a horse-sized duck. Maybe by the time we've got a good neural net model for the critter, we'd be able to communicate with it, and have some kind of existential discussion... with the conclusion that we didn't want to fight anyway. But still, if we did have to fight, then we'd want to develop some algorithm for deciding what to do, and responding to the various actions of the "other side". What I'd tend to do is to search a large space of possible algorithms, looking for ones that perform well in simulations of the fight. Most likely those algorithms will involve a certain amount of apparent randomness ("doing unexpected things").

After all of this, I'd pick the best algorithms, then run simulations of the duck-horse and horse-duck cases. With luck there'd be a definitive separation in the distribution of outcomes for the two cases... in which case, I'd have an answer! Or it could be that the distributions would overlap a lot... in which case I guess I'd use some statistical criterion or another ("mean worst-case outcome" or "90% probability of victory" etc.) and pick the answer. Oh my... that was long and nerdy... but it was fun for me... thanks...

Q: What's the biggest technological advancement that has helped your company? —southboundtheatreguy

SW: Obviously we wouldn't exist but for universal computation and the possibility of software....

I have always taken the point of view that I want to design a language the way it should be, independent of what happens to be easy to implement on computers with a particular level of power. It's helped tremendously over the last 30 years that computers have kept on getting more and more powerful, so things that were "theoretically good" become practically possible too.

There've been all kinds of thresholds. E.g. a decade ago it became possible for us to do nontrivial computation as part of an interactive interface, and that opened lots of possibilities.

The web has also been really helpful in making it possible to deliver Wolfram|Alpha and now the Wolfram Open Cloud to lots of people. And the internet/cloud is important in letting us get access to real-world data inside our language.

The concept of the cloud is also turning out to be more important than I expected, not least in the way that it lets us have definite symbolic representations for unique globally accessible objects in the world.

It's more science than technology, but a lot of algorithm developments—as well as my own favorite methods of algorithm discovery in the computational universe—have also been very important.

Q: With all the cloud / API developments - is connection to Reddit API in wolfram language likely? —kanhy

SW: We've had prototypes for a while... and actually a ServiceConnect[ ] connection is coming in the next major Wolfram Language version, very soon. (By the way, it's easy to build some level of connection yourself, but we're trying to get a nice smooth one.)

So expect Wolfram-Language-based Reddit bots... I'm looking forward to "meeting" them myself....

Q: Which super hero from marvel do you find most scientifically realistic? —fiftyshadesofsway

SW: I have seen a bunch of Marvel movies... but I'm no expert on the whole array of superheroes....

What's ultimately possible is always an interesting question. There are plenty of things that get done even though they supposedly "violate the laws of physics". (I remember when people said that data would never be transmitted on copper wires faster than 1200 baud... because they didn't understand error correction/compression etc.) It takes a lot of thought to understand what might be possible, and one still often gets it wrong, because one didn't think of some engineering trick or another....

I wrote an essay about a few of these things [not superheroes, just what's ultimately possible in physics] a few years ago: http://www.stephenwolfram.com/publications/what-ultimately-possible-physics/

Q: Do you believe that power the Wolfram Language is under-utilized by the majority of its users and are the Programming Lab and your Introduction book part of a solution to this? —ElProfe2

SW: Simple answer: yes.

Of course, there are people who use Wolfram Language in very complete and impressive ways. But it's a big system, with lots of ideas (though built on a small number of principles), and there's a lot one can learn about it.

Sometimes I think it's better when people come to Wolfram Language without knowing too much about programming. That way they don't have to unlearn cater-to-the-details-of-the-computer things like writing out explicit "for" loops etc. (People who know modern functional programming languages can have an easier time with WL though...) But it's real cool when one sees people who know the Wolfram Language well, and can incredibly quickly take ideas and implement them [it's particularly spectacular when the people doing it are kids...]

Q: Who is your favorite historical scientist? Why? What is in your opinion the most significant scientific achievement of the human race? —Toshiro46

SW: It depends what you mean by "favorite". There are people who have ended up making contributions that are particularly relevant to me (e.g. Gottfried Leibniz, Kurt Gödel, Alan Turing). There are people who would have been fun to meet (e.g. Ramon Llull, Galileo, Ada Lovelace, Albert Einstein). And there are people who managed to live their lives well in one way or another around their scientific accomplishments (e.g. Charles Darwin, Thomas Edison).

I would have two answers about scientific achievement.

First, the idea that it's possible to make formal models of the world.

Second, the idea of computation, and particularly universal computation.

Q: What are the most common queries you see on WA? Are there any trends you notice, and anything you might link to a specific cultural phenomenon or political touchstone? Basically, how do the data coming from WA represent what's happening in the world at large? —brandonsmash

SW: There's an amazing diversity of queries on Wolfram|Alpha. Actually, it's an interesting analytics/semantics problem to try to characterize their distribution. (Looking at queries that don't work is important in trying to form a "to do" list for ourselves. ) There's a broad distribution of queries in almost any parameter, actually with all kinds of interesting scaling laws.

On any given day, we can absolutely see trends based on news events. Relative to the total, they're small signals, but they're definitely there. We've done a little analysis on such things, but there's certainly more that could be done. (For privacy reasons, we anonymize all queries when they go into our analysis logs, so we lose some data that way.)

Q: When will Wolfram|Alpha become available in non-English languages? —shuttleduck

SW: If you type non-English into Wolfram|Alpha it'll actually even now quite often be able to interpret the question, but it won't generate the answer in another language.

We originally built Wolfram|Alpha for English. I always thought its framework would allow generalization to other languages, but we weren't sure until we tried it. With a lot of effort, we actually developed a complete Wolfram|Alpha in Chinese, but unfortunately we have still not been able to deploy it for regulatory reasons.

We're actively working on quite a few non-English projects with Wolfram|Alpha, so expect to see progress on this.

I might mention that the Wolfram Language has some nice new non-English features. For example, it'll annotate code in about 15 languages. And it knows word-for-word translations (through WordTranslations[ ]) for more than 200 languages. More will be coming in the Wolfram Language for full language translation soon....

Q:

  1. I'm working on a Raspberry Pi based Wolfram calculator that I can hold and make my Maths Teachers jealous with. Interested? ;-)
  2. Would you ever consider taking on lovely Aspiring youngsters for several weeks work experience? looks hopeful —Ben0738

SW: Sounds cool. I'd like to see it. Yes. And we have several related programs for such things, e.g. http://education.wolfram.com/summer/ And you can always find my email address :-)

Q: Hi Stephen,
What is your favorite flavor of ice cream? —theturtleguy

SW: Currently: banana if available. Otherwise chocolate. (That was easy...)

Q: I have a choice to go to a few summer schools. Any key points why should i choose the one your company runs? —suskro

SW: We have two main programs: a summer school for "grownups" (centered on undergraduates and grad students, but with others too), and a summer camp for high-school students. I think they're both very successful, but I'll concentrate on the summer school, since that's what I think you asked about.

I think it's a completely unique program. We've been doing it for 14 years now, and it's been great. We have very interesting students from all over the world (a remarkable diversity of countries, fields of study, etc.) The instructors at the summer school are mostly R&D employees at our company, and essentially all of them are actually alumni of the summer school. In a sense they're outrageously overqualified for what they're doing at the summer school, but the summer school has become a favorite "intellectual vacation" for a bunch of our top R&D folk.

The goal at the summer school is to get every student to do an interesting, original project that fits with their personal goals. I think we've developed a really good way to come up with projects for students over the years. I end up ultimately being the person who picks the projects (I haven't been a professor for real for a quarter of a century, but I often call the summer school my annual "extreme professoring" moment).

I always enjoy being at the summer school, and spending time with all the students there. We end up hiring quite a number of people every year from the summer school. And it seems like people who come to the summer school meet a very interesting collection of students and instructors who they end up keeping in touch with.

I don't know of any other summer schools that try to do something as ambitious as ours in getting people to do real, original projects in a small number of weeks (3 in our case). I'm hoping we can "franchise" our summer school, because I think a lot of people would get benefit from what we do there.

Q: Do you feel you have "slowed down" at all over the years? How do you feel about nootropics or other potential solutions for maintaining or even improving cognitive function? —bignoid

SW: So far, I'm happy to say that I feel like I'm speeding up rather than slowing down. I've progressively learned more and more over the years about how to figure things out, and how to get things done. It probably helps that I have a pretty good memory, so in a first approximation I remember everything I've ever learned. (I was pretty pleased in the last few days writing a blog post about General Relativity etc. http://blog.stephenwolfram.com/2016/02/black-hole-tech/ that I could actually remember all those details that I hadn't thought about in 30 years...) It also helps that over the years I've ended up learning lots of different fields. It gets easier to learn a new field after you've learned lots of others, and many of the good ways I have of thinking about things come from taking methods from one field and applying them to others.

As far as physiological ways to affect cognitive function: well, in my 40s I finally realized that it's actually useful to take exercise... and so I started doing my work for the first two hours of each day walking on a treadmill with a computer. (It's always good to schedule meetings that might be frustrating then, because if I get frustrated, I just have to speed up on the treadmill :-) ) I think the closest I get to anything nootropic is eating chocolate.

Q: Have you or your brother come across effective methods of increasing the popularity of using computational models outside of science, the classroom, or other areas in which they usually are used? I hope using computational models can become a cultural norm in debates, journalism, law, or other arenas of public discourse. Public discourse is almost always composed of groups of people writing for and against a proposition. Often, the groups are "basically just hurling around unsourced soundbites, leaving readers little to go on besides emotional appeal. What if both sides were expected to offer computational models, and the reader could critically explore their predicted scenarios?" (If people are interested in this, I recommend Bret Viktor's posts about explorable explanations here: http://worrydream.com/#!/ExplorableExplanations) Or what if every news pundit on TV had to display a score of the accuracy of every public prediction they made in the past, similar to a baseball player's batting average? I think public discourse would generally improve significantly, but I don't know how one would establish those higher standards. (If people are interested in this, see Brier Score (https://en.wikipedia.org/wiki/Brier_score) and google Philip Tetlock forecasting. —aaaal

SW: About 500 years ago there started to be widespread literacy, and it had a big effect on how people communicated about things. Today we finally have the possibility of widespread computational literacy, and that will change a lot of things.

I'm particularly excited about the Wolfram Language for this: it's finally a language that I think people can readily learn, and that can talk and compute meaningfully about the real world. That means it can start to represent people's positions on things, contracts or laws people might want to describe, etc. etc. And what's really interesting about it is that not only can people read the code, but so can computers—and the computers can also automatically execute it.

I'm hoping that as more people start to know the Wolfram Language, it'll be increasingly useful for communicating ideas even between people, let alone to computers. I've certainly noticed this with people that I work with: it's often easier just to type out (or even say) a piece of code in the Wolfram Language than to try to explain the concept in ordinary natural language.

And when one's representing a position or policy or whatever as a piece of code, it intrinsically has a clear meaning—so it's something one can be confident building on, say doing simulations, or comparing with other possibilities, etc.

I think it's going to be really interesting when a decent fraction of the population is not only literate in natural language, but also in knowledge-based computer language. Just like natural-language literacy led to all kinds of interesting new social structures (and, yes, lots of bureaucracy too), so I think computational literacy will make interesting new structures possible as well.

Q: If we could gather all the data in the world, could we predict the future? —petersmartypants

SW: Yes, but perhaps not faster than it happens.

This is directly related to a phenomenon that I call "computational irreducibility". Even if you know the rules for a system you can't necessarily predict what the system will do without following through exactly the same computation that the system itself does.

Traditional science has been very big on computational reducibility: figuring out how to use fancy math etc. to work out what will happen in a system with less computational effort than it takes the system itself. It turns out, though, that a lot of systems are themselves computationally as capable as anything—so we can't outrun them with any computations we can do.

And the result is that we just have to watch the systems; we can't systematically predict them. Having said that, within any computationally irreducible system, there are always pockets of reducibility where one can make predictions, and that's certainly true about the world.

For more about all this, see: http://www.wolframscience.com/nksonline/section-12.6

Q: I wanted to read "A new kind of science" 14 years ago, but I was too young and scared by a 1200 pages book. Do you think it's still up to date? Will you ever publish a shorter version? —aubreymcfato

SW: Yes, it's still up to date. I worked pretty hard to "answer all the obvious questions" based on the topics I was looking at, and there's very little that could be added now.

I'd recommend the first chapter and the last chapter to begin with. Then hopefully you'll be motivated to read what's in between. And don't forget the notes at the back. Some of them are quite technical, but others are nice, easy reads about history and things.

I won't publish a "shorter version of NKS" as such. For many years I was put off writing books by the fact that the NKS book took me 10.5 years to write. But last summer I decided to "dash off" An Elementary Introduction to the Wolfram Language... and I'm happy to say that that book went really fast. So now I'm up for writing some others. Based on the amount that I'm typing in this AMA it seems like I should be able to write a book quickly :-) and that's probably true.

I'm considering doing a "hands on" NKS-like book, in the style of An Elementary Introduction to the Wolfram Language. We'll see.

Q: What kind of games do you play, digital or analog? —bobbylox

SW: I'm not really into games at all, and never have been.

Somehow whenever I'm exposed to games I end up thinking "in the time I spend playing this game, I could be building something or doing something that isn't a game". I guess the point for me is that I really like building and doing things, so that's the fun "recreation" for me...

That's not to say that I don't think there are very interesting ideas and achievements represented by games (and our technology gets used quite a bit in developing games, etc.). Games are just something I've never been into. Actually, I try to collect such things... I like "reserving them for later in life". Somehow I'm charmed by the idea of learning videogames at a very advanced age....

Q: What do you think of the current "deep learning" methods? Will that fit into Wolfram software? —noofster

SW: Yes, we've done a lot with these things, and will be doing a lot more. See e.g. http://www.imageidentify.com that we released a year ago. We've also got a lot of machine learning built directly into the Wolfram Language (and we use machine learning to automate it, so you don't need machine-learning experts to use it). For me it's been really interesting to see the trajectory of neural networks. I worked on them back around 1980, and I really couldn't get them to do anything interesting. I wasn't sure they would ever do interesting things. But it turns out that—using essentially just the kinds of things I was doing back in 1980—we finally can make them do interesting things. It's all a very interesting episode in the history of science and technology. (See e.g. http://blog.stephenwolfram.com/2015/05/wolfram-language-artificial-intelligence-the-image-identification-project/) And being able to have this kind of functionality alongside all our precise symbolic computational capabilities in the Wolfram Language is extremely powerful—and I expect lots more from it in the future.

Q: Are there any things you miss now that you're an outsider to traditional academia? —Bierhouse

SW: I have many friends in academia, and end up interacting quite a lot with academia in one way or another: giving talks, meeting with groups of students, etc.

But I've now spent several decades building an environment where I can implement ideas incredibly much faster than I ever could in academia... and when I look at academia, it seems very frustrating to me: it's so slow compared to what I'm used to.

A nice feature of academia is students... but I'm happy to say that we're able to work with lots of students through our various programs.

Q: What ages are appropriate to learn Wolfram Language? For instance in Kindergarten or k1? Do you see Wolfram Language in third world countries like an Open Source platform in the future? Thank you. —PatricioVicunaF

SW: My theory has been that age 12 is where Wolfram Language starts to be the right thing to learn. But I've now seen a good number of 9-, 10- and 11-year-olds who seem to be having a great time with it, so at least for some kids I have to revise my estimate down.

Still younger kids can certainly get a lot out of using specific Wolfram Language demonstrations e.g. from (http://demonstrations.wolfram.com) but I think "raw coding" may be too difficult for now. I'm interested in thinking about what to do with this age group. We've been working with the Scratch team on "Wolfram Blocks" for Scratch, but I think there are some more ideas to have there. (For our Demonstrations project, there's actually a list of K, 1, ... Demonstrations in http://demonstrations.wolfram.com/ccss-explore.html) We now have Wolfram Programming Lab available free on the web, at https://lab.open.wolframcloud.com, and I'm definitely hoping there'll be lots of kids, including from developing countries, who can use it. We also have quite a few projects around the world aimed at introducing the Wolfram Language to kids in developing countries. On a large scale, the challenge is typically teaching the teachers... and finding good partners to do that with.

Q: Would you consider adding an option to Mathematica to allow pasting data with line breaks preserved in Notebooks? If not why? Why wasn't this the default behavior? Try pasting the following and I believe you will see what I mean.

Print[
23
]

Here is a link explaining it with a fix http://mathematica.stackexchange.com/questions/30604/paste-data-into-mathematica-with-formatting —WilliamA16

SW: That's a good suggestion. I'm not immediately certain of the correct UX. I guess it has to be a "Paste As..." I'll get it added to our next review of such things... Thanks.

Q: What do you miss about England that America doesn't immediately offer? —martinky24

SW: The candy :-) And now there's even a ban on the import of some British candy to the US.

When I was growing up in England I was always frustrated by what seemed like an irrational level of respect for older people there. And I often said that England would be a good place to be older in, but wasn't a good place to be young in. Unfortunately in the intervening decades I think the attitude in England has changed, so this wasn't a good thing to look forward to :-)

I always enjoy visiting England, and it's fun to contrast attitudes in the US and UK. And I think I can at least still imitate the most British "jolly good show" kinds of things....

Q: Hi, thanks for bringing us Wolfram Alpha! Do you plan to release an azerty keyboad for the app anytime soon? —LeCardinal

SW: Interesting suggestion. We have to add a lot of special keys to keyboards, so we end up having to make our own keyboards... so interacting with system keyboards can be complicated. I'll ask someone to look into this. Thanks.

Q: What sorts of concierge services are available to you that you think would be affordable and useful to the general population?
—NorbitGorbit

SW: I try to build automated systems for as much of what I do as possible. And I regularly write code (in the Wolfram Language) for things I want. (See e.g. http://blog.stephenwolfram.com/2012/03/the-personal-analytics-of-my-life/)

Quite a lot of what I've automated is definitely of potential use to other people, and we're slowly trying to productize at least some of it.

Something I'm hoping to do myself soon is to use our new MailReceiverFunction[ ] in Wolfram Language to be able to automatically process (or at least preprocess) a lot more of my incoming email. Eventually maybe I'll be able to replace a lot of what I do by a bot.....

Q: Hey Stephen, what's the earliest program you can remember writing? —habitrail1

SW: It was 1972 or 1973 and I was about 13 years old... and I got access to a computer. It was an Elliott 903C programmed with 8 kilowords of (18-bit) ferrite core memory, and programmed with paper tape, and about the size of a large desk.

I wrote a few tiny programs, then I wrote a program to do a simple simulation of gas molecules in a 2D box. I essentially reduced the problem to a cellular automaton... but I made the rules a bit too trivial, and I never ended up seeing some really interesting phenomena that I discovered for real about 10 years later.

Another program I wrote (that I was rather proud of) was a paper tape loader. The tape (which was sometimes mylar rather than paper) got read by an optical reader at quite high speed... but there could be a problem if a little piece of confetti got stuck in a hole in the tape. I wrote a program that used error-correcting codes (though I hadn't heard of those then) to correct single-hole errors, and detect bigger ones... then let people just pull the tape back in the reader and re-read a section....

Q: What method would you recommend for a programming novice to learn the wolfram languge/software? —ReimannOne

SW: I just wrote a book to help people do this! An Elementary Introduction to the Wolfram Language (wolfr.am/eiwl)!

Try e.g. working through the exercises etc. from the book in the recently released Wolfram Programming Lab in our Wolfram Open Cloud (https://lab.open.wolframcloud.com) Then try doing a project of your own....

You can also participate in various online and offline courses we provide (http://www.wolfram.com/training)