SlideShare a Scribd company logo
1 of 115
Download to read offline
JavaScript & HTML5
     Brave New World
“O wonder!
How many goodly creatures are there here! How
beauteous mankind is! O brave new world! That
has such people in't!”

                             - Shakespeare’s The Tempest
JavaScript
“Are you telling me that I can’t get away anymore
without getting deeply into Javascript?”

                                         - Developer
“That is a disaster for me! I have made a career
out of actively avoiding Javascript.”

                                         - Developer
“If I cant continue to ignore Javascript, then you
may as well amputate one of my limbs.”

                                           - Developer
// Variable declaration
var firstName = "Forrest";

// Function declaration
function party () {
    return "Stupid is as stupid does";
}
// If statement
if (badGrades) {
    return "Mom sleeps with teacher";
}

// Switch statement
var age = 10,
    lifeState;
switch (age) {
    case 10:
        lifeState = "Young";
        break;
    case 60:
        lifeState = "Old";
        break;
}
// Object literal
var forrest = {
    firstName : "Forrest"
};

// Array literal
var forrestFriends = ["Bubba", "Lieutenant Dan"];
// Shorthand assignment
function (boxOfChocolates) {
    var life = boxOfChocolates || "Snickers bar";
}

// Ternary operators
(looking)? "I gotta find Bubba!" : "It's ok";
“Coercion is the practice of forcing another party
to behave in an involuntary manner”

                                          - Wikipedia
// Assignment
var happy = true;

// Equality
if (7 == "7") {
    // true
}

// Identity
if (7 === "7") {
    // false
}
// Assignment
                               rci on
                             oe
var happy = true;
                           c
// Equality        Ty pe
if (7 == "7") {
    // true
}

// Identity
if (7 === "7") {
    // false
}
// Type coercion
var sum = "5" + 6 + 7; // 567
// Prevent type coercion
var sum = parseInt("5", 10) + 6 + 7; // 18
// Various "false" values
var nullVal = null;
var undefinedVal = undefined;
var zeroVal = 0;
var falseVal = false;
var emptyString = "";

// All would equal false in an if-clause
if (emptyString) {
    // Would never go in here
}
// Self-invoking functions
(function () {
    var investment = "Lieutenant Dan got me
invested in some kind of fruit company.";
})();
// Using arguments
function friends (friend1, friend2) {
    return friend1 + " & " + friend2;
}

// Lieutenant Dan & Bubba
friends("Lieutenant Dan", "Bubba");

// Lieutenant Dan & undefined
friends("Lieutenant Dan");
// Using the arguments collection
function friends () {
    var allFriends = [];
    for (var i=0, il=arguments.length; i<il; i++) {
        allFriends.push(arguments[i]);
    };
    return allFriends.join(" & ");
}

// Lieutenant Dan & Bubba
friends("Lieutenant Dan", "Bubba");

// Lieutenant Dan
friends("Lieutenant Dan");
// Scope - global or local

// Global
var quote = "I had run for 3 years, 2 months,
14 days, and 16 hours."

function () {
    // Local
    var pantherParty = "I'm sorry I had to
fight in the middle of your Black Panther
party.";

    // Global
    question = "And so, you just ran?";
}
// Global
function meetingJFK () {
    var JFKQuestion = "Congratulations, how do
you feel?";

    // Local
    function forrestReply () {
        return "I gotta pee.";
    }

    return forrestReply();
}

meetingJFK(); // I gotta pee
forrestReply(); // Error: not accessible
// Controlling scope
function whoAmI () {
    return this.nodeName;
}

whoAmI(); // undefined
whoAmI.call(document, "Hello"); // #document
whoAmI.apply(document.body, ["Hello", "Greetings?"]); // BODY
// closures
function happens (what) {
    return function (verb) {
        return what + " " + verb;
    }
}

var action = happens("Shit");

action("happens"); // Shit happens
// closures
function happens (what) {
    return function (verb) {
        return what + " " + verb;
    }
}

var action = happens("Shit");

// Breaking it down
var action = function (verb) {
    return "Shit" + " " + verb;
};
// closures
function happens (what) {
    return function (verb) {
        return what + " " + verb;
    }
}

var action = happens("Shit");

// Breaking it down
var action = function (verb) {
    return "Shit" + " " + verb;
};
var link;
for (var i=0; i<3; i++) {
    link = document.createElement("a");
    link.innerHTML = "Link " + i;
    link.onclick = function () {
        alert("I am link " + i);
    };
    document.body.appendChild(link);
};
var link;
for (var i=0; i<3; i++) {
    link = document.createElement("a");
    link.innerHTML = "Link " + i;
    link.onclick = function (index) {
        return function () {
            alert("I am link " + index);
        };
    }(i);
    document.body.appendChild(link);
};
var link;
for (var i=0; i<3; i++) {
    link = document.createElement("a");
    link.innerHTML = "Link " + i;
    link.onclick = function (index) {
        return function () {
            alert("I am link " + index);
        };
    }(i);
    document.body.appendChild(link);
};
var link;
for (var i=0; i<3; i++) {
    link = document.createElement("a");
    link.innerHTML = "Link " + i;
    link.onclick = function (index) {
        return function () {
            alert("I am link " + index);
        };
    }(i);
    document.body.appendChild(link);
};
var link;
for (var i=0; i<3; i++) {
    link = document.createElement("a");
    link.innerHTML = "Link " + i;
    link.onclick = function (index) {
        return function () {
            alert("I am link " + index);
        };
    }(i);
    document.body.appendChild(link);
};
What is HTML5?
Video
<video src="swedish-flag.ogv" controls
  width="320" height="240">
</video>
<video controls>
  <source src="swedish-flag.mp4">
  <source src="swedish-flag.ogv">
  <p>
    Sorry, your web browser doesn't
    support the video element.
  </p>
