devnet-1111scott hanselman on virtual machines, javascript and assembler

124
JavaScript, Virtual Machines, and the Cloud Scott Hanselman @shanselman Google for “scott”

Upload: cisco-devnet

Post on 14-Aug-2015

219 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

JavaScript, Virtual Machines, and the Cloud

Scott Hanselman@shanselmanGoogle for “scott”

Page 2: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler
Page 3: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Page 4: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Page 5: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Page 6: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

http://weknowmemes.com/2012/01/no-i-must-dance/

Page 7: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

I work here.

Page 8: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

I work here.

Remotely, actually.

Page 9: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

I work inopen source.

LEGO Death Star stock product photo

Page 10: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler
Page 11: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Before Microsoft

Page 12: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

AfterMicrosoft

Page 13: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

The Cloud

The Browser

Page 14: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler
Page 15: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

“I think there is a world market for maybe five computers.” – Thomas J. Watson

Page 16: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

“I think there is a world market for maybe five computers.” – Thomas J. Watson

Page 17: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

“I think there is a world market for maybe five computers.” – Thomas J. Watson

Page 18: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

“I think there is a world market for maybe five computers.” – Thomas J. Watson

Pictures: Wikipedia Commonshttp://en.wikipedia.org/wiki/File:Ibm704.gif

http://en.wikipedia.org/wiki/File:IBM_Electronic_Data_Processing_Machine_-_GPN-2000-001881.jpg

Page 19: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

“I think there is a world market for maybe five computers.” – Thomas J. Watson

Pictures: Wikipedia Commonshttp://en.wikipedia.org/wiki/File:Ibm704.gif

http://en.wikipedia.org/wiki/File:IBM_Electronic_Data_Processing_Machine_-_GPN-2000-001881.jpg

Page 20: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Picture courtesyNorwich City Council – Norfolk Record Office

Page 21: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

The Cloud

Page 22: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Hardware

Operating System

Memory Manageme

nt

Graphics Subsystem

sStorage

Threading Events Networking

Security

APIs

Page 23: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Cloud

Your Data Center

Virtual MachineOS

Memory Management

Graphics Subsystems Storage

Threading Events Network

Security

APIs

Page 24: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Cloud

Your Data Center

Page 25: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Your Data Center

Cloud Other Service Providers

Page 26: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Running Linux in AzureNeil deGrasse Tyson: Animated GIF memeLow res frame capture used under Fair Usehttp://youtu.be/danYFxGnFxQ#t=1m31

Page 27: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler
Page 28: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler
Page 29: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler
Page 30: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler
Page 31: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler
Page 32: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Virtual Machines

Azure Managed

OS Updates

You Manage

OS + Apps

Cloud Apps

Web Sites.NET,node,PHP,

Python

.NET, node, PHP,

Java, Scala, Python, Ruby,

C++,freakin’ Erlang…

Page 33: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Your First House

Azure Managed

OS Updates

You Manage

OS + Apps

Renting a Room

Hotel

.NET, node, PHP,

Java, Scala, Python, Ruby,

C++,freakin’ Erlang…

.NET,node,PHP,

Python

Page 34: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Your First House

Azure Managed

OS Updates

You Manage

OS + Apps

Renting a Room

Hotel

.NET, node, PHP,

Java, Scala, Python, Ruby,

C++,freakin’ Erlang…

.NET,node,PHP,

Python

Page 35: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

1SHARED INSTANCES

:-)

shared

Page 36: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

2SHARED INSTANCES

:-)

:-)

shared

Page 37: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

3SHARED INSTANCES

:-)

:-)

shared

:-)

Page 38: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler
Page 39: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler
Page 40: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler
Page 41: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

GIF Loop via Bravo

Page 42: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

GIF Loop via SNL

Page 43: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

The cloud doesn’t care about languagechoice

Page 44: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Run.NET,

node.js,Java,PHP,

Python,and

whateverelse

Artistic Photo Illustration by Gustaf MantelUsed by permission http://iwdrm.tumblr.com/post/4994505935

Page 45: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

ASP.NET MVC,Razor,Web APIand moreALL Open Source

Artistic Photo Illustration by Gustaf MantelUsed by permission http://iwdrm.tumblr.com/post/7579034417

Page 46: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

open source http://github.com/windowsazure

Page 47: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

The Browser

Page 48: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Hardware

Operating System

Memory Manageme

nt

Graphics Subsystem

sStorage

Threading Events Networking

Security

APIs

Page 49: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Picture: Wikipedia Commonshttp://commons.wikimedia.org/wiki/File:ICL_2966_mainframe.jpg

Picture: Creative Commonshttp://www.flickr.com/photos/nox_noctis_silentium/6315111717/

Page 50: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Picture: Wikipedia Commonshttp://commons.wikimedia.org/wiki/File:ICL_2966_mainframe.jpg

Picture: Creative Commonshttp://www.flickr.com/photos/nox_noctis_silentium/6315111717/

Screenshot of http://www.masswerk.at/googleBBS/

