Live from Silicon Valley, it's theCUBE. Covering Mobile World Congress 2017, brought to you by Intel. Okay, welcome back everyone. We're live here in Palo Alto, California for SiliconANGLE Media's theCUBE special two-day coverage of Mobile World Congress in Barcelona, Spain. As people are starting to get ready to take that nap to go out all night in Barcelona after they had their tapas and wine, we're here in California breaking it all down. Two days of coverage. This is end of day two in Spain. We're in the middle of it here. And breaking down the analysis, covering all the news, commentary, identifying the trends and talking to the folks here in the Bay Area that can add value to the conversation. And our next guest is Bob Stefansky, who's the managing director of E-Lab, located in Palo Alto, venture capitalist, making investments and really a key player, bridging Silicon Valley with Michigan Motor City here and bringing the two worlds together as the autonomous vehicles in the automotive industries under massive disruption and change. And the car companies know about it and they're not afraid of it. Ford's here, GM's here, they're all here. And now we have Bob Stefansky here in theCUBE. Bob, good to see you. Thanks for coming in. John, thanks for having me on. It's good to be here. So I love this story and I think this is not really well documented, but this is the beginning of what's been happening for a while, kind of an outpost to Michigan and Motor City. You have some satellite offices in Palo Alto or Silicon Valley that close to Stanford, close to Cal, close to a lot of the research. But now it's a change where you're starting to see Ford, GM, all the car companies, BMW, Big Venture Fund as well, all here in Silicon Valley because the software defined blank is everything. So software defined radios in 5G, big story at Mobile World Congress, software defined networks. The world is software driven, so they're here. So you're bridging the investments trying to identify the key trends to help identify those new game changing technologies that's going to bring a whole new world together. And certainly Intel and others are changing the networks, creating an end to end architecture digitally to bring autonomous vehicles, immediate entertainment, smart cities, a smart home. And we're seeing Alexa, Google's got their device and you're seeing smart cities. So what's the big bridge being built around?  What is this bridge between Silicon Valley and Michigan Motor City? Obviously that's a big part of Uber and whatnot. Yeah, absolutely, John. I grew up in Michigan. I grew up in the days before, there was a single chip, I think, in cars. I worked for General Motors when I was a summer intern in the early 80s in the engineering group there, and there was a very distinct automotive culture. I then fast forward 20 years and I'm in Silicon Valley. I've spent the majority of my career here in Silicon Valley doing Silicon Valley things. So software, enterprise software was where I spent most of my career with typical software. We are now bridging these two things. We're bridging the automotive industry as I think we all know, anyone who's paying attention, the car now has a lot of chips in it, right? And it's about to have a lot more. The car is becoming a data center on wheels, right? It's becoming another mobile device, a very big mobile device. And the really neat thing is we're the only venture fund with offices and partners located in both places. We have fairly deep networks and connections into the whole Michigan ecosystem back there in automotive. And of course, we're out here in Silicon Valley as well. And it's been fascinating to see after spending, after having that early childhood experience, young adult experience as I was growing up in the auto industry, and really kind of the heyday of the auto industry, maybe the beginning of the decline in the 70s and early 80s, and then having sort of spent the career working on the latest, greatest, newest technologies as they've come along out here in Silicon Valley. This is a fascinating, fascinating time to see these two now finally sort of merging together with autonomous vehicles. You know, one of the things that we're seeing in over the course of Intel is the bellwether and they always have the long game going and make the big bets in autonomous vehicles and virtual reality is that showcase. What I find interesting when I get your thoughts on it and reaction to is that I shared on my Facebook feed, a post by autoblog.com that says race for autonomous cars is over in Silicon Valley. And they were kind of pointing to kind of the obvious things that people are seeing today, which is, you know, kind of myopic and narrow in my opinion, but obviously Apple kind of tapped out a building a car and I think a lot of people didn't thought, oh Apple should build a car, they built a watch, why not build a car. I'll see, they forgot about Teslas here, right? So I'm not sure what they're thinking. But I think they missed the point that it's bigger than the actual car. So can you share some color commentary around the mindset of Detroit? Because we're seeing that certainly Ford's not looking the other way. They have their finger on the pulse. Others do as well. What is the general mindset for the folks in both ecosystems and how are they working together right now? Sure, that's a great question, John. And you said it right at the outset. Look, all the autos are here and they're here in our backyard in Palo Alto, right? They've all really sort of migrated here over the last five, seven years probably. GM is here, Ford is here in a big way. BMW is here, Mercedes here. So they all obviously recognize that the car is becoming all about technology and if they're going to be a key part of that in the future, they need to be out here and they need to be understanding that. On the other hand, making cars is hard. Making cars is not a simple thing. And this is where 70% of auto research in the US is still happening in Michigan and the Detroit area. Michigan has a very high density of automotive engineers and integration engineers and integrating IT with the autos and so forth. So there's a lot of talent there. There's a lot of experience there. I think, frankly, probably the biggest and most interesting thing in this bridge is going to be watch the cultures, either integrate or not. And there's a lot of talk about who wins and the autos can't move fast enough and that may be the case, but we'll find out. I'm not so sure. They know how to compete and there's a lot of smart people. There's no way that Detroit's going away. I mean, to me, my view is they're very solid and I think they got good self-awareness and I think if you look at the signals, I would say that I'm pretty confident. It's just a matter of how they get reconfigured in this new value creation model around 5G and whatnot. But I want to get your thoughts on another point, which is if you look at what the iPhone did, that created a new class of app developer and that, I would call them, on one hand, artisan developers, people who are composing, much more design centric, obviously, and then you still had the hardcore developers and that was lower in the stack but also other harder problems. But when you talk about automotive, there are some serious technology challenges that require, I won't say old-school engineering, but really hardcore engineering. You're talking about wireless, which is a physics issue. You have all kinds of policy challenges but really hardcore engineering and software development. I'm not discounting what the app guys are doing but certainly there will be plenty of apps. I call that more the finishing touches in say cars, for instance. What are some of those technologies because that's really where you need to see the classic doubly computer science, physics gurus, the real PhD kind of guys. What's your thoughts and what trends do you see in that hardcore area? Yeah, absolutely. I mean, look, we all know that cars are no longer about just axles and engines and those are hard things, those are, but I think when we make this transition to highly automated, to fully autonomous vehicles, the technologies that are driving that, the most, the fundamental technologies and the really hard stuff are around sensors, right? We're developing, we're constantly developing newer, faster, better, further range, more precise sensors. So we're talking about LiDAR, we're talking about, we're talking about, of course, mobile eye and what's happening with the camera and vision processing. We're talking about even radar, a 1940s technology that actually is changing very fast. There's a lot of interesting things happening. Yeah, I have an old technology coming back down and getting rebooted with cloud computing and whatnot. Yeah, absolutely. Well, and then connecting all that to the cloud, right? I mean, I think the hardest, and I think we talked about this before, the probably still the single hardest piece and the point of the spear on this is artificial intelligence, right? At the end of the day, it's the same stuff that's driving virtual reality, it's the same stuff that's driving a lot of different things right now, right? But it's also true in self-driving cars. These things, when you make a car, first of all, it's got to be safe. It has got to be safe. Department of Transportation, sort of the government regulatory interest is in safety. To make a car saved, they have to be tested, tested, tested, tested. What's that about? Well, when Autonomous takes over, it's no longer John Furrier driving that car, it's the AI driving the car, right? How do you make that AI smart? Right, this is fundamental deep learning. This is fundamental deep learning that the guys at Google know as much as anybody in the world in Facebook and all that we all know about the arms race and artificial intelligence, but that's at the core of what's happening in self-driving vehicles as well. And most of that talent, the talent is spread out, it's all over the world, but there's a lot of it out here, and they know they need to have those engineers. What's interesting about your background, you mentioned when we started this segment, you have an enterprise software background in Silicon Valley, and you've been very successful. It's interesting, we were talking yesterday, and we kind of validated this morning on our opening segment around Mobile World Congress. It's a two show game right now. It's kind of a bipolar show. You've got devices, the new phones, the glam and the sizzle, Samsung, and so on and so forth, LG, Huawei, and then you've got the telco show, which is the telcos trying to figure things out, but what's interesting is what we noticed is that there's really a trend between enterprise computing concepts, network data center with consumer clash. So there's a direct collision question between the telcos which serve as consumers, but the infrastructure challenges are all enterprise. And the number one thing that's key there is integration and ecosystems. Right. So you kind of have the right background for this. So you want to get your thoughts on ecosystem integration concepts where a lot of boats in the harbor, so rising tide will float all boats. We see that as a trend, but also integrating. You mentioned the testing, so it's not one company's going to do all this. It's not one company that's going to do all this. And in fact, it's going to be one of the more complex integrations we've ever undertaken, right, because we're going to have to have those automotive engineers. We're going to have to have those, you know, the software developers. We're going to have to have the AI guys. We're going to have to have the sensor guys. And it's all going to the cloud ultimately, right? And don't forget GPS. You got GPS and that you've got, you got a lot of connectivity challenges, right? And of course, 5G when 5G comes online is going to be a critical part of this as well. You're also going to have smart cities. You're going to have infrastructure embedded in the environment, and in particular the highly dense areas is where it'll happen first. It's not going to, you know, rural America and so forth. They're going to be probably driving their cars without the embedded sense for a while. But there are a lot of different components. We had a CTO on early before Val from Burcelli. He was talking about the cloud native architecture really plays well in this market because it's not sort of the one car. It's about the one cars in relation to thousands of other cars that are self-driving. So it's a multi-touch data equation. All right Bob, final question I want to get to you is, what are you investing in? What are some of the things that you're looking at? Can you share? I know some of the stuff is pretty stealthy on your end because it's pretty high end, but can you share any, show a little leg on the investments you've made or?  Yeah, John, we're, some of the probably the coolest stuff I can't talk about right now, you're right. But hint, it's in some of the things I've already talked about. We're certainly in artificial intelligence. We are, we have a portfolio company in that. We're looking at others in better sensors. Some of the sensory areas I talked about, we are in the process of looking at companies. We have investments in the connected space, not autonomous but connected space, which is also going to be a very big and important part of this. Company called Aperia, right up here, that is at the end of the day, they're tire inflation, but it's all about data. They do automatic tire inflation. Connected, they'll be connecting every fleet in America and so we're. And so it's boring little efficiency areas that really yield a lot of cash. I mean, we just talked about the guests, I'm going to waste, Optimus, waste disposal industries. Absolutely. Little things that are boring billion dollar innovations. Little things, little things, very big problems, right? It's where you can marry things like tire inflation on commercial fleets with data, with heavily, with lots of data that we never had before. And then apply artificial intelligence to that, to learn what's happening and map an entire fleet or multiple fleets nationwide, worldwide, collect all that data and start to correlate and understand what, those are the problems that are where a lot of value can be added actually with these technologies. It's super interesting and I think you got a great opportunity. Congratulations, great to see the bridge between Silicon Valley and Michigan, really Motor City. And I think that's, anecdotally, means automotive, but it's probably other bridges you're connecting to. Bob, thanks for coming in and sharing.  What premises are you betting on? I mean, everyone has a premise, and you mentioned before you came on camera, that one of your premises is that automotive won't miss mobility. What other premises are you investing? What theses are you building around? You know, we're, well, look, we're, you're talking about autonomous vehicles or more general for the bridge to bridge fund and how you're looking at the future of autonomous driving and the connected ecosystem around it. What are the premise? Yeah, yeah, yeah, yeah. Well, look, the premise there is that, you know, we're in for what I think is going to be the biggest, the biggest change in the biggest, the biggest thing to happen in transportation ever, but it's not just transportation. So we're looking at, at areas that are not, you know, autonomous per se, but that are going to be fundamentally impacted.  Medicine is going to probably change and there's some interesting plays there. There are, and so all of this sort of periphery that is going to be disrupted, we're trying to look five years, 10 years ahead and look at how life is going to change, people's individual experiences are going to change, and how, you know, new services, in particular shared services are going to be enabled by autonomy. Bob Sofanski here inside the queue, breaking down his commentary and direction of his investments, bridging Silicon Valley with Michigan, Motor City, or really looking at the autonomous future of vehicles and transportation. This is theCUBE, I'm John Furrier. We'll be back with more coverage and analysis of Mobile World Congress 2017 after this short break.