</video>
<video controls>
    <source src="http://robertnyman.com/video/swedish-flag.mp4">
    <source src="http://robertnyman.com/video/swedish-flag.ogv">
    <object width="425" height="340" type="application/x-shockwave-flash"
data="http://pics.robertnyman.com/ria/ShizVidz-2010012201.swf">
         <param name="movie" value="http://pics.robertnyman.com/ria/
ShizVidz-2010012201.swf">
         <param name="allowFullScreen" value="true">
         <param name="flashVars"
value="s=ZT0xJmk9MzE5NjcyNDUwJms9UUVOdUomYT01MjU0ODc5X21uWFdIJnU9cm9iZXJ0b
nltYW4=">
    </object>
    <p>Sorry, your web browser doesn't support, well, anything...</p>
</video>
var video = document.getElementById("my-video");

 // Play/pause button
 if (video.paused || video.ended) {
     video.play();
 }
 else {
     video.pause();
 }
// Checking codec support
if (video.canPlayType('video/ogg; codecs="theora, vorbis"')) {
    video.play();
}
else {
    alert("Evil browser with only licensed codec support!");
}
// Methods
video.canPlayType();
video.load();
video.pause();
video.play();
// Properties
video.paused;
video.muted;
video.autobuffer;
video.autoplay;
video.buffered; (Unimplemented)
video.bufferedBytes; (Unimplemented)
video.bufferingRate; (Unimplemented)
video.bufferingThrottled; (Unimplemented)
video.controls;
video.currentSrc;
video.currentTime;
video.defaultPlaybackRate;
video.duration;
video.ended;
video.error;
video.muted;
video.networkState;
video.paused;
video.playbackRate;
video.readyState;
video.seeking;
video.src;
video.totalBytes;
video.volume;
// Events
video.abort;
video.canplay;
video.canplaythrough;
video.canshowcurrentframe;
video.dataunavailable;
video.durationchange;
video.emptied;
video.empty;
video.ended;
video.error;
video.loadedfirstframe;
video.loadedmetadata;
video.loadstart;
video.pause;
video.play;
video.progress; (lengthComputable, loaded, total)
video.ratechange;
video.seeked;
video.seeking;
video.suspend;
video.timeupdate;
video.volumechange;
canvas
<canvas id="my-canvas" width="200" height="200">
    I am canvas
</canvas>
var canvas = document.getElementById("my-canvas"),
    context = canvas.getContext("2d");
var canvas2 = document.getElementById("my-canvas-2"),
    context2 = canvas2.getContext("2d");

context2.fillStyle = "#0f0";

context2.beginPath();
context2.moveTo(100, 0);
context2.lineTo(0, 100);
context2.lineTo(200, 100);
context2.fill();
var canvas5 = document.getElementById("my-canvas-5"),
    context5 = canvas5.getContext("2d"),
    img = document.createElement("img");

img.addEventListener("load", function () {
    context5.drawImage(img, 0, 0, 600, 200);
    // Get canvas content as a base64 image
    var base64Img = canvas5.toDataURL("image/png");
}, false);

img.setAttribute("src", "view.jpg");
data:image/png;base64,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
HTML5 Canvas for Internet Explorer <= 8
                   -
            explorercanvas
http://www.nihilogic.dk/labs/mariokart/
http://craftymind.com/factory/html5video/
             CanvasVideo.html
Web Storage
// sessionStorage
sessionStorage.setItem("name") = "Robert";
alert(sessionStorage.getItem("name")); // Robert
// localStorage
localStorage.setItem("origin", "Sweden");
alert(localStorage.getItem("origin")); // Sweden
// Using JSON
var info = {
    "language" : "Polish",
    "location" : "Warsaw"
};

// Save as string
localStorage.setItem("info", JSON.stringify(info));

// Load as JSON object
alert(JSON.parse(localStorage.info));
Web SQL
IndexedDB
File API
<!--
       The multiple attribute allows for
       uploading of multiple files
-->
<input id="files-upload" type="file" multiple>
var filesUpload = document.getElementById("files-upload");
filesUpload.onchange = function () {
    // Access to data about all files
    var files = this.files;
    for (var i=0, il=files.length; i<il; i++) {
        file.name; // Get the name of the file
        file.size; // Get the size of the file, in bytes
        file.type; // Get the type of the file
    };
};
// Supported in Firefox and Google Chrome
if (typeof FileReader !== "undefined") {
    var img = document.createElement("img"),
        reader = new FileReader();

    reader.onload = function (evt) {
        img.src = evt.target.result;
    };

    reader.readAsDataURL(file);
}
History API
var url = "http://robertnyman.com",
title = "My blog",
state = {
    address : url
};

window.history.pushState(state.address, title, url);
window.history.replaceState(state.address, title, url);
Web Sockets
var ws = new WebSocket("ws://robertnyman.com/wsmagic");

// Send data
ws.send("Some data");

// Close the connection
ws.close();
var ws = new WebSocket("ws://robertnyman.com/wsmagic");

// When connection is opened
ws.onopen = function () {
    console.log("Connection opened!")
};

// When you receive a message
ws.onmessage = function (evt) {
    console.log(evt.data);
};

// When you close the connection
ws.onclose = function () {
    console.log("Connection closed");
};

// When an error occurred
ws.onerror = function () {
    console.log("An error occurred")
};
web-socket-js
 Socket.IO
Offline Web Applications

                Web Workers
Geolocation

      Drag & drop
                          postMessage

        contentEditable
Web browser support
Robert Nyman
                                                              http://robertnyman.com/speaking/
                                                               http://robertnyman.com/html5/

                                                                                Twitter: @robertnyman
Pictures:

Ninja Turtle: http://www.originalprop.com/blog/2008/03/20/teenage-mutant-ninja-turtles-costume-restoration/     What is HTML5: http://www.thedvshow.com/mini-guide-html-5-for-video-producers/
Bruce Willis: http://www.starsjournal.com/3192/bruce-willis-is-being-sued-for-4-million-dollars.html            Semantics: http://www.cs.cmu.edu/~tom7/csnotes/fall02/semantics.gif
Love 2010: http://www.stockholm.se/-/nyheter/kultur--fritid/love-2010/                                          APIs: http://lonewolflibrarian.wordpress.com/2009/09/01/library-apis-09-01-09/
Euro Coin: http://accidentaldong.blogspot.com/2009/10/euro-uh-oh.html                                           Progressive enhancement: http://www.flickr.com/photos/cole007/4187641210/
                                                                                                                Video: http://www.roirevolution.com/blog/2009/05/make_sure_your_excluded_placements_are_actually_be.html
Most popular language: http://odetocode.com/Blogs/scott/archive/2009/03/18/signs-that-your-javascript-skills-   Waiting in line: http://www.roirevolution.com/blog/2009/05/
need-updating.aspx                                                                                              make_sure_your_excluded_placements_are_actually_be.html
Sunrise: http://www.manywallpapers.com/space-wallpapers/earth/sunrise-from-space.html                           Canvas: http://www.brianbatson.com/ablankcanvas/giftlist.html
Astronaut: http://martianchronicles.wordpress.com/2009/01/23/carnival-of-space-87/                              Storage fail: http://failfun.com/funny-pictures/gangsta-fail/
Netscape 2: http://blog.explorelearning.com/2005/12/index.html                                                  Cookie monster: http://open.salon.com/blog/shiral/2009/03/25/
Internet Explorer 3: http://www.guidebookgallery.org/screenshots/browser                                        the_coveted_shiral_interview_with_kermit_and_cookie_monster
Gandalf: http://web.mit.edu/kayla/Public/Backgrounds/LOTR%20Gandalf%204.JPG                                     Boy giving the finger: http://www.deangoodman.com/ThingsThatSuck.html
Now: http://www.geekologie.com/2007/07/15-week/
Axe: http://bestgamewallpapers.com/a3-the-age-of-sovereign/axe                                                  Files: http://www.hannonhill.com/products/index.html
Time: http://www.mindhacks.com/blog/seeing/index.html                                                           History: http://animatedtv.about.com/od/fgmultimedia/ig/-Family-Guy--Pictures/Griffin-Family-History.htm
Money: http://www.mediabistro.com/unbeige/ideas/                                                                Sockets: http://www.gigaweb.com/products/view/31681/plug-socket-adult-costume.html
Happy Ape: http://thesituationist.wordpress.com/2007/06/14/                                                     AJAX: http://www.aqlanza.com/technologies01.html
High speed train: http://www.freefoto.com/preview/23-22-1?ffid=23-22-1                                           Comet: http://www.blogiversity.org/blogs/cstanton/archive/2009/12/16/revealing-hidden-comet-strikes.aspx
Sunspider results: http://ie.microsoft.com/testdrive/benchmarks/sunspider/default.html                          Flash: http://www.zerofractal.com/assets/error-flash.jpg
Forrest Gump: http://wallpaper-s.org/36__Forrest_Gump,_1994,_Tom_Hanks,_Robin_Wright_Penn.htm
Hillary Clinton & Soldier: http://confederateyankee.mu.nu/archives/154032.php                                   Web browsers: http://www.zamaanonline.com/category/funny-amazing-stuff/geek-fun
Dog (Cat): http://www.cartoonstock.com/directory/f/false_identity.asp                                           Fallen beaver: http://failsalon.com/?p=183
Play with yourself: http://www.justwhatshesaid.com/?p=965                                                       Bill Gates: http://punditkitchen.com/2009/04/14/political-pictures-bill-gates-failure-windows/
Tiger Woods: http://blogs.bigadda.com/pal4868546/2010/01/                                                       Winning IE: http://cybernetnews.com/april-browser-stats-safari-triples-its-windows-market-share/
Pollution: http://blog.lib.umn.edu/cramb005/architecture/                                                       Internet Explorer 9: http://www.redmondpie.com/internet-explorer-9-to-be-announced-at-pdc-9140118/
                                                                                                                Beaver win: http://thefourcornersclassroom.wikispaces.com/Group+30+-+Pre-Project
Overloading: http://theshadowhive.blogspot.com/2010/04/mutating-chaos-gene.html
Closure: http://today.msnbc.msn.com/id/4760120                                                                  Mila & Macaulay: http://uk.eonline.com/uberblog/b61889_mila_macaulay_home_alone.html
Steve Ballmer: http://www.businessinsider.com/microsoft-completely-rebooted-its-mobile-strategy-yesterday-      Hearts: http://www.funonthenet.in/content/view/395/31/
heres-what-you-missed-2010-2
JavaScript and HTML5 - Brave New World (revised)

More Related Content

What's hot

JavaScript APIs - The Web is the Platform - MDN Hack Day, Santiago, Chile
JavaScript APIs - The Web is the Platform - MDN Hack Day, Santiago, ChileJavaScript APIs - The Web is the Platform - MDN Hack Day, Santiago, Chile
JavaScript APIs - The Web is the Platform - MDN Hack Day, Santiago, ChileRobert Nyman
 
JavaScript APIs - The Web is the Platform - .toster conference, Moscow
JavaScript APIs - The Web is the Platform - .toster conference, MoscowJavaScript APIs - The Web is the Platform - .toster conference, Moscow
JavaScript APIs - The Web is the Platform - .toster conference, MoscowRobert Nyman
 
JavaScript APIs - The Web is the Platform - MDN Hack Day - Buenos Aires
JavaScript APIs - The Web is the Platform - MDN Hack Day - Buenos AiresJavaScript APIs - The Web is the Platform - MDN Hack Day - Buenos Aires
JavaScript APIs - The Web is the Platform - MDN Hack Day - Buenos AiresRobert Nyman
 
