Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
http://weknowmemes.com/2012/01/no-i-must-dance/
I work here.
I work here.
Remotely,
actually.
I work in
open source.
LEGO Death Star stock product photo
Before
Microsoft
After
Microsoft
The Cloud
The Browser
“I think there is a world market for
maybe five computers.”
– Thomas J. Watson
“I think there is a world market for
maybe five computers.”
– Thomas J. Watson
“I think there is a world market for
maybe five computers.”
– Thomas J. Watson
“I think there is a world market for
maybe five computers.”
– Thomas J. Watson Pictures: Wikipedia Commons
http://en.wikip...
“I think there is a world market for
maybe five computers.”
– Thomas J. Watson Pictures: Wikipedia Commons
http://en.wikip...
Picture courtesy
Norwich City Council – Norfolk Record Office
The Cloud
Memory
Management
Graphics
Subsystems
Storage
Threading Events Networking
Security
APIs
Cloud
Your Data Center
Memory
Management
Graphics
Subsystems
Storage
Threading Events Network
Security
APIs
Cloud
Your Data Center
Your Data Center
Cloud Other Service Providers
Neil deGrasse Tyson: Animated GIF meme
Low res frame capture used under Fair Use
http://youtu.be/danYFxGnFxQ#t=1m31
Azure
Managed OS
Updates
You
Manage
OS + Apps
.NET,
node,
PHP,
Python
.NET, node, PHP,
Java, Scala,
Python, Ruby,
C++,
fre...
Azure
Managed OS
Updates
You
Manage
OS + Apps
.NET, node, PHP,
Java, Scala,
Python, Ruby,
C++,
freakin’ Erlang…
.NET,
node...
Azure
Managed OS
Updates
You
Manage
OS + Apps
.NET, node, PHP,
Java, Scala,
Python, Ruby,
C++,
freakin’ Erlang…
.NET,
node...
1
SHARED INSTANCES
shared
2
SHARED INSTANCES
shared
3
SHARED INSTANCES
shared
GIF Loop via Bravo
GIF Loop via SNL
The cloud
doesn’t care
about
language
choice
Artistic Photo Illustration by Gustaf Mantel
Used by permission
http://iwdrm.tumblr.com/post/4994505935
Artistic Photo Illustration by Gustaf Mantel
Used by permission
http://iwdrm.tumblr.com/post/7579034417
open
source
 http://github.com/windowsazure
