My deepest sorrow is about to your grandmother. We're in the camps together. I'll show you through all that just to be shot in a living room by a burglar. Nazis Jonas.  That's Al Pacino from the Amazon series Hunters about a group of modern-day Nazi hunters. Spoiler alert! Al Pacino isn't quite what he seems to be in that little clip there, although isn't that a perfect theme set up for this show in general and for this episode? Things aren't always what they seem. Take for example, today's guest, the very excellent and well-spoken Scott Shea, who's written a book called Conspiracy You. Now, you know or you might know from listening to this show that I have a special affinity for successful business people who then venture into these kind of intellectual pursuits like Scott does. This guy is sharp and he's worldly in a lot of ways. And as you'll see in this dialogue, he's able to quickly kind of cut through a lot of the chaff and get down to talking about real stuff. And we talk about plenty of real stuff in this interview. Here are some clips. I do run across people now and then who have the holahokes thing and it pops up in sometimes the strangest way. I'll talk to people and I'll think we're having a good conversation and then I find out this part. I've talked to folks just like that too who are and I talk about folks in the book who are had PhDs in something. They're not dummies and yet when it comes to believing in a conspiracy theory about the Jew Arthur Butts, who's a professor of engineering in Northwestern University as tenure, claims that everything that happened to my father and everybody else was just a myth designed by Zionists with political motivation and that these Jews were so smart that they were able to place thousands of false documents. Sadly, what happens on campus no longer stays on campus. These theories are becoming much more ubiquitous. They're infiltrating in some areas into the investment world, this whole BDS movement, a boycott, this is divest in sanction, is a direct heir to what happened on campus. Let's go to something a little bit harder because the other, I guess, concern I had with the book is that, you know, when I think of anti-Zionist conspiracy theories, I think of this. Ghislaine Maxwell and her pedophile lover, Jeffrey Upstein, were both Israeli spies who took pictures of powerful men having sex with underage girls to blackmail them. Their alleged Mossad handler has sensationally claimed. Now I would just add that that alleged Mossad handler kind of stands up to scrutiny pretty well. He was tried in court and was actually acquitted because he showed that he was an agent of Israel in his arms dealing. Well, look, first of all, I'd like to say this. What the anti-Zionists say is something separate. I mean, there, by the way, I have no idea if that's right, wrong, or indifferent. I've never heard that or seen that before you put it up on the screen. So I don't express any opinion, but I will say this. The United States has done despicable things. A lot of countries do despicable things. So I think this is a really good interview from a really terrific guest who's willing to go there and engage on stuff and talk in a very unscripted way like this. Hats off to Scott Schaefer doing that. So here's the thing. If you like this interview, if you agree with me that this is unique, you're not going to find another interview like this. Well, anywhere, I listened to a ton of podcasts. I don't hear very many interviews like this. Share this interview with other people. Let's let other people know that these kind of dialogues, these kind of challenging dialogues are happening on the internet. That's my mission to make that happen. And to make it happen, I need your help. You know, in the last episode, I asked people to reach out a little bit to share the skeptical thing with other people, and you did. I'm really, really grateful that you did. So I'm going to ask you to do it again, take a moment and do what you can to let people know that we're out there. We're holding down the fort in terms of these next level intelligent dialogues slash debates about real important stuff. Okay. That's my pitch. Remember, there's no strings attached. There's no money changing hands. There's no firewall. There's no advertising. There's no nothing to go by Scott's book. If you want to spend anybody, do that, but you don't have to give me anything. Just share the ideas. Okay, here's the interview. Welcome to Skeptico where we explore controversial science and spirituality with leading researchers, thinkers, and their critics. I'm your host, Alex Akeris. And well today, we have a good one. Super successful business leader, banker, and author Scott Shea is here to talk about his new book, Conspiracy You. Scott is the co-founder and chairman of Signature Bank in New York, a very, very substantial bank. He has an undergraduate and MBA from Northwestern. I mentioned that particularly because it is relevant to this story as we go on. Scott, welcome to Skeptico. Thank you so much for joining me. Alex, thank you for having me on your show. It's great. So Scott, why don't we start just tell people the basic premise of the book? So the basic premise of the book is that conspiracy theories from both the far left and far right are masquerading as scholarship at universities, including my own Northwestern University. And these conspiracy theories are not just about Jews, but there are plenty of them about Jews and Zionism. And I was amazed and stunned to see how things that make no sense are passed off as academic research at fancy universities. Great. I'll tell you what, can you tell us a little bit about your father? I think it's actually there's some important history there that I learned that I didn't know before. And it certainly plays into one of the most important conspiracy theories that we might talk about a little bit. Yep. Well, my father grew up in Specter, Lithuania. And he was when the Nazis came in in 1941, he was it was just before he was going to turn 14. His father was murdered practically before his eyes, his brothers, his aunts, his uncles, and almost all of his cousins were murdered. My closest relative on his side is a second cousin once removed. The bad news was and the really, really bad news is the decades of conspiracy theories and a boycotts of Jews in Spexner led everybody to think that these Jews, no matter how nice these local Jews are, they're part of some evil cabal. And once the Nazis came in, every last Jew was handed over in Spexner. Nobody escaped. So that's the little bit that I guess I've heard about. But your story and I don't know if it was in the book or I read in another interview did kind of added to that, you know, I mean, tragically, this was an enabling kind of thing that was going on in Lithuania that really propelled that.  And it pops up in sometimes the strangest way. I'll talk to people and I'll think we're having a good conversation about something that we both believe in or think we believe in or want to explore. And then I find out this part and I always kind of am surprised. But then the actual history, not of your father, but that same period is what I refer people to because because what what happens to your dad? So here's a thing that I and unfortunately, in this process, I've talked to folks just like that too, who are and I talk about folks in the book who are have PhDs in something, they're not dummies. And yet when it comes to believing in a conspiracy theory about the Jew, Arthur Butts, who's a professor of engineering in Northwestern University as tenure, claims that everything that happened to my father and everybody else was just a myth designed by Zionists with political motivation and that these Jews were so smart that they were able to place thousands of false documents. They were able to, in his words, bamboozle Germans to confess to committing crimes against humanity just because the Jews were so good at gaslighting. They were able to, and another word, it's a word of his bamboozle or hoodwink, the judges at Nuremberg who there were a few Jews on the margins who convinced these otherwise smart jurists that there had been this massive tragedy among the Jews when at most, at most he would say, and this is a tenured professor at Northwestern University, at most it was a typhoid outbreak brought by some Russians who were also prisoners of war. Andy states that the only reason the Jews were put into camps was for their own protection. Hitler wanted to make sure that no one would bother the Jews. When you think about it, you have to dismiss all the evidence in order to believe what he's saying and strangely about 11 percent of millennials think that that's the case. So in the case of your dad, if I have the story right, he's in Dachau, horrible, horrible concentration camp. He's liberated in April of 1945. He weighs 60 pounds. But the facts that we know is like, hey, one of the only reasons Dachau is what it is and it's shown for what it is to the world is because patents kind of charging through with his tanks famously not to rescue necessarily Dachau, but that was the strategy of the Americans at this point.  And he says, yeah, I was there. And it was horrible. And patent, just like you hear this story, patent went into town and grabbed the mayor and grabbed the people in town and made a march through the camp. He says, this is a real story. I was there. I saw it. And then Eisenhower, our became our future president, came to the camp and was a guy who was seasoned and war was just so horrified that he was literally throwing up. You know, this guy had seen a lot of stuff and he was throwing up at the site of it. So I think it just, I don't want to hammer that too much because I got some other stuff for you that might not have all your stuff. But hammer away on that. I mean, my father, if he hadn't been liberated in those days or at most a few weeks, he'd have been dead. And the only reason he's alive today. I'm alive today is because American soldiers brought him to a field hospital. Otherwise, he'd be dead. I mean, my father was a great patriot because the Americans saved them and they did it out of the goodness of their heart. It took him a year to be fully recovered. Oh, I can, I can only imagine. Okay. So that's an important history because it's your personal history, but it's also just as it ties into the book, it's just an important history to know because there are people, I wasn't aware of that fear that you threw out, but it's stunning to think that 11 percent of millennials would believe the Holahokes thing because it's just a silly conspiracy theory. And that's what I want to talk about next because this book of yours, Conspiracy You, talks about maybe you want to, before we get there, you know, tell us about the main conspiracy that you're driving at because it's the one that you detail in the book and talk about. I found rather obscure within the realm of conspiracy theory, but obviously it's one that you think is important. Is it the one that you mentioned? There's other ones you mentioned in the book. Which ones do you really want to highlight? Well, you know, it's the anti-Zionism one is a conspiracy theory. Now, you can be for the Jewish state, you can think Israel's good, Israel's not so good, but conspiracy theories, and you really get this, is that it's not just about unwarranted or harsh criticism. That's bad, but academics, publishing books at major presses, Duke University Press, Stanford University Press, that have tenure are writing stuff that's made up about Zionists, Jews, naming Palestinians so that they can they can harvest their organs. That somehow Zionists slash Jews are in cahoots with people all around the earth to teach police to harm people of color. These are so silly in terms of when you start to try to analyze any facts, but when you talk to folks who are propagating these theories, the Jesper Puas are the world. Some of them recognize that they're just politically motivated, but others, they just continue to create a larger and larger false non-falsifiable theory. So not unlike what Butz does with the Holocaust, the folks on the far left think that there's some amazingly effective conspiracy of Jews to cover up all the bad stuff that they're doing in the world from organ harvesting to colluding with the Minneapolis police in the murder of George Floyd. I mean, this stuff is amazing. And then 300 California University organizations created a resolution that they wanted to censure Israel for their involvement with the George Floyd and other murders, harassments of people of color. There's no sense to this. I mean, let's not forget, there's 6.7 million Jews in Israel. We have 8 billion people in the world. And yet somehow the Jews are the massive focus of all of these theories. And by the way, I talked a little bit about the boycott issue. I mean, there is one boycott movement in the world, the one BDS movement in the world. And strangely enough, it's against the one Jewish nation in the world, like every other country is perfect. Okay, let me kind of pull this apart a little bit. I think there's a lot of common ground between us. I think for someone who's investigated conspiracy theories a lot and has some of the same frustrations that you do about the silly conspiracy theories. Flat Earth conspiracy theory. There is no COVID-19. There is no COVID virus. There's no viruses at all. The public is alive and Paul is dead. Well, there's also conspiracy theories that I think justify our examination. And I wanted to bring up, are you aware of the origin of the modern term conspiracy theory and where it came from? Because I looked in your book and you have a chapter, conspiracy theories, what they are and why they are bad. We'll talk about that in a minute. But are you aware of the modern origin of the term conspiracy theory? No, I read Jordan, Joven Breyford and Kwaesam Kassim who wrote about conspiracy theories. Yeah, they don't they don't talk about it. It's directly from a document that was released through a FOIA request. I think the New York Times initiated the FOIA request in 76 or something like that. The title of the document, this is CIA, concerning criticism of the Warren report and was drafted in 67. It was about JFK and it was to all the media outlets. Back then, you remember the day media outlets, you could kind of count the ones that really mattered. All of them were told, do not veer from the story of Lee Harvey Oswald known, low-nut assassin. And then they introduced this term conspiracy theorists as a pejorative term and use that to kind of characterize all these people. Now, the upshot of that, I don't know if you're totally aware of this, but again, I'm not making that up. That's a FOIA released document from the CIA. But the upshot that that I guess a lot of people and in the same way that you're talking about, a lot of people don't realize that in 1978, the House Select Committee on Assassinations concluded that JFK was probably a conspiracy and they're using that softly. They proved pretty conclusively from the evidence that it was a conspiracy. So the official position of the United States government is that JFK was a conspiracy. The real question is why does Dan rather go on, why does Dan rather go on TV and say, hey, I can't show you the Zabruder film because it's too gory, but you can clearly see that his head falls forward when we all know, now that we've seen it, that that's a lie. Here's my point. Not all conspiracy theories are bad.  So I think that's a great question. So the nomenclature that I use to describe what you're talking about is a little different. I say there are two things. There's conspiracy theories, which I use in a pejorative way. And then there are theories about conspiracies. So if you have a theory that there was a conspiracy, the way I would use the terms like JFK, or that black men were not, were falsely vaccinated and falsely treated in Tuskegee, then you have a theory about a conspiracy. And you should investigate it. You should try to investigate that. You should investigate whether the CIA gave LSD to unwitting victims. Because those are theories about conspiracy. So you've got a fact. Now you're going to investigate it. It may not be that you can get all the evidence you need. It may be that it's being hidden. But it's a theory about a conspiracy. And you have to say, I think based upon this, that this may have happened. Conspiracy theories, such as Arthur Butz, or such as some academics, Jasper Puerh, others claim about Zionists, about Jews, is that there's a cabal that are doing all of these evil things with no proof. I mean, I've read whole books with no actual facts other than maybe some demographic table doesn't foot. I'm with you on that, but you've realized that a lot of people view their quote unquote evidence as factual and important. So it's kind of an eye of the beholder thing. I'm totally with you. It seems completely ridiculous to me as does Flat Earth, but they hold conferences, they have quote unquote scholarly discussions. So it's not so easy, is it to really make that distinction you're talking about? You know, but that's what we're supposed to be thinking people. So one book that I indicate that it was written by Jessica Winnegar and Laura Deeb, both full professors at universities. And it's about they have this conspiracy theory that anthropology departments across the country are subject to compulsory Zionism and that you can't get promoted unless you subscribe to the compulsory Zionism. Okay, that is a allegation. Got it. Now they're going to write a book. Got it. Okay, that so far where everybody should be on the same page. They write this whole book that finds two instances of professors who didn't get tenure, who had anti-Israel views, one of which ultimately got tenure, I believe, and don't compare their scholarship to any other scholar, but assume that it's because of their anti-Zionist views. Not mentioning, as you would in a normal study, any other professor who didn't get tenure in comparing that. I'm sure there were scores of people who didn't get tenure in anthropology departments. And the question is evaluate their scholarship, but no, that wasn't done. It was just assume that that was that their anti-Zionism was the sole reason and be the rest of the book. It's hard to exaggerate. They have they interview person after person who feels that this has happened. They feel that this is happening. They go on and talk about how evil it is that this is happening. And all of these Zionists are moles and they use campus rabbis in quotation marks. But there's no facts. The only fact in the whole book is that a person did one person didn't get tenure and okay. So they still may have and they could still say they have a theory about a conspiracy. I think they haven't presented the slightest evidence, but okay. But to say that they proved it at the end of the book and that anybody who disagrees with them is not a good person doesn't make any sense to me. And it's not scholarship. It's not agreed, but two points on that, Scott. First, aren't you kind of punching a little bit below your weight class? I mean, no one takes the whole postmodern humanitarian academic. I mean, that's like cliche now. It's just so discredited. They have peer review papers that are machine generated that get it. It's like no one. Do we really need to punch down those people anymore? I guess that's question one and I'll wrap question two right into it. Because I think it's related because one of the concerns I have is the cancel culture kind of thing is enabling the censorship of people.  I don't want to see them removed from the public dialogue. I don't want to see their YouTube channel taken down, which is happening so frequently now. I don't want to see them out of Facebook, Twitter, let the conversation go on. I haven't say with the Hala hoaxers. I invite them on the show. I'm like, Hey, you know, maybe I missed something. It took me 30 seconds to refute your stuff, but maybe you have some other stuff. Come on on. Isn't that the kind of dialogue we want? So I have two points. I'll answer the questions in order. First, sadly, what happens on campus no longer stays on campus. These theories are becoming much more ubiquitous. They're infiltrating in some areas into the investment world. This whole BDS movement, a boycott, this is divest and sanction is a direct heir to what happened on campus. BDS started in, well, actually, and we can go off in this. I want to answer your question, but BDS actually started on the far right. BDS has been around since they were painting black smears on Jewish shopkeepers in Svexner, Lithuania, to tell people not to shop because this was a Jewish shopkeeper.  So the first modern BDS was actually again on the far right, William Luther Pierce, who was a neo-Nazi, a famous American neo- Nazi who set up, I think the National Alliance Party, tried to get McDonald's Douglas not to send the sponsor to share the resolution, not to have them resupply Israel. So BDS started on the right, but it was adopted on campus and it's being used today. And the general dialogue on, in other areas, look at the New York Times. The New York Times published an article in which there was an interview endorsing David Ickes book, which you've probably heard of. I've interviewed. I'll set you free. Well, this says that the Jews both started the Holocaust, that Hitler was a Nazi, that I'm sorry, Hitler was Jewish. They both started the Holocaust and funded the Holocaust. I mean, it's the most garbled thing that the Atalman is the most evilest book in the world.  So I don't go with your premise that what happens on campus stays on campus. And a lot of these folks also are big tweeters and interviewers and are part of that. Now, the tougher question that you ask, I think, so I don't think I'm punching down. Actually, I think I'm punching up and they probably are ignoring it. The bigger question is cancel culture. And how do we deal with people who have strange ideas about certain things? But in other areas may be brilliant. Kant, for example, I mean, we think of him as the founder of modern reasoned morality. Well, he hated blacks. He was a amazing racist, Confucius, who we again, wise person, we he was a Chinese supremacist. And the list goes on and on there, you know, in Africa, you know, I mean, there were there was there were several amazing poets who also were misogynist. So this goes on and on, you have in the modern day Heidegger. He was a Nazi. We didn't know it for sure at the time, you know, until the model is notebooks, the so called black notebooks were released, but he was a Nazi. Should we stop reading his all of what he wrote? Some of it was absolutely brilliant. I think we have to recognize that within some folks, both on the far right and the far left, that we can't excuse their strange ideas, we can't excuse them, but nor can we excise them.  But should we get rid of DNA research? Should we not take what he wrote? Of course not. That means it's harder for us as thinking people to do this, but we shouldn't cancel people. So I just interviewed, I just interviewed a guy from Google, a pretty high level guy, mainly in the AI department. I mean, Google is manipulating and canceling, demonetizing all that stuff. So how do you come down on that? Don't cancel anyone? There's no such thing as hate speech. Everything is kind of okay. Where do you draw the line? We all have a line to draw. I draw it pretty much like free speech is foundational to this whole experiment we're in. So I'm very, very uncomfortable with hidden demonetization.  But I think that's just very dangerous. Yeah, I would say the problem is today the line is drawn very close to whatever that person or organization happens to believe. This is our modern press. Why do we accept that they can control, censor, and politicize their narrative? Look, generally, I agree. I think free speech is the foundation of the civil society, of civic society, of the United States. And I'm in favor of free speech, even when I totally disagree with it. I'm not in favor. I would not say to cancel Butz's book. I think rather it has to be carefully read as I did and recognize that it's a pack of lies. But it's out there. And to try to squash it, I think is actually going to make it more attractive. I agree.  But you definitely at the beginning of this interview spelled out kind of my point that, you know, there's all sorts of people of the, this is you, you know, the Jewish tradition who might not agree with you politically might not agree with the politics of Israel or even the Zionist agenda as it is the religious state for the Jewish people, all sorts of different opinions out there of people that have a Jewish tradition, as well as other people like they have a voice in this too. But here are the anti, you know, when I think, Scott, when I think of anti Zionist conspiracy theories, I think of this, I'll pop it up on the screen here and show you. I'll read it so people can hear it. Ghislaine Maxwell and her pedophile lover, Jeffrey Upstein, were both Israeli spies who took pictures of powerful men having sex with underage girls to blackmail them, their alleged Mossad handler has sensationally claimed. Now I would just add that that alleged Mossad handler kind of stands up to scrutiny pretty well. He was tried in court and was actually acquitted because he showed that he was an agent of Israel and his arms dealing. I'm not here to hammer out, you know, to flesh out what, but there's some factual evidence here. You know, Maxwell's father is, is definitely Mossad. He gets a state funeral in, in Israel, where the prime, several prime ministers are there and all the top intelligence guys are there. So there's fact behind this. This is the kind of stuff that when I think of anti Zionist, and I wouldn't go so far as to say that with this, but that to me is what we need to talk about, not some wacky, you know, professor with the whole hoax idea. Well, look, first of all, I'd like to say this, what the anti Zionists say is something separate. I mean, they're, by the way, I have no idea if that's right, wrong, or indifferent. I've never heard that or seen that before you put it up on the screen. So I don't, I don't express any opinion. But I will say this, the United States has done despicable things. A lot of countries do despicable things.  Nobody says let's abolish Iran. I haven't heard people say, you know, from border to border, let's exterminate or expel all Iranians and end their state. That is what they, that is what the anti Zionists say. Hamas says that openly. BDS says openly, the founder says no Jewish state period. So there's a difference. And this is what I was starting. What I sort of was, I want to say, but it was hinting at a little bit, you can have harsh criticism. You can say you want to vote this government out. You can say a lot of things. But that's very different than saying and what the anti Zionists are doing, which is saying that the Jews don't have a right to self determination. You could say CIA is bad. You can say a lot of spy organizations are bad. Again, I'm not a pining on that. But that's the criticism of Israel is different by an order of magnitude from criticisms of every other country on this earth. I get that. And I think you, your book does an excellent job of bringing that into focus and reminding us that that's still out there. And it's not something we can just kind of blow past. I do wonder, and I'm going to throw one more out there, which is another kind of, I guess, fuel for the extreme anti Zionist conspiracies that you're talking about is the more serious kind of anti Zionist conspiracies that we would need to kind of consider or throw on the table. So I'm going to throw one out, another one. And again, I'm doing nothing other than reading a mainstream newspaper. This one's in Scotland. This has been debunked. Look, I know that, you know, this one actually makes me angry because there are so many Jews who were murdered in that tower. I mean, I find this reprehensible. And there were supposedly photos of people dancing who were Muslims around a mosque. Everybody's got their own frigging conspiracy theory about this. This is actually, I mean, it's, it's, it's, it's, I anybody can write anything about anything. Well, let me just make sure we're talking about the same thing, because there's a lot of conspiracy theories around 9 11 that tie into Israeli Mossad. This one, again, maybe you have data to the contrary. And that's okay. I just want to make sure that people know what we're talking about. Here is again, from the Harold Scotland, longest standing newspaper in Scotland. There was rune and terror in Manhattan, but over on the Hudson River in New Jersey, a handful of men were dancing. As the World Trainers Center burned and crumbled, five men celebrated and filmed the worst atrocity ever committed on us on American soil, as it played out before their eyes. They were as railies, and at least two of them were Israeli, Israeli intelligence agents working for Mossad. So I've looked at this. Again, I, this, this is made up. This is this concept. And I really find this, frankly, repugnant because there are again, also photos. If you want to go to Jersey City, there are photos are supposedly Muslims dancing and handing out candy and beeping horns. You know, this is not sourced. And it's sourced. There's FBI, there's FBI documents on the arrest that were released in the foyer. And these guys were sent back to Israel two months after without any investigation. They appeared on Israeli TV, but I don't want to get into hashing out those details, but I'm telling you, Scott, I'm not coming at this as some wild, wacky kind of conspiracy nut thing. Anyone who goes investigated, there's plenty of evidence who knows how. Wedging that the 19 hijackers from Saudi Arabia and elsewhere didn't plot this with ISIS to destroy the world trade centers and effectively declare war in the United States. What I'm saying is a Zionist plot. I mean, I definitely not. I'm definitely not saying that it's a Zionist plot. And the way I'm trying to bring it back into focus with your book again, Conspiracy You, is that I think we have to look at the role conspiracy theories are playing in our culture in both a positive and a negative way. So I don't think we're too far apart on this. And I think there's going to be conspiracy theories that are going to gaslight all of us. And I think we have to find a way to, I guess, embrace them in the same way that you're exposing a couple of very important, you've convinced me in the book and in this interview, very important conspiracy theories in academia. I'm just saying, I think we have to have a different attitude about conspiracy theories that I didn't exactly get from your book, even though I think it was very convincing about some of the ones that you met. So that's my point. And then I definitely am open to, you know, your feedback on that.  I'm not using the Warren or the CIA language, you're going to have theories about conspiracies, and then you have to evaluate them. There was a ton of research done, the 911 Commission and others, both what's been classified and declassified, and even more has been declassified during the Biden administration. And it's pretty clear what happened. But I'm, I'm, again, what the thing that concerns me is that anytime something bad happens in the United States or elsewhere, there is a reflex to somehow blame it on the Jews. Climate change now is being blamed on Jewish oppression of Gaza. It doesn't matter that there are, you know, smokestacks in China or elsewhere with burning coal. That's somehow blamed on the Jews. George Floyd, 300 university organizations said this is somehow designed as Jews fault. I mean, there's a impulse that when something bad happens. Now, knowing people that died in that tower. I have to say, I can't hold back an emotional reaction. Knowing Jews who died in that tower. I just can't hold back an emotional reaction to seeing that what you put up. I'm sorry if I sounded a little loud, but I, you know, it definitely hits a raw nerve because they were involved Jews and they were good people and they were murdered. And so that's tough for me. Totally, I totally get that. I'll tell you what, in the time that's left, tell folks about some of your other books and your work in general, because in the reason I want you to do that, we can't possibly get to that in this interview. I think it starts to get back to the root core of this, which is spirituality, which is atheism. I think atheism is the root cause of what you see in academia. If we're able to advance without criticism, this idea that we're meaningless, biological robots in a meaningless universe, I think it is the first conspiracy that opens up this door. I'm not a religious person, but I think that you're onto something when you're putting your finger on it in those other books. So tell us about that as we wrap this up. Sure. So thank you. First of all, my previous book, this is my third book, Conspiracy U, a case study, but my previous book, In Good Faith, talked about spiritualism, In Good Faith, questioning religion and atheism. And I will give you the punchline since we don't have a lot of time. The one thing that I came that is the common cause that is what I think the most basic moral value is the golden rule expressed negatively the way Hillel did. Don't do unto someone else what would be hateful if it were done to you. In other words, treat, don't treat anybody else the way you wouldn't want to be treated. Don't think about it groups, don't think about identities. Think about that individual person, because we all share, in Hillel's view, a common spark of the divine, or you're an atheist, a common spark of humanity. And my whole book, the whole In Good Faith, is about finding the common ground between religion and between ethical atheism. And what I find is the biggest problem is, and this ties into what we're talking about, the biggest problem is that most people who claim to be atheists aren't atheists. Some are, but some aren't. And what they really are is too many religious quote unquote religious people are really idolaters. And here's the problem. We talk about idolatry like it's some quaint bowing down to idols. But in reality, and if you're listeners, just remember one thing from this interview, I hope they remember the following. Idolatry is actually a set about lies, is a set of lies about power. It's about ascribing super authority or super powers or some mysterious forces to finite beings like ideologies, beings like people like God keeps like fair or ideologies like communism and other isms. And so we may have thought we licked idolatry 33 years ago, but in reality, Hitler, Stalin, the Assad family, the Kim family, and I can go on and on, use the same tropes of ancient Pharaoh, power, pageantry, myth, theater, all backed up with secret army secret informers and and strong police and armies. And it's at both the macro level and the micro level at the micro level. I think idolatry explains how people like Charlie Rose and Harvey Weinstein and Matt Lauer got away with what they got away with because they were considered idols. They had super authority in their in their arenas. So they were unquestionable until there was enough weight of evidence against them. And that too could be called in a sense conspiracy theories. I mean, we could get that would be a whole nother broadcast how they got away with what they got away with. So I really am passionate about that. And so I'm really passionate. My writing of In Good Faith was a five year project for me. And and I think it's in it, you know, I really do think it's an important book. Fantastic. Our guest again has been Scott Shea. The book you're going to want to check out the latest one, Conspiracy U, a case study. But that other one sounds like a perfect skeptico pairing with that. Scott, it's been terrific having on the show. Thank you so much for joining me. Alex, it's really been a pleasure. Thank you. Thanks again to Scott Shea for joining me today on Skeptico. The one question I tee up from this interview is kind of the big one. What do you make of anti Zionist conspiracy theories? Scott makes a really strong case about a couple of them that weren't on my radar that we might want to pay attention to. On the other hand, there's a couple that don't seem to pop up on his radar. So what are your thoughts about that? Let me know. Join me over on the Skeptico Forum, which I would really invite you to join me on the Skeptico Forum, particularly if you want to have a next level dialogue. It's not a place just for venting. You have to have some thinking behind your opinion, maybe some references, links, that kind of stuff. But that's all in the spirit that I talked about at the beginning of let's grow this community and let's grow it the way we want with people who want to engage in intelligent dialogues, tough dialogues, but intelligent dialogues. So I will leave you with a reminder of that. If you can help me out in that way, I would greatly appreciate it. That's going to do it for this interview. I have several more coming up. I don't know how many more, but I have more until next time. Take care and bye for now.


