It's Monday, December 5th, 2011, and this is For Good Reason. Welcome to For Good Reason, I'm DJ Grothi. For Good Reason is the radio show and the podcast produced in association with the James Randy Educational Foundation, an international nonprofit whose mission is to promote critical thinking about the paranormal, pseudoscience, and the supernatural. Before we get to this week's interview, I want to invite our listeners to support the James Randy Educational Foundation's unique work combating unreason in our society by contributing during our Season of Reason campaign. We could not continue fighting the charlatans and educating the public about harmful beliefs without support from people who care about this mission. Like a lot of other nonprofits, the majority of our annual donations come in at the end of the year, and so we've launched the Season of Reason as an opportunity for you to support our work. Our organization is an independent nonprofit, so all donations are tax-deductible and are going to be used for the sole purpose of promoting critical thinking to the public and advancing our skeptical, pro-science, pro-reason mission. You can help us out by going to randy.org and making a donation today. Now my guest today is Jamie Ian-Swiss. He's considered one of the world's top sleight of hand performers famous to magicians for his regular book column in a famous magic magazine, Genie. He's lectured to magicians in 13 countries. He's made a number of television appearances in the US, in Europe, in Japan, and he was featured in the PBS documentary, The Art of Magic. He serves as an advisor to the James Randy Educational Foundation and is a long-time friend and colleague of James Randy. Jamie, welcome back to For Good Reason. And it's a pleasure to be here, DJ. First off, Jamie, we've gotten a number of emails from folks wondering where your segment, The Honest Liar, where that went. So people really love that. We've gotten a lot of positive feedback. What's the deal? Well, I cannot tell a lie. I really enjoy doing those commentaries and it's been great to get some of the feedback. A tam in particular, constantly being stopped by people who like them and want to hear more. They are incredibly time consuming for those few minutes on the air. There are many, many, many hours of research and fact-checking and writing and editing and so on. And so it just became difficult to keep up with the weekly deadline. However, we have another project in the works, a version of Honest Liar, I guess you could say, that we're not ready to announce all the details on it, but I'm hoping something will come out soon that will be even, maybe even better, but in the same vein as The Honest Liar. The Honest Liar shall return. Very excited to hear. Jamie, I asked you on the show this week because in light of our recent public challenge, the James Randi Educational Foundation's recent public challenge to James Von Progg, that celebrity psychic here in the US and psychic Sally in the UK, I thought it would be interesting to talk with you about psychics. You have this sort of expertise, this background in magic and also mind-reading mentalism, this background in investigating psychics. So I want to get into the different kinds of psychics. Are they all fakes, stuff like that? Well, I'm happy to talk about all of those subjects. The subject of psychics has long been the place, I think, at which the long history of magicians and skepticism, it's really the nexus at which we meet. I mentioned the celebrity psychics. The unholy trinity here in the US has been James Von Progg, Sylvia Brown and John Edward, and the JREF has engaged all of them publicly in the media. We've issued challenges primarily because they're the ones out front and seeming to cause the most harm. They deserve the bull's eyes because they're the ones inspiring most of the belief in this sort of stuff with their best-selling books, et cetera. But they're not the only psychics out there making a buck on people's belief. Well, there are different kinds of psychics, both professional and amateur. And the celebrity psychics, we've dubbed the celebrity psychics, certainly are the ones making the big money. They're not just the visual flash points, as you say. They sell best-selling books and keep cranking them out. They get syndicated TV shows. And as you also say, they promote belief. But you've got working psychics in many different classes, the so-called storefront psychics. You've got believer psychics who actually work professionally in less visible arenas. And you have amateur psychics, as many kinds. Before we get into some of those, I would just want to touch on this challenge we issued to James Von Progg. I was gratified to see the media attention we got from that. But it wasn't just a matter of sticking James Von Progg kind of poking him in the eye and saying, you know, you're silly. We had a real point to make. Well, with all of these celebrity psychics, it's the same thing. They are not interested in responding to skeptics. They're not interested in being tested.  But they don't come back to that well to actually develop or pursue scientific testing. So for example, when Geller was able to take in the guys at Stanford Research Institute, he touted for years, continues to tout that he was embraced by those so-called scientists, but he's never come back to be tested again. And similarly, John Edward was recently endorsed by Dr. Oz. Right. And not only Dr. Oz, but John Edward was on Anderson Cooper, his daytime show. And I'd always thought of Anderson Cooper on CNN as a kind of great journalist, you know, serious minded. And he had John Edward on there talking details of Gloria Vanderbilt's life, Anderson Cooper's mother's life, and all of those details were really easy to find in her biography as an example. Yeah, my goodness. How could you ever find out anything as obscure as the life of Gloria Vanderbilt? And what will happen is that someone like Edward will now tout that endorsement by Oz or by Cooper, but he's not going to actually come and say, no, no, no, it's really my intention to be tested. It's really my intention to establish myself scientifically.  They're just looking for the one weak spot where they can get someone. And similarly, Van Prague has this academic psychiatrist who's a supporter of his.  Oh, no, no, I'm not interested in cynics, right, who use that. And Edward will say, you know, well, I'm not interested in talking to a guy who has amazing in the middle and adjective in the middle of his name and all of this kind of thing. So they're desperate for that kind of legitimacy. But of course, they're also desperately afraid to actually submit themselves to any serious scientific examination. They want something that appears like the credibility, but they won't do the simple thing that will give them all the credibility in the world, which is to pass the James Rand Educational Foundation's million dollar challenge, a challenge we make available to anyone who could prove under mutually agreed upon scientific conditions that their paranormal claims are real. That's exactly right. They want the gloss of science, but they're not actually willing to do the work. So we talked about the celebrity psychics, but we recently turned our attention to psychics who weren't celebrities. Even though we did it kind of on a national stage, we for the first time tested a number of working psychics in New York City for the million dollar challenge on primetime TV. And you were very involved in setting that up. This was in front of some 4.5 million people we tested psychics for the million dollar challenge. Yeah, this was a great opportunity. Nightline became interested in doing a story on the million dollar challenge and Banachek and I and you went to New York City after a few hurried days with the million dollar challenge subcommittee members designing a new set of tests that we could take off the shelf. So instead of the typical situation, the historical situation of the MDC, of applicants coming to us giving their claim and us designing a test specifically suited to their claim, which is of course something we'll continue to do with the million dollar challenge. We sort of branched off to the second version that we've been considering for quite some time, which is to create a series of off the shelf challenges that kind of meet the needs or claims of the average psychic, if you will, a set of skills involving things like astrological readings and palm reading and tarot reading and mediumship and psychometry and say, well, come on, here's a single shot test, no series of tests, no preliminary test. There's a one shot test. We'll do it in front of the cameras and if you pass it, we'll give you a million bucks. And this is an example of being able to really take the million dollar challenge on the road as we've been talking about for a while. Right. And instead of waiting for them to come to us, a way for us to take it to them, take it, really taking the million to the streets. The psychics that we tested on Nightline and I'd like to let our listeners know that you can find a link to that entire episode of Nightline on forgoodreason.org. Jamie, as we were testing them, it became very clear to me, spending the time I did with them, you spent a lot of time with them that, and I know I'm going to get my lumps from some skeptics for saying this, but a number of these folks were, they seemed sincere and well-meaning, even sort of kind-hearted people, people I liked, except for the fact that they believed they were helping people with these supernatural abilities. You know, I didn't buy those claims, but these people were warm and seemed sincere. So for my vantage, I don't think any of them, maybe with one exception, were knowing fakes, even though none of them were real. Yeah, the one exception is the one who probably went home, right? Because not everybody made it on camera. Somebody walked out. Yeah, that's a very interesting, although not surprising phenomenon. Nightline, we help Nightline prepare flyers that they distributed to every storefront psychic, about 70 or 80, I think, in Manhattan. And Nightline had visions of these psychics coming in to be tested. And we told them that was not going to happen, and we were actually quite concerned whether or not we were going to have a story, because were any of these people going to show up. And there's always been this category of psychic that the term goes back to at least the 19th century era of spiritualism, called the shut-eye. And these are people who are genuine believers, even in what they themselves are doing, as well as what others are doing. And that's a very different thing than the professional storefront psychic. The people who came in for the Nightline test are, in many cases, professional psychics. But they're in a different culture than the storefront psychics. They come from the New Age culture. And one of the, literally, one of the storefront psychics passed the flyer over to a New Age store, and it kind of jumped the track to this other subculture.  One of the storefront psychics seemed game for that on TV test from the Million Dollar Challenge. Surprise, surprise, surprise! Okay, so before we get into why that might be the case, let's stay on these shut-eyes you've called them. None of them were fake, probably, but none of them were real. So make sense out of that for me. I think skeptics have a lot of trouble understanding this. I think skeptics are very often far too quick to jump to the idea that people are always deliberate frauds and leaving out this great category of the self-deceived. And yes, I completely agree with you. I'm sure Banecek would agree with you that most of the people that we had there and probably all of the ones that we actually ended up testing were sincere. What was not shown, one of the things that was not shown in the final edit and the final broadcast was we asked each and every one of them before taking the test. We described the test, we asked them if they thought it was a fair test of their abilities within their skill set, we asked them how they thought they would do. Without exception, each one said it was a fair test that fell within the range of their abilities and that they were abundantly confident that they were going to pass the test that they were going to take home the million dollars. Now, skeptics are accustomed to seeing this, for example, in dowsing tests. We've seen Randy many times over the years around the world test dowsers and dowsers are notoriously self-deceived and convinced that they actually have the ability. And that's because it's just not that hard to find water, is it? And also because they often have feedback that they're unaware of of where the thing is that they're looking for the object under the cup or whatever. Well, and not only that, the idiomotor effect, the psychological mechanism that's in play when you do dowsing or pendulum work or something, is so strongly a demonstration of something and if you don't know what it is, it seems paranormal. That itself seems to verify the ability you think you have. Right, it's completely unconscious and the person is unaware of the fact that they're actually controlling what's going on, controlling the rods or the pendulum or whatever the case may be. And so in the same case, you have these kinds of people. We had a tarot reader, a palm reader and several mediums and one astrologer. And I think it's fair to assume that they were all sincere and they are using a combination of techniques. They think they're using the skill set of going by the charts or going by the books, but I always remember that story by Ray Hyman, one of the founders of Psycop of course and a great friend and he was a magician in college and he was also got interested in palm reading and he was amazed at how successful the palm reading was and it was sort of convincing him that maybe there was something there and he shared this with a professor I believe who then suggested to him, oh that's interesting Ray, why don't you go out next week and when you do it, why don't you just reverse the readings? Just say the opposite of what the charts tell you you're supposed to say. And so that's what he did and he got the exact same amount of feedback of how everything is right and this is because the material is so generalized and so universal and plus you're mixing it with your own intuition about people. One of the, you know, the big skill of a psychic in many ways and the skill of a so-called cold reader and cold reading is another subject that is often misunderstood is we're really using a lot of the intuition that we all have about other people but what we're not accustomed to is developing a way to verbalize it, to articulate it, to turn it into conscious language. That's part of the skill of being a psychic but the underlying ability of using intuition, using signals and signs about how people look and what we think about them, we all do that every day. I also think it was interesting some of the comments these psychics that we tested on Nightline made. I'm not sure how much of it made it on air but when, you know, if you think of the category of reading someone, well, they weren't allowed during the tests to read the facial expressions in quotes, metaphorically read someone and one psychic actually said, well, I don't think I did as well as I normally would do because I wasn't a, she said this kind of matter of factly and not realizing what it meant. She said, because I wasn't able to get the validation, the feedback from the person getting the reading. Well, she didn't realize what she was admitting, did she? And she was also saying, explicitly saying, I wasn't allowed to ask questions.  Aren't you the one supposed to provide them? But you see what their complaint was, was that I had done interviews with all of our subjects. We had 12 live subjects and I had done pre-interviews with each of them and I had asked them each about half a dozen questions of the kinds of things I thought a psychic might like to know about their job, about their self-description of their personality, about their family and siblings and things like this and we created these little biographical sketches that the psychics were supposed to attempt to match with their reading, their psychic reading based on tarot or palmistry or whatever they're looking at.  The head nods, the open responses, they're getting all of that and we denied it to them and it put them in a bubble where they actually had to do all of the work and they can't do all of the work and another thing, you know, Vanaček was really amazed by, was that as the, as they would hand out the biographies, again, whether it was by tarot or by palmistry, they would get down to the last, say, three people and now they have sort of three biographies and two or three people to go and you could see them looking up at the people trying to match them with the description of the biography. Well, first of all, why should they continue to look at them like that but also, this assumes they were right in the other, in the other 10, which, you know, which they weren't so it's just, it's just incredible but what you're really seeing at work here is you're seeing, you have to enlarge the view of the laboratory and it's not just a laboratory about somebody making a living doing psychic readings, it's a laboratory, especially when you're dealing with believers and so-called shut eyes, it's a laboratory of cognitive dissonance at work and it is a paradigmatic replicable experiment because each one of these people, absolutely certain of their confidence beforehand, immediately in the aftermath and not even in the aftermath of the completed set of experiments and trials but one failed trial after another, at each trial, they immediately have a story, they immediately have an excuse why it didn't happen, what went wrong? You know, one woman giving this elaborate explanation, this is a mediumship test where she had to find the image of a dead celebrity among 12 photographs, 11 other photographs of just random living people and each time, oh, I see what happened this time, Lincoln, I didn't get Lincoln because, no, I didn't get Elvis because Elvis doesn't like to think of himself as dead because his legend lives. I mean, now, this sounds disingenuous but it's not. What it is is it's this attempt, this programmed function of the mind to resolve that dissonance, to resolve the dissonance of when we're wrong about something, not just wrong about ourselves but really wrong about anything and that's what's really at work here. My two most favorite moments in the exit interviews, one where a psychic was asked by Zhu Zhu Chang, the on-camera correspondent, so you didn't do as well as you thought you did and the psychic said, well, you know what, I really thought I was gonna win and I didn't, maybe I don't have these abilities, like that was a big deal to me and that is very rare to hear something like that. The other was where a different psychic looked straight in the camera and with bright eyes and with a lot of enthusiasm said, you know, I am really glad I failed this test because if I won this test, it would have distracted me from the work that Spirit wanted me to do and I think she was sincere, that justificatory scheme was not a kind of knowing lie but it was a kind of a self-lie that you believe you don't know you're telling. I agree with that. However, in the case of the guy, I believe it was the guy who actually did make it on the air, Jesse was his name. Yeah, he was a stockbroker and psychic. Right, exactly, yeah. And he was a really charming guy that we all liked so much and I think when he said, you know, maybe I don't have these abilities, I think that was a moment of when he was a little unsteady on his feet, met within the face of the failure of the challenge but I guarantee you that his confidence was fully restored. By the end of that interview, he was not really entertaining the idea that he didn't have the ability, believed he had the ability but somehow the test was not as fair a test of it as he thought it was too different than what he normally does and of course, we were very strong in inviting him to come in and say, well, look, if it's not a suitable enough test of what you normally do, we would be glad to arrange a test for you. We haven't heard from him. And in fact, the standing offer is open to any of the people we tested on Nightline. If they feel like the tests that we put together didn't adequately get to their claimed abilities, we'd love to work with them to develop a new test that could maybe uncover their claimed abilities. Jamie talked to me a bit about how the odds are in the test. We don't want our tests for the million dollars when we're trying to explore the possible existence of these paranormal abilities. We don't want the tests to be so hard that someone with an ability would fail nor so easy that someone without one would succeed by chance. So in other words, we want to minimize the likelihood of a false positive but also a false negative. Right, and this is an ongoing discussion within the million dollar challenge committee because no matter what you make the probabilities, no matter how you predetermine them, coincidences happen. Events that are one in a million happen to eight people a day in New York City, right? So what we've traditionally tried to do in the million dollar challenge is to make a definitive, to make the demands really significant enough that if you pass, there's a good chance you're psychic or it was a really amazing coincidence that happened. And of course we never say that the million dollar challenge is scientific research, it's not. It's a test that's designed to scientific protocols but we're not doing science because we don't have enough trials, we're not doing studies. And so it's quite possible that if and when someone passed the test and took the million, we're not stamping them officially psychic at that point, we're saying that day they passed the test and it's for others to determine what the significance of that is, what that really means, which would actually demand repeated studies. But one of the things that we really want to do in the regular million dollar challenge, I think, is to lower the requirements in the preliminary stages. We actually want to test people and we actually want people to get through the test and to engage in the process because we wanted to use the process of the million dollar challenge to put forward and promote everything we do at the JREF, which is to promote critical thinking, promote the scientific method, educate the public, protect them from fraud. And the million dollar challenge is a great way to do that, especially if people are being tested and we can explain how that works. So we're trying to actually lower the threshold in the preliminary levels. On the other hand, in the case of something like Nightline, which is a new outreach for the million dollar challenge, it's a one shot, we had people up there on camera and it was, you pass, you get the million, so we didn't want to make the risk too low, let's put it that way. We spoke about the celebrity psychics, also this category of shut-eye you mentioned, people who purport to have these abilities and themselves believe that they do. But there's this third category of working psychics in every city of the country. They don't do their stuff on such a large public stage and they're in the storefronts. It's kind of their business, walk-in traffic, something like that. I know that in New York and possibly in cities like LA, they're thought sometimes to actually be connected to organized crime. So these aren't shut-eyes, these are knowing frauds who are out to build the public. Yeah, I think it's fair to say that the majority of storefront psychics in big cities, especially places like New York, are often criminal enterprises and there is an abundance of evidence for this. There are still, there are legal criminal charges filed all the time against storefront psychics who are bilking people out of life savings. When you walk into that storefront psychic for a quick $5 reading, what they are doing is they are fishing for the big fish. They're throwing stuff at the wall in the hopes that something sticks. It's not very different from the Nigerian scams. They send out who knows how many emails and they only need to get a couple of hits in order to make the time worthwhile if they land a big fish and the storefront psychic typically is looking for the big fish who has a life savings under a mattress or in a bank account that they can gradually suck that money out of them out of lonely widowers and people like that who become convinced that there is some curse or some evil doing in their lives that the psychic can rescue them from and those criminal cases happen all the time and experts will tell you, we'll talk to you about the Romani subculture, for example, in New York City, part of the gypsy circles, gypsy criminal circles, right? Not all gypsies are but there are these criminal subcultures in the gypsy world where typically the men specialize in home invasion, roofing scams, things like that and the women run the storefront psychic operations. There's a notorious history of this and that's a very particular breed of psychic. They're using the same techniques all the time, they're after the same thing all the time and the criminal records are there for the, right in the public eye and that's different than some of the people who came in, the mediums especially, but who came in for the nightline test, they work as psychics professionally sometimes, very often part-time, sometimes full-time but they're working through the new age shops. Psychic fairs, stuff like that. Right, psychic fairs as well and they're working in that new age culture and there, well, I certainly wouldn't say there are no frauds there, there are plenty of frauds operating there as well but that's also where you find the shut-eyes and the believers as well. But the storefront psychics, you're not going to find some kind of family run psychic business where they actually and honestly believe what they're doing is real, instead, it's a money-making sort of scam like, you know, the frauds, like the Marx family in Florida and New York, they what, defrauded something like $40 million from their clients and they were just arrested a few months ago or something, Randy has been trying to expose them for years and that's just one clan, one kind of family of psychics who took their clients to the tune of $40 million. Some of the psychics, it's kind of intergenerational. So I've been to some of these storefront psychics here in Los Angeles and maybe late in the day, the grandmother who does it all the time doesn't feel like it, so the granddaughter does, but she is obviously just going through the motions and you mentioned it being sort of a numbers game. Hey, the reading's ending but if you want to come back next week, I really do see this problem. I could light some candles for you, do something else, but you'll have to pay X amount of dollars to remove the curse or to heal your marriage or whatever and so the one person who comes back out of a hundred or whatever the numbers are, that's what they're after because those are the people that you get to empty out their bank accounts. Yeah, and the rap is always the same. It's good news, good news, good news, everything is in your life is nice, they win your confidence, they make you comfortable and then there's this one thing. I see this one dark cloud in your life and it has something to do with whatever, whatever the person's concern seems to be and this is the one thing I can help you with and traditionally there's some demonstration sometimes of the bad luck, the bloody spot in the egg, in the raw egg or black worms burning out of papers and things like this, these stunts are still used to convince people of this one malevolent force that the psychic can help rescue from if only you come back and start bringing large amounts of money. Here we're sort of doing a taxonomy of psychics, right? There are the shut eyes, the people who believe that they're real themselves. There are the storefronts whom we think are knowing frauds. They're the celebrity psychics. How do you get at their motivations? How do you figure out if they're knowingly defrauding their gullible believing public or if they're genuinely trying to help people? You read James Von Prague's Twitter feed, he says pablum that seems like the sort of stuff you'd hear at Sunday church sometimes, be nice and always look on the bright side, et cetera. That doesn't seem too cutthroat predatory. In the end it's important to recognize that in most cases you don't know. I think skeptics make the mistake often of insisting that they do know what a person's motive is and what's going on in their mind. And something our colleague Chip Denman who's on the board of JRF and also on the Million Dollar Challenge Committee often insists and reminds us of quite correctly is that motive in the end doesn't really matter. What matters is actions. We can point to the actions of these people and the damage that they do regardless of what their motive is. It's very difficult to know for certain what that motive is and the lines that we've been discussing in this nomenclature are not always as clearly and obviously drawn as we may think. So for example, if a psychic is doing physical phenomena like a spirit medium or a contemporary psychic bending spoons allegedly with psychic powers in this particular case it's almost impossible to say that they don't know what they're doing. They have to know because they're doing sleight of hand. And you know that because you're a magician Randy was able to expose the magician in quotes frauds because they were purporting to have psychic powers by doing magic tricks that he could do himself. Exactly. It's not like the idiomotor response with a pendulum or something. You have to know what you're doing here. So this is a kind of outright fraud. But when you look at people who do talk to the dead readings for example the contemporary mediums who are not using physical phenomena they're not doing slate writing as there's no ghosts in the dark in the seance room. They're just talking. We can suspect. We can have ideas. I've seen many of these people work live. I've seen John Edward work live and in the alternative medicine field for example you ask these questions as well. I've been to a conference where I saw Deepak Chopra and Andrew Weil speak. And you know Deepak seems possibly self-deceived and sincere to me. Andrew Weil a lot less so because I've seen him very deliberately tune his material and his subject matter to his audience and very deliberately what I think of manipulative and cynical ways. Who knows though what they really think. Let's talk about the harm they're doing by selling Reiki as a so-called legitimate medical treatment. And that's the point. You don't need to read their minds so to speak. You don't need to know their motivations in order to speak out against what they're doing because you're looking at the consequences of what they're doing not their motivations. In this sense it's not the thought that counts. It's what they're doing and we're able to measure real harm resulting from people believing James Von Prague can reunite you with your deceased loved one for an example. So if we see that James Von Prague has almost certainly used an internet search to come up with data for a reading of an on the air interviewer as happened on Nightline. You know it seems pretty strong circumstantial evidence there that he was deliberately using information in a secret way. That would seem to call his motives in his state of mind into question. And if you watch a guy like John Edward work enough times, you see him using the same techniques over and over fishing for a letter, a time of year, things like this. The same actual turns of phrases over and over again. That's exactly right. The same turns of phrases but he'll get these little variants where he'll say, I remember once seeing him say, so I see something with parrots, your grandfather and parrots and the person standing there and saying no. And then what Edward will do, he does this odd thing that most psychics don't do. He'll get really, really angry with someone and really insistent, no, no, I'm telling you, you'll go home and you'll remember it or you'll figure it out because there's something there with parrots. And my own suspicion is that he does that so that people don't, as a counter to the idea that he's just sort of gently guessing and waffling with feedback. I think it's a deliberate technique personally.  Again, going back to cognitive dissonance, no one ever looks in the mirror and sees a bad guy. This is a characteristic of the movies. We love the idea of this in the movies. The guy who looks in the mirror and goes, oh, I'm taking over the world now. But in reality, no one sees a bad guy in the mirror. Hitler convinced himself he was doing great works for his nation. And con men, you talk to street side con men. They always say, hey, listen, it's not like I'm putting a gun to the guy's head. You can't fool an honest man, right? I mean, it's only somebody's greed. Listen, what are they doing? Look, it couldn't happen if they were honest. So everybody has a rationale. And not only do they have a rationale, but psychics get tremendous and very select feedback from people who say, oh my goodness, you did me some good. Yeah, they get positive feedback, which I think goes a long way to helping even the celebrity psychics sleep at night. When someone weeps at you and tells you how you made their life better, you may think, well, I started out fake, but somehow it's real. Look at all the good I'm doing in the world. It's that selective sort of feedback. That's exactly right. And I think that feeds the rationale that says, well, I am, even though I'm using some deception, it's for people's own good. After all, don't people and, you know, don't priests say the same things to themselves sometimes? Perhaps even physicians sometimes say the same thing. I'm lying for someone's good. So where is the scale on that? And of course, you know, it's easy to say, well, if people give that feedback, then isn't that the ultimate proof you're doing people some good?  But in the end, did you really do him any good? Yeah, I think that was the greatest way to crystallize this point. You can make someone feel like you're helping them and actually be hurting them. You can get them stuck in their grief as an example. When you were just speaking, you made me think about this justification I hear some magicians give when they're talking about the psychic advisor being a sort of therapist. Right now, any city in the country, on the internet everywhere, you can find life coaches, say, people who don't have a background in therapy or career services or any of that sort of stuff. And they, you know, they purport to just help you with your problems. There are people with anxieties, you know, people have anxieties, they're grieving, they have personal problems, they need to turn to someone for a little help. And first you mentioned, you know, lots of people turn to priests and ministers. For a while, the big thing, a bigger I think than it is now, you turned to psychotherapists, you know, it's kind of a badge of honor to be in therapy, now not so much. It could be questioned about both of those kinds of interventions, how effective they are.  Is the priest going to be able to give you a good marriage counseling? You go to a psychoanalyst five times a week for 15 years. You might not change at all. You might have some great stories to tell about yourself and have great narratives explaining stuff, whether or not it's true, but you might not change. You might not get much help otherwise. So that's the justification I hear some people give for a psychic. It's kind of the poor man's psychotherapist.  You don't buy that justification. Well, I think it's unarguable that there's a benefit in talking to someone. Every study shows that one of the key benefits of any kind of therapy, even among professionals, is the simple fact of the level of the bond with the person. That if you trust this person, you have good chemistry between the patient and the therapist, that this is as important, if not more important than any other factor of what kind of therapy is being practiced. And we also know, again, from studies, that it's incredibly valuable for human beings who are troubled to talk to someone, whether it's a friend or anyone else, as opposed to not talking to someone. So we know those things are beneficial at the most simple, basic level. The problem with talking to the psychic, albeit sometimes the rates are a lot cheaper, but the problem with talking to the psychic is I believe it opens the door, even let's give the best example. You have the best case, the most positive case. You have someone who's really sincere, who cares about their clients, who maybe even has some good psychological and emotional intuition and can be helpful. But the premise, the operating premise is essentially a supernatural or paranormal premise that's not genuine and that is being fostered and supported for the client. And now that is a person who goes out into the world more convinced that such things are real and therefore it seems to be far more vulnerable to the predator in the shop next door and waiting online to take that person down. I think that's one of the two big reasons not to go to a psychic for personal advice. It kind of opens the door to being deceived, gullible, mistreated, bamboozled by other people. The other big reason is that, why in the world would you give some well-meaning, sincere housewife power to give you advice on your finances, say? Or whether or not you should buy the house or is your husband cheating on you? She could be the sweetest little old lady in the world and still not be competent or qualified to give you advice. It's kind of a pretending to expertise she doesn't have. I completely agree with that. And a great example from my own personal experience was, I was on a radio show once with Ray Hyman and there was a channeler. Now you would think that a channeler would fall into that category of the sleight of hand spoon bender that they would know that they're generating this phony voice and this phony character. But you know, I've seen channelers who I think are fundamentally sincere. They might be crazy, but I think they're fundamentally sincere that they somehow think they're getting this voice of spirit in them somehow. And we were on the radio with this channeler together who was supposedly channeling the spirit of a sixth century Irishman or something. Who by the way, it was using 13th century old English expressions and couldn't speak Gaelic. But that's another story for another day. At one point, an airline pilot called in and was asking for career advice.  Exactly. Point well made. Jamie, I really appreciated the discussion. Getting into this topic of psychics with a magician and honest liar, lots of fun. Thanks, Jamie. It's always a pleasure to be here. And it's an important reminder for skeptics to remember that we shouldn't always be too sure about what's going on in another person's mind. Says the professional mind reader. Exactly. Thank you for listening to this episode of For Good Reason to get involved with an online conversation about today's show. You can do so at forgoodreason.org. Views expressed on the show aren't necessarily the Jay Riff's views. Questions and comments can be sent to info at forgoodreason.org. The show's produced by Thomas Donnelly and Brian Thompson and recorded from Los Angeles, California. Our music is composed for us by Emmy award-winning Gary Stockdale. Carrie Poppy contributed to today's show. I'm your host, DJ Groffin.


