This document summarizes a presentation on moving towards reactive programming. It begins with introductions and an agenda that covers awareness of reactive programming, what reactive means, reactive programming, functional reactive programming, and includes demos. Key points include that reactive systems respond to external events, requirements have changed to prioritize responsiveness, resilience, and being event-driven. Reactive programming uses asynchronous streams and avoids blocking. Functional reactive programming combines these concepts with functional programming. The presenter provides examples using tools like Rx and RxJava to demonstrate reactive concepts like handling click events as streams.
Vladyslav Romanchenko "How to keep high code quality without e2e tests"Dakiry
This document discusses how to test React and Redux applications without end-to-end tests. It recommends using unit and integration tests instead to test individual components and functions. It provides examples of how to test helper functions, action creators, reducers, selectors, and component rendering and interactions using Jest and libraries like Enzyme. Key steps include mocking dependencies, dispatching actions, and asserting on output or UI states. Following these techniques allows testing isolated pieces and catching errors early without relying on unstable end-to-end tests.
PuppetConf 2017: The Changing Role of Operations- Michael Stahnke, PuppetPuppet
The expectations and responsibilities for a modern operations team are high. Today, ops is expected to build and design delivery pipelines, have continuous statistic collection as a part of their monitoring services, and complement the development process with continuous integration and delivery practices, all while still maintaining critical back-office applications that most wouldn’t wish upon their enemies. How did it get that way? What separates the operations teams that lead from the ones who react? To dig in, we’ll consider a reactive team mired in fire-fighting and incapable of making headway, then watch as change that betters the team’s output and perception throughout the organization is slowly introduced. We’ll cover root-cause analysis efforts, bringing pain forward, experimentation, shifting left on quality, and selling automation and DevOps practices to management. This talk will not focus on tools, but rather procedural and cultural improvements that highlight the journey operations has undergone, and how we can prepare for the future.
A 20-min session I did at vodQA 2011 event in Pune, India. It shares info about how our team used parallelization to achieve a reduction of CI build time (automated functional tests) from almost 1 hour to 5 mins.
Managing state in modern React web applicationsJon Preece
This is the presentation I gave to my local JavaScript North West meetup group in Manchester, UK on 16th October 2018. The presentation demostrated local state vs Context API vs Redux, and when was appropriate to use each tool and some best practices around all three.
JRebel is a tool that allows Java developers to see changes to code instantly without redeploying applications. It eliminates lengthy redeploys, allowing developers to test incremental changes quickly and spend more time on coding, debugging, and collaborating. JRebel supports over 90 frameworks and allows remote debugging and deploying code changes to servers from a local machine. By removing redeploys, JRebel helps developers work more efficiently and productively.
Reliability Patterns for Distributed ApplicationsAndrew Hamilton
Description of different practices to help improve the reliability of a distributed applications. This presentation starts by establishing a good base of practices and then build upon those practices to create a robust and reliable system.
This is from an invited talk I gave at the Pittsburgh Perl Workshop a few years back. It's not often that I get a chance to talk to developers, so I thought I'd take advantage of it and yell at them a bit ;-)
Reactiveness All The Way - SW Architecture 2015 ConferenceTamir Dresher
Tamir Dresher is a software architect, consultant, and instructor who specializes in reactive systems and the Reactive Extensions (Rx) framework. The presentation discusses architectural concepts like responsiveness, resilience, and reactiveness that are important for distributed and reactive systems. It provides examples of using Rx and the actor model with Akka to build systems that can react to various stimuli like user input, failures, or messages in an elastic and resilient manner. The presentation encourages adopting reactive principles and reactive frameworks to build systems that can adequately respond to and recover from changes.
The document discusses various testing techniques in Rails such as unit tests, functional tests, integration tests, and fixtures. Unit tests are used to test models, calculations, and validations. Functional tests are used to test controllers and the flow of the application by making requests. Integration tests are used to test across controllers and user stories. Fixtures provide sample data to support the tests. Automated tests are beneficial as they allow for refactoring, produce better code, and help find defects.
1. Automation testing is faster and more reliable than manual testing as test scripts can execute precisely and at scale.
2. Automation testing requires less human resources over time as test cases are automated, while manual testing requires more testers.
3. Automation testing allows for programming of sophisticated tests to retrieve hidden information, while manual testing has limited capabilities.
Java Chapter 05 - Conditions & Loops: part 1DanWooster1
The document is a chapter about conditionals and loops in Java. It discusses boolean expressions, if and if-else statements for making decisions, comparing data, while loops, iterators, and the ArrayList class. It focuses on programming statements that allow programs to make decisions and repeat processing steps in loops to control the flow of execution through a method. Key concepts covered include using logical operators to construct conditions, proper indentation, how if-else statements and nested if statements work, comparing strings, avoiding infinite loops, using iterators to process groups of items, and how ArrayList objects store and access lists of objects.
Elm - never get a runtime error anymore. Almost.Anton Astashov
Elm, a transpiled-to-JavaScript language which makes sure you’ll never have a runtime error in your app. Almost. Why it’s cool, what it looks like, it’s pros and (most importantly) cons.
ICPSR - Complex Systems Models in the Social Sciences - Lab Session 7, 8 - Pr...Daniel Katz
This document provides instructions for using BehaviorSpace, a tool in NetLogo that automates running models multiple times while systematically varying parameters. It discusses setting up an experiment in BehaviorSpace to test different combinations of the blue fertility rate, red fertility rate, and carrying capacity in the Simple Birth Rates model. While BehaviorSpace can test the parameter space much faster than a human, fully exploring all possible combinations for this three-variable model would take over a year to run due to the large number of combinations. Limitations of BehaviorSpace and options for addressing them are discussed.
This document discusses how application profilers can help developers improve performance. It begins by explaining the importance of performance in software development. It then discusses common performance issues and whether developers should take a reactive or proactive approach to addressing them. The document dives into different profiling techniques like sampling, tracing, and thread dumps. It also covers key concepts like safepoints and how to avoid biases when profiling. Overall, the document provides a comprehensive overview of application profiling and how it can help developers optimize software performance.
Beyond Fault Tolerance with Actor ProgrammingFabio Tiriticco
Actor Programming is a software building approach that lets you can go beyond fault tolerance and achieve Resilience, which is the capacity of a system to self-heal and spring back into a fresh shape. First I'll introduce the difference between Reactive Programming and Reactive Systems, and then we'll go over a couple of implementation examples using Scala and Akka.
The coupled GitHub repository with the code is here: https://github.com/ticofab/ActorDemo
Beyond fault tolerance with actor programming - Fabio Tiriticco - Codemotion ...Codemotion
The Actor model has been around for a while, but only the Reactive revolution is bringing it to trend. Find out how your application can benefit from Actors to achieve Resilience - the ability to spring back into shape from a failure state. Akka is a toolkit that brings Actors to the JVM - think Java or Scala - and that leverages on them to help you build concurrent, distributed and resilient applications.
Presentation for a talk given at University of Malta in relation to industry direction of Reactive Programming and its adoption in Java and Spring as of their latest releases.
The document discusses client-side development concepts for 2016. It covers background on how user interfaces have evolved to the web. Key concepts discussed include state, imperative vs functional programming, and reactive programming. API styles like RPC, REST, and GraphQL are compared. Popular frontend frameworks like Angular, React, and Vue are also mentioned. The document concludes that choices should consider whether the project requires learning something new or not, reusability, and handling data synchronization and performance over the short and long term. It suggests that separating application code from framework code can help ensure independence.
You are already the Duke of DevOps: you have a master in CI/CD, some feature teams including ops skills, your TTM rocks ! But you have some difficulties to scale it. You have some quality issues, Qos at risk. You are quick to adopt practices that: increase flexibility of development and velocity of deployment. An urgent question follows on the heels of these benefits: how much confidence we can have in the complex systems that we put into production? Let’s talk about the next hype of DevOps: SRE, error budget, continuous quality, observability, Chaos Engineering.
This document provides an overview of reactive programming with RxJava. It begins with introductions to reactive programming and RxJava. It then discusses operators like map, filter, and flatMap that allow transforming and combining observable streams. It covers topics like error handling, threading with schedulers, subscriptions, and backpressure. The document includes examples of how to use various RxJava operators and concepts like transforming streams, handling errors, and improving performance with techniques like throttling.
Immutable Data and TypeScript in an Ember.js ApplicationBill Heaton
This document discusses using immutable data and static typing in an Ember.js application. It provides examples of an onboarding app to demonstrate the approach. Key motivations for immutability include handling state reloads, sharing data between users, and modeling the UI completely with components reading from the state model. Typescript is used for testing, applications, and interfaces to improve documentation. While there are some challenges, benefits for the example use cases were worth addressing special cases like component lifecycles. Overall, immutability allows modeling changes sets and deriving presentation from persistent data.
AliExpress’ Way to Microservices - microXchg 2017juvenxu
AliExpress has transitioned to a microservices architecture from a monolithic architecture. This involved several key changes:
1. Organizing code into individual services rather than global jars to improve independence and reusability.
2. Adopting Docker to standardize environments and dependencies.
3. Integrating Alibaba cloud services like configuration (Diamond) and messaging (MetaQ) into applications using Spring starters to simplify usage.
4. Establishing practices like publishing clean API-focused jars, using Maven to manage dependencies, and applying naming standards to improve maintainability at scale.
RxJava pour Android : présentation lors du GDG Android MontréalSidereo
Reactive extensions are a framework created by Microsoft for .NET at the end of 2009.
It is a «library that allows programmers to write succinct declarative code to orchestrate and coordinate asynchronous and event-based programs »
The way you write code with this library might be referred to as functional reactive programming, we’ll talk more about this during the presentation.
It is now available for Java and Android. The specifics for Android are helpers for thread and UI stuff.
Jake Wharton is a huge contributor for the Android version
Updated: Should you be using an Event Driven ArchitectureJeppe Cramon
What is an event-driven architecture, what can it do for your architecture, and is it a prerequisite for microservices?
In this talk, we'll see what events are and how they can solve many of the coupling and integration problems that you will experience in a distributed (micro)service landscape.
We'll get into the different usages for events and showcase them based on real world projects.
After this talk, you will know what events are, how they can be used and some of the requirements they put on your design and the way you thinking about software design.
Raptor is a PHP integration framework that aims to reduce cognitive load in development. It integrates technologies like Slim, Doctrine, and Twig to provide abstraction and synergy. Raptor has a standardized folder structure similar to Symfony and organizes bundles to modularize features. It implements security through protection from attacks and an RBAC system. An interactive user guide helps align developer and user mental models. The control panel provides access to configuration, component creation, UI building, and more. Raptor claims to reduce development time by 40-60% and allow new members to integrate within a day.
This document summarizes a presentation about stateful patterns in Azure Functions using Durable Functions. The presentation introduces Durable Functions as a way to add state management to Azure Functions. It discusses common stateful patterns like function chaining, fan-in/fan-out, and human interaction and how Durable Functions addresses issues with implementing these patterns with regular stateless functions through orchestrations, activities, and entities. The presentation concludes by emphasizing how Durable Functions solves concurrency issues but may not always be the right choice depending on requirements around latency.
Reliability Patterns for Distributed ApplicationsAndrew Hamilton
Description of different practices to help improve the reliability of a distributed applications. This presentation starts by establishing a good base of practices and then build upon those practices to create a robust and reliable system.
This is from an invited talk I gave at the Pittsburgh Perl Workshop a few years back. It's not often that I get a chance to talk to developers, so I thought I'd take advantage of it and yell at them a bit ;-)
Reactiveness All The Way - SW Architecture 2015 ConferenceTamir Dresher
Tamir Dresher is a software architect, consultant, and instructor who specializes in reactive systems and the Reactive Extensions (Rx) framework. The presentation discusses architectural concepts like responsiveness, resilience, and reactiveness that are important for distributed and reactive systems. It provides examples of using Rx and the actor model with Akka to build systems that can react to various stimuli like user input, failures, or messages in an elastic and resilient manner. The presentation encourages adopting reactive principles and reactive frameworks to build systems that can adequately respond to and recover from changes.
The document discusses various testing techniques in Rails such as unit tests, functional tests, integration tests, and fixtures. Unit tests are used to test models, calculations, and validations. Functional tests are used to test controllers and the flow of the application by making requests. Integration tests are used to test across controllers and user stories. Fixtures provide sample data to support the tests. Automated tests are beneficial as they allow for refactoring, produce better code, and help find defects.
1. Automation testing is faster and more reliable than manual testing as test scripts can execute precisely and at scale.
2. Automation testing requires less human resources over time as test cases are automated, while manual testing requires more testers.
3. Automation testing allows for programming of sophisticated tests to retrieve hidden information, while manual testing has limited capabilities.
Java Chapter 05 - Conditions & Loops: part 1DanWooster1
The document is a chapter about conditionals and loops in Java. It discusses boolean expressions, if and if-else statements for making decisions, comparing data, while loops, iterators, and the ArrayList class. It focuses on programming statements that allow programs to make decisions and repeat processing steps in loops to control the flow of execution through a method. Key concepts covered include using logical operators to construct conditions, proper indentation, how if-else statements and nested if statements work, comparing strings, avoiding infinite loops, using iterators to process groups of items, and how ArrayList objects store and access lists of objects.
Elm - never get a runtime error anymore. Almost.Anton Astashov
Elm, a transpiled-to-JavaScript language which makes sure you’ll never have a runtime error in your app. Almost. Why it’s cool, what it looks like, it’s pros and (most importantly) cons.
ICPSR - Complex Systems Models in the Social Sciences - Lab Session 7, 8 - Pr...Daniel Katz
This document provides instructions for using BehaviorSpace, a tool in NetLogo that automates running models multiple times while systematically varying parameters. It discusses setting up an experiment in BehaviorSpace to test different combinations of the blue fertility rate, red fertility rate, and carrying capacity in the Simple Birth Rates model. While BehaviorSpace can test the parameter space much faster than a human, fully exploring all possible combinations for this three-variable model would take over a year to run due to the large number of combinations. Limitations of BehaviorSpace and options for addressing them are discussed.
This document discusses how application profilers can help developers improve performance. It begins by explaining the importance of performance in software development. It then discusses common performance issues and whether developers should take a reactive or proactive approach to addressing them. The document dives into different profiling techniques like sampling, tracing, and thread dumps. It also covers key concepts like safepoints and how to avoid biases when profiling. Overall, the document provides a comprehensive overview of application profiling and how it can help developers optimize software performance.
Beyond Fault Tolerance with Actor ProgrammingFabio Tiriticco
Actor Programming is a software building approach that lets you can go beyond fault tolerance and achieve Resilience, which is the capacity of a system to self-heal and spring back into a fresh shape. First I'll introduce the difference between Reactive Programming and Reactive Systems, and then we'll go over a couple of implementation examples using Scala and Akka.
The coupled GitHub repository with the code is here: https://github.com/ticofab/ActorDemo
Beyond fault tolerance with actor programming - Fabio Tiriticco - Codemotion ...Codemotion
The Actor model has been around for a while, but only the Reactive revolution is bringing it to trend. Find out how your application can benefit from Actors to achieve Resilience - the ability to spring back into shape from a failure state. Akka is a toolkit that brings Actors to the JVM - think Java or Scala - and that leverages on them to help you build concurrent, distributed and resilient applications.
Presentation for a talk given at University of Malta in relation to industry direction of Reactive Programming and its adoption in Java and Spring as of their latest releases.
The document discusses client-side development concepts for 2016. It covers background on how user interfaces have evolved to the web. Key concepts discussed include state, imperative vs functional programming, and reactive programming. API styles like RPC, REST, and GraphQL are compared. Popular frontend frameworks like Angular, React, and Vue are also mentioned. The document concludes that choices should consider whether the project requires learning something new or not, reusability, and handling data synchronization and performance over the short and long term. It suggests that separating application code from framework code can help ensure independence.
You are already the Duke of DevOps: you have a master in CI/CD, some feature teams including ops skills, your TTM rocks ! But you have some difficulties to scale it. You have some quality issues, Qos at risk. You are quick to adopt practices that: increase flexibility of development and velocity of deployment. An urgent question follows on the heels of these benefits: how much confidence we can have in the complex systems that we put into production? Let’s talk about the next hype of DevOps: SRE, error budget, continuous quality, observability, Chaos Engineering.
This document provides an overview of reactive programming with RxJava. It begins with introductions to reactive programming and RxJava. It then discusses operators like map, filter, and flatMap that allow transforming and combining observable streams. It covers topics like error handling, threading with schedulers, subscriptions, and backpressure. The document includes examples of how to use various RxJava operators and concepts like transforming streams, handling errors, and improving performance with techniques like throttling.
Immutable Data and TypeScript in an Ember.js ApplicationBill Heaton
This document discusses using immutable data and static typing in an Ember.js application. It provides examples of an onboarding app to demonstrate the approach. Key motivations for immutability include handling state reloads, sharing data between users, and modeling the UI completely with components reading from the state model. Typescript is used for testing, applications, and interfaces to improve documentation. While there are some challenges, benefits for the example use cases were worth addressing special cases like component lifecycles. Overall, immutability allows modeling changes sets and deriving presentation from persistent data.
AliExpress’ Way to Microservices - microXchg 2017juvenxu
AliExpress has transitioned to a microservices architecture from a monolithic architecture. This involved several key changes:
1. Organizing code into individual services rather than global jars to improve independence and reusability.
2. Adopting Docker to standardize environments and dependencies.
3. Integrating Alibaba cloud services like configuration (Diamond) and messaging (MetaQ) into applications using Spring starters to simplify usage.
4. Establishing practices like publishing clean API-focused jars, using Maven to manage dependencies, and applying naming standards to improve maintainability at scale.
RxJava pour Android : présentation lors du GDG Android MontréalSidereo
Reactive extensions are a framework created by Microsoft for .NET at the end of 2009.
It is a «library that allows programmers to write succinct declarative code to orchestrate and coordinate asynchronous and event-based programs »
The way you write code with this library might be referred to as functional reactive programming, we’ll talk more about this during the presentation.
It is now available for Java and Android. The specifics for Android are helpers for thread and UI stuff.
Jake Wharton is a huge contributor for the Android version
Updated: Should you be using an Event Driven ArchitectureJeppe Cramon
What is an event-driven architecture, what can it do for your architecture, and is it a prerequisite for microservices?
In this talk, we'll see what events are and how they can solve many of the coupling and integration problems that you will experience in a distributed (micro)service landscape.
We'll get into the different usages for events and showcase them based on real world projects.
After this talk, you will know what events are, how they can be used and some of the requirements they put on your design and the way you thinking about software design.
Raptor is a PHP integration framework that aims to reduce cognitive load in development. It integrates technologies like Slim, Doctrine, and Twig to provide abstraction and synergy. Raptor has a standardized folder structure similar to Symfony and organizes bundles to modularize features. It implements security through protection from attacks and an RBAC system. An interactive user guide helps align developer and user mental models. The control panel provides access to configuration, component creation, UI building, and more. Raptor claims to reduce development time by 40-60% and allow new members to integrate within a day.
This document summarizes a presentation about stateful patterns in Azure Functions using Durable Functions. The presentation introduces Durable Functions as a way to add state management to Azure Functions. It discusses common stateful patterns like function chaining, fan-in/fan-out, and human interaction and how Durable Functions addresses issues with implementing these patterns with regular stateless functions through orchestrations, activities, and entities. The presentation concludes by emphasizing how Durable Functions solves concurrency issues but may not always be the right choice depending on requirements around latency.
The document discusses the actor model and how it can solve problems for building concurrent, distributed, asynchronous, high performance, scalable, and fault tolerant systems. It outlines how the actor model aligns with the principles of the Reactive Manifesto by being responsive, message-driven, resilient, and elastic. Actors communicate asynchronously through message passing, isolate state and processing, and can be distributed across multiple machines through clustering and remoting.
Michael Ducy discusses developing automation with humans in mind. He argues that current approaches focus too much on infrastructure, which increases complexity and unintended side effects. Instead, he advocates for an "application-first" model where the application is configured to be isolated, immutable, and able to adapt to different environments. Habitat is introduced as a tool that allows applications to run autonomously across platforms using application packages, plans for installation, and an intelligent runtime supervisor.
The document discusses software development life cycles (SDLC). It describes the typical stages of an SDLC including feasibility study, requirements analysis, system design, development, testing, implementation, and maintenance. Several SDLC models are mentioned, including waterfall, spiral, iterative, prototyping, and RAD (rapid application development). The waterfall model is described as having distinct sequential stages with no overlap between phases. Prototyping and RAD methodologies are also explained in further detail.
SenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay PlatonovSencha
Undo and redo is a very common but not trivial feature, requested in most types of modern web applications. An application may define complex data processing rules involving data from different stores, which is tricky to handle when undoing an operation. With the Robo tool, we'll show you how to accurately revert data to any previous state with a simple undo() call.
Eric Proegler Early Performance Testing from CAST2014Eric Proegler
Development and deployment contexts have changed considerably over the last decade. The discipline of performance testing has had difficulty keeping up with modern testing principles and software development and deployment processes.
Most people still see performance testing as a single experiment, run against a completely assembled, code-frozen, production-resourced system, with the "accuracy" of simulation and environment considered critical to the value of the data the test provides.
But what can we do to provide actionable and timely information about performance and reliability when the software is not complete, when the system is not yet assembled, or when the software will be deployed in more than one environment?
Eric deconstructs “realism” in performance simulation, talks about performance testing more cheaply to test more often, and suggest strategies and techniques to get there. He will share findings from WOPR22, where performance testers from around the world came together in May 2014 to discuss this theme in a peer workshop.
Slides from my last presentation at the Cape Town Meteor meetup, on optimising the UI, specifically for Hybrid apps and for Meteor JS hybrid apps.
The main thrust is really more about design patterns, and carefully controlling data management in your mobile app, with great examples of these patterns out in the real world.
see the mobile patterns video here : https://www.youtube.com/watch?v=e6WWX4TF3UI
Bootiful Microservices in a Legacy Environment: Lessons LearnedVMware Tanzu
SpringOne Platform 2016
Speaker: David Julia; Associate Director, Pivotal
Building Microservices in a green field environment is amazing! But the realities of some of our largest and oldest institutions is that there is a lot of value in existing legacy systems. When you're building on top of legacy systems, there are many challenges that green field development does not even have to consider. Join me for a 30 minute session in which we look at some patterns that we have employed over the last 2 years of building Spring Boot based microservices in the context of legacy systems. I'll speak to tried and true strategies for creating "strangler applications", strategies for moving away from the database as an integration point, and how to start carving off bounded contexts for your new microservices. I'll also speak to a handful of pit-falls to be avoided as you make the journey to a bootiful microservice landscape.
Don't Wait! Develop responsive applications with Java EE7 insteadErin Schnabel
A revision to a previous session: we explore how the async mechanisms in Java EE7 help you be more responsive in the backend. Includes an overview of how EE7 technologies enable RxJava to be used in a container-friendly way.
Intro slides - Global Reactive Meetup - Move over JDBC!Fabio Tiriticco
R2DBC is a new API for reactive database access that is meant to replace JDBC. An upcoming conference called ReactiveU20 focused on scalability, reactive programming, data, devops, and AI/ML will take place November 12-13 starting at 15:30 CEST and offers a 20% discount with the code REACTIVEU20. A meetup on November 26 from 19:00 to 20:00 will discuss Kotlin, SpringBoot, and Reactive Streams.
Slides for the talk I gave at the 2020 conference "Sofware Circus: Down The Rabbit Hole" . Attendees are given an overview of Deep Learning and a unique dataset to start experimenting. Code and images are available here: https://github.com/ticofab/deep-learning-with-scala
Slides of Maxim Burgerhout from RedHat ( @MaximBurgerhout ). This presentation was given at the Reactive Amsterdam meetup: https://www.meetup.com/Reactive-Amsterdam , in collaboration with GOTO Nights Amsterdam. Recording of the talk is here: https://www.youtube.com/watch?v=X2NFGHQzQok
Ten Frustrations From The Community Trenches (And How To Deal With Them)Fabio Tiriticco
As community managers dealing with people, we are all bound to deal with frustrations at some point. This talk goes over a few common ones and reveals a few tips to deal with them.
We all need friends and Akka just found KubernetesFabio Tiriticco
We all feel alone sometimes. Akka got along well with the VM crew ever since it was born, but new friends and fresh ideas are always necessary. Which is why lately Akka loves spending time with Kubernetes! Maybe the reason why they like each other so much is their sharing of core values such as transparent scalability and resilience.
How do these two technologies compare from a Reactive standpoint? Does one supersede the other? In fact, their powers can be combined to design distributed systems all the way from application code to cloud instance.
Cloud native akka and kubernetes holy grail to elasticityFabio Tiriticco
Akka is the most mature choice to implement the traits of the Reactive Manifesto, thanks to the Actor model. But we need to rely on some external infrastructure to automatically scale up or down our services. We found Docker & Kubernetes to be a perfect match for clustered Akka applications.
My personal highlights from the Reactive Summit 2017. I loved the conference from the beginning till the end and I shared some of that with my Reactive Amsterdam meetup. All content belongs to the respective speakers.
** Video of this talk is here: https://youtu.be/MQGXrrhGUTw **
The first talk of the Meetup on the 11th of April 2017, hosted by weeronline.nl in their Amsterdam offices.
Streams are everywhere! Akka Streams help us model streaming processes using a very descriptive DSL and optimising resource usage.
The word "Reactive" can be confusing. As the founder of the Reactive Amsterdam meetup, I can tell there are two main topics here: Functional Reactive Programming (here with reference to Android) and "Reactive" in the sense of the Reactive Manifesto.
For most of us, Reactive Android means using RxJava. In this presentation, I try to borrow a few ideas from the backend world and enrich the concept of Reactive in Android.
Generative Artificial Intelligence (GenAI) in BusinessDr. Tathagat Varma
My talk for the Indian School of Business (ISB) Emerging Leaders Program Cohort 9. In this talk, I discussed key issues around adoption of GenAI in business - benefits, opportunities and limitations. I also discussed how my research on Theory of Cognitive Chasms helps address some of these issues
Dev Dives: Automate and orchestrate your processes with UiPath MaestroUiPathCommunity
This session is designed to equip developers with the skills needed to build mission-critical, end-to-end processes that seamlessly orchestrate agents, people, and robots.
📕 Here's what you can expect:
- Modeling: Build end-to-end processes using BPMN.
- Implementing: Integrate agentic tasks, RPA, APIs, and advanced decisioning into processes.
- Operating: Control process instances with rewind, replay, pause, and stop functions.
- Monitoring: Use dashboards and embedded analytics for real-time insights into process instances.
This webinar is a must-attend for developers looking to enhance their agentic automation skills and orchestrate robust, mission-critical processes.
👨🏫 Speaker:
Andrei Vintila, Principal Product Manager @UiPath
This session streamed live on April 29, 2025, 16:00 CET.
Check out all our upcoming Dev Dives sessions at https://community.uipath.com/dev-dives-automation-developer-2025/.
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungenpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-und-verwaltung-von-multiuser-umgebungen/
HCL Nomad Web wird als die nächste Generation des HCL Notes-Clients gefeiert und bietet zahlreiche Vorteile, wie die Beseitigung des Bedarfs an Paketierung, Verteilung und Installation. Nomad Web-Client-Updates werden “automatisch” im Hintergrund installiert, was den administrativen Aufwand im Vergleich zu traditionellen HCL Notes-Clients erheblich reduziert. Allerdings stellt die Fehlerbehebung in Nomad Web im Vergleich zum Notes-Client einzigartige Herausforderungen dar.
Begleiten Sie Christoph und Marc, während sie demonstrieren, wie der Fehlerbehebungsprozess in HCL Nomad Web vereinfacht werden kann, um eine reibungslose und effiziente Benutzererfahrung zu gewährleisten.
In diesem Webinar werden wir effektive Strategien zur Diagnose und Lösung häufiger Probleme in HCL Nomad Web untersuchen, einschließlich
- Zugriff auf die Konsole
- Auffinden und Interpretieren von Protokolldateien
- Zugriff auf den Datenordner im Cache des Browsers (unter Verwendung von OPFS)
- Verständnis der Unterschiede zwischen Einzel- und Mehrbenutzerszenarien
- Nutzung der Client Clocking-Funktion
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...Alan Dix
Talk at the final event of Data Fusion Dynamics: A Collaborative UK-Saudi Initiative in Cybersecurity and Artificial Intelligence funded by the British Council UK-Saudi Challenge Fund 2024, Cardiff Metropolitan University, 29th April 2025
https://alandix.com/academic/talks/CMet2025-AI-Changes-Everything/
Is AI just another technology, or does it fundamentally change the way we live and think?
Every technology has a direct impact with micro-ethical consequences, some good, some bad. However more profound are the ways in which some technologies reshape the very fabric of society with macro-ethical impacts. The invention of the stirrup revolutionised mounted combat, but as a side effect gave rise to the feudal system, which still shapes politics today. The internal combustion engine offers personal freedom and creates pollution, but has also transformed the nature of urban planning and international trade. When we look at AI the micro-ethical issues, such as bias, are most obvious, but the macro-ethical challenges may be greater.
At a micro-ethical level AI has the potential to deepen social, ethnic and gender bias, issues I have warned about since the early 1990s! It is also being used increasingly on the battlefield. However, it also offers amazing opportunities in health and educations, as the recent Nobel prizes for the developers of AlphaFold illustrate. More radically, the need to encode ethics acts as a mirror to surface essential ethical problems and conflicts.
At the macro-ethical level, by the early 2000s digital technology had already begun to undermine sovereignty (e.g. gambling), market economics (through network effects and emergent monopolies), and the very meaning of money. Modern AI is the child of big data, big computation and ultimately big business, intensifying the inherent tendency of digital technology to concentrate power. AI is already unravelling the fundamentals of the social, political and economic world around us, but this is a world that needs radical reimagining to overcome the global environmental and human challenges that confront us. Our challenge is whether to let the threads fall as they may, or to use them to weave a better future.
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul
Artificial intelligence is changing how businesses operate. Companies are using AI agents to automate tasks, reduce time spent on repetitive work, and focus more on high-value activities. Noah Loul, an AI strategist and entrepreneur, has helped dozens of companies streamline their operations using smart automation. He believes AI agents aren't just tools—they're workers that take on repeatable tasks so your human team can focus on what matters. If you want to reduce time waste and increase output, AI agents are the next move.
Role of Data Annotation Services in AI-Powered ManufacturingAndrew Leo
From predictive maintenance to robotic automation, AI is driving the future of manufacturing. But without high-quality annotated data, even the smartest models fall short.
Discover how data annotation services are powering accuracy, safety, and efficiency in AI-driven manufacturing systems.
Precision in data labeling = Precision on the production floor.
Quantum Computing Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfAbi john
Analyze the growth of meme coins from mere online jokes to potential assets in the digital economy. Explore the community, culture, and utility as they elevate themselves to a new era in cryptocurrency.
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Aqusag Technologies
In late April 2025, a significant portion of Europe, particularly Spain, Portugal, and parts of southern France, experienced widespread, rolling power outages that continue to affect millions of residents, businesses, and infrastructure systems.
Spark is a powerhouse for large datasets, but when it comes to smaller data workloads, its overhead can sometimes slow things down. What if you could achieve high performance and efficiency without the need for Spark?
At S&P Global Commodity Insights, having a complete view of global energy and commodities markets enables customers to make data-driven decisions with confidence and create long-term, sustainable value. 🌍
Explore delta-rs + CDC and how these open-source innovations power lightweight, high-performance data applications beyond Spark! 🚀
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPathCommunity
Join this UiPath Community Berlin meetup to explore the Orchestrator API, Swagger interface, and the Test Manager API. Learn how to leverage these tools to streamline automation, enhance testing, and integrate more efficiently with UiPath. Perfect for developers, testers, and automation enthusiasts!
📕 Agenda
Welcome & Introductions
Orchestrator API Overview
Exploring the Swagger Interface
Test Manager API Highlights
Streamlining Automation & Testing with APIs (Demo)
Q&A and Open Discussion
Perfect for developers, testers, and automation enthusiasts!
👉 Join our UiPath Community Berlin chapter: https://community.uipath.com/berlin/
This session streamed live on April 29, 2025, 18:00 CET.
Check out all our upcoming UiPath Community sessions at https://community.uipath.com/events/.
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...SOFTTECHHUB
I started my online journey with several hosting services before stumbling upon Ai EngineHost. At first, the idea of paying one fee and getting lifetime access seemed too good to pass up. The platform is built on reliable US-based servers, ensuring your projects run at high speeds and remain safe. Let me take you step by step through its benefits and features as I explain why this hosting solution is a perfect fit for digital entrepreneurs.
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveScyllaDB
Want to learn practical tips for designing systems that can scale efficiently without compromising speed?
Join us for a workshop where we’ll address these challenges head-on and explore how to architect low-latency systems using Rust. During this free interactive workshop oriented for developers, engineers, and architects, we’ll cover how Rust’s unique language features and the Tokio async runtime enable high-performance application development.
As you explore key principles of designing low-latency systems with Rust, you will learn how to:
- Create and compile a real-world app with Rust
- Connect the application to ScyllaDB (NoSQL data store)
- Negotiate tradeoffs related to data modeling and querying
- Manage and monitor the database for consistently low latencies
Procurement Insights Cost To Value Guide.pptxJon Hansen
Procurement Insights integrated Historic Procurement Industry Archives, serves as a powerful complement — not a competitor — to other procurement industry firms. It fills critical gaps in depth, agility, and contextual insight that most traditional analyst and association models overlook.
Learn more about this value- driven proprietary service offering here.
Splunk Security Update | Public Sector Summit Germany 2025Splunk
Reactive Programming or Reactive Systems? (spoiler: both)
1. HOW REACTIVE CAN YOU BE?
DomCode 26th September 2017
Reactive Programming or Reactive Systems?
(spoiler: both)
2. @ticofabA little info about myself - Fabio Tiriticco
Tech Lead /
Software Architect
@ticofab
3. @ticofab
1. Reactive Programming
2. Reactive Systems
3. Building blocks of Reactive Systems: Actor programming
4. Reactive Programming vs Reactive Systems
Outline
Goal: no more confusion about “reactive”
12. @ticofabReactive Programming & its benefits
1. Stream-like processing
2. Easy management of back pressure
3. Conciseness
4. Simplification of parallel / threaded work
“A paradigm where the logic is driven forward
by the availability of new information”
“As soon as there is new input, react to it”
13. @ticofab
Observable.from(myCats)
Reactive Programming example (RxJava on Android)
List<Cat> myCats;
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.filter(cat -> cat.isWhite())
.map(cat -> cat.fetchPicture())
.map(picture -> Filter.applyFilter(picture))
.subscribe(filteredPicture -> display(filteredPicture));
.onBackpressureBuffer(16)
1. Stream-like processing
2. Conciseness
3. Simplification of threaded work
4. Easy management of back pressure
… …
15. @ticofabGoal
“Reactive Systems strive to increase productivity and make
sure that development and maintenance of components
reduce the accidental complexity to a minimum.”
the ability to react quickly
and appropriately to change
agility
əˈdʒɪlɪti/
Development level
increase productivity
facilitate development
facilitate maintenance
reduce accidental complexity
Company as whole
16. @ticofabThe Reactive Principles
Define a way of thinking about system architectures in a
modern and distributed environment. In a Reactive System,
the interaction between the parts makes the difference.
17. @ticofabThe Reactive Manifesto, 2013
A reactive computer system must Trait
React to its users Responsive
React to failure and stay available Resilient
React to varying load conditions Elastic
Its components must react to inputs Message-driven
18. @ticofabReactive System traits (the Reactive Manifesto)
J. Boner, R. Kuhn, D. Farley, M. Thompson - The Reactive Manifesto
19. @ticofabFrom Principles to implementation
Reactive
Principles
Reactive
Patterns
Reactive
Tools
“Akka is a toolkit for building highly concurrent,
distributed, and resilient message-driven applications”
22. @ticofabSimple Component Pattern
“One component should do only one thing but do it in
full. The aim is to maximise cohesion and minimise
coupling between components.”
23. @ticofab
Actor 1
Actor 3
Actor 2
• contains state &
behaviour logic
Actor model
Supervisor
Simple Component Pattern
• has a mailbox to
receive and send
messages
• has a supervisor
myActor3.getCounter()
2
2
counter value?
24. @ticofabThe benefits of Asynchronous Messaging
• Separation between components
• Domain mapping closer to reality
• Error containment - avoid chain failures
Actor 1
Actor 3
Actor 2
Supervisor
2
2
counter value?
26. @ticofabLet it Crash Pattern
"Prefer a full component restart to
complex internal failure handling".
• failure conditions WILL occur
• they might be rare and hard to reproduce
• easier to start clean than to try to recover
Embrace failure by design!
28. @ticofab
Actor 1
Actor 2
Supervisor
HorribleException
X
Fix or
Restart
(doing something else…)
Let it Crash Pattern
• The two actors work independently,
which is great for concurrency
• The user of a service does not deal
with the failures in the service
• The service itself is simpler, without
try / catch blocks
29. @ticofabOld school error handling
ArrayList<Result> results;
try {
results = myDatabase.query(...)
} catch(Exception e) {
e.printStackTrace();
}
getResults(params, function(err,result) {
// did an error occur?
if ( err ) {
// handle the error safely
console.log('4/0=err', err)
} else {
// no error occured, go on
console.log('4/0='+result)
}
})
34. @ticofabReactive Programming vs Reactive Systems
What is Good for Applicability Productive for
Reactive
Programming
Implementation
technique
Asynchronous
dataflow
management
Single node or
service
Developers
Reactive Systems
Set of design
principles
Orchestration of
complex systems
The whole system
(from single node to
the total sum)
Architects
41. @ticofabQuiz
Can React.js be used in combination with Reactive Programming?
A. Yes
B. No
C. Maybe
RxJS, Bacon.js etc.
42. @ticofabQuiz
Why did Facebook chose the name “React.js” ?
A. They hadn’t seen my talk
B. All others 5-letter names were taken
C. Because views are re-rendered as data changes without having
to imperatively make changes to the DOM.
43. @ticofabQuiz
Do I hate Facebook for choosing such name?
A. Yes
B. Yes
C. YES
All answers are correct.