Earlier this year, Secretary of the Navy Ray Mavis announced the establishment of the Task Force Innovation to develop a comprehensive innovation agenda. The agenda combines the ideas, insights and resources of sailors, marines and civilians in new ways to benefit the Navy and Marine Corps. SecNavis identified the Navy's innovation vision with five key focus areas. Build the naval innovation network, manage the talent of the D-O-N workforce, transform how the D-O-N uses information, accelerate new capabilities to the fleet and develop game-changing warfighting concepts. Task Force Innovation will help us develop creative solutions to the most demanding things that lie ahead of us and maintain our legacy as innovators. We remain from the Marine Corps, Semper Fidelis, always faithful, and from the Navy, Semper Fortis, always courageous.


Hahaha, ha ha ha! The black Viking is back and ready to react! Do you see Cut the personality! Sang & Paul's coming back to the...  WWE News, WWE posts photo on Instagram of CM Punk returning to WWE and then quickly deletes it. This is what the short article says, don't let the headline fool you. It actually happened, CM Punk quit the WWE over a year ago after frustration that built for years, finally caught up with him. The Chicago native was sick and tired of the grueling hours, lack of a WrestleMania main event match, and the overall atmosphere of professional wrestling. CM Punk lost his love for pro wrestling and for WWE. Several months later, Punk decided to sign with the UFC in a multi-fight deal that will see Punk in the octagon for the first time. Punk has expressed numerous times that he absolutely loves MMA and considers wrestling an afterthought, knowing that the WWE wouldn't even try to get Punk to return. Then a very intriguing event took place this afternoon. According to the 434, a pro wrestling Facebook fan page. The official WWE Instagram account posted this picture a little under an hour ago. Former WWE Champion Phil Brooks, CM Punk has reportedly quit UFC. But the question is, will he show up for Monday Night Raw? Tune in on Monday to find out. For those who are skeptical of the photo, here's what the 434 posted on Facebook book just minutes after discovering this image. Apparently, WWE official Instagram posted this for roughly seven minutes before deleting it. Many managed to grab screenshots. That post was exactly 34 minutes ago. I also managed to grab a screenshot of the Instagram post, which still has the WWE Universe in shock. It's not the fact that WWE posted something controversial, but the shocking part lies within what was posted with the picture. First, any WWE social media account is barred from posting anything about CM Punk. The last time they did was for his official firing. Second, other than Triple H or Stone Cold Steve Austin's podcasts, nobody has mentioned CM Punk since the UFC signing in the fall. It's not like Punk's name is written off the history books like Crispin Watt. But Punk isn't a popular name in the WWE at the moment. The odd part is that Triple H didn't rule out a future partnership between WWE and CM Punk, which many find to be a false claim. Well, you know in the WWE, they're always saying never say never. Why would someone in the WWE social media staff post this? CM Punk would never quit the UFC, especially after the hard work he's put in. Punk quit the WWE after 15 years of pro wrestling. The toll that it takes on the body is astronomical. Punk found another passion that makes martial arts. He is pursuing that like a dream, just like he did with the WWE over ten years ago. Whoever posted the image of CM Punk along with the comment about his UFC departure will most likely get punished severely. Just to reiterate, CM Punk did not quit the UFC. And he isn't thinking about the WWE at this time. Well, I guess that gives us our answer to everything. But yes, that is interesting. Why would it happen? Y'all know me, I love rumors. It would be interesting to see if he did make an appearance or something like that. But whatever, y'all, post your comments down below. Let me know what you think about the article and the rumor. One million subscribers, whoo! Now, subscribe.