Live from Las Vegas. It's theCUBE. Covering NetApp Insight 2018. Brought to you by NetApp. Welcome back to theCUBE's live coverage today of NetApp Insight 2018. I'm Lisa Martin. Stu Miniman is my co-host for the day and we're welcoming to theCUBE for the first time a couple of guests won from NetApp. My former colleague Emily Miller acting VP of brand content and influencer marketing. And one of this morning's keynote, Gerd Leonard, futurist, the CEO of the Futures Agency. I loved Gerd. I loved your keynote this morning. It was very interesting and informative. And I like how you said, you don't predict the future, you observe the future. So Emily, thinking about NetApp, its history, NetApp today and in the future, talk to us a little bit about how this brand has transformed. Not just digitally for IT, but transforming taking the feedback and the really kind of direction from your customers. So if I think about, NetApp's been around for 25 years and we've played a great role in the kind of the storage history, but over the last few years as our customers needs have changed, really having to have data as your design point, how everything is evolving, changing, hybrid cloud, multi-cloud, we had to listen to that and knowing that our customers are going to places like AI and deep learning, we have to move there. And so a couple of years ago, we looked at who are we as a company and who are we going to be for the next 25 years? And our purpose now is around how we empower our customers to change the role with data because that is what they are doing. So using a lot of these technologies, some of the things that Gerard talked about this morning, you know, it is happening and so we've got some great customers we're working with where we're able to kind of see that brand promise come to life with things they're doing.  When you talk with customers, hashtag data-driven is all over, right? We've been hearing that for a while. What is being data-driven mean to a customer? Because as Gerard talked about on his keynote this morning, you know, there's always that conversations that we hear all the time on the hub of ethics. When you talk about enabling customers to be data-driven and developing a data strategy, how do they internalize that and actually work with NetApp to execute? So we really see it as putting data at the heart of your business. It is that, you know, that life-blood. It has to be centered around that and then thinking about, you know, data fabric. It's really the strategy and the approach.  You get the access and the insights and you can utilize it. You don't want it to be, you know, stagnant. You've got to be able to use it to make better decisions, to have that information, those insights at your fingertips, to do the things that have to be done in real time, you know, all the time. So, Gerd, I want to bring you into discussion here. There's certain fear from people in technology. Oh my gosh, my job's going to be replaced. I can be automated.    What's your take? You know, singularity is coming, you're saying. So, are we all out of a job? Well, this is, of course, what I call a reductionism, right? It's the idea that you would have a machine who would do just what I do, exactly what I do for very little money, and then you would have thousands of other machines that do thousands of other things. And the fact is that, I think McKinsey's study says only 5% of all jobs that can be automated can be fully automated. So even a pilot can be automated, but I wouldn't fly an airplane without a pilot. So we still have a pilot. And data scientists can be automated by an AI, yes, but there'll be many things that I need the data science for as a person.  So passion, ingenuity, design, creativity, negotiation. I think computers may learn that in 100 years, but to really be compassionate, then they have to be alive. And I wouldn't want them to be alive. So I'm saying that, yes, true. I think if you only do routine, like bookkeeping, like low level financial advice, like driving a bus, or yeah, you have to train and relearn, yes. But otherwise I wouldn't be that negative. I think there's also so many new things happening. I mean, 10 years ago, we didn't have social media managers. And now we got what, 30 million. So I'm not that dark on the future there. Well, I'm glad. You actually, you gave a great quote from Albert Einstein talking about that really imagination is infinite as opposed to knowledge is kind of contained. NetApp talks a lot about being data driven. You gave the Jeff Bezos example of, I need to listen to it, but there's heart and there's kind of history. There's another great line from Jeff Bezos is, there is no compression algorithm for experience. So how do we as humans balance that, humanity and the data and the numbers? Well, the reality is, we don't live in a binary world. When we look at technology, it's always about yes, no, yes, no, zero, one. That's what machines do. We don't do that. Humans are what called multinary, which is essentially, to us, a lot more things matter than yes or no. Like it depends, it may be, it may change, and so on. So if we just look at that and say it's going to be data or humans, we have to pick one of the two. And that would be a rather strange suggestion. I think we need to say that sometimes data, sometimes human, but we have to keep the humans in the loop. That's my key phrase. And I would say, I feel like that's really our opportunity as humans is to decide where is the value, where is the layer of value that we add on. You know, again, kind of thinking back to NetApp's history, we're moving from storage to data. We are evolving, like we have to add value at a higher level for our customers. And what was something that maybe we did as humans advising like, that's automated now. Like think of the demo we saw this morning and now what is that additional layer value that you add on top? Absolutely, as you're both saying, it's not a binary thing. Andy McPhee and Eric from Johnson, from MIT, say it's tracing with the machines that humans plus machines will do way better than either humans or robots alone. I think if you're arguing that we would be in a perfect world, if the machines could run it perfectly, then I would argue that world would be a machine. So it would be perfect, but it wouldn't be human. So what are we getting? It's a bad deal. So I think we need to find a good balance between the two and also carve out things that are not about data. You know, like dating and love relationships, you know, that can be about data, like matching, right? But in the end, the relationship isn't about data. What you even said this morning, it's knowledge is not the same thing as understanding, right? And that's kind of where we are at this crossroads. Emily, let's kind of wrap up with you. You've got some interesting customer examples of how NetApp is helping customers become and live that data-driven life and embrace these emerging technologies like AI. Right, so we have a customer we're working with in Serbia and they are basically kind of digitizing a human to be able to interact from an AI standpoint in terms of having an interactive conversation.  And I think what's really exciting is that gives you the opportunity to do something you never could do before. I think to your points this morning, it's how do we make sure we don't lose the richness from those more kind of offline experiences so that they are complementary? You know, if we, you know, as we kind of expand and do things that, you know, we couldn't think about that, you know, that we didn't, we couldn't envision or imagine. And I think that's about being a data visionary. Like the people, the companies like Three Lateral, like we've seen today on, you know, Wushi Next Code on stage, the data visionaries are those who are saying how can data transform my, you know, not just my company, but my industry, my category and how do I really think about it completely differently? It's an exciting time, Emily Gurd. Thank you so much. I wish we had more time to chat with you guys, but we appreciate you stopping by the Cube and sharing your insights. Right, thank you. You're welcome. Insight, pun intended. I'm Lisa Martin with Stu Miniman. We are with theCUBE live all day at NetApp Insight 2018. Stick around Stu and I will be right back with our next guest.


