WebSocket is a protocol that provides bidirectional communication over a single TCP connection. It uses an HTTP handshake to establish a connection and then transmits messages as frames that can contain text or binary data. The frames include a header with metadata like opcode and payload length. WebSocket aims to provide a standard for browser-based applications that require real-time data updates from a server.
Web 3.0 (Web3) is the third generation of the evolution of web technologies. Web 3.0 is a new platform that allows users to connect and share information more freely than ever before. It also offers new ways for businesses to connect with their customers, and makes it easier for people to find the information they need.
Introduction to Web 3 - Tony Aube at WAQ19Tony Aubé
Watch with English closed captions: https://youtu.be/PQHEwuUOplQ
In the 2000s, sites like YouTube, Facebook, and Twitter marked the arrival of Web 2.0. At the time, we were already wondering what would be the Web 3.0. Today we have the answer: Web 3.0 (simply called Web3) is the transition to a decentralized Internet.
The Internet is doing very badly today. Censorship, centralization, surveillance, data piracy, misinformation, the abolition of neutrality, etc. Fortunately, several solutions are being developed to solve these problems: Tim Berners-Lee's Blockchain and Cryptocurrency, IPFS and Solid.
This presentation aims to highlight these projects. We will see how these promise the creation of a decentralized Internet. An Internet beyond the control of private companies and governments. An Internet that will exchange value as easily as it is possible to exchange information today. And finally, an Internet where users are in control of their own personal information.
Follow me on:
Twitter: https://twitter.com/aubetony
Medium: https://medium.com/@tonyaub
This presentation was given at Web à Québec on April 08, 2019:
https://webaquebec.org/programmation/reinventer-internet-avec-le-web-3-0
An introduction to Silverlight with comparision to Flash.
(Some information has been taken from msdn website and other microsoft's resources) - Rajesh Lal
HTTP/2 for Developers: How It Changes Developer's Life?
by Svetlin Nakov (SoftUni) - http://www.nakov.com
jProfessionals Conference - Sofia, 22-Nov-2015
Key new features in HTTP/2
- Multiplexing: multiple streams over a single connection
- Header compression: reuse headers from previous requests
- Sever push: multiple parallel responses for a single request
- Prioritization and flow control: resources have priorities
Web 3.0 (Web3) is the third generation of the evolution of web technologies. Web 3.0 is a new platform that allows users to connect and share information more freely than ever before. It also offers new ways for businesses to connect with their customers, and makes it easier for people to find the information they need.
Introduction to Web 3 - Tony Aube at WAQ19Tony Aubé
Watch with English closed captions: https://youtu.be/PQHEwuUOplQ
In the 2000s, sites like YouTube, Facebook, and Twitter marked the arrival of Web 2.0. At the time, we were already wondering what would be the Web 3.0. Today we have the answer: Web 3.0 (simply called Web3) is the transition to a decentralized Internet.
The Internet is doing very badly today. Censorship, centralization, surveillance, data piracy, misinformation, the abolition of neutrality, etc. Fortunately, several solutions are being developed to solve these problems: Tim Berners-Lee's Blockchain and Cryptocurrency, IPFS and Solid.
This presentation aims to highlight these projects. We will see how these promise the creation of a decentralized Internet. An Internet beyond the control of private companies and governments. An Internet that will exchange value as easily as it is possible to exchange information today. And finally, an Internet where users are in control of their own personal information.
Follow me on:
Twitter: https://twitter.com/aubetony
Medium: https://medium.com/@tonyaub
This presentation was given at Web à Québec on April 08, 2019:
https://webaquebec.org/programmation/reinventer-internet-avec-le-web-3-0
An introduction to Silverlight with comparision to Flash.
(Some information has been taken from msdn website and other microsoft's resources) - Rajesh Lal
HTTP/2 for Developers: How It Changes Developer's Life?
by Svetlin Nakov (SoftUni) - http://www.nakov.com
jProfessionals Conference - Sofia, 22-Nov-2015
Key new features in HTTP/2
- Multiplexing: multiple streams over a single connection
- Header compression: reuse headers from previous requests
- Sever push: multiple parallel responses for a single request
- Prioritization and flow control: resources have priorities
HTML5 WebSocket for the Real-Time Weband the Internet of ThingsPeter Moskovits
Abstract: In his talk Peter gives a brief introduction to WebSocket and discusses how real-time Web communications technologies can be applied to an always connected Web and mobile world. Then, he walks you through how to provide interactivity and collaboration by controlling physical objects remotely. The presentation features several live demonstrations of the concepts discussed throughout the session.
My lightning talk for the Testing and Automation devroom at FOSDEM 2013:
The red/green metaphor to indicate failed/successful jobs may seem obvious but it doesn't scale when trying to visualise the state of a complex system.
After discussing the shortcomings of the current approach, we look at ideas for alternative visualisations and start defining requirements. This talk does not claim to have all the answers; It is a call for action, to seek help from the community.
Html5 web sockets - Brad Drysdale - London Web 2011-10-20Nathan O'Hanlon
This month we focus in on WebSockets in HTML5 with Brad Drysdale.
You're probably aware of the various chat systems around the web (facebook chat for example) but recently there has been more of a desire for other types of interaction using these technologies. Many have requested talks on Node.js, Comet long-polling, or similar technologies. WebSockets are the evolution of these technologies, and a developing standard being progressed by the IETF.
The HTML 5 standard specifies new APIs for storage, drawing, drag-and-drop, and other areas that have made web programming painful. Browsers have already begun incorporating parts of HTML 5 (canvas, for example) even though the specification is far from complete. The HTML 5 Communication section includes two additional connectivity features: Server-Sent Events, a standardization of HTTP push, and Web Sockets, a cross-domain safe, full-duplex connection. Server-Sent Events will make real-time updates and notifications easy, and Web Sockets provide the functionality necessary to build chat for the web without the previously required hackery.
Come and hear the latest on what this great technology allows!
Brad Drysdale is the Technical Director in EMEA for Kaazing. Brad has also worked at Openwave and Netscape Communications in various pre-sales and technical evangelist roles.
The slides provide a major overview on SOAP protocol, and demonstrates a working example that uses SOAP for RPC. It uses WCF/visual studio and Apache Axis for the implementation.
Websockets on the JVM: Atmosphere to the rescue!jfarcand
WebSockets' State of the Union on the JVM with the help of the Atmosphere Framework. Status of atmosphere.js, socketio.js, socks.js client side library discussed as well.
DevNexus 2013 - Introduction to WebSocketsGunnar Hillert
The WebSockets technology promises to fill a niche in web applications by enabling browsers and servers to exchange messages with high frequency, low latency and low bandwith requirements in full duplex mode. The WebSocket protocol is an IETF standard, the WebSocket API is almost standardized by the W3C, and the JSR-356 will deliver a Java API in Java EE 7. There are already implementations in node.js and in a number of Servlet containers and Java frameworks. The time is as good as ever to start digging into it and there is so much to consider — from getting familiar with the protocol and the API, to sorting through the choices on the browser and on the server side, practical challenges with browser support and network issues, and so on. Furthermore, WebSockets offer a messaging-style architecture that’s in sharp contrast to the RESTful architectures that connect the web today, so learning where to draw the line will be essential.
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...Edward Burns
Servlet is very easily the most important standard in server-side Java. The much awaited HTTP/2 standard is now complete, was fifteen years in the making and promises to radically speed up the entire web through a series of fundamental protocol optimizations.
In this session we will take a detailed look at the changes in HTTP/2 and discuss how it may change the Java ecosystem including the foundational Servlet 4 specification included in Java/Jakarta EE 8.
Developing Revolutionary Web Applications using Comet and Ajax PushDoris Chen
Join the asynchronous web revolution! Because Ajax-based applications are almost becoming the de facto technology for designing web-based applications, it is more and more important that such applications react on the fly, or in real time, to both client and server events. AJAX can be used to allow the browser to request information from the web server, but does not allow a server to push updates to a browser. Comet solves this problem. Comet is a technology that enables web clients and web servers to communicate asynchronously, allowing real-time operations and functions previously unheard of with traditional web applications to approach the capabilities of desktop applications. This session will start to provide an brief introduction to the asynchronous web, AJAX polling, long polling, and Streaming, explaining the Bayeux protocol, Cometd, Grizzly Comet implementation on GlassFish. Different approaches and best practices to develop comet application will also be discussed. You will learn how to develop the chat application, how to implement distance learning slideshow application, how to manage a chat application from the server and how to develop a two-player distributed game application. Attendees will take away the tactics they need in order to add multiuser collaboration, notification and other Comet features to their application, whether they develop with Dojo, jQuery, jMaki, or Prototype and whether they deploy on Jetty, Tomcat, or the GlassFish Application Server.
Training Webinar: Enterprise application performance with server push technol...OutSystems
1st Session - WebSockets, a Server Push Technology:
- Differences between Pull and Push technologies
- What are WebSockets
- A bit of History behind WebSockets
- When to use WebSockets
- How to integrate WebSockets with OutSystems
- Considerations when using WebSockets
Free Online training: https://www.outsystems.com/learn/courses/
Follow us on Twitter http://www.twitter.com/OutSystemsDev
Like us on Facebook http://www.Facebook.com/OutSystemsDev
WebRTC transforms a Web browser into a fully fledged client for Real Time Communications (audio, video, IM, screensharing). Google and Mozilla have contributed to this Open Source project, creating a variety of business opportunities unthinkable just a few years ago. During this seminar we’ll see the technology aspects and potential, why this attracts Web developers and what the role of VoIP developers has become.
IOT and System Platform From Concepts to CodeAndy Robinson
This presentation was delivered at the Wonderware Software Users Conference in 2015. In this presentation I cover fundamental concepts related to IOT as well as specific applications using Wonderware System Platform.
WebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoTFrank Greco
WebSocket is not just a push mechanism. There are other HTTP-based mechanisms for simply sending a short notification to the browsers. It is much more. This presentation was given at both JavaOne 2015 and HTML5DevConf 2015 with slightly different Java/JavaScript information, but the basic information is the same.
High Precision GPS Positioning for Spring DevelopersGunnar Hillert
You have GPS tracking requirements in areas such as autonomous vehicles, robotics or precision farming, but realize that phones are not accurate enough. You also wish Google Maps and OpenStreetMap had a way higher zoom level. What are your options?
Join me on this fast-paced journey as we look at the various options to achieve centimeter-level GNSS accuracy. We’ll look at (affordable) hardware options, such as the dual-frequency GNSS support in the latest generation of phones, as well Arduino-powered base station/rover solutions for your own IoT needs.
We venture into Java connectivity options in order to integrate devices via Bluetooth and USB into Spring Boot applications, and show how to process NMEA messages using Spring Integration.
Ultimately, we’ll dive into the wider GIS world, briefly touching on QGIS to create base maps, geospatial data persistence options, and how to visually present the end product to your users using Leaflet.js.
Migrating to Angular 5 for Spring DevelopersGunnar Hillert
You have the goal to migrate your project from AngularJS 1.x to Angular 4 and Angular 5. This should be straightforward, except you are realizing that your 3 year old technology stack is totally outdated (Grunt, RequireJS, Bower et al). Furthermore, you are using an older AngularJS 1.x version and your architecture does not conform with the latest 1.x architectural recommendations. At this point things start to look daunting. In this talk we discuss the challenges, experiences and reasons for migrating the Spring Cloud Data Flow Dashboard from using AngularJS 1.x to Angular 5. We also show how we effectively integrate our Angular front-end with Spring Boot.
From the AJUG meeting: http://www.meetup.com/atlantajug/events/222312943/
Oc 20, 2015
In this fully-loaded session we will give you an update on all things Spring. We will talk about the latest features in Spring Framework 4.2 which was released this summer, and also provide an outlook to what is coming with Spring 5 in 2016.
Next, Spring Boot 1.3 is on the horizon and adds many new features. We will go over those and explain how Spring Boot helps you build production-ready Spring applications.
And then we add Spring Cloud to the mix and explain the various modules
In this fully-loaded session we will give you an update on all things Spring. We will talk about the latest features in Spring Framework 4.2 which was released this summer, and also provide an outlook to what is coming with Spring 5 in 2016.
Next, Spring Boot 1.3 is on the horizon and adds many new features. We will go over those and explain how Spring Boot helps you build production-ready Spring applications.
And then we add Spring Cloud to the mix and explain the various modules.
Stream processing gets quite a bit of the press these days. Projects like Spark, Samza/Kafka, Google Cloud Dataflow, Apache Flink, and Amazon Kinesis bring the question of can we accomplish what we need without a batch component. This talk will take a hard look at if we still need batch these days, what that might look like in a modern development platform, and where Spring fits into it all.
In this presentation we will examine various scalability options in order to improve the robustness and performance of your Spring Batch applications. We start out with a single threaded Spring Batch application that we will refactor so we can demonstrate how to run it using:
* Concurrent Steps
* Remote Chunking
* AsyncItemProcessor and AsyncItemWriter
* Remote Partitioning
Additionally, we will show how you can deploy Spring Batch applications to Spring XD which provides high availability and failover capabilities. Spring XD also allows you to integrate Spring Batch applications with other Big Data processing needs.
Creating Modular Test-Driven SPAs with Spring and AngularJSGunnar Hillert
Single-page Applications (SPA) are all the rage these days and with them there is an avalanche of new tools, libraries and frameworks we need to know. But what does this mean for us as Spring developers? In this session we will give you an overview of the current landscape and illustrate the choices the Spring XD team has made for its user interface. What do I use to write SPA applications? How do I integrate them into existing Spring-based backends? How do I build them? Can I integrate them into my existing Gradle or Maven build processes in order to achieve complete build automation? How do I integrate realtime messaging using Spring's SockJS/WebSocket support? In this talk we will answer these and many more questions. We will cover frameworks such as AngularJS, Bootstrap, RequireJS; tools like Bower, Grunt, Gulp; and also talk about testing using Karma and Protractor.
Modular Test-driven SPAs with Spring and AngularJSGunnar Hillert
Single-page Applications (SPA) are all the rage these days and with them there is an avalanche of new tools, libraries and frameworks we need to know. But what does this mean for us as Spring developers? In this session we will give you an overview of the current landscape and illustrate the choices the Spring XD team has made for its user interface. What do I use to write SPA applications? How do I integrate them into existing Spring-based backends? How do I build them? Can I integrate them into my existing Gradle or Maven build processes in order to achieve complete build automation? How do I integrate realtime messaging using Spring's SockJS/WebSocket support? In this talk we will answer these and many more questions. We will cover frameworks such as AngularJS, Bootstrap, RequireJS; tools like Bower, Grunt, Gulp; and also talk about testing using Karma and Protractor.
Atlanta JUG - Integrating Spring Batch and Spring IntegrationGunnar Hillert
This talk is for everyone who wants to efficiently use Spring Batch and Spring Integration together. Users of Spring Batch often have the requirements to interact with other systems, to schedule the periodic execution Batch jobs and to monitor the execution of Batch jobs. Conversely, Spring Integration users periodically have Big Data processing requirements, be it for example the handling of large traditional batch files or the execution of Apache Hadoop jobs. For these scenarios, Spring Batch is the ideal solution. This session will introduce Spring Batch Integration, a project that provides support to easily tie Spring Batch and Spring Integration together. We will cover the following scenarios:
Launch Batch Jobs through Spring Integration Messages
Generate Informational Messages
Externalize Batch Process Execution using Spring Integration
Create Big Data Pipelines with Spring Batch and Spring Integration
S2GX 2012 - Spring Projects InfrastructureGunnar Hillert
Over the last year a number of significant changes have been made to the infrastructure and processes used within the Spring family of projects. In this presentation we will review these process changes and provide valuable insights into the tools that make it all possible. We will begin with providing a brief history, then move on to discuss the new tools being used, such as GitHub, Gradle, and Artifactory. Beyond describing the tools, we'll also illustrate how these new tools help facilitate our processes, including community contributions, release management, defect tracking, and more. Ultimately, this presentation will paint a larger picture of the development process for open source projects at Spring, and the various outlets available for community involvement.
S2GX 2012 - What's New in Spring IntegrationGunnar Hillert
Spring Integration 2.2 introduces many exciting new features including among other things new adapters supporting MongoDB, Redis and JPA. Furthermore, the transaction synchronization support was expanded, allowing for the synchronization of inherently non-transactional resources with existing transactions.
Another noteworthy addition is the ability to add behavior to individual endpoints using advice chains. For example, Spring Integration 2.2 now provides out-of-the-box support for various retry strategies.
Attend this session to learn about these and many other new features and improvements. We will also take a look at some of the things planned for Spring Integration 3.0.
S2GX 2012 - Introduction to Spring Integration and Spring BatchGunnar Hillert
In this session you will learn what Spring Integration and Spring Batch are all about, how they differ, their commonalities, and how you can use Spring Batch and Spring Integration together.
We will provide a short overview of the Enterprise Integration Patterns (EIP) as described in the highly influential book of the same name. Based on these patterns, we will then see how Spring Integration enables the development of Message-driven applications. This allows you to not only modularize new or existing applications but also makes it easy to integrate with external systems.
This session will also introduce Spring Batch. Spring Batch addresses the needs of any batch process, be it complex calculations in large financial institutions or simple data migration tasks as they exist in many software development projects. We will cover what Spring Batch is, how Spring approaches the concepts of batch and how Spring handles scaling batch processes to be able to handle any volume of data.
You will also see how Spring Integration and Spring Batch maximize the reuse of the integration support provided by the core Spring Framework. In addition to providing a robust, proven foundation, this also flattens the learning curve considerably to all developers already familiar with Spring.
This session provides an overview of how to build and deploy Spring-based applications to the Cloud Foundry platform.
The session will cover application configuration parameters, binding services to your application, deployment options using using STS, the vmc command tool, as well as the new Apache Maven plugin for Cloud Foundry. Gunnar will demonstrate how to deploy applications to both micro and public Cloud Foundry and will also show how debugging works with Cloud Foundry and how you can inspect services remotely using Caldecott.
Gunnar will also show various options to keep your War-files deployable to both Cloud Foundry and stand-alone Servlet Containers using auto-reconfiguration, the cloud namespace, and Spring 3.1 profiles.
Lastly, he will give a high-level overview how you can use Cloud Foundry together with Spring Integration in order to create scalable Spring applications.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
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.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
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.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
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.
9. The Goal
“The goal of this technology is to provide a
mechanism for browser-based applications that
need two-way communication with servers that
does not rely on opening multiple HTTP
connections”
- RFC 6455, The WebSocket Protocol
9
10. The Approach
• Two-way messaging over a single connection
• Layer on TCP
• Not HTTP, but uses HTTP to bootstrap
• Extremely low-overhead
10
21. If WebSocket is so great...
• Why does bitcoinmonitor use long polling?
• What about other sites?
– Asana.com
– Meteor (http://www.meteor.com)
self.socket = new SockJS(self.url, undefined, {
debug: false, protocols_whitelist: [
// only allow polling protocols. no websockets or streaming.
// streaming makes safari spin, and websockets hurt chrome.
'xdr-polling', 'xhr-polling', 'iframe-xhr-polling', 'jsonp-polling'
]});
github.com/meteor/meteor/blob/master/packages/stream/stream_client.js
21
22. Browser Support
http://caniuse.com/#feat=websockets (Dec 17, 2012)
22
26. HTTP Proxies
• Content caching, internet connectivity, filtering
• Can monitor or close connections, buffer unencrypted traffic
• Designed for HTTP-based document transfer
• Not for long-lived connections
26
27. Proxy Traversal
“Today, most transparent proxy servers will not
yet be familiar with the Web Socket protocol
and these proxy servers will be unable to
support the Web Socket protocol”
Peter Lubbers, in a 2010 InfoQ article
27
28. Proxy Issues
• Explicit proxies with HTTP Connect
• Transparent proxies propagation of Upgrade header
• Retaining the Connection header
• WebSocket frames vs HTTP traffic
28
29. A Few Rules of Thumb
• “wss:” provides a much better chance of success
• Same for browsers using explicit proxies
• Transparent proxies can support WebSocket
• But must be configured explicitly
29
30. Keeping Connections Alive
• Internet inherently unreliable
• Both server and client can go away
• Wireless connection may fade out
• and so on
30
31. A New Set of Challenges
• Keep-alive ("ping!")
• Heartbeat ("I'm still here!")
• Message delivery guarantee
• Buffering
31
38. Network Working Group
• 2009-Jan - hixie-00
• 2010-Feb - hixie-75 - Chrome 4
• 2010-May - hixie-76 - Disabled in FF/Opera
38
39. HyBi Working Group
• 2010-May - hybi-00 - Same as hixie-76
• 2011-April - hybi-07 - Firefox 6
• 2011-Dec - RFC6455
39
40. RFC 6455
The WebSocket Protocol
Final Version: Dec 2011
http://tools.ietf.org/html/rfc6455
40
41. WebSocket Protocol Details
• TCP-based protocol
• HTTP used solely for upgrade request (Status Code 101)
• Bi-directional, full-duplex
• Data Frames can be Text (UTF-8) or arbitrary Binary data
41
49. WebSocket Control Frames
• Communicate state about the WebSocket
• Close (0x8)
• Ping (0x9)
• Pong (0xA)
• More possible in future
• 125 bytes or less
49
50. Close Frame
• Terminates WebSocket connection
• Can contain a body (UTF-8 encoded)
• Defines a set of Status Codes, e.g:
• 1000 = normal closure
• 1001 = endpoint is “going away”
50
51. Ping + Pong Frame
• Serves as keepalive (Ping followed by Pong)
• Check whether the remote endpoint is still responsive
• Can be sent at any time (WebSocket established, before
close)
• Just Pongs (unsolicited) = unidirectional heartbeat
51
52. WebSocket Extensions
• WebSocket Per-frame Compression (Draft)
• Multiplexing Extension (Draft)
• Extensions Header: Sec-WebSocket-Extensions
• Used in the opening handshake (HTTP)
52
53. Multiplexing Extension (MUX)
• http://tools.ietf.org/html/draft-ietf-hybi-websocket-
multiplexing-08
• Separate logical connections over underlying transport
connection
53
56. The WebSocket API
• W3C Candidate Recommendation 20 Sep 2012
• http://www.w3.org/TR/websockets/
• Browser client-side API
56
57. The WebSocket API
• Binary data supported: Blob or ArrayBuffer format
• Can inspect extensions (read-only)
• No support for ping/pong frames
57
58. The readyState attribute
• CONNECTING (0) - Connection not yet established
• OPEN (1) - Connection is established + communication
possible
• CLOSING (2) - Connection going through closing
handshake / close() method called
• CLOSED (3) - Connection is closed / could not be opened
58
71. Jetty
• Since Jetty 7.x (early adoption, complex)
• Revised in Jetty 9
– http://webtide.intalio.com/2012/10/jetty-9-updated-websocket-api/
• Builds on Java 7, messages not frames, annotations
http://download.eclipse.org/jetty/stable-7/apidocs/org/
eclipse/jetty/websocket/package-summary.html
71
72. Glassfish
• Since 3.1 (02/2011)
• Exposes frames, server-side only
• Like with earlier Jetty versions, a major revision is likely
• http://antwerkz.com/glassfish-web-sockets-sample/
72
75. Java API for WebSocket (JSR-356)
• Original discussion started in JSR-340 (Servlet 3.1)
• Later split out into separate spec
• Servlet spec will have an upgrade option
• JSR-356 will not require Servlet API
75
76. What's under discussion
• Client and server-side API
• Use of annotations (or use API directly)
• Support for extensions
• Security considerations
• Thread model
76
77. What's under discussion
• Client and server-side API
• Use of annotations (or use API directly)
• Support for extensions
• Security considerations
• Thread model
77
78. Resources
• All drafts so far
http://java.net/projects/websocket-spec/downloads/
directory/Spec%20javadoc%20Drafts
• The latest v010 Early Draft Review
http://java.net/projects/websocket-spec/downloads/
directory/Spec%20javadoc%20Drafts/v010
• Mailing list archives
http://java.net/projects/websocket-spec/lists
78
79. Spring Integration WebSocket Support
• Atmosphere based Extension (Coming)
• WebSocket implementation using TCP Adapters (demo)
• Considering adding Client Support (SockJS)
• Event Bus support (Integration with Integration.js)
79
81. A Few Conclusions
• WebSocket technology is promising
• Not a silver bullet
• Complement to REST
• Potential replacement for Comet techniques
• But the need for fallback options will persist
81
82. A Few Conclusions
• Integrating WebSockets into a real app is not yet trivial
• But now is the time to begin thinking about it
• “Pure WebSocket” applications in the wild unlikely
82
83. Predictions
• A consolidation of 'fallback protocols'
• Leading to wide adoption in various application frameworks
• SockJS currently the most promising effort
– https://github.com/sockjs/sockjs-protocol
83
85. Building a real app today
• Commercial vendors have a lot to offer
• Particularly
– blog: http://blog.kaazing.com/
– http://www.websocket.org/
• Doing Mobile? Consider Push Technologies
– Apple Push Notification Service (APNS)
– Google Cloud Messaging for Android (GCM)
– Consider
– Spring Mobile provides early support:
https://github.com/SpringSource/spring-mobile-urbanairship
85
86. Predictions: Java
• JSR-356 will be important
• Frameworks have a big role to play
• Atmosphere is there today
• Dedicated Spring support in consideration
86