Hey everyone, welcome to another episode of Visual Studio Toolbox. I'm Donovan Brown here with my good friend James Montemagno. He's going to tell us about his newfound love for Visual Studio Team Services. Now James, you got to tell me, so what changed your mind? What was it? I don't know. Sometimes when you're stuck, you know when you go on a plane trip with someone that you just met for the first time, you're like, yeah, let's just go take a random trip, maybe down to South America for two weeks. It's a common occurrence. Yes. When you do that and that person happens to be the principal PM, and then now principal Cloud Developer Advocate for all of DevOps at Microsoft, you soak in a lot of knowledge. Nice. Now over the last few years of doing mobile development, I've fallen in love with just a DevOps type pipeline for mobile applications. The first time I did it, it blew my mind. Like I just pushed code, it built, and I always thought of it more of automating things. Then I learned it's not just automating things, it's adding this value to not only developer, but also to the product and to our end users. Absolutely. So what's interesting is when I was on the road show with you, going around talking to developers, talking to customers, and starting to use VSTS more, I just realized how powerful it was and I could literally do anything. While I'm not a command line person, I can definitely run Bash scripts, PowerShell scripts, and then I realized I can use it only for my mobile apps, I can use it for the full pipeline to deploy, which actually then blew my mind. Like where I just have it, I build it, I have an app, and now I can do anything with it. I can put it on the App Store, I can put it in Test Flight, I can put it on App Center, I can distribute it anywhere. So not only was it going on the road with you that I learned a lot, but I just started using it. The more I use it, the more I was like, yes, yes, yes. Then I ran into these things, I wish I could do this. Donovan, a very smart man, told me, hey, if you can do it at the command line, you can do it in VSTS. Exactly. I said, that's great, but I want a task, I want something pretty. I started learning, so then I learned naturally the next step, which was how do you extend Visual Studio Team Services. So that's my passion and now it's taking it to another level. Yeah, I did the same thing. I remember when I wrote for my first task, because I'm all about the pretty drag and drop task. But I don't want 15, run this PowerShell, run this PowerShell. To me, it's just like, I want to see exactly what you're doing. I want that task to just be able to put in a few parameters or maybe none at all, and you just do what you're designed to do.  What I love about them is that every time I go and look for an extension, there's more than there were the last time, because more and more people are realizing, if you know Node.js or you know PowerShell, you can write one of these things. It's really, really simple. So it sounds like you've written some of them to solve some problems or challenges that you found when you were moving your pipeline to VSTS. Yeah. So specifically what I did is I wanted, I'm a mobile guy obviously, like I love doing Xamarin development, iOS, Android, Windows, and what I kind of figured out is well, VSTS has tons of great built-in tasks to build, sign, and deploy your app. There was other parts missing that usually people think of as the command line, which is replacing and updating the version number, the one that's a required, one that's updated every single time, but also the human readable. And when you do serious production applications, you're doing other things like replacing the package identifier. So maybe you have a development certificate with a production certificate, but the IDs are different or you want to display a different name. And these are things that I thought were super essential that there had to be a task. But I had the shell scripts, I'd already done this. Like I literally did it at the command line, and inside my VSTS I would see command line, command line, command line, command line. I was like, that's ugly. Like it works, but it doesn't make me all warm and fuzzy. Exactly. Right? It doesn't make me feel good. And then it doesn't make other people feel good because they can't do it, they gotta go learn. So in the form of open source, I crowdsourced this initiative to say, hey, I have all these scripts to do iOS and Android specific version bumping, app identifier replacing and a bunch of really cool things. Let's jam on this and make them a VSTS tasks. Awesome. So not only myself, but Andrew, this really awesome guy from the community came together. We not only converted my bash scripts to PowerShell core scripts that they could run everywhere, even if you want to run it like locally. Yeah. But then we convert them to TypeScript. Nice. So that now they're across platform VSTS tasks that's public that anyone can use, not only Xamarin developers, but iOS, Android, native developers, any app because it's just looking at a file and then updating things. And it sounds like they're very opinionated towards mobile that makes them easier to use because it could be Xamarin, it could be iOS, it could be native, but it's like, I know what that file's name is, I know what the format is. So I'm even easier to use because I know exactly what I'm designed to do, which makes it really good. There are some general purpose tasks for versioning, but you need regular expressions. It doesn't really, it doesn't makes no assumptions of the file shape or anatomy. So therefore they're a little bit harder to configure because you have to then teach it what to do. And it sounds like yours are more like, no, these are purpose built for mobile. They're really, really easy to use. Yeah, they really are. And that was my idea and dream of it because I know how Android works. I know how iOS works. And actually on each platform, there's helpers. Like Apple actually gives a P list buddy type application that ships on Mac OS to install Xcode. So I can leverage existing official tooling to essentially run these commands. So that way, if something changes in the next version, I don't have to update my task. It's calling the official tooling. Gotcha. So it knows exactly what to do and the same thing on Android. I know what an Android manifest looks like. Where in the past, I have to like put special characters and tokens that be swapped out. To me, it didn't feel super clean in the mobile landscape. I understand. It felt great in the.net ecosystem and I still use them. But for me, I was like, I want to type in Android into my tasks and find my Android tasks. I understand. So that's why we really optimize them. And then that way, if those platforms evolve, we can add platform specific features too. I think that's what's really neat is as Android or iOS grow, I might want to add new specific tasks just for that that doesn't have anything to do with versioning or numbers at all. Yeah, because if you look at Visual Studio Team Services from build and release, it's also not very opinionated. It's like, give me your task and I will run them. Your task can do whatever they want and they can do them on any platform. I'm going to look right at the screen. Any language, any platform. You've heard me say this over and over again and people still don't believe me, which is why I only do Java demos now. I'm like, I can do this for any language in any platform and we can also do it for mobile. Just give us the task and we'll run it. I'm also very much like you. I know I can do it from the command line and I can have all these Bash or PowerShell scripts, but it seems intimidating almost when you see that build definition. You want to see those, I personally want to see those really nice, specific tasks with a nice cool logo that lets me feel warm and fuzzy, that that's for Android or that's for iOS. And it helps also when you onboard someone new because they can see, they know exactly what it looks like. That Android icon looks like an Android icon and it has the name, it has little hint bubbles. That's why I built them. Cool, so show us how it works. Yes, exactly. So I'm here inside of Visual Studio Team Services and this is my Xamarin show app. It's just an Android and iOS app. So it actually just here inside of Team Explorer, inside my solution explorer. So I push all my code, just Android, iOS and a UI test project. So I haven't added anything to it. So this may look like your existing ones because you don't have my new tasks to build and restore my Android app. Here I sign and align it. I install my Apple certificates from our library which are right over here. So I upload everything to our secure storage which is super cool. It is. And then I build my iOS app. I copy some files and then I have another phase which is running on Windows because it doesn't care over here. That's gonna build up my UI tests and then copy those so I can then test them before deploying anywhere. Right, I wanna double click on this real quick. What you just described was we're at this little border here is this is a completely separate phase that is running on a completely different agent. Can you drop down this agent queue for me over here? Yeah, right here. And what's so powerful here is that now inside of Visual Studio Team Services we actually offer you every platform as a cloud hosted build. You can do Windows, you can do Mac and you can do Linux all from one. It's just incredible. So you don't have to worry about how do I go set up my build machine for Mac? How do I go set up my build machine for Linux? How do I go set up my build machine for Windows? They're there. And you can have a phase because this phase is very specific to running on Mac and your process defaults to Mac and then you were able to override that in the second phase saying, nope, this phase can run on Windows. So let's just go ahead and utilize that instead. Exactly, yeah. That was my plan of it is since iOS apps have to be built on a Mac hardware, just boom, leverage the host to Mac. So now what I wanna do is I want to extend this and I want to bump the version number and update the package information for iOS and Android. So that's where the extensions come in. So over here I could browse the marketplace. So I have that open over here. So this is the marketplace. And like you said, we could just search for version. I figure we just go from scratch, installing and everything. So we can see there's tons of version stuff, version, version, version, you are correct. And then you'll see this one, which is mobile app tasks for Android and iOS. And these are those specific tasks that I built. So there's four tasks, two for Android, two for iOS. They do the same thing, but they're specific to the platform because they're running platform code and then different icons. So yeah, it makes it easier to distinguish. Yeah, and also the inputs are a little bit different because they're different things. So here I can say get it for free and we're gonna go ahead and install this into my Visual Studio Team Services account. So everyone will have access to this over there. And also that download button is for anyone who's using Team Foundation Server on-prem, you do not have to be using VSTS to use a lot of these great extensions. You just click on download, you're gonna get a file that you can then import into your Team Foundation Server on-premise and still use the same extensions that we were using for VSTS as well. So now I can come over here and I don't know if I have to refresh, let's see, totally have to refresh. I'm gonna refresh my list here. Exactly. I was like, maybe. So what I wanna do is I click on my phase one because I wanna essentially update and replace the version numbers and the identifiers for both iOS and Android. So it's the very first thing I wanna do. Before I do anything, I don't need anything else to run because if those fail, something else is wrong. You get the source, let's modify the versions and let's then go forward. And now look if I type in Android. We get these nice, pretty Android manifest package name and Android manifest version numbers tasks. And the same thing here, if I go for iOS, we have iOS build version numbers and bundle identifiers. So we're just gonna add both of these. Let me go ahead and drag and drop these up here. Let's do that there. There we go. Let me go ahead and do iOS again. So it was version numbers, identifiers. We'll do the same for Android. There. Up, up, up, up. Cool. So we'll need some information because things are required. So over here it says I need your iOS info P list. See, it's very specific. So I'm gonna go and browse in this code specifically for the info P list, boom. And I wanna go ahead and zoom in over here so you can kinda see what's going on. Is I realized that people may be, this happened to me, this is why this feature is here. We'll know that there's a version code, a version name. Version code is what is specific that has to be incremented every single time. Every single time. So what I do is I default to the build ID. I just say, VSTS gives me a build ID that is unique with every single build. So let's leverage that. Now you may be wondering, what is this version code offset? It's a good question. I am very wondering that very much. So sometimes you may have been building this manually before even putting in CI. Or you may be bringing in from another CI system. So if build ID is one, you're not just gonna go query up 100 builds. We can then make this 100. And it will automatically add 100 to the build ID. Yes. Yes, you've been burned by that. And what you're seeing there with the dollar sign open print and close print is the syntax that we use in VSTS to be able to replace variables. And those variables, anything that has like a build dot is something that's generated automatically for us. And we're just saying, hey, I know there's gonna be something called a build ID. Give that to me and use that value here in its place, which is great. Yeah, now I default to this 1.0 build ID. So you have a unique identifier for the version shortcode. But I'm actually gonna use a different built in one here, which is the build number. Yes. Now the build number actually comes from the options. And there's a few ways of doing that. But my default here is actually what I just showed you, which is 1.0.build ID. So that way I can just make them the same. I don't have to hard code that. And then this way what's nice is if I wanna do version two, I come into one place and it will automatically update. So I have to go into every single task that was my mind there. So there's a few ways of doing that. And you and I have discussed that before. So let's go ahead and change a few other things. I'm gonna go ahead and copy a few things over here. So this is gonna be the same exact info P list. But now I can replace the bundle identifier, which is what you upload to the store. And that has to match the provisioning profile. Okay. So I'm gonna say com.refractored.zamarin show. Cause that's what's in my actual provisioning profile. Okay. And then you can optionally, I try to bundle the functionality together. Cause over here you could optionally do the version name. Or if you left it blank it wouldn't touch it. Okay. So over here, if you wanna update the bundle name, which is what the name of your app is, you can then come in here and say Xamarin show and it'll replace that, but not required. Okay. And then we're gonna do the same thing over here for Android. So it's very, very similar, but I'm going to go into my Android project. And what I like what you're doing here is you're actually browsing your actual source console. So I don't have to rememberize or know how to type in the actual path. I can simply just go and visually grab the file that I want to manipulate. Exactly. So I'm gonna come over here, do 100 as my offset just so we're synced up and I'll just go ahead and copy and paste this over here. Okay. But notice that it's exactly the same. So you have a version code offset, a version name, and I have nice little things. It says, hey, you can leave this blank. It'll use your version name, which is the token in the Android manifest. And I try to be really descriptive of what is this gonna do? Right, and I like to give the flexibility where if I really wanna manage that from code in my repository, I could do that by manipulating that XML file versus me actually having to come to my build or my release to change those values. Exactly. Got it. Yeah. So now we can come back over here. I'm gonna do the same thing, com.refractored.zamarin.show, and I'll say Xamarin.show. Now in each of them I have an optional here, which is print file. I like this for debugging purposes and essentially it'll print the file before and after. So that way you can see what actually happened. So if you don't trust me, you can see exactly what's gonna happen. I'm gonna refractored. There we go. So this way you know exactly what's happening. And since all my builds are private, it's fine, there's nothing really personal in there, but you can turn that off and it won't print the file ahead or after.  Gotcha. And that's it. I mean, it's super straightforward to the point and you know exactly what's gonna happen. It's gonna bump the version numbers, change the identifiers, bump the versions, change the package name. And now we can build in queue on our hosted Mac here. And do me a favor, scroll down to the bottom here for a second on this one. Just wanted to make sure you didn't actually, perfect. Yeah, I thought you might have added two at the bottom, but you did perfect. So everything is gonna work great. Yeah, so what's important here too is why I'm doing it first is remember, I am now modifying the source code after it's synced down. So I'm not like checking code in or anything like that. And that's important because for as a developer, I don't wanna have to change, like ideally these files should very rarely change in source code, but I want this to happen every time. And if you actually had to commit them back after every build, I'd have to do a pool as a developer, which would be annoying, right? And what's really nice is using something like the build ID, which is guaranteed to be unique. I no longer have to manipulate those. I do the same thing when I do NuGet packages or NPM packages. It's really nice to be able to use the variables from VSTS to up my versions and never have to do it manually, which is great. Exactly, and that really is the key, is exactly what you just said, which is I really never, ever, ever want to check in code just to bump a version number. Like that's just kind of, to me, feels not again, warm and fuzzy. Yeah, some people like that, and you've given them the flexibility by letting them leave things blank. And again, it's like find out what feels good for you. And I've used a funny combination where you can bump the version, but it's still guaranteed to be unique because I read what's in your file and then I add onto it the build ID and then I set that to be your build number. There you go. There's so much flexibility of what you can do to make it fit you like a glove. And that's why you, you just tell me what you want it to be, right? Exactly. You tell me and I'll do it. That's awesome. So now we can actually look at these. So if I tap on the bump version number here, we can go through the specifics. So this is iOS. So we can see beforehand, the display name was XamarinShow.iOS. The version numbers are all 1.0. If I scroll down, we'll see some debug output where I read in what the numbers were, what the build version offsets were here. And this one here is going to replace the final output here, which is now right here. So that was the before. Here's me actually executing. You can see the commands. So I do a lot of debugging here of the new 104.75, which is the short version code and 5.75, which the user never sees. So that's there. If I come over to the identifier, we're going to see that, hey, look at this. This is the second one. So now it's actually updated because it's not 1.0. It's the new file, it's the same file. And then if I scroll down even further, we'll see that way down inside of our, where is it at? It's going to change that. Identifier right here. Yeah, so there's our new identifier. That's being there, refractor.com. So that way it actually builds and signs. Same thing over here on Android, guess what? We'll see a different output. We have our old version code, new version codes. And then down here, the manifest is very small. So if I actually scroll over, we can see that the old package name was the Xamarin show. Here's our new version codes that we just set. And then we're going to change the package down in the next tab. Exactly. Got it. So I scroll back over, look at the package name, scroll all the way down and over. We're going to see that, boom, our package names are all gravy. Our version codes are the same. The same as the previous one. Now every single time that we push any code, our versions will be unique. The, our QA department can see that version number. Exactly. We can assign it back because guess what? The build number is 1.0475. Which matches what you do. Which matches. See what I did there? Exactly. Exactly. So I like to do that. So it's right there and ready to go. And it's all synchronized up. This is fantastic. Man I'm glad to see that it only took me two weeks of traveling with you to get you to see the magic of business team services. Which is actually a shorter time. I've been doing this for years. And still people don't see it. So it's glad to see that it rubbed off and you're starting to see the power of what this platform can do. And I think of it more of a platform than anything else. Because the sky is the limit. If you can dream it, you can build it, you can run it, and you can do it inside of VSTS. And it wasn't hard. In fact, the last thing I wanted to show you is that it's all open source. So this entire task, I've been taking issues and comments back from people. So all of the source code is inside of my GitHub page of VSTS mobile tasks. Awesome, a blog post associated with this too. So I'll give you the links for the show notes below. Perfect. But what's really cool is this is not only a great extension that people can contribute to, but it's a great reference extension. Perfect. Because the hardest part for me getting started was I can read the documentation and see how to build one. But what happens when I want to package four different tasks up into a single package? So what we have here, and everything is built inside of VS Code. So I use TypeScript, so I have the TypeScript compiler, and I'm about to do a blog on how I built these too, because I fell, I wouldn't say I fell in love with TypeScript and JavaScript, because I'm a C Sharp developer, but it actually helped a lot. I'm so glad I didn't have to write tons of JavaScript. So I did slightly fall in love with TypeScript. That's another show. But I do love me some VS Code. So over here what you're going to see when you come into here is we have these tasks. So each of them have their own folder. You can look specifically at my VS extension JSON. You can see how I structured these with my targets. And what I love under these tasks is that when you come in, you can see the icon, the tasks name, and you can see the PowerShell, Bash, and TypeScript version. Right, now what I want to be real clear here is that when you're writing an extension, you do not have to write it three times. Like you've done them a favor. No, actually it's kind of neat because you now give them an example of how they can write it in any of these different languages and utilize it. But for those who are watching who are interested in writing their own tasks, don't think, oh my God, I have to write this three times. If you only wrote it using TypeScript, and you don't even have to use TypeScript, if you prefer just writing it in pure JavaScript, you can, you only have to write it once and it will run on all three platforms. So I love the fact that you've shown me how to do it in all three languages, but I don't want people to think that they have to write it in all three languages. That's true. And this will show you how we bring in some libraries in here. And the reason I do this is because in my old form, I had PowerShell and BashScript. So I said, well, why throw those away? Let's just show people if that's, if they're running it locally or want to do something, it's there for them. Right, you just leverage what you've already invested in, which is fantastic. Exactly. So this is really great because I really love that you can just come, browse the code, and in fact TypeScript's not that different from C-Sharp. Or C-Sharp, exactly, the syntax is very similar. And in fact, if you look at the tasks that we have here, you'll notice that I'm compiling it and actually shipping the JavaScript version. Absolutely. So it's not like I'm shipping a magical TypeScript version. I just decided to build it in TypeScript because it's more C-Sharpy. It does, and it gives you strong typing and syntax, yeah, syntax, typing. It's virtually nice. But it's all here. This is awesome. Well, James, I want to thank you so much for coming and showing us your new found love and appreciation for Visual Studio Team Services. I hope you guys enjoyed the show and we'll see you next time. Thanks.