Stack Overflow Austin - jQuery for Developers
Stack Overflow Austin - jQuery for DevelopersStack Overflow Austin - jQuery for Developers
Stack Overflow Austin - jQuery for DevelopersJonathan Sharp
 
Organizing Code with JavascriptMVC
Organizing Code with JavascriptMVCOrganizing Code with JavascriptMVC
Organizing Code with JavascriptMVCThomas Reynolds
 
JavaScript & HTML5 - Brave New World
JavaScript & HTML5 - Brave New WorldJavaScript & HTML5 - Brave New World
JavaScript & HTML5 - Brave New WorldRobert Nyman
 
Exploring the Sweet Spot: Geolocation, Health, and Gov-data
Exploring the Sweet Spot: Geolocation, Health, and Gov-data Exploring the Sweet Spot: Geolocation, Health, and Gov-data
Exploring the Sweet Spot: Geolocation, Health, and Gov-data Lance Roggendorff
 
How to actually use promises - Jakob Mattsson, FishBrain
How to actually use promises - Jakob Mattsson, FishBrainHow to actually use promises - Jakob Mattsson, FishBrain
How to actually use promises - Jakob Mattsson, FishBrainCodemotion Tel Aviv
 
An Introduction to Jquery
An Introduction to JqueryAn Introduction to Jquery
An Introduction to JqueryPhil Reither
 
The Open Web and what it means
The Open Web and what it meansThe Open Web and what it means
The Open Web and what it meansRobert Nyman
 
JavaScript APIs you’ve never heard of (and some you have)
JavaScript APIs you’ve never heard of (and some you have)JavaScript APIs you’ve never heard of (and some you have)
JavaScript APIs you’ve never heard of (and some you have)Nicholas Zakas
 
jQuery: Nuts, Bolts and Bling
jQuery: Nuts, Bolts and BlingjQuery: Nuts, Bolts and Bling
jQuery: Nuts, Bolts and BlingDoug Neiner
 
Unobtrusive javascript with jQuery
Unobtrusive javascript with jQueryUnobtrusive javascript with jQuery
Unobtrusive javascript with jQueryAngel Ruiz
 
Maintainable JavaScript 2012
Maintainable JavaScript 2012Maintainable JavaScript 2012
Maintainable JavaScript 2012Nicholas Zakas
 
jQuery Features to Avoid
jQuery Features to AvoidjQuery Features to Avoid
jQuery Features to Avoiddmethvin
 
Web Crawling with NodeJS
Web Crawling with NodeJSWeb Crawling with NodeJS
Web Crawling with NodeJSSylvain Zimmer
 
Firefox OS learnings & visions, WebAPIs - budapest.mobile
Firefox OS learnings & visions, WebAPIs - budapest.mobileFirefox OS learnings & visions, WebAPIs - budapest.mobile
Firefox OS learnings & visions, WebAPIs - budapest.mobileRobert Nyman
 
Write Less Do More
Write Less Do MoreWrite Less Do More
Write Less Do MoreRemy Sharp
 
jQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & CompressionjQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & CompressionPaul Irish
 

What's hot (20)

JavaScript APIs - The Web is the Platform - MDN Hack Day, Santiago, Chile
JavaScript APIs - The Web is the Platform - MDN Hack Day, Santiago, ChileJavaScript APIs - The Web is the Platform - MDN Hack Day, Santiago, Chile
JavaScript APIs - The Web is the Platform - MDN Hack Day, Santiago, Chile
 
JavaScript APIs - The Web is the Platform - .toster conference, Moscow
JavaScript APIs - The Web is the Platform - .toster conference, MoscowJavaScript APIs - The Web is the Platform - .toster conference, Moscow
JavaScript APIs - The Web is the Platform - .toster conference, Moscow
 
JavaScript APIs - The Web is the Platform - MDN Hack Day - Buenos Aires
JavaScript APIs - The Web is the Platform - MDN Hack Day - Buenos AiresJavaScript APIs - The Web is the Platform - MDN Hack Day - Buenos Aires
JavaScript APIs - The Web is the Platform - MDN Hack Day - Buenos Aires
 
Stack Overflow Austin - jQuery for Developers
Stack Overflow Austin - jQuery for DevelopersStack Overflow Austin - jQuery for Developers
Stack Overflow Austin - jQuery for Developers
 
Organizing Code with JavascriptMVC
Organizing Code with JavascriptMVCOrganizing Code with JavascriptMVC
Organizing Code with JavascriptMVC
 
JavaScript & HTML5 - Brave New World
JavaScript & HTML5 - Brave New WorldJavaScript & HTML5 - Brave New World
JavaScript & HTML5 - Brave New World
 
Exploring the Sweet Spot: Geolocation, Health, and Gov-data
Exploring the Sweet Spot: Geolocation, Health, and Gov-data Exploring the Sweet Spot: Geolocation, Health, and Gov-data
Exploring the Sweet Spot: Geolocation, Health, and Gov-data
 
How to actually use promises - Jakob Mattsson, FishBrain
How to actually use promises - Jakob Mattsson, FishBrainHow to actually use promises - Jakob Mattsson, FishBrain
How to actually use promises - Jakob Mattsson, FishBrain
 
An Introduction to Jquery
An Introduction to JqueryAn Introduction to Jquery
An Introduction to Jquery
 
The Open Web and what it means
The Open Web and what it meansThe Open Web and what it means
The Open Web and what it means
 
Drupal, meet Assetic
Drupal, meet AsseticDrupal, meet Assetic
Drupal, meet Assetic
 
JavaScript APIs you’ve never heard of (and some you have)
JavaScript APIs you’ve never heard of (and some you have)JavaScript APIs you’ve never heard of (and some you have)
JavaScript APIs you’ve never heard of (and some you have)
 
jQuery: Nuts, Bolts and Bling
jQuery: Nuts, Bolts and BlingjQuery: Nuts, Bolts and Bling
jQuery: Nuts, Bolts and Bling
 
