Slides of my talk at DevFest 2016 in Cochabamba, Bolivia (en español - in spanish) about Web APIs for hardware access, the Physical Web, WebVR and other technologies.
Slides of my talk about Progressive Web Apps - The Web strikes again (La Web contraataca) delivered in Cochabamba Bolivia, for DevFest 2016 in November 2016.
Talk delivered in New York, Sep 19, 2016 during an O'Reilly meetup before Velocity Conference about Web Performance and Images, including HTTP Client Hints and new Image Formats
Slides of my talk about Progressive Web Apps - The Web strikes again (La Web contraataca) delivered in Cochabamba Bolivia, for DevFest 2016 in November 2016.
Talk delivered in New York, Sep 19, 2016 during an O'Reilly meetup before Velocity Conference about Web Performance and Images, including HTTP Client Hints and new Image Formats
Client Side Performance for Back End Developers - Camb Expert Talks, Nov 2016Bart Read
Slides for a new talk - honestly, an alpha version (thanks to everyone who came for playing guinea pig) - of my client side performance talk. This is very much aimed towards back-end, or full stack developers more used to working behind the scenes, who may be less comfortable with JavaScript and other front-end performance concerns.
At the Kings of Code conference in Amsterdam in May 2008 I presented an updated version of my High Performance Web Sites talk that I first offered at @media in London in 2007. Thanks to the Performance Engineers at Yahoo! for the research!
Boosting performance for Webpack and React application. Steps to improve build speed and bundle size. Much of this applies to Angular, SASS, Less, and Javascript (ES6) overall.
Optimizing web app delivery speed with PRPL pattern. Interactive demo with Webpack and React sample code. Project available with an incremental 7-step process for free on GitHub. Presentation from Split.JS Meetup.
GitHub project: https://github.com/ModusCreateOrg/react-dynamic-route-loading-es6/tree/steps/6-no-helmet-scripttags
Session delivered at Malaga, Spain in the Wey Wey Web conference about how to use and integrate IA, ChatGPT and other LLMs into your websites including: plugins, how ChatGPT browses the web, and how to use prompt engineering for formatted data generation.
AI is everywhere nowadays, but if you are a web developer, you don't know where it fits in your work.
In this session, you will quickly understand how to add AI models to your website. You will also see how ChatGPT plugins work, how to create one, and how to gain control of the content used by LLMs.
In this session, you'll learn about API integration with OpenAI and Google LaMDA APIs, tokens, and how to keep things secure while scaling up. We'll walk you through real examples and hands-on demos, so you'll be ready to bring AI magic to your web projects quickly.
But that's not all! We'll also discuss how to create your plugin for LLMs, how Bing Chat and ChatGPT browser plugin works when browsing your web content, and how to opt out or optimize the results for AI. We'll cover basic concepts of data preprocessing, structuring, and how to tweak the model for your needs. Let's have fun and unlock ChatGPT and AI's power together!
Client Side Performance for Back End Developers - Camb Expert Talks, Nov 2016Bart Read
Slides for a new talk - honestly, an alpha version (thanks to everyone who came for playing guinea pig) - of my client side performance talk. This is very much aimed towards back-end, or full stack developers more used to working behind the scenes, who may be less comfortable with JavaScript and other front-end performance concerns.
At the Kings of Code conference in Amsterdam in May 2008 I presented an updated version of my High Performance Web Sites talk that I first offered at @media in London in 2007. Thanks to the Performance Engineers at Yahoo! for the research!
Boosting performance for Webpack and React application. Steps to improve build speed and bundle size. Much of this applies to Angular, SASS, Less, and Javascript (ES6) overall.
Optimizing web app delivery speed with PRPL pattern. Interactive demo with Webpack and React sample code. Project available with an incremental 7-step process for free on GitHub. Presentation from Split.JS Meetup.
GitHub project: https://github.com/ModusCreateOrg/react-dynamic-route-loading-es6/tree/steps/6-no-helmet-scripttags
Session delivered at Malaga, Spain in the Wey Wey Web conference about how to use and integrate IA, ChatGPT and other LLMs into your websites including: plugins, how ChatGPT browses the web, and how to use prompt engineering for formatted data generation.
AI is everywhere nowadays, but if you are a web developer, you don't know where it fits in your work.
In this session, you will quickly understand how to add AI models to your website. You will also see how ChatGPT plugins work, how to create one, and how to gain control of the content used by LLMs.
In this session, you'll learn about API integration with OpenAI and Google LaMDA APIs, tokens, and how to keep things secure while scaling up. We'll walk you through real examples and hands-on demos, so you'll be ready to bring AI magic to your web projects quickly.
But that's not all! We'll also discuss how to create your plugin for LLMs, how Bing Chat and ChatGPT browser plugin works when browsing your web content, and how to opt out or optimize the results for AI. We'll cover basic concepts of data preprocessing, structuring, and how to tweak the model for your needs. Let's have fun and unlock ChatGPT and AI's power together!
Slides for a talk at Web Directions 2018 in Melbourne, Australia. The current state of PWAs as August 2018 and the challenges and problems we have, and how to deal with them.
20. 1- Mobile y IoT
- Cada gadget, sensor, dispositivo va a
tener soporte de uso desde dispositivos
- No queremos instalar apps todo el tiempo
- No queremos hacer todo público
37. DEVICE SENSORS
1- Útiles en dispositivos mobile
2- Usa hardware y sensores
3- Diferentes Niveles
a- APIs Maduras
b- APIs Experimentales
c- APIs Futuras
45. Web Midi
Conectarse a dispositivos musicales:
sintetizadores, teclados, guitarras, máquinas de
sonidos, sistemas de iluminación
Enviar y recibir mensajes MIDI
56. Speech Synthesis y Recognition
Nos permite interactuar con el usuario
con la voz
Synthesis: permite que la Web hable
Recognition: permite que la Web
escuche
57. <code>
var u = new SpeechSynthesisUtterance();
u.rate = 1;
u.volume = 1;
u.pitch = 1;
u.text = “Hello World”;
u.lang = “en-GB”;
speechSynthesis.speak(u);
JAVASCRIPT
58. <code>
var u = new SpeechSynthesisUtterance();
u.rate = 1;
u.volume = 1;
u.pitch = 1;
u.text = “Hello World”;
u.lang = “en-GB”;
speechSynthesis.speak(u);
JAVASCRIPT
59. <code>
var u = new SpeechSynthesisUtterance();
u.rate = 1;
u.volume = 1;
u.pitch = 1;
u.text = “Hello World”;
u.lang = “en-GB”;
speechSynthesis.speak(u);
JAVASCRIPT
60. <code>
recognition = new SpeechRecognition();
recognition.continuous = true;
recognition.interimResults = true;
recognition.addEventListener(“result”, function(e) {
if (e.type==“result") {
for (…) {
var result = e.results[i][0];
var confidence = result.confidence*100);
var text = result.transcript;
}
}
};
JAVASCRIPT
61. <code>
recognition = new SpeechRecognition();
recognition.continuous = true;
recognition.interimResults = true;
recognition.addEventListener(“result”, function(e) {
if (e.type==“result") {
for (…) {
var result = e.results[i][0];
var confidence = result.confidence*100);
var text = result.transcript;
}
}
};
JAVASCRIPT
62. <code>
recognition = new SpeechRecognition()
recognition.continuous = true;
recognition.interimResults = true;
recognition.addEventListener(“result”, function(e) {
if (e.type==“result") {
for (…) {
var result = e.results[i][0];
var confidence = result.confidence*100);
var text = result.transcript;
}
}
};
JAVASCRIPT
63. <code>
recognition = new SpeechRecognition()
recognition.continuous = true;
recognition.interimResults = true;
recognition.addEventListener(“result”, function(e) {
if (e.type==“result") {
for (…) {
var result = e.results[i][0];
var confidence = result.confidence*100);
var text = result.transcript;
}
}
};
JAVASCRIPT
64. <code>
recognition = new SpeechRecognition()
recognition.continuous = true;
recognition.interimResults = true;
recognition.addEventListener(“result”, function(e) {
if (e.type==“result") {
for (…) {
var result = e.results[i][0];
var confidence = result.confidence*100);
var text = result.transcript;
}
}
};
JAVASCRIPT