Hello everyone and welcome to the Circuit Python weekly for May 23rd, 2022. This is the time of the week where we get together to talk about all things Circuit Python. I'm Katny and I'm sponsored by Adafruit to work on Circuit Python. Circuit Python is a version of Python that's designed to run on tiny computers called microcontrollers. Circuit Python development is primarily sponsored by Adafruit, so if you want to support them and Circuit Python, please consider purchasing hardware from Adafruit.com. The meeting is hosted on the Adafruit Discord server. You can join anytime by going to adafru.it.discord. We hold the meeting in the Circuit Python dev text chat and the Circuit Python voice channel. If this meeting typically happens on Mondays, 2 p.m. Eastern, 11 a.m. Pacific, except when it coincides with US holiday, which it does do next week. In the NoteSoc, there's a link to a calendar you can view online or add to your favorite calendar app. We also send notifications about the upcoming meetings via Discord. If you'd like to receive these notifications, ask us to add you to the Circuit Pythonistas Discord role. There is a Notes document to accompany the meeting and recording. The Notes doc contains time stamps to go along with the video, so you can use the doc to view only the parts of the video that interest you most. The meeting tends to run 30 to 90 minutes, so this gives you the opportunity to skip around. After each meeting, we post a link to the next meeting's Notes document in the Circuit Python dev channel and the Adafruit Discord. Check the pinned messages to find the latest Notes docs so you can add your Notes for the following meeting. If you wish to participate but cannot attend, you can leave hug reports and status updates in the document for us to read during the meeting. This meeting is held in five parts. The first part is community news, which is a look at all things Circuit Python and Python on hardware in the community. It is a preview of our Python on microcontrollers newsletter. The second part, the state of Circuit Python, the libraries, and Blinka, is a statistical overview of the entire project. It's a chance to look at the project by the numbers separate from what we're all up to. The third part is hug reports, which is an opportunity to highlight the good thing folks are doing and taking the time to recognize awesome folks in our community. Next section would be status updates. Status updates is an opportunity to sync up on what we've all been up to. Take a couple minutes and talk about what you've been doing in the last week since the last meeting and what you'll be up to over the next week until the next meeting. And finally, the last part is in the weeds. In the weeds is an opportunity for more long-form discussions. These discussions can come out of status updates or be something you've identified as ahead of time is too long for status updates. And that is how the meeting will go. So with that, I will get started with community news. First up, there are now over 300 Circuit Python compatible microcontroller boards. There are now over 300 microcontroller boards that support Circuit Python. They include boards from many manufacturers and these are boards from the community, companies that are not Adafruit and entirely new businesses, makers using and shipping boards with Circuit Python. Supported chips include Espressif, MicrochipSAMD, Nordic, NXP, RP2040, ST, and more. From Wi-Fi to BLE to Lora, there is an easy and fun way to program microcontrollers with Circuit Python and there is a link to the blog. Next up, Ann Barela on Tom's Hardware PICAST. Check out the article on Tom's Hardware. Tom's will host your editor Ann Barela on the PICAST video Tuesday, May 24th at 2.30 p.m. Eastern. Check out the Adafruit blog for more information there. MicroPython surpasses original GitHub sponsorship target. MicroPython has been using GitHub sponsorship to raise funds for development with over 100 donors, they fell short of 5,000 a month. Adafruit has already been a sponsor since corporate sponsors were added and they promoted this worthwhile effort to other MicroPython users. The efforts recently surpassed the 5K mark and MicroPython has increased to target to 10K a month to hire an additional developer. Are you a user of MicroPython or Circuit Python, which is a MicroPython derivative? Please consider sponsoring some of your money per month and there's a link to GitHub. MicroPython 7.3.0 release candidate released. MicroPython 7.3.0 RC2, the third release candidate of 7.3.0 was released. It's considered stable and is available as a release candidate for testing before the final release. There's a link to the Adafruit blog and if you were playing along in the Circuit Python channel, I believe you will see that the news tag 7.3.0 has been created. So we are on our way to 7.3.0 final. So this has been the Circuit Python weekly newsletter preview. It is a Circuit Python community run newsletter emailed every Tuesday. The complete archives are available at adafruitdaily.com slash category slash Circuit Python. It highlights the latest Python on hardware related news from around the web including Circuit Python, Python and MicroPython developments. You can contribute your own projects and ideas in multiple ways including making a PR on GitHub. You can also tag a tweet with Circuit Python on Twitter or email cpnews at adafruit.com. And that has been community news. Next up, the state of Circuit Python, the libraries and Blinka. So this is an overview of the entire project by the numbers and first we will look at an overview of the entire project and then we will discuss the core, the libraries and Blinka separately with more detail for those individual bits. So first up, overall, we had 36 pull requests merged from 20 authors, some names I don't recognize, which again is always different than anyone else's names they don't recognize. Dahan Zemin, Kuthula Hoops, HDR, PaulSKPT, Sabbanon32 and Co-Plate I believe are the ones that are new to me. And 11 different reviewers, which I don't see any super brand new names there, but thanks to all of our reviewers, we can't do things without authors and we can't promote authors without reviewers. In terms of issues, we had 30 issues closed by 13 people and 12 opened by 9 people, which is excellent. We'll get to see who's responsible for the most drop-in issues. And with that, I will turn it over to Scott to talk about the core. Hello, thank you, Katni. Okay, the numbers for the core, we had 8 pull requests merged from 7 different authors, so thank you to all the authors. Dahan Zemin I think is new along with Fabeth. Fabeth has done a lot of work on circumvent.org, so it's great to see them doing core work as well. And we have four reviewers, so thank you to all of our reviewers. We have 18 open pull requests with a number of the, or three of those are over 100 days old, two of those are over 200 days old, so we should definitely look at those. And then a lot of younger ones as well, which I think we've probably merged since these stats were pulled. With the tag for 7.3.0, we tagged main as 8.0 as well, so some of these pull requests were waiting for 8.0, and so we should be able to get those in too. Issues-wise in the core, we had six closed issues by four people, five open by five, so we're in net down one. We're a total of 511 open issues. We've got seven active milestones, 7.2x and 7.3.0 are both zero open issues. That's why 7.3.0 was just tagged. We'll probably get some 7.3x issues, which we should make that milestone for, would not be surprised if, we get a lot more testing done on stable releases, so we may find something we'll see. And we had 34 open issues for 7.xx, so we should probably make that 8xx as well. And we have a bunch of 8.0 issues, where we have 12 8.0 issues that we can now also actually fix and close so that we can, now that we're marked main as 8.0. So that's the status for the core. Thanks, Scott. Next time, I will talk about the libraries. So this applies to all of the Adafruit Circuit Python libraries, which is everything that starts with Adafruit underscore, CircuitPython underscore, as well as a few extras, such as our cookie cutter and the community bundle. We had 25 pull requests merged across all of those repositories. By 15 authors, looks like I called most of the names that have been tagged here as possibly new, and nine different reviewers. The oldest pull requests merged were 12 and 13 days, which is good to see. And most of them were one or zero days old, which is also great to see, because it means we're keeping up with things. And that leaves us with 23 open pull requests across all of the libraries, which is pretty amazing. There's 350 of them or something to that effect. In terms of issues, good to see here, 23 closed issues by nine people and five opened by five people. I'm also glad that we're having so much involvement from separate people, because all the new issues are from different people, which is great. Leaving us with 639 open issues, 188 of those are good first issues. If you're interested in contributing to CircuitPython on the Python side of things, check out circuitpython.org slash contributing. You'll find all of this information and more. If you're interested in reviewing, check out the open PRs. If you're interested in contributing code or documentation, check out the open issues. If you're new to everything, good first issue is a great place to start. We have a guide on contributing to CircuitPython using Git and GitHub, and we also are available on Discord to help you out. We want to make sure you can contribute in a way that works for you. In terms of library updates in the last seven days, there were no new libraries, but there is a list of updated libraries available in the notes document, and that's what I've got there. So next, I will turn it over to Melissa to talk about Blinka. Hello. Blinka is our CircuitPython compatibility layer for MicroPython and single board computers like the RaspberryPython. And this week, we had three pull requests merged by two authors and one reviewer. There are currently four open pull requests, and there was one closed issue by one person and two open by two people leaving a net of 79 open issues. There were 9,249 pie wheels downloads in the last month, and we are currently at 88 boards that we support. That's it. Thanks, Melissa. And that is the state of CircuitPython, the libraries, and Blinka. Next up is Hug Reports. Hug Reports is an opportunity for us to call out folks for doing great things, highlight the amazing things going on in our community by our community members. I will start, and then we'll go down the list in the notes document. So first up, I have a hug report for Deshipu for coming up with a bunch of ideas for library issues, for the library file types guide page. By issues, I mean problems that folks might run into when working with the libraries in terms of, relative to the file types and so on and how to deal with those. I came up with one and was kind of blocked on that, and Deshipu came up with another six or seven, I think. So that was really great. And also, Naradok jumped in to help and provide further ideas for the same guide page. So that was greatly appreciated. Thanks to DNH for proofing the same page for me, for content. I was genuinely surprised that he only came back with six things, and at least three of them were just missing words, because it's a very long page and there's a lot of content to it, and I learned all of it to write the page, or most of it anyway, to write the page. So anyway, thanks for doing that. I didn't really get a chance to make a list beyond this, so group hug to everyone else. Next up is Dan. Thanks, Cathy. Thanks to Thomas F. and Kurt E., who are noticing problems with busio.ur about whether it returns none or the empty byte string. We've got to fix that in the long run. Thanks to Naradok for looking at the issue about the third argument, the mysterious third argument to int.frombytes. We have something we should fix there too, and thanks to Scott for reviews for the upcoming or now done release, and for version planning discussions, where originally last week we said we weren't sure whether we would go to 80, but it's clear that we are, so that's what we did, and that was a very helpful discussion. Okay, thank you. All right. Next up, I have notes from David Glauda. He says, group hug, sorry, I have not been following this week. And next up is FOMI guy. All right, thanks, Catney. Hug reports this week. Thank you to C Grover, who tracked down and figured out the root cause of an issue with the Piportal Titanium brightness. Thank you to Naradok, who has done some work to free up some space in some of the most tight circle playground builds, and thank you to Tectric for improving the typing library with more protocols that we can use throughout the libraries. Thanks. Excellent. Thank you. Next up is maker Melissa. I wanted to give a hug to Dan for your help with figuring out the seven segment display bullet issue. Hug to Tectric for helping with user with adding grayscale support to the UC8151D display IO driver. Another hug to Tectric and FOMI guy for helping me to hit the link at display IO repo to Anne for your helpful reviews of guides and group hug to everyone else. Excellent. Next up is Tammy. Whoops. All right. Hi everybody. I have hugs for Catney for hosting for Dan and for everybody who's watching from the releases. And then a group hug because I'm getting what my boss called a soft promotion at my new job in the next couple of weeks and my involvement with CircuitPython in the community has really helped me to improve and level up some of the technical skills that made that happen. That's all I got. Excellent. Congratulations. Thanks. All right. Next up is Scott. Hello. Thanks to the Shippu for thinking about graphs with me. Graphs in terms of networks, not charts. And hugs to Lady Aida for continuing to guide Aida and CircuitPython through the chip shortage. It's tough. It's really tough and she's working really hard to make sure that we're going the right direction and with the things that we can get. And then last up, Jerry mentioned this last week that he's going to be less involved, but I just wanted to say publicly a huge thank you to Jerry for all of his help with both CircuitPython, the code and testing and also the community over the years. CircuitPython started in 2016 is when I started working on it. It evolved out of MicroPython, of course. And then, you know, 2017 was really a formative year. That's when Katny came on board and Dan was here and Jerry was one of those folks too. So, Dishapoo I think is another long-term person, but just a huge, huge, huge thank you to Jerry again for really being their testing crew and being so helpful with folks. It's been a, we wouldn't be where we are without Jerry's help, so I just wanted to do another hug report even though he may not get it but just want folks to know. And that's it for me for now. I agree entirely. Thank you, Jerry. I have some notes from Tectric to wrap us up. So, Huggerport to Naradok for pointing out an issue with the type of notations to FOMI Guy for quickly patching the majority of those libraries, to Dan H for helping me pick a solution regarding f-strings in a PR in the Whiskey Library and a group hug. And that wraps up Huggerports. So, next up is status updates. This is an opportunity for us to sync up on what we've been up to since the last meeting and what we're going to be up to until the next meeting. I will start and then we'll go through the list the same way that we did for Huggerports. Again, if your text only make a note and I'll read things off, etc. So, get started. Last week published a new page in the Welcome to Circuit Python Guide, the library file types and frozen files page or frozen libraries I don't remember now. This is a very important page. We answer the questions that this page details, the answers to like we get asked those questions constantly. And it's important information, understanding the difference between an MPy file, a py file and a frozen library, how they work, how they interact, how you can override them for testing purposes, how do you create your own MPy file if, you know, something doesn't fit otherwise, etc. And it's all in a guide page now. So, if you are troubleshooting with someone or get asked that question, you now have a guide page to point folks to. It's in the Welcome to Circuit Python Guide so it will be easy to find. It's under advanced setup and it's just it's got a lot of great information about all of that. I learned quite a lot writing the guide page and those who have read it are real excited about it. So, just be aware of that. You no longer have to regurgitate that information. I also, along with that, added a new section to the Circuit Python Libraries page in the Welcome Guide about the Adafruit project bundle because we never actually updated the guide to mention it. And I wanted to explain how the project bundle worked with frozen libraries. So, I needed to write up a small section in another page that said what the project bundle even was. And then I continued testing PyLeap and I started a PyLeap guide on how to add a project to PyLeap. So, this week I'll be updating the Feather V2 guide to install the WHCX driver. There's a chip on the board that is going to be possibly replaced or added to that requires a separate driver. So, that will be added in there to just say just install it anyway because you're going to run into it soon. The QtPyPico guide, continue working on the PyLeap project guide. I'm going to be creating a repo for the iSquad C addresses guide. We're going to move the content of the guide from the learn system to markdown files on GitHub and then embed those files and then tell people to make PRs to add new iSquad C addresses instead of just leaving feedback and expecting us to go through all the feedback and just add it manually. It's always some kind of bonkers chip we've never heard of and instead now folks can add their own stuff. I will be talking to a couple people on whether or not they're interested in doing the actual move to markdown. And then I'm going to be doing a fancy GitHub profile guide. And a tool that uses markdown to make your GitHub profile kind of fancy. And I'll be writing a guide on doing that. And then finally the next guide on my list is the GitHub action status alert guide with a tower light that is red, yellow and green. And it'll reflect what your action status is on a particular repository. So we'll start with CircuitPython, but you can obviously modify it to any repository you want. And that is what's going on with me. So next up is Dan. Okay, thanks. So last week I released 730RC1 with two significant bug fixes. And then over the weekend I did 730RC2 as an experiment I turned on F-strings on all the builds including the tiny ones. And it worked except for one obscure board which I fixed. So the 730 release is in process. I tagged it as you saw in GitHub and it'll take a few hours before the builds catch up. But there should be a release by this evening. So that's great. That's all I could say. It's been a long process. I'm happy to move on to 8. Now I'm sure there'll be 730 fixes also. I did some work on trying to regularize all the error messages and also doing some internal tricks to use what were called validation routines that check to see like as an integer and range and things like that. Instead of doing that check by manually so to speak in the code and so I was able to save a bunch of space on all builds by doing that. And that'll be in the 8.00 start in the 8.00 builds. And then finally I'm working on debugging some network code. There are some problems with chunked responses when used with Adafruit ESP32 and SPI. I'm just starting to work on that. I have print statements that show the problem but I don't know what's going on yet. Okay. All right. Thanks, Stan. Next up I have some notes from David Glauda. Today running CP natively on bbq20 kbd which is there's a link to it from solder party with RP2040 stamp firmware. Rappel is working scanning the internal and external firmware, scan the keyboard, PWM the backlight and figure out the mouse maybe I squared C 0x33 address. And next up is FOMI guy. All right. Thanks. Last week I tested out a couple of changes in the circuit playground library as well as some tweaks in the core to change the way that that gets frozen in to try to save up some space on those builds. I made a tweak in the core to the initialization of the display backlight PWM. There was an issue on the titano and it turned out that changing the frequency on that PWM was the fix. I fixed a few instances where typing imports wouldn't work on Python 3.7 specifically across a couple of libraries. And then this week this morning I tested out ESP32S2 making requests from a Node.js server over and over again to see if it would have any trouble over time. Some other stuff I want to do this week is look into WebSockets capabilities with CircuitPython. I think Nerodoc has an example project out there so I'll probably dive into that this week. And then the other thing I have is to fill in some high level details about CIRCUP on the library's learn guide page and bring it over to the other guide and just mention what it does and why it's helpful. So that's what I got. Thanks. Great. Thank you. Next up is Melissa. Hello. Let's see here. Last week I finished writing the 2.7 inch e-ing guide and that came in helpful with a support question I had over the weekend. I went through guide feedback with the guides that I had made significant contributions to but were under other authors' names and I worked on adding new feathers and feather wings to the guide that provides an overview of everything available and this week I'm going to finish updating that guide and then catch up on some GitHub repos I haven't worked on in a while. And that's it. All right. Excellent. Thank you. Next up is Tammy. All right. Unfortunately this week, this past week I didn't work on anything with CircuitPython. I had a bunch of work stuff going on and also dealing with a personal emergency. My air conditioner dying in the middle of a 100 degree week here in Phoenix which wasn't super fun. So this week I'm hoping to get back to my card deck library doing some more CircuitPython PR reviews and again trying to figure out a consistent approach consistently and hoping to make progress on at least one of those this week. Excellent. Next up is Scott. Hello. So last week I wrapped up the NTP changes. The .env PR is out but it was having code size issues. I also broke the 64-bit build was broken so I just fixed that as well. So I just merged the main thanks to Dan's message optimization pass. I'm hoping it's enough file savings for me to squeeze in there of course. Last week I also started exploring analysis of code size. So one thing we do when we build all of our builds is that we split data and functions into their own sections and sections are kind of like the unit that the linker decides to keep code or throw it away. So we have this F function sections feature and then we have GC sections which is what deletes them. And so I'm working on determining how all of our sections in Circuit Python are related and hoping to find kind of dependencies between sections that we don't actually need so we can potentially get a bunch of space back if we optimize things. So I'm playing around with that. I made a repo with the Python file and figures all that out. So I'm going to work on that. I also started Auto Connect Wifi based on the environment variables. That's kind of an extension of the .env work. This week I'm going to continue the graph analysis because I think it's interesting and hopefully I can get it to a place where it makes it pretty easy to figure out to visualize all of the data that we're using. In particular there's an AI thinker board with a 2 megabyte flash for C3 and it's already filled up which is unfortunate. And of course web workflow is going to add more code size so I'd like to be able to take a look at that stuff and figure out. If we can't optimize our ESP builds better then this tool will apply more broadly as well. I want to get the .env data that we are in and hopefully follow it with the Auto Wifi one as well. However one thing that crossed my mind is I really I don't have a great way of telling people what the Wifi status is and we kind of don't just ignore this with BLE as well. But I've been thinking about for a while I had thought about this originally for the Raspberry Pi where you have a screen and stuff but I'm thinking about switching right now we have the blink in the top left and then the left hand column is empty for the default terminal. I'm thinking about switching us to having a status bar at the top so the first column of characters would be a status bar and then below that would just be the scrolling output as normal and what we could do there is we could dynamically kind of decide what goes in the leftmost spot of that status bar so that we can put your IP address if you're on Bluetooth or if you're on Wifi or your Bluetooth status if you're broadcasting or stuff or kind of prioritize what to show there to be most useful rather than having like four print statements in the scrolling text to say like oh your Wifi's on your BLE's on, your USB is disconnected and there's no keyboard it'd be cool to have a more concise place to put that so I think I know it could be cool to rethink that status bar and I'm happy to hear what folks think of that idea but that's what I'm playing around with or we'll be playing around with later this week. Alright, thanks Scott. Next up I have some notes from Tectric. Last week added more typing protocols to CircuitPython underscore typing helped patch the Python 3.7 compatibility issue with type annotations got set up with Adabot for running library patches submitted a PR to turn Adafruit logging into a subset of Cpython's logging module started working on getting image transfer set up on the Bluefruit Connect Library this week. Start rolling out library patches with Adabot and the post patch cleanup continue working on data class like library and continue working on getting the Bluefruit Connect image transfer working and that is status updates which leads us to in the leads in the leads is an opportunity for more long form discussions, questions anything like that that didn't really make sense for status updates if you do have a topic please add it now while we're going through the first topic otherwise we will wrap up after this is done because we don't want to have a bunch of dead time while we're waiting for folks to come up with a topic so the first topic is from Foamy Guy and I will turn it over to him you are muted if you are talking yes thank you let's see yeah I probably didn't hear any of that so I put the link in the chat there mostly I just want to get thoughts on this circuit playground library PR I kind of think it's ready to go or ready to merge anytime we want I know there's a one in the core that can come later on after this one but I just wanted to get more eyes on it to see if there were parts maybe that I wasn't considering just because it is definitely like a very high visibility library obviously the only thing I could think of I don't recall seeing before on any of the rest of the libraries is having like code that doesn't necessarily get or doesn't need to get put at least in the MPY for the library bundle or the project bundles I didn't know if the way that your linked would cause any trouble with those or not I don't think it will because it pulls from like the bundle pulls from the actual like library right and this other this other directory even though it's linked I don't I think it's going to be ignored yeah that was my thought as well well that's it because we that was actually something that comes up on the guide page I just wrote is that the project bundle downloads every library it thinks it needs even and it doesn't know the difference between a board with frozen libraries and a board without them because the project bundle is board agnostic so I do explain in the guide like hey these files will be downloaded but they won't be run because of you know the file priority that you just read about so the only reason you would need to do anything about it is if you find you're running out of disk space you know so as cool as it would be to get the bundle to like recognize frozen modules I think that's a whole other huge long down the road beast but I think that both of those setups are just going to ignore this other directory and treat everything else fine that said we should definitely once we merge this wait for the next bundle make sure it's right you know and then go to a project bundle guide that is for that is for the circuit playground and download it and see if you get everything okay sounds good otherwise yes I'm I'm ready for this to be merged well yeah I will take another peek at it this afternoon and merge it and then keep an eye tomorrow I guess we should get a bundle so I'll check on that in the morning as well perfect I was a little worried about whether I mean I'm not sure this should prevent it but that so Windows doesn't have links in the same way as Linux or Mac and I think it treats the links correctly but I'm just I was a little worried if somebody was going to try to like work on this library in Windows whether and they submitted PR whether they might mess up the links but I think we can just I think we can just watch out for that okay yeah I think so too yeah I think it's probably shouldn't interfere with building circuit Python on Windows which a few people do because it doesn't matter if they're duplicated like it doesn't really matter if it's a link or it's a copy of the file because you never do anything with it right right but you're also not doing anything with the links technically I guess right when you're updating the library they just exist but Windows might like bite them or something is what you're saying Windows what Windows might do is in the sub directory which has links in it it might convert those links into copies of the original file so we would just have to say please don't commit that yes we have to we have to watch out for that okay somebody that's basically what we have to watch out for okay that makes sense good to know okay all right okay great all right perfect thank you you good to go on that then I believe so all right then with that I'm gonna wrap up this meeting so this has been the circuit Python weekly meeting for oh my gosh I have to go find the date May 23rd, 2022 this has been the time of the week that we talk about all things circuit Python thank you to everyone who participated if you want to support Adafruit and circuit Python and those of us that work on circuit Python consider purchasing from the Adafruit shop at adafruit.com the video of this meeting will be released on youtube at youtube.com slash adafruit and the podcast will be available on major podcast services it will also be featured in the python for microcontrollers newsletter visit adafruitdaily.com to subscribe the next meeting will be held on Tuesday May 31st so note that next week is on Tuesday this meeting will be held or is held on the Adafruit discord which you can join any time by going to adafru.it slash discord to be notified about the meeting or any changes to the time or day you can ask to be added to the circuit Python and we hope to see you all next week thanks everyone