Now we're going to look at Newton's first law in a different way than we've been doing. Up until now we've been looking at objects moving in a straight line, either speeding up or slowing down or staying at the same speed. But Newton's law, Newton's first law deals in general with objects whose velocity may or may not be changing. We know that velocity is a vector and has both the magnitude and direction. And so in this demonstration we're going to look at changes in direction. Again, Newton's first law says that an object either remains at rest or in a state of constant velocity unless acted upon by net external force. In this particular case we're going to look at a force causing the object to change its velocity by changing its direction. We do this by swinging an object in a circle. We're going to use bungeyman here for the object that we're going to swing in a circle. And as it swings in a circle, as you know its velocity vector is always tangent to the path. And so that direction is always changing as bungeyman swings. Now let's take a look at the force which is causing that direction to change. The force must be coming somehow from the elastic here. And in fact you can see how big that force is or you can estimate how big it is just by seeing how much this is stretched. So I'm going to start swinging bungeyman like this where it's not stretched very much. But as you see as I swing faster and faster that the cord will stretch more and more. Let's go down here slow to begin with and then speed it up. And so you can see the more and more force is being applied. And that force is being applied first by my hand to the spring and then by the spring to bungeyman. And that force is a force which is pulling inward on bungeyman toward the center of the circle. So in conclusion what we've seen is that by applying a net external force in this case to the center of the circular path we're able to change the direction of an object's velocity vector.