Hey there beautiful people, I'm here at EGX Rest and what I've been doing is talking to developers and educators today so I've been talking to the developers of games and people representatives from university to get them to tell me the best way to get into games. So have a look at what they've said and hopefully it'll be helpful to you. So I got into working games, I started as an intern working at introversion during my third year. After that after I graduated I sort of took a year doing my own sort of small projects and my own games after that because introversion knew me they sort of you know sent me an email they knew I was doing sort of like freelance work and I just went hey we have a small job do you want to do it? I went yes and then since then I've just gotten more and more work from them more or less. So I got into making games based on that I used to play a lot of games when I was younger so things like Nintendo 64 I used to love Zelda Ocarina of Time and alongside that I used to be really into art and just creating paintings or drawings. Originally I went to university to do fine art but I quickly realised that that just wasn't for me and I was just a little bit more techie so basically I got into making games just by looking at courses and realising that having an art background and combining that with a technical background you could make some really cool stuff for games. I got into it when I was in high school then just followed it on from college to uni to then pretty much since then. Making like a small prototype game because a friend said I want to do this, this and this I built a small prototype then he's doing that from there but then that project kind of got shelved but then I moved on to projects like Stanley's Adventures in Space to my career when I went to AR. I didn't really know what I wanted to do and then I just knew I was OK at art and I thought what can I do to make money out of this and there were a lot of courses that were doing games but we decided we both went on to the Dunnington course for games design and animation and I just really enjoyed it and now we've got a game, here we are. I have very boring college speeches so I've started painting things on my speeches in college and I've sent paintings to many developers and one of them picked me up and how I'm here. Make your own games, have your own projects, it doesn't matter what the size there are but show your particular focus so if you're an audio of like find a small team that works together make something that shows how your process works like to probably be to sort of work on your own projects like build a portfolio of work that you could continually just take to a person and say hey this is the thing that I have made and just have something that shows that you have experience working in games whether it's your own games or it's like a small Unity project or if it's like here is a mod or like something that's out there like Star Isis or whatever anything that has like there are a few games that have mod tools nowadays but they're still out there and a lot of them you'd be able to show regardless of what discipline you're actually looking to work in. Try, really hard. The best thing I could say to get into making games is not always to play them because what I found is we played a lot of games and you almost feel like it's going to be unreachable like you'll never be able to make that level of game. The best thing you can do is start from scratch start from the bottom.  Yeah and what we found really useful was just looking online at tutorials, following step-by-step guides, going wrong, learning from your mistakes. Feedback, constant feedback from people on forums like this Facebook group called 10,000 hours and always posting your work because any critique is a good critique because you're getting feedback all the time. And also I take your portfolio out there at an early stage because you never know who you're going to meet so we come to events like EJX or Res all the time. We have for the last four or five years and each time we've come we've had a portfolio online giving business cards out or exchanging emails with people let them look at your portfolio and they can give you feedback or they can even offer you a job or say yeah this is good this is bad just don't be ashamed to show what you've got even if you think it's not that good yet because everyone always gets better like we never thought we'd be here with a game. No couldn't even 3D about four years ago. Yeah that's it yeah so you will get there. Think about what you want to make then do research on to see if it's been done before if it's not find out why then if it has been done but not in such a scale then try to build it just using small prototype text stuff like Unity or real depending on what your programming level is but then just build upon what you you know and what you've done before. The most important thing to get somewhere you need to you need to make things don't think and not only think about them but making things you need to still improve yourself and make new things over and over again to and trying new things to have more ideas and be better artists in my situation for example. Okay so that's what the developers I spoke to said but I also spoke to some educators none of whom were brave enough to appear on camera so I'm just gonna kind of paraphrase what they told me so I did speak to the University of Huddersfield and Teeside University as well both are quite well known for their gaming courses in the UK they asked for pretty much one thing in particular which was grafters they didn't mention portfolios they didn't mention what education they've done before they wanted people the thing they were looking for to set people apart was that they were willing to work hard not that they completed assignments that they had made things in their own time and they were proud of them so that is something you need to throw in there as well. Right so I hope all that information has been useful to you thanks for watching any comments or questions leave them below and I'll see you in the next one. Laters.


