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.wikipedia.org/wiki/File:Ibm704.gif
http://en.wikipedia.org/wiki/File:IBM_Electronic_Data_Processing_Machine_-_GPN-2000-001881.jpg
“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
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++,
freakin’ Erlang…
Azure
Managed OS
Updates
You
Manage
OS + Apps
.NET, node, PHP,
Java, Scala,
Python, Ruby,
C++,
freakin’ Erlang…
.NET,
node,
PHP,
Python
Azure
Managed OS
Updates
You
Manage
OS + Apps
.NET, node, PHP,
Java, Scala,
Python, Ruby,
C++,
freakin’ Erlang…
.NET,
node,
PHP,
Python
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://www.flickr.com/photos/nox_noctis_silentium/6315111717/
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/
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/
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/
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 Networking
Security
APIs
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/
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,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
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
Storage
Cookies,
IndexedDb,
FileAPI
Threading
WebWorkers
Events
DOMEvents,
Callbacks
Networking
WebSockets,
XHR,Offline,
Realtime
Security
Sandbox, SSL,
CORS
APIs
GeoLocation,
Sensors,
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
“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,
FileAPI
Threading
WebWorkers
Events
DOMEvents,
Callbacks
Network
WebSockets,
XHR,Offline,
Realtime
Security
Sandbox,SSL,
CORS
APIs
GeoLocation,
Sensors
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 headshot
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
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
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
Don’t let layers
hide too much
complexity
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
“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
Rich style and integrated virtual machine
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)
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

Editor's Notes

  • #4 And I have two podcasts, one a short interview show…in fact Lauren Buekes is next weeks’ guest
  • #5 And the other a long form homage to This American Life called “This Developer’s Life.” I hope you check it out.
  • #6 And the other a long form homage to This American Life called “This Developer’s Life.” I hope you check it out.
  • #7 NO I MUST DANCE
  • #61 6/30/2015 9:01 PM
  • #94 The bosses reacted first
  • #123 We're been working on this for a while...longer than you'd think. Wix was open sourced 8 years ago in 2004. We commited to the Linux kernel in 2009
  • #125 6/30/2015 9:01 PM