47 Touconnais is one of the densest globular clusters in the southern hemisphere, containing around a million stars. Multiple Hubble photos of this region allow astronomers to track the beehive swarm motion of stars. Using Doppler shifts and proper motion measurements, precise velocities were obtained for nearly 15,000 stars in this cluster. This has provided astronomers with the best observational evidence to date that globular clusters sort out stars according to their mass, governed by a gravitational billiard ball gain between the stars. Heavier stars slow down and sink to the cluster's core, while lighter stars pick up speed and move across the cluster to its periphery. Omega Centauri is among the biggest and most massive of some 200 globular clusters in the Milky Way. Hubble snapped this panoramic view of a colorful assortment of 100,000 stars residing in the crowded core of a giant cluster that contains nearly 10 million stars. All of the stars in the image are cozy neighbors. The average distance between any two stars in the cluster's crowded core is only about a third of a light year. This stellar system resembles a globular cluster, but it's like no other cluster known. A team of astronomers found that there are two distinct kinds of stars in Terzahn 5, which not only differ in the elements they contain, but also have an age gap of roughly 7 billion years. The ages of the two populations indicate that the star formation process was not continuous, but was dominated by two distinct bursts of star formation. While the properties of Terzahn 5 are uncommon for a globular cluster, they are very similar to the stellar populations which can be found in the galactic bulge. These similarities could make Terzahn 5 a relic of a galaxy formation representing one of the earliest building blocks of the Milky Way. Globular cluster M30 is a dense swarm of several hundred thousand stars. It's about 90 light years across. Thousands and thousands of brilliant stars make up this globular cluster. Bound tightly by gravity, the cluster is roughly spheroidal and becomes denser towards its center.


