The Next Decade of Software Development - Richard Campbell - NDC London 2023

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
I found out like yesterday afternoon that I had to do this talk so I Was preparing so I did I didn't get a chance to see the keynote I look forward to watching the video of it uh hi my name is Richard Campbell uh I am an old geek I've been doing this stuff for a long time I'm from British Columbia this is a picture of my house on the left and my neighbor's house on the right we call this the animal Highway I didn't realize until I put this camera in that we get Bears every week it's this is about six in the morning in the summertime uh on a Wednesday because Wednesday in my neighborhood is garbage day so he's just coming to see if I put up my garbage early or not and there are consequences if I do so and actually we get fined if we put out the garbage early it's quite against the rules but it's uh that's what it's like liver British Columbia it's just Forest behind me it's like a big old buffet for bears and they come through and check out as you see he's actually at the at the top of the driveway right now surveying his domain and then we got the garbage out before he moves on I make a lot of podcasts I need.net rocks listeners awesome Carl's not here I won't be recording any.net rocks this week I'm going to be doing some run ads uh Carl started Darnell rocks back in 2002 which predates the word podcast by a couple of years I came on board with show 100 in 2005 we're at 18 we'll do 18 30 this week it's already in the can and this uh and then yeah a lot of stuff that I do is based on.net rocks this talk definitely is coming from all these interviews we get to do we get to talk to really smart people and so you get to decide to synthesize the sort of vision of what's going on I do an I.T show as well I'll run as radio and I think a episode 863 went up today and for a brief period between 2011 and 2014 we made a show called the tablet show back when we didn't know what to do about tablets and now we know tablet development is just developing it's not a big deal all right so we're going to do a little future prediction so let's refer to Niels Bohr's prediction is very difficult especially about the future although I don't know what else you would predict so let's go through the obvious things that are happening today that are going to shape the way we build software for the next few years I wrote the first version of stock in 2019 thinking what are the 2020 is going to be like and now it's 2023 and it's not exactly what I thought but did anybody plan it for a pandemic in 2019 I don't think so but obviously the cloud has come to dominate in the past few years it was true it was less true in in 2018 2019 but today if you don't have a cloud plan you kind of don't have a plan your employer is probably going to ask you well how does the cloud fit into this equation and same for mobile devices mobile devices are now the most common Computing device in the world they are the majority of compute the reason iPhone and Android dominations because there's so many of them we figure there's four billion smartphones operating in the world which pretty much is one for every adult human and we've transformed Society for that fundamentally we are all cyborgs right we have digital extensions to ourselves now we tend to because of Science Fiction think about cyborgs as the digital stuff is inside you but a yuck uh and B impairs upgrades but if we don't think of our phone as an extension of ourselves try losing it for a day like we're pretty agitated we don't have that device around it's our communication device we would just take it for granted that we can talk to anybody anywhere if they'll answer which they won't uh or at least message them in whatever messaging constraint you currently have the Venn diagram of messaging systems is continued to be messy but that's because it's so all-encompassing and so we can't talk about future of compute and and the kind of work we're going to be doing if we don't include these devices and how they're going to evolve as well we know how to make an awful lot of data that's just a byproduct of having a lot of devices feeding into common reservoirs right the you know ultimately a lot of what's made the modern machine learning machine learning models exist is because of this tremendous feat of data that we're generating on the behalf of others and all of these are obvious Trends more compute more Cloud more devices more data nothing surprising here it's all expected what are the unexpected things where where are we going to hit limits in the next 10 years for me the big one is we are finally going to run Moore's law to the ground so Gordon Moore is a person he was one of the founders of Intel they were one of the first companies to make microprocessors well actually they first made Ram that was their original product when when Intel started up Ram was still largely core Ram little ferrous coils wound with copper to store bits sounds as reliable as you think it would be and so the idea of building silicon substrate Ram was a big deal and that was an Intel's original product and it was while they're making Ram that Gordon Moore observed that for roughly the same amount of costs every 18 to 24 months we could double the number of circuits on the piece of silicon now they only were able to do that by working very hard at it later that would be called Moore's Law it's not a law right A law is something that happens whether you work hard at it or not like gravity you don't have to do much gravity is going to apply but for Moore's law to be a law companies work extremely diligently to increase the density of electronics and it's worked if you I pulled this data from Wikipedia this is a sort of chart of the processor the density of transistors in processors from the original 4004 and 1970 up till around now and you see how clean that line is and that's because we have an exponential number on the left of the number of transistors if I didn't use an exponent on the left and go up orders of magnitude we get the hockey stick the dumb graph where nothing is Meaningful and then it shoots up at the end it's a bad way to explain this honestly I mean and we're technical people getting our heads around an exponential function is hard when I'm explaining it simpler I talk about things like this what is that warp drive for the Enterprise no that's this is a cray XMP super computer Circa 1985. they've only they only made a couple hundred of these that at in 1985 this was the most powerful computer you could buy they were millions of dollars uh they ran on on uh 200 kilowatts of power so you kind of need to bring your own generator uh they're cooled with mineral oil because they're running so hot without mineral oil pumping through it all the time it will melt uh you'll notice it's kind of curved they're trying their best to keep the wires as short as possible so the speed of light doesn't impair the performance of the computer this is Leading Edge technology in 1985 and it's knocking out about 1.9 gigaflops per second so just about 2 billion floating Point operations per second in 1985. they modeled nuclear explosions on this the Voyager missions were computed on computers like this doing the orbital calculations fast forward a few years say 2011. the iPad 2 about 800 bucks uh don't put it in any liquids that's a mistake uh it Rhymes you know on its built-in battery for about 20 hours and it's got about 1.9 gigaflops of processing power so 26 years later the most powerful computer in the world is now a device you give to children and they play Candy Crush on it that's the advancement of society and let's face it that's not fast that's a 29 2011 device and a consumer device at that today if you're a consumer you want a high performance compute device you buy a very expensive video card right an RTX 49t these days if you can find one there are a couple of grand you know they're not cheap but sixteen thousand cores in it currently pulls down about 82 teraflops at full bore so 40 000 times faster than the iPad 2. so 11 years later you know and that's this also 450 Watts so uh you know you can heat the room with it if you like like I hope you bought a big power supply because you're gonna need it and if you want you can run two I don't know why you would nobody's mining Bitcoin anymore that's done and it's still a consumer device today there's a today the fastest computer in the world the super computers in the world there's a race going on between the Chinese the Americans and the Japanese and the current leader like literally this past fall was the frontier supercomputer in Oak Ridge lab so that's in Tennessee in the U.S that's uh based on the HP architecture so this is a massive multi-processor machine and uh 1100 petaflops or 1.1 hexaflops for about 600 million dollars needs about 20 megawatts of power so bring your own nuclear reactor and takes up about 700 square meters so clear out the basement uh 13 000 times faster than the 40 90. or 600 million times faster than the iPad 2 or the cray XMP Moore's Law right that's what we're talking about is our ability to continue to extend compute and I like that comparison where the Cray's compute power became a consumer device like are we going to have an extra flop device in our hands it's possible I don't know what you'd do with it but then we didn't know we needed to play Candy Crush in the first place right it just emerged that way and Moore's Law is ending this graph cannot continue why why are we running into the limit well we're getting better and better at packing transistors into a smaller and smaller space and you'll hear these terms like the 10 nanometer process and the Seven nanometer process and the five nanometer process and scientists have built a one nanometer transistor but only one of them uh those are all rough measurements they're not realistic the actual circuits are more complicated that we have good uh sensors now this is an electron tunneling image of the IBM five nanometer process so this is doped silicon layered together it's hard to measure what I'm at we talk about Nano things all the time is compute people the billionth of something a billionth of a meter is really really small people can't understand a billion right same problem is that exponential function and I always describe this as if I want to wait get you to wait for a million seconds a million seconds is about 11 days but a billion seconds is 33 years so the idea that a nanometer is to a meter as a second is the 33 years and we're making stuff at that scale today that's how dense we're getting this is kind of this is standing scanning tunneling microscopy of a of a silicon substrate the yellow dots are silicon atoms the blue holes are phosphorus atoms we talk about doping silicon when we make integrated circuits so they change their voltage Behavior so you can apply voltage and pass it through a semiconductor this is literally the structure of it it is a a crystal and when you get down into those nanometer scales we're running out of atoms and silicon atom is 111 picometers across like 0.1 nanometers so when you start talking about a transistor layered together that's only a couple of dozen anomalies across it's only hundreds not even hundreds of atoms It's Tricky right Quantum effects start to apply like we're just getting as dense as we physically can get and that's going to be the limit and not only that we can make these things at all that that we can make billions of transistors on a given die for about a thousand dollars right keep the prices stayed consistent the manufacturing process has to keep improving without really raising the price so that we'll continue to buy them and again we could debate like how fast did you need to go and how density need to be but we've built our entire industry around the fact that we're going to have more compute in about two years for the same amount of money and that ends in the next decade now there's a bunch of things that we're doing or haven't been doing because of Moore's Law one is we have not really improved architectures for the most part especially if you're talking about Intel they've more or less sold the same core chip design for 40 years because every time they try to change it we got very angry because it wasn't compatible with what we've done before and we like compatibility more and so at this point that perpetually evolving x64 and x86 architecture has gotten fairly convoluted the amount of steps involved in a given work cycle even if it's going at multiple gigahertz is complex now we do have simpler architectures the arm architecture came along quite a few years ago and it was built for more power efficiency more compute efficiency it just didn't have the Legacy that the other systems have but arm's pretty mature today and it's one of the reasons you're seeing more and more interest in arm in general for compute because the amount of energy necessary for a given unit of work is lower in those architectures you can expect as we lose the ability to get more compute for free by buying the next generation processor that optimizations and architecture become much more important now for us as programmers through the large part we're insulated from that our modern programming environment almost completely abstracts us from the actual underlying Hardware if you're living in a DOT in.net land it's Microsoft's responsibility to make sure that the common language runtime compiles and optimizes to the processor you have they do that all of the time we don't even think that it happens it's kind of magic it just works in that brief period where they thought arm was a really good idea now they're coming back to that idea again you could compile.net to arm it went away it'll be back because it's nothing that we have to do it's their responsibility to do implementations against the hardware That's The Power of abstraction for us I would argue that today the M1 and the M2 made by Apple are the most advanced processors out there architecturally they're arm-based but they've also added they've condensed a lot of things most of the memory is here they have tensor compute units or basically units optimized to do neural neural net calculations they have the GPU integrated in putting all those things in a single die putting 40 billion transistors together all working and playing happily has some benefits and so you know those are some of the nicest computers we can buy today and it sort of speaks to what the future looks like and I'm I'm an advocate of William Gibson the guy who coined the term cyberspace while typing it on a Wedgewood typewriter but his quote is the future is here it's just not evenly distributed so if you want to understand the future one of the easy ways to go is go look at where the concentrations of real rare Innovation are and what's happening in Cupertino with processors like this is pretty profound it speaks to what phones should look like in the future and what our other compute devices can be deeply integrated circuits the modern manufacturing Foundry allows us to build very customized circuits that are as close together as possible to run as fast as possible with the least amount of heat and the least amount of battery waste all right let's stop talking about the underlying Hardware the net the real constraint these days is the network 5G was wonderful it was heavily advertised a few years ago now it's here and nobody can tell works perfect uh I mean the it's a good question uh in theory these standards for wireless are about increasing frequency to intensify more data so more people can communicate simultaneously the downside is as you move up in Spectrum you decrease the penetration so our old 2G phones which we're living down in the 900 megahertz range worked beautifully in basements when we got up to 3G and 4G phones and we moved up to the two gigahertz band range we had trouble communicating into in close areas right some buildings work some not so much it was easy to get into a faraday cage rear foam wouldn't work 5G bumps this up into the 20 gigahertz range big increase in data density but the penetration goes down a fair bit it's blocked by things like trees bodies you know I've stood in front of a 5G Tower doing a speed test with my phone and going wow that's smoking fast and then I turned around and 20 gigahertz currently doesn't go through me so there's challenges for these higher frequencies there is the 6G specification underway but there's no Simple Solutions here network is going to be our constraining Resource as developers we have to think hard about how we move data between points of compute that's always going to be a limitation there are no workarounds largely for uh for the Vlogs of physics the speed of light that's a law this the modern is a the the the satellite networks that are going up now are very interesting uh for certain applications what we've really reached is a point where much of the parts of the globe that don't have good cellular coverage can have sufficient satellite coverage so more and more we're reinforcing Esther Dyson's belief that it was it was easier to put networking everywhere than it was to build a good disconnected client so if you just keep presume we're going to have bandwidth everywhere I got I got on the early starlink beta because I have a place sort of up in the wilderness in BC where the Bears are even more common and it's an it's impressive like that's just a pizza box size antenna you need a clear shot of the sky that's the hard part and if you've got a clear shot of the sky you've got about 400 megabits down and 100 up at 20 now at 20 milliseconds you can game from there it's not as fast as your your synchronous fiber but it's faster than you would get in most isolated areas so that ubiquitous connectivity and huge amounts of compute available in very small devices you know the other side of Moore's Law is the old Hardware gets very cheap and so we were seeing in things like automobiles where they won't spend money on compute they still have it they're still they're now starting to put 3G cell Services into all cars so that all cars have Telemetry back to the factory whether you want it or not because it's more important for the factory to know about how you're using the car so this model of the ubiquitous Computing is emerging more and more where every device has an IP address and can connect to the network and is communicating perhaps not for your benefit but for the vendor's benefit but it's always communicating and we have options there we're going to be responsible for a lot of it I'd be remiss in just setting the stage for all this to not talk a little bit about the pandemic again when I wrote the original version it wasn't the thing but we've continued to deal with this that's obviously in the later stages our friend Sachi Nadella said was famously quoted by May of 2020 saying two years of cloud migration happened in two months as we as everyone discovered yes you can work at home and we tore apart our perimeter networks and shoved and expanded our vpns and quickly shuffled whatever we could into the cloud we changed the landscape of work we changed the landscape of compute I mean for most of us in our industry working from home was just not a big deal we've been doing it anyway I do hope one day to make either a video series or a talk just on how video conferencing evolved over those two years remember that period where everybody thought all of those inlaid graphics with the hats and the horns and things was a good idea it lasted like three months for three months everybody had fun with that they were like okay that's really dumb and they turned that off but that's that's the evolution of etiquette and perception and today it's really interesting to see how everybody comes on with a face initially says hi then when somebody actually starts to talk most cameras go off to not distract like that we're developing an etiquette for that model we were rushed to do it but we're also seeing the other side of the pandemic we're starting to see the economic impacts we the side effect of mass layoffs was a loss of expertise that in general all work chains are less efficient today as we tried to gear them back up and you have a 20 or 30 or 40 percent inexperienced worker role in across those chains of work you have a lot more mistakes and they Cascade on top of each other we had the supply chain deeply disrupted ports that were had had too many empty containers and not and not enough full ones not enough space to move things around and literally going to take years to straighten it out and then the byproduct of all of that friction and Supply was an increase in demand for certain Goods which then got interpreted as inflation and here we are it's 2023 I hope you're having fun now what does this mean for us in our industry specifically because for the most part we've had 20 years as Developers just in a growth mindset 2008 2009 notwithstanding the sort of Great Recession because I think for the most part technical industry was insulated from that we were not as impacted as much as many others so I've talked to folks that have been working since after the.com bus 2001 2002 and have just been build what you want go faster build more you know explore great ideas now I'm older than that I started writing code in the 80s when economics were a lot tougher and we focused really hard on this contact of return on investment the problem is that when we're software developers we rarely are directly responsible making money for the company typically the things that we make are tools that allow those that make money for the company to work more efficiently if the things we're making don't do that they're really not that important you know this capitalist model has always functioned on the idea of Rapid relatively inefficient growth followed by a period of sort of cleanup shaking out the weak stuff a bit of a recessionary period for a year or so we cut the sort of fat off and then we'll Grow Again except that we've gotten good enough with our economic models to avoid that whole cleanup phase for 20 years and now that we're looking at one in a very serious way and folks are seeing that you know what it's like to have a five or six percent interest rate and that you know new costs of things the pressure on energy and so forth companies are being more reflective they're sort of looking back and going are we doing the right things are we focused on the important stuff and it's in our best interests with our skills and domain knows and the companies that we're working in make sure you know how your company makes money make sure the things you're building help that because we are productivity amplifiers we're incredibly good at building tools that allow the rest to work faster to do more we can help companies survive in difficult times we work on the right things all right we wanted to talk about technology we've kind of set the stage here is the landscape we live in today so now that we know we're living in a cloud and we're living in a cloud world mostly smartphones we're not going to count on you compute going much faster and in general our employers and our customers are going to be tighter with their cash what should we do start with the browser Market because the browser Market is kind of stable now if you really want to use up a lot of memory on your computer there's Chrome if you want to be frustrated with how well your websites working Safari if you want to use a browser nobody else cares about there's Edge and if you want to be an angry Anarchist there's Firefox like you have choices right there's no perfect solution to any of these they're nobody's utterly dominating the market I mean Chrome is still a big player especially for your typical employer that's likely the browser you're using you tend to build to that and we're clearly seeing the rough edges we're not all the same things work together but we have the tooling sets and you know on.net rocks we made fun of the rapid rates like hey we've got an hour-long show here there'll be at least two more Frameworks before this is done I feel like that pace is eased off a little I think people want a certain level of stability you know angular is not the new sexy anymore but it's it's utilization level inside of larger companies is massive and those top three across the board seem to be that you know majority of web development and we're still doing mostly browser development especially for companies because it's also a deployment issue and they're always running the latest version and that's things we want from that even if we have to constrain the feature system what and getting and all of these libraries have some degree advantages for working in the in the heterogeneous client world that we have that people are expected to be able to use those pages on a phone and on a tablet not a PC and have a reasonable experience on all of them it's still not easy development for us has all the easiest time of development was when the device you were writing the code on was the device it would normally run on that just hasn't been true for 20 years whether we acknowledge it or not now we typically are writing on a desktop PC or a robust laptop but we're running it on smaller form factor devices and that's a way more difficult thing to develop for it's a more complicated model it's a longer cycle but if you're not respecting that cycle you struggle with what you're making the progressive web app movement has helped us at the minimum to give us an icon for regular users to be able to get to that web page because goodness knows they couldn't figure bookmarks out right so now we have an icon it starts up a frameless browser where that's good enough there's a bunch of other great stuff in pwa and the three guys who use it think it's great and then there's our friend Steve Sanderson who brought us web assembly in the form of what would eventually be known as Blazer now he didn't invent it you know he wasn't first but he definitely brought it for us in the net Community back in 2016 at the NDC conference in Oslo he showed it off for the first time with a very Bizarro version of c-sharp that allowed us to run C sharp on the browser and really what webassembly has evolved into is a kind of container strategy where the inside surface of the container is this browser environment a Sandbox that's relatively safe to operate within and you can introduce almost any kind of code Microsoft took their time committing to Blazer Microsoft doesn't like being first it seems these days they kind of sat on that project as an experimental project until go Lang for web wa shipped as soon as that happened well then Blazer came out but it was like nobody wants to attack JavaScript but we do want a program in the languages we want to program the devices we want to program in and wa gives us this ability to program in the languages of choice down on the client device still in the browser so I still have my deployment issue solved I still have continuous update models where every time you click on it you get the latest version like all of the benefits of working in web development but now I get the language that I want to use if you've listened to the show you know we've been talking about other places that this container could run I mean Blazer made it absolutely obvious to us that we can run it on the server again run it on the client but now it's interesting to start thinking about different points of compute I don't want this code to necessarily run on the client device but I want it to run close to the client so could I Define a set of parameters for where this x block of code could execute that it could run in a CDN an edge point of some kind you know and this is all experimental but I'm hearing it more and more often that the web assembly is a another kind of container and what the potential of that offers to us long term so if you haven't explored this world and started poking around what's possible there just understand this is an area of growth extremely smart people are looking at where they can take webassembly to now if you want Dumber areas we could talk about web 3. it's easy to make fun of Mostly because it's pretty silly uh I see it coming down to three Central ideas decentralized web is I think the most reasonable aspect of web3 we if you think about web one late 90s early Arts thehold.com boom.com from Microsoft perspective for the idea of the internet becoming a popular thing that was very decentralized people ran web servers on machines under their desks connected to the internet it wasn't a good idea but it's something we did and it was powerful and flexible except it just wasn't reliable right sometimes that machine sometimes you trip over the power cord sometimes the cat barfs into the CD drive right like stuff happens and that machine was actually on the internet web 2 was far more centralized right we gave up our ownership of those devices in on the internet for a service provider it's just that we chose folks like Facebook but you can still put geocities in that can as well if you want but we now were getting into more interesting compute models with distributed execution and the problem of course is that those products turned into other kinds of exploitation of us and us not controlling the value we're actually making and now everyone's a little bit sick of it and so decentralized web is becoming hip again just trying to do it in a better way meaning running on the cloud you could still be largely decentralized because it's all about ownership of data so can you run your own Services through a provider who's not really running competing Services directly but rather having other people compete in that space I look more to stuff like the Shopify model where there's no reason for you to employ your own e-commerce engine anymore when you can go to a Shopify and run their engine for a set fee with many thousands of other people running their own the same engine for their products the one person not running an e-commerce engine is Shopify themselves right they're not a competitor in your own space that's fairly decentralized I can live with that the silly Parts when we get into web 3 I mean blockchain's not inherently stupid it's just wildly misapplied right the idea of a distributed data engine is pretty compelling it's just that people don't think about it well you know when I have a customer asking me about well we got to use blockchain it's like why because you saw it in a magazine like what do you want from it what what's the difference and often with most companies they still want to be central point of control it's like so you don't want blockchain the idea that other entities can introduce transactions on into this data independent of you is the basic stepping Point like if you're not going to do that then what are you talking about why do you need this but blockchain's got the problem that BitTorrent has bittorian's problem was that it came out of Napster a lot of stealing music it was a good protocol used for where its initial use was a nefarious use that was ultimately illegal and blockchain has the same problem it's bound to crypto and as we're seeing pretty clearly these days yeah crypto is pretty much a Ponzi scheme and so are we going to get something from it eventually maybe are most people just going to lose their money Sears seems like it it's easier to see that now than it than we saw it before but that's the part that's really contaminating web 3 is these fairly good ideas bound up with an idea that was very easy to exploit to fairly destructive purposes and so I think most of us these days who are a little more serious about stuff are going you know I think I'm just going to stay back from that rodeo and let it wind down and then we'll see what pieces are left in the end uh web 2 didn't happen overnight either this exploration of new ways to use the internet it is an exploration it takes time there's no other way to do it and so it's a question of are you gonna jump in and be part of that exploration or are you going to witness it and then make your move later on if you think like an engineer you're pretty conservative and you're not the first you're big on the the it manager of change is good you go first not a bad way to look at crypto these days .net's in a good place goodness knows I'm glad about that I make a podcast called.net rocks and back in 2011 we thought maybe that doesn't Rock and things were pretty hard about 11 years on 12 years on gotten is rocking pretty hard they've done a remarkable thing they've Rewritten the entire thing to be a cloud-centric heterogeneous client platform with some limitations without having to replace all the Tooling in the process I mean if you learned how to develop against.net in 2010 with Studio 2010 I can drop you on to Studio 2022 and.net core and you won't be confused you'll more or less get it there's a bunch of new stuff and there's some edges to things and we focus on some other elements but really we've had a complete overhaul of this 20 year old stack over the past six seven years and yet we don't have to relearn we don't have to start over we get to move most of our code on onto it and the new things you write we use familiar skills if anything the biggest problem Microsoft has right now with this is that it's so con it's so similar we still have our old practices we're not using new language features we're not taking advantage of the new stuff that's been brought to it and the only way they're going to fix that is tooling because compatibility is so important they're not going to take stuff away if you're using c-sharp two constructs they're going to keep working but you probably want to use a new one so I think you're going to start having more clippy events where it popsically goes wow your coding like it's 2007. can I help you because you can help and the big new tool in this space is Maui so this is the culmination of a tremendous effort inside of Microsoft to consolidate a client development Solution that's this deals with the heterogeneous client and multiple platforms it's still pretty Raw again the conservative engineering type of look at that and go you know I'll let you guys iterate on that a couple of times you guys you kind of get it right at the third version you're kind of like in a version and a half right now so I'll give you a little more time but the goal is challenging the idea of this magical unified client development model that works for all the devices something we want our customers couldn't care less about the customer only cares that it runs on their device they don't care if it runs on anybody else's device we're the ones who want to write one code base that runs on all of those devices because otherwise we can't keep them in sync or we're leaving somebody out and they're angry with us and that's never fun so this is Microsoft's client-side attempt on this and I mean I'm I'm excited for them the set the seven version is substantially better I think this will be almost sexy by November of this year with DOT net eight it just takes time for them to get this many features and this many teams cooperating across the stacks and if you're sticking with web development I don't blame you because it does it solves this problem with its own set of limitations I've yet to see a Maui implementation of a cross platform client solution where I said wow you couldn't do that with web we're not there yet we might be I don't know the answer to that we've talked about this a few times on the show and it doesn't seem to be going away the Power Platform so here's the other reality is that we kind of know what the client's landscape looks like we know there's phones and tablets and PCs an awful lot of our data over forms problem space in in work is all dependent on the cloud tenant that our employer has anyway and so the fact that we can essentially run this set of tools that builds a ball a bulk of that for us is pretty compelling but even more importantly these tools are Sim are straightforward enough that a domain expert can take a pretty good shot at an 80 solution for our workflow for a company and then it needs to be cleaned up by some of a bit more experience but a lot of ux development can be done by the person who's going to use it now this has happened before this is access and Visual Basic in the middle 90s where most people who grab those tools were domain experts not Developers they became developers later and I think we're seeing another wave of this but the parts that we find the least pleasant as professional developers that UI multi-platform UI problem this thing kind of knocks out and then it has a set of hooks back to backend services with some limitations they're all customizable we as professional developers can build additional endpoints for the Power Platform and if you're good at the ux side you can build custom components on the ux side for these domain experts to use too but I'm looking at our to-do list and we're not getting to the bottom of it so if there's a group of people out there that want to move things along by taking on some of that work do it the way Microsoft's license the thing it's for internal apps only you pretty much cannot put a power app into public it has to be authenticated members of the tenant so it's for internal apps they weren't fun to build in the first place so anything we can do to get more of those off the table and modernize them right you're looking at that web forms app that the CIO wants to run on their iPad and suddenly the fact that a Power Platform could get you a prototype of that in pretty short order it's pretty compelling I've mentioned wa in the context of containerization containerization is an ongoing evolving thing it's only getting bigger I got a recent show up where we're talking about Azure application identities and that ties into giving a security context to an application it's going to run in the cloud in a lot of ways containers do that too right we're demanding a manifest saying this is what the app this is the resources the app needs this is the operating contents it needs to operate in here are the rights that it needs the access points that it needs and more importantly if it tries to do anything it isn't in that kill it containers are just the evolution of that um in the next few years I think we're going to see containerization of software in General on desktop machines because of the security problems that when a given piece of software gets exploited and it tries to do anything outside of its normal set of behaviors the operating system recognizes that it's exceeding its container limits and stops it now that was always a good idea and Microsoft's tried to implement this in a few different ways for a long time but I think the security context is going to win I look at what's happened in cyber Insurance in the past couple of years today if you want to get Cyber Insurance not only is it more expensive but even multi they and they require multi-factor authentication but more and more I'm seeing things like you're required to do a privileged access audit I wouldn't surprise me at all if the insurers at some point say if the apps if your apps aren't running containers you're not insured because they see them as ways to avoid the exploits that the black hats are using so that might be what pushes this technology over the top is it becomes a consistent industry-wide way to resist the ransomware and other security attacks and if you're feeling a little overwhelmed with all the stuff I'm rattling through because I get to just tell stories for a living I don't have to implement any of it which is why it's all easy for me um that's okay there are a bunch of ways to have a great Development Career staying on the Leading Edge is really fun if it's fun for you you know the upside the downside to the Leading Edge is also the bleeding edge and sometimes you bleed you can also have a great career and many people do by becoming an expert in a stack that your company values and staying that expert it may not be the newest technology anymore but it's the one the company relies on and they need those experts and they need you to continue to grow and to be good at that technology and to keep it functional for the organization to keep doing the things it needs to don't jump because the thing is new you jump because it can no longer solve the business problems that it needs to solve I've talked to folks that started doing web forms development in 2005 and their company still uses a ton of it they're and it works it's reliable it's known set of problem spaces they have a you know they're 15 years into this or plus and do I really need to to jump to a new staff it's like no those apps aren't going away and in fact even when they are they're going to technologies that are orthogonal to web forms anyway that's why Blazer got so hip if you're a web forms developer and you look at Blazer you're just not that surprised this looks like something you've done it's not that hard to jump onto than you stack so the question is what did you want to do do you want to be part of the group of folks that are always learning and pushing on a new thing or you're going to be the expert in a given set you find a space that you like and you stay in that space and you get really good at that space and now you're an expert in a diminishing pool like your pay's still going to be good but you need to maintain your expertise you need to keep figuring out where the limits are and what's possible like it doesn't mean you ever stop learning we don't get to do that in this industry but it's a question of what you focus on do you really want to learn the new bits where we're all just trying to figure it out or you continue to expand on the space that you're in there's not one way to do a great career let's talk about artificial intelligence and I use this image for the simple reason that it's it is the reason that we think about AI the way we think about it it's terrible term was coined in the 1950s by a guy named Marvin Minsky when he's trying to sell stuff to the US Military the first time regular humans heard the phrase artificial intelligence it was in the movie 2001 A Space Odyssey and how and then he tried to kill everybody and set up our relationship with artificial intelligence going forward it's an umbrella term the one thing I know for sure about artificial intelligence is as long as somebody's calling something artificial intelligence it's because it doesn't work as soon as it does work it gets a new name right it becomes deep learning or Predictive Analytics or you know speech text systems as long as it doesn't work it's AI and so when folks talk to me about hey you know I'm working on this AI problem it's like what are you really working on like are you is it a machine learning model that's the new thing right like really what really came out of Jeff hinton's papers in 2011 that led to stuff like Siri and all the voice recognition and ultimately's vision interpretation models is all deep learning models based on machine learning right and this particular graphic I like because the short lines are the oldest Technologies those planning schedule and optimization those are back in the 50s expert systems and Robotics from the 1970s original speech recognition systems go back to the 80s and then in the 2010s we get this current crop of image recognition Vision systems language interpretation and we can incorporate it into our software today there are good libraries you don't have to invent stuff it isn't research anymore you want an image recognition module it's a module you load it into your software you have an image to be recognized and it can recognize it this is a real thing the software was doing what you told it to do said oh no no three dogs and you've run into the chat Bots right they're out there you it their first line tech support for almost everything today you're going to get a chat bot for us and sometimes they're speech Bots and they are getting better doesn't mean they're good we all learn to say agent very early on if we want to get out of that Loop these are again tooling sets that we can work with the area that I I'm really fascinated by right now that Microsoft's working on are these form recognizers so the idea that I can I can use an image recognition system to look at a form and it recognizes what is form and what is data and then Associates the two together into value pairs that's pretty cool right that we have a different strategy to digitizing a form rather than building it by hand in in code that now the tool would actually recognize it for your generator for you I I this was really about using initially paper because they called it a form recognizer like can I parse a page and have it pull the data out of it but I immediately thought hey aim that at a web forms page and re reimburse it for me and make it into Power Platform stuff like can you could I just have a tool thumb through all of the different views in an application and regenerate it in a new language why not we have machine learning models that are capable of parsing the data the final area in the machine learning spaces that has gotten powerful actually has been power for a while and when people are asking about hey my kids getting into technology like where's the big career opportunity it's analyzing data we have more data before we're analyzing it less and less effectively because we're just outnumbered there's so much data and only so much time the good news is the cloud is making things simpler for us in the 90s we had most of these predictive analytic models it's just that each one of them represented a huge amount of compute and so you'd do a bunch of pre-work to figure out what the most likely analytic model will be effective on this given data and then you'd build out a system and run it once and it would take weeks today this is a couple of hours in Azure load the date you'll spend more time loading the data up then you'll run all of the predicted analytic models and then you'll run model analysis against the models to figure out the one that fits the data set best for twenty dollars worth of compute so we have better tools than ever for doing Advanced analytics and as we go and when we talk about Advanced analytics you know the predictive model is really what's the next number that's going to come from this what's the trend on these is this going up as it's going down right we have plenty of tools in those sorts of forms as we start adding in machine learning we do it in bulk we're able to do more of them faster and compare them so that we can select models more efficiently it's less time or your space and more just hammering it with compute but you can go to a more advanced stage given you take a predictive model and it says this is the most likely outcome now you can actually run a scenario beyond that you're getting into prescriptive analytics so you're cycling the predictive model with actions you've been experienced this is where you know it or not have you lately thrown a bunch of stuff in a shopping cart and abandoned it and then you get an email from someone saying hey you put this stuff in your cart like can I give you a 10 off so you'll go buy it you're seeing a prescriptive model saying how often do I tickle this person now that they've shown some interest to increase the likelihood of completing a sale there's no humans involved it's all software but they're now running these prescriptive explorers to say how often should I hit them like given a thousand people did that and I emailed them this way what was the response rate what if I emailed in this way what's the response rate that's automated now that is prescriptive analytic models now obviously in the e-commerce sale there's one side but you're also seeing the same models used for things like when should you evacuate a town for a forest fire if I wait till it's obvious that the fire is going to hit the town now I risk People's Health in the crisis of trying to get them out or is it better at a low stress level to say let's move them early it'll cost us less the chance of them being injured or killed is lower and then if the fire goes the other way it's not that big of a deal right we're still building prescriptive models to explore the psychological effects of emergencies and being able to act more effectively to protect people we can also make video games so this is one of the open AI models the the in the early days where you would describe a game is this someone making a bad version of asteroids and it would spit out code for you this is not that exciting anymore most people have played hopefully with co-pilot now a whole other way to pull up code you don't understand you used to have to use stack Overflow for this but now you can do a machine learning model so there's fewer people saying that's a dumb question uh I'm concerned with the training set we've done a couple of great shows around this with folks like Michelle Manning where we you know maybe generating code that works but isn't secure or isn't you know reliable they've trained it against all of the open libraries on GitHub and that doesn't mean that means it's only as good as the code that we put into GitHub some of the code I put in the GitHub I'm not proud of uh so it is interesting to say how can they improve this to say hey I only want highly secure code that's thoughtful of all of those kinds of things they're now starting to stick language onto this so now you're going to talk about what code you want to write and the VP of the Power Platform Charles lamanna announced they've made a version of copilot for Power Platform so oh you had a no code solution where you're draggy dropping the form too much work just say making me a form right now use the image recognizer show them a copy of the paper version of the foreign it comes up so those are machine learning models for programming they're tools for us to use the whole we will all be replaced by this is silly it always was silly it's only getting sillier the longer we use these things but if you don't use them in your routine work you're kind of missing out it's an accelerant there's no excuse for not understanding the code you're putting in your system so the idea that this is an you're already you were using Google sometimes you're using stock overflow why wouldn't you use copilot to pull up code and then evaluate that code it's easier than a blank screen it's all anything we can do to get ourselves moving on a given problem space but it's still our discrimination the tool does not know that this code is right all it knows it fit the criteria you describe to it at the time that's as much to know with some percentage of probability hopefully in the high 90s but not always and chat GPT about the same thing right there I call it a dunning-kruger accelerator if you know nothing about a topic chat GPT is awesome as soon as you know something about a topic and ask chat YouTube It's not that awesome not actually concerned with facts what replaces the smartphone I mean the smartphone is dominated it's now the primary compute device but it's kind of mature you know the phones get bigger they get smaller they have one camera two cameras three cameras way too many cameras but they're kind of the same they're a slab of black glass we're kind of right for disintermediation the obvious device is some kind of AR headset right is some pair of glasses that we can put on that puts the data directory to our eyes it does everything the phone does without having to pull it out all right and actually gives us a bunch of other capabilities because now we have instrumentation on our head so that it can observe the world around us because we're not paying attention and that offers a bunch of possibilities that being said 2023 not a good year for AR Apple's just announced this is a mock-up of what we thought Apple was going to make it's all a lie and currently Apple says they're not making anything they've backed off so whatever prototypes they were working on internally they're not happy with them right now there are commercial products that are glasses with devices on it this is a Qualcomm device called the xr1 you can buy this today it's about a thousand bucks it's Tethered to an Android phone and it's just a USB headset that has microphones and speakers and cameras and and um and screens integrated into it and you're seeing these used in certain commercial applications if you want to look more like Google Glass you can do this with the Toshiba devices this is the Dyna Edge so I want one eye a little more industrial looking okay this Hardware exists there is hololens but hololens is not in a good place if I was this is the Trimble version of hololens 2 this is the one they wanted to put on all construction workers because construction workers are good with equipment um at 3 000 bucks a piece plus about a thousand dollars a month in operating costs when I when we started doing some case studies on implied hololens products I was stunned at how much Azure eats to operate it properly like now for certain markets that makes perfect sense construction site not so much but if you've been paying attention to the recent round of layoffs you know they've pretty much laid off the entire hololens team the leader of the hololens team a guy named Alex kittman left Microsoft back in July so they've been a little bit leaderless for the past few years then the Army announced they shut down there they were going to shut down a project they want to do more research on it and then they surrounded layoffs came so it looks like the hololens is an orphan for the moment I mean the uh the opportunity in certain verticals is really interesting the you know industrial applications where basically equipment becomes transparent checklists are live you're making continuous video record of the maintenance that you're doing these are all interesting applied cases I looked at this very much as the that the AR glasses were in the same place that the Blackberry phone was in like the 1990s in the 90s if you want an email on your phone I know crazy you had to buy these a thousand dollar phones in the 90s from from Rim called the Blackberry and had a little keyboard on it and you had to run a custom version of Exchange Server inside of your organization to make it work so you need a couple of guys in lab coats and a whole ton of licenses and you too could have email on your phone and it was so popular in the 90s they called them crack berries but it needed to be the right vertical it needed that cost had to be worthwhile that continuous access that person was important enough right you saw it on like The West Wing right the politicians and bureaucrats needed this sort of thing and of course today email has been completely commercialized it's in every device it's not a big deal but I look at hololens and the AR devices that way for the right vertical where you can afford that expend is Trivial to its value totally makes sense consumer device no not there yet and we don't know when we will be it's an insanely complex device now the hololens 2 is six years old we never saw the hololens 3. so The Tick Tock of Moore's Law still applying we should be able to get dramatically better headset we're just struggling for the applications for it I'll make fun of meta very briefly it's not hard to do anymore it was funnier a couple of years ago um I we would have said hey Zuckerberg created the largest loss of value in all time he burned through 10 billion dollars in a year but then I mean Facebook was a trillion dollar company now it's a 300 billion dollar company well done but then you know let's look at Twitter or Tesla my billionaires messing up their companies seems to be a style I presume it will pass uh these headsets are compelling this was really John Carmack the guy behind Oculus that got acquired by Facebook who is now put down his his lap time and go okay I've had enough few people and he's left now too so any sense that Facebook's along between Cheryl Sandberg leaving and Andrew and and Carmack leaving zucks by himself and I think fairly far off the rails Microsoft seemed to be playing ball they they wanted a team's version of this with the new the quest Pro the 1500 headset in the Horizon workspace they've now backed away from this so this is kind of a dark time in general we're kind of in it for AR and VR if you are interested in developing in this space the obvious tool is Unity like the bulk of development doing none of the space is done in unity it's c-sharp Centric it's his own custom build essentially if you've never played with this it's an experience and I recommend the tool often to kids who think they want to make games because you can do a few watch a few videos use a free version of unity and you can do a lot you can make a pretty straightforward side scroll and have an experience and then start to think more profoundly about the challenges of writing games but a lot they what Unity has going for it is a really good set of 3D libraries for making it easy to do all of that three-dimensional work okay one last topic and then we'll wrap up Quantum Computing because people love it so Quantum Computing is a kind of super Computing it's not likely to be a regular general purpose compute it's for super compute problems so the same way that we build these Titanic supercomputers for modeling weather and things these are the kinds of problem spaces the quantum computers are good for at there are a number of companies that are building a variety of different styles of quantum computers this to me Likens very much to the late 40s early 50s in general computing before the development of the uh of silicon so every computer is kind of bespoke this is the Sycamore computer built by Google it has 54 qubits it was the first to achieve Quantum Supremacy where it worked on a particular problem that was considered thousands of years of compute in traditional Computing that's questionable my favorite part of that story was it's a 54-bit comp quantum computer except one of the bits was broken on performance day so it was a 53 qubit run uh this particular design of quantum computers uh is what they call transmon Quantum processing so this is the kind of this is a way of doing quantum entanglement with ultra cooled uh material they cool into liquid helium uh which is dangerous the Chinese have a photonic quantum computer they had up and running in about 2020 with 100 and 13 entangled qubits they did a boson sampling compute in 200 seconds that would have been multi-billion years of traditional compute it was a known problem it's kind of a proof point but again these are getting there and then IBM's eagle and Osprey and Condor architectures uh in the hundred to uh 120 or so qubits that one was in benchmarking in 28 late 2021 2022 we haven't seen the results from it yet they were promising by last year to have a 400 qubit processor that hasn't materialized yet and this was supposed to be the year they produced a thousand qubits that hasn't happened either but the real question is what the hell are you going to do with this thing like the only favorite thing you ever hear in the news is the end of security that we're going to be able to break RSA encryption which is true kinda in the end encryption strategies that use prime numbers these very large prime numbers are susceptible to the compute strengths of quantum computer if you have four or five thousand entangled qubits you should be able to crush through 128 digit primes in a matter of seconds we don't have to use prime based encryption there are other kinds of encryption in fact the NSA is currently recommending that we switch to lattice based encryption it's just not as efficient to encrypt with other kinds of Christian strategies it turns out the computers are good at prime numbers it's a cost-effective ways to do encryption as well as decryption so forget the encryption problem solvable not interesting the most interesting problems in the quantum Computing space are actually chemistry problems and the classic one for me is in agriculture so in the pre-technological era if you wanted to grow crops routinely if you were planting wheat if you kept growing wheat in the same chunk of land year over year you got less and less wheat because you depleted the soil you had to rejuvenate the soil now today in an industrial world we have the Haber Bosch process where we make industrial fertilizers and after you have a season of growing wheat you then fertilize the stod out of that land and repopulate that replenish the soil to grow wheat again but before we had that we rotated crops and there are bean plants typically that has a rhizome on it that lives on the roots and inside of that is an enzyme called nitrogenase and nitrogenase naturally affixes nitrogen it takes water and nitrogen from the air and in a catalytic reaction turns it into ammonia so in the normal crop rotation you would grow a crop of beans you would harvest the beans you'd plow the plants under and then you'd let the land go fallow for a year you let those roots rot and they would release fertilizers back into the soil and then the third year you can plant wheat again that's the traditional non-technical way to do it chemical fertilizers avoided that but chemical fertilizers have their own cost right they're about one percent of the energy consumption of this planet is based on making Distributing fertilizers so if we could utilize this thing that a bean plant could do we could have a significant impact on agriculture the problem is that the catalytic reaction that goes on inside of that enzyme involves atoms of molybdenum and iron and it's a 2 to the 170th complex problem to understand the electron interaction which is like more atoms that are on the than they're on the Earth a mid-sized quantum computer something in the 400 Cubit range should be able to solve this should give us an example of the correct catalytic reaction that doesn't mean we'll immediately be able to implement it but once you know what the reaction looks like you have a chance of now engineering an implementation of it so that we could be making fertilizer directly from Air at low power plant power and be able to grow food more routinely it's an interesting Quantum problem there are other quantum chemistry problems like that battery design is largely based on experimentation not on our actual understanding of the interactions of the compounds what we have done in battery development today has gotten really good at iterating on trying different combinations not actually understanding the optimal combination it's a Quantum Computing problem modern superconductors the Revco superonductors which are made from rare earth materials and bearing cupric oxide are ceramics that are superconductive at liquid nitrogen temperatures as opposed to niobum Tim which is superconducting it helium temperatures which is way harder to deal with we've had these superconductors for about 40 years we just don't really understand how they work and so it's hard to make better ones and again Quantum Computing quantum chemistry problem these are all deterministic problems so the real question is how many quantum computers do we need because once you've solved it you kind of need to solve it again right it's not a non-determinist problem where you need to do it every time like a weather problem it's just a terministic problem and it reminds me of of uh of Thomas Watson's statement when they were first building mechanical mainframes for the original version of IBM where he told this board I think there's only a market for like five of these and then they went out selling and they sold like 25 and it was a revelation but that was because back then the computer looked like this right this is before Intel this is before the Silicon transistor your computer looks like this you can't Envision a smartphone like you can't see it from there it's it's too hard the first transistor ever made made in Bell Labs the geranium transistor looked like this it's pretty hard to look at that and make M1 chip all right it's a big jump so going back to that Mainframe what made traditional Computing useful was the integrated circuit we suddenly had a stable reliable way to make bits we made RAM and then we made processes for them they were consistent and we could scale them and Moore's law took over we got more and more potential compute I described to three different kinds of quantum computers today they were all radically different because there's not a good qubit yet everybody's trying to make the right qubit they're exploring their quantum computers are very much like these bespoke General computers from the 40s and 50s and maybe that's what it's going to take the my favorite story of this whole thing is the guy one of the guys who made this transistor a guy named William Shockley he was also the guy who who then created a company called Fairchild silver conductor and he tried to make and he made the first integrated circuits and when he was trying to figure out the chem the chemistry was going to needed to dope it properly and what the ratio should be and so forth he used an old style mechanical Mainframe to do the computation and that gave him the models to be able to build the first integrated circuits that made far more reliable general purpose computers I wonder if these flaky goofy unreliable quantum computers were building today are the compute devices we'll need to find the reliable qubit I don't know the answer to that but I like how the history Rhymes I do know this we're trying to predict the future the best way to do it is to make it and that's us we do this we're going to go out and do some work these next couple of days we're going to do a bunch of learning and we're going to create the future I can't wait to see what we make thank you for your time thank you [Applause]
Info
Channel: NDC Conferences
Views: 201,170
Rating: undefined out of 5
Keywords: Richard Campbell, Software, .NET, Cross-Platform, JavaScript, Tools, AI, Artificial Intelligence, Quantum Computing, NDC, Conferences, 2023, Live, Fun
Id: ND_AjF_KTD8
Channel Id: undefined
Length: 67min 4sec (4024 seconds)
Published: Tue May 02 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.