Unobtrusive javascript with jQuery
Unobtrusive javascript with jQueryUnobtrusive javascript with jQuery
Unobtrusive javascript with jQuery
 
Maintainable JavaScript 2012
Maintainable JavaScript 2012Maintainable JavaScript 2012
Maintainable JavaScript 2012
 
jQuery Features to Avoid
jQuery Features to AvoidjQuery Features to Avoid
jQuery Features to Avoid
 
Web Crawling with NodeJS
Web Crawling with NodeJSWeb Crawling with NodeJS
Web Crawling with NodeJS
 
Firefox OS learnings & visions, WebAPIs - budapest.mobile
Firefox OS learnings & visions, WebAPIs - budapest.mobileFirefox OS learnings & visions, WebAPIs - budapest.mobile
Firefox OS learnings & visions, WebAPIs - budapest.mobile
 
Write Less Do More
Write Less Do MoreWrite Less Do More
Write Less Do More
 
jQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & CompressionjQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & Compression
 

Viewers also liked

HTML5 APIs - The New Frontier
HTML5 APIs - The New FrontierHTML5 APIs - The New Frontier
HTML5 APIs - The New FrontierRobert Nyman
 
Leathers & Associates Penny Park Design Day Presentation
Leathers & Associates Penny Park Design Day Presentation Leathers & Associates Penny Park Design Day Presentation
Leathers & Associates Penny Park Design Day Presentation cityofevanston
 
Content Marketing: Get Trained Up!
Content Marketing: Get Trained Up!Content Marketing: Get Trained Up!
Content Marketing: Get Trained Up!Michael Brenner
 
Inventos que cambiaron a la humanidad victor
Inventos que cambiaron a la humanidad victor Inventos que cambiaron a la humanidad victor
Inventos que cambiaron a la humanidad victor calidoso01
 
EU Research Excellence and Capacity for Horizon 2020 Topics SCC-02-2016-2017 ...
EU Research Excellence and Capacity for Horizon 2020 Topics SCC-02-2016-2017 ...EU Research Excellence and Capacity for Horizon 2020 Topics SCC-02-2016-2017 ...
EU Research Excellence and Capacity for Horizon 2020 Topics SCC-02-2016-2017 ...Environmental Protection Agency, Ireland
 
Anatomia miembro inferiores
Anatomia miembro inferioresAnatomia miembro inferiores
Anatomia miembro inferioresLuciana Disconzi
 
The Hazardous Waste Generator Improvements Rule Proposal
The Hazardous Waste Generator Improvements Rule ProposalThe Hazardous Waste Generator Improvements Rule Proposal
The Hazardous Waste Generator Improvements Rule ProposalTriumvirate Environmental
 
Oredev 2011: Building Social Software for the Anti-Social Part II, Electric B...
Oredev 2011: Building Social Software for the Anti-Social Part II, Electric B...Oredev 2011: Building Social Software for the Anti-Social Part II, Electric B...
Oredev 2011: Building Social Software for the Anti-Social Part II, Electric B...codinghorror
 
The Sony Reader: eInk Has Arrived
The Sony Reader: eInk Has ArrivedThe Sony Reader: eInk Has Arrived
The Sony Reader: eInk Has ArrivedMichael Sauers
 
Participating in the Creative Commons (NLA/NEMA 2008)
Participating in the Creative Commons (NLA/NEMA 2008)Participating in the Creative Commons (NLA/NEMA 2008)
Participating in the Creative Commons (NLA/NEMA 2008)Michael Sauers
 
Macruby& Hotcocoa presentation by Rich Kilmer
Macruby& Hotcocoa presentation by Rich KilmerMacruby& Hotcocoa presentation by Rich Kilmer
Macruby& Hotcocoa presentation by Rich KilmerMatt Aimonetti
 
Penny Park Renovations
Penny Park RenovationsPenny Park Renovations
Penny Park Renovationscityofevanston
 
Geological Survey of Ireland Research Programmes Towards 2020 – Aoife Braiden
Geological Survey of Ireland Research Programmes Towards 2020 – Aoife BraidenGeological Survey of Ireland Research Programmes Towards 2020 – Aoife Braiden
Geological Survey of Ireland Research Programmes Towards 2020 – Aoife BraidenEnvironmental Protection Agency, Ireland
 

Viewers also liked (20)

HTML5 APIs - The New Frontier
HTML5 APIs - The New FrontierHTML5 APIs - The New Frontier
HTML5 APIs - The New Frontier
 
Social Sciences & Humanities Across the SC5 WP2016/17 – Paul Kilkenny
Social Sciences & Humanities Across the SC5 WP2016/17 – Paul KilkennySocial Sciences & Humanities Across the SC5 WP2016/17 – Paul Kilkenny
Social Sciences & Humanities Across the SC5 WP2016/17 – Paul Kilkenny
 
Leathers & Associates Penny Park Design Day Presentation
Leathers & Associates Penny Park Design Day Presentation Leathers & Associates Penny Park Design Day Presentation
Leathers & Associates Penny Park Design Day Presentation
 
Content Marketing: Get Trained Up!
Content Marketing: Get Trained Up!Content Marketing: Get Trained Up!
Content Marketing: Get Trained Up!
 
Inventos que cambiaron a la humanidad victor
Inventos que cambiaron a la humanidad victor Inventos que cambiaron a la humanidad victor
Inventos que cambiaron a la humanidad victor
 
Conversation Is King (SUMG)
Conversation Is King (SUMG)Conversation Is King (SUMG)
Conversation Is King (SUMG)
 
EU Research Excellence and Capacity for Horizon 2020 Topics SCC-02-2016-2017 ...
EU Research Excellence and Capacity for Horizon 2020 Topics SCC-02-2016-2017 ...EU Research Excellence and Capacity for Horizon 2020 Topics SCC-02-2016-2017 ...
EU Research Excellence and Capacity for Horizon 2020 Topics SCC-02-2016-2017 ...
 
