This series of slides describes how to develop a twitter application.
This slide shows how to search tweets using Twitter Search RESTful Open API and how to implement it using Twitter4J.
This document provides an overview of the Twitter API, including details on authentication using OAuth, rate limiting, supported data objects and formats, example API calls, and libraries for accessing the API. It covers the Search, REST, and Streaming APIs, noting key aspects like pagination, persistent connections, and filtering capabilities.
Secure Enterprise APIs for Mobile, Cloud & Open Web
APIs present enterprises with many business opportunities but they also create new attack vectors that hackers can potentially exploit. APIs share many of the same threats that plague the Web but APIs are fundamentally different from Web sites and have an entirely unique risk profile that must be addressed.
By adopting a secure API architecture from the beginning, it is possible to address both old and new threats. In this webinar, Scott Morrison – CTO at Layer 7 Technologies – will explain in detail how an enterprise can pursue its API publishing strategy without compromising the security of its on-premise systems and data.
You Will Learn
How APIs increase the attack surface
What key types of risk are introduced by APIs
How enterprises can mitigate each of these risks
Why it is crucial to separate API implementation and security into distinct tiers
Presented By
Scott Morrison, CTO, Layer 7 Technologies
Vorontsov, golovko ssrf attacks and sockets. smorgasbord of vulnerabilitiesDefconRussia
This document summarizes vulnerabilities related to server-side request forgery (SSRF) attacks and how they can be exploited. It discusses how external network access and internal network access can be obtained through SSRF. It provides examples of vulnerabilities in various protocols like HTTP, FTP, TFTP, and protocols used by services like Memcached, databases, and file uploads. It also describes how file descriptors can be used to write to open sockets or files to forge server responses or inject malicious content. Overall, the document is an overview of real-world SSRF attacks and exploitation techniques.
The document provides an overview of key web technologies including HTML, CSS, JavaScript, PHP, databases, servers, and browsers. It discusses common technology stacks like LAMP and explains concepts like compiled vs scripting languages. Open source software is also defined and compared to proprietary software.
This document discusses the Lambda architecture, which is a design pattern for building data processing systems that require both batch and real-time processing. It describes the key components of a Lambda architecture, including batch and real-time data pipelines, serving layers, and a speed layer for low-latency queries. It also covers some of the main tools and frameworks used to implement Lambda architectures, such as Storm, Trident, Redis, and Summingbird, which provides a common API for both batch and real-time processing.
Development of Twitter Application #5 - UsersMyungjin Lee
Users on Twitter can tweet, follow other users, create lists, view their home timeline, be mentioned by others, and have their profile looked up. The Twitter API provides methods to look up user profiles by ID or screen name, search for users, and get friends and follower IDs. The Twitter4J Java library implements these API methods and defines User and IDs classes to represent user data and lists of user IDs.
This webinar in the course of the LOD2 webinar series will present the release 2.0 of the LOD2 stack, which contains updates to the components Ontowiki, Silk
* the assisting sparql editor SPARQLED (DERI),
* the LOD enabled Open Refine (previously Google Refine) (ZEMANTA),
* the extended version of SILK with link suggestion management from LATC (DERI),
* the rdfAuthor library which allows to manage structured information from RDFa-enhanced websites (ULEI),
* the SPARQLPROXY which is a PHP based forward proxy for remote access to SPARQL end points (ULEI)
Release 2.0 contains also a first contributed debian package for a component which is maintained by a group outside the LOD2 consortium. With the help of ULEI a package for the STANBOL engine (http://stanbol.apache.org/) has been contributed.
If you are interested in Linked (Open) Data principles and mechanisms, LOD tools & services and concrete use cases that can be realised using LOD then join us in the free LOD2 webinar series!
http://lod2.eu/BlogPost/webinar-series
This webinar in the course of the LOD2 webinar series will present Zemanta and its LODRefine - a LOD-enabled version of OpenRefine (previously Google Refine), which is a part of the LOD2 stack. LODRefine extends cleansing and linking functionalities of OpenRefine by providing means to reconcile and augment your data with DBpedia or any other SPARQL endpoint, extract named entities using Zemanta API, export data in one of the RDF formats, and recently also to exploit available crowdsourcing services. In webinar we will demonstrate several task which demonstrate the ease of use and versatility of LODRefine.
If you are interested in Linked (Open) Data principles and mechanisms, LOD tools & services and concrete use cases that can be realised using LOD then join us in the free LOD2 webinar series: http://lod2.eu/BlogPost/webinar-series
Introduction to software that can be used to capture and analyse Twitter dataDr Wasim Ahmed
This document introduces several tools for retrieving and analyzing Twitter data without requiring programming knowledge, including TAGS, NodeXL, Mozdeh, COSMOS, and Chorus. It also discusses ethical and legal considerations for using Twitter data and provides an overview of the speaker's public engagement work.
Intro to Twitter & social media concepts for use in CME. Follow us at http://twitter.com/EinsteinMed. Related video interviews at end of presentation and at http://bit.ly/OW5wiT and http://bit.ly/TWuZXP
The Art of Social Media Analysis with Twitter & PythonKrishna Sankar
The document discusses analyzing social networks and Twitter data using Python. It provides an introduction to analyzing the Twitter network of the user @clouderati, including 2072 followers. The presentation will cover topics like mentions, hashtags, retweets, and constructing a social graph to analyze cliques and networks. It also provides some tips for working with Twitter APIs and building scalable social media analysis pipelines in Python.
Welcome to my series of articles on Unified Modeling Language. This is "Session 10 – Sequence Diagram" of the series. Please view my other documents where I have covered each UML diagram with examples
The document discusses sequence diagrams, which show the interaction between objects and classes through a sequence of messages. Sequence diagrams are useful during the design phase to help understand system design and object interactions. They can also be used to document how existing systems work by showing the sequence of messages exchanged between objects.
The document provides information on entity relationship diagrams (ERDs), including the objectives, components, and steps to create an ERD. It defines key ERD concepts like entities, attributes, relationships, and cardinality. It describes the entity modeling process and discusses how to recognize entities, attributes, relationships, and cardinalities in a database. It outlines the general steps to create an ERD, including identifying entities, finding relationships between entities, drawing a rough ERD, defining primary keys, identifying attributes, mapping attributes to entities, and drawing a fully attributed ERD. Sample ERDs are provided to illustrate concepts like cardinality constraints.
Advanced Web Design And Development BIT 3207Lori Head
This document provides an overview of the key concepts for the Advanced Web Design and Development course (BIT 3207). It lists recommended books and motivation for learning web design. It then covers network fundamentals including IP, IP addressing, transport layer protocols, TCP connections, HTTP protocol, URLs, status codes and methods. It also discusses client-side components like browsers, HTML, HTML5, XML and JavaScript. On the server-side it covers servers, web servers, CGI, JSP, ASP/PHP and databases. It concludes with an explanation of 3-tier architecture and the layers of presentation, application and data.
HTTP is the application layer protocol that powers the World Wide Web. It allows for the transfer of various data types like text, images, videos, and sounds between a client and server. HTTP uses TCP and IP to establish connections and transfer packets of data between devices. Requests use methods like GET and POST, and responses include status codes to indicate success or errors. While HTTP is stateless, cookies allow servers to track users across multiple requests.
Module 5 Application and presentation Layer .pptxAASTHAJAJOO
The document discusses the application and presentation layers of the OSI model. It provides details on:
- The application layer protocols like HTTP, FTP, email and how they use the transport layer protocols TCP and UDP.
- The traditional client-server and new peer-to-peer paradigms used at the application layer.
- How the HTTP protocol works for the world wide web including URL structure, static/dynamic web documents, browser and server functions.
- The key components and functioning of specific application layer protocols - FTP for file transfer and email for electronic mail exchange.
This document provides a summary of key concepts related to web application technologies. It discusses HTTP and HTTP requests/responses, including common headers. It also covers client-side technologies like HTML, CSS, JavaScript, and how they interact with the server via HTTP. On the server-side, it discusses programming languages and frameworks like Java, ASP.NET, PHP, and common databases. It also covers concepts like cookies, sessions, and different encoding schemes used to transmit data.
The document provides definitions and explanations of various web technologies and protocols including:
- Internet, World Wide Web, URLs, TCP/IP, HTTP, IP addresses, packets, and HTTP methods which define how information is transmitted over the internet and web.
- Additional protocols covered are SSL, HTTPS, HTML, and cookies which establish secure connections and handle user sessions and data transmission.
This document provides an overview of the World Wide Web (WWW) and the Hypertext Transfer Protocol (HTTP). It discusses the architecture of the WWW including web clients, servers, and documents. It describes the Uniform Resource Locator (URL) format and explains static, dynamic, and active web documents. The document then focuses on HTTP, describing request and response message formats, methods, status codes, headers, cookies, caching with proxy servers, and HTTP security with SSL.
REST Assured is a Java library .Which, provides a domain-specific language (DSL) for writing powerful, maintainable tests for Restful APIs.
Library behaves like a headless Client to access REST web services.
This document provides an overview of web servers and introduces Microsoft Internet Information Services (IIS) and the Apache web server. It discusses how HTTP transactions work when a client requests a document from a web server using a URL. The document also describes multitier application architecture with different tiers for the client, business logic/presentation logic, and data. It compares client-side scripting, which runs in the browser, versus server-side scripting, which runs on the web server. Finally, it discusses how to access local and remote web servers.
This document discusses the Lambda architecture, which is a design pattern for building data processing systems that require both batch and real-time processing. It describes the key components of a Lambda architecture, including batch and real-time data pipelines, serving layers, and a speed layer for low-latency queries. It also covers some of the main tools and frameworks used to implement Lambda architectures, such as Storm, Trident, Redis, and Summingbird, which provides a common API for both batch and real-time processing.
Development of Twitter Application #5 - UsersMyungjin Lee
Users on Twitter can tweet, follow other users, create lists, view their home timeline, be mentioned by others, and have their profile looked up. The Twitter API provides methods to look up user profiles by ID or screen name, search for users, and get friends and follower IDs. The Twitter4J Java library implements these API methods and defines User and IDs classes to represent user data and lists of user IDs.
This webinar in the course of the LOD2 webinar series will present the release 2.0 of the LOD2 stack, which contains updates to the components Ontowiki, Silk
* the assisting sparql editor SPARQLED (DERI),
* the LOD enabled Open Refine (previously Google Refine) (ZEMANTA),
* the extended version of SILK with link suggestion management from LATC (DERI),
* the rdfAuthor library which allows to manage structured information from RDFa-enhanced websites (ULEI),
* the SPARQLPROXY which is a PHP based forward proxy for remote access to SPARQL end points (ULEI)
Release 2.0 contains also a first contributed debian package for a component which is maintained by a group outside the LOD2 consortium. With the help of ULEI a package for the STANBOL engine (http://stanbol.apache.org/) has been contributed.
If you are interested in Linked (Open) Data principles and mechanisms, LOD tools & services and concrete use cases that can be realised using LOD then join us in the free LOD2 webinar series!
http://lod2.eu/BlogPost/webinar-series
This webinar in the course of the LOD2 webinar series will present Zemanta and its LODRefine - a LOD-enabled version of OpenRefine (previously Google Refine), which is a part of the LOD2 stack. LODRefine extends cleansing and linking functionalities of OpenRefine by providing means to reconcile and augment your data with DBpedia or any other SPARQL endpoint, extract named entities using Zemanta API, export data in one of the RDF formats, and recently also to exploit available crowdsourcing services. In webinar we will demonstrate several task which demonstrate the ease of use and versatility of LODRefine.
If you are interested in Linked (Open) Data principles and mechanisms, LOD tools & services and concrete use cases that can be realised using LOD then join us in the free LOD2 webinar series: http://lod2.eu/BlogPost/webinar-series
Introduction to software that can be used to capture and analyse Twitter dataDr Wasim Ahmed
This document introduces several tools for retrieving and analyzing Twitter data without requiring programming knowledge, including TAGS, NodeXL, Mozdeh, COSMOS, and Chorus. It also discusses ethical and legal considerations for using Twitter data and provides an overview of the speaker's public engagement work.
Intro to Twitter & social media concepts for use in CME. Follow us at http://twitter.com/EinsteinMed. Related video interviews at end of presentation and at http://bit.ly/OW5wiT and http://bit.ly/TWuZXP
The Art of Social Media Analysis with Twitter & PythonKrishna Sankar
The document discusses analyzing social networks and Twitter data using Python. It provides an introduction to analyzing the Twitter network of the user @clouderati, including 2072 followers. The presentation will cover topics like mentions, hashtags, retweets, and constructing a social graph to analyze cliques and networks. It also provides some tips for working with Twitter APIs and building scalable social media analysis pipelines in Python.
Welcome to my series of articles on Unified Modeling Language. This is "Session 10 – Sequence Diagram" of the series. Please view my other documents where I have covered each UML diagram with examples
The document discusses sequence diagrams, which show the interaction between objects and classes through a sequence of messages. Sequence diagrams are useful during the design phase to help understand system design and object interactions. They can also be used to document how existing systems work by showing the sequence of messages exchanged between objects.
The document provides information on entity relationship diagrams (ERDs), including the objectives, components, and steps to create an ERD. It defines key ERD concepts like entities, attributes, relationships, and cardinality. It describes the entity modeling process and discusses how to recognize entities, attributes, relationships, and cardinalities in a database. It outlines the general steps to create an ERD, including identifying entities, finding relationships between entities, drawing a rough ERD, defining primary keys, identifying attributes, mapping attributes to entities, and drawing a fully attributed ERD. Sample ERDs are provided to illustrate concepts like cardinality constraints.
Advanced Web Design And Development BIT 3207Lori Head
This document provides an overview of the key concepts for the Advanced Web Design and Development course (BIT 3207). It lists recommended books and motivation for learning web design. It then covers network fundamentals including IP, IP addressing, transport layer protocols, TCP connections, HTTP protocol, URLs, status codes and methods. It also discusses client-side components like browsers, HTML, HTML5, XML and JavaScript. On the server-side it covers servers, web servers, CGI, JSP, ASP/PHP and databases. It concludes with an explanation of 3-tier architecture and the layers of presentation, application and data.
HTTP is the application layer protocol that powers the World Wide Web. It allows for the transfer of various data types like text, images, videos, and sounds between a client and server. HTTP uses TCP and IP to establish connections and transfer packets of data between devices. Requests use methods like GET and POST, and responses include status codes to indicate success or errors. While HTTP is stateless, cookies allow servers to track users across multiple requests.
Module 5 Application and presentation Layer .pptxAASTHAJAJOO
The document discusses the application and presentation layers of the OSI model. It provides details on:
- The application layer protocols like HTTP, FTP, email and how they use the transport layer protocols TCP and UDP.
- The traditional client-server and new peer-to-peer paradigms used at the application layer.
- How the HTTP protocol works for the world wide web including URL structure, static/dynamic web documents, browser and server functions.
- The key components and functioning of specific application layer protocols - FTP for file transfer and email for electronic mail exchange.
This document provides a summary of key concepts related to web application technologies. It discusses HTTP and HTTP requests/responses, including common headers. It also covers client-side technologies like HTML, CSS, JavaScript, and how they interact with the server via HTTP. On the server-side, it discusses programming languages and frameworks like Java, ASP.NET, PHP, and common databases. It also covers concepts like cookies, sessions, and different encoding schemes used to transmit data.
The document provides definitions and explanations of various web technologies and protocols including:
- Internet, World Wide Web, URLs, TCP/IP, HTTP, IP addresses, packets, and HTTP methods which define how information is transmitted over the internet and web.
- Additional protocols covered are SSL, HTTPS, HTML, and cookies which establish secure connections and handle user sessions and data transmission.
This document provides an overview of the World Wide Web (WWW) and the Hypertext Transfer Protocol (HTTP). It discusses the architecture of the WWW including web clients, servers, and documents. It describes the Uniform Resource Locator (URL) format and explains static, dynamic, and active web documents. The document then focuses on HTTP, describing request and response message formats, methods, status codes, headers, cookies, caching with proxy servers, and HTTP security with SSL.
REST Assured is a Java library .Which, provides a domain-specific language (DSL) for writing powerful, maintainable tests for Restful APIs.
Library behaves like a headless Client to access REST web services.
This document provides an overview of web servers and introduces Microsoft Internet Information Services (IIS) and the Apache web server. It discusses how HTTP transactions work when a client requests a document from a web server using a URL. The document also describes multitier application architecture with different tiers for the client, business logic/presentation logic, and data. It compares client-side scripting, which runs in the browser, versus server-side scripting, which runs on the web server. Finally, it discusses how to access local and remote web servers.
HTTP is the foundation of data communication for the World Wide Web. It is a protocol for transferring various forms of data between a client and server. HTTP works by establishing a TCP connection between a client and server, through which HTTP request and response messages are exchanged. These messages include request methods like GET and POST, as well as response status codes like 200 for success and 404 for not found. HTTP is a stateless protocol, but cookies and caching allow servers to identify users and reduce response times.
HTTP is the application-layer protocol for transmitting hypertext documents across the internet. It works by establishing a TCP connection between an HTTP client, like a web browser, and an HTTP server. The client sends a request to the server using methods like GET or POST. The server responds with a status code and the requested resource. HTTP is stateless, meaning each request is independent and servers do not remember past client interactions. Cookies and caching are techniques used to maintain some state and improve performance.
Covers topics like RestApi, Authentication, Authorization, Cacheability, Advantage of RestApi over SOAP and some basics regarding Open Data Protocol(OData).
The document provides an overview of the Web Client Model and HTTP requests and responses. It discusses:
1) The J2EE model and how servlets and JSPs are used.
2) HTML tags like forms, inputs, and selects that are used to collect data from users.
3) How HTTP is used to transfer data, including the different request methods like GET, POST, PUT, and how requests and responses are structured with a start line, headers, and body.
REST (Representational State Transfer) is an architectural style for providing standards between web services and systems. It uses HTTP methods like GET, POST, PUT, DELETE and standard URI for addressing resources. RESTful web services are stateless and typically return payload data in JSON or XML format. Security best practices for RESTful services include session authentication, validating requests, and not passing sensitive data in URLs.
The application layer is the topmost layer and closest to the end user. It establishes communication between applications and uses lower layers to transfer data. Some key protocols include HTTP, FTP, SMTP, and DNS. The application layer can use client-server or peer-to-peer architectures. Client-server centralizes resources on a server while peer-to-peer allows direct communication. Key protocols like HTTP and DNS were also summarized.
Introduce the Java Enterprise (J2EE) model
Present the Hypertext Markup Language (HTML) tags
Present the Hypertext Transmission Protocol (HTTP)
Define an HTTP client request, server response, and HTTP request methods
HTTP is the protocol that powers the web. It uses a request-response model where clients make requests that are met with responses from servers. Requests use methods like GET and POST and include URIs to identify resources. Responses include status codes like 200 for success and 404 for not found. HTTP is stateless but cookies can provide statefulness. HTTPS adds encryption with SSL/TLS to provide security for HTTP communications.
The document discusses several application layer protocols used in TCP/IP including HTTP, HTTPS, FTP, and Telnet. HTTP is used to access resources on the world wide web over port 80 and is stateless. HTTPS is a secure version of HTTP that encrypts communications over port 443. FTP is used to transfer files between hosts but sends data and passwords in clear text. Telnet allows users to access programs on remote computers.
This document provides an overview of outbound integrations from Salesforce, including configurable outbound messaging, Salesforce-to-Salesforce (S2S), calling external web services from Apex, and HTTP integrations. Outbound messaging allows sending data to external systems when records are created or updated in Salesforce. S2S enables sharing data between Salesforce orgs. Developers can generate Apex code to call external web services and integrate using HTTP requests directly.
The document provides guidelines and best practices for designing RESTful APIs, including:
- Using JSON over XML and making the API stateless and secure.
- Following conventions for HTTP verbs and status codes.
- Keeping data structures consistent and handling data with modern frameworks.
- Providing comprehensive documentation for data types, methods, and samples.
JSP 프로그래밍 #02 서블릿과 JSP 시작하기
2.1 톰캣 애플리케이션 만들기 (온라인 강의: https://youtu.be/04LIGWKCFjY)
2.2 간단한 서블릿 만들기 (온라인 강의: https://youtu.be/4ajw5EsxYE8)
2.3 간단한 JSP 만들기 (온라인 강의: https://youtu.be/6h-qH8pGdT8)
2.4 간단한 자바빈즈 만들기 (온라인 강의: https://youtu.be/TlgXkAWi1sc)
JSP 프로그래밍 #01 웹 프로그래밍
1.1 웹 (온라인 강의: https://youtu.be/qDZXXHhMr4A)
1.2 서블릿 (온라인 강의: https://youtu.be/a8hHeUhbz2k)
1.3 JSP(Java Server Page) (온라인 강의: https://youtu.be/Q4ezLP6KLwM)
1.4 프로그래밍을 위한 환경 설정 (온라인 강의: https://youtu.be/k2eR6gLULA8)
2018년 7월 5일에 있었던 한국인터넷거버넌스포럼(KrIGF)에서 발표한 "오픈 데이터와 인공지능" 발표자료입니다.
다음과 같은 내용을 담고 있습니다.
* 오픈데이터의 정의
* 오픈데이터의 중요성
* 인공지능
* 인공지능에서 데이터의 중요성
* 제한된 데이터 환경에서의 문제점
* 인공지능을 위한 오픈데이터의 중요성
* 더 나은 인공지능 시대를 위한 제언
2017년 4월에 진행된 도서관최신동향 과정에 있었던 발표자료입니다.
서지 분야에서의 Linked Data의 개념과 활용에 대한 내용을 담고 있습니다.
구체적으로는 아래와 같은 내용을 포함합니다.
- Linked Data란 무엇인가?
- 왜 도서관에서 Linked Data를 이야기하는가?
- Linked Data를 누가 쓰고 있나?
Deep learning is a branch of machine learning that uses neural networks with multiple processing layers to learn representations of data with multiple levels of abstraction. It has been applied to problems like image recognition, natural language processing, and game playing. Deep learning architectures like deep neural networks use techniques like pretraining, dropout, and early stopping to avoid overfitting. Popular deep learning frameworks and libraries include TensorFlow, Keras, and PyTorch.
This document discusses various use cases for linked data and semantic web technology, including linked data for cross-domain knowledge bases like DBpedia and Freebase, linked geographic data like GeoNames and LinkedGeoData, linked government data from data portals like Data.gov and data.gov.uk, linked media data from projects like MusicBrainz, BBC, and LinkedMDB, linked data for user generated content from projects like flickr wrappr and Revyu.com, and linked life science data. It provides an overview of the concepts of linked data, RDF, URIs and describes several popular linked open datasets.
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à GenèveUiPathCommunity
Nous vous convions à une nouvelle séance de la communauté UiPath en Suisse romande.
Cette séance sera consacrée à un retour d'expérience de la part d'une organisation non gouvernementale basée à Genève. L'équipe en charge de la plateforme UiPath pour cette NGO nous présentera la variété des automatisations mis en oeuvre au fil des années : de la gestion des donations au support des équipes sur les terrains d'opération.
Au délà des cas d'usage, cette session sera aussi l'opportunité de découvrir comment cette organisation a déployé UiPath Automation Suite et Document Understanding.
Cette session a été diffusée en direct le 7 mai 2025 à 13h00 (CET).
Découvrez toutes nos sessions passées et à venir de la communauté UiPath à l’adresse suivante : https://community.uipath.com/geneva/.
UiPath Agentic Automation: Community Developer OpportunitiesDianaGray10
Please join our UiPath Agentic: Community Developer session where we will review some of the opportunities that will be available this year for developers wanting to learn more about Agentic Automation.
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...Markus Eisele
We keep hearing that “integration” is old news, with modern architectures and platforms promising frictionless connectivity. So, is enterprise integration really dead? Not exactly! In this session, we’ll talk about how AI-infused applications and tool-calling agents are redefining the concept of integration, especially when combined with the power of Apache Camel.
We will discuss the the role of enterprise integration in an era where Large Language Models (LLMs) and agent-driven automation can interpret business needs, handle routing, and invoke Camel endpoints with minimal developer intervention. You will see how these AI-enabled systems help weave business data, applications, and services together giving us flexibility and freeing us from hardcoding boilerplate of integration flows.
You’ll walk away with:
An updated perspective on the future of “integration” in a world driven by AI, LLMs, and intelligent agents.
Real-world examples of how tool-calling functionality can transform Camel routes into dynamic, adaptive workflows.
Code examples how to merge AI capabilities with Apache Camel to deliver flexible, event-driven architectures at scale.
Roadmap strategies for integrating LLM-powered agents into your enterprise, orchestrating services that previously demanded complex, rigid solutions.
Join us to see why rumours of integration’s relevancy have been greatly exaggerated—and see first hand how Camel, powered by AI, is quietly reinventing how we connect the enterprise.
Canadian book publishing: Insights from the latest salary survey - Tech Forum...BookNet Canada
Join us for a presentation in partnership with the Association of Canadian Publishers (ACP) as they share results from the recently conducted Canadian Book Publishing Industry Salary Survey. This comprehensive survey provides key insights into average salaries across departments, roles, and demographic metrics. Members of ACP’s Diversity and Inclusion Committee will join us to unpack what the findings mean in the context of justice, equity, diversity, and inclusion in the industry.
Results of the 2024 Canadian Book Publishing Industry Salary Survey: https://publishers.ca/wp-content/uploads/2025/04/ACP_Salary_Survey_FINAL-2.pdf
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/canadian-book-publishing-insights-from-the-latest-salary-survey/
Presented by BookNet Canada and the Association of Canadian Publishers on May 1, 2025 with support from the Department of Canadian Heritage.
Original presentation of Delhi Community Meetup with the following topics
▶️ Session 1: Introduction to UiPath Agents
- What are Agents in UiPath?
- Components of Agents
- Overview of the UiPath Agent Builder.
- Common use cases for Agentic automation.
▶️ Session 2: Building Your First UiPath Agent
- A quick walkthrough of Agent Builder, Agentic Orchestration, - - AI Trust Layer, Context Grounding
- Step-by-step demonstration of building your first Agent
▶️ Session 3: Healing Agents - Deep dive
- What are Healing Agents?
- How Healing Agents can improve automation stability by automatically detecting and fixing runtime issues
- How Healing Agents help reduce downtime, prevent failures, and ensure continuous execution of workflows
Shoehorning dependency injection into a FP language, what does it take?Eric Torreborre
This talks shows why dependency injection is important and how to support it in a functional programming language like Unison where the only abstraction available is its effect system.
Everything You Need to Know About Agentforce? (Put AI Agents to Work)Cyntexa
At Dreamforce this year, Agentforce stole the spotlight—over 10,000 AI agents were spun up in just three days. But what exactly is Agentforce, and how can your business harness its power? In this on‑demand webinar, Shrey and Vishwajeet Srivastava pull back the curtain on Salesforce’s newest AI agent platform, showing you step‑by‑step how to design, deploy, and manage intelligent agents that automate complex workflows across sales, service, HR, and more.
Gone are the days of one‑size‑fits‑all chatbots. Agentforce gives you a no‑code Agent Builder, a robust Atlas reasoning engine, and an enterprise‑grade trust layer—so you can create AI assistants customized to your unique processes in minutes, not months. Whether you need an agent to triage support tickets, generate quotes, or orchestrate multi‑step approvals, this session arms you with the best practices and insider tips to get started fast.
What You’ll Learn
Agentforce Fundamentals
Agent Builder: Drag‑and‑drop canvas for designing agent conversations and actions.
Atlas Reasoning: How the AI brain ingests data, makes decisions, and calls external systems.
Trust Layer: Security, compliance, and audit trails built into every agent.
Agentforce vs. Copilot
Understand the differences: Copilot as an assistant embedded in apps; Agentforce as fully autonomous, customizable agents.
When to choose Agentforce for end‑to‑end process automation.
Industry Use Cases
Sales Ops: Auto‑generate proposals, update CRM records, and notify reps in real time.
Customer Service: Intelligent ticket routing, SLA monitoring, and automated resolution suggestions.
HR & IT: Employee onboarding bots, policy lookup agents, and automated ticket escalations.
Key Features & Capabilities
Pre‑built templates vs. custom agent workflows
Multi‑modal inputs: text, voice, and structured forms
Analytics dashboard for monitoring agent performance and ROI
Myth‑Busting
“AI agents require coding expertise”—debunked with live no‑code demos.
“Security risks are too high”—see how the Trust Layer enforces data governance.
Live Demo
Watch Shrey and Vishwajeet build an Agentforce bot that handles low‑stock alerts: it monitors inventory, creates purchase orders, and notifies procurement—all inside Salesforce.
Peek at upcoming Agentforce features and roadmap highlights.
Missed the live event? Stream the recording now or download the deck to access hands‑on tutorials, configuration checklists, and deployment templates.
🔗 Watch & Download: https://www.youtube.com/live/0HiEmUKT0wY
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?Lorenzo Miniero
Slides for my "RTP Over QUIC: An Interesting Opportunity Or Wasted Time?" presentation at the Kamailio World 2025 event.
They describe my efforts studying and prototyping QUIC and RTP Over QUIC (RoQ) in a new library called imquic, and some observations on what RoQ could be used for in the future, if anything.
fennec fox optimization algorithm for optimal solutionshallal2
Imagine you have a group of fennec foxes searching for the best spot to find food (the optimal solution to a problem). Each fox represents a possible solution and carries a unique "strategy" (set of parameters) to find food. These strategies are organized in a table (matrix X), where each row is a fox, and each column is a parameter they adjust, like digging depth or speed.
The FS Technology Summit
Technology increasingly permeates every facet of the financial services sector, from personal banking to institutional investment to payments.
The conference will explore the transformative impact of technology on the modern FS enterprise, examining how it can be applied to drive practical business improvement and frontline customer impact.
The programme will contextualise the most prominent trends that are shaping the industry, from technical advancements in Cloud, AI, Blockchain and Payments, to the regulatory impact of Consumer Duty, SDR, DORA & NIS2.
The Summit will bring together senior leaders from across the sector, and is geared for shared learning, collaboration and high-level networking. The FS Technology Summit will be held as a sister event to our 12th annual Fintech Summit.
Webinar - Top 5 Backup Mistakes MSPs and Businesses Make .pptxMSP360
Data loss can be devastating — especially when you discover it while trying to recover. All too often, it happens due to mistakes in your backup strategy. Whether you work for an MSP or within an organization, your company is susceptible to common backup mistakes that leave data vulnerable, productivity in question, and compliance at risk.
Join 4-time Microsoft MVP Nick Cavalancia as he breaks down the top five backup mistakes businesses and MSPs make—and, more importantly, explains how to prevent them.
On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...Ivano Malavolta
Slides of the presentation by Vincenzo Stoico at the main track of the 4th International Conference on AI Engineering (CAIN 2025).
The paper is available here: http://www.ivanomalavolta.com/files/papers/CAIN_2025.pdf
GyrusAI - Broadcasting & Streaming Applications Driven by AI and MLGyrus AI
Gyrus AI: AI/ML for Broadcasting & Streaming
Gyrus is a Vision Al company developing Neural Network Accelerators and ready to deploy AI/ML Models for Video Processing and Video Analytics.
Our Solutions:
Intelligent Media Search
Semantic & contextual search for faster, smarter content discovery.
In-Scene Ad Placement
AI-powered ad insertion to maximize monetization and user experience.
Video Anonymization
Automatically masks sensitive content to ensure privacy compliance.
Vision Analytics
Real-time object detection and engagement tracking.
Why Gyrus AI?
We help media companies streamline operations, enhance media discovery, and stay competitive in the rapidly evolving broadcasting & streaming landscape.
🚀 Ready to Transform Your Media Workflow?
🔗 Visit Us: https://gyrus.ai/
📅 Book a Demo: https://gyrus.ai/contact
📝 Read More: https://gyrus.ai/blog/
🔗 Follow Us:
LinkedIn - https://www.linkedin.com/company/gyrusai/
Twitter/X - https://twitter.com/GyrusAI
YouTube - https://www.youtube.com/channel/UCk2GzLj6xp0A6Wqix1GWSkw
Facebook - https://www.facebook.com/GyrusAI
Viam product demo_ Deploying and scaling AI with hardware.pdfcamilalamoratta
Building AI-powered products that interact with the physical world often means navigating complex integration challenges, especially on resource-constrained devices.
You'll learn:
- How Viam's platform bridges the gap between AI, data, and physical devices
- A step-by-step walkthrough of computer vision running at the edge
- Practical approaches to common integration hurdles
- How teams are scaling hardware + software solutions together
Whether you're a developer, engineering manager, or product builder, this demo will show you a faster path to creating intelligent machines and systems.
Resources:
- Documentation: https://on.viam.com/docs
- Community: https://discord.com/invite/viam
- Hands-on: https://on.viam.com/codelabs
- Future Events: https://on.viam.com/updates-upcoming-events
- Request personalized demo: https://on.viam.com/request-demo
DevOpsDays SLC - Platform Engineers are Product Managers.pptxJustin Reock
Platform Engineers are Product Managers: 10x Your Developer Experience
Discover how adopting this mindset can transform your platform engineering efforts into a high-impact, developer-centric initiative that empowers your teams and drives organizational success.
Platform engineering has emerged as a critical function that serves as the backbone for engineering teams, providing the tools and capabilities necessary to accelerate delivery. But to truly maximize their impact, platform engineers should embrace a product management mindset. When thinking like product managers, platform engineers better understand their internal customers' needs, prioritize features, and deliver a seamless developer experience that can 10x an engineering team’s productivity.
In this session, Justin Reock, Deputy CTO at DX (getdx.com), will demonstrate that platform engineers are, in fact, product managers for their internal developer customers. By treating the platform as an internally delivered product, and holding it to the same standard and rollout as any product, teams significantly accelerate the successful adoption of developer experience and platform engineering initiatives.
In an era where ships are floating data centers and cybercriminals sail the digital seas, the maritime industry faces unprecedented cyber risks. This presentation, delivered by Mike Mingos during the launch ceremony of Optima Cyber, brings clarity to the evolving threat landscape in shipping — and presents a simple, powerful message: cybersecurity is not optional, it’s strategic.
Optima Cyber is a joint venture between:
• Optima Shipping Services, led by shipowner Dimitris Koukas,
• The Crime Lab, founded by former cybercrime head Manolis Sfakianakis,
• Panagiotis Pierros, security consultant and expert,
• and Tictac Cyber Security, led by Mike Mingos, providing the technical backbone and operational execution.
The event was honored by the presence of Greece’s Minister of Development, Mr. Takis Theodorikakos, signaling the importance of cybersecurity in national maritime competitiveness.
🎯 Key topics covered in the talk:
• Why cyberattacks are now the #1 non-physical threat to maritime operations
• How ransomware and downtime are costing the shipping industry millions
• The 3 essential pillars of maritime protection: Backup, Monitoring (EDR), and Compliance
• The role of managed services in ensuring 24/7 vigilance and recovery
• A real-world promise: “With us, the worst that can happen… is a one-hour delay”
Using a storytelling style inspired by Steve Jobs, the presentation avoids technical jargon and instead focuses on risk, continuity, and the peace of mind every shipping company deserves.
🌊 Whether you’re a shipowner, CIO, fleet operator, or maritime stakeholder, this talk will leave you with:
• A clear understanding of the stakes
• A simple roadmap to protect your fleet
• And a partner who understands your business
📌 Visit:
https://optima-cyber.com
https://tictac.gr
https://mikemingos.gr
Bepents tech services - a premier cybersecurity consulting firmBenard76
Introduction
Bepents Tech Services is a premier cybersecurity consulting firm dedicated to protecting digital infrastructure, data, and business continuity. We partner with organizations of all sizes to defend against today’s evolving cyber threats through expert testing, strategic advisory, and managed services.
🔎 Why You Need us
Cyberattacks are no longer a question of “if”—they are a question of “when.” Businesses of all sizes are under constant threat from ransomware, data breaches, phishing attacks, insider threats, and targeted exploits. While most companies focus on growth and operations, security is often overlooked—until it’s too late.
At Bepents Tech, we bridge that gap by being your trusted cybersecurity partner.
🚨 Real-World Threats. Real-Time Defense.
Sophisticated Attackers: Hackers now use advanced tools and techniques to evade detection. Off-the-shelf antivirus isn’t enough.
Human Error: Over 90% of breaches involve employee mistakes. We help build a "human firewall" through training and simulations.
Exposed APIs & Apps: Modern businesses rely heavily on web and mobile apps. We find hidden vulnerabilities before attackers do.
Cloud Misconfigurations: Cloud platforms like AWS and Azure are powerful but complex—and one misstep can expose your entire infrastructure.
💡 What Sets Us Apart
Hands-On Experts: Our team includes certified ethical hackers (OSCP, CEH), cloud architects, red teamers, and security engineers with real-world breach response experience.
Custom, Not Cookie-Cutter: We don’t offer generic solutions. Every engagement is tailored to your environment, risk profile, and industry.
End-to-End Support: From proactive testing to incident response, we support your full cybersecurity lifecycle.
Business-Aligned Security: We help you balance protection with performance—so security becomes a business enabler, not a roadblock.
📊 Risk is Expensive. Prevention is Profitable.
A single data breach costs businesses an average of $4.45 million (IBM, 2023).
Regulatory fines, loss of trust, downtime, and legal exposure can cripple your reputation.
Investing in cybersecurity isn’t just a technical decision—it’s a business strategy.
🔐 When You Choose Bepents Tech, You Get:
Peace of Mind – We monitor, detect, and respond before damage occurs.
Resilience – Your systems, apps, cloud, and team will be ready to withstand real attacks.
Confidence – You’ll meet compliance mandates and pass audits without stress.
Expert Guidance – Our team becomes an extension of yours, keeping you ahead of the threat curve.
Security isn’t a product. It’s a partnership.
Let Bepents tech be your shield in a world full of cyber threats.
🌍 Our Clientele
At Bepents Tech Services, we’ve earned the trust of organizations across industries by delivering high-impact cybersecurity, performance engineering, and strategic consulting. From regulatory bodies to tech startups, law firms, and global consultancies, we tailor our solutions to each client's unique needs.
Config 2025 presentation recap covering both daysTrishAntoni1
Config 2025 What Made Config 2025 Special
Overflowing energy and creativity
Clear themes: accessibility, emotion, AI collaboration
A mix of tech innovation and raw human storytelling
(Background: a photo of the conference crowd or stage)
Config 2025 presentation recap covering both daysTrishAntoni1
Development of Twitter Application #8 - Streaming API
1. Linked Data &
Semantic Web
Technology
Development of
Twitter Applications
Part 8. Streaming API
Dr. Myungjin Lee
2. Linked Data & Semantic Web Technology
Streaming API
• Overview
– low latency access to Twitter's global stream of Tweet
data
– A proper implementation of a streaming client will be
pushed messages indicating Tweets and other events
have occurred.
• Streaming Endpoints
2
Public streams
Streams of the public data flowing through Twitter.
Suitable for following specific users or topics, and data
mining.
User streams
Single-user streams, containing roughly all of the data
corresponding with a single user's view of Twitter.
Site streams
The multi-user version of user streams. Site streams are
intended for servers which must connect to Twitter on
behalf of many users.
3. Linked Data & Semantic Web Technology
Differences between Streaming and REST
• REST API
• Streaming API
3
4. Linked Data & Semantic Web Technology
Connecting to a Streaming Endpoint
• Authentication
• Connecting
– form a HTTP request and consume the resulting
stream
– holding the connection open indefinitely, barring
server-side error, excessive client-side lag, network
hiccups, routine server maintenance or duplicate
logins
• Disconnections
– too many connections with the same credentials
– to stop reading data
– reading data too slowly
– a streaming server is restarted
– twitter’s network configuration changes
4
Auth Type Supported APIs Description
Basic Public Streams
Requests include the credentials of a
valid Twitter account.
OAuth
Public Streams
User Streams
Site Streams
Requests must be authorized according to
the OAuth specification.
5. Linked Data & Semantic Web Technology
Connecting to a Streaming Endpoint
• Stalls
– If 90 seconds pass with no data received, including
newlines, disconnect and reconnect immediately.
– The Streaming API will send a keep-alive newline
every 30 seconds to prevent your application from
timing out the connection.
• Reconnecting
– reconnecting attempts according to the type of error
experienced
• TCP/IP level network errors
– reconnect by 250ms each attempt, up to 16 seconds
• HTTP errors
– start with a 5 second wait, doubling each attempt, up to
320 seconds
• HTTP 420 errors
– start with a 1 minute wait and double each attempt
5
6. Linked Data & Semantic Web Technology
Connecting to a Streaming Endpoint
• Connection Churn
– churn: repeatedly opening and closing a connection
– keep your connections as stable and long-lived as
possible
• Rate Limiting
– Client which do not implement backoff and attempt to
reconnect as often as possible will have their
connections rate limited for a small number of
minutes.
– Rate limited clients will receive HTTP 420 responses
for all connection requests.
– If your client is rate limited frequently, it is possible
that your IP will be blocked from accessing Twitter for
an indeterminate period of time.
6
7. Linked Data & Semantic Web Technology
Connecting to a Streaming Endpoint
• HTTP Error Codes
7
Status Text Description
200 Success Self evident.
401 Unauthorized
HTTP authentication failed due to either:
•Invalid basic auth credentials, or an invalid OAuth request.
•Out-of-sync timestamp in your OAuth request (the response body will indicate
this).
•Too many incorrect passwords entered or other login rate limiting.
403 Forbidden The connecting account is not permitted to access this endpoint.
404 Unknown There is nothing at this URL, which means the resource does not exist.
406
Not
Acceptable
At least one request parameter is invalid. For example, the filter endpoint returns
this status if:
•The track keyword is too long or too short.
•An invalid bounding box is specified.
•Neither the track nor follow parameter are specified.
•The follow user ID is not valid.
413 Too Long
A parameter list is too long. For example, the filter endpoint returns this status if:
•More track values are sent than the user is allowed to use.
•More bounding boxes are sent than the user is allowed to use.
•More follow user IDs are sent than the user is allowed to follow.
416
Range
Unacceptable
For example, an endpoint returns this status if:
•A count parameter is specified but the user does not have access to use the count
parameter.
•A count parameter is specified which is outside of the maximum/minimum
allowable values.
420 Rate Limited
The client has connected too frequently. For example, an endpoint returns this status
if:
•A client makes too many login attempts in a short period of time.
•Too many copies of an application attempt to authenticate with the same
credentials.
503
Service
Unavailable
A streaming server is temporarily overloaded. Attempt to make another connection,
keeping in mind the connection attempt rate limiting and possible DNS caching in
your client.
8. Linked Data & Semantic Web Technology
Streaming API Request Parameters
• delimited
– be used on all streaming endpoints
– delimited=length
• statuses should be delimited in the stream by a length,
in bytes, a newline, and the status text
8
9. Linked Data & Semantic Web Technology
Streaming API Request Parameters
• stall_warnings
– be used on all streaming endpoints
– stall_warnings=true
• periodic messages to be delivered every 5 minutes if the
client is in danger of being disconnected
• filter_level
– be used on all streaming endpoints
– to set the minimum value of the Tweet attribute
required to be included in the stream
– one of none, low, and medium
– the default value is none.
• language
– be used on all streaming endpoints
– to return Tweets that have been detected as being
written in the specified languages
9
10. Linked Data & Semantic Web Technology
Streaming API Request Parameters
• follow
– available on POST statuses/filter
– a comma-separated list of user IDs
– to indicate the users whose Tweets should be
delivered on the stream
– the stream contain:
• Tweets created by the user.
• Tweets which are retweeted by the user.
• Replies to any Tweet created by the user.
• Retweets of any Tweet created by the user.
• Manual replies, created without pressing a reply button
(e.g. “@twitterapi I agree”).
– the stream does not contain:
• Tweets mentioning the user (e.g. “Hello @twitterapi!”).
• Manual Retweets created without pressing a Retweet
button (e.g. “RT @twitterapi The API is great”).
• Tweets by protected users.
10
11. Linked Data & Semantic Web Technology
Streaming API Request Parameters
• track
– available on POST statuses/filter
– what Tweets will be delivered on the stream
• a comma-separated list of phrases that may be one or more terms
separated by spaces
• a phrase will match if all of the terms in the phrase are present in
the Tweet, regardless of order and ignoring case
• commas as logical ORs and white spaces as logical ANDs
• each phrase must be between 1 and 60 bytes
• exact matching of phrases is not supported
• punctuation and special characters will be considered part of the
term they are adjacent to
– to check the text attribute of the Tweet, expanded_url and
display_url for links and media, text for hashtags, and
screen_name for user mentions
11
12. Linked Data & Semantic Web Technology
Streaming API Request Parameters
• locations
– available on POST statuses/filter
– to specify a set of bounding boxes to filter Tweets
– a comma-separated list of longitude, latitude pairs
– conditions
• •If the coordinates field is populated, the values there will
be tested against the bounding box.
• •If coordinates is empty but place is populated, the region
defined in place is checked .
• If none of the rules listed above match, the Tweet does not
match the location query.
• count
– to attempt to backfill missed messages which occurred
during the disconnect periot
– an integer from 1 to 150000 or from -1 to -150000
– use of this parameter should be carefully considered, as
high values increase the chance of a subsequent
disconnect
12
13. Linked Data & Semantic Web Technology
Streaming API Request Parameters
• with
– available on GET users and GET site
– to controls the types of messages delivered to User
and Site Streams clients
– the default is with=user
– The value with=followings adds messages from
accounts the user follows, equivalent to the user's
home timeline.
• replies
– available on GET users and GET site
– replies=all
• to have mimics of all Tweets returned in a streaming
connection
13
14. Linked Data & Semantic Web Technology
Processing Streaming Data
• Parsing responses
– The body of a streaming API response consists of a
series of newline-delimited messages.
• "newline" is considered to be rn (in hex, 0x0D 0x0A)
• "message" is a JSON encoded data structure or a blank
line
• JSON data
– The individual messages streamed by this API are
JSON encoded.
– the attributes of a JSON-encoded object are unordered
• Missing counts
– In very rare cases, the Streaming API may elect to
deliver an incomplete Tweet field.
14
15. Linked Data & Semantic Web Technology
Processing Streaming Data
• Transfer-Encoding: chunked
– Most streaming connections will be encoded using
chunked transfer encoding, as a Transfer-
Encoding: chunked HTTP header in the
response.
• Delimited messages
– Each message will be preceded by a string
representation of a base-10 integer indicating the
length of the message in bytes.
• Falling behind
– A way to track whether your client is falling behind is
to compare the timestamp of the Tweets you receive
with the current time.
– If the difference between the timestamps increases
over time, then the client is not processing Tweets as
fast as they are being delivered.
15
16. Linked Data & Semantic Web Technology
Processing Streaming Data
• Message ordering
– Messages from the Streaming API are not delivered in
sorted order.
– Delete messages may be delivered before the original
Tweet so implementations should be able to replay a
local cache of unrecognized deletes.
• Duplicate messages
– Duplicate messages may be delivered so
implementations should be tolerant of receiving a
Tweet more than once.
• Gzip compression
– Gzip compression may reduce the bandwidth needed
to process a stream to as small as 1/5th the size of an
uncompressed stream.
16
17. Linked Data & Semantic Web Technology
Public Streams
• Overview
– samples of the public data flowing through Twitter
• Endpoints
– GET statuses/sample
– GET statuses/firehose
– POST statuses/filter
• Using the streaming APIs
– connect to the endpoinsts
– process data returned by the streaming APIs
– There are some streaming messages which are not
returned by the REST APIs. See streaming message
types for information.
• Connections
– each account may create only one standing connection
to the public endpoints
– connecting to a public stream more than once with the
same account credentials will cause the oldest
connection to be disconnected
17
18. Linked Data & Semantic Web Technology
Public Stream Messages Types
• Blank lines
– some messages may be blank lines which serve as
"keep-alive" signals to prevent clients have stalled and
closing the connection.
• Status deletion notices (delete)
– These messages indicate that a given Tweet has been
deleted.
• Location deletion notices (scrub_geo)
– to indicate that geolocated data must be stripped from
a range of Tweets
18
19. Linked Data & Semantic Web Technology
Public Stream Messages Types
• Limit notices (limit)
– to indicate that a filtered stream has matched more
Tweets than its current rate limit allows to be
delivered
– Limit notices contain a total count of the number of
undelivered Tweets.
• Stall warnings (warning)
– When connected to a stream using the stall_warnings
parameter, you may receive status notices indicating
the current health of the connection.
19
20. Linked Data & Semantic Web Technology
Public Stream Messages Types
• Disconnect messages (disconnect)
– to deliver a message indicating why a stream was
closed
– status codes
20
Code Name Description
1 Shutdown The feed was shutdown (possibly a machine restart)
2
Duplicate
stream
The same endpoint was connected too many times.
3 Control request Control streams was used to close a stream (applies to sitestreams).
4 Stall The client was reading too slowly and was disconnected by the server.
5 Normal The client appeared to have initiated a disconnect.
6 Token revoked An oauth token was revoked for a user (applies to site and userstreams).
7 Admin logout
The same credentials were used to connect a new stream and the oldest was
disconnected.
8 Reserved for internal use. Will not be delivered to external clients.
9
Max message
limit
The stream connected with a negative count parameter and was disconnected
after all backfill was delivered.
10
Stream
exception
An internal issue disconnected the stream.
11 Broker stall An internal issue disconnected the stream.
12 Shed load
The host the stream was connected to became overloaded and streams were
disconnected to balance load. Reconnect as usual.
21. Linked Data & Semantic Web Technology
GET statuses/sample
• sample Streaming API
– Returns a small random sample of all public statuses.
The Tweets returned by the default access level are the
same, so if two different clients connect to this
endpoint, they will see the same Tweets.
• Resource URL
– https://stream.twitter.com/1.1/statuses/sample.json
• Parameters
• Other Information
– Rate Limited? Yes
– Authentication: Requires user context
– Response Object: Tweets
21
delimited
optional
Specifies whether messages should be length-delimited.
stall_warnings
optional
Specifies whether stall warnings should be delivered.
22. Linked Data & Semantic Web Technology
Twitter4J Classes for sample Streaming
• TwitterStreamFactory Class
– A factory class for TwitterFactory.
– An instance of this class is completely thread safe and
can be re-used and used concurrently.
– Methods
• TwitterStream getInstance()
– Returns a instance associated with the configuration
bound to this factory.
• TwitterStream getInstance(AccessToken accessToken)
– Returns a OAuth Authenticated instance.
– consumer key and consumer Secret must be provided by
twitter4j.properties, or system properties.
• TwitterStream Interface
– Methods
• void addListener(StatusListener listener)
• void sample()
– Starts listening on random sample of all public statuses.
• void shutdown()
– Shuts down internal dispatcher thread shared by all
TwitterStream instances.
22
23. Linked Data & Semantic Web Technology
Twitter4J Classes for sample Streaming
• StatusListener Interface
– Methods
• void onDeletionNotice(StatusDeletionNotice statusDeletionNotice)
– Called upon deletionNotice notices.
• void onScrubGeo(long userId, long upToStatusId)
– Called upon location deletion messages.
• void onStallWarning(StallWarning warning)
– Called when receiving stall warnings.
• void onStatus(Status status)
• void onTrackLimitationNotice(int numberOfLimitedStatuses)
– This notice will be sent each time a limited stream becomes
unlimited.
23
24. Linked Data & Semantic Web Technology
Example of sample Streaming API
1. import twitter4j.StallWarning;
2. import twitter4j.Status;
3. import twitter4j.StatusDeletionNotice;
4. import twitter4j.StatusListener;
5. public class StatusListenerImpl implements StatusListener {
6. @Override
7. public void onStatus(Status status) {
8. System.out.println("@" + status.getUser().getScreenName() + " - "
9. + status.getText());
10. }
11. @Override
12. public void onDeletionNotice(StatusDeletionNotice statusDeletionNotice) {
13. System.out.println("Got a status deletion notice id:"
14. + statusDeletionNotice.getStatusId());
15. }
16. @Override
17. public void onTrackLimitationNotice(int numberOfLimitedStatuses) {
18. System.out.println("Got track limitation notice:"
19. + numberOfLimitedStatuses);
20. }
21. @Override
22. public void onScrubGeo(long userId, long upToStatusId) {
23. System.out.println("Got scrub_geo event userId:" + userId
24. + " upToStatusId:" + upToStatusId);
25. }
26. @Override
27. public void onStallWarning(StallWarning warning) {
28. System.out.println("Got stall warning:" + warning);
29. }
30. @Override
31. public void onException(Exception ex) {
32. ex.printStackTrace();
33. }
34. }
24
25. Linked Data & Semantic Web Technology
Example of sample Streaming API
1. import twitter4j.*;
2. public class PrintSampleStream {
3. public static void main(String[] args) throws TwitterException {
4. TwitterStream twitterStream = new TwitterStreamFactory().getInstance();
5. twitterStream.setOAuthConsumer(TwitterAccessToken.consumerKey,
6. TwitterAccessToken.consumerSecret);
7. twitterStream.setOAuthAccessToken(TwitterAccessToken.loadAccessToken());
8. StatusListenerImpl listener = new StatusListenerImpl();
9. twitterStream.addListener(listener);
10. twitterStream.sample();
11. }
12. }
25
26. Linked Data & Semantic Web Technology
GET statuses/firehose
• firehose Streaming API
– This endpoint requires special permission to access.
– Returns all public statuses.
– Few applications require this level of access.
– Creative use of a combination of other resources and
various access levels can satisfy nearly every
application use case.
• Resource URL
– https://stream.twitter.com/1.1/statuses/firehose.json
• Parameters
• Other Information
– Rate Limited? Yes
– Authentication: Requires user context
– Response Object: Tweets
26
count
optional
The number of messages to backfill.
delimited
optional
Specifies whether messages should be length-delimited.
stall_warnings
optional
Specifies whether stall warnings should be delivered.
27. Linked Data & Semantic Web Technology
Twitter4J Classes for firehose Streaming
• Twitter4J Classes for firehose Streaming
– TwitterStream Interface
• Methods
– void firehose(int count)
» Starts listening on all public statuses.
• Example of firehose Streaming API
1. import twitter4j.*;
2. public class PrintFirehoseStream {
3. public static void main(String[] args) throws TwitterException {
4. TwitterStream twitterStream = new TwitterStreamFactory().getInstance();
5. twitterStream.setOAuthConsumer(TwitterAccessToken.consumerKey,
6. TwitterAccessToken.consumerSecret);
7. twitterStream.setOAuthAccessToken(TwitterAccessToken.loadAccessToken());
8. StatusListenerImpl listener = new StatusListenerImpl();
9. twitterStream.addListener(listener);
10. twitterStream.firehose(0);
11. }
12. }
27
28. Linked Data & Semantic Web Technology
POST statuses/filter
• filter Streaming API
– Returns public statuses that match one or more filter
predicates.
– Both GET and POST requests are supported, but GET
requests with too many parameters may cause the request
to be rejected for excessive URL length.
• Resource URL
– https://stream.twitter.com/1.1/statuses/filter.json
• Parameters
• Other Information
– Rate Limited? Yes
– Authentication: Requires user context
– Response Object: Tweets
28
follow
A comma separated list of user IDs, indicating the users to return statuses for in the
stream.
track Keywords to track. Phrases of keywords are specified by a comma-separated list.
locations Specifies a set of bounding boxes to track.
delimited
optional
Specifies whether messages should be length-delimited.
stall_warnings
optional
Specifies whether stall warnings should be delivered.
29. Linked Data & Semantic Web Technology
Twitter4J Classes for filter Streaming
• TwitterStream Interface
– Methods
• void filter(FilterQuery query)
– Start consuming public statuses that match one or more
filter predicates.
• FilterQuery Class
– Methods
• FilterQuery count(int count)
– Sets count
• FilterQuery follow(long[] follow)
– Sets follow
• FilterQuery locations(double[][] locations)
– Sets locations
• FilterQuery track(java.lang.String[] track)
– Sets track
29
30. Linked Data & Semantic Web Technology
Example of filter Streaming API
1. import twitter4j.*;
2. public final class PrintFilterStream {
3. public static void main(String[] args) throws TwitterException {
4. StatusListenerImpl listener = new StatusListenerImpl();
5. TwitterStream twitterStream = new TwitterStreamFactory().getInstance();
6. twitterStream.setOAuthConsumer(TwitterAccessToken.consumerKey,
7. TwitterAccessToken.consumerSecret);
8. twitterStream.setOAuthAccessToken(TwitterAccessToken.loadAccessToken());
9. twitterStream.addListener(listener);
10. FilterQuery fq = new FilterQuery();
11. // long[] follow = { 22931893, 16227629, 464020027, 299014098, 40203602,
12. // 121858259, 631481692, 173523502, 64972381, 357617589, 77689885 };
13. // fq.follow(follow);
14. // String[] track = { "psy", "#psy", "@psy_oppa", "gentleman",
15. // "#gentleman", "@ygent_official" };
16. // fq.track(track);
17. // double[][] locations = { { -74, 40 }, { -73, 41 } }; // New York City
18. // fq.locations(locations);
19. twitterStream.filter(fq);
20. }
21. }
30
31. Linked Data & Semantic Web Technology
User Streams
• Overview
– a stream of data and events specific to the
authenticated user
• Endpoint
– GET user
• Connections
– limited to only a few simultaneous User Streams
connections per OAuth application, regardless of IP
– to handle the HTTP 420 error code that indicates that
the account has been logging in to often
• User streams messages
– Types of messages
• some streaming messages which are not returned by the
REST APIs
31
32. Linked Data & Semantic Web Technology
User Stream Messages Types
• Friends lists (Friends)
– a preamble which is a list of the user’s friends before
starting regular message delivery
• Too many follows (warning)
– warning message when your application connects on
behalf of a user who follows more than 10,000
accounts
32
33. Linked Data & Semantic Web Technology
User Stream Messages Types
• Events (event)
– notifications about non-Tweet events
33
Description Event Name Source Target
Target
Object
User blocks someone block Current user Blocked user Null
User removes a block unblock Current user
Unblocked
user
Null
User favorites a Tweet favorite Current user Tweet author Tweet
User's Tweet is favorited favorite Favoriting user Current user Tweet
User unfavorites a Tweet unfavorite Current user Tweet author Tweet
User's Tweet is unfavorited unfavorite
Unfavoriting
user
Current user Tweet
User follows someone follow Current user Followed user Null
User is followed follow Following user Current user Null
User unfollows someone unfollow Current user Followed user Null
User creates a list list_created Current user Current user List
User deletes a list list_destroyed Current user Current user List
User edits a list list_updated Current user Current user List
User adds someone to a list list_member_added Current user Added user List
User is added to a list list_member_added Adding user Current user List
User removes someone
from a list
list_member_removed Current user Removed user List
User is removed from a list list_member_removed Removing user Current user List
User subscribes to a list list_user_subscribed Current user List owner List
User's list is subscribed to list_user_subscribed
Subscribing
user
Current user List
User unsubscribes from a
list
list_user_unsubscribed Current user List owner List
User's list is unsubscribed
from
list_user_unsubscribed
Unsubscribing
user
Current user List
User updates their profile user_update Current user Current user Null
34. Linked Data & Semantic Web Technology
GET user
• user Streaming API
– streams messages for a single user, as described in
User streams
• Resource URL
– https://userstream.twitter.com/1.1/user.json
• Parameters
• Other Information
– Rate Limited? Yes
– Authentication: Requires user context
34
delimited
optional
Specifies whether messages should be length-delimited.
stall_warnings
optional
Specifies whether stall warnings should be delivered.
with
optional
Specifies whether to return information for just the authenticating user, or include
messages from accounts the user follows.
replies
optional
Specifies whether to return additional @replies.
track
optional
Includes additional Tweets matching the specified keywords. Phrases of keywords
are specified by a comma-separated list.
locations
optional
Includes additional Tweets falling within the specified bounding boxes.
35. Linked Data & Semantic Web Technology
Twitter4J Classes for user Streaming
• TwitterStream Interface
– Methods
• void user()
– User Streams provides real-time updates of all data needed to update a
desktop application display.
• void user(java.lang.String[] track)
– User Streams provides real-time updates of all data needed to update a
desktop application display.
• UserStreamListener Interface
– Methods
• void onBlock(User source, User blockedUser)
• void onDeletionNotice(long directMessageId, long userId)
• void onDirectMessage(DirectMessage directMessage)
• void onFavorite(User source, User target, Status favoritedStatus)
• void onFollow(User source, User followedUser)
• void onFriendList(long[] friendIds)
• void onUnblock(User source, User unblockedUser)
• void onUnfavorite(User source, User target,
Status unfavoritedStatus)
• void onUserListCreation(User listOwner, UserList list)
• void onUserListDeletion(User listOwner, UserList list)
• void onUserListMemberAddition(User addedMember,
User listOwner, UserList list)
• void onUserListMemberDeletion(User deletedMember,
User listOwner, UserList list)
• void onUserListSubscription(User subscriber,
User listOwner, UserList list)
• void onUserListUnsubscription(User subscriber,
User listOwner, UserList list)
• void onUserListUpdate(User listOwner, UserList list)
• void onUserProfileUpdate(User updatedUser)
35
36. Linked Data & Semantic Web Technology
Example of user Streaming API
1. import twitter4j.*;
2. public class UserStreamListenerImpl implements UserStreamListener {
3. public void onStatus(Status status) {
4. System.out.println("onStatus @" + status.getUser().getScreenName()
5. + " - " + status.getText());
6. }
7. public void onDeletionNotice(StatusDeletionNotice statusDeletionNotice) {
8. System.out.println("Got a status deletion notice id:"
9. + statusDeletionNotice.getStatusId());
10. }
11. public void onDeletionNotice(long directMessageId, long userId) {
12. System.out.println("Got a direct message deletion notice id:"
13. + directMessageId);
14. }
15. public void onTrackLimitationNotice(int numberOfLimitedStatuses) {
16. System.out.println("Got a track limitation notice:"
17. + numberOfLimitedStatuses);
18. }
19. public void onScrubGeo(long userId, long upToStatusId) {
20. System.out.println("Got scrub_geo event userId:" + userId
21. + " upToStatusId:" + upToStatusId);
22. }
23. public void onStallWarning(StallWarning warning) {
24. System.out.println("Got stall warning:" + warning);
25. }
26. public void onFriendList(long[] friendIds) {
27. System.out.print("onFriendList");
28. for (long friendId : friendIds) {
29. System.out.print(" " + friendId);
30. }
31. System.out.println();
32. }
36
39. Linked Data & Semantic Web Technology
Example of user Streaming API
1. import twitter4j.*;
2. public final class PrintUserStream {
3. public static void main(String[] args) throws TwitterException {
4. TwitterStream twitterStream = new TwitterStreamFactory().getInstance();
5. twitterStream.setOAuthConsumer(TwitterAccessToken.consumerKey,
6. TwitterAccessToken.consumerSecret);
7. twitterStream.setOAuthAccessToken(TwitterAccessToken.loadAccessToken());
8. UserStreamListenerImpl listener = new UserStreamListenerImpl();
9. twitterStream.addListener(listener);
10. twitterStream.user();
11. }
12. }
39
40. Linked Data & Semantic Web Technology
Site Streams
• Overview
– services to receive real-time updates for a large number of users
– for any user who has granted OAuth access to your application
– Site Streams is currently in a limited beta. Access is restricted to
whitelisted accounts.
• Endpoint
– GET site
• Types of messages
– the same types of messages streamed to User Stream
• Protected data
– to provide both public and private data in a single stream
– meticulous about what data they display
• Connecting
– to only receive messages for users who have approved OAuth
access to your application
– to consume significant (> 1 Mbit/sec) bandwith
• Limits
– must be respected during the beta period
• limit the follow count to 100 users per stream while connecting
• open no more than 25 new connections per second
40
41. Linked Data & Semantic Web Technology
Site Stream Messages Types
• Envelopes (for_user)
– an additional wrapper to identify the target of each
message except for blank keep-alive lines
• Control messages (control)
– a control message which may be used to modify the
Site Streams connection without reconnecting for new
Site Streams
41
42. Linked Data & Semantic Web Technology
Twitter4J Classes for site Streaming
• TwitterStream Interface
– Methods
• StreamController site(boolean withFollowings, long[] follow)
– Site Streams, a new feature on the Streaming API, is now available for beta testing.
• SiteStreamsListener Interface
– Methods
• void onBlock(long forUser, User source, User blockedUser)
• void onDeletionNotice(long forUser, long directMessageId, long userId)
• void onDeletionNotice(long forUser,
StatusDeletionNotice statusDeletionNotice)
• void onDirectMessage(long forUser, DirectMessage directMessage)
• void onDisconnectionNotice(java.lang.String line)
• void onException(java.lang.Exception ex)
• void onFavorite(long forUser, User source, User target, Status favoritedStatus)
• void onFollow(long forUser, User source, User followedUser)
• void onFriendList(long forUser, long[] friendIds)
• void onStatus(long forUser, Status status)
• void onUnblock(long forUser, User source, User unblockedUser)
• void onUnfavorite(long forUser, User source, User target,
Status unfavoritedStatus)
• void onUnfollow(long forUser, User source, User unfollowedUser)
• void onUserListCreation(long forUser, User listOwner, UserList list)
• void onUserListDeletion(long forUser, User listOwner, UserList list)
• void onUserListMemberAddition(long forUser, User addedMember,
User listOwner, UserList list)
• void onUserListMemberDeletion(long forUser, User deletedMember,
• User listOwner, UserList list)
• void onUserListSubscription(long forUser, User subscriber, User listOwner,
UserList list)
• void onUserListUnsubscription(long forUser, User subscriber, User listOwner,
UserList list)
• void onUserListUpdate(long forUser, User listOwner, UserList list)
• void onUserProfileUpdate(long forUser, User updatedUser)
42
43. Linked Data & Semantic Web Technology
Example of site Streaming API
1. import twitter4j.*;
2. public class SiteStreamsListenerImpl implements SiteStreamsListener {
3. public void onStatus(long forUser, Status status) {
4. System.out.println("onStatus for_user:" + forUser + " @"
5. + status.getUser().getScreenName() + " - " + status.getText());
6. }
7. public void onDeletionNotice(long forUser,
8. StatusDeletionNotice statusDeletionNotice) {
9. System.out.println("Got a status deletion notice for_user:" + forUser
10. + " id:" + statusDeletionNotice.getStatusId());
11. }
12. public void onFriendList(long forUser, long[] friendIds) {
13. System.out.print("onFriendList for_user:" + forUser);
14. for (long friendId : friendIds) {
15. System.out.print(" " + friendId);
16. }
17. System.out.println();
18. }
19. public void onFavorite(long forUser, User source, User target,
20. Status favoritedStatus) {
21. System.out.println("onFavorite for_user:" + forUser + " source:@"
22. + source.getScreenName() + " target:@" + target.getScreenName()
23. + " @" + favoritedStatus.getUser().getScreenName() + " - "
24. + favoritedStatus.getText());
25. }
26. public void onUnfavorite(long forUser, User source, User target,
27. Status unfavoritedStatus) {
28. System.out.println("onUnFavorite for_user:" + forUser + " source:@"
29. + source.getScreenName() + " target:@" + target.getScreenName()
30. + " @" + unfavoritedStatus.getUser().getScreenName() + " - "
31. + unfavoritedStatus.getText());
32. }
33. public void onFollow(long forUser, User source, User followedUser) {
34. System.out.println("onFollow for_user:" + forUser + " source:@"
35. + source.getScreenName() + " target:@"
36. + followedUser.getScreenName());
37. }
43
44. Linked Data & Semantic Web Technology
Example of site Streaming API
38. public void onUnfollow(long forUser, User source, User followedUser) {
39. System.out.println("onUnfollow for_user:" + forUser + " source:@"
40. + source.getScreenName() + " target:@"
41. + followedUser.getScreenName());
42. }
43. public void onDirectMessage(long forUser, DirectMessage directMessage) {
44. System.out.println("onDirectMessage for_user:" + forUser + " text:"
45. + directMessage.getText());
46. }
47. public void onDeletionNotice(long forUser, long directMessageId, long userId) {
48. System.out.println("Got a direct message deletion notice for_user:"
49. + forUser + " id:" + directMessageId);
50. }
51. public void onUserListMemberAddition(long forUser, User addedMember,
52. User listOwner, UserList list) {
53. System.out.println("onUserListMemberAddition for_user:" + forUser
54. + " member:@" + addedMember.getScreenName() + " listOwner:@"
55. + listOwner.getScreenName() + " list:" + list.getName());
56. }
57. public void onUserListMemberDeletion(long forUser, User deletedMember,
58. User listOwner, UserList list) {
59. System.out.println("onUserListMemberDeletion for_user:" + forUser
60. + " member:@" + deletedMember.getScreenName() + " listOwner:@"
61. + listOwner.getScreenName() + " list:" + list.getName());
62. }
63. public void onUserListSubscription(long forUser, User subscriber,
64. User listOwner, UserList list) {
65. System.out.println("onUserListSubscribed for_user:" + forUser
66. + " subscriber:@" + subscriber.getScreenName() + " listOwner:@"
67. + listOwner.getScreenName() + " list:" + list.getName());
68. }
69. public void onUserListUnsubscription(long forUser, User subscriber,
70. User listOwner, UserList list) {
71. System.out.println("onUserListUnsubscribed for_user:" + forUser
72. + " subscriber:@" + subscriber.getScreenName() + " listOwner:@"
73. + listOwner.getScreenName() + " list:" + list.getName());
74. }
44
45. Linked Data & Semantic Web Technology
Example of site Streaming API
75. public void onUserListCreation(long forUser, User listOwner, UserList list) {
76. System.out.println("onUserListCreated for_user:" + forUser
77. + " listOwner:@" + listOwner.getScreenName() + " list:"
78. + list.getName());
79. }
80. public void onUserListUpdate(long forUser, User listOwner, UserList list) {
81. System.out.println("onUserListUpdated for_user:" + forUser
82. + " listOwner:@" + listOwner.getScreenName() + " list:"
83. + list.getName());
84. }
85. public void onUserListDeletion(long forUser, User listOwner, UserList list) {
86. System.out.println("onUserListDestroyed for_user:" + forUser
87. + " listOwner:@" + listOwner.getScreenName() + " list:"
88. + list.getName());
89. }
90. public void onUserProfileUpdate(long forUser, User updatedUser) {
91. System.out.println("onUserProfileUpdated for_user:" + forUser
92. + " user:@" + updatedUser.getScreenName());
93. }
94. public void onBlock(long forUser, User source, User blockedUser) {
95. System.out.println("onBlock for_user:" + forUser + " source:@"
96. + source.getScreenName() + " target:@"
97. + blockedUser.getScreenName());
98. }
99. public void onUnblock(long forUser, User source, User unblockedUser) {
100. System.out.println("onUnblock for_user:" + forUser + " source:@"
101. + source.getScreenName() + " target:@"
102. + unblockedUser.getScreenName());
103. }
104. public void onDisconnectionNotice(String line) {
105. System.out.println("onDisconnectionNotice:" + line);
106. }
107. public void onException(Exception ex) {
108. ex.printStackTrace();
109. System.out.println("onException:" + ex.getMessage());
110. }
111. }
45
46. Linked Data & Semantic Web Technology
Example of site Streaming API
1. import twitter4j.*;
2. public class PrintSiteStream {
3. public static void main(String[] args) throws TwitterException {
4. TwitterStream twitterStream = new TwitterStreamFactory().getInstance();
5. twitterStream.setOAuthConsumer(TwitterAccessToken.consumerKey,
6. TwitterAccessToken.consumerSecret);
7. twitterStream.setOAuthAccessToken(TwitterAccessToken.loadAccessToken());
8. SiteStreamsListenerImpl listener = new SiteStreamsListenerImpl();
9. twitterStream.addListener(listener);
10. long[] followArray = {52401019, 1476571, 822659, 20606823, 18304822};
11. twitterStream.site(true, followArray);
12. }
13. }
46