The document appears to be a presentation about optimizing websites for speed. It discusses various tools that can be used to analyze page speed performance. It also provides tips for improving page load times through techniques like HTTP compression, minification of files, browser caching of static content, optimizing images, and other best practices. The presentation encourages attendees to learn and implement at least one new optimization technique.
The Case for HTTP/2 - GreeceJS - June 2016Andy Davies
HTTP/2 is here but why do we need it, how is it different to HTTP/1.1 and what does the mean for developers?
Slides from my talk at GreeceJS in Athens, June 2016
Presentation at web2day in Nantes, France about the opportunities we have with HTML5 and how it means we move away from a static to an web of applications.
Week 05 Web, App and Javascript_Brandon, S.H. WuAppUniverz Org
The document discusses JavaScript basics and modular JavaScript design. It provides an agenda that covers JavaScript execution, scopes, types, browser objects, blocks, closures, DOM, event handling, and AJAX. It then discusses object-oriented JavaScript, components, containers, layouts, and client-side MVC patterns for modular JavaScript design. Examples of leveraging standards like HTML, CSS, and JavaScript across devices are also provided.
Progressive downloads and rendering (Stoyan Stefanov)Ontico
This document discusses techniques for progressively downloading and rendering web pages to improve performance and user experience. It covers topics like preventing blocking JavaScript and CSS downloads, using techniques like deferred and async scripts, inline CSS, and flushing to start rendering sooner. It also discusses using data URIs to reduce HTTP requests by inlining images and other assets. Formats like MHTML and chunked encoding are presented as ways to progressively deliver content across browsers. The goal is to start outputting content as fast as possible while downloading remaining assets in the background.
Presenting capabilities that develop since WordPress 3.4 of the theme customization screen. In addition to the standard features, there will be also presented more unique functions available, including the use of the changes introduced in the newest WordPress versions. The main aim of the lecture is to convince theme developers that the theme customization screen may completely replace additional subpages of the dashboard with theme options.
Beyond Breakpoints: Improving Performance for Responsive SitesRakuten Group, Inc.
Performance is important but often overlooked when it comes to building responsive sites. We often spend time discussing layouts, breakpoints, and designs that fits well for both desktops and mobile but we do not invest more time in thinking about performance. We learned this the hard way when we revamped Viki's main web page to a responsive site a few months ago. In the process of improving Viki's performance, we discovered practical techniques and useful tools in helping us enhance our user experience and monitor our performance. In this talk, we are going to share the present and the future of performance optimizations for responsive sites.
https://tech.rakuten.co.jp/
The document discusses key concepts about the World Wide Web and XHTML including:
- The World Wide Web is a subset of the Internet that allows sharing of web pages written in XHTML.
- Web browsers like Internet Explorer and Firefox are used to view web pages by requesting them from web servers.
- XHTML is the markup language used to structure and present content on web pages. It is based on HTML.
- Common XHTML tags are used to structure content like the <html>, <head>, <title>, <body>, <p>, <b>, <i> tags.
- Additional elements like images, headings, hyperlinks, and lists can be added to web pages using tags like <img
The document discusses the history and development of WebSockets. It describes how earlier protocols like HTTP, AJAX, and polling had limitations for real-time full-duplex communication needs. WebSockets were created as a new protocol to allow persistent connections and transmission of data between a client and server with low overhead. The document outlines the WebSocket handshake process and API, discusses security considerations, and provides examples of how WebSockets have been used in online games, visualization tools, and other real-time applications.
The Case for HTTP/2 - GreeceJS - June 2016Andy Davies
HTTP/2 is here but why do we need it, how is it different to HTTP/1.1 and what does the mean for developers?
Slides from my talk at GreeceJS in Athens, June 2016
Presentation at web2day in Nantes, France about the opportunities we have with HTML5 and how it means we move away from a static to an web of applications.
Week 05 Web, App and Javascript_Brandon, S.H. WuAppUniverz Org
The document discusses JavaScript basics and modular JavaScript design. It provides an agenda that covers JavaScript execution, scopes, types, browser objects, blocks, closures, DOM, event handling, and AJAX. It then discusses object-oriented JavaScript, components, containers, layouts, and client-side MVC patterns for modular JavaScript design. Examples of leveraging standards like HTML, CSS, and JavaScript across devices are also provided.
Progressive downloads and rendering (Stoyan Stefanov)Ontico
This document discusses techniques for progressively downloading and rendering web pages to improve performance and user experience. It covers topics like preventing blocking JavaScript and CSS downloads, using techniques like deferred and async scripts, inline CSS, and flushing to start rendering sooner. It also discusses using data URIs to reduce HTTP requests by inlining images and other assets. Formats like MHTML and chunked encoding are presented as ways to progressively deliver content across browsers. The goal is to start outputting content as fast as possible while downloading remaining assets in the background.
Presenting capabilities that develop since WordPress 3.4 of the theme customization screen. In addition to the standard features, there will be also presented more unique functions available, including the use of the changes introduced in the newest WordPress versions. The main aim of the lecture is to convince theme developers that the theme customization screen may completely replace additional subpages of the dashboard with theme options.
Beyond Breakpoints: Improving Performance for Responsive SitesRakuten Group, Inc.
Performance is important but often overlooked when it comes to building responsive sites. We often spend time discussing layouts, breakpoints, and designs that fits well for both desktops and mobile but we do not invest more time in thinking about performance. We learned this the hard way when we revamped Viki's main web page to a responsive site a few months ago. In the process of improving Viki's performance, we discovered practical techniques and useful tools in helping us enhance our user experience and monitor our performance. In this talk, we are going to share the present and the future of performance optimizations for responsive sites.
https://tech.rakuten.co.jp/
The document discusses key concepts about the World Wide Web and XHTML including:
- The World Wide Web is a subset of the Internet that allows sharing of web pages written in XHTML.
- Web browsers like Internet Explorer and Firefox are used to view web pages by requesting them from web servers.
- XHTML is the markup language used to structure and present content on web pages. It is based on HTML.
- Common XHTML tags are used to structure content like the <html>, <head>, <title>, <body>, <p>, <b>, <i> tags.
- Additional elements like images, headings, hyperlinks, and lists can be added to web pages using tags like <img
The document discusses the history and development of WebSockets. It describes how earlier protocols like HTTP, AJAX, and polling had limitations for real-time full-duplex communication needs. WebSockets were created as a new protocol to allow persistent connections and transmission of data between a client and server with low overhead. The document outlines the WebSocket handshake process and API, discusses security considerations, and provides examples of how WebSockets have been used in online games, visualization tools, and other real-time applications.
Performance Of Web Applications On Client MachinesCurelet Marius
Performance of Web applications on client machines. This paper refers to the performance of Web browsers and applications in general and of JavaScript code on the client machine.
HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]Aaron Gustafson
Everyone’s going gaga over HTML5 and the plethora of how-tos and demos available on the web are inspirational, but often leave us with more questions than answers. In this session, Aaron Gustafson will focus his attention on HTML5 as a markup language, provide you with a solid context for its enhanced semantics, and show you simple, effective ways you can put it to use on your site today.
Getting Started with HTML5 in Tech Com (STC 2012)Peter Lubbers
The document discusses an HTML5 presentation given by Peter Lubbers at STC12. It provides an agenda for the presentation that includes discussing what HTML5 is, its features, tools for HTML5, and a Q&A. It also shares quotes about the growing adoption of HTML5 and discusses several HTML5 topics like new elements, forms, multimedia, and CSS3.
WebPageTest is a great tool for testing and analysing how quickly web pages load.
Many people just use it as a simple testing tool, but it has advanced scripting capabilities for multi-page testing, completing forms etc.
It also has an API so performance testing can be integrated into Continuous Integration processes, used for monitoring and analysing how the web is built.
These slides explore some of these capabilities in more detail.
There are bonus slides after the "Thank You" slide
S314011 - Developing Composite Applications for the Cloud with Apache TuscanyLuciano Resende
Today's cloud environments pose new challenges for application developers: hiding cloud infrastructure from business logic, assembling components on heterogeneous and distributed cloud environments, and optimizing the provisioning of the required cloud resources. This session will demonstrate how to use Apache Tuscany and the Service Component Architecture (SCA) to develop, build, and run an application composed of several service components in a distributed cloud environment. We'll illustrate how to encapsulate cloud infrastructure services as SCA components to simplify the construction and assembly of the application and how to move components around and rewire the application to adjust to new business and cloud deployment conditions.
HTML5 introduces new semantic elements like <header>, <footer>, <nav>, <article> that help provide more meaning to the structure of content compared to non-semantic divisions. It allows for clearer outlines of content and separation of concerns between content, structure and presentation. While the benefits of semantic HTML5 may not be immediately visible, it can help future-proof websites and provide more accessibility for assistive technologies.
<SUMMARY>
The document provides tips for optimizing images and other content to improve performance on mobile devices. It discusses how humans perceive speed and common performance benchmarks. It then gives recommendations around profiling and benchmarking sites, optimizing image size, quality, format, caching, and lazy loading. Specific techniques include resizing images, adjusting quality levels, using responsive images, leveraging formats like WebP and SVG, image previews, and avoiding animated GIFs. The goal is to deliver content as fast as possible on slower mobile networks and devices.
</SUMMARY>
This document provides an introduction to HTML5:
- It discusses backwards compatibility, progressive enhancement, and the <!DOCTYPE html> declaration in HTML5.
- It describes the syntax options of HTML or XHTML and provides examples of new HTML5 elements like <video>, <canvas>, and various new <input> types.
- It includes a full sample HTML5 page with new elements, semantics, and WAI-ARIA roles for accessibility.
Responsive Layout Frameworks for XPages Application UIChris Toohey
The document discusses responsive layout frameworks for XPages applications. It covers what responsive layouts are, popular frameworks like Twitter Bootstrap, tips for getting started like using Bootstrap styles and grids, and the pros and cons of responsive layouts versus progressive enhancement. Responsive layouts make a single design adapt to different screen sizes but may be slower, while progressive enhancement combines graceful degradation and client-specific functionality.
Web Developers are excited to use HTML 5 features but sometimes they need to explain to their non-technical boss what it is and how it can benefit the company. This presentation provides just enough information to share the capabilities of this new technologies without overwhelming the audience with the technical details.
"What is HTML5?" covers things you might have seen on other websites and wanted to add on your own website but you didn't know it was a feature of HTML 5. After viewing this slideshow you will probably give your web developer the "go ahead" to upgrade your current HTML 4 website to HTML 5.
You will also understand why web developers don't like IE (Internet Explorer) and why they always want you to keep your browser updated to latest version. "I have seen the future. It's in my browser" is the slogan used by many who have joined the HTML 5 revolution.
This document discusses HTML5 and provides examples of new HTML5 elements and features such as audio, video, and the canvas element. It demonstrates how to add audio and video to a basic HTML5 page structure and provides code samples using the canvas element to draw shapes. It also discusses HTML5 support in different browsers and techniques for improving compatibility, such as using JavaScript to add support for new elements in older browsers.
In the beginning, progressive enhancement was simple: HTML layered with CSS layered with JavaScript. That worked fine when there were two browsers, but in today's world of multiple devices and multiple browsers, it's time for a progressive enhancement reboot. At the core is the understanding that the web is not print - the same rules don't apply. As developers and consumers we've been fooled into thinking about print paradigms for too long. In this talk, you'll learn just how different the web is and how the evolution of progressive enhancement can lead to better user experiences as well as happier developers and users.
This deck is a conference-agnostic one, suitable to be shown anywhere without site-specific jokes!
Brave new world of HTML5 - Interlink Conference Vancouver 04.06.2011Patrick Lauke
The document discusses the new features of HTML5 including improved semantics, forms, and multimedia capabilities. Some key points:
1. HTML5 adds new semantic elements like <header>, <footer>, <nav> that more accurately describe content. It also simplifies the doctype to <!DOCTYPE html>.
2. HTML5 introduces richer built-in form controls without JavaScript like date/time pickers, number sliders, and improved validation.
3. Multimedia is enhanced with <video>, <audio>, and <canvas> elements, allowing native playback of audio/video without plugins and scriptable drawing on <canvas>.
The document provides an overview of developing high performance web applications, focusing on optimizing front-end performance. It discusses why front-end performance matters, and provides best practices for optimizing page load time, developing responsive interfaces, and efficiently loading and executing JavaScript. The document also covers DOM scripting techniques, tools for profiling and analyzing performance, and how the performance monitoring service Gomez can be extended to better measure client-side metrics.
The document describes Representational State Transfer (REST), a design pattern for implementing networked systems like the World Wide Web. It discusses how the Web works using simple operations like GET, POST, PUT, and DELETE. Key components of the Web like firewalls, routers, and caches make decisions based solely on information in the HTTP header, not the payload. The document provides an example of how a company implements RESTful Web services to retrieve a parts list, get details on a specific part, and submit a purchase order. It addresses questions about scaling to many resources and handling complex queries.
HTML 5 is the latest version of the HTML standard. It includes several new elements and features to improve structure and behavior. Some key changes include new semantic elements like <article>, <aside>, <header>, and <footer>; built-in support for audio and video; the <canvas> element for drawing graphics; and forms with new input types. HTML 5 aims to simplify HTML and separate structure and presentation, making code cleaner and pages more accessible. It is developed jointly by the WHATWG and W3C organizations.
This document discusses tuning web performance from a frontend perspective. It covers the impact of performance on user experience, development tools for optimization like Firebug and Chrome DevTools, and various techniques for website optimization including reducing requests, optimizing images, leveraging caching, minimizing JavaScript, and improving loading efficiency. The goal is to provide an overview of concepts and tools for optimizing frontend performance.
This document provides an overview of profiling PHP applications for performance. It begins by discussing common myths about PHP optimizations that provide little real performance benefit. Effective profiling is based on measuring actual performance results using tools. The document outlines different profiling modes for normal development and emergency situations. It then describes various tools that can be used to profile different parts of a PHP application, including the browser, web server, PHP code, database, and operating system. It emphasizes finding and addressing bottlenecks. The document concludes by offering advice like avoiding premature optimization, understanding problems fully before attempting to fix them, and asking others for help.
Web Components: The Future of Web Development is HereJohn Riviello
From Drupaldelphia 2018
If you haven’t explored Web Components yet, you’re missing out on a powerful tool that can greatly enhance reusability of common web elements throughout your websites and web applications. As Comcast has been updating our web properties to unify under a single UX, using Web Components with Polymer has helped make that process much more efficient.
This session will introduce you to what exactly Web Components are and how to use them. We’ll also cover building Web Components with Polymer, the most popular Web Component library. You’ll get to hear how Comcast is using the web platform to build its next generation single page apps & websites using the latest browser APIs.
You’ll also learn about how easy it is to onboard a team to using Polymer, tips for sharing components with other websites & across teams, and best practices Comcast has established for efficient development of Web Components.
Building Performance - ein Frontend-Build-Prozess für Java mit MavenOliver Ochs
Jan Weinschenker und Oliver Ochs (Holisticon AG)
In diesem Vortrag geht es um eine konkrete Website. Im ersten Teil des Vortrags stellen wir die wichtigsten Optimierungsmaßnahmen vor, die außerhalb eines Builds durchgeführt wurden. Für eine dauerhafte, nachhaltige Performance-Optimierung müssen die Maßnahmen automatisiert bzw. in den Build-Prozess integriert werden. Im zweiten Teil des Vortrags zeigen wir einen beispielhaften Build-Prozess für Java-Webanwendungen, der Teile der Optimierungsmaßnahmen durchführt. Andere Teile müssen durch eine geeignete Architektur sichergestellt werden, wofür wir ebenfalls Ideen liefern.
Performance Of Web Applications On Client MachinesCurelet Marius
Performance of Web applications on client machines. This paper refers to the performance of Web browsers and applications in general and of JavaScript code on the client machine.
HTML5: Smart Markup for Smarter Websites [Future of Web Apps, Las Vegas 2011]Aaron Gustafson
Everyone’s going gaga over HTML5 and the plethora of how-tos and demos available on the web are inspirational, but often leave us with more questions than answers. In this session, Aaron Gustafson will focus his attention on HTML5 as a markup language, provide you with a solid context for its enhanced semantics, and show you simple, effective ways you can put it to use on your site today.
Getting Started with HTML5 in Tech Com (STC 2012)Peter Lubbers
The document discusses an HTML5 presentation given by Peter Lubbers at STC12. It provides an agenda for the presentation that includes discussing what HTML5 is, its features, tools for HTML5, and a Q&A. It also shares quotes about the growing adoption of HTML5 and discusses several HTML5 topics like new elements, forms, multimedia, and CSS3.
WebPageTest is a great tool for testing and analysing how quickly web pages load.
Many people just use it as a simple testing tool, but it has advanced scripting capabilities for multi-page testing, completing forms etc.
It also has an API so performance testing can be integrated into Continuous Integration processes, used for monitoring and analysing how the web is built.
These slides explore some of these capabilities in more detail.
There are bonus slides after the "Thank You" slide
S314011 - Developing Composite Applications for the Cloud with Apache TuscanyLuciano Resende
Today's cloud environments pose new challenges for application developers: hiding cloud infrastructure from business logic, assembling components on heterogeneous and distributed cloud environments, and optimizing the provisioning of the required cloud resources. This session will demonstrate how to use Apache Tuscany and the Service Component Architecture (SCA) to develop, build, and run an application composed of several service components in a distributed cloud environment. We'll illustrate how to encapsulate cloud infrastructure services as SCA components to simplify the construction and assembly of the application and how to move components around and rewire the application to adjust to new business and cloud deployment conditions.
HTML5 introduces new semantic elements like <header>, <footer>, <nav>, <article> that help provide more meaning to the structure of content compared to non-semantic divisions. It allows for clearer outlines of content and separation of concerns between content, structure and presentation. While the benefits of semantic HTML5 may not be immediately visible, it can help future-proof websites and provide more accessibility for assistive technologies.
<SUMMARY>
The document provides tips for optimizing images and other content to improve performance on mobile devices. It discusses how humans perceive speed and common performance benchmarks. It then gives recommendations around profiling and benchmarking sites, optimizing image size, quality, format, caching, and lazy loading. Specific techniques include resizing images, adjusting quality levels, using responsive images, leveraging formats like WebP and SVG, image previews, and avoiding animated GIFs. The goal is to deliver content as fast as possible on slower mobile networks and devices.
</SUMMARY>
This document provides an introduction to HTML5:
- It discusses backwards compatibility, progressive enhancement, and the <!DOCTYPE html> declaration in HTML5.
- It describes the syntax options of HTML or XHTML and provides examples of new HTML5 elements like <video>, <canvas>, and various new <input> types.
- It includes a full sample HTML5 page with new elements, semantics, and WAI-ARIA roles for accessibility.
Responsive Layout Frameworks for XPages Application UIChris Toohey
The document discusses responsive layout frameworks for XPages applications. It covers what responsive layouts are, popular frameworks like Twitter Bootstrap, tips for getting started like using Bootstrap styles and grids, and the pros and cons of responsive layouts versus progressive enhancement. Responsive layouts make a single design adapt to different screen sizes but may be slower, while progressive enhancement combines graceful degradation and client-specific functionality.
Web Developers are excited to use HTML 5 features but sometimes they need to explain to their non-technical boss what it is and how it can benefit the company. This presentation provides just enough information to share the capabilities of this new technologies without overwhelming the audience with the technical details.
"What is HTML5?" covers things you might have seen on other websites and wanted to add on your own website but you didn't know it was a feature of HTML 5. After viewing this slideshow you will probably give your web developer the "go ahead" to upgrade your current HTML 4 website to HTML 5.
You will also understand why web developers don't like IE (Internet Explorer) and why they always want you to keep your browser updated to latest version. "I have seen the future. It's in my browser" is the slogan used by many who have joined the HTML 5 revolution.
This document discusses HTML5 and provides examples of new HTML5 elements and features such as audio, video, and the canvas element. It demonstrates how to add audio and video to a basic HTML5 page structure and provides code samples using the canvas element to draw shapes. It also discusses HTML5 support in different browsers and techniques for improving compatibility, such as using JavaScript to add support for new elements in older browsers.
In the beginning, progressive enhancement was simple: HTML layered with CSS layered with JavaScript. That worked fine when there were two browsers, but in today's world of multiple devices and multiple browsers, it's time for a progressive enhancement reboot. At the core is the understanding that the web is not print - the same rules don't apply. As developers and consumers we've been fooled into thinking about print paradigms for too long. In this talk, you'll learn just how different the web is and how the evolution of progressive enhancement can lead to better user experiences as well as happier developers and users.
This deck is a conference-agnostic one, suitable to be shown anywhere without site-specific jokes!
Brave new world of HTML5 - Interlink Conference Vancouver 04.06.2011Patrick Lauke
The document discusses the new features of HTML5 including improved semantics, forms, and multimedia capabilities. Some key points:
1. HTML5 adds new semantic elements like <header>, <footer>, <nav> that more accurately describe content. It also simplifies the doctype to <!DOCTYPE html>.
2. HTML5 introduces richer built-in form controls without JavaScript like date/time pickers, number sliders, and improved validation.
3. Multimedia is enhanced with <video>, <audio>, and <canvas> elements, allowing native playback of audio/video without plugins and scriptable drawing on <canvas>.
The document provides an overview of developing high performance web applications, focusing on optimizing front-end performance. It discusses why front-end performance matters, and provides best practices for optimizing page load time, developing responsive interfaces, and efficiently loading and executing JavaScript. The document also covers DOM scripting techniques, tools for profiling and analyzing performance, and how the performance monitoring service Gomez can be extended to better measure client-side metrics.
The document describes Representational State Transfer (REST), a design pattern for implementing networked systems like the World Wide Web. It discusses how the Web works using simple operations like GET, POST, PUT, and DELETE. Key components of the Web like firewalls, routers, and caches make decisions based solely on information in the HTTP header, not the payload. The document provides an example of how a company implements RESTful Web services to retrieve a parts list, get details on a specific part, and submit a purchase order. It addresses questions about scaling to many resources and handling complex queries.
HTML 5 is the latest version of the HTML standard. It includes several new elements and features to improve structure and behavior. Some key changes include new semantic elements like <article>, <aside>, <header>, and <footer>; built-in support for audio and video; the <canvas> element for drawing graphics; and forms with new input types. HTML 5 aims to simplify HTML and separate structure and presentation, making code cleaner and pages more accessible. It is developed jointly by the WHATWG and W3C organizations.
This document discusses tuning web performance from a frontend perspective. It covers the impact of performance on user experience, development tools for optimization like Firebug and Chrome DevTools, and various techniques for website optimization including reducing requests, optimizing images, leveraging caching, minimizing JavaScript, and improving loading efficiency. The goal is to provide an overview of concepts and tools for optimizing frontend performance.
This document provides an overview of profiling PHP applications for performance. It begins by discussing common myths about PHP optimizations that provide little real performance benefit. Effective profiling is based on measuring actual performance results using tools. The document outlines different profiling modes for normal development and emergency situations. It then describes various tools that can be used to profile different parts of a PHP application, including the browser, web server, PHP code, database, and operating system. It emphasizes finding and addressing bottlenecks. The document concludes by offering advice like avoiding premature optimization, understanding problems fully before attempting to fix them, and asking others for help.
Web Components: The Future of Web Development is HereJohn Riviello
From Drupaldelphia 2018
If you haven’t explored Web Components yet, you’re missing out on a powerful tool that can greatly enhance reusability of common web elements throughout your websites and web applications. As Comcast has been updating our web properties to unify under a single UX, using Web Components with Polymer has helped make that process much more efficient.
This session will introduce you to what exactly Web Components are and how to use them. We’ll also cover building Web Components with Polymer, the most popular Web Component library. You’ll get to hear how Comcast is using the web platform to build its next generation single page apps & websites using the latest browser APIs.
You’ll also learn about how easy it is to onboard a team to using Polymer, tips for sharing components with other websites & across teams, and best practices Comcast has established for efficient development of Web Components.
Building Performance - ein Frontend-Build-Prozess für Java mit MavenOliver Ochs
Jan Weinschenker und Oliver Ochs (Holisticon AG)
In diesem Vortrag geht es um eine konkrete Website. Im ersten Teil des Vortrags stellen wir die wichtigsten Optimierungsmaßnahmen vor, die außerhalb eines Builds durchgeführt wurden. Für eine dauerhafte, nachhaltige Performance-Optimierung müssen die Maßnahmen automatisiert bzw. in den Build-Prozess integriert werden. Im zweiten Teil des Vortrags zeigen wir einen beispielhaften Build-Prozess für Java-Webanwendungen, der Teile der Optimierungsmaßnahmen durchführt. Andere Teile müssen durch eine geeignete Architektur sichergestellt werden, wofür wir ebenfalls Ideen liefern.
Web Components: The Future of Web Development is HereJohn Riviello
With the updates to iOS and Android phones released earlier this year, Web Components are now supported natively. With libraries such as Polymer that are built on top of Web Components, it is now possible to easily create fast Progressive Web Apps (PWAs) without the overhead of a framework. In this workshop, we'll begin with a brief introduction to Web Components and Polymer, and then dive into hands-on experiences with the core aspects of Web Components: the <template> tag, Custom Elements, and the Shadow DOM.
Ensuring Design Standards with Web ComponentsJohn Riviello
The document discusses building a design system using Polymer web components. It provides an overview of the key aspects of web components, including custom elements, HTML imports, templates, shadow DOM, and how they enable encapsulation and reuse of UI elements. It then demonstrates how to build a simple custom element in Polymer, including defining the element class, template, and styles. The presentation emphasizes how Polymer and web components help manage styles and build reusable, encapsulated UI components for design systems.
WordPress is an effective platform for powering large web sites with various types of content and structured data. In this case study, Randy Hoyt will share from his experience developing a network of shopping center web sites on WordPress for a large property management company. He will explore the newer WordPress 3.x features, its child theme architecture, custom plugins, caching techniques, and cloud hosting infrastructure used to extend and scale WordPress for this project.
How Evoq Helps You Build Modern Web ApplicationsDNN
With a wealth of tools and frameworks available, it’s a great time to be a web developer.
From MVC to SPA, from Node.js to AngularJS, you have a rich set of toolsets and frameworks to build engaging and modern websites and web applications.
We’ve made it easier than ever to use modern development frameworks to build Evoq applications
In this presentation, Will Morgenweck highlights features in our latest Evoq release to help you build and extend Evoq applications.
Highly Maintainable, Efficient, and Optimized CSSZoe Gillenwater
The document discusses organizing CSS for maintainability and readability. It recommends dividing CSS into separate style sheets for different media types, rule types, or site sections. Within style sheets, related rules should be indented and grouped with comments. Declarations should be formatted consistently, either each on its own line or all on one line. Class and ID names should be meaningful. Informational comments can provide context. The goal is to structure CSS so it is easily understood by anyone viewing it.
Follow these 14 critical steps for launching your website perfectly, fully optimised for high search engine rankings that will kill your online competitors.
The document discusses the importance of website performance and provides tips to build responsive websites. It notes that users expect pages to load within 2 seconds and will leave slow sites. The tips include reducing HTTP requests, gzipping and minifying components, optimizing images, delivering JavaScript and CSS efficiently, lazy loading images, and inlining critical CSS. Following these foundations and techniques can significantly improve load times and user experience.
Theming websites effortlessly with Deliverance (CMSExpo 2010)Jazkarta, Inc.
Learn how to theme any CMS in 5 minutes with Deliverance, a tool that makes theming easy. It takes content from a CMS and inserts it into placeholders in a theme destination.
Going on an HTTP Diet: Front-End Web PerformanceAdam Norwood
Is your web site or web app feeling sluggish? Getting tired of watching your pages slowly render, the long seconds ticking away before your snazzy jQuery doohickey even has a chance to fire? Chances are it’s not that slow bit of code or that clunky database behind the scenes that’s to blame – 80% of the time spent loading most web pages is on the client side! At this talk, we’ll take a look at some of the easiest low-hanging fruit you can go after to help speed up web performance on the front end, from slimming down the size of content to optimizing HTTP requests, and more.
EECI2009 - From Design to Dynamic - Rapid ExpressionEngine DevelopmentFortySeven Media
The document discusses ExpressionEngine and how it can be used to rapidly develop sites using templates, addons, and other tools. It introduces the EE Sandbox approach, which involves setting up templates, addons, global variables and other site elements as reusable components. This allows developers to quickly build out new sites using the same patterns. The document provides an overview of the key elements in an EE Sandbox setup and demonstrates how to install the components, create templates, import assets and move the site to a new server.
When dynamic becomes static - the next step in web caching techniquesWim Godden
Although tools like Varnish can improve performance and scalability for static sites, when user-specific content is needed, a hit to the PHP/Ruby/Python/.Net backend is still required, causing scalability issues. We’ll look at a brand-new Nginx module which implements an ultra-fast and scalable solution to this problem, changing the way developers think about designing sites with user-specific content.
This document provides an overview of front end UI development and techniques to make websites lighter, faster and easier to use. It discusses rich internet applications (RIAs) and the benefits they provide. It also covers tools like jQuery, techniques for page rendering and code optimization. Specific examples include a Firefox extension developed for Naukri.com, use of CSS sprites for image optimization, and efforts for the Arabic translation of content and SEO. The document concludes with information about the Naukri Facebook application.
The presentation I made during WordCamp Manila 2016
See topics about tools we use for developing sites faster like Underscores, Visual Composer and Pantheon
The document summarizes three frontend optimizations used at Facebook - Quickling, PageCache, and BigPipe - to improve site performance and reduce server costs. Quickling uses AJAX to remove redundant page loads. PageCache caches visited pages in the browser to improve load times of revisited pages. BigPipe pipelines the generation and delivery of page components to reduce loading times. Together these techniques improved user experience and saved Facebook an estimated 20% in infrastructure costs.
WordPress is a free and open source blogging tool and content management system (CMS) built with PHP and MySQL. It powers over 60 million websites and 18.9% of the top 10 million websites use WordPress. Wordless is a WordPress plugin that aims to improve developer productivity by providing conventions for theme structure, helpers for common tasks, and support for preprocessing languages like HAML, SASS, and CoffeeScript. Wordmove is a tool for deploying WordPress sites that automates pushing code, files, databases, and more between development, staging, and production environments with a single command.
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital MarketersDistilled
We all know that site speed matters not only for users but also for search rankings. As marketers, how can we measure and improve the impact of site speed? Mat will cover a range of topics and tools, from the basic quick wins to some of the more surprising and cutting-edge techniques used by the largest websites in the world.
Similar to WordPress Performance Optimization for Mere Mortals (20)
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
A Comprehensive Guide to DeFi Development Services in 2024Intelisync
DeFi represents a paradigm shift in the financial industry. Instead of relying on traditional, centralized institutions like banks, DeFi leverages blockchain technology to create a decentralized network of financial services. This means that financial transactions can occur directly between parties, without intermediaries, using smart contracts on platforms like Ethereum.
In 2024, we are witnessing an explosion of new DeFi projects and protocols, each pushing the boundaries of what’s possible in finance.
In summary, DeFi in 2024 is not just a trend; it’s a revolution that democratizes finance, enhances security and transparency, and fosters continuous innovation. As we proceed through this presentation, we'll explore the various components and services of DeFi in detail, shedding light on how they are transforming the financial landscape.
At Intelisync, we specialize in providing comprehensive DeFi development services tailored to meet the unique needs of our clients. From smart contract development to dApp creation and security audits, we ensure that your DeFi project is built with innovation, security, and scalability in mind. Trust Intelisync to guide you through the intricate landscape of decentralized finance and unlock the full potential of blockchain technology.
Ready to take your DeFi project to the next level? Partner with Intelisync for expert DeFi development services today!
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframePrecisely
Inconsistent user experience and siloed data, high costs, and changing customer expectations – Citizens Bank was experiencing these challenges while it was attempting to deliver a superior digital banking experience for its clients. Its core banking applications run on the mainframe and Citizens was using legacy utilities to get the critical mainframe data to feed customer-facing channels, like call centers, web, and mobile. Ultimately, this led to higher operating costs (MIPS), delayed response times, and longer time to market.
Ever-changing customer expectations demand more modern digital experiences, and the bank needed to find a solution that could provide real-time data to its customer channels with low latency and operating costs. Join this session to learn how Citizens is leveraging Precisely to replicate mainframe data to its customer channels and deliver on their “modern digital bank” experiences.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
4. Business Intelligence and
Data Warehousing at the
University of Utah
2005 - WordPress 1.5
Developed blog to
deliver internal campus
news
Syndicated content via
RSS to campus portal
@JohnLevandowski 4
5. WordPress 3.4.2
Hosted by Someone
Shared Hosting
Do not have root access
to server
Concepts still apply
Use Apache Web Server
Concepts still apply
@JohnLevandowski 5
6. Have Fun!
Learn at least one thing YOU CAN DO tomorrow
@JohnLevandowski 6
7. A Fast WordPress Site is Cool
It’s also profitable $$$
Can save you $$$
Google cares about page speed
So do your customers
@JohnLevandowski 7
16. DNS Lookup
Server Connection
Waiting
Content Transfer
@JohnLevandowski 16
17. BACKUP your site before implementing any changes
@JohnLevandowski 17
18. “A .htaccess (hypertext access) file is a directory-level
configuration file supported by several web servers,
that allows for decentralized management of web
server configuration.”
WordPress configuration for “Pretty Permalinks”
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
@JohnLevandowski 18
20. “HTTP compression is a capability that can be built
into web servers and web clients to make better use of
available bandwidth, and provide faster transmission
speeds between both.”
Gzip
style.css
Not Compressed
57,094 bytes
Compressed
11,347 bytes
@JohnLevandowski 20
22. “Minification is the
process of removing all
unnecessary characters
from source code, without
changing its functionality.”
YUI Compressor
http://refresh-sf.com/yui/
@JohnLevandowski 22
24. WordPress theme style.css required headers
http://codex.wordpress.org/Theme_Development
Change link to style.css in header.php to minified
version
Original
<link rel="stylesheet" type="text/css" media="all"
href="<?php bloginfo( 'stylesheet_url' ); ?>" />
Minified
<link rel="stylesheet" type="text/css" media="all"
href="<?php echo get_stylesheet_directory_uri(); ?>/style-
min.css" />
There are fancier ways to do this with filters, etc.
@JohnLevandowski 24
26. Last-Modified and ETag
Weak caching headers – request to server needed
“Have you changed from the last time”
Expires and Cache-Control: max-age
Strong caching headers – no request to server needed
Cache static content
CSS
JavaScript
Images
@JohnLevandowski 26
28. Add to .htaccess file:
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/jpeg "access plus 6 months"
ExpiresByType image/png "access plus 6 months"
ExpiresByType image/gif "access plus 6 months"
ExpiresByType image/x-icon "access plus 6 months"
ExpiresByType text/css "access plus 6 months"
ExpiresByType application/javascript "access plus 6 months"
ExpiresByType application/x-javascript "access plus 6 months"
</IfModule>
@JohnLevandowski 28
29. If you cache static content you should never change
this content
Your frequent visitors will not see the change
If you change the content you need to change the URL
to that content
Images – upload new image with different file name
CSS and JS – add version number to URLs
http://example.com/style.css?ver=3.4.2
@JohnLevandowski 29
37. 300 X 224 Pixels 600 X 448 Pixels
57,854 bytes 57,749 bytes
@JohnLevandowski 37
38. Lossless
allows the exact original data to be reconstructed from
the compressed data
removing unnecessary comments, meta-data, and color
profiles
Lossy
compresses data by discarding (losing) some of it
Images (JPEG)
Audio (MP3, AAC, Dolby Digital AC-3)
Blu-ray (MPEG-2, H.264/MPEG-4 AVC, VC-1)
@JohnLevandowski 38
39. PNGOUT, AdvPNG, Pngcrush, OptiPNG, JpegOptim,
jpegrescan, jpegtran, Gifsicle, pngquant, pngnq …
ImageOptim for Mac
http://imageoptim.com/
ImageAlpha for Mac
http://pngmini.com/
Convert from 24-bit to 8-bit PNG
Similar tools are available for Windows
http://smush.it/
http://www.jpegmini.com/
@JohnLevandowski 39
40. Do not scale images in browser
Resize image before uploading to intended display size
Exceptions for HiDPI Retina displays
<img height=“100" width=“100" alt=“Alt Text"
src="http://example.com/wp-
content/uploads/2012/09/image.jpg" title=“Title Text"
class="alignnone size-full wp-image-1">
Image returned should natively be 100 x 100 pixels
@JohnLevandowski 40
46. Default jpeg quality is 90 for resized images
Change jpeg quality in functions.php
/** Lower jpeg quality for media */
add_filter( 'jpeg_quality', 'wpselect_jpeg_quality' );
function wpselect_jpeg_quality( $quality ) {
return (int)79;
}
Insert code in a plugin or theme
@JohnLevandowski 46
47. To reduce the number of requests the browser makes
to the server
Combine numerous small images
CSS is used to select the parts of the composite image
to display at different points in the page
http://spriteme.org/
@JohnLevandowski 47
48. WP Super Cache
W3 Total Cache
@JohnLevandowski 48
49. @JohnLevandowski
http://wpselect.com/
http://en.gravatar.com/jlevandowski
Slides will soon be available at:
http://wpselect.com/
@JohnLevandowski 49