This document discusses background capabilities in iOS 7. It summarizes the three new background modes available: background fetching, remote notifications, and background transfers. Background tasks now run for 3 minutes instead of 10 minutes. Apps can now download content in the background in response to push notifications or on a scheduled basis using background fetch APIs. Developers have close control while Apple prioritizes battery life and network usage.
Event Driven Architecture Concepts in Web Technologies - Part 2Hamidreza Soleimani
This document discusses event-driven architectures and event-based web servers. It begins by explaining the differences between processes, threads, and events. It then discusses traditional thread-based web servers versus more modern event-based web servers that can handle more connections with fewer resources by using asynchronous event handling rather than threads. The document also presents a puzzle about the Nginx web server and its architecture to solve. It concludes by providing contact information for any questions.
Real time Web Application with XMPP and WaveMickaël Rémond
This is the slide of my talk given at Erlang Factory 2010 in San Francisco. It introduces XMPP, Wave and ProcessOne Wave server implementation, to build realtime web collaborative platform.
XMPP can provide a flexible and scalable solution for real-time push notifications across devices and platforms. ProcessOne offers an XMPP-based push platform as a service to enable reliable delivery of notifications to users. Case studies demonstrate how the platform supports use cases like radio program updates, social media feeds, and mobile applications. ProcessOne's expertise in XMPP pubsub helps make these services highly scalable and able to support new features over time.
Archipel Introduction - ejabberd SF MeetupMickaël Rémond
This is slide deck for talk given by Archipel Project Team, with Nicolas Ochem as speaker. It introduces the concept behind Archipel, a solution to manage and supervise virtual machines based on XMPP.
The document discusses creating a new programming language by implementing it on top of the Erlang Virtual Machine (BEAM). It describes the steps to design and implement a language frontend by parsing source code into an abstract syntax tree and generating bytecode. As an example, it outlines how to create a query language called TQL for the Tnesia time-series database by defining a syntax, using Erlang tools for lexical scanning and parsing, and directly evaluating the parsed syntax tree.
This document discusses background capabilities in iOS 7. It summarizes the three new background modes available: background fetching, remote notifications, and background transfers. Background tasks now run for 3 minutes instead of 10 minutes. Apps can now download content in the background in response to push notifications or on a scheduled basis using background fetch APIs. Developers have close control while Apple prioritizes battery life and network usage.
Event Driven Architecture Concepts in Web Technologies - Part 2Hamidreza Soleimani
This document discusses event-driven architectures and event-based web servers. It begins by explaining the differences between processes, threads, and events. It then discusses traditional thread-based web servers versus more modern event-based web servers that can handle more connections with fewer resources by using asynchronous event handling rather than threads. The document also presents a puzzle about the Nginx web server and its architecture to solve. It concludes by providing contact information for any questions.
Real time Web Application with XMPP and WaveMickaël Rémond
This is the slide of my talk given at Erlang Factory 2010 in San Francisco. It introduces XMPP, Wave and ProcessOne Wave server implementation, to build realtime web collaborative platform.
XMPP can provide a flexible and scalable solution for real-time push notifications across devices and platforms. ProcessOne offers an XMPP-based push platform as a service to enable reliable delivery of notifications to users. Case studies demonstrate how the platform supports use cases like radio program updates, social media feeds, and mobile applications. ProcessOne's expertise in XMPP pubsub helps make these services highly scalable and able to support new features over time.
Archipel Introduction - ejabberd SF MeetupMickaël Rémond
This is slide deck for talk given by Archipel Project Team, with Nicolas Ochem as speaker. It introduces the concept behind Archipel, a solution to manage and supervise virtual machines based on XMPP.
The document discusses creating a new programming language by implementing it on top of the Erlang Virtual Machine (BEAM). It describes the steps to design and implement a language frontend by parsing source code into an abstract syntax tree and generating bytecode. As an example, it outlines how to create a query language called TQL for the Tnesia time-series database by defining a syntax, using Erlang tools for lexical scanning and parsing, and directly evaluating the parsed syntax tree.
Geoff Cant Whitelabel Erlang covers the trials, tribulations and technologies used in building a whitelabel ejabberd hosting service.
The talk explains the rationale behind the choices of web server, templating system, email module, page optimizers and other web framework components. The talk also covers the documented and undocumented DNS query and caching modules in OTP and introduces 'dns' - a convenient new API for using them. Finally, the talk describes some tips and tricks useful for whitelabel hosting solutions that require customer DNS updates.
This presentation describes progress on ProcessOne new product, OneTeam Media Server. This is a Flash Media Server used to write interactive, collaborative and real time Flash applications.
nanomsg is a socket library that provides several common communication patterns. It aims to make the networking layer fast, scalable, and easy to use. Implemented in C, it works on a wide range of operating systems with no further dependencies.
This is the slide deck for ProcessOne first live XMPP Academy.
Here are the questions covered:
1. ejabberd SaaS architecture questions
- What is the best way to archive user messages if we do not want to sync data from user device?
- Why does ejabberd SaaS not use async mechanisms for archiving messages to customer back-end server?
- Mobile XMPP support: Explain standby, push and detached modes.
2. XMPP / ejabberd questions
- How does ejabberd internally store messages which are not yet delivered?
- How are privacy lists managed in ejabberd?
- What is on the ejabberd roadmap ? OAuth !
The document discusses optimizing Node.js applications for production environments. It describes how as user numbers increase, challenges arise regarding stability and downtime that can be addressed through clustering. It also explains how an in-memory database like Redis can be used to share memory across clusters, and how a reverse proxy like Nginx can serve static files, SSL certificates, and gzip to optimize performance.
Event Driven Architecture Concepts in Web Technologies - Part 1Hamidreza Soleimani
The document discusses event-driven architecture and how it has evolved from processes to threads to events. It provides examples to illustrate synchronous vs asynchronous processing and event-driven vs process-driven approaches. It describes how Node.js uses a single thread and event loop architecture to handle asynchronous I/O calls via callbacks. Various real-time applications that can benefit from Node.js' event-driven approach are listed.
Erlang is a concurrent, fault-tolerant, and distributed programming language created in 1986. It uses an actor model and immutable data to allow for concurrency without race conditions. Erlang is fault-tolerant as it is designed to "let programs crash" gracefully and restart without needing to restart the entire system. It can distribute processes across multiple nodes in a network to improve reliability, scalability, and performance without single points of failure. Nodes communicate using Erlang's built-in port manager and distributed protocol without needing an interface definition language.
A vision for ejabberd - ejabberd SF MeetupMickaël Rémond
This is Mickaël Rémond presentation from ejabberd San Francisco Bay Area Meetup in march 2015. He presents latest achievements and progress made on ejabberd during the last few months. He then share his vision about the next steps to bring ejabberd XMPP platform to the next level.
Phoenix Presence: Le service temps réel de Phoenix - Paris.ex #8 Mickaël Rémond
Mickaël Rémond présente l'implementation d'une application de chat simple sur le web à l'aide de Phoenix Presence.
Pour réaliser cette application d'exemple, une migration de Phoenix vers Phoenix 1.2 a été effectuée. Toutes les étapes de la migration sont présentés et peuvent aider les développeurs a effectuer les bonnes étapes pour mettre à jour leur application Phoenix.
A new real time Web is emerging, backed by the eXtensible Messaging and Presence Protocol (XMPP). This protocol is designed for low latency, real time communication, publish-subscribe, and social networking. You will learn how XMPP and HTTP can be combined to make new applications possible and how to harness XMPP from JavaScript. We will use the Strophe library to create a few simple XMPP applications.
Code used in this presentation is at http://metajack.im/code/realtimeweb_jsconf2009.zip
The XMPP protocol allows for asynchronous communication over an open XML-based protocol. It was invented in 1998 as the Jabber protocol and standardized by the IETF as XMPP in 2004. XMPP supports messaging, presence, and request-response services and can be used for applications like instant messaging, collaboration, gaming, and more. It uses XML stanzas sent over TCP, BOSH, or WebSockets and supports features like federation, group chat, and VOIP calling.
XMPP is a real-time messaging protocol that allows clients to exchange messages and presence information over XML streams. It provides a bidirectional communication channel that servers can use to push updates to clients, avoiding the need for polling. XMPP defines core semantics for establishing streams, authenticating users, and sending message and presence stanzas. These can be extended through XMPP Extension Proposals to support new use cases like voice calls, file sharing, and building web services that communicate in real-time. Popular applications of XMPP include instant messaging, chat applications, and Comet-style web APIs.
XMPP (Extensible Messaging and Presence Protocol) is an open-source instant messaging system and session protocol that allows for easy integration of extensions. It defines XML streams for communication between clients and servers, as well as addressing standards and core stanzas like presence, message, and IQ. Popular clients include Pidgin, Adium, and Google Talk. The core consists of XML streams, addressing, and stanzas, with extensions defined in XEPs. Major implementations include ejabberd and Google Talk.
[SiriusCon 2018] Closing session - Live Community SurveyObeo
SiriusCon 2018 -Talk by Pierre-Charles David, Obeo & Stéphane Bégaudeau, Obeo
Community Survey: Your Opinion Matters, Get Involved in Sirius Future!
Participate to an online survey about your needs in terms of modeling tools and what you expect for the future of Eclipse Sirius.
Designing An Agile Community Program: Funambol Code Sniper v. 2Stefano Maffulli
The document describes Funambol Code Sniper v2, an agile community program for developing open source software. Version 2 addresses limitations of Version 1 by having community members write user stories, prioritize backlogs, and earn points for developing and testing stories that can be exchanged for money or goods. This encourages community involvement and active roles beyond just development. Challenges include cultural barriers, educating on agile practices, and balancing roles. Advantages include earlier user involvement, emergent requirements, and increased incentives for ongoing contributions and maintenance. Open questions remain around estimating stories and defining "Done".
Google Wave is a real-time communication and collaboration platform that combines features of email, instant messaging, wikis, web chat, and social networking. It allows users to see edits being made in real-time, embed conversations on websites, build custom applications, collaboratively edit content like a wiki, and share files and media.
Learn how to build a Wave robot from the ground up using Google App Engine, Java, and Eclipse. We walk through setting up your development environment, writing the extension, and deploying, troubleshooting, and packaging it. These slides are from a talk given at Silicon Valley Code Camp 2009.
Google Wave is a real-time communication platform that combines aspects of email, instant messaging, wikis, and other collaboration tools. It allows users to work together on documents and have conversations in real-time. Key features include real-time editing, drag-and-drop file sharing, embedded applications, and playback functionality to see past conversations. Google Wave aimed to create a more elegant and integrated communication experience than separate tools, but Google ultimately shut down active development in 2010.
Google Wave is a real-time communication and collaboration tool that combines features of email, instant messaging, web chat, and social networking. It allows for live concurrent editing and conversation between users. Extensions called gadgets and robots can be added to waves to add additional functionality like polls, maps, stock prices, and translation. Google Wave has potential applications for businesses in areas like project management, processes, and collaboration.
This document outlines the requirements for the final project in an English course on digital humanities and new media. Students will work individually or in groups of up to three to create a website about some aspect of life in Northeast Texas. The website must include an overview, one or more multimodal texts using archival materials from the course texts or digital collections, credits and statements about copyright, author profiles, and optional additional content. Milestones include submitting a group contract, site overview, wireframe design, revision plan, and the final website. Students will be provided resources on using free web editing tools like Weebly to design and create their sites.
This document provides information about a code camp being held from August 29th to September 2nd 2011. It introduces the three instructors and discusses the learning objectives, schedule, projects, and tools that will be covered during the camp. Students will work in groups to develop small web applications using ASP.NET MVC and jQuery. Instructors will be available each day to provide help and support to students. The goal is for students to gain experience with client-side and server-side web development.
Geoff Cant Whitelabel Erlang covers the trials, tribulations and technologies used in building a whitelabel ejabberd hosting service.
The talk explains the rationale behind the choices of web server, templating system, email module, page optimizers and other web framework components. The talk also covers the documented and undocumented DNS query and caching modules in OTP and introduces 'dns' - a convenient new API for using them. Finally, the talk describes some tips and tricks useful for whitelabel hosting solutions that require customer DNS updates.
This presentation describes progress on ProcessOne new product, OneTeam Media Server. This is a Flash Media Server used to write interactive, collaborative and real time Flash applications.
nanomsg is a socket library that provides several common communication patterns. It aims to make the networking layer fast, scalable, and easy to use. Implemented in C, it works on a wide range of operating systems with no further dependencies.
This is the slide deck for ProcessOne first live XMPP Academy.
Here are the questions covered:
1. ejabberd SaaS architecture questions
- What is the best way to archive user messages if we do not want to sync data from user device?
- Why does ejabberd SaaS not use async mechanisms for archiving messages to customer back-end server?
- Mobile XMPP support: Explain standby, push and detached modes.
2. XMPP / ejabberd questions
- How does ejabberd internally store messages which are not yet delivered?
- How are privacy lists managed in ejabberd?
- What is on the ejabberd roadmap ? OAuth !
The document discusses optimizing Node.js applications for production environments. It describes how as user numbers increase, challenges arise regarding stability and downtime that can be addressed through clustering. It also explains how an in-memory database like Redis can be used to share memory across clusters, and how a reverse proxy like Nginx can serve static files, SSL certificates, and gzip to optimize performance.
Event Driven Architecture Concepts in Web Technologies - Part 1Hamidreza Soleimani
The document discusses event-driven architecture and how it has evolved from processes to threads to events. It provides examples to illustrate synchronous vs asynchronous processing and event-driven vs process-driven approaches. It describes how Node.js uses a single thread and event loop architecture to handle asynchronous I/O calls via callbacks. Various real-time applications that can benefit from Node.js' event-driven approach are listed.
Erlang is a concurrent, fault-tolerant, and distributed programming language created in 1986. It uses an actor model and immutable data to allow for concurrency without race conditions. Erlang is fault-tolerant as it is designed to "let programs crash" gracefully and restart without needing to restart the entire system. It can distribute processes across multiple nodes in a network to improve reliability, scalability, and performance without single points of failure. Nodes communicate using Erlang's built-in port manager and distributed protocol without needing an interface definition language.
A vision for ejabberd - ejabberd SF MeetupMickaël Rémond
This is Mickaël Rémond presentation from ejabberd San Francisco Bay Area Meetup in march 2015. He presents latest achievements and progress made on ejabberd during the last few months. He then share his vision about the next steps to bring ejabberd XMPP platform to the next level.
Phoenix Presence: Le service temps réel de Phoenix - Paris.ex #8 Mickaël Rémond
Mickaël Rémond présente l'implementation d'une application de chat simple sur le web à l'aide de Phoenix Presence.
Pour réaliser cette application d'exemple, une migration de Phoenix vers Phoenix 1.2 a été effectuée. Toutes les étapes de la migration sont présentés et peuvent aider les développeurs a effectuer les bonnes étapes pour mettre à jour leur application Phoenix.
A new real time Web is emerging, backed by the eXtensible Messaging and Presence Protocol (XMPP). This protocol is designed for low latency, real time communication, publish-subscribe, and social networking. You will learn how XMPP and HTTP can be combined to make new applications possible and how to harness XMPP from JavaScript. We will use the Strophe library to create a few simple XMPP applications.
Code used in this presentation is at http://metajack.im/code/realtimeweb_jsconf2009.zip
The XMPP protocol allows for asynchronous communication over an open XML-based protocol. It was invented in 1998 as the Jabber protocol and standardized by the IETF as XMPP in 2004. XMPP supports messaging, presence, and request-response services and can be used for applications like instant messaging, collaboration, gaming, and more. It uses XML stanzas sent over TCP, BOSH, or WebSockets and supports features like federation, group chat, and VOIP calling.
XMPP is a real-time messaging protocol that allows clients to exchange messages and presence information over XML streams. It provides a bidirectional communication channel that servers can use to push updates to clients, avoiding the need for polling. XMPP defines core semantics for establishing streams, authenticating users, and sending message and presence stanzas. These can be extended through XMPP Extension Proposals to support new use cases like voice calls, file sharing, and building web services that communicate in real-time. Popular applications of XMPP include instant messaging, chat applications, and Comet-style web APIs.
XMPP (Extensible Messaging and Presence Protocol) is an open-source instant messaging system and session protocol that allows for easy integration of extensions. It defines XML streams for communication between clients and servers, as well as addressing standards and core stanzas like presence, message, and IQ. Popular clients include Pidgin, Adium, and Google Talk. The core consists of XML streams, addressing, and stanzas, with extensions defined in XEPs. Major implementations include ejabberd and Google Talk.
[SiriusCon 2018] Closing session - Live Community SurveyObeo
SiriusCon 2018 -Talk by Pierre-Charles David, Obeo & Stéphane Bégaudeau, Obeo
Community Survey: Your Opinion Matters, Get Involved in Sirius Future!
Participate to an online survey about your needs in terms of modeling tools and what you expect for the future of Eclipse Sirius.
Designing An Agile Community Program: Funambol Code Sniper v. 2Stefano Maffulli
The document describes Funambol Code Sniper v2, an agile community program for developing open source software. Version 2 addresses limitations of Version 1 by having community members write user stories, prioritize backlogs, and earn points for developing and testing stories that can be exchanged for money or goods. This encourages community involvement and active roles beyond just development. Challenges include cultural barriers, educating on agile practices, and balancing roles. Advantages include earlier user involvement, emergent requirements, and increased incentives for ongoing contributions and maintenance. Open questions remain around estimating stories and defining "Done".
Google Wave is a real-time communication and collaboration platform that combines features of email, instant messaging, wikis, web chat, and social networking. It allows users to see edits being made in real-time, embed conversations on websites, build custom applications, collaboratively edit content like a wiki, and share files and media.
Learn how to build a Wave robot from the ground up using Google App Engine, Java, and Eclipse. We walk through setting up your development environment, writing the extension, and deploying, troubleshooting, and packaging it. These slides are from a talk given at Silicon Valley Code Camp 2009.
Google Wave is a real-time communication platform that combines aspects of email, instant messaging, wikis, and other collaboration tools. It allows users to work together on documents and have conversations in real-time. Key features include real-time editing, drag-and-drop file sharing, embedded applications, and playback functionality to see past conversations. Google Wave aimed to create a more elegant and integrated communication experience than separate tools, but Google ultimately shut down active development in 2010.
Google Wave is a real-time communication and collaboration tool that combines features of email, instant messaging, web chat, and social networking. It allows for live concurrent editing and conversation between users. Extensions called gadgets and robots can be added to waves to add additional functionality like polls, maps, stock prices, and translation. Google Wave has potential applications for businesses in areas like project management, processes, and collaboration.
This document outlines the requirements for the final project in an English course on digital humanities and new media. Students will work individually or in groups of up to three to create a website about some aspect of life in Northeast Texas. The website must include an overview, one or more multimodal texts using archival materials from the course texts or digital collections, credits and statements about copyright, author profiles, and optional additional content. Milestones include submitting a group contract, site overview, wireframe design, revision plan, and the final website. Students will be provided resources on using free web editing tools like Weebly to design and create their sites.
This document provides information about a code camp being held from August 29th to September 2nd 2011. It introduces the three instructors and discusses the learning objectives, schedule, projects, and tools that will be covered during the camp. Students will work in groups to develop small web applications using ASP.NET MVC and jQuery. Instructors will be available each day to provide help and support to students. The goal is for students to gain experience with client-side and server-side web development.
This document summarizes a seminar on Google Wave that discusses its features for real-time communication and collaboration. Google Wave combines aspects of email, instant messaging, web chat and social networking. It allows for live concurrent editing using operational transformation and extensions can be added to waves for additional functionality. The document provides examples of existing gadgets and robots used in Google Wave and discusses how businesses can use Google Wave for project management.
New Technologies demoed at the 2011 Plone Conferencejcbrand
These are the slides of a presentation I gave at the recent PloneSA event in Cape Town, South Africa.
Included are screencasts about jarn.xmpp.collaborate, plone.app.debugtoolbar, Babble Messaging and a shortened screencast of PloneIDE.
HTML5 is the fifth revision and newest version of the HTML standard. It offers new features that provide not only rich media support, but also enhance support for creating web applications that can interact with the user, his/her local data, and servers, more easily and effectively than was possible previously.
User manual for those users who develop any desktop application so i try to provide betteropportunity to view it and try to make best user manual ..
Good Luck
The document is an introduction to Storm concepts from the Manning Early Access Program (MEAP) for the book "Storm Applied". It begins by introducing a sample problem of building a dashboard to track commit counts on GitHub repositories. It then breaks the problem down into components that can be represented as nodes in a Storm topology. The document defines key Storm concepts like topologies, tuples, and streams using the sample problem. It maps the components of the problem to a topology with nodes that read commits, extract emails, and update commit counts. The introduction provides a progressive explanation of Storm concepts to build understanding.
Language agnostic technologies introduced in pi web-agent 0.4rc2Andreas Galazis
This document summarizes a talk on language agnostic technologies introduced in pi-web-agent 0.4rc2. The talk discussed using WebSockets for low latency communication between clients and servers, but noted this did not fully solve the problem. It then described Websocketd, which allows WebSockets to be used for existing applications, and WebsocketdBro, which combines Websocketd with RabbitMQ to enable message broadcasting. The talk concluded by noting these tools address common problems and help attract different types of developers.
The document proposes SOMFA (Social Media For All), a system to make social media more accessible by bringing social media content to television. SOMFA crawls social media sites using RSS/ATOM feeds, extracts and transcodes text and multimedia content, and generates an audio/video stream and script for display on a TV. It is designed to be portable across different social media by relying on web syndication standards. The goal is to increase accessibility of social media for those who have difficulties accessing the web directly.
- OpenNTF is an open source organization for IBM Lotus Notes and Domino that enables collaboration on applications. It was launched in 2002 and now has over 250 projects.
- In 2009, IBM announced sponsorship and the formation of the OpenNTF Alliance to invigorate development. The Alliance has a new governance structure and licenses applications under Apache and GPL.
- The OpenNTF website is being updated to improve browsing, downloading, and contributing applications. Examples are provided of widgets, templates, and tools available through OpenNTF.
Introduction to research on open source softwareMatthias Stürmer
Open source software is being used by small and large companies, governments and other organizations in many business-critical systems. Nowadays there are approximately 1 million open source projects on the software market being developed and maintained by unpaid individuals as well as professional software companies and industry players. Research about technical aspects of open source software, business models, management and governance practices as well as community dynamics and contributor's motivations is abundant.
In this three day course master students of information systems get an introduction into current research about open source, read and present academic papers on open source, and write an own research proposal, conference submission or working paper about a specific topic of their interest. This may cover issues about open source in automotive industry, reuse of open source components, business models with open source, inner source development within pharma and many more.
A comprehensive guide for flutter bloc library v1.0.0Concetto Labs
This document summarizes the key updates and changes to the Bloc library for Flutter app development in version 1.0.0. The major changes include: 1) Blocs now act as streams to access state instead of using getters, 2) Blocs can now be used as sinks to dispatch events, 3) A new bloc_test package is included for improved testing, and 4) An official documentation site is launched at bloclibrary.dev. These changes aim to simplify reactive app development using the Bloc pattern in Flutter.
Similar to WaveOne server and client by ProcessOne (20)
Go for Real Time Streaming Architectures - DotGo 2017Mickaël Rémond
Streaming applications are at the core of realtime information system. With microservices streaming components are becoming increasingly important.
With the rise of cloud architecture, it is now easier and more elegant to use Go to write realtime high-performance components for streaming architecture than to use traditional tools.
Mickaël explains what are streaming architectures and demonstrates the benefits of using Go to build such platform.
Building Scalable Systems: What you can learn from Erlang - DotScale 2016Mickaël Rémond
Here are the slides from my talk at DotScale 2016 conference.
Erlang is a programming language dedicated to building robust and scalable services.
It has matured for many years and finally reached a point where it is one of the secret weapon used by many prominent companies.
To help you understand Erlang, I am going to walk you through old programming concepts that are at the root of Erlang using … A time machine !
Property-based testing of XMPP: generate your tests automatically - ejabberd ...Mickaël Rémond
Property-based testing uses properties of software to automatically generate test cases rather than writing tests manually. It can test combinations of features that would be impractical to test manually. QuickCheck is used to generate random inputs based on properties and shrink failing tests to minimal cases. The document provides an example of property-based testing of an XML parser by generating random XML and checking it roundtrips through parsing and pretty printing. It discusses challenges like invalid characters and improving the generator to handle attributes and namespaces properly. Larger examples like testing Ejabberd hooks against specifications are also mentioned.
IoT Studio #1: Protocols introduction and connected jukeboxMickaël Rémond
This is the slides ProcessOne IoT Studio session #1.
At the core of the discussion is an introduction to Internet of Things protocols.
Here are the topics / questions that I have been addressing:
- What are the main classes of protocols for the Internet of Things ?
- What are the strengths of XMPP for the Internet of things ?
- What are the main XMPP Extensions for building the Internet of Things ?
- How can I leverage XMPP to build a real device / appliance ?
As such, the session ends with a hands-on demonstration of a Soundcloud connected Jukebox built with:
- Raspberry Pi 2
- Connected to ejabberd
- Client is developed in Go using Go XMPP library Gox
Video of the session is available on Youtube: https://www.youtube.com/watch?v=YtommTbCxCc
Deep Dive Into ejabberd Pubsub ImplementationMickaël Rémond
Christophe Romain goes into the details of ejabberd Pubsub implementation. He explains the Pubsub plugin systems and how to leverage it to optimize ejabberd Pubsub for your own use cases.
This talk will teach you how to get more performance and scalability from your Pubsub implementation.
During this XMPP academy session I talk about Google and Apple Push Notifications, XEP-0357, Websockets, XMPP playground and Message Archiving.
Full session can be seen on Youtube: https://www.youtube.com/watch?v=LToKLTf-N_E
- Backends in ejabberd are pluggable modules that store data to provide to feature modules. This allows ejabberd to be more stateless. Common backends include Mnesia, MySQL, PostgreSQL, Riak, and custom backends.
- Message carbons allow messages to be copied to all connected clients so the full conversation history is visible, but they do not work in MUC rooms due to the anonymous nature of MUC chats.
- To learn XMPP, it is best to start at the protocol level by using a client like PSI that allows inspecting and crafting XMPP packets directly rather than starting from libraries that abstract the protocol.
OneTeam Media Server is a Flash compliant server written in Erlang. This presentation has been made at Erlang Factory conference in San Francisco - 30 april 2009
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
WaveOne server and client by ProcessOne
1. WaveOne server and Firefox WaveOne
client
Collaborating in realtime on the web
Google I/O 2010
2. Use case introduction - Collaborating around
WaveOne product launch
ProcessOne launches its new WaveOne product and need to get organized
for the launch at Google I/O conference.
Mickaël Rémond and Arnaud Le Ruyet working together with an account
on ProcessOne XMPP and Wave server @process-one.net. They have
one week left to work jointly on the PR before sending it to the Com
Agency.
Vanessa Clark works for ProcessOne’s partner Spark, a PR agency. She use
a Wave account provided by Google.
As you may have understood, these 3 persons must collaborate in order to
publish on time the PR
3. Mixing Wave and XMPP
WaveOne client uses XMPP (extensible Messaging and Presence). Thus all
features of XMPP are available from the client:
Notice that we reuse our XMPP contact list that we are using for standard
chat and VoIP (jingle-based).
The avatar of Arnaud (/Mickaël) is thus available, coming from the contact
description (Vcard).
The user ID of Arnaud (/Mickaël) is from @process-one.net domain.
5. First wave of press release ...
Mickaël creates a wavelet on WaveOne.
Mickaël creates the basic content in 3 elements (blips):
The PR title,
The explanation
The draft of the ProcessOne internal document and sharing them with
Arnaud
8. First wave of press release ...
Creating the
content /
adding
participants
9. First wave of press release ...
Other
internal
participant
add new blip
to comment
on wave
10. First wave of press release ...
Blip appears
in
conversation
11. First wave of press release ...
And the
conversation
goes on,
iterating on
the PR
content
edition
12. Federation and real time editing
Mickaël, once both agree on the initial content, decides that it is fine to go
ahead and includes the Vanessa Clark from the PR agency in the workflow.
He adds vanessa.clark@wavesandbox.com as a participant of the same
wave.
She benefits from all the previous work and can participate directly to the
discussion, to the current point.
13. Federation and real time editing
Adding a
participant
from
another
wave
provider
16. Searching and shortcuts
Mickaël needs to search for conversation with one contact. For any of your
contact, you can find the list of wave you had with them by opening WaveOne
filtered inbox.
17. Searching and shortcuts
You can use the search field to search back for the wave you need to find
based on keyword (plain text search).
18. TextArea shared editing: Wave the whole web
The Press Release is finally done and has lead to articles on various sites.
After managing the press briefing agenda with Wave, the team would like to
collaboratively write comment to cheers the users on Techcrunch.
Mickaël decides to start writing a comment on the blog and share it on wave
immediately to write it with his team.
He adds participants from internal and external wave service and they
prepare the blog post live together.
When the blog post is ready, Mickaël posts it.