Anatomia miembro inferiores
Anatomia miembro inferioresAnatomia miembro inferiores
Anatomia miembro inferiores
 
The Solid Fuel Regulations and the on-going challenge to clean air
The Solid Fuel Regulations and the on-going challenge to clean airThe Solid Fuel Regulations and the on-going challenge to clean air
The Solid Fuel Regulations and the on-going challenge to clean air
 
The Hazardous Waste Generator Improvements Rule Proposal
The Hazardous Waste Generator Improvements Rule ProposalThe Hazardous Waste Generator Improvements Rule Proposal
The Hazardous Waste Generator Improvements Rule Proposal
 
Oredev 2011: Building Social Software for the Anti-Social Part II, Electric B...
Oredev 2011: Building Social Software for the Anti-Social Part II, Electric B...Oredev 2011: Building Social Software for the Anti-Social Part II, Electric B...
Oredev 2011: Building Social Software for the Anti-Social Part II, Electric B...
 
самоуверенность
самоуверенностьсамоуверенность
самоуверенность
 
The Sony Reader: eInk Has Arrived
The Sony Reader: eInk Has ArrivedThe Sony Reader: eInk Has Arrived
The Sony Reader: eInk Has Arrived
 
European Commission Report - From Niche to Norm
European Commission Report - From Niche to NormEuropean Commission Report - From Niche to Norm
European Commission Report - From Niche to Norm
 
Participating in the Creative Commons (NLA/NEMA 2008)
Participating in the Creative Commons (NLA/NEMA 2008)Participating in the Creative Commons (NLA/NEMA 2008)
Participating in the Creative Commons (NLA/NEMA 2008)
 
Macruby& Hotcocoa presentation by Rich Kilmer
Macruby& Hotcocoa presentation by Rich KilmerMacruby& Hotcocoa presentation by Rich Kilmer
Macruby& Hotcocoa presentation by Rich Kilmer
 
Penny Park Renovations
Penny Park RenovationsPenny Park Renovations
Penny Park Renovations
 
Master Presentation (Session 2b) - 2015 Horizon 2020 SC5 Info Day
Master Presentation (Session 2b) - 2015 Horizon 2020 SC5 Info DayMaster Presentation (Session 2b) - 2015 Horizon 2020 SC5 Info Day
Master Presentation (Session 2b) - 2015 Horizon 2020 SC5 Info Day
 
Geological Survey of Ireland Research Programmes Towards 2020 – Aoife Braiden
Geological Survey of Ireland Research Programmes Towards 2020 – Aoife BraidenGeological Survey of Ireland Research Programmes Towards 2020 – Aoife Braiden
Geological Survey of Ireland Research Programmes Towards 2020 – Aoife Braiden
 
Innovating the Raw Materials value-chain – Maria Magdalena Holmgren
Innovating the Raw Materials value-chain  – Maria Magdalena HolmgrenInnovating the Raw Materials value-chain  – Maria Magdalena Holmgren
Innovating the Raw Materials value-chain – Maria Magdalena Holmgren
 

Similar to JavaScript and HTML5 - Brave New World (revised)

Intro to Advanced JavaScript
Intro to Advanced JavaScriptIntro to Advanced JavaScript
Intro to Advanced JavaScriptryanstout
 
The Beauty Of Java Script V5a
The Beauty Of Java Script V5aThe Beauty Of Java Script V5a
The Beauty Of Java Script V5arajivmordani
 
jQuery Data Manipulate API - A source code dissecting journey
jQuery Data Manipulate API - A source code dissecting journeyjQuery Data Manipulate API - A source code dissecting journey
jQuery Data Manipulate API - A source code dissecting journeyHuiyi Yan
 
TDC 2014 - JavaScript de qualidade: hoje, amanhã e sempre!
TDC 2014 - JavaScript de qualidade: hoje, amanhã e sempre!TDC 2014 - JavaScript de qualidade: hoje, amanhã e sempre!
TDC 2014 - JavaScript de qualidade: hoje, amanhã e sempre!Guilherme Carreiro
 
JavaScript APIs - The Web is the Platform - MDN Hack Day, Sao Paulo
JavaScript APIs - The Web is the Platform - MDN Hack Day, Sao PauloJavaScript APIs - The Web is the Platform - MDN Hack Day, Sao Paulo
JavaScript APIs - The Web is the Platform - MDN Hack Day, Sao PauloRobert Nyman
 
Web Optimization Summit: Coding for Performance
Web Optimization Summit: Coding for PerformanceWeb Optimization Summit: Coding for Performance
Web Optimization Summit: Coding for Performancejohndaviddalton
 
jQuery: Tips, tricks and hints for better development and Performance
jQuery: Tips, tricks and hints for better development and PerformancejQuery: Tips, tricks and hints for better development and Performance
jQuery: Tips, tricks and hints for better development and PerformanceJonas De Smet
 
FrontInBahia 2014: 10 dicas de desempenho para apps mobile híbridas
FrontInBahia 2014: 10 dicas de desempenho para apps mobile híbridasFrontInBahia 2014: 10 dicas de desempenho para apps mobile híbridas
FrontInBahia 2014: 10 dicas de desempenho para apps mobile híbridasLoiane Groner
 
Adding ES6 to Your Developer Toolbox
Adding ES6 to Your Developer ToolboxAdding ES6 to Your Developer Toolbox
Adding ES6 to Your Developer ToolboxJeff Strauss
 
Bestpractices nl
Bestpractices nlBestpractices nl
Bestpractices nlWilfred Nas
 
Introduction à CoffeeScript pour ParisRB
Introduction à CoffeeScript pour ParisRB Introduction à CoffeeScript pour ParisRB
Introduction à CoffeeScript pour ParisRB jhchabran
 