to read this. Mathematical diseases in climate models and how to cure them. And I don't have the slightest idea what these two guys are talking about now. And when I asked them, they said, ah, just tell them people. It's about next generation climate models and how to build them, which is cool. Throw that on Twitter. And please welcome Ali Ramadan and Valadin Khurvi. Can you guys hear us? Is this OK? I'll stand back a little bit. OK, cool. Thank you. So if you guys saw the last talk by Carla Liberan, or Carla Labyrinth or something, so we're kind of expanding on her talk a little bit. So she talked a lot about kind of uncertainties, uncertainties in climate models. And one point that she did make was that most of the uncertainty actually comes from humans, but there's a really huge uncertainty that also comes from the models. So we're talking more about the model uncertainties, which is kind of uncertainties because of unknown or missing physics, kind of how to cure them. So this will be kind of a weird talk. So I'll talk a little bit more about the climate modeling part and then kind of how to cure them involves using new programming languages. And that's where Valentin will talk about Julia. So we'll kind of just start with maybe just giving kind of an idea of why it's so hard to model the climate.  It's used for like weather forecasting. But you can immediately see there's lots of really small clouds. So basically if you want to build the climate model, you got to be able to resolve all the physics in these clouds. So you can actually zoom in a lot. So the clouds look pretty big over here, but if you zoom in on kind of Central America, then you see even smaller clouds. And if you zoom in even more, so say you zoom in on the Yucatan Peninsula, then you can see the clouds are really, really small. So they're like maybe five smaller or some of the clouds are 100 meters or something. And as the last talk kind of suggested, most climate models, they resolve things up to 50 kilometers. So anything smaller than 50 kilometers, the climate model can't really see. So you have to kind of take that. And it kind of has that count for that, because clouds are important. If you have more clouds, then that reflects some of the heat out. So maybe you cool, but it also traps more of the heat in, so maybe you warm. And if you have more clouds, maybe you warm more, but if you have less clouds, maybe you warm even more. So it's kind of unsure. We actually don't know if clouds will make the climate warmer or if they'll make the climate cooler. So it's important for your climate model to kind of resolve or see these little clouds. So kind of where the mathematical disease comes in is that we don't know what equation to solve. We don't know exactly what physics to solve to see to kind of resolve the effect of these little clouds. So it's kind of the mathematical disease. We don't know how to do it. So you instead, you use what's called a parametrization, which is the mathematical disease. So in the atmosphere, the big mathematical disease is clouds. But if you look at the ocean, you kind of get a similar, you have also similar mathematical diseases. So if you, for example, this is model output. We don't have good satellite imagery of the oceans. So if you look at, for example, model output from an ocean model, high resolution ocean model, here it's kind of centered on the Pacific. So you can kind of see Japan and China and the white kind of lines. Those are stream lines or the lines tell you where the water is going. So you could see a lot of kind of straight lines. You see this current off of Japan, but you see lots of circles. So the circles are these eddies and they're kind of the turbulence of the ocean. They move, they kind of stir and mix and transport a lot of salt or heat or carbon or nutrients or marine life or anything. It's the main way the ocean kind of moves heat from the equator to the pole, kind of stirs things around. So they're really important for kind of how carbon moves in the ocean, for how the ocean heats up. And here they look pretty big, but again, you can zoom in and you'll see lots of small scale structures. So we're gonna switch to a different model output and different colors. So here it's kind of the same area. So you see Japan in the top left, although it's being plotted as vorticity, so you don't have to know what that is. It's kind of a measure of how much the fluid or the water is spinning. But the point is that you have lots of structures. So there's lots of big circles, but there are also lots of really little circles. And again, your climate model can only see something up to like 50 kilometers or 100 kilometers. But as you can see here, there's lots of stuff that's much smaller than 100 kilometers. So if you superimpose kind of this grid, maybe that's your climate model grid. And basically for the climate model, every one of these boxes is like one number. So you can't really see anything smaller than that. But there's important dynamics in physics that happens at like 10 kilometers, which is a lot smaller than what the climate model can see. And there's even important physics that happens at like 100 meters or 200 meters.  So to give an example of some of the physics that happens at 10 kilometers, here's kind of a little animation where this kind of explains why you get all these eddies or all the circles in the ocean. So a lot of times you have say hot water, say in the north, so the hot water here is all in orange or yellow, and you have a lot of cold water. So the cold water is in the south and it's purple. And then once you add rotation, you end up with these eddies because what the hot water wants to do, the hot water is lighter, it's less dense. So it actually wants to go on top of the cold water. So you usually have cold at the bottom, hot at the top. So you have heavy at the bottom or light at the top. So when you add, without rotation, the hot water will kind of just go on top of the cold water, but when you have rotation, you end up, it kind of wants to tip over, but it's also rotating. So you kind of get this beautiful swirling patterns. These are kind of the same circular eddies that you see in the real ocean. But this model here is like 250 kilometers by 500 kilometers and it's like one kilometer deep. So you need a lot of resolution to be able to resolve this stuff, but not, your climate model doesn't have that much resolution. So some of the features here, like the sharp fronts between the cold and the hot water, your climate model might not see that. So maybe if you don't resolve this properly, you get the mixing rates wrong, or maybe the ocean is the wrong temperature or something. So it's kind of important to resolve this stuff. Another one, the color scheme here is really bad. I'm sorry, but another one, for example, is here everything's on a 100 meter. So it's a cube of 100 meters on each side, and you're starting with 20 degrees Celsius water at the top, you have 19 degrees Celsius water at the bottom initially. So it's kind of your, as you go deeper in the ocean, the water gets colder. And then if you can imagine in the ocean, kind of at night, it's kind of cold. So the top is being cooled, and you end up with cold water at the top, and the cold water wants to be at the bottom. So it ends up sinking, and you get all this convection going on. So this is happening in a lot of places in the ocean, you get a lot of mixing at the top. You get this kind of layer at the top of the ocean that's kind of constant color, constant temperature. So this mixed layer is important for the ocean. So knowing how deep that mixed layer is, and knowing how much of the water is being mixed is also important for climate. But you can imagine, this happens on very small scales. So your climate model has to know something about what's happening at this scale. So this isn't, I guess the mathematical diseases in the ocean is the climate model cannot see this. So it has to do something else that's maybe unphysical to resolve this stuff. And that's the mathematical disease, I guess. And aside from the ocean and the atmosphere, you also have the same problem with sea ice. So this is kind of just a satellite picture of where sea ice is forming off the coast of Antarctica. So you get winds that kind of come off the continent, they're kind of blowing all the ice that's being formed, the way you see all these little lines and streaks and they kind of merge into sea ice. But this whole picture is like 20 kilometers. So the climate model doesn't see this, but somehow it has to represent all the physics. And you have kind of similar things happening with soil moisture, land, dynamic vegetation, aerosols. So these are kind of three places with pretty pictures, but say if you look at the atmosphere, so it's not just clouds, you also have aerosols, which are like little particles or sulfates that are important for kind of cloud formation and maybe atmosphere chemistry. But again, we don't fully understand the physics of these aerosols. So again, you have to kind of parameterize them. And same thing with kind of convection. So maybe your climate model doesn't resolve a very deep convection in the atmosphere. So it also has to parameterize that. So I guess you have many kind of mathematical diseases in the atmosphere, so I'm not expecting you to understand everything in this picture, but the idea is the atmosphere is complicated. There's no way a climate model is gonna kind of, you know, figure all this out by itself. And again, you could do something similar for the ocean. So we kind of just showed animation for like two little parts of these, but the point is, you know, the ocean is not kind of just a bucket of water standing there, so there's lots of stuff happening deep inside the ocean. And some of it we think is important for climate, some of it we don't know, some might not be important. But again, a lot of this happens on like very small spatial scales, so we don't know or the climate model can't always resolve all this stuff. And again, the same thing with kind of sea ice, lots of small scale stuff is important for sea ice. And I think one person asked about kind of tipping points and there's kind of two with like sea ice that are pretty important. One of them is this sea ice albedo feedback. So if you have sea ice that melts, now you have more ocean and the ocean can absorb more heat, but now the earth is warmer, so it melts more sea ice. So as soon as you kind of start melting sea ice, maybe you melt even more sea ice and eventually you reach an earth with no sea ice. So there's kind of research into that stuff going on, but that's a possible tipping point. Another one is this kind of marine ice heat stability instability at the bottom of the ice shelf. So if you start melting water or if you start melting ice from the bottom of the ice shelf, then you create kind of a larger area for more ice to melt. So maybe once you start melting an increasing sea level, you just keep melting more and more and increasing sea level even more. But again, it's kind of hard to quantify these things on like 50 or 100 year timescales because it all happens on like very small scales. So yeah, the point is there's lots of these kind of parametrizations or mathematical diseases and once you start adding them all up, you end up with lots and lots of kind of parameters. So this is a really boring table, but the point is so this is like one parametrization for like vertical mixing in the ocean. It's basically the process that I showed the rainbow color movie about to say a climate model for that, trying to kind of parametrize that physics might have like 20 parameters.  And usually they keep the same constants for all these values. Usually it's like someone in like 1994 came up with these 20 numbers and now we all use the same 20 numbers. But maybe they're different in like the Pacific or the Atlantic or like maybe they're different when it's summer and winter. And the problem is there's many of these parametrizations. So here's like 20 parameters, but then you have a lot more for clouds. You have a lot more for sea ice and you add them all up. Suddenly you have like 100, maybe up to 1,000 kind of tunable parameters. Kind of going back to this plot that was showed at the last talk, you can see kind of all the models kind of agree really well from like 1850 to 2000 because they're all kind of being, they all have different kind of parameters but they all get kind of tuned or like optimized. So they get the 20th century correct. So they get the black line correct. But then when you run them forward so you run them to like 2,300, they all are slightly different. So they all start producing different physics and suddenly you get a huge like red band. So that's saying you have lots of model uncertainty. So that's kind of, I don't know, some people might say like, oh this like tuning process is like optimization. It's like not very scientific. They'd be kind of right. It's kind of like in the past it's kind of like the best we've had. But I think we should be able to do a little bit better, better than that.  But say if you want to do like a direct numerical simulation. So that's basically saying you want to resolve all the motions in the ocean and the atmosphere. You basically need to resolve things done to like one millimeter. So if you have like a grid spacing of one millimeter and you consider the volume of the ocean and the atmosphere you basically say you need like 10 to the 28 grid points. You know that's like, imagine putting cubes of like one millimeter everywhere in the ocean and atmosphere. That's how many grid points you would need. So unfortunately you could do that, but there's not enough computer power or storage space in the world to do that. So you're kind of stuck doing something a bit coarser. Usually most climate models use like 10 to the eight grid points. So that's, you know, 10 to the 22 little.  You know, you need to run them for very long times.  You want to run many of them because you want to collect statistics. So generally you don't run at the highest resolution possible. You run kind of at a lower resolution so you can run many, many models. So because you can only use so much resolution, it seems that parametrizations or these kinds of mathematical diseases you have to live with them, you got to use them. But at least one idea is, you know, instead of using numbers that somebody came up with in 1994, you might as well try to figure, you know, better numbers or maybe, you know, if the numbers are kind of different in different places, you should find that out. So one thing you could do or one thing we are trying to do is get the parametrizations to kind of agree with like basic physics or agree with observations. So we have lots of observations and we can run kind of high resolution simulations to resolve a lot of the physics and then make sure when you put the parametrization in the climate model, it actually gives you the right numbers according to basic physics or observations. But sometimes that might mean, you know, different numbers in the Atlantic and the Pacific or different numbers for the winter and the summer. And you have to run many high resolution simulations to get enough data to do this. But in these days, I think we have enough computer power to do that. So to kind of do all these high resolution simulations, we ended up building a new kind of ocean model that we run on GPUs because GPUs are all faster for giving us these results so that we ended up, usually most climate modeling is done in Fortran. We decided to go with Julia for a number of reasons which I'll talk about. But the left figure is kind of that mixed layer or boundary layer turbulence kind of movie, but instead of the rainbow color map, now it's using the more reasonable color maps that looks like the ocean. The right is that old movie. So we're just generating tons and tons of data from using simulations like this and then hopefully we can get enough data and figure out a way to explain the parametrizations. But it's kind of a work in progress. So a different idea that might be more popular here, I don't know, is instead of kind of using the existing parametrizations, you could say, okay, well, now you have tons and tons of data, maybe you just throw in like a neural network into the differential equations. Basically you put in the physics you know and then the neural network is responsible for the physics you don't know. So for example, most people here might not, I also don't want to talk about differential equations because that would take a long time. So just imagine that the equation in the middle is kind of what the climate model needs to solve and the question marks are kind of physics we don't know. So we don't know what to put there. But maybe you could put in a neural network. So number one is kind of like a possible parametrization or a possible way you could try to parametrize the missing physics where the neural network is kind of responsible for everything. We find that doesn't work as well. So instead maybe you tell some of the physics. So maybe you tell it about Q, which is like the heating or cooling at the surface. And then it's kind of responsible for resolving the other stuff. But it's still a work in progress because the blue is kind of supposed to be your data, the orange is supposed to be the normal, they don't agree. So it's still a work in progress, but hopefully we'll be able to do a bit better. So this is kind of stuff that's like a week or two old. But to kind of reach a conclusion, that's these for my half of the talk. So the reason I personally like Julia as a climate modeler is we were able to kind of build an ocean model from scratch, basically in less than a year. And one of the nice things is that the user interface are kind of the scripting and the model backend is all in one language. Whereas in the past, usually you write the high level in like Python and maybe the backend is in like Fortran or C. And we find, you know, when we use Julia, it's just as fast as our legacy model, which was written in Fortran. And one of the nicest things was that basically you're able to write code once and using there's a native GPU compiler.  So you don't have to write two different code bases. And yeah, we find generally because it's a high level language where we're kind of more productive, we can give a more powerful user API. And Julia kind of has a nice multiple dispatch backend so that we find that makes it easy for users to kind of extend the model or hack the model. And there's some people would say the Julia community is pretty small, but we find there's a pretty big kind of Julia community interest in scientific computing. So we found kind of all the packages we need are pretty much available. So with that I'll kind of conclude my half by saying there's most of the uncertainty in climate modeling basically comes from humans because we don't know what humans will do. But there's a huge model uncertainty basically because of physics we don't understand or physics the climate model cannot see. You can't resolve every cloud and every wave in the ocean. So you got to figure out a way to account for them. So that's what our prioritization does. And we're trying to kind of use a lot of computing power to kind of make sure we train or come up with good prioritizations instead of kind of tuning the model at the end. And we're hoping this will lead to better climate predictions maybe it will, maybe it won't. But at least, you know, even if it doesn't hopefully we can say we got rid of the model tuning problem. And hopefully we can make, we find it that software development for climate modeling is easier than if we did it in Fortran. Oh, so I will say this kind of an advertisement but I'm looking to bike around Germany for a week and apparently you can't take the next bike out of Leipzig. So if anyone is looking to sell their bicycle or wants to make some cash, you know, I'm looking to rent a bicycle. So yeah, if you have one come talk to me please. Thank you, Duncan. So one big question for me always is how can we as technologists help, right? I think most of us in this room are fairly decent with computers. The internet is not necessarily new online for us. But how do we use that knowledge to actually impact real change? And if you haven't, there's a fantastic article very dream.com slash climate change which lists like all the possible or not all the possible, a lot of good ideas to think about and go like, okay, do my skills apply in that area? Well, I'm a computer scientist. I do programming language research. So how do my skills really apply to climate change? How can I help? And one of the things that took me in this article was how and one of the realization and why I do my work is that the tools that we have built for scientists and engineers, they're rather poor. Computer scientists like myself have focused a lot on making programming easier, more accessible. What we don't necessarily have kept the scientific community as a target audience. And then you get into this position where models are written in a language, 1470, 14 is a rather nice language, but it's still not one that is easily picked up and where you will find enthusiasm in younger students for using it. So I work on Julia and my goal is basically to make a scientific computing easier, more accessible and make it easier to access the huge computing powers we have available to do climate modeling. Ideas, if you are interested in this space, is you don't need to work on Julia necessarily, but you can think about maybe I'm to look at modeling for physical systems, modeling, like one of the questions is can we model air conditioning units more precisely get them more efficient or any other technical system? How do we get better efficiency but we need better tools to do that? So the language down here as an example is Modellica, there's a project right now, Mordia that is trying to see how we can push the boundary there. The language up here is Fortran, you might have seen a little bit of that in the talk beforehand, and it's most often used to do climate science. So why programming languages? Why do I think that my time is best spent to actually work on programming languages and do that in order to help people?  What I can express is what I think about, and I think people who are multilingual know that, that sometimes it's easier to think about certain things in one language than it is in the other one. But language is about communication, it's about communication with scientists, but it's also about communication with the computer. And too often programming language fall into that trap where it's about oh, I wanna express my one particular problem, or I wanna express my problem very well for the compiler, for the computer, I wanna talk to the machine. But I found that programming languages are a very good tool to talk to other scientists, to talk in a community, and to actually collaborate. And so the project that Ali and I are both part of has I think 30-ish, I don't know, the numbers are big. The big group of climate scientists model us and we have a couple of numerical scientists, computer scientists and engineers, and we are all working the same language, being able to collaborate and actually work on the same code instead of me working on some low-level implementation and Ali telling me what to write. And that wouldn't be really efficient. So yes, my goal is to make research easier. Do we really need yet another high-level language? That is a question I often get, it's like why Julia and not, why are you not spending your time and effort doing this for Python? Well, so this is a small example, this is Julia code. It looks rather readable, I find. It doesn't use a semantic white space. You may like that or not. It has all the typical features that you would expect from a high-level dynamic language. It is using the MIT license, it has a built-in package manager, it's very good for interactive development, but it has a couple of unusual ones.  Julia uses just in time ahead of time compilation. The other great feature is that Julia's written in Julia, so I can just look at implementations. I can dive and dive and dive deeper into somebody's code and don't have a comprehension barrier. If you ever have spent some time and tried to figure out how Python sums numbers under the hood to make it reasonably fast, good luck. It's hard, it's written in C and there is a lot of barriers in order to understand what's actually going on. Then reflection and meta-programming, you can do a lot of fun stuff, which we're gonna talk about. And then the very big one for me is that you have native GPU code generation support, so you can actually take Julia code and run it on the GPU, you're not relying on libraries, because libraries can express the things that was where written in them. So early on last December, I think we met up for the Climate Science Project and after deciding on using Julia for the entire project, they were like, we're happy with the performance, but we have a problem. We have to duplicate our code for GPUs and CPUs. I'm like, what really?  Well, what they had at that point was basically always a copy of two functions, where one side of it was writing the CPU code and the other side was implementing the GPU code. And really, there were only a couple of GPU-specific parts in there, and if anybody has ever written GPU code, it's this pesky, which index MI calculation. Whereas the for loop on the CPU, it just looks quite natural. And I was like, well, see, come on. What we can do is we can just write a kernel, so we take the body of the for loop, extract it into a new function, add a little bit of sugar and magic to call GPU kernels and CPU functions, and then we're done. Problem solved. Well, the code roughly would look like this, and actually this, you can copy and paste this, and it should work. And so you have two functions, one of them launches, you extract your kernel, then you write a function, it takes another function and runs that function in a for loop, or it launches that function on the GPU. And then you have this little GPU snippet, the only bit of this actually on the GPU, which calculates the index and then calls the function F with the index argument. I'm like, I'm done here. My contribution to this project is done. Well, they came back to me and were like, no, this is not good enough. And I was like, why? Well, the issue is they needed kernel fusion, so that's the process of taking two functions and merging them together. I'm like, okay, fine. Why do they need that? Because if you wanna be wide average efficient GPU code, you need to be really concerned about the numbers of global memory loads and stores. If you have too many of them, or if they are irregular, you lose a lot of performance. And we need good performance, otherwise we can't simulate to the resolution all events. They also actually wanted to use GPU functionality in low-level control, so they wanted to look at their kernels and use shared memory constructs. They wanted to do precise working, minimizing the number of registers used. And they really cared about low-level performance.  And I could have given, I feel more typical computer science answer, which would have been, okay, give me two years and I will come back to you. There's the perfect solution, which is like a cloud cloud in the sky. And I'll write you a spoke language that does exactly what you need to do. And at the end, we have a domain-specific language for climate simulation that will do finite volume and discontinuous clerking and everything you want. And I will have a PhD, great, fantastic. Well, we don't have the time. The whole climate science project that we are on has a rather accelerated timeline because the philanthropists that are funding that research are, well, if you can't give us better answer anytime soon, it won't matter anymore. So I sat down and was like, okay, I need a botch. I need something that has minimal effort, quick delivery. I need to be able to fix it if I get it wrong the first time around, and I did. It needs to be hackable. My collaborators need to understand it and actually be able to change it. And it needs to be happening yesterday. Well, Julia is good at these kind of hacks. And as I've learned, you can actually let them go into bespoke solutions and have better abstractions after the fact so that you can actually do the fancy computer science tricks that I really wanted to do. The project is called GPUify Loops because I couldn't come up with a worse name. Nobody else could, so we stuck with it. It's a macro-based, so Julia, you can write syntax macros that transform the written statements into some other statements. So you can insert code or remove code if you want to. It right now targets CPUs and GPUs and we are talking about how do we get multi-threaded into the story, how do we target more on different GPUs. There are other projects that are very similar. So there's Ocar, which is where a lot of these ideas are coming from on the OpenACC in C++ does something very similar. But basically, you write a for loop, you write an at loop in front of it, which is a magic macro that takes a transformation and you have two index statements. And now you just say, I want to launch it on a GPU and it magically does a job. Okay, fantastic. So let's peek under the hood. The entire implementation of the macro at loop without the error checking that didn't fit on the screen is a couple of lines. So everything is here. And basically, I'm just manipulating the for loop so that on the GPU, it only iterates one iteration per index and on the CPU, it iterates all of the indices because a CPU is single threaded and a GPU is many, many multi-threaded course. There's a little bit of magic hidden in the isDevice function because how do I know where I'm running and if you're curious how to do that and we can talk afterwards. But otherwise, it's a very simple, straightforward transformation. It's written in Julia. It's a Julia function and yeah. So you don't need to understand the code here. I just wanted to show how quick it can be to write something like this. If you know anything about GPU programming at all, there should be a little voice in the back of your hand that is like, wait a second. How can you run a dynamic programming links on a GPU? That shouldn't be possible. Well, Julia can run on the GPU because it has a lot of meta programming facilities for the port for stage programming so I can generate code based on a specific call signature. It has introspection reflection mechanisms that allow me to do some interesting stuff in the background. It is built upon LVM, which is a common compiler infrastructure and so I can actually write a staged function that will generate an LVM specific code for my one function and do that during compile time. And it's a dynamic language that tries very hard to avoid runtime uncertainties and this is one of the challenges if you're getting into Julia is to understand that when you're writing code that has a lot of runtime uncertainties, you get relatively slow performance or as fast as Python but if you work with a compiler and you avoid runtime uncertainties, you can get very fast code and you can run your code on the GPU. Basically that's the litmus test. If you can run your code on the GPU, you did your job well and it provides tools to understand the behavior of your code. So avoiding runtime uncertainty. It does that and I don't have the time to go too deep into that so there's actually a paper about this. It has a type system that allows you to do some sophisticated reasoning, type influence to figure out what your code is doing. Multiple dispatch is actually helping us quite a lot in making it easier to de-virtualize calls. It uses aggressive specialization and just in time compilation. And so just looking a little bit closer at some of these topics, if you want to look at the entire pipeline that flow when you start writing a function and call it what happens through the Julia compiler, you have tools to introspect and all of these are on the right-hand side here and then you have tools to interact on the left-hand side where you can inject code back into the compiler. The other thing is Julia has dynamic semantics. So when you def, you can at runtime redefine a function and it would call the new function and it uses multiple dispatch. So if I'm looking at the absolute value call here, which of the 13 possible methods will it call? In C++ or in other programming languages it's called a virtual function call. So is in Julia everything a virtual function call? No, this is one of the important points is when we call a function, let's say we call sine of x, we look at the type of the input arguments and then we first of all look at which function is applicable to our input argument. So in this case it would be the real down here because flow 64 is a subtype of real. So we choose the right method using dispatch and then we specialize that method for the signature. So the rule in multiple dispatch to remember is we're calling the most specific method, whatever specific might mean. So if you have this example where we have function f, which has three different methods and we have an integer argument that can be matched on x or on y and then we have a floating point argument on y and we call this with a one comma hello, well we will select the method that is most specific for this argument which would be the number one here. On the other hand if when we have a float 64 in the second position then we recall the second method. Now what happens if I pass in an integer in the first position and a floating point in the second position? Well you will get a run time error because we can't make this decision what is the most specific method. So that's just something to keep in mind. Method specialization works very similarly when you call a method for the first time this method sign right now has no specializations and then I look, I call it once and Julia will insert a specialization just for float 64 before that it could have been a float 32 or float 64 for this method. So Julia specializes and compiles methods on concrete call signatures instead of keeping everything dynamic or everything ambiguous. You can introspect this process and there are several markers that are code lowered or code typed that will help you understand that process. I think I don't have enough time to go into detail here but just as a note if you ever look at this the percentage four means it's an assignment so if you reference it later, so in line five we will iterate on the four value and then we can look at the type information that Julia infers out of that call. So we're calling the function Mandel with a UN32 and you can see how that information propagates through the function itself. And then if we actually do aggressive, we do aggressive inlining and optimizations and de-virtualization and so in the end we don't have calls anymore, we only have the intrinsics that Julia provides on which programs are actually implemented so this is a unsigned less than integer function. So we are using type inference as an optimization to find static or near static sub-programs. It allows us to do aggressive de-virtualization, inlining constant propagation but it raises problems of cation validation. So in bygone days this used to be the case. I could define a new function G after calling G1 a new function F after calling G1 and I would get the old result back. That's bad, that's counter-intuitive, that's not dynamic. So in Julia 1.0 and I think 05 and 06 already we fix that so we're invalidating the functions that have dependencies on the function we just changed. That can increase the latency of your program. If you change a lot of the functions and you recall them, well, we need to do a lot of work every time. We do constant propagation, so as a very simple example we try to reduce, we try to explore as much information as possible and so if you call, if you write a function F and you call the function sign with a constant value we actually will just return you the constant avoiding the calculation of the sign entirely and that can be very important during hot calls in a cycle. This can sometimes go wrong or Julia has heuristics in order to decide whether or not these optimizations are valuable and so when you introspect your code you might see results that are not quite what you want. So we don't know what the return value is, it's just a tuple. We know it's a tuple, nothing else. So the heuristic decide not to specialize. But the nice thing about Julia and where we get performance for it is that we can actually do four specialization and hopefully at some point we will make the compiler smart enough that these edge cases disappear. So I can use some secrets and force the specialization to happen and then I can actually infer the precise return type of my function. Another thing to know when you're coming from a traditionally object-oriented programming language is that types are not extensible, extendable, so you can't inherit from something like IN64. You can only subtype abstract types. We do that because otherwise we couldn't do a lot of optimizations. When we look at programs you can't never assume that you won't add code. We had dynamic programming language at any time in the runtime of your program you can add code. And so we don't have closed world semantics which doesn't allow us to say, hey, by the way, we know all possible subtypes here. You might add a new type later on. By saying that concrete types are not extendable, we get a lot of the performance back. So personally for me, why do I like Julia or why do I work on Julia? It works like Python, it talks like this and runs like Fortran, that's my five-second sales pitch. It's very hackable and extendable. I can poke at the internals and I can bend them if I need to. It's built upon LVM so in reality for me as a compiler writer it's my favorite LVM frontend. I can get the LVM code that I need to actually run. But for users that's hopefully not a concern if you do a job right. And it has users in scientific computing and I in a prior life was doing a lot of scientific computing in cognitive science, writing models and I care about these users because I've seen how hard it can be to actually make progress when the tools you have are bad. And my personal goal is to enable scientists and engineers to collaborate efficiently and actually make change.  There are many people to thank and with that I would like to extend you an invitation if you're interested. There's Julia Korn every year where we have a developer meetup. Last year we had about 360 people, so much smaller than CCC. But next year it will be in Lisbon. So come join us if you're interested and if you wanna meet scientists who have interesting problems and are looking for solutions. Thank you. Time for questions and answers. Are there any questions? Yeah, we've got microphones over there. So just jump to a microphone and ask your questions so that everybody could hear them. What do you mean when you say that Julia talks like Lisb? And how is this a good thing? Well, it talks like Lisb, but it doesn't look like Lisb. I assume that's what you mean. It doesn't have that many places. But now, Lisb has rather powerful metaprogramming capabilities and macros. And so we have a lot of that. If you read a little bit about the history of Lisb, the original intention was to write MLisp, which would be Lisb with a nice syntax. And I think Julia is my personal is MLisp. It has all the nice features, but it doesn't have the bracket syntax. Okay, thank you. Thanks for the talk. My question is regarding the first part of the talk. If I understand correctly, you're simulating a deterministic system there. So there's no additional noise term or anything, right? Well, if you had infinite precision, I think it would be deterministic. But I think by kind of design, turbulence itself is not deterministic. Well, it's a chaotic system. But the discretized version itself is deterministic. You don't have a Monte Carlo part where you have some noise that you would add to which might actually be justified from the physics side, right? Well, I think if you ran the same simulation again, you would not get. Well, I think if you ran on the exact same machine, you would get the same answer. So in that sense, it is deterministic, but if you ran on a slightly different machine, like truncation error on the 16th decimal place could give you a completely different answer. Sure. So the point, am I allowed to continue? Yes, of course. There's no one else. Well, there is one person else, so you can continue a few minutes if you want to. Thanks. So the point I was trying to make is if you add noise in the sense that it's a physical system, you have noise in there, it might actually allow you to not solve a PDE or discretize a PDE, but get a stochastic simulation itself, which might be interesting because it often can make things easier. And also, you mentioned neural differential equations, right? And in particular with physical systems, if you have discontinuities, for example, the DT integral can actually be quite the problem. And there is work on, to just plug my colleague's work, control neural differential equations where you can actually also build in these discontinuities, which might also be interesting for you guys. Also, maybe we should talk because I don't know much about that stuff, where we're kind of just starting off. I think the other stuff we've been doing is maybe hopefully continuous, but maybe we'll hit discontinuaries. I don't know, we should talk, though. Thank you. And also the math is beautiful and has no sickness. It's the physics that might need to change. I'm a mathematician, I had to say that. Okay, yeah. The physics is ugly, trust me. Just to jump in quickly, we do have stickers. And I... And they have cookies, too. They are in the cookie box. And on, I think, day four, somebody from our community is giving a Julia workshop. And we're trying to set up an assembly space and hopefully that goes out as well at some point. Go ahead, please. Hello. Also one question for the first part of the talk. I wanted to ask if it's possible or if you are using dynamic resolution in your climate models, where you maybe have smaller grid size near the vortices and larger in the areas that are not that interesting. Oh, like adaptive grids? Yes. So I think we mostly do that in the vertical. So usually in the ocean, the things are interesting close to the surface, so you have more resolution there. But as you go deeper, things get less interesting. So you put less resolution there. Generally, I think in general of the art, people have asked that before, why do you always use constant grids? Why don't you use these adaptive grids on your global models? And usually the answer I've heard, I don't know if it's very convincing. I think generally there hasn't been that much research or people who do research into adaptive grids for climate models, their funding gets cut. But the answer I've heard is that a lot of the climate, a lot of the atmosphere and ocean is turbulent. So if you, especially if you do kind of adaptive refinement, then it just kind of adapts everywhere because there's kind of turbulence everywhere. But yeah, I don't, I'm not, I guess for our simulations, we're kind of just, some of the numerical methods are only fast if you run it on like kind of a regular grid. So that's the reason we don't use adaptive grids for our simulations, but in general adaptive grids for climate models is interesting, but I haven't heard like, it seems like there needs to be more research in that area. So I don't know if I answered your question, I kind of just ran through it. You did, thanks. So go ahead, please. Yeah, just a few questions about this. I think I have repped quite a bit of legacy Fortran code and Python. And my question is, would that be a simple pass converting Fortran code to Julia preferably automatically? Do you have any ideas about this one? You can do it.  So you haven't won anything. So yes, as a good starting point, you can do that, absolutely. But you can also just call Fortran from Julia and then gradually move over. I generally don't want people to reword their code, except if there's a good reason, like starting from scratch sometimes helps. That can be a good reason or if you say the solutions, we don't have the necessary experts to work with the old solution anymore. But in generally, if you have Fortran code, I would just say, well, call Julia from Fortran or Fortran from Julia. Get that up to speed and then start transitioning piece by piece, where it makes sense. So any more questions? No more questions. That's an early wrap, Dan. Ali Ramadan and Valentin Truavi. Thank you very much.