The document discusses progressive enhancement with JavaScript and Ajax. It defines progressive enhancement as testing for support of different technologies like JavaScript, DOM, and objects, and providing alternative interfaces when something is not supported. It recommends testing for dependencies before using them, and separating interfaces from styles using CSS for flexibility. While CSS-only solutions seem appealing, JavaScript is more powerful and reliable for building complex, accessible interfaces. The key is enhancing interfaces thoughtfully to improve the user experience, not just for the sake of enhancement.
2016 is going to be the year of Virtual DOM. React.js one of the most popular implementation of Virtual DOM. But this time we won't focus on React.js. We will be focusing on what is the concept of Virtual DOM, what's the benefits, and how to use it without React.js. All of those concepts will help you understand this newest DOM manipulation technique and better work with any Virtual DOM implementations such React.js.
This document provides a summary of JavaScript DOM manipulations and events. It discusses how browsers render pages by creating DOM and render trees. It also covers how JavaScript can manipulate the DOM tree and add interactivity through event handling. Key topics include the event loop, capturing vs bubbling, and the DOM API for finding elements and modifying the document.
jQuery For Beginners - jQuery Conference 2009Ralph Whitbeck
This document outlines a presentation on beginning jQuery. It introduces jQuery, its history and core team. It also covers how to set up jQuery and explains its core functionality, including selecting elements, manipulating the DOM, AJAX, and events.
The document summarizes JavaScript basics and the HTML DOM. It discusses:
1) What JavaScript is and why it is used, including that it adds interactivity to HTML pages and is a scripting language embedded in HTML pages.
2) How and where to place JavaScript code using <script> tags in the <head> or <body> sections.
3) JavaScript language basics like variables, functions, conditional statements, and loops.
4) JavaScript events like onclick, onmouseover, and onsubmit and how they are used.
5) JavaScript objects including built-in objects like String, Date, and Array as well as creating custom objects.
6) HTML DOM objects that can be accessed
This document provides an overview of HTML5 and CSS3 features including new semantic HTML5 elements, multimedia capabilities like video and canvas, geolocation, and CSS3 properties for styling like borders, backgrounds, shadows, fonts, transitions and transforms. It includes code examples and screenshots to illustrate these new capabilities.
The document summarizes key aspects of using JavaScript with the DOM:
1) The DOM represents the document as nodes that can be accessed and manipulated with JavaScript. Common methods are getElementById() and getElementsByTagName() to select nodes, and createElement() to generate new nodes.
2) Events allow JavaScript to react to user actions. Event handlers can be assigned to nodes using onclick attributes or addEventListener(). Events bubble up the DOM tree by default but can be stopped from propagating with stopPropagation().
3) The this keyword refers to the "owner" or context of the executing function, such as the HTML element to which an event handler is assigned. Understanding this is important for manipulating nodes from
Last year, AOL adopted a new content strategy and has positioned itself as a premier destination for original content. Core to this strategy is having reusable, highly efficient and optimized common code and experiences at scale, which is where jQuery comes in. Check in with Dave Artz to see how jQuery has helped his front-end standards team tackle unique challenges like optimizing 3rd party widget performance, overriding plugin functionality, and managing dependencies and updates across 100+ sites spanning multiple back-end platforms.
The document contains code snippets from JavaScript courses and projects including:
1. Adding and animating elements on a page using requestAnimationFrame.
2. Using switch statements to output time of day and day of week.
3. Examples of using continue and break in for loops and while loops.
4. Dynamically adding input and div elements and adding keyboard event listeners.
5. Creating and rolling dice using dynamically generated HTML.
6. Creating a modal popup and dynamically updating content.
7. Building a simple counter using requestAnimationFrame.
8. Examples of querying elements and dynamically adding content.
9. Adding click handlers to matching elements using querySelectorAll.
The document discusses the divergence of goals between the W3C and WHATWG efforts for HTML specifications. It notes that the W3C is focused on creating snapshots of HTML according to its process, while WHATWG is focused on the canonical description and adding new features as needed. It also introduces web components as a way to build reusable custom elements using existing web technologies like HTML and JavaScript.
Backbone.js helps structure you javascript application code in a scalable way.
In this keynote I demonstrate how to use it in a simple walk-through example, and discuss the advantages of using an MVC framework.
The document discusses the JavaScript Browser Object Model (BOM) which allows access and manipulation of browser windows and screens. It describes common BOM objects like window, navigator, screen, location, and history that provide information about the browser and user environment. Examples are given showing how to use the window object to set timeouts and intervals, and the navigator object to detect the browser name and version.
StHack 2014 - Mario "@0x6D6172696F" Heiderich - JSMVCOMFGStHack
JSMVCOMFG is a presentation by Mario Heiderich on looking at JavaScript MVC and templating frameworks. These frameworks are becoming popular and complex, often maintained by large corporations. They extend and abstract the DOM using custom elements, script templates, and data bindings. However, they also introduce security risks by allowing JavaScript execution from data attributes and encoded templates, bypassing XSS filters. Frameworks need to implement better sandboxing and separation of code and content to address these issues.
The document discusses various JavaScript libraries including Prototype, jQuery, Yahoo UI, and Dojo. It compares the core functionality, widgets, development practices, and other features of each library. The core functionality discussed includes DOM manipulation, events, Ajax, and animations. Widgets/components discussed include drag and drop, trees, grids, modal dialogs, tabbed panes, menus/toolbars, datepickers, and sliders. Other sections cover architecture, licensing, browser support, file size, development practices like version control and testing, and documentation.
The Complementarity of React and Web ComponentsAndrew Rota
On Github: http://andrewrota.github.io/complementarity-of-react-and-web-components-presentation/index.html
The component driven, performance focused approach of React is a perfect complement to the modularity and portability of native HTML Web Components. At first glance, React and Web Components might seem like two radically different solutions to the same problem. But when combined properly they complement each other to create an extremely powerful, expressive framework for developing complex web applications.
The document discusses JavaScript event handling. It provides an overview of DOM Level 0 and 2-3 event models, and notes that jQuery helps normalize event handling across browsers. It describes common events like click and change, and gotchas like the 300ms delay on mobile touch events. The document recommends using event bubbling rather than attaching individual handlers, and covers properties of event objects like target, currentTarget, and timeStamp.
I talked about Vue.js at @agenciasomadev. In this talk I showed the basics about the Vue.js JavaScript Framework and it's simplicity. I hope you enjoy :)
The document discusses various JavaScript libraries including Prototype, jQuery, Yahoo UI, and Dojo. It compares the libraries across categories like core functionality, widgets, architecture, licensing, browser support, development, and documentation. The core functionality discussed includes DOM manipulation, events, AJAX, and animations. Popular widgets provided by the libraries include drag and drop, trees, grids, modal dialogs, tabbed panes, menus/toolbars, datepickers and sliders. The document also covers considerations for the libraries like licensing, browser support, ongoing development, and quality of documentation and tutorials.
AJAX allows web pages to load data from the server asynchronously in the background without reloading the page. It uses JavaScript to make requests to the server and update parts of the page with the response. jQuery simplifies AJAX with methods like $.get() that allow making GET requests and updating HTML. For example, an AJAX call could check username availability and update a form to display if a username is available or taken without reloading the page. Security precautions are needed when handling sensitive data with AJAX.
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 discusses 7 reasons for code bloat, including: 1) underestimating the time needed to understand a new project; 2) maintaining code without proper tools; and 3) developers not reading documentation or existing code before starting work. It argues that developers often try to solve problems their own way before listening to existing solutions or documentation. Proper documentation and planning time for understanding projects are presented as ways to avoid bloated code.
This is the Google Tech Talk that I gave August 17th, 2007 on building a JavaScript library. I derived much of the talk from my experiences in building the jQuery and FUEL JavaScript libraries.
This PPT is about my best friends, HTML, CSS and JS. Here I am just talk/show few features of them. all three combined make our web site more powerful in this WWW world.
This document discusses automated acceptance testing for ASP.NET applications. It begins with a demonstration of using Selenium WebDriver to automate a Google search. The document then covers topics like the testing pipeline, challenges with real-world testing, focusing tests on solving specific pain points, and designing UI for testability. It emphasizes that UI tests should validate scenarios rather than individual actions and should focus on the most critical tests. The document also discusses tools, techniques, and strategies for testing databases, legacy systems, and more.
jQuery is an open source JavaScript library that simplifies HTML and JavaScript interaction. It uses CSS to layer functionality and has a quick, terse syntax. jQuery selects elements and allows something to be done with them, like adding a class. It has a large plugin ecosystem managed through a plugin tracker. jQuery UI provides cross-browser user interface components. The library is fully documented, has a great community, many plugins, and small size. It works in all major browsers and is used by many large companies and projects.
This document provides an overview of jQuery, a popular JavaScript library. It discusses what jQuery is, why it is useful, how it simplifies DOM manipulation and event handling in JavaScript. Some key points made include:
- jQuery greatly simplifies JavaScript programming and makes it easier to select and manipulate DOM elements.
- It takes common tasks like AJAX calls and makes them easier with single line methods.
- jQuery works cross-browser so code runs the same in all major browsers.
- It remains relevant, used on 77% of top websites according to BuiltWith.
The document also provides examples and instructions for including jQuery in a website, selecting elements, and manipulating and animating content.
This document provides an overview of adding interactivity to Plone sites using JavaScript and various Plone-specific tools. It discusses including JavaScript via the resource registry and browser resources, using the Kinetic Style Sheets (KSS) framework to add behaviors with CSS syntax, common JavaScript libraries, debugging techniques, and notes that KSS may be removed from core Plone in future versions due to its large size and lack of adoption.
How I learned to stop worrying and love embedding JavaScriptKevin Read
Embed your Javascript code in your native mobile app for fun and profit. We showcase our approach to embed Canvas-heavy interactive JS code within our iOS and Android app.
The document discusses ways to improve website performance by optimizing JavaScript and image loading. It recommends placing scripts at the bottom of the page to avoid blocking rendering, chunking scripts into separate files, lazy loading scripts as needed, minimizing images using techniques like CSS sprites and image optimization tools, and delaying loading of non-critical images to improve page load times.
This document introduces and summarizes Django, an open-source web framework written in Python. It highlights key features of Django, including its automated administration interface, object-relational mapper (ORM), generic views, forms, URL configuration, templates, internationalization support, and built-in user authentication. The document also discusses how Django aims to minimize the time it takes to develop software through automation, reusable apps, and other features. Examples are provided of large sites built with Django to demonstrate its performance and scalability.
WebTest - Efficient Functional Web Testing with HtmlUnit and Beyondmguillem
The document is a presentation about WebTest, an open source tool for automated functional web testing. It discusses how WebTest works, how to extend its capabilities using Groovy, common myths about automated web testing, and the tool's future integration with WebDriver. The presentation aims to demonstrate how WebTest can be used to efficiently test web applications.
The document discusses JavaScript and the Spry framework in Adobe Dreamweaver CS4. It provides an overview of JavaScript development, how Dreamweaver is helping with tools like code hinting, debugging and live preview. It then focuses on explaining the Spry framework, how it provides widgets, effects, datasets and integration with Dreamweaver.
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScalePatrick Chanezon
Google Developer Days Japan 2009 - Designing OpenSocial Apps For Speed and Scale
Original slides from Arne Roomann-Kurrik & Chris Chabot with a few Zen quotes and references added by me:-)
This document discusses how web design firms can compete with internal GIS teams by providing web-based GIS (WebGIS) applications. It notes that WebGIS requires learning new tools like JavaScript, AJAX, and RESTful services. To protect their work, internal GIS teams need to learn these new web technologies and prioritize usability over features to create responsive applications. The document advocates for an iterative development process with a focus on performance and usability testing.
This document provides summaries of key points about the jQuery and Prototype JavaScript libraries:
1. jQuery is an open-source JavaScript library that simplifies HTML document traversal, event handling, animation, and Ajax interactions. It has a lightweight footprint and is cross-browser compatible.
2. Both jQuery and Prototype are available under MIT and GPL licenses, allowing developers to choose the license that best suits their projects. jQuery is maintained by a core team and has additional community support.
3. The document then provides examples of common jQuery functions and selectors for manipulating the DOM, handling events, animating elements, and making Ajax requests.
Similar to Progressive Enhancement with JavaScript and Ajax (20)
We are obsessed with coding and creating automated workflows and optimisations. And yet our final products aren't making it easy for people to use them. Somewhere, we lost empathy for our end users and other developers. Maybe it is time to change that. Here are some ideas.
This document discusses ways to improve how web developers learn best practices through browser and tooling improvements. It suggests that linting and inline insights directly in code editors could help prevent mistakes by flagging issues early. A tool called webhint is highlighted that provides one-stop checking and explanations of hints related to performance, accessibility, security and more. The document advocates for customizing hints based on a project's specific needs and environment. Overall, it argues for accelerated learning through context-sensitive, customizable best practices integrated into development workflows.
This document discusses privilege in the context of social media and the internet. It acknowledges privileges like internet access, the ability to communicate, and supportive online communities. It warns that machine learning and algorithms risk creating echo chambers and guided messaging if they are not kept in check by human curation. The document advocates taking back the web for decent, thinking and loving humans and using privileges to help others gain access to learning, communication, and communities.
This document discusses artificial intelligence and how it can help humans. It covers that AI is not new, having originated in the 1950s, and is now more advanced due to increased computing power. It also discusses how AI utilizes pattern recognition and machine learning. The document then covers several applications of AI including computer vision, natural language processing, sentiment analysis, speech recognition/conversion and moderation. It notes both the benefits of AI in automating tasks and preventing errors, as well as the responsibilities of ensuring transparency and allowing people to opt-in to algorithms.
Killing the golden calf of coding - We are Developers keynoteChristian Heilmann
The document discusses concerns about the perception and realities of coding careers. It expresses worry that coding is seen solely as a way to get a job rather than as a means of problem-solving. While coding can provide fulfilling work, the document cautions that the need for coders may decrease with automation and that the role may evolve from coding to engineering. It suggests a future where machines assist with repetitive coding tasks and people focus on delivering maintainable, secure products with attention to privacy and user experience.
PWA are a hot topic and it is important to understand that they are a different approach to apps than the traditional way of packaging something and letting the user install it. In this keynote you'll see some of the differences.
This document discusses privilege in technology and perceptions of technology workers. It acknowledges the privileges that tech workers enjoy, such as access to resources and high demand in the job market. However, it also notes problems like peer pressure, lack of work-life balance, and imposter syndrome. Both tech workers and the public have skewed perceptions of each other - tech workers feel others do not appreciate or understand their work, while the public sees tech workers as antisocial or caring only about profit. The document encourages taking small steps to improve the situation, such as being kind to oneself, considering others, sharing knowledge, and focusing on quality over quantity of work.
The document provides five ways for JavaScript developers to be happier:
1) Concentrate on the present and focus on creating rather than worrying about the past or future.
2) Limit distractions by streamlining your development environment and using an editor like VS Code that consolidates features.
3) Make mistakes less likely by using linters to catch errors as you code.
4) Get to know your tools better like debuggers to avoid console.log and gain insights to build better solutions.
5) Give back to others in the community by being helpful rather than causing drama.
The document discusses progressive web apps (PWAs) and provides suggestions for improving them. It notes that while PWAs aim to have engaging, fast, integrated, and reliable experiences like native apps, they still have room for improvement in areas like speed, integration, and reliability. It emphasizes that PWAs should adhere to web best practices and provide actually useful experiences rather than just focusing on technical features. The document encourages helping the PWA effort by providing feedback, using and contributing to tools, keeping messaging up-to-date, and promoting high-quality examples.
Chris Heilmann gave a talk at BTConf in Munich in January 2018 about machine learning, automation worries, and coding. He discussed how coding used to refer to creative programming within technical limitations but now often refers to programming for work. He addressed common worries about new technologies and dependencies, and argued that abstractions are not inherently bad and help more people build products together through consensus. The talk focused on using tools to be more productive and enabling rather than seeing them as dangers, and creating solutions for users rather than fighting old approaches.
The document provides advice and encouragement for someone starting out with JavaScript development. It discusses how JavaScript can be used in many environments like browsers, apps, and servers. It recommends resources like MDN and tools like linting to help avoid mistakes. It emphasizes that this is an exciting time for JavaScript and advises setting priorities and standards, being involved in the community, and bringing new voices and perspectives.
Keynote at halfstackconf 2017 discussing the falsehood of the idea that in order to survive the automation evolution everybody needs to learn how to code. Machines can code, too.
Progressive Web Apps - Covering the best of both worlds - DevReachChristian Heilmann
Progressive Web Apps (PWAs) can provide app-like experiences through the web by making web content fast, reliable and engaging. While PWAs may not be necessary for all projects, they can help clean up and speed up current web-based projects. PWAs leverage new web capabilities like service workers to work offline, load fast, and improve the user experience without having to meet all the requirements of native apps.
Progressive Web Apps - Covering the best of both worldsChristian Heilmann
This document discusses progressive web applications (PWAs) and their advantages over traditional native mobile applications. PWAs use modern web capabilities like Service Workers to deliver native-like experiences to users. Some key benefits of PWAs include their ability to work across platforms, have smaller file sizes for faster loading, support offline use, and provide simple update mechanisms compared to native apps. While PWAs do not have full access to device capabilities like native apps, they allow delivering app-like web content to users in a more accessible and reliable manner than traditional web pages.
Progressive Web Apps - Bringing the web front and center Christian Heilmann
This document discusses progressive web apps (PWAs). It notes that PWAs aim to make web apps feel like native mobile apps by being discoverable, installable, linkable, safe, responsive and progressive. The document outlines some key characteristics of PWAs, including that they need to be served from secure origins and have app manifests. It also discusses some common misconceptions around PWAs and notes that as PWAs improve, they will continue to blur the line between web apps and native mobile apps.
This document discusses the differences between CSS and JavaScript and when each is most appropriate to use. It argues that CSS is often underestimated in favor of JavaScript solutions. CSS has advanced significantly with features like calc(), media queries, animations/transitions, flexbox, grid, variables and more. These powerful features allow many tasks to be accomplished with CSS alone without needing JavaScript. The document encourages embracing the "squishiness" of the web and considering CSS more when building interfaces.
This document contains the transcript of a presentation by Chris Heilmann on web development. Some of the key points discussed include:
- The benefits of progressive enhancement and using HTML, CSS, and JavaScript together to build robust and accessible websites.
- How limitations in early design can foster creativity.
- The importance of error handling and defensive coding practices.
- Embracing new technologies like Service Workers and Manifests to build Progressive Web Apps.
- Rethinking the idea that JavaScript is unreliable and should not be depended on, as modern browsers have made it a capable tool.
The Soul in The Machine - Developing for Humans (FrankenJS edition)Christian Heilmann
The document discusses how machines and software can help humans by doing tasks like preventing mistakes, performing repetitive tasks, filling information gaps, remembering and categorizing information, improving understanding, enabling new communication methods, and providing protection. It describes how advances in AI, APIs, cloud services, and data processing have made it possible to build useful and helpful interfaces. The conclusion encourages developers to use these capabilities to create simple, human-centric interfaces that benefit users.
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc
Six months into 2024, and it is clear the privacy ecosystem takes no days off!! Regulators continue to implement and enforce new regulations, businesses strive to meet requirements, and technology advances like AI have privacy professionals scratching their heads about managing risk.
What can we learn about the first six months of data privacy trends and events in 2024? How should this inform your privacy program management for the rest of the year?
Join TrustArc, Goodwin, and Snyk privacy experts as they discuss the changes we’ve seen in the first half of 2024 and gain insight into the concrete, actionable steps you can take to up-level your privacy program in the second half of the year.
This webinar will review:
- Key changes to privacy regulations in 2024
- Key themes in privacy and data governance in 2024
- How to maximize your privacy program in the second half of 2024
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Bert Blevins
Today’s digitally connected world presents a wide range of security challenges for enterprises. Insider security threats are particularly noteworthy because they have the potential to cause significant harm. Unlike external threats, insider risks originate from within the company, making them more subtle and challenging to identify. This blog aims to provide a comprehensive understanding of insider security threats, including their types, examples, effects, and mitigation techniques.
Best Programming Language for Civil EngineersAwais Yaseen
The integration of programming into civil engineering is transforming the industry. We can design complex infrastructure projects and analyse large datasets. Imagine revolutionizing the way we build our cities and infrastructure, all by the power of coding. Programming skills are no longer just a bonus—they’re a game changer in this era.
Technology is revolutionizing civil engineering by integrating advanced tools and techniques. Programming allows for the automation of repetitive tasks, enhancing the accuracy of designs, simulations, and analyses. With the advent of artificial intelligence and machine learning, engineers can now predict structural behaviors under various conditions, optimize material usage, and improve project planning.
UiPath Community Day Kraków: Devs4Devs ConferenceUiPathCommunity
We are honored to launch and host this event for our UiPath Polish Community, with the help of our partners - Proservartner!
We certainly hope we have managed to spike your interest in the subjects to be presented and the incredible networking opportunities at hand, too!
Check out our proposed agenda below 👇👇
08:30 ☕ Welcome coffee (30')
09:00 Opening note/ Intro to UiPath Community (10')
Cristina Vidu, Global Manager, Marketing Community @UiPath
Dawid Kot, Digital Transformation Lead @Proservartner
09:10 Cloud migration - Proservartner & DOVISTA case study (30')
Marcin Drozdowski, Automation CoE Manager @DOVISTA
Pawel Kamiński, RPA developer @DOVISTA
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
09:40 From bottlenecks to breakthroughs: Citizen Development in action (25')
Pawel Poplawski, Director, Improvement and Automation @McCormick & Company
Michał Cieślak, Senior Manager, Automation Programs @McCormick & Company
10:05 Next-level bots: API integration in UiPath Studio (30')
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
10:35 ☕ Coffee Break (15')
10:50 Document Understanding with my RPA Companion (45')
Ewa Gruszka, Enterprise Sales Specialist, AI & ML @UiPath
11:35 Power up your Robots: GenAI and GPT in REFramework (45')
Krzysztof Karaszewski, Global RPA Product Manager
12:20 🍕 Lunch Break (1hr)
13:20 From Concept to Quality: UiPath Test Suite for AI-powered Knowledge Bots (30')
Kamil Miśko, UiPath MVP, Senior RPA Developer @Zurich Insurance
13:50 Communications Mining - focus on AI capabilities (30')
Thomasz Wierzbicki, Business Analyst @Office Samurai
14:20 Polish MVP panel: Insights on MVP award achievements and career profiling
The DealBook is our annual overview of the Ukrainian tech investment industry. This edition comprehensively covers the full year 2023 and the first deals of 2024.
Comparison Table of DiskWarrior Alternatives.pdfAndrey Yasko
To help you choose the best DiskWarrior alternative, we've compiled a comparison table summarizing the features, pros, cons, and pricing of six alternatives.
Sustainability requires ingenuity and stewardship. Did you know Pigging Solutions pigging systems help you achieve your sustainable manufacturing goals AND provide rapid return on investment.
How? Our systems recover over 99% of product in transfer piping. Recovering trapped product from transfer lines that would otherwise become flush-waste, means you can increase batch yields and eliminate flush waste. From raw materials to finished product, if you can pump it, we can pig it.
The Rise of Supernetwork Data Intensive ComputingLarry Smarr
Invited Remote Lecture to SC21
The International Conference for High Performance Computing, Networking, Storage, and Analysis
St. Louis, Missouri
November 18, 2021
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...Toru Tamaki
Jindong Gu, Zhen Han, Shuo Chen, Ahmad Beirami, Bailan He, Gengyuan Zhang, Ruotong Liao, Yao Qin, Volker Tresp, Philip Torr "A Systematic Survey of Prompt Engineering on Vision-Language Foundation Models" arXiv2023
https://arxiv.org/abs/2307.12980
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Chris Swan
Have you noticed the OpenSSF Scorecard badges on the official Dart and Flutter repos? It's Google's way of showing that they care about security. Practices such as pinning dependencies, branch protection, required reviews, continuous integration tests etc. are measured to provide a score and accompanying badge.
You can do the same for your projects, and this presentation will show you how, with an emphasis on the unique challenges that come up when working with Dart and Flutter.
The session will provide a walkthrough of the steps involved in securing a first repository, and then what it takes to repeat that process across an organization with multiple repos. It will also look at the ongoing maintenance involved once scorecards have been implemented, and how aspects of that maintenance can be better automated to minimize toil.
7 Most Powerful Solar Storms in the History of Earth.pdfEnterprise Wired
Solar Storms (Geo Magnetic Storms) are the motion of accelerated charged particles in the solar environment with high velocities due to the coronal mass ejection (CME).
Are you interested in dipping your toes in the cloud native observability waters, but as an engineer you are not sure where to get started with tracing problems through your microservices and application landscapes on Kubernetes? Then this is the session for you, where we take you on your first steps in an active open-source project that offers a buffet of languages, challenges, and opportunities for getting started with telemetry data.
The project is called openTelemetry, but before diving into the specifics, we’ll start with de-mystifying key concepts and terms such as observability, telemetry, instrumentation, cardinality, percentile to lay a foundation. After understanding the nuts and bolts of observability and distributed traces, we’ll explore the openTelemetry community; its Special Interest Groups (SIGs), repositories, and how to become not only an end-user, but possibly a contributor.We will wrap up with an overview of the components in this project, such as the Collector, the OpenTelemetry protocol (OTLP), its APIs, and its SDKs.
Attendees will leave with an understanding of key observability concepts, become grounded in distributed tracing terminology, be aware of the components of openTelemetry, and know how to take their first steps to an open-source contribution!
Key Takeaways: Open source, vendor neutral instrumentation is an exciting new reality as the industry standardizes on openTelemetry for observability. OpenTelemetry is on a mission to enable effective observability by making high-quality, portable telemetry ubiquitous. The world of observability and monitoring today has a steep learning curve and in order to achieve ubiquity, the project would benefit from growing our contributor community.
How Social Media Hackers Help You to See Your Wife's Message.pdfHackersList
In the modern digital era, social media platforms have become integral to our daily lives. These platforms, including Facebook, Instagram, WhatsApp, and Snapchat, offer countless ways to connect, share, and communicate.
YOUR RELIABLE WEB DESIGN & DEVELOPMENT TEAM — FOR LASTING SUCCESS
WPRiders is a web development company specialized in WordPress and WooCommerce websites and plugins for customers around the world. The company is headquartered in Bucharest, Romania, but our team members are located all over the world. Our customers are primarily from the US and Western Europe, but we have clients from Australia, Canada and other areas as well.
Some facts about WPRiders and why we are one of the best firms around:
More than 700 five-star reviews! You can check them here.
1500 WordPress projects delivered.
We respond 80% faster than other firms! Data provided by Freshdesk.
We’ve been in business since 2015.
We are located in 7 countries and have 22 team members.
With so many projects delivered, our team knows what works and what doesn’t when it comes to WordPress and WooCommerce.
Our team members are:
- highly experienced developers (employees & contractors with 5 -10+ years of experience),
- great designers with an eye for UX/UI with 10+ years of experience
- project managers with development background who speak both tech and non-tech
- QA specialists
- Conversion Rate Optimisation - CRO experts
They are all working together to provide you with the best possible service. We are passionate about WordPress, and we love creating custom solutions that help our clients achieve their goals.
At WPRiders, we are committed to building long-term relationships with our clients. We believe in accountability, in doing the right thing, as well as in transparency and open communication. You can read more about WPRiders on the About us page.
2. • As web developers we are in a
very lucky position.
• Unlike real world products,
web sites do not have a fixed
state.
• Web documents were right
from the start meant to be
adaptive to their environment.
• By keeping things flexible and
adaptive we can please all
consumers.
http://www.flickr.com/photos/oskay/420878465/
4. • Real life has some ideas of
progressive enhancement,
most of which are old
chestnuts:
– Measure twice, cut once.
– Check the depth of the lake
before you plunge in.
– Try before you buy
– = Use Bittorrent
5. • The same logic applies to
JavaScript and Ajax:
– Test if JavaScript is available.
– Test if the DOM is supported
– Test for the HTML you want to
use.
– Test for any object you want to
use.
– Don’t rely on the connection to
be available.
6. • Testing for JavaScript is easy,
simply don’t make your
product rely on JavaScript:
– Death to href=“javascript:foo()”
– Death to onclick=“foo()”
– Who the hell ever told you to
use onclick=“javascript:foo()” ?
• Don’t mix HTML and
JavaScript, use the DOM to
access HTML.
• The DOM is your API to the
document.
http://www.flickr.com/photos/jungle_boy/140233674/
7. • Testing for DOM support is as easy:
– Check that getElementById and is available.
– If you still care about Opera 6 also test for createTextNode
function init(){
if( document.getElementById &&
document.createTextNode )
// we have DOM, wahey!
checkDependencies();
}
}
8. • Testing for the HTML you need is also easy:
– Check that all the elements are available.
function checkDependencies(){
var usedIds = ['nav','content'];
var isOk = true;
for(var i = 0; usedIds[i]!==undefined; i++) {
if( !document.getElementById( usedIds[i] ) ){
isOk = false;
}
}
return isOk;
}
9. • Testing for the HTML you need is also easy:
– Check that all the elements are available.
– Check that they also have the right child nodes
function myNavStuff(){
var n = document.getElementById('nav');
if(n.getElementsByTagName('ul').length > 0){
// I got your code right here!
}
}
10. • Testing for object availability
– Simply test for any object before you access it
var request;
try{
request = new XMLHttpRequest();
}catch(error){
try{
request = new ActiveXObject(quot;Microsoft.XMLHTTPquot;);
}catch(error){
return true;
}
}
11. • Prepare for unreliable and
flaky connections.
– Set a timer to time out and
abort the connection after a
certain period has passed.
– Define a success and failure
case for any connection.
– Make sure you avoid caching
issues by setting an expired
HTTP header on your Ajax calls
12. • This is the “how” of
progressive enhancement
with JavaScript and Ajax.
• The question however is why
use JavaScript at all?
• After all it can be turned off.
13. • Instead we can use the
amazing new trick called
“CSS only solutions”.
• Why bother with writing
complex scripts when you can
do the same with some easy
lines of CSS?
• Showing and hiding menus?
#nav li ul { display:none }
#nav li:hover ul {
display:block
}
14. • Using CSS for behaviour is
based on one trick, which is
pseudo selectors like :hover,
:active and :focus
• These have several problems:
– Some browsers only support
them on interactive elements
like links and buttons.
– They have a strict on or off
state.
– and they fail for a certain user
group…
15. • Keyboard access support in
HTML and browsers is bad.
• Support for :active and :focus
is even worse.
• Which means that CSS only
solutions with keyboard
support turn out to be HTML
soup nightmares (nesting
tables inside links…)
17. • In essence, CSS only solutions
are a bit of a shifty character
and you don’t know if you can
trust them.
• It is also debateable if CSS
only solutions are in the end
easier than JS solutions.
18. • JavaScript has so many more
options for you:
– Real testing for support of
objects
– Real event handling including
simulation of application
keyboard handling (cursors
instead of tabbing)
– timeout() to allow for user errors
– Creation of necessary markup
on demand.
19. • JavaScript has so many more
options for you:
– Test of available screen estate
– Loading of extra content on
demand
http://www.flickr.com/photos/drewm/227562632/
21. • Does this mean that only
scripters should create
interfaces and CSS is not
needed?
• Not at all, as first of all CSS
can help JavaScript a lot.
http://www.flickr.com/photos/drewm/225911999/in/set-507727/
22. • Task: Hide all list items in the first UL
– A lot of code, that one…
window.onload = function(){
if(document.getElementById && document.createTextNode){
var uls = document.getElementsByTagName('ul');
if(uls.length > 0){
var lis = uls[0].getElementsByTagName('li');
for(var i = 0, j = lis.length; i < j; i++){
lis[i].style.display = 'none';
}
}
}
}
23. • Task: Hide all list items in the first UL
– How about leaving the main job to the CSS parser?
window.onload = function(){
if(document.getElementById && document.createTextNode){
var b = document.body;
b.className += b.className ? ' dynamic' : 'dynamic';
}
}
<style type=quot;text/cssquot;>
body.dynamic ul li{
display:none;
}
</style>
24. • This also allows you to keep
the whole look and feel of
your scripts in the hands of
the CSS maintainers.
• All you need to do is make
sure you communicate the
class and ID names with
them.
25. • You achieve highest flexibility
by separating those and the
text labels out into own
includes:
slideshow.js
slideshow-css.js
slideshow-labels.js
slideshow.css = {
'navigationID':'nav',
'contentID':'main',
'hide class':'hide'
}
26. • There is a danger in
progressive enhancement
with JavaScript though:
• Be aware that what you
enhance is as important as
how you enhance it.
• A solution that doesn’t really
make sense shouldn’t be
enhanced, but changed.
33. • Stockholm Syndrome
• Enhanced interfaces don’t go
down too well with the
mainstream audience, we are
used to waiting and things
breaking.
• Technologies are perceived as
given, no need to improve
them.
34. • Monetary reasons
• Progressive Enhancement
costs money
• As with any best practice
there is no immediate
tangible benefit
35. • Show desire
• You can help to change this
• Look at things, and see how
you can improve them
• If need be, do it on the sly
(hcard in Yahoo! Local)
36. • Benefit from experience of
others
• A lot of tricks that helped us
in the past can be brushed up
and renewed now.
• Example “lowsrc”
37. • Keep your feelers out there.
• Read up on technologies and
what is done with them.
• Hot:
– http://www.w3.org/TR/aria-
roadmap/
– http://www.whatwg.org/
38. • Contact, subscribe, talk,
share.
• If you know something, please
tell others:
http://makemeaspeaker.com
39. • Good progressive
enhancement helps the user,
and not the developer.
– Automatic saving of drafts in
email apps
– Parallel upload of content while
you can add meta data
– Making it easy and fun to add
content.
– Preventing unnecessary steps.
http://www.flickr.com/photos/radiofree/286343390/