Page 51: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Picture: Wikipedia Commonshttp://commons.wikimedia.org/wiki/File:ICL_2966_mainframe.jpg

Picture: Creative Commonshttp://www.flickr.com/photos/nox_noctis_silentium/6315111717/

Screenshot of http://www.masswerk.at/BingBBS/

Page 52: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Picture: Wikipedia Commonshttp://commons.wikimedia.org/wiki/File:ICL_2966_mainframe.jpg

Picture: Creative Commonshttp://www.flickr.com/photos/nox_noctis_silentium/6315111717/

Page 53: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Web page title

http://www.url.com

Browser

Page 54: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Web page title

http://www.url.com

BrowserLogo: Creative Commons

http://www.flickr.com/photos/silveiraneto/2270445344/

Page 55: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Web page title

http://www.url.com

Browser

Page 56: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Web page title

http://www.url.com

Browser

Flash

Page 57: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Web page title

http://www.url.com

Browser

Operating System

Memory Manageme

nt

Graphics Subsyste

msStorage

Threading Events Networking

Security

APIs

Plugin Virtual Machine

Page 58: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Web page title

http://www.url.com

Browser

Operating System

Memory Managem

ent

Graphics Subsyste

msStorage

I/O Events Networking

Security

APIs

Plugin Virtual Machine

Screenshot of http://www.masswerk.at/googleBBS/

Page 59: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Artistic Photo Illustration by Gustaf MantelUsed with permissionhttp://iwdrm.tumblr.com/post/1439925923

Page 60: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Web page title

http://www.url.com

Browser

Operating System

Memory Manageme

nt

Graphics Subsyste

msStorage

Threading Events Networking

Security

APIs

Virtual Machine

<html>

<body>

</body>

</html>

Page 61: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Web page title

http://www.url.com

Browser

Virtual Machine

<html>

<body>

</body>

</html>

Page 62: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Write Once Debug Anywhere• The Promise of Java has finally arrived!

Page 63: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Web page title

http://www.url.com

Browser

JavaScript

Page 64: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Web page title

http://www.url.com

Browser

JavaScript

Page 65: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Photo by Leon Bambrick, used with PermissionSecretGeek.net

Page 66: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Web page title

http://www.url.com

Browser

JavaScript

Page 67: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Web page title

http://www.url.com

Browser

Virtual Machine

JavaScript

?

Page 68: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Web page title

http://www.url.com

Browser

JavaScript

Page 69: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Web page title

http://www.url.com

Browser

JavaScript

Page 70: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Web page title

http://www.url.com

Browser

JavaScript

Page 71: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler
Page 72: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Web page title

http://www.url.com

Browser (Hardware Layer)JavaScript (OS)

Memory Management

Garbage Collection

Graphics Subsystems

HTML, CSS, Canvas, Web

GL,Audio, Video

Storage

Cookies, IndexedDb,

File API

Threading

Web Workers

Events

DOM Events,Callbacks

Network

WebSockets,XHR, Offline,

Realtime

Security

Sandbox, SSL,CORS

APIs

GeoLocation,Sensors

Page 73: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Atwood's Law: any application that can be written in JavaScript, will eventually be written in JavaScript.

Page 74: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Mobile Browser

JavaScript

Memory Management

Garbage Collection

Graphics Subsystems

HTML, CSS, Canvas, Web

GL,Audio, Video

Storage

Cookies, IndexedDb,

File API

Threading

Web Workers

Events

DOM Events,Callbacks

Networking

WebSockets,XHR, Offline,

Realtime

Security

Sandbox, SSL,CORS

APIs

GeoLocation,Sensors,

Page 75: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

The biggest mistake we made as a company was betting too much on HTML5 as opposed to native. It just wasn’t ready.” - Mark Zuckerberg

Picture: Creative Commons http://commons.wikimedia.org/wiki/File:Scoble-Zuckerberg-20080723.jpg

Page 76: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler
Page 77: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

“The avalanche has already started.It is too late for the pebbles to vote.”

Page 78: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

“The avalanche has already started.It is too late for the pebbles to vote.”

Kosh - Babylon 5

Page 79: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

JavaScript

Memory Management

Garbage Collection

Graphics Subsystems

HTML, CSS, Canvas, Web

GL,Audio, Video

Storage

Cookies, IndexedDb,

File API

Threading

Web Workers

Events

DOM Events,Callbacks

Network

WebSockets,XHR, Offline,

Realtime

Security

Sandbox, SSL,CORS

APIs

GeoLocation,Sensors

Page 80: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

by Mark McDonnellhttp://www.integralist.co.uk/used with Permission

Page 81: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Once upon a time, HTML Tables were the most advanced thing there was.

Page 82: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Once upon a time, HTML Tables were the most advanced thing there was.

ROWSPAN!

Page 83: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

GIF Loop via ST:TOS

Page 84: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

HTML is simpler than ever

<div class="iphone"/>

Page 85: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

<HTML/>

is only the structure now.

Page 86: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

CSS { .is { color: $andstyle; }}

Page 87: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler
Page 88: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