All right, so please join me giving a big clap to Nicholas. Go for it. Thank you. So thanks for the invite. My name's Nicholas and I'm a freelance Python developer from the UK. The focus of this talk might not be immediately apparent from the title. So let me explain a little. In this talk, what we're going to do is explore just a big subject, how humans communicate via computers. How software influences the nature of that communication. We're also going to do a little bit of digital archeology of old technical solutions for this problem. And I'm going to sort of wrap up with a show and tell of a fun brain break experiment in recreating these solutions with modern technology. But I want to set the scene. Let me just move. I want to set the scene with this photo from Europe Python 2011 in Florence. And what it does is that it captures the wonderful nature of the corridor track. As you can see, well, I'm actually stood in the middle in the red T-shirt and there's a collection of folks. We all appear to be holding penny whistles, which seems appropriate for a conference that could have been held in Dublin. And there's a guy with a guitar strumming away with us. It's informal, it's friendly, it's diverse, and it's fun. And this is why I love Europe Python. It's a nice place to hang out. And I get to see my friends and I get to make new ones most importantly. So let me just rearrange my window. So that I can see things. Yet, 2020 is the year we all learned to try to stay close whilst remaining, at least in the UK, two meters apart. And this has been a difficult time as we learn to change and adapt to the new circumstances due to coronavirus. But I'm extremely grateful. I want to put this on public records for the volunteers who put on Europe Python. Their efforts are often taken for granted and you wouldn't believe the amount of stress and the number of problems they will have to put up with. So this is especially so now that Europe Python is remote. And the current situation has also brought into focus an important question. How could folks remotely recreate the opportunity for chance encounters, unexpected conversations and exploration of a venue and a new city with friends, which is the sort of thing that happens at Europe Python. How is such a warm friendship expressed most effectively through a digital medium, a remote digital medium. Perhaps more importantly, how do we foster tolerance and compassion or corrections of misunderstanding and all that other good stuff needed to so a diverse community full of differences and unique perspectives is able to live with itself without becoming a fractured and toxic place. So Europe Python has decided to use discord in this sense. A chat service written for gamers. Now, I don't know about you, but I like discord a lot. And I'm actually really pleased that Europe Python organizers chose it over other solutions. Others being things like Slack or Microsoft teams or Google Hangouts. But discord is typical of the current state of the art in that they all look and function similarly. Yet I don't actually feel that comfortable at times with the current state of the art. So let's start by exploring my problems and discomfort with these platforms. Let's also try to imagine perhaps a more expressive, simpler or perhaps humane alternative too. So I'm going to start by taking discord to pieces. If you see what I mean to see what's going on. Actually, there's a lot going on in this application. For those of us used to computers. This is often easy to miss. This is rather a complicated user interface that we can see in front of us. We are literally bombarded with data, metadata, icons, time stamps, reactions, labels and silos are the norm for remote written interactions such as those that we might have through discord. And I'd also like to point out that discord is also ultimately a very transactional sort of way to interact and I'll come to what I mean by that in a second. But discord isn't, this isn't the case for just discord. This is the case for other social media sorts of platforms. So let's unpack that a little bit. So this is Twitter. There are familiar patterns in Twitter and this isn't so much a conversation as shouting into the void through the inconvenience of a 280 character limit. And look at where all the adverts are. And here's Facebook, the redesigned Facebook. Facebook fills to me the most mediated platform. This is most blatantly an exercise in retaining my attention at all costs rather than fostering a place for conversation or making friends or being friendly with people. Most problematic for me is the nature of our interactions with such platforms. Our interactions have become digital transactions. Transactions have metadata for analysis. Transactions are dislocated. There's no sense of place or occasion to such transactions. Transactions are impersonal such as with Twitter shouting into the void as it were. It's hard to have a conversation. Transactions are evaluated so we get to see likes and retweets and reactions. It's turned into a sort of popularity game. Transactions sadly are curated by platforms to capture our attention. Click here, react, reply, share or only show those things that are most relevant to you while who decides what that is. Sadly, our socializing is reduced to interactions that standardize, process and normalize our lives into a digital production line of uniform social outputs. Like something, post a picture, reply with a comment, set your mood, that sort of thing. The messy, complicated and raw aspects of life which I would argue are the most valuable, fun and interesting are lost or have no way to manifest themselves through these sorts of platforms. We've commoditized ourselves into a dribble of systematized digital assets, photos, posts, likes, that sort of thing. And also, is it just me but why do I always get the impression that the design of social media has been designed by Peppa Pig? Soft colors, cute, neutral and just a little bit infantile in tone. Or perhaps I'm just getting old.  Or perhaps current technical solutions to remote collaboration, community and friendship feel like I'm being analyzed. My attention is being manipulated and I either want to be able to pay or see adverts to get anything done. None of which is conducive to me to making a place where I can have humane conversations and make friends. So, given the lockdown situation that we face, I ask myself, could there be a more natural way, creative way, simple way, expressive way, respectful way, authentic way, to meet, make friends and interact online? How do we remotely recreate the opportunity for chance encounters, unexpected conversation and exploration of a venue and a new city with friends but online rather than in Dublin? How could we recreate the online equivalent of our beloved corridor track where all these friendships and lovely conversations happen? And then as if by magic, I remembered a distant memory from my childhood. Text-based worlds with epic stories, curious locations and imaginative adventures. And this got me thinking. So, there's a bug in Firefox that means I just have to reload this iPhone. So, here we go. So, bear with me as I go on an adventure game. This is what a text-based adventure game looks like and feels like. This is Douglas Adams' own recreation of his novel, The Hitchhiker's Guide to the Galaxy, as a text-based yet interactive virtual world. Let me explain the mechanics of this. Text is displayed on the screen. The screen is up here for me. The screen is up here for me. So, you wake up, the room is spinning very gently around your hair, or at least it would be if you could see it, which you can't. It is pitch black. Let's have a look around. Nope, it's pitch black. Let's switch on the light. Good start. I'm in the room. I don't know if I get all the objects because I need them later on in my adventure. I can't do that because I'm still in bed. Why don't I stand up? This is very difficult, but I manage it. I see to have a hangover by the looks of the descriptions in the text that's coming back. Let me get all the things. Why don't I put on the gown? That's what Arthur Dent is famous for. If I examine the gown, this might tell me something more about what it is. The dressing gown is faded and battered. Clearly garment that has seen better decades. It has a pocket which is closed and a small loop at the back of the collar. That pocket looks interesting. Let's take the tablet. After a few seconds, the room begins to calm down. My headache has gone. Let me have a look around again. Where are the exits? Small bedroom, washbasin near the exit heading south. I type S to show that I'm going south. I'm now in the front porch. This is in close to the porch. I'm on the door. I've learned by playing adventure games it's best to take everything. You never know when you might need it. I gathered up the pile of mail. Let's step outside. This is where the actual book picks up. Mr. Process from the local council has a bunch of bulldozers. He wants to knock down your house. He's trying to lie down. That's better. I can't speak English. You get the idea. I tap something and things happen. It's quite good fun as well. That was a single player. Text based virtual world. Soon after the appearance of such games. Some university students in the UK invented mud. A mud is a multi user dungeon. It's a multiplayer text based adventure game. A little bit similar to the one we've just seen. The video I'm playing at the moment is of an interaction on the original mud that I recorded a few days ago. In it you'll have seen that I've just finished chatting with a wizard called Piwacket. At some point through the video I come a cropper with some rats. You can enjoy that as I keep talking. But the thing about these sorts of adventure games or mugs is that they are low tech. So I've actually connected via telnet, believe it or not, although proper clients are available. It's quirky. There's humour, imagination, playfulness. But sometimes it is serious. There's literary. So there's a narrative there. There's a sense of place and time and genre. And in this case we're in a fantasy world. Although we were in a sci-fi world with Hitchhiker's Guide to the Galaxy. And actually it's a lot of fun. There's also many varieties of mud. In the mid 1990s when I was at university, I would play on something called a moo. A moo is an acronym for a multi user dungeon that's connected to the object-oriented M-O-O moo. And in a moo what's interesting is the textual world is a collection of user-generated objects. Users program the behaviour of the world as well as inhabiting it as well. It becomes an interactive development environment. And that's in contrast to the mud that we've just seen, which has been programmed by someone that everybody collectively plays. So muds and moos became very popular. Before all the toxic aspects of current social media platforms, such behaviours were sadly manifested in these virtual textual worlds. A most famously documented by Julian Dibbles, a rape in cyberspace, which I highly recommend. It's a very thoughtful piece. Yet at the same time these were progressive places. And I made many friends all over the world at a time when such things were still viewed with incredulity. Social scientists, psychologists, literary critics, artists and educators all got interested in these platforms. MIT professor Sherry Turkle famously analysed such online role playing as a way for folks to explore different aspects of their identity in a relatively safe manner. The challenges that may arise in such platforms would allow folks to reflect upon their behaviour and get to know more about themselves, a sort of narrative development of their lives. Now, being British, I spent most of my time asking my fellow players what the weather was like, where they were, be that San Francisco, Paris, Tel Aviv or Singapore. This, for me, was strangely satisfying and it made me feel like a true citizen of the global village delivered via the information superhighway that was my 56k modem in the 1990s. I also built a textual interactive representation of a remote Scottish island that my girlfriend, now my wife, and I visited over the summer of 1995. I still have a backup and it's an interactive digital memento of my 21-year-old self. It was and it continues to be fun to write, explore and interact within such worlds. This all feels very low-tech, but I like that. I don't miss the transactional and manipulative nature of the current state of the art. And the focus is definitely on being in a specific place in a certain moment with particular sorts of people. The things I love about words are that they are, well, tell Rahul and show. The user's imagination is paramount. This is reflected in the simple and cluttered user interfaces where the text is most important. They could be playful or serious, but always tell a story within a recognizable literary genre that sets the scene for interactions between users. Whereas graphical games focus on hand-eye coordination and showing us things, text-based worlds put narrative, meaning and intent at the centre of their process. And while the reader may have more to do with their imagination, I believe the reward is far greater for what you imagine will always have the best special effects. Literary worlds are also more egalitarian and accessible. They're within the realm of a single developer. So there's very low overhead in technical terms. This to me reminds me of the difference between making a movie which requires thousands of people or writing a novel which, whilst still an onerous task, is something that a single person is able to do. So I ask myself, what would a mud or a move written in 2020 look like? Well, as it happens, I'd already answered this question. Pi Week is a game jam for Python developers and it's organised by the amazing and hugely talented Dan Pope. It's a wonderful hidden gem of the Python community and I would heartily recommend that you should try it. It's a very friendly place and it doesn't matter if you've never written a game before, you'll have a blast. I've had a wonderful time. And in 2019, with my buddy, Andrew Smith, I entered as a team. Andrew is an author and a journalist. So we wanted to do something text-based. And the theme that was given for this Pi Week was six worlds. And we decided to create a simple moon-like game where folks could build things, add behaviour via a list-like scripting language and interact with each other in the style of six different literary genres. Jane Austen, poetic passions where everything had to rhyme. Hard-boiled detective novels. Something we called J.R.R. fantasy. Sci-Fi in future worlds. And of course, something that we called parry-hotter so that we wouldn't infringe somebody's copyrights but you get the idea. However, TechSmith was born. But it was written in a week of furious coding. It was the minimal book-like user interface. And the focus was definitely on creativity, exploration, a sense of place and a genuine textual interactions with others. This was incomplete. But folks could make objects. And we had the start of a list-by scripting language to make the world come alive and programmable. The video is a short exploration through the web. It's browser-based with web sockets handling everything in the background. While familiar in modus operandi, the user is moving between places and meeting other users. We've added a multimedia spin to things too. You can see there are pictures and you can see I'm just about to start some audio which I've not captured in this particular video. It adds to the atmosphere. I'm almost tempted to think of this as a game. It looks as if it's a printed word. This is important for us too. We're focusing on the text. Happily we came forth in the team category which is our best result ever. And folks appeared to like it. The idea for this is unique. This has great potential. Really cool entry. Really would have liked to see that scripting language mentioned in the help text. It would have been so much fun to explore all of this. It would have made it a lot of fun to explore all of this. I had so much fun that I couldn't stop reading about mods or coding on text. My desire to write, create, imagine, play and explore fueled my enthusiasm as did my growing dissatisfaction and unease with the current state of the art for chat or text-based interactions on the Internet. Since the UK, like everywhere else, was in lockdown, I decided to entertain myself after work by rewriting text myth properly. I had to turn a week of hacks into something that I would like, you know, I could share with people. It has full test coverage, docs, scalable architecture and so on. In other words, code I'd want to show the world, like here at EuroPython. Which was remarkably good fun. Starting at the top, designing virtual worlds was written by Richard Bartle, who created the world's very first mod. And it's a sort of a Bible, really, for those people who are interested in this sort of thing. It's also a cracking good read. I highly recommend it. A theory of fun by Ray Costa is also very good and it's actually cartoons and writing, so it's a playful sort of a book. Ray has been involved in an awful lot of massively multiplayer online games in his time. My tiny life by the aforementioned Julian Debble is a good historical context about what was going on back in the 1990s in these text based worlds and contains not just the infamous or famous raping cyberspace paper, but many, many more that deals with different aspects of how people communicate and interact and build and make things in a digital world. If you remember, I mentioned Moo as being a type of mud. Well, the original Moo, called Lambda Moo, was created by a chap from Xerox Park called Pavel Curtis. And so I managed to find a version of this online, still online, the Lambda Moo programme is manual. And this was a great technical inspiration for me. Finally, there's Getlamp, which is actually a documentary, a creative commons licence documentary about adventure games and this sort of genre. It also looks at interactive fiction and things like that. And if you're interested in finding out more about these resources and if you're interested, I hope you do. The slides for this talk are linked from the page for this talk on the Europython website, so you'll come through and follow the links yourself. This was all remarkably good fun. So, how does the revised text Smith add up? What parts become the sum total of text Smith? So, let's look at our little diagram here. At the top is basically the front end. At the bottom is Redis, which is the data back end. And the middle is obviously the middle there. Let me take you through each of these aspects of the platform in turn. So, starting top left, Quart is an async.io web framework, a la flask, in fact the API is exactly the same. And this is the thing that provides WebSocket support and the website for text Smith. Now, Phil Jones, who's the maintainer and creator of Quart, does a great job. And I have to say, put it on record, this has been an absolute joy to use. So, if you are familiar with Flask and you want to do some async, I know, sort of development, Quart is definitely the way to go. Of course, output to the user is framed within Ginger templates. That's nothing out of the way about that. And then we get to Babel for internationalization. And this slots really neatly into Quart. So, text Smith is fully translatable. Text based virtual worlds are not just English virtual worlds. And I want my code to respect and acknowledge the diversity of folks who may use it. In whatever language they might want to use it in. The middleware of the app is all Python async.io and I use some really wonderful libraries to help make this easy to use. So, if you look at the code, if you look on the right, struct log, I'd like to point out is a really helpful way of letting me see what the application is doing. It emits structured logging. Using the 12 factor app scheme for web apps. And it's just slotted in and it worked perfectly. So, if you look at the libraries for things like connecting to redis, processing forms, working with e-mail and things like that, they just worked for me. And I was a bit cautious about using async.io because I know it's perhaps the ecosystem with async.io is perhaps not as mature as other places in the Python ecosystem but everything just worked for me. Which is a real great thing. On the right-hand side, you'll see a gentleman that might look familiar due to keynotes at previous Euro-Pytons, a very sly looking Dave Beasley. Sly stands it for one of these three letter recursive acronyms. Sly is a lex-yack thing. So, sly-lex-yack. And this is a module that Dave has written that I use to process the nascent, lisp-like things. Dave's work has been a fun way for me to learn about the language design and learn about language design and implementation and all that other good stuff which is part of computer science that I'm not that familiar with. I'm actually a classically trained musician so I don't have a computer science degree so this was great fun. But there's still lots of work to do on that front. And finally, redis is used as a fantastic key value data store with a host of simple yet powerful features. I've been very impressed with it so far. It also comes with a message queue that's used by TechSmith for inter-object communication. For example, if a user, an object, says something in a room, another object, then a message from the user describing what's been said is sent to the room via the message queue.  It is these messages that the users receive saying Fred has said hello that are sent to the user's browser via the WebSockets. TechSmith is also designed to be scalable as well. So you can have as many Python instances of the application as you want because they scale horizontally. And all the interactions between these nodes as it were are through the redis message queue and of course that the back is a redis cluster set behind all this. However you could just always run this as a single app with redis running on the same box. So how does it work in terms of working with the user? How is user input handled? Well, we have the following workflow. We escape any HTML if the user input, that's very important first. Then we handle special shortcuts that allow people to say things, shout things, say something directly to a person. If the input doesn't match that, we check if the first word in the sentence is a built-in verb like get, drop, build and what have you. Then we pass on the handling of the rest of that message to the built-in function within TechSmith. If that doesn't match, we break the sentence down into some grammatical parts. The verb, the direct object, the preposition, the indirect object, I'll come to what those mean in this sentence. Then what we do is we match the verb to an attribute name of objects in the room and we do that with a sort of order of precedence. So we check if the verb is an attribute of the user, if it's not, we check if the verb is an attribute of the room, then the direct object and indirect attribute value in the necessary message queues. Now, if the value of the attribute is a string starting with hash bang, we evaluate that as a script. So for instance, if the whistle object has a blow attribute with the value the whistle toots, then the command blow whistle will result in the whistle toots being displayed to everyone in the room. The verb blow was matched against the whistle object and therefore the value of the attribute blow was displayed. So let's just have a quick revision of grammar from primary school. So if we have the command stack treasure on table, the verb is stack, the direct object is treasure, the preposition is written, and the indirect object is table. Now, of course, this change is depending on the local or the natural language that the user is using to interact with text. This is something that we need to handle ourselves. So I mentioned script and the scripting language. It's a very simple list-like thing. How does that work? Well, it's definitely a work in progress, I can tell you. But scripts are evaluated in a way that makes it easier to interact with text. So scripting is a very simple thing. The user who gave the command, the room in which the user finds themselves, the exits from the room, the other users in the room, things of the object in the room, this which is the object that matched the verb, the direct object and the preposition and indirect object if they exist, and, of course, the raw user input. That they've run out of time. Scripts may also only update objects within the context that they find themselves. Scripts execute the privileges of the user who cause them to run. So if a script tries to change the description of an object that I don't have permission to change, then the script will fail. Scripts may only emit messages to objects in its current context as well. And, of course, if the script fails, users get a meaningful error message or a stack trace. And that's just the user who tried to run the script. Of course, the last thing we want is to fill a room full of stack traces. So that's essentially how the script works. What's the current status of TechSmith? Well, TechSmith, I estimate 80% finish. I'm having fun and speculating about how people could creatively connect with each other through code that promotes a space for playful or serious interactions. But as they say, I've only got the other 80% to go. Now, that's doubly so in this case because that other 80% is going to be the worlds that are built within TechSmith. So we're coming to the end now. And we'll have a bit of time for questions in a moment. But all of this makes me think of nested textual systems. And those of you who've read go to Lesha Bach, see where this is going very, very quickly. There are, in essence, textual systems within textual systems within textual systems going on here. So, for instance, Python is a text-based programming language. TechSmith is a multi-user platform for building interactive textual worlds. And the textual world inhabited by and meaningful to the users is built on TechSmith, which is built on Python. Okay? So it's a bit like what we can see on this slide here. We see a picture but we also see a hand holding a ball in a picture. And we see the artist reflected in a ball held by a hand in the picture. So it's kind of not turtles all the way down, it's abstractions all the way down. So in conclusion technology cannot alas of itself stop folks from being rude, thoughtless, ignorant or intolerant. But that shouldn't stop us from trying to imagine and create technology that emphasizes our humanity, autonomy, and promotes mutual respect, tolerance and compassion in a diverse and cosmopolitan society. TechSmith is a goofy game. TechSmith is also a kind of a thought experiment in code. But most of all it's a multi-user collaborative development platform for creating and inhabiting interactive textual and multimedia literary worlds. All this without transactions analysis of your social graph manipulation of your attention or clickbait adverts tailored to your user profile. You can find the code and the docs in the links that are in the current slide. And for those of you who are interested in finding out more about muds and moos and all that other good stuff I highly recommend the Titans of Text podcast. It's US based and that's great fun, they get all sorts of people talking about interesting mud and moo related things there. And it's also at times quite thoughtful. There's also the mud coders guild. I'm not the only one doing this sort of silly thing. There's actually a remarkable amount of people doing this sort of thing and I was really pleased to find this place. They have a Slack channel and there's some really stimulating conversation going on there. And there's also a multi-user dungeon server on discord as well which of course you'll need to find you'll need to get in an invite for but you could probably get that through people in the mud coders guild. So I'm pretty much on time I guess for a few minutes of questions. So are there any questions? Thank you very much. Thank you Nicholas. You are on time indeed. So just a reminder if you want to drop a question use the Q&A function on Zoom. So we have a question from Thomas. You said it is translatable to other languages. Does that also apply to the grammar used to analyze sentences? I knew I'd get a question about that. Not yet but the mechanism is in place. So I'm writing this obviously I'm an English speaker and I'm writing this with English in mind but there are certainly going to be stubs well you can see even now there are stubs in the code where it is doing the equivalent of a case statement I guess a switched case statement that's working out what the user's preferred locale is and it will analyze the grammar in the appropriate sort of way. Error messages and things like that are also translatable. You'll see that all the strings in text with a babel translated. Awesome. Reese is asking what should take on VR being applied to months or moves? So I'm assuming sort of you mean graphical presence in a virtual space. I think it's great fun. My son has an Oculus thing whatever it is he wears and he likes using that and playing games and things like that and he tells me that Firefox have some sort of Firefox labs type thing that will allow him to be present with his friends who also own the same model of device. They've not figured out a standard yet that's yet to come. I mean that's interesting it's like lawnmower man another reference to the 1990s there. But I like text call me old fashioned I like the fact that I can let my imagination fly and text is perhaps the best way of letting that happen and the thing about muds is that because it's not just transactions of conversation going on there's a place, there's a sense of traveling around, there are objects there are ways to sort of interact with players as well in a non-obvious way I missed out a whole section on some of the stuff that Julian Dibble mentioned some of the innovations that we still don't see in current text based systems that were sort of invented and used in months and moves in previous decades. So in a sense they're also at the very forefront of technology and waiting for folks to catch up. So I don't know VR is cool I like space rockets and flying cars in that sort of way but I also like reading books and text based things too that answers your question Cool Dennis is asking are there new challenges to creating muds in 2020 that were not present in the 90s? I'm tempted to say yes our development environment and the cloud and Kubernetes and Amazon and all of that sort of stuff in the 1990s this was a single server running on a single box that usually had a host name it was their pet rather than cattle to use the terrible analogy that cloud uses and that in itself is kind of cute whereas as you've seen the way I've tried to organize TechSmith is as a dynamic web application as well. So I would say we've learned a lot more about how to do this perhaps and the tools are more available. I've got a sync IO I've got Quartz, I've got Redis and things like that so in a lot of senses I don't have to reinvent the wheel where as folks in the 1990s would have to do that but yeah it's still a challenge because I have to imagine things and that hasn't changed all right thank you. Stanislav has a question as well have you tried using machine learning for generating content inside a game? I remember seeing something like this in the world yeah okay so that was yes so you're looking at maybe an open AI type text generation here so there was lots of discussion about this on some of the mod forums that I've been inhabiting over the last few months text generation for adventure games for single player adventure games like the Hitchhiker's Guide to the Galaxy thing that I showed as part of my talk that's happened the corpus that was being used for that sort of stuff however was taken social media and things and the quality whilst initially it looks cool and good and things the quality of it after a very short period of time you get bored of it apparently this is what I was told by somebody who'd been experimenting in the field with that sort of stuff I've actually been I used a Markov chain to generate some room descriptions based on stuff that I'd been scraping from from other mod's descriptions so that all the fantasy ones we had lots of orcs and the elves of Truffleleon with their goblets of fire and all of this sort of stuff and that was quite hilarious if a bit meaningless but I really like that point and I think that there's room for lots of innovation in mud and new related engines for that sort of a thing and I'd like just like to point out that because this is text base making changes and playing around with these sorts of things is it's a relatively low-hanging fruit if I were doing this in a graphical game or a VR game or something like that I would have a huge code base with lots of assets and making a change is quite difficult to do this is just literally text comes in I do some stuff, I put text on message queues, text goes out that's essentially the modus operandi of this sort of thing I hope that answers your question, that was a really great question enjoyed answering that Thank you I have one question I like the idea of recording moments that you said you recorded that moment with your wife in Scotland how would you go about doing that? Do you have an example? What I have is a virtual world that I created when I was 21 and as somebody in his mid 40s now he returned to that and I don't know about you but I can't remember anything about the code I've written six months ago, let alone back in the mid 90s so it was fun to inhabit what was in my head in a textual sense from 20 odd years ago if you see what I mean so I've got, it's a bit like it felt to me a little bit like reading my diary from way back when but this was an interactive diary and there were objects in the world and I could, you know, there was a picture photograph object on the mantelpiece object and so I could look at the photograph and I could see the description and it was a photograph of my wife's dog who was now passed away and I'd forgotten about Genie and I was like, oh gosh, I remember Genie and it brought back a flood of memories so that's how it felt like that's how it felt like is that helpful? Yeah, it sounds like it's just like a picture journal, right? Yeah, sounds good. Awesome, there's more questions thanks Nikolas for the great talk Thank you, you're welcome I'll stop sharing and get out here Thanks a lot Bye bye Alright, so we are in a break now we'll be playing some ads and I'll see you