The Browser
Memory
Management
Graphics
Subsystems
Storage
Threading Events Networking
Security
APIs
Picture: Wikipedia Commons
http://commons.wikimedia.org/wiki/File:ICL_2966_mainframe.jpg
Picture: Creative Commons
http://...
Picture: Wikipedia Commons
http://commons.wikimedia.org/wiki/File:ICL_2966_mainframe.jpg
Picture: Creative Commons
http://...
Picture: Wikipedia Commons
http://commons.wikimedia.org/wiki/File:ICL_2966_mainframe.jpg
Picture: Creative Commons
http://...
Picture: Wikipedia Commons
http://commons.wikimedia.org/wiki/File:ICL_2966_mainframe.jpg
Picture: Creative Commons
http://...
Web page title
http://www.url.com
Web page title
http://www.url.com
Logo: Creative Commons
http://www.flickr.com/photos/silveiraneto/2270445344/
Web page title
http://www.url.com
Web page title
http://www.url.com
Flash
Web page title
http://www.url.com
Operating System
Memory
Management
Graphics
Subsystems
Storage
Threading Events Networki...
Web page title
http://www.url.com
Memory
Manageme
nt
Graphics
Subsystems
Storage
I/O Events Networking
Security
APIs
Scree...
Artistic Photo Illustration by Gustaf Mantel
Used with permission
http://iwdrm.tumblr.com/post/1439925923
Web page title
http://www.url.com
Memory
Management
Graphics
Subsystems
Storage
Threading Events Networking
Security
APIs
Web page title
http://www.url.com
Write Once Debug Anywhere
• The Promise of Java has finally arrived!
Web page title
http://www.url.com
Web page title
http://www.url.com
Photo by Leon Bambrick, used with Permission
SecretGeek.net
Web page title
http://www.url.com
Web page title
http://www.url.com
Web page title
http://www.url.com
Web page title
http://www.url.com
Web page title
http://www.url.com
Web page title
http://www.url.com
Memory
Management
Garbage
Collection
Graphics
Subsystems
HTML,CSS,
Canvas,Web GL,
Audio,...
Atwood's Law: any application
that can be written in
JavaScript, will eventually be
written in JavaScript.
Mobile Browser
JavaScript
Memory
Management
Garbage
Collection
Graphics
Subsystems
HTML,CSS,
Canvas,WebGL,
Audio,Video
Sto...
The biggest mistake we made as a
company was betting too much on
HTML5 as opposed to native. It just
wasn’t ready.” - Mark...
“The avalanche has
already started.
It is too late for the
pebbles to vote.”
“The avalanche has
already started.
It is too late for the
pebbles to vote.”
Kosh - Babylon 5
Memory
Management
Garbage
Collection
Graphics
Subsystems
HTML,CSS,
Canvas,WebGL,
Audio,Video
Storage
Cookies,
IndexedDb,
F...
Once upon a time,
HTML Tables
were the most advanced
thing there was.
Once upon a time,
HTML Tables
were the most advanced
thing there was.
GIF Loop via ST:TOS
HTML is simpler than ever
<div class="iphone"/>
<HTML/>
is only the structure now.
CSS {
.is {
color: $andstyle;
}
}
function JavaScript() {
var is = "everything else";
}
Photo by Nelson Wells
http://nelsonwells.net/2011/02/a-visual-comparison-of-the-good-and-bad-parts-of-javascript-2/
1 second Low-Res Animated Frames used under Fair Use
Nacho Libre cropped shot
"JavaScript is the
Assembly Language of the Web"
"JavaScript is the
Assembly Language of the Web" - Me
"JavaScript is the
Assembly Language of the Web" – Me
and everyone else 'cause it's true.
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 hea...
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 invent...
var Greeter = (function () {
function Greeter(greeting) {
this.greeting = greeting;
}
Greeter.prototype.greet = function (...
var Greeter = (function () {
function Greeter(greeting) {
this.greeting = greeting;
}
Greeter.prototype.greet = function (...
Don’t let layers
hide too much
complexity
Memory
Management
Garbage
Collection
Graphics
Subsystems
HTML, CSS,
Canvas, Web GL,
Audio, Video
Storage
Cookies,
IndexedD...
“No one writes JavaScript anymore.
They write jQuery.”
“No one writes JavaScript anymore.
They write jQuery.”
- Jake Weary
“No one writes JavaScript anymore.
They write jQuery.”
- Jake Weary
“No one writes JavaScript anymore.
They write jQuery.”
- Jake Weary
Photo via Creative Commons
http://www.flickr.com/photos/pmiaki/7443947216/
Photo via Creative Commons
http://www.flickr.com/photos/hober/318163517/
SharePoint
Photo via Creative Commons
http://www.flickr.com/photos/kisocci/3118105042/
Photo by Scott Hanselman at OMSI, Portland, OR 2012
Original Sculpture by BrickArtist.com
Consider using the
VanillaJS
JavaScript Library
Artistic Photo Illustration by Gustaf Mantel
Used with Artist Permission
http://iwdrm.tumblr.com/post/3181676800
The Cloud
Massive scale and elasticity
Your choice of languages
The Browser
Deceptively powerful. Accelerated graphics
Ric...
The Cloud
You have unlimited Virtual Machines
You can write in any language
The Browser
Your user has a powerful Virtual M...
The user’s Virtual Machine is part of
the cloud also…put it to work.
Your cloud
doesn’t need to
work so hard.
Artistic Photo Illustration by Gustaf Mantel
Used with Artist Permission
http://iwdrm.tumblr.com/post/3901348750
Artistic Photo Illustration by Gustaf Mantel
Used with Artist Permission
http://iwdrm.tumblr.com/post/21381673042
You already know the
cloud.
You can program the
browser.
Artistic Photo Illustration by Gustaf Mantel
Used with Artist Permission
http://iwdrm.tumblr.com/post/8960688061
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
DEVNET-1111	Scott Hanselman on Virtual Machines, JavaScript and Assembler
Upcoming SlideShare
Loading in …5
×

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

980 views

Published on

How does the pervasiveness of JavaScript on the client change how we architect applications? We can create hundreds virtual machines in the cloud, but we are using the millions of visual machines that visit our sites every day? Suddenly we are scripting against thousands of Virtual Machines from the command line while creating things today with JavaScript in the browser that were impossible yesterday. LiveScript becomes JavaScript becomes ES6 and now we're compiling C++ to JavaScript. Join Scott Hanselman as he explores the relationship between the Cloud and the Browser, many Languages and one Language, how it might all fit together and what comes next.

Published in: Technology
  • Positions Available Now! We currently have several openings for writing workers. ■■■ http://t.cn/AieXS62G
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ◆◆◆
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

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

  1. 1. http://weknowmemes.com/2012/01/no-i-must-dance/
  2. 2. I work here.
  3. 3. I work here. Remotely, actually.
  4. 4. I work in open source. LEGO Death Star stock product photo
  5. 5. Before Microsoft
  6. 6. After Microsoft
  7. 7. The Cloud The Browser
  8. 8. “I think there is a world market for maybe five computers.” – Thomas J. Watson
  9. 9. “I think there is a world market for maybe five computers.” – Thomas J. Watson
  10. 10. “I think there is a world market for maybe five computers.” – Thomas J. Watson
  11. 11. “I think there is a world market for maybe five computers.” – Thomas J. Watson Pictures: Wikipedia Commons http://en.wikipedia.org/wiki/File:Ibm704.gif http://en.wikipedia.org/wiki/File:IBM_Electronic_Data_Processing_Machine_-_GPN-2000-001881.jpg
  12. 12. “I think there is a world market for maybe five computers.” – Thomas J. Watson Pictures: Wikipedia Commons http://en.wikipedia.org/wiki/File:Ibm704.gif http://en.wikipedia.org/wiki/File:IBM_Electronic_Data_Processing_Machine_-_GPN-2000-001881.jpg
  13. 13. Picture courtesy Norwich City Council – Norfolk Record Office
  14. 14. The Cloud
  15. 15. Memory Management Graphics Subsystems Storage Threading Events Networking Security APIs
  16. 16. Cloud Your Data Center Memory Management Graphics Subsystems Storage Threading Events Network Security APIs
  17. 17. Cloud Your Data Center
  18. 18. Your Data Center Cloud Other Service Providers
  19. 19. Neil deGrasse Tyson: Animated GIF meme Low res frame capture used under Fair Use http://youtu.be/danYFxGnFxQ#t=1m31
  20. 20. Azure Managed OS Updates You Manage OS + Apps .NET, node, PHP, Python .NET, node, PHP, Java, Scala, Python, Ruby, C++, freakin’ Erlang…
  21. 21. Azure Managed OS Updates You Manage OS + Apps .NET, node, PHP, Java, Scala, Python, Ruby, C++, freakin’ Erlang… .NET, node, PHP, Python
  22. 22. Azure Managed OS Updates You Manage OS + Apps .NET, node, PHP, Java, Scala, Python, Ruby, C++, freakin’ Erlang… .NET, node, PHP, Python
  23. 23. 1 SHARED INSTANCES shared
  24. 24. 2 SHARED INSTANCES shared
  25. 25. 3 SHARED INSTANCES shared
  26. 26. GIF Loop via Bravo
  27. 27. GIF Loop via SNL
  28. 28. The cloud doesn’t care about language choice
  29. 29. Artistic Photo Illustration by Gustaf Mantel Used by permission http://iwdrm.tumblr.com/post/4994505935
  30. 30. Artistic Photo Illustration by Gustaf Mantel Used by permission http://iwdrm.tumblr.com/post/7579034417
  31. 31. open source  http://github.com/windowsazure
  32. 32. The Browser
  33. 33. Memory Management Graphics Subsystems Storage Threading Events Networking Security APIs
  34. 34. Picture: Wikipedia Commons http://commons.wikimedia.org/wiki/File:ICL_2966_mainframe.jpg Picture: Creative Commons http://www.flickr.com/photos/nox_noctis_silentium/6315111717/
  35. 35. Picture: Wikipedia Commons http://commons.wikimedia.org/wiki/File:ICL_2966_mainframe.jpg Picture: Creative Commons http://www.flickr.com/photos/nox_noctis_silentium/6315111717/ Screenshot of http://www.masswerk.at/googleBBS/
  36. 36. Picture: Wikipedia Commons http://commons.wikimedia.org/wiki/File:ICL_2966_mainframe.jpg Picture: Creative Commons http://www.flickr.com/photos/nox_noctis_silentium/6315111717/ Screenshot of http://www.masswerk.at/BingBBS/
  37. 37. Picture: Wikipedia Commons http://commons.wikimedia.org/wiki/File:ICL_2966_mainframe.jpg Picture: Creative Commons http://www.flickr.com/photos/nox_noctis_silentium/6315111717/
  38. 38. Web page title http://www.url.com
  39. 39. Web page title http://www.url.com Logo: Creative Commons http://www.flickr.com/photos/silveiraneto/2270445344/
  40. 40. Web page title http://www.url.com
  41. 41. Web page title http://www.url.com Flash
  42. 42. Web page title http://www.url.com Operating System Memory Management Graphics Subsystems Storage Threading Events Networking Security APIs
  43. 43. Web page title http://www.url.com Memory Manageme nt Graphics Subsystems Storage I/O Events Networking Security APIs Screenshot of http://www.masswerk.at/googleBBS/
  44. 44. Artistic Photo Illustration by Gustaf Mantel Used with permission http://iwdrm.tumblr.com/post/1439925923
  45. 45. Web page title http://www.url.com Memory Management Graphics Subsystems Storage Threading Events Networking Security APIs
  46. 46. Web page title http://www.url.com
  47. 47. Write Once Debug Anywhere • The Promise of Java has finally arrived!
  48. 48. Web page title http://www.url.com
  49. 49. Web page title http://www.url.com
  50. 50. Photo by Leon Bambrick, used with Permission SecretGeek.net
  51. 51. Web page title http://www.url.com
  52. 52. Web page title http://www.url.com
  53. 53. Web page title http://www.url.com
  54. 54. Web page title http://www.url.com
  55. 55. Web page title http://www.url.com
  56. 56. Web page title http://www.url.com 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
  57. 57. Atwood's Law: any application that can be written in JavaScript, will eventually be written in JavaScript.
  58. 58. Mobile Browser JavaScript Memory Management Garbage Collection Graphics Subsystems HTML,CSS, Canvas,WebGL, Audio,Video Storage Cookies, IndexedDb, FileAPI Threading WebWorkers Events DOMEvents, Callbacks Networking WebSockets, XHR,Offline, Realtime Security Sandbox, SSL, CORS APIs GeoLocation, Sensors,
  59. 59. 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
  60. 60. “The avalanche has already started. It is too late for the pebbles to vote.”
  61. 61. “The avalanche has already started. It is too late for the pebbles to vote.” Kosh - Babylon 5
  62. 62. Memory Management Garbage Collection Graphics Subsystems HTML,CSS, Canvas,WebGL, Audio,Video Storage Cookies, IndexedDb, FileAPI Threading WebWorkers Events DOMEvents, Callbacks Network WebSockets, XHR,Offline, Realtime Security Sandbox,SSL, CORS APIs GeoLocation, Sensors
  63. 63. Once upon a time, HTML Tables were the most advanced thing there was.
  64. 64. Once upon a time, HTML Tables were the most advanced thing there was.
  65. 65. GIF Loop via ST:TOS
  66. 66. HTML is simpler than ever <div class="iphone"/>
  67. 67. <HTML/> is only the structure now.
  68. 68. CSS { .is { color: $andstyle; } }
  69. 69. function JavaScript() { var is = "everything else"; }
  70. 70. Photo by Nelson Wells http://nelsonwells.net/2011/02/a-visual-comparison-of-the-good-and-bad-parts-of-javascript-2/
  71. 71. 1 second Low-Res Animated Frames used under Fair Use Nacho Libre cropped shot
  72. 72. "JavaScript is the Assembly Language of the Web"
  73. 73. "JavaScript is the Assembly Language of the Web" - Me
  74. 74. "JavaScript is the Assembly Language of the Web" – Me and everyone else 'cause it's true.
  75. 75. 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
  76. 76. 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
  77. 77. 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
  78. 78. 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
  79. 79. Don’t let layers hide too much complexity
  80. 80. 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
  81. 81. “No one writes JavaScript anymore. They write jQuery.”
  82. 82. “No one writes JavaScript anymore. They write jQuery.” - Jake Weary
  83. 83. “No one writes JavaScript anymore. They write jQuery.” - Jake Weary
  84. 84. “No one writes JavaScript anymore. They write jQuery.” - Jake Weary
  85. 85. Photo via Creative Commons http://www.flickr.com/photos/pmiaki/7443947216/
  86. 86. Photo via Creative Commons http://www.flickr.com/photos/hober/318163517/
  87. 87. SharePoint Photo via Creative Commons http://www.flickr.com/photos/kisocci/3118105042/
  88. 88. Photo by Scott Hanselman at OMSI, Portland, OR 2012 Original Sculpture by BrickArtist.com
  89. 89. Consider using the VanillaJS JavaScript Library
  90. 90. Artistic Photo Illustration by Gustaf Mantel Used with Artist Permission http://iwdrm.tumblr.com/post/3181676800
  91. 91. The Cloud Massive scale and elasticity Your choice of languages The Browser Deceptively powerful. Accelerated graphics Rich style and integrated virtual machine
  92. 92. The Cloud You have unlimited Virtual Machines You can write in any language The Browser Your user has a powerful Virtual Machine You can write JavaScript (or target it)
  93. 93. The user’s Virtual Machine is part of the cloud also…put it to work. Your cloud doesn’t need to work so hard.
  94. 94. Artistic Photo Illustration by Gustaf Mantel Used with Artist Permission http://iwdrm.tumblr.com/post/3901348750
  95. 95. Artistic Photo Illustration by Gustaf Mantel Used with Artist Permission http://iwdrm.tumblr.com/post/21381673042
  96. 96. You already know the cloud. You can program the browser.
  97. 97. Artistic Photo Illustration by Gustaf Mantel Used with Artist Permission http://iwdrm.tumblr.com/post/8960688061

×