This was a talk from DDDSW on Akka.Net, the actor model, concurrency and reactive. It covered what they are as well as an example use case and the lessons learned when running in that use case.
The actor model is an approach to designing concurrent systems that has been around since the early 70's, but is gaining more popularity today. Being a message-based approach, the actor model fits nicely when building out transactional or multi-step workflow process systems. Message-driven actor systems take a lot of the complexity away and allow you to create small classes (actors) that handle very specific tasks. These actors are coordinated via the passing of immutable messages, which allows your system to scale out if needed. In this talk, we’ll look at a popular .NET actor system Akka.NET and, through several simple examples, show you how to get started building scalable message-driven solutions.
Reactive applications with Akka.Net - DDD East Anglia 2015Anthony Brown
Application requirements have changed significantly over the past 20 years and we’re now building software which has to handle potentially millions of users and billions of devices. The reactive manifesto is a set of common traits shared by applications capable of handling these new requirements. Akka is the canonical example of a toolkit for building such applications, but thanks to a team of dedicated developers, Akka has arrived on the CLR in the form of Akka.Net. This session looks at the key principles of Akka.Net and how using these you can build applications which handle potentially massive traffic.
Reactive Programming in .Net - actorbased computing with Akka.NetSören Stelzer
Im Entwickler-Alltag finden wir uns oft in Situationen wieder in denen wir mit parallelen, nebenläufigen Systemen kämpfen. Hier kann Actorbased Programming helfen dieser Herr zu werden. Akka.Net, welches sich selbst als „toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications“ bezeichnet erlaubt es Entwicklern dieses Paradigma für sich zu nutzen.Akka.Net ist eine Portierung des von Typesafe entwickelten Actor-Framework.In der Java/Scala Welt hat es bereits einen durchschlagenden Erfolg. Akka.Net bietet nun diese Möglichkeiten für .Net-Entwickler.Im Wesentlichen soll der Vortrag auf die Basics des Actorbased Computings eingehen, sowie Parallelen zu verwandten Thematiken wie Agentbased Computing und verwandten Design-Patterns herstellen.An kleinen abstrakten Szenarien wird das Framework und eine minimale Anwendung eines Actor-Systems vorgestellt. Zum Abschluss ist geplant nochmals auf die essentielle Kommunikationspattern eingegangen.
Writing a Search Engine. How hard could it be?Anthony Brown
5 of the most dangerous words you'll hear a developer say are "How hard could it be?". This talk tells the tale of what happens when you act on the question of "I'm going to write the next Google beater. How hard could it be?" This is the tale of how one person in a few hours is able to write something resembling a search engine thanks to the platform features of Azure and the productivity of F#. We'll see how we're able to use Azure search from F# to easily power our search internals, we'll use MBrace to rapidly find the most popular web pages on the internet and Azure functions to tie everything together to build up APIs and create on demand infrastructure. Add in a healthy mix of queues provided by Azure Service Bus and if you squint hard enough, you might just end up seeing something resembling a search engine.
But seriously writing the next Google, just how hard could it be?
A recording of this talk is available via SkillsMatter at https://skillsmatter.com/skillscasts/8901-f-sharpunctional-londoners-meetup
This document discusses Akka.NET, a framework for building distributed, concurrent applications using the actor model. It explains that in the actor model, everything is an actor that can send and receive immutable messages asynchronously. Actors in Akka.NET are lightweight threads that handle messages concurrently without shared state. The document provides examples of how to define actors and send messages in Akka.NET. It argues that the actor model enables building highly concurrent, scalable and fault-tolerant applications more easily than traditional threading approaches.
Elm - Could this be the Future of Web Dev?David Hoerster
As a developer who enjoys building concurrent and distributed applications, dealing with the front end has never been a favorite task. And I have often thought that building front-end applications by mixing logic into HTML tags has never felt right. What if I could build my web app using a more unified language and approach? Well, enter Elm, a functional language that transpiles to JavaScript while providing static type checking. In this session, we'll take a look at what Elm provides, how its simple Model-Update-View architecture can bring a lot of power to your applications, and we'll walk through a simple SPA demo in order to provide you a taste of what Elm can provide. At the end of this session, you'll have a better understanding of Elm's approach to web application development and be equipped to build your own Elm applications.
This document provides an introduction to the actor model in Microsoft Service Fabric. It discusses key concepts of actors like message passing, state management, and concurrency. Actors are designed for high scalability and can distribute work across a cluster of machines. The document recommends understanding if the actor model fits one's requirements before building an application with it. It also provides some best practices and limitations to keep in mind for actor development.
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.
The actor model is an approach to designing concurrent systems that has been around since the early 70's, but is gaining more popularity today. Being a message-based approach, the actor model fits nicely when building out transactional or multi-step workflow process systems. Message-driven actor systems take a lot of the complexity away and allow you to create small classes (actors) that handle very specific tasks. These actors are coordinated via the passing of immutable messages, which allows your system to scale out if needed. In this talk, we’ll look at a popular .NET actor system Akka.NET and, through several simple examples, show you how to get started building scalable message-driven solutions.
Reactive applications with Akka.Net - DDD East Anglia 2015Anthony Brown
Application requirements have changed significantly over the past 20 years and we’re now building software which has to handle potentially millions of users and billions of devices. The reactive manifesto is a set of common traits shared by applications capable of handling these new requirements. Akka is the canonical example of a toolkit for building such applications, but thanks to a team of dedicated developers, Akka has arrived on the CLR in the form of Akka.Net. This session looks at the key principles of Akka.Net and how using these you can build applications which handle potentially massive traffic.
Reactive Programming in .Net - actorbased computing with Akka.NetSören Stelzer
Im Entwickler-Alltag finden wir uns oft in Situationen wieder in denen wir mit parallelen, nebenläufigen Systemen kämpfen. Hier kann Actorbased Programming helfen dieser Herr zu werden. Akka.Net, welches sich selbst als „toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications“ bezeichnet erlaubt es Entwicklern dieses Paradigma für sich zu nutzen.Akka.Net ist eine Portierung des von Typesafe entwickelten Actor-Framework.In der Java/Scala Welt hat es bereits einen durchschlagenden Erfolg. Akka.Net bietet nun diese Möglichkeiten für .Net-Entwickler.Im Wesentlichen soll der Vortrag auf die Basics des Actorbased Computings eingehen, sowie Parallelen zu verwandten Thematiken wie Agentbased Computing und verwandten Design-Patterns herstellen.An kleinen abstrakten Szenarien wird das Framework und eine minimale Anwendung eines Actor-Systems vorgestellt. Zum Abschluss ist geplant nochmals auf die essentielle Kommunikationspattern eingegangen.
Writing a Search Engine. How hard could it be?Anthony Brown
5 of the most dangerous words you'll hear a developer say are "How hard could it be?". This talk tells the tale of what happens when you act on the question of "I'm going to write the next Google beater. How hard could it be?" This is the tale of how one person in a few hours is able to write something resembling a search engine thanks to the platform features of Azure and the productivity of F#. We'll see how we're able to use Azure search from F# to easily power our search internals, we'll use MBrace to rapidly find the most popular web pages on the internet and Azure functions to tie everything together to build up APIs and create on demand infrastructure. Add in a healthy mix of queues provided by Azure Service Bus and if you squint hard enough, you might just end up seeing something resembling a search engine.
But seriously writing the next Google, just how hard could it be?
A recording of this talk is available via SkillsMatter at https://skillsmatter.com/skillscasts/8901-f-sharpunctional-londoners-meetup
This document discusses Akka.NET, a framework for building distributed, concurrent applications using the actor model. It explains that in the actor model, everything is an actor that can send and receive immutable messages asynchronously. Actors in Akka.NET are lightweight threads that handle messages concurrently without shared state. The document provides examples of how to define actors and send messages in Akka.NET. It argues that the actor model enables building highly concurrent, scalable and fault-tolerant applications more easily than traditional threading approaches.
Elm - Could this be the Future of Web Dev?David Hoerster
As a developer who enjoys building concurrent and distributed applications, dealing with the front end has never been a favorite task. And I have often thought that building front-end applications by mixing logic into HTML tags has never felt right. What if I could build my web app using a more unified language and approach? Well, enter Elm, a functional language that transpiles to JavaScript while providing static type checking. In this session, we'll take a look at what Elm provides, how its simple Model-Update-View architecture can bring a lot of power to your applications, and we'll walk through a simple SPA demo in order to provide you a taste of what Elm can provide. At the end of this session, you'll have a better understanding of Elm's approach to web application development and be equipped to build your own Elm applications.
This document provides an introduction to the actor model in Microsoft Service Fabric. It discusses key concepts of actors like message passing, state management, and concurrency. Actors are designed for high scalability and can distribute work across a cluster of machines. The document recommends understanding if the actor model fits one's requirements before building an application with it. It also provides some best practices and limitations to keep in mind for actor development.
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.
This document discusses the Service Fabric reliable actor model. It begins by explaining the origins of the actor model in computer science and how it relates to concurrency and message passing. It then describes how Service Fabric implements the reliable actor pattern, including how actors are represented as .NET/Java classes, have reliable state storage, and lifecycle management. The document discusses architecture details like the actor service and runtime. It also covers topics like partitioning, concurrency handling, reentrancy, reminders, and when to use the actor model.
Akka is a event driven, asynchronous, distributed framework which help in doing asyc event handling. Akka is reactive which gives him power to handle faults, become responsive, elastic.
The document discusses the actor model and Akka framework for building concurrent and distributed applications. It introduces some challenges of multi-threaded programming like non-determinism and shared mutable state. The actor model addresses these issues by representing entities as isolated actors that communicate asynchronously via message passing without shared state. Akka is an implementation of the actor model on the JVM that makes building fault-tolerant distributed systems easier. Key aspects covered include defining actors, routing messages, fault tolerance, and building remote actors for distribution. A Twitter-like messaging service is presented as a case study of how to structure such an application using Akka actors.
Elixir – Peeking into Elixir's Processes, OTP and SupervisorsBenjamin Tan
The document discusses key concepts in Elixir including processes, OTP framework, and supervisors. It provides an overview of processes as Elixir's basic concurrency primitive. It then explains OTP as a framework for building fault-tolerant and scalable applications, including behaviors like GenServer and common patterns. Finally, it covers supervisors and how they provide fault tolerance and recovery through restarting processes based on different strategies. Code examples are provided to demonstrate processes, GenServers, and supervisors.
How Elixir helped us scale our Video User Profile Service for the OlympicsEmerson Macedo
The document discusses how a video user profile service originally built in Ruby on Rails was scaled using Elixir. It initially increased resources and used containers, improving performance by 32% and 12% respectively. It was found one endpoint handled 80% of traffic. Rewriting this in Elixir improved performance by 95% and reduced containers by 35%. The results showed Elixir was able to significantly improve scalability and metrics for the growing user profile API.
Empower every Azure Function to achieve more!!Massimo Bonanni
The Azure Functions seem easy to use but what if our business scenario cannot be implemented using one of the "default" triggers or bindings? "Extension" is the keyword in this case! In this session, we see how to enhance our functions with custom triggers and custom bindings to make the most of the power of Serverless.
Session delivered at ServerlessDay Warsaw on 21/10/2021.
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 quest for global design principles - PHP Benelux 2016Matthias Noback
If you’re a programmer you make design decisions every second. Statements, functions, classes, packages, applications, even entire systems: you need to think, and often think hard, about everything. Luckily there are many useful design principles, patterns and best practices that you can apply. But some of them merely expose code smells. Others only help you design your classes. And some are applicable to packages only. Wouldn’t it be nice to have some more general, always useful, invariably applicable, foundational design principles?
In this talk we’ll look at software from many different perspectives, and while we’re zooming in and out, we’ll discover some of the deeper principles that lie beneath proper object-oriented design. They are the foundation of many of the well-known design patterns and they may even serve as an explanation for code smells.
At the NATS June Meetup in Boulder, CO, Steven Osborne and Charlie Strawn of Workiva present the Actor Model concept their team are using, and some of the work they are doing to connect NATS and Akka.
You can learn more about NATS at http://www.nats.io
Empower every Azure Function to achieve more!!Massimo Bonanni
This document contains information from a presentation on Azure Functions including:
- An overview of Azure Functions and their pay-per-use model with instant scalability.
- Details on the anatomy of a function including triggers, bindings, and their associated classes.
- Explanations of the startup and runtime phases of functions and how triggers and bindings are configured.
- Recommendations to write efficient functions that avoid unnecessary resource usage.
- Links provided for additional documentation, code samples, and the speaker's contact information.
MongoDB .local Houston 2019: REST-less Mobile Apps: Why Offline-first and Syn...MongoDB
The document discusses how mobile app users now expect always-on, responsive experiences from apps regardless of connectivity. Developing apps to meet these expectations is challenging due to variable network conditions. The Realm database is presented as a solution for building "REST-less" offline-first mobile apps that can work seamlessly and reliably even without connectivity through its live data model, implicit syncing, and change notifications. The document provides examples of how Realm can replace custom networking code and enable new use cases for digital transformation at various companies.
Sessione tenuta a CodeGen 2021 il 13/02/2021
Serverless è una architettura basata sugli eventi e quali migliori scenari se non quelli IoT sono fondati sugli eventi? Migliaia di device che inviano telemetrie alla nostra soluzione e che dobbiamo gestire. In questa sessione vedremo un semplice approccio a scenari di questo genere che utilizza le Durable Entities per gestire la logica associata ai device del nostro sistema. Un esempio pratico per capire pregi e difetti delle Durable Entities che possono essere utili in moltissimi scenari in cui gestire eventi è essenziale.
The user is unable to access their EC2 Linux server from a Windows machine using Putty. The server has a public IP address assigned but connection is not possible. The issue was likely an inactive internet gateway not attached to the VPC. Creating and attaching an internet gateway resolved the problem, allowing Putty connection to the server using the public IP for authentication with the ec2-user username.
Serverless è una architettura basata sugli eventi e quali migliori scenari se non quelli IoT sono fondati sugli eventi? Migliaia di device che inviano telemetrie alla nostra soluzione e che dobbiamo gestire. In questa sessione vedremo un semplice approccio a scenari di questo genere che utilizza le Durable Entities per gestire la logica associata ai device del nostro sistema. Un esempio pratico per capire pregi e difetti delle Durable Entities che possono essere utili in moltissimi scenari in cui gestire eventi è essenziale.
Sessione tenuta durante Azure Global Virtual 2021.
Durable Functions vs Logic App : la guerra dei workflow!!Massimo Bonanni
Hai la necessità di implementare un workflow o un integrazione tra servizi?
Ti serve scalabilità e non vuoi preoccuparti degli aspetti infrastrutturali?
Non sai da dove iniziare?
Inizia da questa sessione! Il serverless è la risposta per la scalabilità e l'astrazione infrastrutturale, ma per l'aspetto tecnologico puoi scegliere tra Durable Functions e Logic App. Questa sessione ti mostrerà pro e contro di entrambe le tecnologie fornendoti gli strumenti necessari per una scelta oculata.
Sessione del meetup #PitchOnline di #Coding del 21/07/2021
The document discusses using Durable Functions to manage state in Azure Functions. Durable Functions allow for adding state management, checkpoints, and restarts to address limitations of stateless Azure Functions. It describes Durable Function components like orchestrators and activities that can be used to build workflows. Examples are given of how Durable Functions can be used to implement patterns like function chaining, fan-out/fan-in, human interaction, and aggregation that are difficult to do with stateless functions. Durable Entities are also introduced as a way to define operations for reading and updating small pieces of state.
What are the actors? What are they used for? And how can we develop them? And how are they published and used on Azure? Let's see how it's done in this session
How do I - Networking and Webservices - Transcript.pdfShaiAlmog1
The document discusses different approaches to networking on mobile devices using Codename One. It covers:
1) ConnectionRequest, which is Codename One's primary networking API. It is asynchronous and seamlessly handles threading.
2) Using URLs, but this requires manually handling threading which can be difficult.
3) Builtin sockets and WebSockets, with WebSockets being easier to use for sending and receiving messages.
4) Generating server-side code stubs and parsing response formats like JSON/XML to implement web services using ConnectionRequest or REST APIs.
This document discusses the Service Fabric reliable actor model. It begins by explaining the origins of the actor model in computer science and how it relates to concurrency and message passing. It then describes how Service Fabric implements the reliable actor pattern, including how actors are represented as .NET/Java classes, have reliable state storage, and lifecycle management. The document discusses architecture details like the actor service and runtime. It also covers topics like partitioning, concurrency handling, reentrancy, reminders, and when to use the actor model.
Akka is a event driven, asynchronous, distributed framework which help in doing asyc event handling. Akka is reactive which gives him power to handle faults, become responsive, elastic.
The document discusses the actor model and Akka framework for building concurrent and distributed applications. It introduces some challenges of multi-threaded programming like non-determinism and shared mutable state. The actor model addresses these issues by representing entities as isolated actors that communicate asynchronously via message passing without shared state. Akka is an implementation of the actor model on the JVM that makes building fault-tolerant distributed systems easier. Key aspects covered include defining actors, routing messages, fault tolerance, and building remote actors for distribution. A Twitter-like messaging service is presented as a case study of how to structure such an application using Akka actors.
Elixir – Peeking into Elixir's Processes, OTP and SupervisorsBenjamin Tan
The document discusses key concepts in Elixir including processes, OTP framework, and supervisors. It provides an overview of processes as Elixir's basic concurrency primitive. It then explains OTP as a framework for building fault-tolerant and scalable applications, including behaviors like GenServer and common patterns. Finally, it covers supervisors and how they provide fault tolerance and recovery through restarting processes based on different strategies. Code examples are provided to demonstrate processes, GenServers, and supervisors.
How Elixir helped us scale our Video User Profile Service for the OlympicsEmerson Macedo
The document discusses how a video user profile service originally built in Ruby on Rails was scaled using Elixir. It initially increased resources and used containers, improving performance by 32% and 12% respectively. It was found one endpoint handled 80% of traffic. Rewriting this in Elixir improved performance by 95% and reduced containers by 35%. The results showed Elixir was able to significantly improve scalability and metrics for the growing user profile API.
Empower every Azure Function to achieve more!!Massimo Bonanni
The Azure Functions seem easy to use but what if our business scenario cannot be implemented using one of the "default" triggers or bindings? "Extension" is the keyword in this case! In this session, we see how to enhance our functions with custom triggers and custom bindings to make the most of the power of Serverless.
Session delivered at ServerlessDay Warsaw on 21/10/2021.
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 quest for global design principles - PHP Benelux 2016Matthias Noback
If you’re a programmer you make design decisions every second. Statements, functions, classes, packages, applications, even entire systems: you need to think, and often think hard, about everything. Luckily there are many useful design principles, patterns and best practices that you can apply. But some of them merely expose code smells. Others only help you design your classes. And some are applicable to packages only. Wouldn’t it be nice to have some more general, always useful, invariably applicable, foundational design principles?
In this talk we’ll look at software from many different perspectives, and while we’re zooming in and out, we’ll discover some of the deeper principles that lie beneath proper object-oriented design. They are the foundation of many of the well-known design patterns and they may even serve as an explanation for code smells.
At the NATS June Meetup in Boulder, CO, Steven Osborne and Charlie Strawn of Workiva present the Actor Model concept their team are using, and some of the work they are doing to connect NATS and Akka.
You can learn more about NATS at http://www.nats.io
Empower every Azure Function to achieve more!!Massimo Bonanni
This document contains information from a presentation on Azure Functions including:
- An overview of Azure Functions and their pay-per-use model with instant scalability.
- Details on the anatomy of a function including triggers, bindings, and their associated classes.
- Explanations of the startup and runtime phases of functions and how triggers and bindings are configured.
- Recommendations to write efficient functions that avoid unnecessary resource usage.
- Links provided for additional documentation, code samples, and the speaker's contact information.
MongoDB .local Houston 2019: REST-less Mobile Apps: Why Offline-first and Syn...MongoDB
The document discusses how mobile app users now expect always-on, responsive experiences from apps regardless of connectivity. Developing apps to meet these expectations is challenging due to variable network conditions. The Realm database is presented as a solution for building "REST-less" offline-first mobile apps that can work seamlessly and reliably even without connectivity through its live data model, implicit syncing, and change notifications. The document provides examples of how Realm can replace custom networking code and enable new use cases for digital transformation at various companies.
Sessione tenuta a CodeGen 2021 il 13/02/2021
Serverless è una architettura basata sugli eventi e quali migliori scenari se non quelli IoT sono fondati sugli eventi? Migliaia di device che inviano telemetrie alla nostra soluzione e che dobbiamo gestire. In questa sessione vedremo un semplice approccio a scenari di questo genere che utilizza le Durable Entities per gestire la logica associata ai device del nostro sistema. Un esempio pratico per capire pregi e difetti delle Durable Entities che possono essere utili in moltissimi scenari in cui gestire eventi è essenziale.
The user is unable to access their EC2 Linux server from a Windows machine using Putty. The server has a public IP address assigned but connection is not possible. The issue was likely an inactive internet gateway not attached to the VPC. Creating and attaching an internet gateway resolved the problem, allowing Putty connection to the server using the public IP for authentication with the ec2-user username.
Serverless è una architettura basata sugli eventi e quali migliori scenari se non quelli IoT sono fondati sugli eventi? Migliaia di device che inviano telemetrie alla nostra soluzione e che dobbiamo gestire. In questa sessione vedremo un semplice approccio a scenari di questo genere che utilizza le Durable Entities per gestire la logica associata ai device del nostro sistema. Un esempio pratico per capire pregi e difetti delle Durable Entities che possono essere utili in moltissimi scenari in cui gestire eventi è essenziale.
Sessione tenuta durante Azure Global Virtual 2021.
Durable Functions vs Logic App : la guerra dei workflow!!Massimo Bonanni
Hai la necessità di implementare un workflow o un integrazione tra servizi?
Ti serve scalabilità e non vuoi preoccuparti degli aspetti infrastrutturali?
Non sai da dove iniziare?
Inizia da questa sessione! Il serverless è la risposta per la scalabilità e l'astrazione infrastrutturale, ma per l'aspetto tecnologico puoi scegliere tra Durable Functions e Logic App. Questa sessione ti mostrerà pro e contro di entrambe le tecnologie fornendoti gli strumenti necessari per una scelta oculata.
Sessione del meetup #PitchOnline di #Coding del 21/07/2021
The document discusses using Durable Functions to manage state in Azure Functions. Durable Functions allow for adding state management, checkpoints, and restarts to address limitations of stateless Azure Functions. It describes Durable Function components like orchestrators and activities that can be used to build workflows. Examples are given of how Durable Functions can be used to implement patterns like function chaining, fan-out/fan-in, human interaction, and aggregation that are difficult to do with stateless functions. Durable Entities are also introduced as a way to define operations for reading and updating small pieces of state.
What are the actors? What are they used for? And how can we develop them? And how are they published and used on Azure? Let's see how it's done in this session
How do I - Networking and Webservices - Transcript.pdfShaiAlmog1
The document discusses different approaches to networking on mobile devices using Codename One. It covers:
1) ConnectionRequest, which is Codename One's primary networking API. It is asynchronous and seamlessly handles threading.
2) Using URLs, but this requires manually handling threading which can be difficult.
3) Builtin sockets and WebSockets, with WebSockets being easier to use for sending and receiving messages.
4) Generating server-side code stubs and parsing response formats like JSON/XML to implement web services using ConnectionRequest or REST APIs.
The document discusses security issues related to Ajax and JavaScript. It summarizes how a hacker named Samy was able to infect over 1 million MySpace profiles in 2005 by hiding malicious JavaScript in a URL. It then outlines the security risks if an attacker is able to inject scripts into a user's web page, including being able to make requests to any server, access the user's browser history and cookies, and potentially access the website's database. The document argues that the web's security model is flawed and that an object capability model is needed to properly separate privileges and reduce security risks.
The document discusses security issues related to JavaScript and the web, highlighting problems like cross-site scripting attacks and how current approaches confuse the interests of users and programs; it proposes using an object capability model and strict containment of references to address these issues by distinguishing access and preventing unintended communication between objects. Several approaches are presented that aim to provide security by limiting the capabilities granted to code, including ADsafe which defines a safe JavaScript subset, and Caja which uses runtime rewriting to enforce capabilities.
The document discusses security issues related to Ajax and JavaScript. It summarizes how a hacker named Samy was able to infect over 1 million MySpace profiles in 2005 by hiding malicious JavaScript in a URL. It then outlines the security risks if an attacker is able to inject scripts into a user's web page, including being able to make requests to any server, access the user's browser history and cookies, and potentially access the website's database. The document argues that the web's security model is flawed and that an object capability model is needed to properly separate privileges and reduce security risks.
The document discusses security issues related to JavaScript and the web, highlighting problems like cross-site scripting attacks and the lack of capability controls that allow scripts to access resources without restrictions. It proposes using an object capability model and techniques like ADsafe to constrain what scripts can do by only allowing the acquisition of references through trusted means. The goal is to redesign the DOM and JavaScript to build security in from the start through confinement and least privilege instead of trying to add it later.
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.
Presentation I gave at the Houston TechFest Sept 2009. This presentation goes over Extension Methods, Lambdas, Expression Trees, and Fluent Interfaces. I also show examples from popular frameworks using these techniques.
<p>Security design is an important, but often neglected, component of system design. In this session, Douglas Crockford, creator of Javascript Object Notation, will outline the security issues that must be considered in the architecture of Ajax applications.</p>
<p>The design of the browser did not anticipate the needs of multiparty applications. The browser’s security model frustrates useful activities and allows some very dangerous activities. This talk will look at the small set of options before us that will determine the future of the Web.<br />
During this session, attendees will:</p>
<ul>
<li>Learn why effective security is an inherent feature of good design;</li>
<li>Experience a real-time demo of a Ajax client/server system based on sound security principles</li>
<li>See how to apply secure design to rich web applications.</li>
</ul>
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.
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
The document provides an introduction to Akka, a toolkit for building concurrent, distributed, and reactive applications on the JVM. It discusses the key principles of reactive systems - being message-driven, elastic, resilient, and responsive. Akka uses the actor model of concurrency where applications are composed of independent message-processing actors. The document then provides steps to create a new Akka application and define a simple robot actor called AkkaBot to demonstrate how actors work by responding to messages.
This document provides information about a presentation on Akka.Net and distributed systems. It includes an agenda for the presentation that covers Actor Systems, the Akka.Net open source library, networking and remoting, clustering, and using Akka.Net. It also lists the presenter's contact information and links to resources like documentation and a sample project using Akka.Net.
The document discusses JavaScript and the issues with cross-site scripting (XSS) attacks on the web. It argues that XSS is a fundamental problem caused by a confusion of interests in the browser model. The document calls for resetting the HTML5 proposal to make solving XSS the top priority and developing a new "safe mode" with a simpler DOM and capabilities model to protect all interests.
This document discusses distributed computing and some of its implications. It begins by introducing concepts like network programming, mobile programming, and component-based programming that arise from relaxing the rules of object-oriented programming to allow objects to reside on different machines. The document then focuses on client-server computing, describing how Java simplifies building client-server systems through libraries for addressing, ports, sockets, and streams. It also discusses general servers that can accept connections from many clients simultaneously and object serialization for transferring objects across networks.
JAVA design patterns and Basic OOp conceptsRahul Malhotra
This Presentation is about java design patterns. I have covered some OOPs concepts as well: Polymorphism, Interface, Inheritance, abstraction etc. And the Main Topic Covers: Factory Design Patterns,Observer Design Patterns,Proxy Design Patterns,Adapter Design Patterns,MVC Design Patterns etc
Presented at FITC Toronto 2016
See details at www.fitc.ca
There is no doubt React is here to stay, it’s popularity is on the rise. But if you are new to JS or new to JS frameworks you might be wondering WHY is it so popular. In this talk we will look at why we have React and what problems it solves. The concept of reusable components, their life cycles and the common terminology. We will also explore what the workflow for building a modern React app looks like, and where React can fall short. Learning React in 2016 will be an important step in your career, so lets dive in!
Objective
Break down the concepts behind React and make it easy for people to start building with it.
Target Audience
JavaScript developers or project mangers looking to get a better understanding of React.
Assumed Audience Knowledge
Intermediate understanding of JavaScript.
Five Things Audience Members Will Learn
Why do we have react, what problems does it solve
React components
Component life cycles
Common terminology
Where React falls short
The document discusses several design patterns including Singleton, Observer, Command, Proxy, Facade, Adapter, and Mediator patterns. It provides descriptions of what each pattern is, including examples of how and when to use each pattern. It also discusses the Model-View-Controller pattern and how it is a collection of patterns used to structure user interface applications.
Similar to Building applications with akka.net (20)
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
20 Comprehensive Checklist of Designing and Developing a WebsitePixlogix Infotech
Dive into the world of Website Designing and Developing with Pixlogix! Looking to create a stunning online presence? Look no further! Our comprehensive checklist covers everything you need to know to craft a website that stands out. From user-friendly design to seamless functionality, we've got you covered. Don't miss out on this invaluable resource! Check out our checklist now at Pixlogix and start your journey towards a captivating online presence today.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Building RAG with self-deployed Milvus vector database and Snowpark Container...Zilliz
This talk will give hands-on advice on building RAG applications with an open-source Milvus database deployed as a docker container. We will also introduce the integration of Milvus with Snowpark Container Services.
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Zilliz
Join us to introduce Milvus Lite, a vector database that can run on notebooks and laptops, share the same API with Milvus, and integrate with every popular GenAI framework. This webinar is perfect for developers seeking easy-to-use, well-integrated vector databases for their GenAI apps.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations