Coming up on D T N S A I that can teach itself why Verizon's 5G is not actually slower than its 4G network, but you should still turn 5G off and that game console that keeps your fried chicken warm. This is the Daily Tech News for Wednesday, December 23rd, 2020 in Los Angeles. I'm Tom Merritt. And from Studio Redwood. I'm Sarah Lane. It's all like city. I'm Scott Johnson. And I'm Roger Chang. The show's pretty. Oh, it's our last live show of the year. Very exciting. We were talking a lot about McGruff, the crime dog and Smokey Bear on Good Day Internet. If you want to get that expanded show, go check it out at patreon.com slash D T N S. Let's start with a few tech things you should know. The American Civil Liberties Union has filed a lawsuit asking for information about the US FBI's Electronic Device Analysis Unit, which the ACLU says can break or at least believes can break encryption on phones. The lawsuit was filed because the FBI hasn't responded to freedom of Information Act requests regarding the program. Telegram's Pavel Durov announced the app is approaching 500 million users and will begin monetization next year. That's right. Telegram's going to introduce an ad platform for mostly for businesses in the one to many channels. Your private chats will still remain ad free. It may also offer things like premium stickers for sale and all existing features will remain free. They're not going to take something they have now and put it behind a paywall. Telegram also introduced a new feature Wednesday group voice chats. Security firm Celebrite claims it can decrypt messages sent through the Signal app on Android. Celebrite claims to have found a decryption key that unlocks Signal's messages databases. Creator of Signal, Moxie Marlin Spike, notes that the process described by Celebrite used an unlocked Android phone and saying they could have also just opened the app and looked at messages. Yeah, because if the Android thing's unlocked, you could just launch Signal. A lot of things you could do with an unlocked phone. The Wall Street Journal reports that thousands of apps have been removed from the Chinese version of Apple's App Store to comply with the 2016 law that requires video games to be licensed. Estimates of how many titles are removed range from 3,000, according to advocacy group Campaign for Accountability, up to 94,000 apps according to Sensor Tower. Australia began building its national broadband network by forming the NBN company in April of 2009. On Wednesday, Minister for Communications, Cyber Safety, and Arts Paul Fletcher declared the network is complete. 35,000 premises still can't connect to the network, though this is attributed to new construction, which will always be an issue. It also estimates that 230,000 folks don't get speeds of 25 megapits per second or greater. That's likely in part due to the network being fiber to the node, not to the home, but legislation governing the build requires it to complete by December 31st. So they declared it complete. Now it's met the deadline. It's darn near complete. It's pretty much complete, right? All right. Let's talk a little more about Let's Encrypt. Let's Encrypt, a free encryption service, has come up with a workaround that will make sure its certificates continue to work on older Android phones. If you hadn't heard about this, Let's Encrypt encrypts like a billion different websites. I'm not making that up. It's a billion plus websites and apps out there. And the problem arose because Let's Encrypt is transitioning to rely on its own root certificate rather than one that is cross signed from IDENTRUST. Any new certificate authority has a long rollout like this because you have to get added to the list of trusted CAs by every operating system and browser on Earth. And that takes time. You also have to get every user updated. So Let's Encrypt launched with an IDENTRUST root certificate four years ago. That got it up running faster. Let's Encrypt's own root certificate was submitted four years ago, and it is accepted by all major operating systems. However, that only applies to operating systems that have been updated to update their list of trusted CAs. Meaning people running Android older than 7.1.1 won't recognize Let's Encrypt's new root certificate. You could say, well, why don't they update Android? Well, yes, they should update to Android 7.1.1 and then they would be able to recognize it. But a lot of people don't do that. It's not centrally updated. In fact, about 33.8% of Android's active user base are using versions of the operating system older than 7.1.1. And yes, they should update, obviously. But also, Let's Encrypt didn't want to break apps and websites for all those people using older versions. That would make their older versions even less secure. So they figured it out. Tuesday, Let's Encrypt announced it will receive a three-year extension from IDENTRUST to continue validating these subscriptions for these phones. It's three years enough. What this says to me is that for whatever reason, on the Android side, people are slower to update to newer versions of the OS. That's something Apple is always touting, is if it's some kind of, I don't know, jewel in their crown that so many, you know, the high percentage of people update to the latest OSes. But for whatever reason that is, I mean, I don't know how else they do this other than the delay. What are you going to do? You can't force it. There's no forced updates. You're going to have to, hopefully, the more time means people buying newer phones with better updates and or the older handsets get updated. I mean, my question before our show today was like, OK, well, if it's getting tripped up by a date that is not necessary for it to work correctly, why is there even a date in there? And Tom, you had described, well, you know, if you're making an app that's going to work cross-platform, other apps do actually need that. Yeah. Yeah. And that was the thing is that the CAs, it's secure. It's just secure using a different certificate authority, right? It's like, OK, this certificate authority is secure and it's already in the operating systems. So let's use that one to get launched. And then all the operating systems will update. But and again, stuff like iOS that's centrally managed, they've been able to push out these updates and get people on the updated systems. 7.1.1 is pretty old. That's that's way back there. But just a lot of phones still running it. Well, as Ripple had warned on Monday, this US Security Securities and Exchange Commission indeed filed a lawsuit Tuesday claiming a violation of security laws for the sale of XRP cryptocurrency. Both of the co-founders of Ripple are defendants as well as the company itself. Cryptocurrencies like Bitcoin are not usually considered securities because they're decentralized, but XRP works a little differently. The SEC claims XRP was controlled by one company at its launch, which it was, making it subject to securities law, which would have it act more like a stock than a currency. Ripple claims XRP is separate from the company and has been decentralized in the in the subsequent years after it was introduced. This is a fascinating story to me for a lot of reasons. I have, I do not own any cryptocurrency at all. Certainly not XRP. So I, this is not something that that affects me personally, but some people that I know, dabble on this quite a bit.  And this is this really bad lawsuit. And, you know, and I, I pulled a few of them this morning and said, Well, what do you think? Is it a currency or is it a security? Because I think a lot of us kind of go, Hmm, okay, well, Bitcoin, people know Bitcoin, Ethereum also the SEC has ruled in the past works like Bitcoin decentralized. There is no person or entity or company or something that has been, you know, DM day company that is in control of what's going on there. And so that's why it is not a security, but XRP was absolutely in the hands of one company. I think there were something like 100 billion XRP tokens that were in least unleashed to the world. And many of those tokens still belong to the co-founders. So, you know, it dipping in price isn't great for them, but it does seem like a security to me. And I would, I would love anyone to chime in who thinks otherwise because some of this stuff can be really convoluted. Yeah. According to the Howie test, which is apparently the Supreme Court case that is the standard for assessing whether something's a security or not. There's a three part test. It has to be an investment of money. Okay. Checkbox. Definitely an investment of money. A common enterprise, number two and number three, a reasonable expectation of profits derived from the efforts of others. In other words, you're not putting in the work. It's not a multi-level marketing scheme where you have to sell the Amway. Somebody else is doing the work and you can cash in. So I think, I think it checks off that third box too. Reasonable expectation, right? Not guaranteed, but like, hey, it might go up and then we all make money. The question seems to me to center around that second one. Is it a common enterprise? Because the difference between Bitcoin is like, it's not common. It's decentralized. Nobody owns Bitcoin. It's out there in the world and there's no one Bitcoin company that controls all the Bitcoin. And what SEC is saying is that this was pitched as an investment by Ripple. And they were saying, buy our coin that we will put out there and control and then you'll make money. And to the SEC, that sounds like an investment. Well, it sounds like no matter what, no matter how we define it or no matter how even historical cases have defined it, this is where we're going to find out how the US government defines it if this lawsuit ends up in their favor. So from here on out, it seems like that will be pretty clear or maybe we'll have clear case law on what defines that. Yeah, maybe there will be a lawsuit. We'll see how it goes. Well, folks, joining the conversation in our Discord by linking to a Patreon account at patreon.com. And tell us whether you think it's a security or not. You may have seen some flashy headlines out there that Verizon's 5G network is slower than its 4G network. That's not exactly true. PC Mag Sasha Segan has done the Lord's work writing up the actual story, so we will have a link to that in our show notes. Please go read that if you really want to understand it. But here's the short version. 5G is a system that delivers improvements in capacity and latency and sometimes speed, but mostly capacity and latency. See our Know a Little More episode at know a little more dot com on 5G. If you want to understand that more in full Verizon has chosen to operate its 5G service in the millimeter wave spectrum. That has some speed advantages because it has really wide channels. The band width, the literal width of the band it operates in is better, but millimeter wave has a hard time going through walls. So in places where millimeter wave doesn't work or they haven't got it up and running, Verizon is using something called dynamic spectrum sharing or DSS. That lets Verizon run the 5G protocol with its capacity and latency improvements and even some speed efficiencies. On the same spectrum that it's running LTE. Sharing spectrum between two services, though, means one gets prioritized and another always suffers. And in this case, because still more users on LTE, LTE gets prioritized and 5G gets the scraps. Why are they doing that? Well, Verizon wants to show you a 5G symbol on your phone. So if you don't have a 5G phone, you're never going to notice this. You'll just get LTE. Everything's fine. But if you have a 5G phone, Verizon will force you to use the dynamic spectrum, the DSS 5G, when you could be using LTE otherwise. The 5G system isn't worse, but it's just starting out. And as I mentioned, its big advantages are in capacity and latency, not speed. Whereas LTE has been out for a long time and sometimes these most advanced 4G systems can deliver higher speeds than these beginner 5G systems. As 5G gets updated and rolls out more and gets advanced and developed, that will be true less often. And eventually 5G will always be faster. But on the smaller channels, remember Millimeter Wave has those big wide channels, you have smaller channels that are being shared. 5G is getting squeezed into the empty corners. And on average, you'll be about the same, sometimes slower than your LTE usage. Segan founded tests, it was almost always slower. In fact, he also found some latency disadvantages, which shouldn't happen. But on DSS, you got a lot of negotiations going on, so maybe that explains that. But you don't even get that advantage. Verizon could just deliver you LTE and call it 5G. AT&T did that with 5G, but Verizon is actually trying not to lie, so give them points for that. Until Millimeter Wave Services ubiquitous from Verizon, though, Segan recommends you just turn off 5G and force your phone on a Verizon network to connect to LTE. And for now, you'll get faster service. So a friend of mine had gotten an iPhone 5G capable and is on Verizon. This is a month ago now or so. And she sort of says, well, 5G is the worst. I can't believe how awful this is. And I was like, well, hold on a second. Like, where are you and what are you doing? And there's no way that that's really true. But this actually lays out exactly where her problems were, because she didn't realize, oh, you know, in the past, if you're on LTE, because I have Verizon as well.  You know, it'll drop down to 3G. If I'm really unlucky, it'll be 1X, but you know, I can, it sort of does the work for me. But it sounds like at this point, if you've got issues and you're on that 5G network, you should manually drop down to LTE. Yeah. Remember the old thing at conferences was like, turn off 3G and get back to the edge network. It's actually faster right now because nobody's using it. Oh, the edge network. Yeah, but you're basically describing the capacity problems that existed before this that 5G is supposed to address. And one of the problems that we just sort of have right now that we can't help is we don't have any big conferences to sort of go test this on. So my AT&T 5G coverage, I'd love to see how that did in a big Vegas conference or a BlizzCon type event or something. Because that's where that potentially will shine. The capacity will be better, not necessarily your download or upload speeds, although I'm doing pretty good. I'm like 112 up or 112 down and 10.11 point something up, which is pretty solid for what's happening in my network. You're on AT&T, though. AT&T, yeah. So that's the big difference there. I'm on T-Mobile. My 5G doesn't seem particularly faster, but it's good. Yeah. But wouldn't it be great to get some real-world testing of the capacity thing? Because to me, we're at speeds already that are already phenomenal for a mobile device where it's already pretty great. Not that it can't get better, but what can get better is actual ability to fill a space with 20,000 people and have them all be able to get their stuff. And internet of things and sensors and all of that. And the problem is this dynamic spectrum sharing is sharing the spectrum. Right? So it's got the capacity advantage, but it doesn't get the spectrum. The capacity, even if it can handle a bunch of connections, it may not be able to give them the speed because it's squeezing it through this extra spectrum. And 5G just isn't faster yet. It will get there, though. And LTE was the same way. Some of the first LTE was not appreciably faster than 3G, but it's got a higher ceiling to it than LTE. We've about squeezed all the speed out of LTE that we can. Well, let's see if we've squeezed all the brain power we can out of DeepMind and talk about this. DeepMind's MuZero algorithm has been able to learn how to play go. You know the game go. There's also chess, shoji and several Atari games without being fed the rules of how to play. I assume Atari because there's a simplicity to those. Anyway, previous algorithms used a look ahead search system, a model based system based on a model free system or a model free system. MuZero uses a combination of these. It makes a model but doesn't try to model everything. Its model is made of these three important elements. Number one, the value of how good its current position is. Number two, the policy of which action is best to take. And three, the reward of how good its last action was. Sounds like my average morning. It can learn from iterations on this model without having to gather new data from the environment. It just gets better with practice and this is similar to what humans do. So if this sounds familiar, maybe you do it. We don't obviously model the entire environment when we see dark clouds on the horizon, but we still know it's likely to rain by seeing that. MuZero or MuZero is just as good at chess go and shoji as AlphaZero is and better at Atari games than all previous algorithms. So I jump up there. Next, DeepMind wants to explore how MuZero will handle the multiplayer games like poker and bridge. Real-world uses include video compression, which looks like it might reduce bandwidth by 5%, which may not seem like a lot, but it actually is. It also could be helpful with digital assistance robotics and predicting protein folding. Freely available information about MuZero is used in the U2 surveillance plane ARTU and Mu algorithm that assisted a U.S. Air Force pilot in hunting missiles. Yeah, we talked about that last week. Yeah, big advancements in AI, Tom. Happy times if you want human robots. I'm ready. I mean, you mentioned Scott like some Atari games might not be that hard. Maybe that's good for this algorithm. But chess is. I love the idea that it's sort of like, okay, don't know what I'm doing, but I'm just going to observe long enough. I'm going to pick up little notes from people who are better than this than me at this than me, whether they're humans or otherwise. And then I'm going to get better over time. And that is so human-like, isn't it? Yeah, but even more so. And it's only playing against itself. It doesn't even get to see experts, right? It's just like, huh, that didn't work. Let me let me try it again, see if I can get better at it this time. And that would take us forever to do if we were just playing against ourselves, but it can do this millions of times a second. So it can practice a lot more. The other thing is, I mean, you guys made a crack about Atari being easier. Atari is harder for computers. Right. Because you can know exactly where to go in chess, right? It may be hard to master, but it's easy to play.  It's really hard if you started to try to write down like, okay, assume somebody knows nothing about video games. How would you explain? Like there's a lot of intuition in video games, which is why that's actually a harder problem to master. And why it's really interesting that Mu Zero is better at Atari than any of their previous algorithms, because the previous algorithms, they tried to teach. They tried to give them rules and said, okay, this is the environment. This is the model you're going to go from. And with Mu Zero, they said, just figure it out and it was able to figure it out.  It doesn't seem like it, but it is. You basically have pieces that can only move a certain way. Every single piece on the board has a limited set of movements and you have a limited set of cause and effect when it comes to chess. And you can kind of plan way out better as a robot half the time than people can. But when it comes to, like you said, combat, every turret rotation, every position on the map, every wall that may or may not be within your line of sight, every ricochet point. All of that stuff, plus just the general intuition of movement and when to move and why to move and why is it smart to move now and dodging. Like when you really start to think about it, it is crazy how complex that stuff is. And there's a reason why even the best advanced AI in video games as presented to the player usually isn't the AI itself being great AI. It's usually the game being really good at fooling you, the player into thinking that AI is smart. It's just doing things visually and stuff to sort of play with your brain, but really it ain't that smart. So this is a huge step forward regardless.  I'm terrified how I do. I can't wait for the Queen's Gambit season two where it's just robot against robot. Who's the smarter algo? Without AI. Yeah, this is not generalized AI yet, which is the ultimate goal. Like an AI that you don't even have to tell it anything and can just observe the world around it because they still had to give it a model. And they still like made that model work for games. And this model that they made, even though it's a very open-ended three-part model like Scott described, may not work so great for poker. They might have to tweak it a little. So we'll see what happens when they start adding extra players. You know, this was only doing either single player or two-player games. But it's a big advance. It's a big advance nonetheless. Pretty cool. Well, going into holiday season or the tail end of it really at this point, we felt this story was appropriate today. KFC, yes, that KFC and PC hardware manufacturer Cooler Master have unveiled a prototype game console that has a drawer to keep food warm. For instance, fried chicken you might have bought from KFC. They didn't exactly release specs, but there is a custom coloring system that takes heat from the rig and then directs it into the food drawer. So it's kind of just dealing with itself in many ways. It will also supposedly have a top Intel CPU, ASUS hot swappable mini GPU and one terabyte MVM ESSD from Seagate all inside. Apparently it will be capable of 4K at 240 frames per second. We don't have a price and we don't have a release date, but I want it to be real and I don't even need it KFC. This is just fun. But we full well know this is a publicity stunt. But it's a pretty good publicity stunt. Listen, if it's real, then it's sure. I mean, it's a stunt in timing, but if it's real, make the thing. I would love one just to have one and say I own one, but I don't think there we were talking before speculating on whether they could even approve something like this. Have a UL listing for something that had greasy fried chicken warming in it and probably not. But well, you would have to get FDA approval too, right? Right. And don't forget this is a year. Well, last year they made they had a video game, a dating simulator called something. I forgot the exact name is a KFC themed dating sim on steam. And it was a good actually good version of one of those kinds of games in that genre. And then this year we not only get this weird console thing, but this is the same year they put out a Hallmark Channel Christmas movie dedicated to the Colonel and a spicy romance. Or whatever they put on their tag line. Yeah, like they are so weirdly somebody. Okay, I don't know who it is, but I'd love to know who's in charge of all of this stuff because it's great. I love it. Mario Lopez is Colonel Sanders. Right. Yes, he is. And he's all salt and peppery and got the beard and the tie and everything. The Bolo is great. Terrible, but great. I don't even want to eat this chicken. I don't want. I don't like their chicken. No offense to KFC. I'm interested in your chicken, but I am interested in your PR. This is just a food warmer.  It's going to be spilling everywhere. It's like, you put anything in there. I don't know. Keep your tea warm or something. You want to put a liquid in a piece of I performance electronics. I don't know.  Yeah, absolutely. And it's not lost on me that it's Christmas time. And Christmas in Japan means KFC.  If you're laughing at me right now, you don't live in Japan or you don't know about this. It's huge there. And so this kind of ties in with that too, right? Gaming culture, Japan, Christmas time, KFC. It's all tied together. Used to be, you could count on Burger King was the company you counted on for this stuff because they would do like weird times with the king and they had that stealth game where you'd walk around as the Burger King and try to, you know, surprise people. Or whatever. I think it was called Sneak, I think it was called Sneak King and you can only buy it in a drive up at a Burger King. What do you surprise them with? No, you were just. And you were freaky and you and the goal was to not get caught until you had to freak somebody out. So they really leaned into how creepy that King face was. And now it's KFC's turn and bad. Maybe it's the same people who knows who's doing this. Well, this is a silly if enjoyable story, but let's get serious and check out the mail bag. Shall we? Scott Scott Johnson, different Scott wanted to clarify something about battery technology because we're talking about this whole Apple car rumor that has resurfaced and what it's all what it all means. Scott says lithium iron phosphate batteries are actually lithium ion batteries. They're just a specific type of a lithium ion battery compared to lithium cobalt dioxide or lithium magnesium oxide, which are lithium ion battery chemistries. People are most accustomed to seeing other advantages to lithium iron phosphate batteries over lithium ion batteries, which again are, you know, that's more of a blanket term. Besides safety are that they support a much higher discharge rate and last significantly more charge and discharge cycles. They don't have as high of an energy density, but the longevity and safety advantages are significant enough when it comes to something like cars to make the compromise. It's a matter of accepting either lower driving range or finding a way to fit more batteries into the vehicle. Scott says I actually own and use a few of these batteries myself. Their differences and advantages are the reason that I chose them.  There was something tickling me in the back of my brain about this where I'm like, but aren't pretty much all battery tech lithium ion. So thank you, Scott for explaining that this this is in fact a lithium ion. It's just a different kind of lithium ion. I appreciate that. And thank you for sharing your expertise. On this. It also makes sense why they were at why this sources were emphasizing the structural changes that would make the battery smaller if you've got to have a little different energy density going on. That was fascinating as well. Indeed. Hey, if you got feedback that helps us make our show, the best it can be. We love it. Scott, thanks so much. And everybody who sends us feedback all the time. Keep it coming. Feedback at daily tech news show dot com. We'd like to shout out patrons at our master and grandmaster levels, including today, Craig Meyer, Phillip less and Dan Colbeck. Also, thanks to the one, the only Scott Johnson going into a nice holiday season with your family. I hope what else is going on? So much stuff, but I would direct people to the sillier part of my life, which is a little comic strip I create each week called Fred and can. You'd find it at Fred and can dot com. I've talked about it on the show before, and it's going to be the last couple of episodes and maybe the next one will be all holiday related and had a really good time making it. So if you want to check it out and check it out on the weekly sign up for it over at Fred and can dot com. Oh, folks, this is the last daily tech news show. We're recording of the year. You've got more coming in your feed, but we already did those. So for us, this is it for 2020. But tell you what, man, back in March, I was not so sure how we were going to make it through this year and y'all rallied. So thank you for supporting the show.  If you just listen to the show and you get the feed with ads, that's definitely helping us as well. And those of you who spread the word and bring in new listeners, I could not be more shocked with how well this year has gone for the show. And that's all because of you. So really, really appreciate every single one of you out there. Thank you again for listening to us this year. And special shout outs to everybody at patreon.com. We are live Monday through Friday at 4 30 p.m. Eastern 21 30 UTC. You can find out more at daily tech news show dot com slash live. As Tom mentioned, we're going into some pre recorded stuff, but we're back tomorrow with our retro show. It's a lot of fun. I've already been there. It kicks off our special holiday pre recorded programming. We are also streaming them at the regular time on Twitch live all through next week. So you can join as usual. This show is part of the frog pants network. Get more at frog pants dot com. I hope you have enjoyed this program. Oh,


Favorite introduction so far. Short and to the point. Saves me time. I guess I have time for a little story now. So I went for a walk yesterday in this town. I find this town in some ways very different from my hometown in Austin, Texas as you can imagine, but there are some ways that are very similar. For example, we saw this this big bridge and it was across one of the busiest streets that I have ever seen, right? And the guy I was walking with said we should go walk over. So we got up to the top of the bridge and there was nobody on the bridge. Then we looked down and there were all these people crossing the street in the middle of the traffic. I said I know that bridge in Austin, Texas, right? And then I also noticed that that there were trees all around. You know you have this big city with these beautiful trees and in Austin we value the same thing. So I feel quite at home here. We also have lakes in Austin. This particular lake is called Lake Travis. It is 64 miles long, but now we're in drought. So we paddled all the stuff that had water in it, which is about 42 miles. We were in these kayaks where you'd sit down and they were foot-powered and during this talk I was planning or during this paddle I was planning to talk about fear. And you can imagine if you're going to be paddling 42 miles and some of this is going to be at night. Well you have cobras here, right? We have rattlesnakes and rattlesnakes like the night and in the middle of the night we have to come come off and you know see some of these cliffs. Well we have to find a place to camp kind of climb up the cliffs with our tents and everything where the rattlesnakes are and the scorpions are. So I was thinking a little bit about fear during this during this paddle and I was planning to talk in my head. And I was thinking that fear is remarkable in ways not only does it affect us personally, but it also places a mark on places. This is the Great Wall of China. It's obviously motivated by fear and if you think about it you can actually see fear from space. That Great Wall of China. You can see fear from space and if you think about a little bit more fear and discovery have always been closely intertwined. Mostly because you have to overcome fear to discover and if you think about fear and language creation they've also been closely intertwined. So I thought maybe I'll do a talk about language creation and in fact this past year we had the first Elixir Conference and that's a language that I'm involved in mainly from the marketing side. Jose Bellum is a very close friend and he gave his keynote address and it's the first time he'd ever given this talk and it's one of the most powerful keynotes that I'd seen and one of the most deeply personal talks that I've ever seen. He actually showed most of the talk was was showing commit logs. On this day I committed this I made this many commits right on this day I made this many commits and he showed a graph of the commit logs over time and he pointed to the times that he was feeling good and he pointed to the times that he was afraid. When he was afraid his productivity went down to zero and I thought to myself I can't write that talk because I've never created a language. I can't go into that much self-discovery I don't have enough to say so I thought we're gonna take this and if you think about it there are all kinds of books that are already about already out there about fear and creation. If you're an author you know of fear is writer's block if you're an artist you know that that when you're afraid you can't create. So I thought that's already been done I can't really do a talk about fear and language creation. What I can tell you is about fear and language adoption so over the course of my career I've spent time in the development lab time as a consultant but also time in sales and marketing and in fact my current company does market research where I can make it better.com and so I spend a lot of time around customers and people talking about adoption and in fact this has been true for quite a while there was actually a guy named Jeffrey Moore back in 1991 who wrote a book called Crossing the Chasm. How many of you have ever seen this book or heard of it? A lot of you right it's a it's a famous concept and it's actually maybe the gold standard for technical marketing. This is something that we all have to understand and know if we're to get the best of ourselves as programmers because we're often caught between the place of politics and psychology right so politics meaning I don't want to adopt this new technology because maybe because I'm afraid for some kind of reason and psychology because I can see that there's a better solution right over there somewhere and this is basically the overall concept across the x-axis there is time and across the y-axis is basically the number of new adopters so when you release a new technology of the new users come trickling out and then over a while you pick up over time you start to pick up steam and then as the technology it nears the end of life you pick up very few new users and it's in the overall shape of a bell curve and more label these different sections yet the innovators early adopters early majority late majority and the laggards and there's a space between the innovators and early adopters that's called the chasm so in programming languages we see this technology adoption curve over and over and over we might not recognize it as such and it definitely isn't as regular as you see right here this looks like a sign wave but what you actually see is basically some languages with a much larger adoption curve some languages which which are much steeper at the take off in some languages that are much more shallow and some of these things overlap like Java and C sharp came out roughly the same time they had very similar looking adoption curves so if I'm at the beach and I'm looking at this and I'm surfing I might be frustrated with the frequency of the waves and if you think about it there are all kinds of factors that impact technology adoption of new languages the one that everybody thinks about first is the syntax and in fact it may be one of the things that has the most powerful impact initially for example when Java was adopted it was immediately successful because it was based on what other syntax see C plus plus right and C plus plus was adopted because it was based on what other language in fact we've had 20 30 years of a C style language because that syntax has been hard to displace but in fact there are other factors that have a significant impact on adoption like the typing structure like the available libraries and what the libraries do like the business problems that happen at the time but if you think about it against the backdrop of technology adoption there's a much more powerful adoption curve and it turns out that this one is much more regular than other adoption curves this is the programming paradigm adoption curve and it's much longer much deeper much more powerful and much regular you can almost set your clock by it every 20 years or so the old paradigm breaks down there's some kind of catalyst and the new paradigm takes off and there's a little bit of overlap but not as much as you would expect to see and because we're actually moving between one memory model and a new memory model and I'm talking this this kind of one mental model and a new mental model and I'm really talking about the way that we conceive of code the way that we understand code this is a much more difficult nut to crack so we're talking about the chasm between the early adopters and the early majority and what it takes to move a language from one side to the other side and if you're thinking about this kind of adoption this is the adoption curve that this conference should be thinking about because we're actually doing two adoptions at once right this is a functional language conference and adoptions adoptions curves for the language are important and the adoption curve for the programming paradigm is important and they're happening at the same time and it's a very difficult nut to crack and if I'm at some conferences some people would ask me why would I even care why would I even want to cross the chasm I'm able to get a competitive advantage with my functional language why do I even care if if the rest of the universe comes across with me I'm happy right well with crossing the chasm you get the political the economic advantages you get more people tools frameworks conferences like this one become more powerful and since those things are springing up then all the things that we like is developers come with them especially the beer so at this point I'd like to move from more to take so most of what we've talked about so far is about crossing the chasm but I want to talk about the role of fear and crossing the chasm so these are ideas that I've had over time that had that over the last three or four years that it began that had begun to crystallize in my mind so I want to talk about two different kinds of fear the first type of fear is a paralyzing fear right now when I say paralyzing fear these are probably the things that you think they are all the things that make it difficult to adopt any any piece of new technology especially things like programming languages and programming paradigms which are inherently difficult to adopt so the paralyzing fear becomes wider as it makes the chasm wider as it becomes greater and these are the types of questions that you think they are is this language going to be abandoned because that happens with a lot of new languages am I going to be able to find developers for the language what's it going to cost me and the biggest factor in crossing this chasm is often the way that we approach crossing the chasm the manager is thinking not just what does it take to move these three or four programmers working on this project across the chasm but what does it take to retool my whole organization so when you start thinking about things in those terms the chasm comes goes from something that you can step across to something that is much much greater especially with programming languages that shift programming paradigms and this is the new language graveyard this is where languages go to die so we also learn that this is where that that this also leads to longevity of some pretty interesting players on the on the right side of the castle right how many of you know any cobalt programmers well in the United States every room and every hand in the room would would almost be up right there's still quite a bit of cobalt there how many of you know C++ developers and of course we're already we're already in the Java world even though these castings have long had been cast have been crossed 20 years ago right so there's still some paralyzing fear that that's keeping some people on the other side of the chasm so but when we go to when we change programming paradigms the cycles are longer the chasms are deeper and that leads us and so the paralyzing fear has a bigger and bigger impact but what I'd like to talk about now is how we ever cross the chasm to begin with and that has to do with another kind of fear this is a motivating fear who can think of an example of a fear that motivated some language to cross the chasm it's still a little bit early I'll let you off this time next time I'm going to be very patient okay but basically a motivating fear makes the chasm smaller and in fact the motivating fear can get so small that the chasm disappears entirely and we see the masses rush across the chasm here's an example what's that yeah C sharp so what was the motivating fear that that got us yeah yeah so basically I have I'm gonna get left behind if I don't cross the chasm that's an excellent example right so let's talk about the chasm from Java to C plus plus right so most of us when we think about crossing the chasm we think about technical issues we think about that syntax the memory management garbage collection but it's rarely technical features that get you across the chasm there's always some type of business motivation that moves you from one side of the chasm to the other and in this case when we talk about paralyzing fear when we were moving from C plus plus to something else and what were the candidates to replace C plus plus if you were looking at an object or any language that wasn't Java what were you looking at probably small talk probably right if you were looking at a business language what would you be looking at let's say Microsoft language yeah visual basic or small talk either one of those could work right but there was also a problem of bringing the hardware along with you right if you had committed to to Unix or you had committed to Microsoft and you made a commitment to something else you might it might mean leaving all of your infrastructure behind and that was just too much to stomach but the motivating fear was a business fear called deployment that seems like a small issue today doesn't it how many of you remember the packet of discats that you got with with Windows 95 ten of them right how many of you remember installing that more than once how many of you had to install that in a business I had to do that right so do you guys recognize the thing in the United States we had these metal roller skates you kind of slap on your sneakers so basically we said that the deployment for Microsoft Windows was discats and roller skates right but it wasn't one system that you had to install those ten things onto right because you had nine registers in a store and then maybe you had five different stores so this problem became pretty massive right and then was Microsoft Windows stable no and what happened when you you got a new release I had to reinstall everything right so this is the backdrop of the of the IT this was the state of IT when it when it became time to to move to Java now there were starting to be some deployment platforms that could use the that could use the net but they weren't prevalent or reliable on the Windows side or in the business world on the OS2 side with IBM so we even had to multiply this by the number of services that you layered on top right it wasn't just Windows that you had to redeploy it was your own application code that often had to be recompiled and deployed again it was the database manager it was the land manager and the communications manager if you had a three-tier solution so you had fixed packs in a pack of diskettes for all those things where you might be installing 40 different diskettes and then that took care of the Microsoft stuff but what about all the stuff that came with it so you had multiple vendors and not all of them use the use the tried and true IBM or Microsoft development processes there were all kinds of fragile techniques like even screen scraping where you would literally load some emulator software and you would look for position 14 through 18 on line 7 and that was your value and then you plug that in somewhere else right so this this these fragile techniques led to a lot of updates and I was using a memory model that wasn't even protected from one system to the next so things were inherently unstable and you throw into all this unholy mix the idea that that business users were starting to panic because it couldn't handle all this and so they were behind and then they started writing macros and spreadsheets and these these visual basic applications with business users and then when those got out of control they went to IT and they said help us in IT got squashed under the weight of the deployment problem and then comes Java and they say hey I don't have to deploy to the client I can deploy to the internet right I have this thing magic thing called an applet well no no no a servlet and I can deploy one time to the browser and once I've deployed to the browser that cuts my deployment problem by an order of magnitude and suddenly I can manage deploying to the servers right so when people talk about the catalyst for Java there were some things that made it interesting but the business problem that was being dissolved solved was deployment and once the deployment problem was solved then everybody and it wasn't a chasm it was a stampede to the other side so here we are Java has crossed the chasm how many of you are coding job happily coding job a few hands still up you're brave you know most people looking around saying yeah my brother enjoys coding Java sometimes it's okay you can like it we've got Java parked on the other side of the chasm and this is a functional conference so I'm going to assume that a lot of you would like to be on the other side of the problem with the language of your dreams what do we do is this ever going to happen and then so no some of us have nightmares that maybe we have another 30 years 30 more years of C++ like syntax and it could happen I mean two of the things that could come across are Scala and JavaScript but but still there are some pretty promising technologies out there what do we have to do to cross the chasm well if you think about this talk it's a talk called fear and what are my two kinds of fear motivating fear and what's the other one yes so what are the paralyzing fears today I told you I was going to be patient and I'm going to be patient what are the paralyzing fears that are keeping us on this side of the chasm support yeah I've got a new language how am I going to support it right what else what's that talent yeah how do I find new talent what else ecosystem yeah community right documentation you can go on and on and on right there are all these fears we can recite them by heart because these this is what our manager is telling us every single day right and maybe and maybe here it's not even your management maybe it's the management of people across the ocean right so the paralyzing fears are the things that they always were right their adoption community cost how are we going to cross the chasm but I have a question for you what's the best way to eat an elephant one bite at a time and I'm here to tell you that we don't have to cross the chasm in one big shot this time right we don't have to cross the chasm in one big shot this time it's different this time around the motivating fears are so strong and we'll get to those in a second but the motivating fears are so strong that we just need to provide a little bit of incentive in a bunch of different different areas to turn this this chasm this hesitance to a motivating fear in a stampede it's ready to happen we are already primed so the first concept that I want to talk about is building communities why would I list so somebody mentioned that community in the ecosystem was something that was preventing us from crossing the chasm why would I say that building communities is easier now why would I put that on the other side of the ledger anybody have any theories what's that social media internet right so vincat and I are authors right we've actually reviewed each other's books and worked on books would it surprise you to hear that writing books is not as lucrative as it used to be this surprises no one right and the reason is that there's so much information that's out there already right so if I'm going to write a book I have to write a different kind of book today than I used to I am actually going to admit something at a functional conference my primary language is Ruby on rails that surprise you I've even heard some some chuckling over here and and that's that's well deserved I think but there are some things about Ruby on rails that they're pretty cool and one of the things that made it so popular so fast is the community that grew up around it so who created the language Matt's and where does he live who created Ruby on rails DHH where's he live where did he start didn't mark right who discovered Ruby in the United States where's he originally from London or England and where's he live now Dallas Texas with me right and then in the Committer team who can name the continents that rails or Ruby core committers are from Asia well United States basically everywhere but Antarctica and Australia right all of them so this is a global development effort always has been building community has never been easier anybody want to challenge that assertion so what's happening is we're starting to see languages explode at a rate that they never had before right it's you've never had more access to the people at the top of the food chain people that are willing to help you and they're willing to establish a new language because they're after the community too they're smart right when you help motivated and gifted talent then you get more contributors to the ecosystem language creators understand this the good ones make it easy the second thing that I want to talk about is the idea that when you cross the chasm if you're looking at it from a distance it looks that everything looks like everything happens at once but that's not the way things happen things happen a little bit at a time when we went from object-oriented technology or from procedural technology in languages like C and in Pascal and visual basic things like that to object-oriented technology it didn't happen all at once there were some bridging languages that happened first first there was a object a pure object-oriented language that you could play with that never got it never got adopted what was that language called small talk right and there were a couple other ones but also there were some languages with some with some object-oriented features but they weren't fully object-oriented there was one that was adopted by the United States military does anybody remember what that is at our right there was also a language that was created after C to teach us object-oriented or to provide object-oriented programming on top of C C plus plus right how many of you were C programmers that became C plus plus programmers are there any a lot of you that's surprising how many of you immediately wrote good object-oriented code so what you had was not really C plus plus it was C plus plus minus minus right this was a bridging technology this is what's happening today if you look at the agenda yesterday how many courses did you see on using object-oriented languages in a functional way then catch C sharp course session there was one on Ruby there's one on Java there was at least four or five right and for object-oriented developers using object-oriented technology in a more functional way right we're starting to learn what it means to be functional we're starting to move those for loops those explicit iterators into into routines that handle that work for us we're starting to move from from imperative to declarative right and that will continue to happen and we're starting to see ideas like closers being heck closers are even in Java now right so last time we crossed the chasm deployment was a big deal because deployment had all kinds of hardware connotations today deployment is almost a solved problem how many of you have worked with Hiroku or AWS and they are there are all kinds of options for the Java virtual machine right deployment today is a solved problem so the next thing I'd like to talk about is the idea that even when you're working with one particular project when you're not working corporate-wide when you're working with one particular project you don't have to eat the elephant all at once what are some ways that you can start to use a functional language within one application let's say it's a web app what are some ways that I can start to inject some functional languages set services right basically so when people talk about Twitter that's often held up as a as a failure scenario for the Ruby programming language I think it's a tremendous success story for the Ruby language and in fact I've built my company on Ruby on Rails specifically because I can iterate more quickly than my competition but we're getting to a point where we know that we're acquiring the types of customers that are going to need us to scale beyond Ruby on Rails so what we're doing is we're starting to build services JSON services pure web services that we can that we can access that do the most complex applications or the most complex pieces of my application this is a relatively easy thing for me to do I can do this and bits and pieces because I have the same database driver and the same drivers to my queuing systems and in my web web systems and JSON is relatively easy how many of you write test cases in a different language than then your primary development language so that's what about 5% of the room this is a great way to inject something like a functional language right so there are all kinds of sessions at conferences like these about using more dynamic languages than Java for example groovy groovy in a testing scenario you can also use functional languages to accomplish very much the same thing it's a great way to inject things like Scala because the extra abstractions give you more options than just simple stopping and mocking right so basically my point is that interfaces are cleaner than they've ever been before so two applications can talk even two different elements of the same application can talk and if you're running functional languages and the object oriented language on the same virtual machine then you can even have different pieces of the same application layer implemented in object oriented and functional languages right so next I want to talk a little bit about motivating fears what do you guys think the motivating fears are for moving from object oriented languages to functional languages concurrency is a huge one right concurrency will define this generation of developers do we solve it well or do we not solve it well that's the problem that we have to solve what are some of the other problems what's up can I say it is complexity what's that time to market yes yes time to market is is a great way is a great problem so the ones that I have if you look at every single paradigm shift in our history I believe that complexity is always the first problem that we have to solve I think that there's a reason that new programming paradigms emerge on such a regular schedule every 20 years or so I believe that the old systems can't can't scale up in terms of complexity this is happening with object oriented systems has actually been happening since 1990 since the 99 or 2000 and so right how many of you have been to a session on spring or aspect j or any anything like that and so so basically these technologies are solving a binding problem where Java frameworks were forcing you to bind more quickly than you wanted to they're also solving a structural problem of how to solve what what's called cross cutting concerns things like a person object or an employee object or a department object or easy to imagine with object oriented technologies things like logging that cut across all these concerns are less easy to imagine so there are places where the object oriented paradigm is starting to break down and in fact if you think about the problem that we are solving most often which is babysitting a big fat relational database with the with the web application neither one of those problems are particularly good as object oriented technologies in fact we've seen many many attempts at object oriented databases on the web and they are on object oriented databases and pretty much they've all failed commercially and if you look at if you look at traditional web applications what is an HTTP request but a function they can be synchronous or asynchronous but they're basically functions these are inherently functional problems and we should bring functional problems or functional technologies to bear I want to give you a couple of examples from from the elixir community which I've been involved in and from from my latest book which is seven more languages in seven weeks to kind of show you a little bit of how we're starting to control complexity so the elixir language is interesting to me because it's really the first time that we've seen the application of macros with a rich and natural syntax everybody by that so in closure you have the concept that data is is code and in elixir we have something similar but it's really the AST the syntax tree the abstract syntax tree is code so you can use macros like this use statement in the upper right that and these state statements which which expand to a bunch of different functions and and data operations right so in this case when I type use state machine and I I implement these states I get a very beautiful usage model right where I could say bid store dot rent my video or bid store dot return my video or take a video and then return and then rent it and then lose it right and this is all because I have this this beautiful macro based API that's really serving as a bit bigger building block and then I have some elixir code behind the scenes that actually takes that code and builds out the syntax tree to do what I want to okay so the second motivating fear that I want to talk about is multi-core now how many of you were coding when when y2k happened so a good chunk of you how many of you thought that y2k y2k happened the way that you expected it to so I believe that multi-core and distribution is the real y2k there's a lot of broken Java C C sharp C++ code out there that right now is failing rarely basically because there aren't enough cores to to to make the problem show up but as we start seeing more sharing and more multi-core solutions and as we have to start deploying those job applications that are thread safe to these solutions then the applications are going to break or one of the frameworks that they're based on is going to break right this is the issue that's going to define the generation the programming generation of the people in this room it's not just it's not just learning to to program concurrency in a friendlier way it's about making applications that work that we know work from the top down because the language won't allow them to break so here's another elixir application the interesting thing about the Erlang model that elixir is based on is that it gets two things right the first one is process so elixir has lightweight processes so that Erlang developers and elixir developers reach for a new process the way that you reach for a new object you can actually have millions of processes on on a single on a single system in today's hardware and that will increase you know exponentially as as we throw more power at them there's a system called OTP which had some telephony acronym open telephone protocol or something like that anybody remember okay so but this framework has been generalized to support general distribution this is the elixir version of a chat room right and what's interesting is that this solution when deployed will be completely monitorable where the monitors have a completely different communication channel than the application code and this is important because when things fail and remember in Erlang the motto is let it crash but when things fail we can let them crash and then the monitor can take action on it and what that means to you is that all of the boilerplate code to manage exceptions goes away right that's all handled at the top level of the application where I don't necessarily need to care so you don't see error checking here but this can be a surprisingly reliable and robust application but the problem with Erlang for writing things like this is that since there's no macros there's not a reuse model for it so that if I wanted to use to do this kind of thing without macros this is what the code would look like in elixir and if I wanted to expand that to the Erlang equivalent it's really too big for me to show everybody's got in the Erlang community has an OTP kit code on their editor which generates some 130 or 130 or 140 lines of boilerplate code so what I'm saying is that macros with the distribution model give us the capability to control that complexity by having actual code that writes the code so they don't have to work with a code generation type solution by the way what's the problem with a code generation solution with an emacs key that does the work what what principle does it violate dry it's the absolute nightmare for dry right don't repeat yourself well I didn't I just pressed one key right I just repeated myself a one little time with 140 lines of code right so the DSL is from Dave Thomas the example is from Peter Menten and there's a great article on it called thinking in elixir and hiding your messages and that basically expands things in more detail if you're interested you should check it out so the last example that I want to bring to your attention is Elm how many of you got to see the elm session yesterday how many were impressed it's radical isn't it so in seven languages in seven weeks I wrote the first game that I've written in maybe 20 years when I was in high school I used to write basic games for my spending money you know my neighbors were working at McDonald's and I was writing games and kind of enjoying myself but I quit writing games because it used to be that systems were so slow that I could write a game by by pre presenting something on the screen and then it was so slow that it was time to present something on the screen again right there's no timing or anything like that and then so that was with the IBM XT and when the IBM AT came out it was too fast I couldn't play any of my games and I got frustrated and I quit because I didn't want to work out all the interrupts and the timing and all that stuff with Elm the abstraction Elm abstracts all of that away it makes things like timers like mouse positions all of these things can be interpreted as signals which is really a function that's mapped onto user input right so that mouse X for example is the mouse position the X part of the mouse position with at a point in time right or you could have window dimensions which basically even as the window is is resized you get the absolute window dimensions so that for example if I'm writing a game and I need to move a paddle around what I write is essentially repeatable functions that are easy to test like this somebody who has not seen Elm before tell me what that draw a paddle function does it takes a filled black rectangle and does what moves it to some x-coordinate and then moves it to some y-coordinate right and so this takes a shape which is pipe to another shape which is pipe to another shape so we're basically transforming the same shape over and over right and it returns a transformation of a paddle right and the display function takes a collage and just presents one element and that's that's a paddle right and it uses drop paddle to present that paddle and here's the magic at the bottom so you have this lift to function which means take two signals which recall act like functions right one of those functions is the windows dimensions one of those functions is the mouse X position and I'm going to lift those values at a point in time onto display so now whenever the window dimensions or the mouse X position changes it's going to trigger this function and it's going to draw my paddle at a new location that's wicked cool right so somebody asks how many of you were at the fishbowl yesterday so do you guys recall the question where somebody asked a great question about about inherently stateful problems right like user interface design it's inherently stateful right because what I'm doing is can consistently updating mouse positions right or consistently updating window positions but if you reimagine it a little bit and you say hey really a mouse position is a function and the window position is a function and all you have to do is update when things change right then all the update can be shoved to one tiny sliver of your application and everything else is pure functional and everything else can be tested as if it were pure functional which means I don't have to worry about mutable state or anything like that it's easy to test things in application databases work exactly the same way if you think about if you imagine databases in the right way rather than updating a row in the database you're always writing a new version to the database your value in a point in time and if you want to return the latest value that's fine but you can return the value that's based on the needs of the application whether you want to want to create a consistent view at a single point in time or whether you want to want to present the user the absolute latest latest version so this is why people say that that you can dramatically control complexity with with functional languages so this is what it's going to take to move the elephant from the right side of the chasm to make some room for the languages that we all want to be writing it okay now in the past I've gotten a lot of questions on this talk and I encourage you to ask them now surely you're curious yes and you're asking the guy with with the early iPhone 5 and I had a phone 3 before I had an iPhone 5 that hasn't that never updates my OS software to the next major release I'm just it works I've updated before and it's Burmy so so I just don't so there are there are many reasons to honor fear I don't mean to say that there aren't reasons but sometimes you have to honor the motivating fear as well right so I think that we're kind of in a in a special time right now you can you can see me I've been writing about functional languages since 2010 knowing that I was going to eventually need to move in that direction but I've been staying pat until I found a language that was that I was really excited about and that had the DSL capabilities that I had with Ruby that I could read like a natural language but but where I could leave that processing model behind and I didn't move until I have one so but I think that we're all going to be writing in a functional language three or four years from now maybe even many people in this room will be writing in functional languages before then it's just the the the problems are too compelling there's there is there really is a y2k problem out there right now where I'm not going to be able to be competitive because because my competitors will be able to take advantage of multi-core and I can't because they'll be working at a higher level of abstraction and I can't and and things are really going to start to break I truly believe that more questions yes could become mainstream is functional programming paradigm but if you look at last decades or few decades back there were other promising approaches for example like aspect orientation so in future what paradigm do you think has a potential to you know replace object orientation other than the functional orientation okay so the question is what programming paradigms have the potential to replace object-oriented code other than functional programming so I believe that's that's an excellent question by the way I believe that programming paradigms don't happen overnight I believe that a lot of groundwork has to happen first before a paradigm emerges and if something something else had had had emerged then we would have seen it by now I think that there are really two primary contenders and one is a hybrid approach something that you might see in Scala or OCaml those are very different two very different versions of the same thing right Scala is more of an iterative bridging technology much like C plus was in OCaml is more of an immutable way to do object orientation and pure functional and of those two I think that pure functional is going to let us make some mistakes that object oriented or object orientation let us make actually there's a third alternative and I hesitate to mention it because I'm so afraid of it and that's JavaScript there's there's a big push to JavaScript right now I don't think it solves all the problems that it needs to solve the did I answer your question in the back corner here I can't I can hear did we have a question over here yeah okay I still write a bunch of secret okay so have we ever we have adopted new languages or new paradigms but have we ever really left something behind or really moved on right even if you see today there's a lot of C code being written a lot of Java code being written a lot of JavaScript code being written I think we are adopting new technologies but those are more for a domain fit right as a paradigm shift itself in the thought we are solving problems right if you're gonna solve something for kernel today I don't see any other better language than C today yeah so I think that there's a question or actually comment built into a question that that will never fully leave object orientation yeah yeah I completely agree with that in fact I think that that there was a question and statement here that sometimes it's important to honor the fear right to honor the paralyzing fear basically I didn't say that the paralyzing fears were irrational they're actually very important but I do believe that there are some things that will move our business critical applications forward based on competitive pressures where hardware is going I mean our world economy is based on increasing hardware and increasing performance and that can't happen basically the hardware guys when they started when they stopped doing this with chips and they started doing this when they started building up they basically said not my problem anymore software guys it's your problem now we're up right so I'm talking about line of business the mission critical applications that will need to grow and need to scale so great question thank you next question yep you talked about yeah you talked about you know crossing the chasm being never easier but one of the things is if you look about the earlier chasms that were crossed was there used to be one big problem and one major language that sold it now we have lots of potentially lots of problems being solved at the same time and lots of potential languages lots of languages wanting to solve those together so even in your last slide you had a whole number of languages each of them solved a different set of problems to a different extent and does that do you think that is making crossing the chasm easier and potentially confusing more people in terms of hey there are so many new languages attempting to solve these like this particular chasm a little bit differently I am not sure you know which wagon to hitch my you know right with and making that a difficult and slowing down crossing the chasm okay so I think that there's a question in a statement let me see if I can summarize this so basically the question or the statement is maybe we won't cross the chasm with a single language this time maybe we'll cross the chasm with multiple languages and let me make a deep personal confession that the best books that I write are written out of fear when I'm afraid my I step back and I examine what's going on and when I have an insight that I think is important I try to push that out in the form of a book I never expected seven languages to be a popular book I wrote it because I think I needed to do it my I needed to do it for myself and apparently enough of you were having the same fears and concerns that you were that you were you know basically made the book successful and thank you but basically I wrote the book because I didn't know what the winner was going to be right and that's usually not like like that like me vincat has seen me start to talk about hibernate long before hibernate was popular in spring and in ruby on rails I can generally see the winners as they emerge it's a blessing and a little bit of a curse too right I can't see what the winner is going to be or even if there will be one true winner my suspicion is that there will not be and the reason is that is the same reason that we mentioned earlier it is much easier to build community and thus much easier to build critical mass for two reasons first because we're talking about much people being much more accessible resources being much more accessible than they ever were before right and that's true for two reasons first because a lot of the languages that they were most interested in are open and not proprietary small talk remember was proprietary the digital license was very expensive right and the second reason is that we're not talking about a united states market anymore this is a world market right and that means that languages new languages are emerging in which the united states plays very little role or no role at all in fact one of those languages is elixir right now right where the lead developer is jose and jose is from holand originally from brazil and the second committer is eric meadows johnson who lives in sweden actually met him for the first time in stockholm you know we communicate a lot and and i met him for the first time this just just very very briefly right but the world market means it's much more easy to accumulate a smaller a critical mass in that basically because people are more accessible and the communities can be much smaller and there's a larger people of larger group of people to drop from so my intuition is that you can have a successful language because more people are are available to help out and build the market sorry i think the essential question sorry the essential question was is the multiplicity of languages and different problems being solved will that slow down crossing the chasm will slow down crossing the chasm i don't think so i think that right now the the motivating fear is just get is is just going to be too hot so already the you can start to see when the the early adopters move and and you start to pay attention when important people leave the room right and and we have some personal acquaintances one of them is guy named stew halloway he left the room a little while ago moved to the closure community moved from the job community to the closure community um jose valham is is a guy that um that wrote the authentication framework and the um and the integration to the web server for the ruby on rails community so he's left the room so we're starting to see the cool cats leave the room from from the obstetrician technologies and that's making people pay attention and so people are afraid and that fear is starting to drive um drive people across the chasm and when when the leaders go um you know there's there's also there's a bigger um pulling effect than there was before especially vocal leaders from the obstetrician community so excellent question and thank you more questions i think we'll have to get it shot uh we've passed the time so thanks again for all the wonderful questions keep them coming through the day bruce is going to be around uh thanks again bruce for the wonderful keynote big round of applause for bruce thank you so much


