SlideShare a Scribd company logo
How to overengineer a
meme generator
KRESIMIR “THE DICTATOR” ANTOLIC
JS “TEAM DICTATOR” @INFINUM
@KANTOLIC
WHAT YOU’LL GET?
KNOWLEDGE OF WHAT THE WEB
CAN (OR WILL BE ABLE TO) DO
FOR YOU.
TRUST ME.
I’M AN ENGINEER.
YOUR EXPERIENCE MAY
VARY.
(don’t try this in production kids)
(caniuse.com is your friend)
THE PROBLEM?
Most of my customers use IE8.
The Customer
THE GOAL?
GOTTA TRY ‘EM
ALL!
THE PROJECT
(we will treat it as one)
MEME IMAGE
INPUT
MEME TEXT
BROWSER
THE CHALLENGE?
Client side only.
STUFF WE WILL USE
TOOLS
WEBPACK
• a bundler for javascript and friends
• transforming, bundling, or packaging
• use it for developing and deploying
• a lot of plugins
ES2016 (THE NEW JS)
• “real language”
• use Babel transpiler for transpilation to browser compatible
code (ie8 etc)
SCSS
• who writes css these days
LINTERS ETC
• JS - eslint
• SCSS/CSS - stylelint
• automagic running (precommit) - husky
TESTS
TESTS
• no time (and other excuses)
SVRTAN
THE BASIC PROJECT
MEME IMAGE
INPUT
MEME TEXT
BROWSER
• a few divs
• canvas
• an input
• some js
• small amount of css for prettiness
Show and tell
TECHS
LITTERACY
LITERACY
SPELLCHECK
• not. going. to. explain.
<input type="text" spellcheck/>
<textarea spellcheck></textarea>
SPELLCHECK
SHARING IS CARING
DOWNLOAD
• with a link
<a href="somefile.png" download/>
DOWNLOAD
<a href="blob://someblob" download/>
BETTER PHOTOS
EVERYWHERE?
PICTURE ELEMENT
• switch case for images to be used based on supported mime
type and/or best resolutions (chosen by the browsers)
• no js!
PICTURE
<picture>
<source srcset=“image.png" media="(min-width: 600px)">
<source srcset=“bigger-image.png” media="(min-width: 1200px)">
<img src=“meme-image.png" alt="meme">
</picture>
Show and tell
LAZINESS
WEB SPEECH API
• SpeechRecognition (speech-to-something-we-can-use)
[online only :( ]
WEB SPEECH API
var SpeechRecognition = SpeechRecognition || webkitSpeechRecognition;
var SpeechGrammarList = SpeechGrammarList || webkitSpeechGrammarList;
var SpeechRecognitionEvent = SpeechRecognitionEvent ||
webkitSpeechRecognitionEvent;
const recognition = new SpeechRecognition();
const speechRecognitionList = new SpeechGrammarList();
recognition.start();
recognition.onresult = (event) => {
console.log(event.results);
};
MAKE IT TALK!
WEB SPEECH API
• SpeechSynthesis (text-to-speech)
• SpeechRecognition (speech-to-something-we-can-use)
[online only :( ]
const synth = window.speechSynthesis;
const sayThis = new SpeechSynthesisUtterance('hello all!');
synth.speak(sayThis);
WEB SPEECH API
OTHER MEME PHOTOS?
MEDIADEVICES.GETUSERMEDIA()
• recording video, audio
• (also images)
MEDIADEVICES.GETUSERMEDIA()
const constraints = {
audio: true,
video: true
};
navigator.mediaDevices.getUserMedia(constraints)
.then((mediaStream) => {
// do stuff with stream
}).catch((err) {});
SAVING IT FOR LATER
INDEXDB
• it’s a database.
• nosql
• you can store stuff in.
• you can store files in.
• you can get stuff that you put. later.
• page refreshes don’t delete it
• large limit
INDEXDB
const request = window.indexedDB.open('memeFiles', 2);
let db;
request.onsuccess = function(e) {
db = e.target.result;
};
request.onupgradeneeded = (event) => {
db = event.target.result;
db.createObjectStore('memes', {
autoIncrement: true
});
};
//somewhere
const trans = db.transaction(['memes'], 'readwrite');
const store = trans.objectStore('memes');
const storeRequest = store.put(imageData);
Show and tell
WORKING WITHOUT THE
INTERNETS?
SERVICE WORKERS
• scripts that intercept network request (proxy)
• apps that work offline! (successor to application cache)
• push notifications!
• works only on https
SERVICE WORKERS
const CACHE_NAME = 'cache-name';
const urlsToCache = [
'/',
'/styles/main.css',
'/script/main.js'
];
self.addEventListener('install', (event) => {
event.waitUntil(
caches.open(CACHE_NAME)
.then((cache) => {
return cache.addAll(urlsToCache);
})
);
});
APPING IT
WEB MANIFEST
• json application info
• purpose of the manifest is to install web applications to the
homescreen of a device, providing users with quicker access
and a richer experience
WEB MANIFEST
{
“name": "OverMemGen",
"short_name": "OverMemGen",
"start_url": ".",
"display": "standalone",
"background_color": "#fff",
"description": "A overengineered meme generator!",
"icons": [{
"src": "images/touch/homescreen48.png",
"sizes": "48x48",
"type": "image/png"
}],
"related_applications": [{
"platform": "web"
}]
}
THE KITCHEN SINK
POINTER EVENTS
• hardware agnostic representation of input devices that can
target a specific coordinate(touch, mouse)
• we get: pointerdown, pointerup, pointermove, pointerleave,
pointerclick
NOTIFICATIONS
• awareness of any change in the light intensity
WEB AUDIO API
• make your our theme music
AMBIENT LIGHT EVENTS
• awareness of any change in the light intensity
DIALOG
• Yes, H™L has a basic Dialog element
ONLINE/OFFLINE
• detect if you have a network connection
• (for checking Internet status you will still have to ping stuff)
PAGE VISIBILITY
• do stuff when nobody is watching (like dancing)
KARAOKE
• semantic language processing for two-way communication
with a remote host
WHAT TO SAY HERE…
The web is moving
forward.
WHY IS THIS IMPORTANT?
NATIVE WEB
CAMERA YUP YUP
CONTACTS YUP NAH
OFFLINE YUP YUP
GEOLOCATION YUP YUP
FILE UPLOAD YUP YUP
GYROSCOPE YUP YUP
ACCEL YUP YUP
PUSH NOTIFICATION YUP ANDROID
MICROPHONE YUP YUP
NOT QUITE THERE YET.
The web is moving
forward.
And so should we.
go and tinker a bit
RESOURCES
• https://webpack.github.io/
• http://caniuse.com/
• https://developer.mozilla.org/en-US/docs/Web/Manifest
• https://developer.mozilla.org/en-US/Apps/Progressive
• https://developer.mozilla.org/en-US/docs/Web/API/
Web_Speech_API
• https://developer.mozilla.org/en-US/docs/Web/API/
MediaDevices/getUserMedia
• https://developer.mozilla.org/en-US/docs/Web/API/
IndexedDB_API
• https://developer.mozilla.org/en/docs/Web/API/
Service_Worker_API
• https://developer.mozilla.org/en-US/docs/Web/Manifest
Thank you!
KRESO@INFINUM.CO
@KANTOLIC
Visit infinum.co or find us on social networks:
infinum.co infinumco infinumco infinum
JOIND
https://joind.in/talk/24b10
The meme Generator!
https://overengineeredme.me/
Github
https://github.com/psyburn/meme-generator

More Related Content

What's hot

Jumping Into WordPress Plugin Programming
Jumping Into WordPress Plugin ProgrammingJumping Into WordPress Plugin Programming
Jumping Into WordPress Plugin Programming
Dougal Campbell
 
The Open-source Eclipse Plugin for Force.com Development, Summer ‘14
The Open-source Eclipse Plugin for Force.com Development, Summer ‘14The Open-source Eclipse Plugin for Force.com Development, Summer ‘14
The Open-source Eclipse Plugin for Force.com Development, Summer ‘14
Salesforce Developers
 
XboxAppDev 4. Web Apps on Xbox
XboxAppDev 4. Web Apps on XboxXboxAppDev 4. Web Apps on Xbox
XboxAppDev 4. Web Apps on Xbox
Windows Developer
 
Continuous Deployment at Etsy
Continuous Deployment at EtsyContinuous Deployment at Etsy
Continuous Deployment at Etsy
Premshree Pillai
 
Modern Web Applications Utilizing HTML5 (Dev Con TLV 06-2013)
Modern Web Applications Utilizing HTML5 (Dev Con TLV 06-2013)Modern Web Applications Utilizing HTML5 (Dev Con TLV 06-2013)
Modern Web Applications Utilizing HTML5 (Dev Con TLV 06-2013)
Ido Green
 
HTML5 apps for iOS (and probably beyond)
HTML5 apps for iOS (and probably beyond)HTML5 apps for iOS (and probably beyond)
HTML5 apps for iOS (and probably beyond)
Andi Farr
 
JavaScript All The Things
JavaScript All The ThingsJavaScript All The Things
JavaScript All The Things
Jordan Yaker
 
Blurring the difference between native and web apps with HTML5 & IE9
Blurring the difference between native and web apps with HTML5 & IE9Blurring the difference between native and web apps with HTML5 & IE9
Blurring the difference between native and web apps with HTML5 & IE9
Saurav Srivastava
 
Cross-platform Desktop application with AngularJS and build with Node-webkit
Cross-platform Desktop application with AngularJS and build with Node-webkitCross-platform Desktop application with AngularJS and build with Node-webkit
Cross-platform Desktop application with AngularJS and build with Node-webkit
Wittawas Wisarnkanchana
 
WHAT IS HTML5?(20100510)
WHAT IS HTML5?(20100510)WHAT IS HTML5?(20100510)
WHAT IS HTML5?(20100510)
Shumpei Shiraishi
 
4 JavaScript Tools Every Designer Should Know About
4 JavaScript Tools Every Designer Should Know About4 JavaScript Tools Every Designer Should Know About
4 JavaScript Tools Every Designer Should Know About
Aaron Tweeton
 

What's hot (11)

Jumping Into WordPress Plugin Programming
Jumping Into WordPress Plugin ProgrammingJumping Into WordPress Plugin Programming
Jumping Into WordPress Plugin Programming
 
The Open-source Eclipse Plugin for Force.com Development, Summer ‘14
The Open-source Eclipse Plugin for Force.com Development, Summer ‘14The Open-source Eclipse Plugin for Force.com Development, Summer ‘14
The Open-source Eclipse Plugin for Force.com Development, Summer ‘14
 
XboxAppDev 4. Web Apps on Xbox
XboxAppDev 4. Web Apps on XboxXboxAppDev 4. Web Apps on Xbox
XboxAppDev 4. Web Apps on Xbox
 
Continuous Deployment at Etsy
Continuous Deployment at EtsyContinuous Deployment at Etsy
Continuous Deployment at Etsy
 
Modern Web Applications Utilizing HTML5 (Dev Con TLV 06-2013)
Modern Web Applications Utilizing HTML5 (Dev Con TLV 06-2013)Modern Web Applications Utilizing HTML5 (Dev Con TLV 06-2013)
Modern Web Applications Utilizing HTML5 (Dev Con TLV 06-2013)
 
HTML5 apps for iOS (and probably beyond)
HTML5 apps for iOS (and probably beyond)HTML5 apps for iOS (and probably beyond)
HTML5 apps for iOS (and probably beyond)
 
JavaScript All The Things
JavaScript All The ThingsJavaScript All The Things
JavaScript All The Things
 
Blurring the difference between native and web apps with HTML5 & IE9
Blurring the difference between native and web apps with HTML5 & IE9Blurring the difference between native and web apps with HTML5 & IE9
Blurring the difference between native and web apps with HTML5 & IE9
 
Cross-platform Desktop application with AngularJS and build with Node-webkit
Cross-platform Desktop application with AngularJS and build with Node-webkitCross-platform Desktop application with AngularJS and build with Node-webkit
Cross-platform Desktop application with AngularJS and build with Node-webkit
 
WHAT IS HTML5?(20100510)
WHAT IS HTML5?(20100510)WHAT IS HTML5?(20100510)
WHAT IS HTML5?(20100510)
 
4 JavaScript Tools Every Designer Should Know About
4 JavaScript Tools Every Designer Should Know About4 JavaScript Tools Every Designer Should Know About
4 JavaScript Tools Every Designer Should Know About
 

Viewers also liked

Comunicazione pubblicitaria nella P.A.
Comunicazione pubblicitaria nella P.A.Comunicazione pubblicitaria nella P.A.
Comunicazione pubblicitaria nella P.A.eugenio iorio
 
You never use this shampoo. Deception, emotional sharing e influenza sociale.
You never use this shampoo. Deception, emotional sharing e influenza sociale.You never use this shampoo. Deception, emotional sharing e influenza sociale.
You never use this shampoo. Deception, emotional sharing e influenza sociale.
eugenio iorio
 
Costruire immaginari
Costruire immaginariCostruire immaginari
Costruire immaginari
eugenio iorio
 
Le parole del potere, il potere delle parole
Le parole del potere, il potere delle paroleLe parole del potere, il potere delle parole
Le parole del potere, il potere delle parole
eugenio iorio
 
La narrazione della sicurezza nell'era della post truth society
La narrazione della sicurezza nell'era della post truth societyLa narrazione della sicurezza nell'era della post truth society
La narrazione della sicurezza nell'era della post truth society
eugenio iorio
 
Teoria dei frame, i facts e i luoghi comuni
Teoria dei frame, i facts e i luoghi comuniTeoria dei frame, i facts e i luoghi comuni
Teoria dei frame, i facts e i luoghi comuni
eugenio iorio
 
Elementi di comunicazione di base
Elementi di comunicazione di baseElementi di comunicazione di base
Elementi di comunicazione di base
eugenio iorio
 
EMOTIONAL SHARING E POLARIZZAZIONE EMOTIVA DELLA CONVERSAZIONE POLITICA SU TW...
EMOTIONAL SHARING E POLARIZZAZIONE EMOTIVA DELLA CONVERSAZIONE POLITICA SU TW...EMOTIONAL SHARING E POLARIZZAZIONE EMOTIVA DELLA CONVERSAZIONE POLITICA SU TW...
EMOTIONAL SHARING E POLARIZZAZIONE EMOTIVA DELLA CONVERSAZIONE POLITICA SU TW...
eugenio iorio
 
Tactical media, influencers e guerriglia dei memi.
Tactical media, influencers e guerriglia dei memi. Tactical media, influencers e guerriglia dei memi.
Tactical media, influencers e guerriglia dei memi.
eugenio iorio
 
Gestire la reputazione online e creare un network di professionisti
Gestire la reputazione online e creare un network di professionistiGestire la reputazione online e creare un network di professionisti
Gestire la reputazione online e creare un network di professionisti
eugenio iorio
 
Smart Cities e il diritto alla sicurezza e alla privacy
Smart Cities e il diritto alla sicurezza e alla privacySmart Cities e il diritto alla sicurezza e alla privacy
Smart Cities e il diritto alla sicurezza e alla privacy
eugenio iorio
 
Memética pode definir preferências do consumidor
Memética pode definir preferências do consumidorMemética pode definir preferências do consumidor
Memética pode definir preferências do consumidor
José Chavaglia Neto
 
Analisi del potere di narrazione con la frame analysis
Analisi del potere di narrazione con la frame analysisAnalisi del potere di narrazione con la frame analysis
Analisi del potere di narrazione con la frame analysis
eugenio iorio
 
Agire influenza nella società delle reti
Agire influenza nella società delle reti Agire influenza nella società delle reti
Agire influenza nella società delle reti
eugenio iorio
 
Newsjacking
NewsjackingNewsjacking
Newsjacking
eugenio iorio
 
Frame analysis e analisi delle fonti
Frame analysis e analisi delle fontiFrame analysis e analisi delle fonti
Frame analysis e analisi delle fonti
eugenio iorio
 
Emotional intelligence in the big conversation
Emotional intelligence in the big conversationEmotional intelligence in the big conversation
Emotional intelligence in the big conversationeugenio iorio
 
Nessun tempo.nessunluogo
Nessun tempo.nessunluogoNessun tempo.nessunluogo
Nessun tempo.nessunluogo
eugenio iorio
 
The Cheap Guru Project
The Cheap Guru ProjectThe Cheap Guru Project
The Cheap Guru Project
eugenio iorio
 
Ambienti mediologici
Ambienti mediologiciAmbienti mediologici
Ambienti mediologici
eugenio iorio
 

Viewers also liked (20)

Comunicazione pubblicitaria nella P.A.
Comunicazione pubblicitaria nella P.A.Comunicazione pubblicitaria nella P.A.
Comunicazione pubblicitaria nella P.A.
 
You never use this shampoo. Deception, emotional sharing e influenza sociale.
You never use this shampoo. Deception, emotional sharing e influenza sociale.You never use this shampoo. Deception, emotional sharing e influenza sociale.
You never use this shampoo. Deception, emotional sharing e influenza sociale.
 
Costruire immaginari
Costruire immaginariCostruire immaginari
Costruire immaginari
 
Le parole del potere, il potere delle parole
Le parole del potere, il potere delle paroleLe parole del potere, il potere delle parole
Le parole del potere, il potere delle parole
 
La narrazione della sicurezza nell'era della post truth society
La narrazione della sicurezza nell'era della post truth societyLa narrazione della sicurezza nell'era della post truth society
La narrazione della sicurezza nell'era della post truth society
 
Teoria dei frame, i facts e i luoghi comuni
Teoria dei frame, i facts e i luoghi comuniTeoria dei frame, i facts e i luoghi comuni
Teoria dei frame, i facts e i luoghi comuni
 
Elementi di comunicazione di base
Elementi di comunicazione di baseElementi di comunicazione di base
Elementi di comunicazione di base
 
EMOTIONAL SHARING E POLARIZZAZIONE EMOTIVA DELLA CONVERSAZIONE POLITICA SU TW...
EMOTIONAL SHARING E POLARIZZAZIONE EMOTIVA DELLA CONVERSAZIONE POLITICA SU TW...EMOTIONAL SHARING E POLARIZZAZIONE EMOTIVA DELLA CONVERSAZIONE POLITICA SU TW...
EMOTIONAL SHARING E POLARIZZAZIONE EMOTIVA DELLA CONVERSAZIONE POLITICA SU TW...
 
Tactical media, influencers e guerriglia dei memi.
Tactical media, influencers e guerriglia dei memi. Tactical media, influencers e guerriglia dei memi.
Tactical media, influencers e guerriglia dei memi.
 
Gestire la reputazione online e creare un network di professionisti
Gestire la reputazione online e creare un network di professionistiGestire la reputazione online e creare un network di professionisti
Gestire la reputazione online e creare un network di professionisti
 
Smart Cities e il diritto alla sicurezza e alla privacy
Smart Cities e il diritto alla sicurezza e alla privacySmart Cities e il diritto alla sicurezza e alla privacy
Smart Cities e il diritto alla sicurezza e alla privacy
 
Memética pode definir preferências do consumidor
Memética pode definir preferências do consumidorMemética pode definir preferências do consumidor
Memética pode definir preferências do consumidor
 
Analisi del potere di narrazione con la frame analysis
Analisi del potere di narrazione con la frame analysisAnalisi del potere di narrazione con la frame analysis
Analisi del potere di narrazione con la frame analysis
 
Agire influenza nella società delle reti
Agire influenza nella società delle reti Agire influenza nella società delle reti
Agire influenza nella società delle reti
 
Newsjacking
NewsjackingNewsjacking
Newsjacking
 
Frame analysis e analisi delle fonti
Frame analysis e analisi delle fontiFrame analysis e analisi delle fonti
Frame analysis e analisi delle fonti
 
Emotional intelligence in the big conversation
Emotional intelligence in the big conversationEmotional intelligence in the big conversation
Emotional intelligence in the big conversation
 
Nessun tempo.nessunluogo
Nessun tempo.nessunluogoNessun tempo.nessunluogo
Nessun tempo.nessunluogo
 
The Cheap Guru Project
The Cheap Guru ProjectThe Cheap Guru Project
The Cheap Guru Project
 
Ambienti mediologici
Ambienti mediologiciAmbienti mediologici
Ambienti mediologici
 

Similar to How to overengineer a meme generator

APIs for modern web apps
APIs for modern web appsAPIs for modern web apps
APIs for modern web apps
Chris Mills
 
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
NativeScript: Cross-Platform Mobile Apps with JavaScript and AngularNativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
Todd Anglin
 
JavaScript Libraries: The Big Picture
JavaScript Libraries: The Big PictureJavaScript Libraries: The Big Picture
JavaScript Libraries: The Big Picture
Simon Willison
 
SharePoint Conference North America - Converting your JavaScript to SPFX
SharePoint Conference North America - Converting your JavaScript to SPFXSharePoint Conference North America - Converting your JavaScript to SPFX
SharePoint Conference North America - Converting your JavaScript to SPFX
Mark Rackley
 
Bruce Lawson: Progressive Web Apps: the future of Apps
Bruce Lawson: Progressive Web Apps: the future of AppsBruce Lawson: Progressive Web Apps: the future of Apps
Bruce Lawson: Progressive Web Apps: the future of Apps
brucelawson
 
Why Javascript matters
Why Javascript mattersWhy Javascript matters
Why Javascript matters
Marko Heijnen
 
Become a webdeveloper - AKAICamp Beginner #1
Become a webdeveloper - AKAICamp Beginner #1Become a webdeveloper - AKAICamp Beginner #1
Become a webdeveloper - AKAICamp Beginner #1
Jacek Tomaszewski
 
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
St. Petersburg College
 
Mobile native-hacks
Mobile native-hacksMobile native-hacks
Mobile native-hacks
DevelopmentArc LLC
 
Pivorak.javascript.global domination
Pivorak.javascript.global dominationPivorak.javascript.global domination
Pivorak.javascript.global domination
Андрей Вандакуров
 
Andriy Vandakurov about "Frontend. Global domination"
Andriy Vandakurov about  "Frontend. Global domination" Andriy Vandakurov about  "Frontend. Global domination"
Andriy Vandakurov about "Frontend. Global domination"
Pivorak MeetUp
 
symfony: An Open-Source Framework for Professionals (Dutch Php Conference 2008)
symfony: An Open-Source Framework for Professionals (Dutch Php Conference 2008)symfony: An Open-Source Framework for Professionals (Dutch Php Conference 2008)
symfony: An Open-Source Framework for Professionals (Dutch Php Conference 2008)
Fabien Potencier
 
CC-Castle; The best Real-Time/Embedded/HighTech language EVER?
CC-Castle; The best Real-Time/Embedded/HighTech language EVER?CC-Castle; The best Real-Time/Embedded/HighTech language EVER?
CC-Castle; The best Real-Time/Embedded/HighTech language EVER?
Albert Mietus
 
Silverlight
SilverlightSilverlight
Silverlight
Momentum Design Lab
 
Building cross platform web apps
Building cross platform web appsBuilding cross platform web apps
Building cross platform web apps
ITEM
 
Ignite your app development with Angular, NativeScript and Firebase
Ignite your app development with Angular, NativeScript and FirebaseIgnite your app development with Angular, NativeScript and Firebase
Ignite your app development with Angular, NativeScript and Firebase
Jen Looper
 
Front-end. Global domination
Front-end. Global dominationFront-end. Global domination
Front-end. Global domination
Stfalcon Meetups
 
Frontend. Global domination.
Frontend. Global domination.Frontend. Global domination.
Frontend. Global domination.
Андрей Вандакуров
 
JavaScript is everywhere
JavaScript is everywhereJavaScript is everywhere
JavaScript is everywhere
Stoyan Stefanov
 
EuRuKo JRuby Talk 2008
EuRuKo JRuby Talk 2008EuRuKo JRuby Talk 2008
EuRuKo JRuby Talk 2008
geraldbauer
 

Similar to How to overengineer a meme generator (20)

APIs for modern web apps
APIs for modern web appsAPIs for modern web apps
APIs for modern web apps
 
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
NativeScript: Cross-Platform Mobile Apps with JavaScript and AngularNativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
 
JavaScript Libraries: The Big Picture
JavaScript Libraries: The Big PictureJavaScript Libraries: The Big Picture
JavaScript Libraries: The Big Picture
 
SharePoint Conference North America - Converting your JavaScript to SPFX
SharePoint Conference North America - Converting your JavaScript to SPFXSharePoint Conference North America - Converting your JavaScript to SPFX
SharePoint Conference North America - Converting your JavaScript to SPFX
 
Bruce Lawson: Progressive Web Apps: the future of Apps
Bruce Lawson: Progressive Web Apps: the future of AppsBruce Lawson: Progressive Web Apps: the future of Apps
Bruce Lawson: Progressive Web Apps: the future of Apps
 
Why Javascript matters
Why Javascript mattersWhy Javascript matters
Why Javascript matters
 
Become a webdeveloper - AKAICamp Beginner #1
Become a webdeveloper - AKAICamp Beginner #1Become a webdeveloper - AKAICamp Beginner #1
Become a webdeveloper - AKAICamp Beginner #1
 
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
 
Mobile native-hacks
Mobile native-hacksMobile native-hacks
Mobile native-hacks
 
Pivorak.javascript.global domination
Pivorak.javascript.global dominationPivorak.javascript.global domination
Pivorak.javascript.global domination
 
Andriy Vandakurov about "Frontend. Global domination"
Andriy Vandakurov about  "Frontend. Global domination" Andriy Vandakurov about  "Frontend. Global domination"
Andriy Vandakurov about "Frontend. Global domination"
 
symfony: An Open-Source Framework for Professionals (Dutch Php Conference 2008)
symfony: An Open-Source Framework for Professionals (Dutch Php Conference 2008)symfony: An Open-Source Framework for Professionals (Dutch Php Conference 2008)
symfony: An Open-Source Framework for Professionals (Dutch Php Conference 2008)
 
CC-Castle; The best Real-Time/Embedded/HighTech language EVER?
CC-Castle; The best Real-Time/Embedded/HighTech language EVER?CC-Castle; The best Real-Time/Embedded/HighTech language EVER?
CC-Castle; The best Real-Time/Embedded/HighTech language EVER?
 
Silverlight
SilverlightSilverlight
Silverlight
 
Building cross platform web apps
Building cross platform web appsBuilding cross platform web apps
Building cross platform web apps
 
Ignite your app development with Angular, NativeScript and Firebase
Ignite your app development with Angular, NativeScript and FirebaseIgnite your app development with Angular, NativeScript and Firebase
Ignite your app development with Angular, NativeScript and Firebase
 
Front-end. Global domination
Front-end. Global dominationFront-end. Global domination
Front-end. Global domination
 
Frontend. Global domination.
Frontend. Global domination.Frontend. Global domination.
Frontend. Global domination.
 
JavaScript is everywhere
JavaScript is everywhereJavaScript is everywhere
JavaScript is everywhere
 
EuRuKo JRuby Talk 2008
EuRuKo JRuby Talk 2008EuRuKo JRuby Talk 2008
EuRuKo JRuby Talk 2008
 

Recently uploaded

Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Peter Caitens
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
kalichargn70th171
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Tier1 app
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
campbellclarkson
 
Manyata Tech Park Bangalore_ Infrastructure, Facilities and More
Manyata Tech Park Bangalore_ Infrastructure, Facilities and MoreManyata Tech Park Bangalore_ Infrastructure, Facilities and More
Manyata Tech Park Bangalore_ Infrastructure, Facilities and More
narinav14
 
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
widenerjobeyrl638
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies
 
Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...
Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...
Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...
Luigi Fugaro
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio, Inc.
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
Reetu63
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
kalichargn70th171
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
Yara Milbes
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
The Third Creative Media
 

Recently uploaded (20)

Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
 
Manyata Tech Park Bangalore_ Infrastructure, Facilities and More
Manyata Tech Park Bangalore_ Infrastructure, Facilities and MoreManyata Tech Park Bangalore_ Infrastructure, Facilities and More
Manyata Tech Park Bangalore_ Infrastructure, Facilities and More
 
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
 
Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...
Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...
Voxxed Days Trieste 2024 - Unleashing the Power of Vector Search and Semantic...
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
 

How to overengineer a meme generator