JavaScript Sprachraum
JavaScript SprachraumJavaScript Sprachraum
JavaScript Sprachraumpatricklee
 
Maintainable JavaScript 2011
Maintainable JavaScript 2011Maintainable JavaScript 2011
Maintainable JavaScript 2011Nicholas Zakas
 
Websockets talk at Rubyconf Uruguay 2010
Websockets talk at Rubyconf Uruguay 2010Websockets talk at Rubyconf Uruguay 2010
Websockets talk at Rubyconf Uruguay 2010Ismael Celis
 

Similar to JavaScript and HTML5 - Brave New World (revised) (20)

Intro to Advanced JavaScript
Intro to Advanced JavaScriptIntro to Advanced JavaScript
Intro to Advanced JavaScript
 
The Beauty Of Java Script V5a
The Beauty Of Java Script V5aThe Beauty Of Java Script V5a
The Beauty Of Java Script V5a
 
The Beauty of Java Script
The Beauty of Java ScriptThe Beauty of Java Script
The Beauty of Java Script
 
jQuery Data Manipulate API - A source code dissecting journey
jQuery Data Manipulate API - A source code dissecting journeyjQuery Data Manipulate API - A source code dissecting journey
jQuery Data Manipulate API - A source code dissecting journey
 
TDC 2014 - JavaScript de qualidade: hoje, amanhã e sempre!
TDC 2014 - JavaScript de qualidade: hoje, amanhã e sempre!TDC 2014 - JavaScript de qualidade: hoje, amanhã e sempre!
TDC 2014 - JavaScript de qualidade: hoje, amanhã e sempre!
 
JavaScript patterns
JavaScript patternsJavaScript patterns
JavaScript patterns
 
JavaScript APIs - The Web is the Platform - MDN Hack Day, Sao Paulo
JavaScript APIs - The Web is the Platform - MDN Hack Day, Sao PauloJavaScript APIs - The Web is the Platform - MDN Hack Day, Sao Paulo
JavaScript APIs - The Web is the Platform - MDN Hack Day, Sao Paulo
 
Web Optimization Summit: Coding for Performance
Web Optimization Summit: Coding for PerformanceWeb Optimization Summit: Coding for Performance
Web Optimization Summit: Coding for Performance
 
jQuery: Tips, tricks and hints for better development and Performance
jQuery: Tips, tricks and hints for better development and PerformancejQuery: Tips, tricks and hints for better development and Performance
jQuery: Tips, tricks and hints for better development and Performance
 
FrontInBahia 2014: 10 dicas de desempenho para apps mobile híbridas
FrontInBahia 2014: 10 dicas de desempenho para apps mobile híbridasFrontInBahia 2014: 10 dicas de desempenho para apps mobile híbridas
FrontInBahia 2014: 10 dicas de desempenho para apps mobile híbridas
 
Adding ES6 to Your Developer Toolbox
Adding ES6 to Your Developer ToolboxAdding ES6 to Your Developer Toolbox
Adding ES6 to Your Developer Toolbox
 
JavaScript Promise
JavaScript PromiseJavaScript Promise
JavaScript Promise
 
Bestpractices nl
Bestpractices nlBestpractices nl
Bestpractices nl
 
JavaScript Neednt Hurt - JavaBin talk
JavaScript Neednt Hurt - JavaBin talkJavaScript Neednt Hurt - JavaBin talk
JavaScript Neednt Hurt - JavaBin talk
 
Introduction à CoffeeScript pour ParisRB
Introduction à CoffeeScript pour ParisRB Introduction à CoffeeScript pour ParisRB
Introduction à CoffeeScript pour ParisRB
 
JavaScript Sprachraum
JavaScript SprachraumJavaScript Sprachraum
JavaScript Sprachraum
 
Maintainable JavaScript 2011
Maintainable JavaScript 2011Maintainable JavaScript 2011
Maintainable JavaScript 2011
 
Php
PhpPhp
Php
 
Txjs
TxjsTxjs
Txjs
 
Websockets talk at Rubyconf Uruguay 2010
Websockets talk at Rubyconf Uruguay 2010Websockets talk at Rubyconf Uruguay 2010
Websockets talk at Rubyconf Uruguay 2010
 

More from Robert Nyman

Have you tried listening?
Have you tried listening?Have you tried listening?
Have you tried listening?Robert Nyman
 
Building for Your Next Billion - Google I/O 2017
Building for Your Next Billion - Google I/O 2017Building for Your Next Billion - Google I/O 2017
Building for Your Next Billion - Google I/O 2017Robert Nyman
 
Introduction to Google Daydream
Introduction to Google DaydreamIntroduction to Google Daydream
Introduction to Google DaydreamRobert Nyman
 
Predictability for the Web
Predictability for the WebPredictability for the Web
Predictability for the WebRobert Nyman
 
The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016Robert Nyman
 
The Future of the Web - Cold Front conference 2016
The Future of the Web - Cold Front conference 2016The Future of the Web - Cold Front conference 2016
The Future of the Web - Cold Front conference 2016Robert Nyman
 
The Future of Progressive Web Apps - Google for Indonesia
The Future of Progressive Web Apps - Google for IndonesiaThe Future of Progressive Web Apps - Google for Indonesia
The Future of Progressive Web Apps - Google for IndonesiaRobert Nyman
 
Google tech & products
Google tech & productsGoogle tech & products
Google tech & productsRobert Nyman
 
Introduction to Progressive Web Apps, Google Developer Summit, Seoul - South ...
Introduction to Progressive Web Apps, Google Developer Summit, Seoul - South ...Introduction to Progressive Web Apps, Google Developer Summit, Seoul - South ...
Introduction to Progressive Web Apps, Google Developer Summit, Seoul - South ...Robert Nyman
 
Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan
Progressive Web Apps keynote, Google Developer Summit, Tokyo, JapanProgressive Web Apps keynote, Google Developer Summit, Tokyo, Japan
Progressive Web Apps keynote, Google Developer Summit, Tokyo, JapanRobert Nyman
 