function JavaScript() { var is = "everything else";}

Page 89: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Photo by Nelson Wellshttp://nelsonwells.net/2011/02/a-visual-comparison-of-the-good-and-bad-parts-of-javascript-2/

Page 90: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler
Page 91: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler
Page 92: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

1 second Low-Res Animated Frames used under Fair UseNacho Libre cropped shot

Page 93: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

"JavaScript is the Assembly Language of the Web"

Page 94: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

"JavaScript is the Assembly Language of the Web" - Me

Page 95: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

"JavaScript is the Assembly Language of the Web" – Me

and everyone else 'cause it's true.

Page 96: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

I said "JS is the x86 of the web" a couple of years ago but I can't claim it's original. - Brendan Eich

Brendan Fraser headshot

Page 97: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

I said "JS is the x86 of the web" a couple of years ago but I can't claim it's original. - Brendan Eich

(He kind of invented JavaScript)Brendan Eich

Wikimedia Commons: http://en.wikipedia.org/wiki/File:BEich.jpg

Page 98: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

var Greeter = (function () {

function Greeter(greeting) { this.greeting = greeting; }

Greeter.prototype.greet = function () { return "<h1>" + this.greeting + "</h1>"; }; return Greeter;})();

var greeter = new Greeter("Hello, world!");var str = greeter.greet();document.body.innerHTML = str;

class Greeter

constructor: (@greeting) -> @greet -> return "<h1>" + this.greeting + "</h1>"; greeter = new Greeter("Hello, world!");str = greeter.greet()document.body.innerHTML = str

CoffeeScript

Page 99: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

var Greeter = (function () {

function Greeter(greeting) { this.greeting = greeting; }

Greeter.prototype.greet = function () { return "<h1>" + this.greeting + "</h1>"; }; return Greeter;})();

var greeter = new Greeter("Hello, world!");var str = greeter.greet();document.body.innerHTML = str;

class Greeter { greeting: string;

constructor(greeting: string) { this.greeting = greeting; }

greet() { return "<h1>"+this.greeting+"</h1>"; }} var greeter = new Greeter("Hello, world!"); var str = greeter.greet(); document.body.innerHTML = str;

TypeScript

Page 100: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Don’t let layers hide too much complexity

Page 101: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler
Page 102: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Browser (is now a Virtual Machine)

JavaScript (OS)

Memory Management

Garbage Collection

Graphics Subsystems

HTML, CSS, Canvas, Web

GL,Audio, Video

Storage

Cookies, IndexedDb,

File API

Threading

Web Workers

Events

DOM Events,Callbacks

Network

WebSockets,XHR, Offline,

Realtime

Security

Sandbox, SSL,CORS

APIs

GeoLocation,Sensors

Page 103: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

“No one writes JavaScript anymore.They write jQuery.”

Page 104: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler
Page 105: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

“No one writes JavaScript anymore.They write jQuery.”

- Jake Weary

Page 106: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

“No one writes JavaScript anymore.They write jQuery.”

- Jake Weary

Page 107: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

“No one writes JavaScript anymore.They write jQuery.”

- Jake Weary

Page 108: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Photo via Creative Commonshttp://www.flickr.com/photos/pmiaki/7443947216/

Page 109: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Photo via Creative Commonshttp://www.flickr.com/photos/hober/318163517/

Page 110: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

SharePoint

Photo via Creative Commonshttp://www.flickr.com/photos/kisocci/3118105042/

Page 111: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Photo by Scott Hanselman at OMSI, Portland, OR 2012Original Sculpture by BrickArtist.com

Page 112: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler
Page 113: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Consider using theVanillaJSJavaScript Library

Page 114: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

expect morefromyourweb tools

Artistic Photo Illustration by Gustaf MantelUsed with Artist Permission http://iwdrm.tumblr.com/post/3181676800

Page 115: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler
Page 116: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler
Page 117: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

The CloudMassive scale and elasticityYour choice of languages

The BrowserDeceptively powerful. Accelerated graphicsRich style and integrated virtual machine

Page 118: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

The CloudYou have unlimited Virtual MachinesYou can write in any language

The BrowserYour user has a powerful Virtual Machine You can write JavaScript (or target it)

Page 119: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

The user’s Virtual Machine is part of the cloud also…put it to work.

Your cloud doesn’t need to work so hard.

Page 120: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

You are not obsolete. Artistic Photo Illustration by Gustaf MantelUsed with Artist Permission http://iwdrm.tumblr.com/post/3901348750

Page 121: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

You are powerful. Artistic Photo Illustration by Gustaf Mantel Used with Artist Permission http://iwdrm.tumblr.com/post/21381673042

Page 122: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

You already know the cloud.

You can program the browser.

Page 123: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Get to work!Artistic Photo Illustration by Gustaf MantelUsed with Artist Permission http://iwdrm.tumblr.com/post/8960688061

Page 124: DEVNET-1111Scott Hanselman on Virtual Machines, JavaScript and Assembler

Be well,write good code,

and stay in touch

@shanselman