Placeholder Image

字幕列表 影片播放

  • [Music]

  • >> Scott: I've actually got a couple of devices plugged into me.

  • Right now I've got this band. This is real. It's monitoring

  • my heart rate. But I'm also a Type I diabetic. And I've been

  • diabetic for 20 years. One of the things that every diabetic

  • does when they become diabetic is they try to solve this problem

  • usually with Microsoft Excel; but at some point they try to figure

  • out, well, I'm a diabetic and I'm an engineer, let's plug some

  • wires together and see what we can do. So when we say the Internet

  • of Things, I think it's great that you, the normal sugared people,

  • you know, you have your FitBits, and we think that's adorable,

  • but I have an insulin pump and that insulin pump is plugged in.

  • There's the insulin pump. And it's plugged into my arm.

  • It's 24 hours a day.

  • And that talks to a system. Here is a CGM. That is my actual

  • live blood sugar right now.

  • You see how it's kicking up there a bit?

  • That's because of stress.

  • That's actually plugged in down here

  • in an implant in my side. Sorry to show you my chubbiness.

  • And this is real. When you hear Internet of Things, you think

  • Fitbit and you think Raspberry Pi, but I think this.

  • And we've plugged this into some cloud systems that I want to

  • share with you. While the Internet of Things is fun, things like

  • Raspberry Pi, this is great, this is a Raspberry Pi, this is

  • an Internet of Things enabled one. We've actually got C code

  • on this talking to this temperature sensor. So what does that

  • temperature sensor look like? Let me switch over to some code

  • here and show you.

  • This is some C code inside of Visual Studio. This is the low

  • level stuff. C code makes your eyes blur a little bit sometimes.

  • What you need to know, people who are wearing suits, is you've

  • got IoT Hub and you have Azure devices. So the takeaway there

  • is that that's cloud enabled. But for the developers that think

  • this is crazy, I want you to notice that we've actually got a

  • Visual Studio plug in to do remote debugging of things like Raspberry

  • Pis in Visual Studio. So whether it be high level, updating hundreds

  • of thousands of objects, or whether it's low level and doing

  • remote GDB debugging to a Raspberry Pi, we can do that.

  • Now let's talk about my system. Let me bring back to the slides

  • here for a moment. This is overwhelming. This is Azure, and

  • all these icons,

  • all these people doing all these things. Let's talk about me

  • and the system that I'm building.

  • That's me in my shirt.

  • I've got my bands. The band goes to Microsoft Health. That goes

  • ultimately into storage.

  • My glucose system actually goes up into an API, and I pull that

  • data in as well, because that's personal to me. I've got my

  • heart rate over years. I've got my blood sugar over years.

  • What can I do with that? I'm going to show you some visualizations,

  • some graphs and I'm going to plug some things into Office and

  • see if Azure machine learning can answer some really interesting

  • questions about me and my health. And this is all live and this

  • is all real.

  • So let's come back over to this machine here.

  • This is a system called Nightscout. This is an open source node

  • application that is running in Azure, and this talks to my CGM,

  • my Continuous Glucose Meter. And I want you to point out a couple

  • of things here.

  • This is the first presentation today.

  • And this is now.

  • That is a realtime system that is showing my blood sugar.

  • And one of the things that happens is not just that I drink orange

  • juice, which, by the way, I have in case I pass out, but also stress.

  • Stress dumps glucose into the system. And this is just one of

  • the things that I have to deal with when I'm managing my blood sugar.

  • And actually I'm not sure if the guy can get a tight shot of that.

  • But this just popped up and it will appear in the cloud.

  • It's warning me that I'm now going high. So in a second the

  • website is also going to announce, and I'll get a notification

  • on my band and on my watch, and people are going to start calling

  • me and it will be scary.

  • So there we go. Notification just showed up. So let's talk about

  • how that notification did in fact show up. I've got a band.

  • And this is some data in the cloud. How do I see that?

  • Well, turns out the band can talk some JavaScript. I can take

  • JavaScript out of the band. This is at developer.microsoft.band.com.

  • You may have a band. You may not be a developer, but you may

  • have a URL that points to JavaScript or a blog or some XML and

  • you want to create a tile. I made one for my blood sugar.

  • So now I've got Nightscout on my system, and I can see my blood

  • sugar right there.

  • What's interesting about this is that I can use this Visual Designer,

  • but I can also

  • look at the manifest directly and look at this.

  • That's the code there. Sugar is high. If it's over 150, notification.

  • And then I'll get a notification on my band. This could be done

  • with a build server, whether you want to water your plants, whatever.

  • That is the personal Internet of Things. And that's what makes

  • me happy. But let's think about this. Once my blood sugar is

  • in the cloud, what else can I do with it? I can send notifications.

  • My wife can be concerned. She's probably going to be calling

  • in a moment to make sure that I'm okay. But this is part of

  • the process. Remember how I said I want to analyze this stuff

  • in Excel.

  • Well, it turns out that I'm not very good at VBA, Visual Basic

  • for Applications. Remember that 80 percent of the world's business

  • logic runs in Excel. I think that's a fact. And in fact there's

  • an Excel JS API, JavaScript API for Excel. I can write an add

  • in for Excel in JavaScript using the Web technologies that I

  • know how to make. So we went and we made the

  • HanselSugarsProject, and I'm going to actually show you

  • some of the code here in just a second.

  • There we go.

  • Where we're going to populate a table in Excel using JavaScript,

  • using Web technologies. And what's exciting for this, exciting

  • for me about this, is that I didn't know how to do this before.

  • You see? I'm a Web developer. But now I can go in here put in

  • my target range, hit refresh, and now we're going to go and talk

  • to the backend system and then dynamically populate a chart in

  • Excel of my blood sugar that I could then send to a doctor or

  • my wife. You have to think about the sense of power and enthusiasm

  • I had suddenly have for Excel that I did not have before.

  • I'm a Web developer. That's a Web application in the pane there.

  • And it works in Excel Online.

  • And one day it will work in Excel on an iPad.

  • It's like pft. Once you learn how to use one Lego piece, you

  • can then plug them into other stuff. It's extremely heartening

  • for me to do this. Again, if my blood sugar isn't interesting

  • to you, and it shouldn't be, maybe some hobby of yours or some

  • thing at work or some inspiration will come into your mind and

  • you'll think about how you can plug these things in together.

  • That's what's so exciting about this. So I've got all my blood

  • sugar in real time. I can collect it into the cloud. What else

  • can I do with it? Let's switch over to another machine here.

  • I'm going to switch over to a Mac.

  • This is a Mac running VS Code. And this particular Mac has got

  • the code to collect my data from the whoops from the health API.

  • So we're going to go and make RESTful API calls, standard API

  • calls off to Microsoft Health, which is where the Band Aid is

  • stored, because this is the thing that's so important. It's my data.

  • It's my heartbeat data. My blood sugar is my data. Once I have

  • that ownership of that data, what can I do with it? I can plug

  • in that data and do different stuff. Let me see if I can jump

  • out of here. This has gone full screen.

  • Full screen can be a little confusing. There we go. I'm going

  • to take that data, and I'm going to pull it out of the Microsoft

  • Health API. And this is a storage explorer. The reason I wanted

  • to show you this on a Mac is because this is the Azure Storage

  • Explorer that we've released. That's cross platform. We're looking

  • at the CSV files of my blood sugar data as it's sitting in the cloud.

  • Excuse me. My heart rate data, pardon me. I'm going to hit download.

  • I'm going to throw that on a desktop. Watch the right side.

  • Now I have power. Now I have control. Now I've got a hold of

  • that and I can run analysis on it. And now in this case I just

  • brought it down to the desktop. I can do some test

  • notifications on my blood sugar.

  • I've got I can do some analysis here, but maybe I want to do

  • that analysis in a more sophisticated way. When you start thinking

  • about the Internet of Things, you start thinking about huge amounts

  • of data.

  • I said it has my heart rate. Like how much is that?

  • Is it an average over a minute, over five minutes, over hours?

  • This is a huge amount of data. My blood sugar is doing three

  • or 400 datasets every single day. Over the course of a year,

  • this adds up to huge amounts of information. This is where simply

  • putting it into Excel and sorting going looks like a pattern

  • isn't going to be enough for me. I'm going to need to do some

  • machine learning. I want to find out about why does my blood

  • sugar go up when I'm stressed out. What does Thanksgiving dinner

  • look like? Maybe I can answer those questions with machine learning.

  • So I'm going to switch back over to

  • this system here. And what I'm going to do,

  • I'm going to jump into here. This is a machine learning kind

  • of algorithm that I've put together, experiment, if you will,

  • to pull in data from the heart rate on the right there from Azure

  • Storage and the glucose data and I'm going to come up with a

  • stress index. I'm inventing a number the Hanselman Stress Index.

  • And we're going to load that data up. And what we're going to

  • do is clean it up, do a little bit of normalization, do a couple

  • of analysis, run some statistics, and then come up with a dataset

  • that the result is going to be a time based dataset of my stress.

  • Okay. So that's kind of interesting.

  • It's pretty powerful, though, that but I need to see it over time.

  • So how would I express this over time? And what value is there

  • in it?

  • Well, there is this API in Office 365 and all of Microsoft called

  • the Graph API, the Microsoft Graph, graph.Microsoft.com, and

  • this allows me to pull my information. I keep stressing, it's

  • my blood sugar, my heart rate, and my calendar and my e mail.

  • I want a unified API to go and get those things and the graph

  • API, you can see there at graph.Microsoft.com allows me to make

  • those requests. So what if we looked at my blood sugar and my

  • stress and my heart rate over time, overlaid on an Office 365

  • calendar, that could give us some insights. And again I don't

  • know anything about this stuff. This is what's so important and

  • why as a developer this is so exciting. I know JavaScript.

  • I know the Web. I know C#.

  • Now I'm feeling comfortable about the cloud. But when I see,

  • hey, this is an API and it uses JavaScript and I can access all

  • the graph data in Microsoft, that's amazing. That's a playground

  • of excitement. So I can go build this, get a start date and end date.

  • This is all standard

  • parsing of JSON, parsing of JavaScript, all using the graph API

  • and let's see what kind of question that could potentially answer.

  • So here is my calendar;

  • the stress index as it applies to calendar data. Let's click

  • on one. This is all real.

  • So here's glucose is updating.

  • I can see the different rehearsals and I can see heart rate and

  • sugar and stress changing. I can actually run queries and see

  • the result of that machine learning and ask the really burning

  • question, the question that we all have, which is what is the

  • most stressful person in my life that is causing these problems

  • and raising my blood sugar.

  • [Laughter] [Applause]

  • Darn it.

  • It is a really, really great time to be a developer.

  • I can put stuff like this together now. It is an extremely personal time.

  • It's an extremely empowering time. You know how we keep telling

  • everyone: Teach the kids how to code; everyone needs to learn

  • how to code. That's a part of it. But we need to teach people

  • how to think about systems and how to plug stuff in. I don't

  • know the Graph API.

  • But it made sense because it's using open Web technologies.

  • I don't know a lot of open source systems. But I'm learning

  • those libraries. And I'm bringing them in because they're using

  • open tech.

  • .NET is open source. If I have questions, I can look at the docs

  • but I can also read the source.

  • Maybe I want to run a Mac. Maybe I want an iPhone. I can build

  • those systems with the mobile tools in Visual Studio. Maybe I

  • want to run on Ubuntu then I can use Visual Studio code and I

  • can write Angular and use Go and run those things in the Azure cloud.

  • It's such an exciting, empowering time to be a developer now.

  • I really hope you have as much fun building stuff as we have

  • had building this stuff for you. And I really look forward to

  • seeing what you all can build. Thank you very much and have a

  • really great day.

[Music]

字幕與單字

單字即點即查 點擊單字可以查詢單字解釋

B1 中級

Scott Hanselman的最佳演示!物聯網、Azure、機器學習等。 (Scott Hanselman’s best demo! IoT, Azure, Machine Learning & more)

  • 60 4
    Raymond Chung 發佈於 2021 年 01 月 14 日
影片單字