PDP charges the Nigerian Senate to reject Onochi's nomination as INEC National Commissioner. And Minister for Information and Culture Lai Mohammed insists on the need for Nigeria to regulate social media. This is Post-Politics and I am Mary-Anna Cohn. The People's Democratic Party PDP has described the nomination of Loretta Onochi as National Commissioner for INEC as a slap on the nation's democracy, calling on the Nigerian Senate to immediately reject the nomination. The party urged the Ahmed-Laman-led Senate Committee to get ready for a civil action in the event of failing to reject the nomination. The National Publicity Secretary of the party, Kalao Lopodion, tasked the Senate Committee Chairman on INEC, Kabiru Gaya, to stop further work on Onochi's nomination, saying the partisan disposition of the nominee makes her membership of INEC untenable. Well joining us to discuss this is Shagun Shopiton, he's a good governance advocate, and Monday Ubani, a legal practitioner. Thank you very much, gentlemen, for joining us. Thank you for having me. You can leave. All right. I'm going to start with you, Baris Ubani, because you have also petitioned the fact that Loretta Onochi is being nominated to be sworn in as the INEC Chairman. And a lot of eyebrows have been raised on this issue, but let me start by asking why you took it upon yourself to write to the Senate on this particular issue. Thank you very much once again for having me. I'm a Nigerian. I'm also a lawyer, a legal practitioner, and of course a lot of you know my dissident in this country that I always insist on the right things being done. We play the role in the emergence of this present government as a participant, and I voted both in 2015 and in 2019. So I owe that responsibility to the government that is empowered to actually say certain things that they should do right. And if they're not getting it right, they should be in a position to advise appropriately. When I saw that the president nominated Ms. Onochi, you know that lady, Onochi Loretta, I felt that the president has not actually received a political advice, legal advice from maybe the attorney general or those who are his aides concerning the nomination of the lady. Because this is a woman that is actually a special assistant, I order on social media. This is a woman that has never hidden her love for her political party. This woman has not hidden her love for the government that is in power, and this government is a participant in the electoral process that is coming up in 2023. So having somebody that is clearly biased and somebody that is not, I mean, partisan as a member of INEC, it's clearly dangerous and not in tandem with the provisions of the Constitution, neither with the Electoral Act. The Electoral Act is said that you cannot be nominated to be a non-prior when you have any political affiliation. I have a case with somebody who has promised to send to me where she was asked which political party she belongs. As she said, she's a member of APCR and she's unapologetic about it. So why would you want to appoint such a person to be an NNA commissioner in an electoral process in which the APCR is a party? So it is wrong. It's not something that is not within contemplation of the law and I think that the president, as I said earlier, has not received a political advice in what he has done by nominating her. I'm coming to you, Shagun. Many have objected just like Barista Mondio Bani on the nomination of Mr. Noche as the new INEC boss. Apart from Barista Bani, the NBA has also kicked against it. The PDP now is speaking up against it and there are several other people whose voices may not be as loud as the people that I've mentioned. They say she's unfit. That's what they keep saying, unfit for the role. So let's take a quick look. I might not be able to list all the INEC bosses that we've had over the years, but let's just go as far back as the likes of Mauricio Wu, Professor Jega, and now Professor Makmudia, Kubu, et cetera. When we talk about someone being unfit, what qualities are we looking for in an INEC boss that is not one of the qualities that Ms. Loreta Noche does have right now? Okay. So basically, what we have to remember is that we're running a democracy, at least we are claiming to run a democracy, so let's call it Sivoro where we have elections, right? And elections are a fundamental part of the entire democratic process. It's one of the most important because that is how power is transferred from one government to the other. Now, what this means is that whoever is going to be conducting those elections must be, not only must they be nonpartisan, unbiased, but they must be seen to be. All right. Well, let's go back to Baris Albani. Like I said to Shagun, what are those qualities that she's supposed to, apart from the fact that because you're picking on the fact that she's not a political, she belongs to a political party, but in terms of the person who we are looking at today, what are the qualities that we think other INEG bosses had that she does not have that could also not allow her to be fit for this position, just like others have said, that she's unfit for that position? Well, I may not be in a position to impede on her character. I don't have a personal relationship with her, but I have also, over time, seen some of the posts she has made on her social media handle. And most times the posts seem to be very, very bad and in bad shape and in bad light. For somebody occupying the position she is presently occupying, most times the language she used clearly on count, sometimes very, very controversial. There is no sometimes dissent in some of the ways she expressed herself. That, again, is something that I think is not too good for somebody that we call an INEG commissioner. I, certainly, I cannot impede on her character, just from what I read about her.  I don't find such some of the statements she makes, you know, very fanciful and dissent enough. So as, you know, to that extent, I would say that, look, that, again, is something that I find about her. But I don't know how personal relationships provide probably doubt or integrity or doubt or honesty in being on her personal character for that position. But it just, from that far off, when I look at some of the things she posts on her social media handle, and I don't fancy some of the things and the way she expresses herself. That's the only thing I can say concerning her. But where we are hinging our rejection and objection to her nomination is just the issue that she's partisan. She's clearly unfit by virtue of the fact that the position says whoever will occupy that position must be nonpartisan, must be unbiased and must not owe any allegiance to any political party. But this lady owes allegiance to a political party, especially the party that is in power. So what would you do? It doesn't matter. She can also, if he's a member of PDP, they are bringing because that person is also disqualified, you know, even of the position. So he's not qualified to be because the position is specific as to who qualifies to be an a commissioner. But I'm curious, I'm curious, by so many, because she has a likeness for the political party. Yes, I'm curious as to, because I mean, I want to understand, yes, you say you have some facts that point to the fact that she has said before publicly that she's a member of the APC. But until we see that video or that tape, we cannot really ascertain this. But let me just, you know, look at it from another dimension. Are you saying that every person who's appointed and under any government is somewhat loyal to the political party of the part of the government in leadership? I'm I'm wondering, because even though she is an aide to the president, does that really mean that she is a member of the APC? And then again, looking at the people who are or have been, you know, bosses of INEC, I'm thinking every human being is a political animal and we all have our alliances, whether we say them out or not. Can you really just put that on one person and say, well, it's because she works for Mr. President and she's a member of the APC. It makes her unfit to run for that office. What if she's not, but she's just loyal to her principle? To disprove that fact, I told you that I have a court case in which she actually affirmed the fact that she's a member of the APC. And I've also received information from those in our work from our state, who affirms the fact that she's a member of the APC.  She's a special advisor to the president. Look, the point is this. My brother, you know, I said it, my particular friend, who is speaking with me, look at it, look at her, displaying her loyalty to the president. President is a participant in this process. He's a member of the APC, he's a president of the country, no doubt, and he's a member of the APC. You can see the clutches where she has no apology to make concerning that. Now, our electoral process is fundamental. In our recruitment process, we must begin to insist on the the fairness of the process, part of which is the issue of recruitment into the body of INEG. Those who must man INEG, those who will be in charge of INEG, must not only be impartial, must not only be impartial, but must be seen, both in wars and action to be clearly impartial. We have been getting it wrong in this nation and that's why we are where we are. We have not been able to make any progress because we have been doing the wrong thing. If in previous government, maybe they appointed members of political party, you know, without any opposition into INEG, we should not allow this time around. Because it's a government that promise not change. It's a government that said they are taking us to another level. So why would they be doing things that we consider to be like impunity, you know, with some level of arrogance and then bloodlessness and we allow it. Oh, because the previous government allows it. What have we changed? You say you came to change. So you are now in carrying out some politics and some of the things that have been considered wrong and inimical to our progress as a nation. The electoral process is very key. If we don't get our electoral process, you know, right, then we have wrong people who are manning Nigeria and you know, where we have come as a nation with wrong people who are occupying positions. We have not made progress.  So she's not fit to be an umpire that electoral process that will take place in 2023. Okay, I don't know if Shagu is back. Shagu, can you hear me? Yeah, I can hear you. Can you hear me? Yes, I can hear you. Perfect. Um, just as Barista O'Barnie has said, let's look at, um, you know, a case where the, the, the, the presidency insists that she's, um, the INEC boss. Let's take your, let's cast our minds back to the Magal situation. Remember the embryo between the Senate and the federal government at that time. And it didn't stop Magal from being the acting boss of the EFCC for as long as he could stay there before Mr. President changed, you know, um, and replaced him with somebody else. So again, um, are we likely to see as a playback or a repeat of what happened to Magal, happened to Onochi, being that she's the president's first choice. And I don't see any other second choice, uh, in the radar of Mr. President, even with all of this, um, you know, arguments and criticism, even with, uh, the fact that people like Barista O'Barnie are kicking against it and quoting certain sections in the constitution, does this stop the president judging from his body language and how he does his things? Is there going to be any change in the radar? Um, well, so, so the thing is we all have become very familiar with, uh, the person and the personality of President Mohammed Gwari and, and, uh, the way he likes to do things and one of the things that we've come to understand is that he's very, very stubborn with all due respect to him. Um, he's very single-minded in his approach to issues and once he's taken a position, he's, it's very, very rare to see him shift or change position. Uh, I don't know if this is a personal thing for him or if it's because of the people that are advising him. Uh, but like you said, you know, if he could have kept Magu in office for five years without, uh, sending it, um, sending it to confirmation, you know, uh, maybe Mon, uh, Barry Taubani would advise us whether in this case, uh, that, that would be, that would be allowed. But, but I, I think it's very, very important that we say and I do hope that, um, the representatives of the government are listening to programs like this and it's important for, for, for them to understand that this is not just a matter of legality. The legality of the matter is clear. This woman is partisan. Whether or not she's a card carrying member of the APC, everybody knows how obnoxious this woman has been on social media where she's representing the president with regards to our opinions and the way she takes on Nigerians, the arrogance and the, and the share, share, she shared this respect that she, she demonstrates when she's talking to Nigerians on national issues, right. So it's, it's, it's, it's, it goes beyond the legality. We all know that this woman is partisan and the condition is very, very clear that the person must be nonpartisan. So whether or not the Senate, um, confirms appointment should not be the case. Mr. President came into office and into power on the tripod of three things, anti-corruption, economy and security. And one of the major reasons we must not forget this. One of the major reasons that General Mohammed Buhari in 2015 won this election was because of the posture that we have always attributed to him of being an upright man, an incorruptible judge, a man who will not stand for, uh, to, to see wrong things being done. A man who is, um, absolutely determined to stand up and fight, um, impunity or whatever you want to call it, a man that is disciplined. That was the premise upon which one of the fundamental premises upon which he won the 2015 elections. Of course, by 2019 a lot of people have become disillusioned. And I think, you know, this is a unique opportunity for the president to try and prove, um, his doubts as wrong. You know, so this is not a legal issue for me, Marianne. This is a moral issue. The president must understand that a woman that has been your rabid supporter cannot be an umpire in an election that your party will be participating in, not just in 2016. I don't mean to speak over you, but when you say it's a moral issue, when was the last time we tried to do anything morally, uh, in this country without, you know, push and shove or pressure or constitutional, um, you know, or court cases. So really if we, if we're, if we're putting the, putting this whole issue on a moral, uh, you know, way, I'm wondering if, you know, there will be anything to wear on a moral scale, I beg your pardon. I mean, is that even realistic?  You can't compel morality on anybody. So that's why the law courts are there to force people to do the things that they ought to do in the eyes of the law, right? So, but, um, before legality, morality must come and that is the basis of every good society, right? So for me, I'm just appealing to the president and his handlers that they need to understand that they're making a statement and they're for that damaging his reputation and the reputation of their party even in the upcoming elections. Now, of course, you are right, whether they will take that advice is a different thing and that's why people like Barista Oubani, you know, has written their petition. My organization is already putting a process in place to go to court. You know, we can compel these guys to do the right thing and I think it's also important that Nigerians understand this that, you know, we, we, we can just sit by and complain. We can just tweet and post on Facebook and sit on a WhatsApp chat and talk all day. We do have to take action. We do have the power to influence this thing. So for us in act network, we are definitely going ahead to do something about this. You know, I mean, if the president insists on going ahead with this, then I'm very, very sure, not just us, you know, a lot of other civil society organizations have also put their voice out there and I'm sure there's going to be a plethora of legal processes that are going to be filed against this action because, you know, we have to understand this is a fundamental threat to our democracy. This is a threat to our democracy and I think the president and his people must understand it. You cannot have somebody who is the supporter of Manchester United blatantly wearing the Manchester United t-shirt, being the referee in the match that involves Manchester United is just illogical and it's as simple as that. Let me go back to Barista Obani. I do not, I mean, I appreciate what Shagun has said and what, you know, everybody's doing, including you Barista Obani but, and I don't also want to be a prophet of doom but let's just take it, for example, the likes of Serap and other people, even the NBA, that have been so many court cases and suits against the government, has it really stopped anything so far from 2015, when 2021 nothing has really changed in Mr President's body language nor the positions that they've taken, I mean one minute we're talking about the Twitter ban and other things, I mean, here we are talking about, you know, presidential aid who's been nominated to run INEC and I'm not in any way trying to say that, you know, what's your, the move or the steps that you're taking are not in the right direction but, again, we know the Nigeria that we are in, what's the guarantee that these court cases would in any way, you know, bother the federal government and the presidency? Yeah, we will stop pushing for some of the reforms we want in Nigeria, maybe then probably we'll base it all up because the government does not listen, the government does not obey the rule of law, we will, it is courage from pushing for those reforms we feel is necessary and important for the development of our society. Ghanifah we made, the late Ghanifah we made was using judiciary in order to push for some of the reforms, even though you will see that they were probably disobeyed at that time, but today they have formed the the ground norm of our jurisprudence, we are using it, you know, in some of our cases and I believe that a time is going to come in this country where the kind of leadership that will emerge will insist that some of those things that were done wrongly will be condemned, just like Adela Adela June 12th that eventually was acknowledged by the government despite all the deniers are for a forehand. Now what we are saying is that it is a minus for this government, if every time the rule of law is being mentioned, the issue of rule of law, we now acknowledge the fact that they have never obeyed the rule of law, they don't listen to court instruction and judgment, they are always violating and observing them in breach, it is clearly a minus, the water has become a global privilege, so by the time you rate any government and place them on parameter and discover that those things that are very fundamental in practice of democracy that they are missing, it is not a good thing for that government that is power international, you know, you become a parian nation, but that doesn't stop us, the civil society, the activists, the lawyers who are the conscience of this nation to stop pushing for some of those reforms we want in our country and all that, so I am not going to give up or because the president will not listen, because setup has done this and they have not obeyed or Mr. Femi Filana has taken this action or Mr. Bani has done this and they refuse to obey, you know I have obtained several court judgments now, the latest one is the one on bogus, I mean on the issue of jumbo pay for national assembly, I also have sued the president on issue of Twitter, we fired it yesterday, so we keep on pushing on to, we have a country of force, you know, we proud of, a country of our dream, we can stop, we cannot be distorted by some of their relations or none of us. Well I want to thank you, Mando Bani is a legal practitioner and of course Sheghul Shopita is an act network, thank you very much gentlemen for speaking with us. We'll take a short break now and when we return the federal government once again calls for the regulation of social media, well we'll talk about this when we come back, stay with us.


During the Key West DFT, we executed both open and closed circuit combatant dive training. The mission of the DFT to Key West is to improve and maintain Company C's combatant dive proficiency in order to provide the 22nd Mew with the most capable force possible. During this DFT, we started off with closed circuit team dive operations doing basic navigation. We then progressed to team dives with the diver propulsion device using advanced navigation techniques. The full mission profile consisted of a team inserting via cricks, then infiltrating DPD's and Mark 25 UBOS. Once at the objective, they conducted reconnaissance and surveillance, and then transmitted those photos and reports back to the reconnaissance operations center. This was followed by a clandestine exfiltration of an extract. I believe a reconnaissance Marine should be on the forefront of the battlefield and we could be utilized anywhere at any time. Just because something's not necessarily our mission set doesn't mean we can't be asked to do it and excel at it.