The web - What it has, what it lacks and where it must go - keynote at Riga D...
The web - What it has, what it lacks and where it must go - keynote at Riga D...The web - What it has, what it lacks and where it must go - keynote at Riga D...
The web - What it has, what it lacks and where it must go - keynote at Riga D...Robert Nyman
 
The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...
The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...
The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...Robert Nyman
 
The web - What it has, what it lacks and where it must go - Istanbul
The web - What it has, what it lacks and where it must go - IstanbulThe web - What it has, what it lacks and where it must go - Istanbul
The web - What it has, what it lacks and where it must go - IstanbulRobert Nyman
 
The web - What it has, what it lacks and where it must go
The web - What it has, what it lacks and where it must goThe web - What it has, what it lacks and where it must go
The web - What it has, what it lacks and where it must goRobert Nyman
 
Google, the future and possibilities
Google, the future and possibilitiesGoogle, the future and possibilities
Google, the future and possibilitiesRobert Nyman
 
Developer Relations in the Nordics
Developer Relations in the NordicsDeveloper Relations in the Nordics
Developer Relations in the NordicsRobert Nyman
 
What is Developer Relations?
What is Developer Relations?What is Developer Relations?
What is Developer Relations?Robert Nyman
 
Android TV Introduction - Stockholm Android TV meetup
Android TV Introduction - Stockholm Android TV meetupAndroid TV Introduction - Stockholm Android TV meetup
Android TV Introduction - Stockholm Android TV meetupRobert Nyman
 
New improvements for web developers - frontend.fi, Helsinki
New improvements for web developers - frontend.fi, HelsinkiNew improvements for web developers - frontend.fi, Helsinki
New improvements for web developers - frontend.fi, HelsinkiRobert Nyman
 
Mobile phone trends, user data & developer climate - frontend.fi, Helsinki
Mobile phone trends, user data & developer climate - frontend.fi, HelsinkiMobile phone trends, user data & developer climate - frontend.fi, Helsinki
Mobile phone trends, user data & developer climate - frontend.fi, HelsinkiRobert Nyman
 

More from Robert Nyman (20)

Have you tried listening?
Have you tried listening?Have you tried listening?
Have you tried listening?
 
Building for Your Next Billion - Google I/O 2017
Building for Your Next Billion - Google I/O 2017Building for Your Next Billion - Google I/O 2017
Building for Your Next Billion - Google I/O 2017
 
Introduction to Google Daydream
Introduction to Google DaydreamIntroduction to Google Daydream
Introduction to Google Daydream
 
Predictability for the Web
Predictability for the WebPredictability for the Web
Predictability for the Web
 
The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016The Future of Progressive Web Apps - View Source conference, Berlin 2016
The Future of Progressive Web Apps - View Source conference, Berlin 2016
 
The Future of the Web - Cold Front conference 2016
The Future of the Web - Cold Front conference 2016The Future of the Web - Cold Front conference 2016
The Future of the Web - Cold Front conference 2016
 
The Future of Progressive Web Apps - Google for Indonesia
The Future of Progressive Web Apps - Google for IndonesiaThe Future of Progressive Web Apps - Google for Indonesia
The Future of Progressive Web Apps - Google for Indonesia
 
Google tech & products
Google tech & productsGoogle tech & products
Google tech & products
 
Introduction to Progressive Web Apps, Google Developer Summit, Seoul - South ...
Introduction to Progressive Web Apps, Google Developer Summit, Seoul - South ...Introduction to Progressive Web Apps, Google Developer Summit, Seoul - South ...
Introduction to Progressive Web Apps, Google Developer Summit, Seoul - South ...
 
Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan
Progressive Web Apps keynote, Google Developer Summit, Tokyo, JapanProgressive Web Apps keynote, Google Developer Summit, Tokyo, Japan
Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan
 
The web - What it has, what it lacks and where it must go - keynote at Riga D...
The web - What it has, what it lacks and where it must go - keynote at Riga D...The web - What it has, what it lacks and where it must go - keynote at Riga D...
The web - What it has, what it lacks and where it must go - keynote at Riga D...
 
The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...
The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...
The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...
 
The web - What it has, what it lacks and where it must go - Istanbul
The web - What it has, what it lacks and where it must go - IstanbulThe web - What it has, what it lacks and where it must go - Istanbul
The web - What it has, what it lacks and where it must go - Istanbul
 
The web - What it has, what it lacks and where it must go
The web - What it has, what it lacks and where it must goThe web - What it has, what it lacks and where it must go
The web - What it has, what it lacks and where it must go
 
Google, the future and possibilities
Google, the future and possibilitiesGoogle, the future and possibilities
Google, the future and possibilities
 
Developer Relations in the Nordics
Developer Relations in the NordicsDeveloper Relations in the Nordics
Developer Relations in the Nordics
 
What is Developer Relations?
What is Developer Relations?What is Developer Relations?
What is Developer Relations?
 
Android TV Introduction - Stockholm Android TV meetup
Android TV Introduction - Stockholm Android TV meetupAndroid TV Introduction - Stockholm Android TV meetup
Android TV Introduction - Stockholm Android TV meetup
 
New improvements for web developers - frontend.fi, Helsinki
New improvements for web developers - frontend.fi, HelsinkiNew improvements for web developers - frontend.fi, Helsinki
New improvements for web developers - frontend.fi, Helsinki
 
Mobile phone trends, user data & developer climate - frontend.fi, Helsinki
Mobile phone trends, user data & developer climate - frontend.fi, HelsinkiMobile phone trends, user data & developer climate - frontend.fi, Helsinki
Mobile phone trends, user data & developer climate - frontend.fi, Helsinki
 

Recently uploaded

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 

Recently uploaded (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

JavaScript and HTML5 - Brave New World (revised)