So, you've made the ferpect Single Page Application. It has all the bells and whistles, and uses all the flashing new frameworks.
But how do you know it works, and how do you know that it will continue to work in this world of continuous delivery? This session will try to explain how to do end-to-edn testing of the system, how to test the application server code, and how to test the code the executes on the client.
By Philip Tellis and Nic Jansma
Whenever we speak of measuring web performance, we always refer to measuring static events, whether the old page-load model, the controversial above-the-fold time, or the product-specific “time to first tweet.” Each of these have their pros and cons ranging from ease of implementation to relevance to the actual user’s experience.
But a performant user experience is much more than these static events, and no methods measure the experience the user has interacting with the page after that initial event. We seldom measure the experience of the user when they spend the most time on the site (i.e., between load and unload, when they’re reading and interacting with content on the page, etc.) or ask questions like: Was scrolling smooth or janky? What about animations? Did the user click expecting something to happen but nothing did? Are too many reflows happening?
Drawing on their work on boomerang, Philip Tellis and Nic Jansma explore new methods of measuring web performance as it relates to continuous interactions between the user and a page.
In this presentation, you’ll explore the new Series 40 web app APIs and features of Nokia Web Tools 2.0. Expert Michael Samarin from Futurice will show you how to develop for new Nokia Asha phones with a full-touch UI and will give you an overview of new templates and code samples.
1. Isomorphic JavaScript is the pattern of running JavaScript code on both server & client.
2. People are using it for production today. Ask Facebook, Yahoo, Asana, Airbnb, Rising Stack, …
3. This is not another talk about NodeJS!
Building a Multithreaded Web-Based Game Engine Using HTML5/CSS3 and JavaScrip...Corey Clark, Ph.D.
As hardware developer’s push away from creating faster processors in lieu of multicore architectures game developers have to leverage multithreading technologies to capitalize on these new devices. With multicore mobile devices the need for a multithreaded web based game engine is a reality. This talk will discuss design of various multithreaded web engine architectures. Two specific threading implementations will be discussed. First technique shows how to create a static thread that is registered with the engine with the same techniques as other loaded resource. A second technique will focus on using a Thread Controller, which has the ability to create dynamic generic threads that can be passed functions during run time and process them in parallel. This also allows for coupling threaded commands together thereby creating critical sections and other common multithreading techniques utilized in C++ coding.
Focus will also be placed on design consideration and operation performance. An example will be show that demonstrates how the proper coding style and data structures can make or break your design. Also timing and performance standards will be given for various browsers so users can understand the overall overhead and operational considerations that need to be considered when using threads in a browser based environment.
Technology and capability limitations will also be discussed so developers can understand the differences between multithreading in C++ native applications and JavaScript browser-based application. This will also include some tricks on how to design an architecture that allows for some workarounds. Other JavaScript APIs such as WebGL, and WebSockets will also be discussed and demonstrated to help show the full realization of a web based game engine.
Coding samples and architectural layouts will be shown to the audience to help drive home the concepts being discussed during the lecture. A functional HTML5 JavaScript Multithreaded Web Engine will be demonstrated during the lectured to show the overall functionality and performance of the techniques described.
A summary write up of a sample engine architecture is attached in the supplemental documents that gives a brief description and architectural figures. These will be integrated into the lecture to help visualize some of the concepts being discussed.
So, you've made the ferpect Single Page Application. It has all the bells and whistles, and uses all the flashing new frameworks.
But how do you know it works, and how do you know that it will continue to work in this world of continuous delivery? This session will try to explain how to do end-to-edn testing of the system, how to test the application server code, and how to test the code the executes on the client.
By Philip Tellis and Nic Jansma
Whenever we speak of measuring web performance, we always refer to measuring static events, whether the old page-load model, the controversial above-the-fold time, or the product-specific “time to first tweet.” Each of these have their pros and cons ranging from ease of implementation to relevance to the actual user’s experience.
But a performant user experience is much more than these static events, and no methods measure the experience the user has interacting with the page after that initial event. We seldom measure the experience of the user when they spend the most time on the site (i.e., between load and unload, when they’re reading and interacting with content on the page, etc.) or ask questions like: Was scrolling smooth or janky? What about animations? Did the user click expecting something to happen but nothing did? Are too many reflows happening?
Drawing on their work on boomerang, Philip Tellis and Nic Jansma explore new methods of measuring web performance as it relates to continuous interactions between the user and a page.
In this presentation, you’ll explore the new Series 40 web app APIs and features of Nokia Web Tools 2.0. Expert Michael Samarin from Futurice will show you how to develop for new Nokia Asha phones with a full-touch UI and will give you an overview of new templates and code samples.
1. Isomorphic JavaScript is the pattern of running JavaScript code on both server & client.
2. People are using it for production today. Ask Facebook, Yahoo, Asana, Airbnb, Rising Stack, …
3. This is not another talk about NodeJS!
Building a Multithreaded Web-Based Game Engine Using HTML5/CSS3 and JavaScrip...Corey Clark, Ph.D.
As hardware developer’s push away from creating faster processors in lieu of multicore architectures game developers have to leverage multithreading technologies to capitalize on these new devices. With multicore mobile devices the need for a multithreaded web based game engine is a reality. This talk will discuss design of various multithreaded web engine architectures. Two specific threading implementations will be discussed. First technique shows how to create a static thread that is registered with the engine with the same techniques as other loaded resource. A second technique will focus on using a Thread Controller, which has the ability to create dynamic generic threads that can be passed functions during run time and process them in parallel. This also allows for coupling threaded commands together thereby creating critical sections and other common multithreading techniques utilized in C++ coding.
Focus will also be placed on design consideration and operation performance. An example will be show that demonstrates how the proper coding style and data structures can make or break your design. Also timing and performance standards will be given for various browsers so users can understand the overall overhead and operational considerations that need to be considered when using threads in a browser based environment.
Technology and capability limitations will also be discussed so developers can understand the differences between multithreading in C++ native applications and JavaScript browser-based application. This will also include some tricks on how to design an architecture that allows for some workarounds. Other JavaScript APIs such as WebGL, and WebSockets will also be discussed and demonstrated to help show the full realization of a web based game engine.
Coding samples and architectural layouts will be shown to the audience to help drive home the concepts being discussed during the lecture. A functional HTML5 JavaScript Multithreaded Web Engine will be demonstrated during the lectured to show the overall functionality and performance of the techniques described.
A summary write up of a sample engine architecture is attached in the supplemental documents that gives a brief description and architectural figures. These will be integrated into the lecture to help visualize some of the concepts being discussed.
Service workers your applications never felt so goodChris Love
If you have not heard of service workers you must attend this session. Service Workers encompass new browser capabilities, along with shiny new version of AJAX called Fetch. If you have every wanted your web applications to experience many native application features, such as push notifications, service workers is the gateway to your happiness. Have you felt confused by application cache and going offline? Well service workers enable offline experiences in a much cleaner way. But that is not all! If you want to see some of the cool new, advanced web platform features that you will actually use come to this session!
https://love2dev.com/blog/what-is-a-service-worker/
High Performance/Real-Time Web Applications can suffer from serial program execution, which can greatly decrease user experience, usability, application capabilities and overall performance. The new HTML5 WebWorker JavaScript API allows for multithreading in browser environment, which has removed serial code bottleneck that has always been an issue for processor intensive applications. Specifically at Game Theory Labs we were able to increase the performance of our application by 55% utilizing the techniques discussed. This meetup will show off the variations in the WebWorker API, associated overhead using the API, various WebWorker architectures (Inline vs External, Static vs Dynamic, Nested vs Shared) as well as implementing a 2-Tier Thread Management system that allows for generating child process outside of the main thread thereby increasing performance of handling/merging data between threads and the main application.
BP101: A Modernized Workflow w/ Domino/XPagesedm00se
Extending on some of the themes of front-end heavy application development, this session covered the higher order themes of development workflow automation, revolving around the concepts of modern web app development from a full stack perspective.
Large websites with large customer bases should have fast page loads no matter where your customers are coming from. In this day and age speed is expected. Getting there requires engineers to both have data and the ability to analyze and find problems.
This talk will address page load speed in two parts. A "cold" load where a user first comes to your site and a "warm" load which deals with intra-site page load speed. We will dive into the details of each page load and what is really going on. From network optimization to browser render performance, all things matter when it comes to optimizing the load of your web page. Furthermore, we will look into some tools that can be used to analyze and help developers discover and address problems.
Presented at Web Unleashed 2017. More info at www.fitc.ca/webu
Presented by Ksenija Gogic, TWG
Overview
What are components? How can designers apply a component-minded approach to their workflow? How can we leverage components to improve the design handoff? Ultimately – how can designers and developers work together even better?
Using React as a framework, Ksenija will discuss how to design for a component-based web application to make for a more efficient workflow, an easier design handoff, and a better understanding between roles.
Objective
To create a common language and understanding when working with component-based web frameworks between designers and developers.
Target Audience
Designers and developers looking to make their collaborative workflow even better.
Five Things Audience Members Will Learn
How to take a component-minded approach to building a design system
How to design and create components using Sketch symbols
How to assemble (compose) collections of components using Sketch symbols
How to work with modifiers (props) to customize components
How to ensure everyone is speaking the same language
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.
After consulting with several companies on performance related issues, it became clear that one of the biggest performance issues facing websites today is the sheer amount of JavaScript needed to power the page. The demand for more interactive and responsive applications has driven JavaScript usage through the roof. It’s quite common for large sites to end up with over 1 MB of JavaScript code on their page even after minification. But do today’s web applications really need that much JavaScript?
Instant and offline apps with Service WorkerChang W. Doh
2 parts of talking at Google Developer Summit 2016 Seoul
- How to optimize loading performance your web app
- Introducing to Service Worker & Offline 101
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!
Presented at the virtual ICONUS 2016 conference
Many companies run a mixed IBM Notes and Microsoft Office 365 (O365) environment. SharePoint/Outlook and Domino should be viewed as a new opportunity to create rich and engaging user experiences. Using both IBM and Microsoft REST services as the core to the solution, this presentation will show how both technologies stacks can be integrated to maximize application functionality and present a seamless experience to the user.
Mark will provide lots of demonstrations including Office Web Add-Ins, how to access O365 data from your Domino applications and many others. Come and see how your core Domino webdev skills are equally applicable to the Office 365 environment.
[Dutch]
In juni is ECMAScript 6 definitief. Laten we alle vernieuwingen eens op een rij zetten middels sprekende voorbeelden en demos: Scope, const, destructuring, arrow functions, map, set, modules, classes, etc. Tevens behandelen we mogelijkheden om ECMAScript 6 code om te zetten naar versie 5, zodat de code ook uitvoerbaar is in oudere omgevingen. ES6 browser ondersteuning in bijvoorbeeld Windows 10’s Internet Explorer is er al gedeeltelijk, maar vereisen soms wat extra instellingen. We behandelen welke. Ook de Visual Studio ondersteuning wordt bekeken. Tot slot een vooruitblik op ECMAScript 7.
Measuring the Performance of Single Page ApplicationsNicholas Jansma
Single page applications are a problem for RUM tools because there are no easy ways to tell when a new page component has been requested asynchronously as a result of an intentional user action. Many network requests are back-end service calls initiated periodically by the app – for example, a ping to check if content has been updated, or to check if the current user should still be signed in to their account.
Even with requests that are initiated by a user action, not all may fit into the definition of a “page view.” For example, a user typing into a search box that has auto-complete capabilities will often result in network requests, but these requests result in very small amounts of data transfer, happen very frequently, and do not count toward page views. The scene is further complicated by SPA frameworks like Angular, Backbone, and others.
In this talk, we’ll learn about some of the tricks used by boomerang to measure the performance of single page applications, going as far as capturing errors and waterfall information across browsers.
How to slice your monolithic webapp using MicroApps architectureYonatan Maman
Slicing a monolithic web service into MicroServices Architecture is a well known practice.
However, when it comes to a monolithic web application new challenges raises.
In Outbrain we have developed the MicroApps Architecture which aims to target these challenges using MicroServices concepts.
In this deck I will tell the story behind MicroApps Architecture: motivation, benefits, issues, and plans for the future.
Service workers your applications never felt so goodChris Love
If you have not heard of service workers you must attend this session. Service Workers encompass new browser capabilities, along with shiny new version of AJAX called Fetch. If you have every wanted your web applications to experience many native application features, such as push notifications, service workers is the gateway to your happiness. Have you felt confused by application cache and going offline? Well service workers enable offline experiences in a much cleaner way. But that is not all! If you want to see some of the cool new, advanced web platform features that you will actually use come to this session!
https://love2dev.com/blog/what-is-a-service-worker/
High Performance/Real-Time Web Applications can suffer from serial program execution, which can greatly decrease user experience, usability, application capabilities and overall performance. The new HTML5 WebWorker JavaScript API allows for multithreading in browser environment, which has removed serial code bottleneck that has always been an issue for processor intensive applications. Specifically at Game Theory Labs we were able to increase the performance of our application by 55% utilizing the techniques discussed. This meetup will show off the variations in the WebWorker API, associated overhead using the API, various WebWorker architectures (Inline vs External, Static vs Dynamic, Nested vs Shared) as well as implementing a 2-Tier Thread Management system that allows for generating child process outside of the main thread thereby increasing performance of handling/merging data between threads and the main application.
BP101: A Modernized Workflow w/ Domino/XPagesedm00se
Extending on some of the themes of front-end heavy application development, this session covered the higher order themes of development workflow automation, revolving around the concepts of modern web app development from a full stack perspective.
Large websites with large customer bases should have fast page loads no matter where your customers are coming from. In this day and age speed is expected. Getting there requires engineers to both have data and the ability to analyze and find problems.
This talk will address page load speed in two parts. A "cold" load where a user first comes to your site and a "warm" load which deals with intra-site page load speed. We will dive into the details of each page load and what is really going on. From network optimization to browser render performance, all things matter when it comes to optimizing the load of your web page. Furthermore, we will look into some tools that can be used to analyze and help developers discover and address problems.
Presented at Web Unleashed 2017. More info at www.fitc.ca/webu
Presented by Ksenija Gogic, TWG
Overview
What are components? How can designers apply a component-minded approach to their workflow? How can we leverage components to improve the design handoff? Ultimately – how can designers and developers work together even better?
Using React as a framework, Ksenija will discuss how to design for a component-based web application to make for a more efficient workflow, an easier design handoff, and a better understanding between roles.
Objective
To create a common language and understanding when working with component-based web frameworks between designers and developers.
Target Audience
Designers and developers looking to make their collaborative workflow even better.
Five Things Audience Members Will Learn
How to take a component-minded approach to building a design system
How to design and create components using Sketch symbols
How to assemble (compose) collections of components using Sketch symbols
How to work with modifiers (props) to customize components
How to ensure everyone is speaking the same language
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.
After consulting with several companies on performance related issues, it became clear that one of the biggest performance issues facing websites today is the sheer amount of JavaScript needed to power the page. The demand for more interactive and responsive applications has driven JavaScript usage through the roof. It’s quite common for large sites to end up with over 1 MB of JavaScript code on their page even after minification. But do today’s web applications really need that much JavaScript?
Instant and offline apps with Service WorkerChang W. Doh
2 parts of talking at Google Developer Summit 2016 Seoul
- How to optimize loading performance your web app
- Introducing to Service Worker & Offline 101
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!
Presented at the virtual ICONUS 2016 conference
Many companies run a mixed IBM Notes and Microsoft Office 365 (O365) environment. SharePoint/Outlook and Domino should be viewed as a new opportunity to create rich and engaging user experiences. Using both IBM and Microsoft REST services as the core to the solution, this presentation will show how both technologies stacks can be integrated to maximize application functionality and present a seamless experience to the user.
Mark will provide lots of demonstrations including Office Web Add-Ins, how to access O365 data from your Domino applications and many others. Come and see how your core Domino webdev skills are equally applicable to the Office 365 environment.
[Dutch]
In juni is ECMAScript 6 definitief. Laten we alle vernieuwingen eens op een rij zetten middels sprekende voorbeelden en demos: Scope, const, destructuring, arrow functions, map, set, modules, classes, etc. Tevens behandelen we mogelijkheden om ECMAScript 6 code om te zetten naar versie 5, zodat de code ook uitvoerbaar is in oudere omgevingen. ES6 browser ondersteuning in bijvoorbeeld Windows 10’s Internet Explorer is er al gedeeltelijk, maar vereisen soms wat extra instellingen. We behandelen welke. Ook de Visual Studio ondersteuning wordt bekeken. Tot slot een vooruitblik op ECMAScript 7.
Measuring the Performance of Single Page ApplicationsNicholas Jansma
Single page applications are a problem for RUM tools because there are no easy ways to tell when a new page component has been requested asynchronously as a result of an intentional user action. Many network requests are back-end service calls initiated periodically by the app – for example, a ping to check if content has been updated, or to check if the current user should still be signed in to their account.
Even with requests that are initiated by a user action, not all may fit into the definition of a “page view.” For example, a user typing into a search box that has auto-complete capabilities will often result in network requests, but these requests result in very small amounts of data transfer, happen very frequently, and do not count toward page views. The scene is further complicated by SPA frameworks like Angular, Backbone, and others.
In this talk, we’ll learn about some of the tricks used by boomerang to measure the performance of single page applications, going as far as capturing errors and waterfall information across browsers.
How to slice your monolithic webapp using MicroApps architectureYonatan Maman
Slicing a monolithic web service into MicroServices Architecture is a well known practice.
However, when it comes to a monolithic web application new challenges raises.
In Outbrain we have developed the MicroApps Architecture which aims to target these challenges using MicroServices concepts.
In this deck I will tell the story behind MicroApps Architecture: motivation, benefits, issues, and plans for the future.
In world where content needs to be better structured, we need content architecture. Content architecture is bottom up information architecture focussing on the specification and design of structured content.
APPP07 - Specific Symptom Screening for Depression (Sept 2007)Alex J Mitchell
This is an academic (evidence-based) talk from 2007 re diagnosis and screening for depression. It is from the 17TH ANNUAL PSYCHIATRIC PHARMACY PROGRAMME
Project VES started crowdfunding campaign.
STEM stories from Hispanic of Venezuelan origin: Learn how the skilled immigration to and from Venezuela contributed to science and technology and became successful worldwide.
Specifically, in this webinar we will cover following key topics.
Alternative approaches for developing mobile applications – Native, HTML5, and Hybrid
Pros and cons of each approach
When to go for HTML5 or Hybrid approach and when not to
Recommended tools for HTML5 and Hybrid development
Read more at - https://www.synerzip.com/webinar/mobile-development-html5-vs-native/
Modern site and teams provisioning across a Bot, SPFx, Azure Function and Mic...Giuliano De Luca
Imagine the scenario where a user is able through a Team site, Communication site, Teams, Skype, Cortana and so on, requests to a Bot the creation of a SharePoint site or a new Microsoft Team.
In this session will analyze how to build a Bot, Azure functions, and Microsoft Flow in order to create and automate the provisioning process and we'll go deeper in the solution architecture.
jQuery: The World's Most Popular JavaScript Library Comes to XPagesTeamstudio
Whether you want to add some serious eye candy to your XPages Applications or just want to do more with less code, jQuery, the world’s most popular JavaScript framework can help you. Come to this webinar and find out how you can use some of the thousands of jQuery plugins, in harmony with Dojo, within your XPages applications to create a better experience not only for your users, but for you as a developer. In this webinar, we'll look at how jQuery works, how to add it to your XPages, and how a complete JavaScript beginner can take advantage of its power. We'll demonstrate many working examples -- and a sample database will be provided.
There Is No Mobile: An Introduction To Responsive Web DesignChris Love
The web has come a long way. One of the great features of the modern web is responsive web design (RWD). RWD allows developers to create a single web client for all devices & platforms. This presentation is an introduction to key concepts developers need to understand in order to start implementing responsive web design.
OWF14 - Big Data Track : Take back control of your web tracking Go further by...Paris Open Source Summit
Clément STENAC
Tracking the actions of your users on your website is nowadays so fundamental that most people … don’t do it anymore, instead relying on SaaS products and dashboards. However, these services often only provide aggregated high-level views and keep the raw data.
In this talk, we’ll first see how using raw tracking data can help you go from "number of page views" to a real understanding of your usage patterns and what kind of data and technologies you need for that.
We’ll then have a look at different architectures and challenges for web tracking and highlight the need for a dedicated and open tracking infrastructure.
Are Apache logs « web tracking data » ?
How to reconstruct user sessions ?
Are cookies good for your (web) health ?
What are the specific challenges for mobile tracking ?
In a last part, we’ll introduce WT1, an Open Source web tracker that solves this challenges and doesn’t hide your data. Anyone can deploy WT1 to take back control on his own web tracking data and build awesome data-driven services.
SPS Madrid 2018 - modern site and teams provisioning across a bot, spfx, azur...Giuliano De Luca
Imagine the scenario where a user is able through a Team site, Communication site, Teams, Skype, Cortana and so on, requests to a Bot the creation of a SharePoint site or a new Microsoft Teams.
In this session, we will analyze how to build a Bot, Azure functions, and Microsoft Flow in order to create and automate the provisioning process and we'll go deeper in the solution architecture.
Autodesk cut their teeth on AEM in 2013 with Autodesk.com. It's safe to say they've come a long way since then. Join Sharat Radhakrishnan and his gang as they bring us up to speed on their wild AEM journey.
Highs, lows & random rants on SharePoint 2013 - Experiences from implementing a governance and quality management in SharePoint 2013. Presented at Norwegian SharePoint Community June 17th, 2013.
It covers -
- Pros and cons of different strategies for developing mobile applications.
- Leading choices for cross platform mobile application development. While there are many frameworks for cross platform application development, we will discuss two leading frameworks namely PhoneGap and Titanium Mobile.
Find original copy at https://www.synerzip.com/webinar/cross-platform-mobile-app-development/
Node.js 101
with Rami Sayar
Presented by FITC at Web Unleashed 2014 in Toronto
on September 18 2014, 10:30 - 11:15am
Node.js is a runtime environment and library for running JavaScript applications outside the browser. Node.js is mostly used to run real-time server applications and shines through its performance using non-blocking I/O and asynchronous events. This talk will introduce you to Node.js by showcasing the environment and its two most popular libraries: express and socket.io.
TARGET AUDIENCE
Beginner web developers
ASSUMED AUDIENCE KNOWLEDGE
Working knowledge of JavaScript and HTML5.
OBJECTIVE
Learn how to build a chat engine using Node.js and WebSockets.
FIVE THINGS AUDIENCE MEMBERS WILL LEARN
Node.js environment and basics
Node Package Manager overview
Web Framework, express, basics
WebSockets and Socket.io basics
Building a chat engine using Node.js
Sphinx is the open-source tool for converting reStructured Text into various formats for publishing product documentation. This deck talks about getting started with authoring documentation using Sphinx
This presents challenges faced by a large FinTech company adopting Kubernetes/Container and cloud environment for deploying their application with very high level of security .
Other than technical challenges, this also talks about non-tech challenges faced by various stakeholders during the adoption. Talks about entire journey from decision making to deploying a full automated deployment environment, CI/CD pipeline, devops processes etc.
Security and Observability of Application Traffic in KubernetesAkshay Mathur
Advance Load Balancers in containerized form can provide security and observability into traffic, improve application response time and lower down overall operational burden.
In Kubernetes env East-West traffic security and access control between microservices is very important especially when it is done effectively without imposing a lot of cost overhead.
Kubernetes as Orchestrator for A10 Lightning ControllerAkshay Mathur
A10 Lightning Application Delivery System (ADS) supports hybrid environments by providing secure application services and advanced analytics across the entire deployment – from traditional on-premise data centers, to public and/or private clouds, or any combination thereof. A10 Lightning employs a controller-based architecture that can self-managed on-premise or in a private cloud, or utilized as a SaaS offering managed by A10, to enable management of heterogeneous workloads across physical hardware-based environments, as well as public, private, and hybrid clouds.
This presentation talks about our journey from a VM based Controller to a Kubernetes based Controller
Solution for using AWS cloud on the fly for an application deployed in data centre. Dynamically start additional instance in AWS using monitoring and triggers from A10 Lightning Application Delivery Service (ADS) and AWS Lambda.
Shared Security Responsibility Model of AWSAkshay Mathur
I heard many people saying that they need not worry about security of their application (or it is automatically PCI compliant) just because the application is hosted in AWS EC2.
This was presented in AWS meetup to make it clear to audience that security is shared responsibility. While AWS takes care of security at L1 & L2 and provide tools for L3 & L4, we need to take care of security at L7 (Application layer)
This is an effort towards teaching Angular JS from what an average Javascript developer already know. The presentation tries to fill the gap rather than posing Angular as a magical framework.
Creating Single Page Web App using Backbone JSAkshay Mathur
This was presented during the workshop on the topic. The complete code of the app that was created during the workshop is available at Github https://github.com/mathurakshay/explore-venues
This is the content of first workshop os a 3 workshop series for learning to create Single Page Web Apps.
This focuses on introducing the HTML, CSS and Javascript to the newbies.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
2. Ground Rules
• Post on FB and Tweet now
• Disturb Everyone during the
session
– Not by phone rings
– Not by local talks
– By more information and
questions
2@akshaymathu @sid_chilling @nikitascorner
3. Let’s Know Each Other
• Do you code?
• Do you test?
• OS?
• Programing Language?
• HTML DOM, CSS Selectors, JQuery ?
• Why are you attending?
3@akshaymathu @sid_chilling @nikitascorner
4. Akshay Mathur
• Managed development, testing and release
teams in last 14+ years
– Currently Principal Architect at ShopSocially
• Founding Team Member of
– ShopSocially (Enabling “social” for retailers)
– AirTight Neworks (Global leader of WIPS)
4@akshaymathu @sid_chilling @nikitascorner
5. Siddharth Saha
• CS graduate from NIT Rourkela
• 3+ years in Software Product industry
• Worked in Telecom (Drishti Soft) and Social
Shopping (ShopSocially) Domains
• Currently Junior Application Architect at
ShopSocially
5@akshaymathu @sid_chilling @nikitascorner
6. Nikita Mundhada
• CS graduate from PICT Pune
• 2 years in Software Product industry
• Worked
– at Amdocs as a Java Developer
– at ShopSocially as a Full Stack Developer
• Going back to college
– For MS at Georgia Institute of Technology
6@akshaymathu @sid_chilling @nikitascorner
7. Agenda
• Problem Statement
– What are single page apps and how are they different
– Why other tools fail testing dynamic DoM in browser
• Introduction to Server Side Javascript and Related
Technologies
– Headless Browser, NodeJS, PhantomJS, CasperJS, Splinter
• Demonstrations and Code Walkthroughs
– Invoking UI test suite, in the browser from Python console,
using Splinter
– Testing UI from command line, without opening the
browser, using CasperJS
7@akshaymathu @sid_chilling @nikitascorner
10. Traditional Apps
• Action items are implemented as hyperlinks to
URLs
• Different web page is requested from server
for next step of workflow
• Browser’s address bar is the only progress
indicator
• Tooltips are available for in-context help
10@akshaymathu @sid_chilling @nikitascorner
11. Page Construction
• On Server:
– Dynamic portion of the page executes and brings
the data
– HTML gets constructed using PHP, ASP, JSP etc.
• On Client:
– Browser renders the HTML DOM
– No major change happens in HTML DOM after
rendering
• Light use of Javascript
11@akshaymathu @sid_chilling @nikitascorner
12. Traditional Testing Tools Work Fine
• Get a copy of HTML DOM just before it is
being rendered by web browser
• Do not execute Javascript
• For recognizing DOM elements:
– Old: Use window coordinates
– New: Use Object’s xPath
• Use UI elements/Events for interactions
12@akshaymathu @sid_chilling @nikitascorner
14. Modern Apps
• Javascript event handlers are attached to on-
screen actions
• Only required portion of page gets updated as
needed
• Loading indicator appears whenever user
need to wait
• Rich in-context interaction, in form of light-
box popups
14@akshaymathu @sid_chilling @nikitascorner
15. Page Construction
• On Server:
– Minimal HTML rendering
– Typically no (or minimum) data-driven components
– Separate calls for data
• On Client:
– Data requested from Server using AJAX calls
– HTML DOM changes dynamically
– Workflow implemented in browser
• Heavy use of Javascript
– Jquery, BackboneJS etc.
15@akshaymathu @sid_chilling @nikitascorner
16. Traditional Testing Tools Fail
• Changed HTML DOM is not available to the
tool
• xPaths of existing elements change
16@akshaymathu @sid_chilling @nikitascorner
17. Requirements for New Age Tools
• Should have complete control over HTML
DOM and the Javascript on the page
– Should be able to fire DOM events as user does
– Should be able run Javascript on the page as it
happens in the browser on user’s action
– Should be able to get changed DOM as needed
• Should use selectors rather than xPaths
• Should not depend too much on screen
painting
17@akshaymathu @sid_chilling @nikitascorner
20. NodeJS
• Technology that allows to use Javascript on
server side or in command line environment
– A complete app-server and web-framework can
be written using NodeJS
• Even-driven and Asynchronous programming
– High performance
– Low response time
20@akshaymathu @sid_chilling @nikitascorner
21. Headless Browser
• Browser without Graphical User Interface
– Implements everything same as web browsers
• HTTP Request and Response handling
• Rendering Engine
• HTTP DOM and Events
• Javascript Runtime Environment
• Used for website testing, screen capture and
page automation from command line
21@akshaymathu @sid_chilling @nikitascorner
22. Headless Browsers
• Phantom JS
– Headless browser implementing Webkit
• Similar to Chrome, Safari
• Slimer JS
– Upcoming headless browser implementing Gecko
• Similar to Firefox
22@akshaymathu @sid_chilling @nikitascorner
24. Casper JS
• Tool built on top of Headless Browsers
– Same code works for PhantomJS and SlimerJS
• Eases the process of defining a full navigation
scenario
• Provides syntactic sugar for common tasks:
– Filling Forms
– Clicking and following links
– Logging events
– Finding DOM elements
– …
24@akshaymathu @sid_chilling @nikitascorner
25. Splinter
• Open source tool for testing web applications
using Python
• An abstraction layer on top of existing
browser automation tools:
– Selenium
– PhantomJS
– Zope
25@akshaymathu @sid_chilling @nikitascorner
27. Demonstrations
• Important points to note
– The UI under test is sensitive to screen size
– The test includes interacting with the elements in
an iFrame
– The DOM in the iFrame changes dynamically
without loading the complete page
27@akshaymathu @sid_chilling @nikitascorner
28. ShopSocially
• Provides social apps to online retailers
– Most of apps are embed-able on web pages
• Execute in iFrame
• Do not reload page for better user experience
28@akshaymathu @sid_chilling @nikitascorner
30. Splinter
• Open source tool for testing web applications
using Python
• An abstraction layer on top of existing
browser automation tools:
– Selenium
– PhantomJS
– Zope
30@akshaymathu @sid_chilling @nikitascorner
31. Splinter
• Simple Python APIs
• Multiple webdrivers
– Chrome, Firefox, PhatomJS, Zope
– One code to rule them all
• CSS and Xpath Selectors
• Support for iframe and alerts
• Executes JavaScript
31@akshaymathu @sid_chilling @nikitascorner
32. Do with Splinter
• Browser Navigation
• Finding elements
• Mouse interactions
• Interacting with elements and forms
• Cookies manipulation
• Execute JavaScript
• Deal with HTTP status codes
• Interact with iframes, alerts and prompts
32@akshaymathu @sid_chilling @nikitascorner
38. Interacting with Form Elements
browser.fill(„query‟,
„Siddharth‟)
browser.choose(„some-radio‟,
„radio-value‟)
browser.select(„my-dropdown‟,
„my-fav-value‟)
38@akshaymathu @sid_chilling @nikitascorner
43. Casper JS
• Tool built on top of Headless Browsers
– Same code works for PhantomJS and SlimerJS
• Eases the process of defining a full navigation
scenario
• Provides syntactic sugar for common tasks:
– Filling Forms
– Clicking and following links
– Logging events
– Finding DOM elements
– …
43@akshaymathu @sid_chilling @nikitascorner
44. Casper JS
• Code written in only JavaScript/CoffeeScript
• Casper JS and the javascript in the page
execute in their own sandboxes
– Specific call is available to communicate
• Tester module provides functions and
assertions for testing
• Utils module provide general utilities for I/O
44@akshaymathu @sid_chilling @nikitascorner
45. Skeleton of a CasperJS program
@akshaymathu @sid_chilling @nikitascorner 45
then()
run()
evaluate()
Passes
Function
Returns
Value
Page DOM SandboxCasperJS Sandbox
Executes
Function
55. Result Format
<testsuite>
<testcase classname="samples" name="Get-a-Fan App Sidebar loaded." time="39.647">
</testcase>
<testcase classname="samples" name="Found “Special-20” within the selector
coupon_area1 > span" time="0.013">
<failure type="assertSelectorHasText">Found "Special-20" within the selector
"#coupon_area1 > span“>
</failure>
</testcase>
</testsuite>
55@akshaymathu @sid_chilling @nikitascorner
56. Do with CasperJS
• Test webpages
– Report results in X-unit XML format
– Integrate with Continuous Integration tool like
Jenkins
• Take screenshots
• Fill forms
• Insert scripts into webpages
• Download links
56@akshaymathu @sid_chilling @nikitascorner
58. Summary
• Nature of web apps is changing
– Javascript is becoming more and more powerful
– Dynamism has come to browser
• Testing tools are also catching up
– Dependency on UI layout is decreasing
• Using newer tools and technologies, We can
save a lot
– Tests are faster as they need not wait for UI
– Multiple CasperJS tests can run on same machine
58@akshaymathu @sid_chilling @nikitascorner