The document provides an overview of using Scala and Akka for building distributed sensor networks. Some key points: - The speaker uses Scala and Akka at their company for building distributed systems to manage traffic and sensor networks. - Akka actors are used to build distributed and fault-tolerant systems. Camel is used for integration between actors. Remote actors allow building systems that span multiple machines. - Examples of systems built include a border control sensor network and distributed traffic management systems. Scala and Akka provide benefits like less code, fault tolerance, and ability to interoperate with existing Java systems. - Topics covered include using Akka actors, remote actors, Camel integration,
This document provides an overview of Akka fundamentals including: - The actor model which uses message passing between encapsulated state and behavior units to achieve concurrency - The Akka actor API for building fault tolerant distributed applications in Scala and Java - Fault tolerance techniques in Akka like supervision which allows actors to monitor and respond to failures of child actors - Routing which provides abstractions for distributing messages to multiple receiver actors
This document provides an overview of reactive programming concepts including Reactive Streams and implementations like Akka and Akka Streams. It discusses: - Non-blocking processing with asynchronous event loops and back pressure to prevent OutOfMemoryErrors. - Use cases for Reactive Streams like managing uneven producer/consumer rates, ordering requirements, and efficient resource usage. - Key aspects of Reactive Streams including the Publisher, Subscriber, and Subscription interfaces. - How Akka implements the actor model for building concurrent, distributed applications and provides features like ordered message delivery, location transparency, and high-level components. - How Akka Streams implements Reactive Streams for building data pipelines
Everybody wants scalable systems. However, writing non-blocking applications in Java is not an easy task. In this session, we'll go over 3 different frameworks for managing multi-treading and concurrency support (Akka, Vertx and Quasar).
The third session of the meetup in Apache Zeppelin in Madrid. This shows the multi-user features and so on.
talk given at erlang factory 2011 about using erlang to build social games backends Watch the video of this presentation http://vimeo.com/22144057#at=0
Hai Lu presented on the Samza Portable Runner for Apache Beam. The key points are: 1) The Samza Portable Runner allows stream processing to be done in multiple languages like Python by translating Beam pipelines into the Samza execution engine. 2) It provides a high-level Python SDK for building streaming applications on top of Beam's portability framework. Pipelines are translated from Python into the language-independent Beam representation. 3) Performance is improved through batching/bundling messages between the Python and Java processes to reduce round trips. Initial tests showed throughput increasing with larger bundle sizes. 4) Example use cases demonstrated near real-time image OCR, model training,
The document discusses the actor model and how it can be used to build concurrent, scalable and fault-tolerant applications. It explains that actors are the fundamental unit of computation that encapsulate processing, storage, and communication capabilities. Actors communicate asynchronously by message passing and can create new actors, send messages, and designate how to handle the next received message. This model allows software to be easily distributed and to automatically scale up and out.
This document provides an overview of Ruby on Rails, Apache httpd, and Oracle. It discusses why Ruby on Rails is useful for rapid prototyping, and how it can be integrated with Apache and Oracle. The document demonstrates Rails generators, routing, testing with RSpec, and security features. It also outlines how to configure Apache and link Rails to an Oracle database. The presenter provides cheat sheets for creating a sample Rails application integrated with Devise, ActiveAdmin, and a database, with minimal code required. The key takeaway is that learning is fun through experimenting with different technologies.
Orchestration platforms let us work with higher level ideas like services and jobs; but there is more to a platform than scheduling and service discovery. A platform is a collection of actors and APIs that work together and provide those higher level abstractions on a distributed system. In this session we'll go deep on the architecture of open source orchestration platforms, consider scaling pains, reveal extension points, and reflect on an orchestration platform at Amazon. We'll finish with a demo of a homemade abstraction for failure injection by policy.
The document summarizes some of the key new features and changes in Java 8. It discusses the removal of the JDBC-ODBC bridge and additions to JDBC 4.2. It also mentions new classes and methods added to packages for concurrency, networking, and XML processing. Enhancements to the HotSpot VM include hardware-accelerated AES encryption. Default methods and Java Mission Control 5.3 are also noted. The latter part provides an example application using new features like lambda expressions and streams to analyze sentiment in tweets.
In this you will learn about Akka – What is Akka, some design principles behind it, and why was it developed. So let’s begin.
This document discusses deploying microservices on AWS. It begins by explaining what microservices are and then discusses hosting options on AWS including EC2, ECS, and Lambda. ECS is identified as the preferred option since it allows hosting containers with Docker. The document then covers deployment aspects like using source control with Git for multiple environments, building and testing code, deploying single services or entire clusters, live testing, and monitoring with alerts.
The document discusses the background and origins of the Erlang ecosystem. It describes how Erlang was originally developed at Ericsson to address the challenges of programming telephone switching systems, which required handling a large number of concurrent processes, distributed systems, continuous operation, and fault tolerance. It outlines the principles that guided the design of Erlang, including lightweight concurrency, asynchronous messaging, and error handling through process supervision. Finally, it discusses how the Erlang ecosystem has expanded through additional languages like Elixir and LFE that maintain Erlang's principles, as well as integrations with other languages like Lua.
TransferWise migrated over 150 services from bare metal servers to Kubernetes in AWS over the course of a year. They developed tools and processes to automate cluster creation with Terraform, service deployment through custom manifest generation from YAML definitions, and a network mesh with Envoy to enable service-to-service communication. Some lessons learned included not exposing Kubernetes complexity, choosing the right CNI plugin, and installing node local DNS to reduce errors. Future plans include using EKS for simplified upgrades, enabling developer environments, and implementing network policies and advanced deployment pipelines.
Talk given at Erlang Factory San Francisco 2012 The video of this presentation is available at http://vimeo.com/43890312#at=0
Slides of erlang factory 2011 London talk "Designing for performance with erlang" Video of this presentation available at http://vimeo.com/26715793#at=0
This document summarizes a talk on high performance network programming on the JVM. The talk discusses choosing between synchronous and asynchronous I/O, with examples of when each approach is best. It also covers how to optimize synchronous I/O on the JVM to maximize throughput. The document provides benchmarks comparing the performance of a simple synchronous memcache client versus an asynchronous one.
Presentation to the Hampton Roads Association of Environmental Educators September 15, 2011 by Debra Burrell, CVA, Volunteer Services Manager, Norfolk Botanical Garden, Norfolk VA.
El documento lista precios y especificaciones de varios componentes de computadora como procesadores, memorias, discos duros, tarjetas de video, unidades ópticas, cajas, fuentes de poder, teclados, mouse y sistemas operativos.
Hakking tips 'n tricks: practical patterns, tips and tricks working with Akka actors! http://www.meetup.com/Reactive-Amsterdam/events/231908511/
SoundCloud allows users to upload, share and record songs for free or with a paid account, and can be accessed from an iPhone. Users can sign up, upload songs, record tracks, make groups and friends, and share their music with others around the world. Many famous artists use SoundCloud as it is easy, free and fast to share their music.
Watch the video of me presenting this at Scala Exchange 2014 : https://skillsmatter.com/skillscasts/5835-bootstrapping-a-scala-mindset The aim of this session was to map out the key stages involved in moving productively from a Java to a Scala mindset. As Scala gains increasing traction in OO developer communities, more and more Java developers are in the progress of making the move from being Imperative-comfortable to FP-fluent. Many are lured by the terser syntax, others by the promise of powerful high-level constructs, and more still by the thrill of challenging themselves and learning something almost entirely new to them. The problem however, is that for many their initial enthusiasm soon wears off and the realization of how much a mind-shift this really is sinks in. In this session I discussed in some detail the key steps along a path which via much trial-and-error, has proved for me to be effective in undertaking this transition. We began at the base-camp of understanding (Java-concepts to let go of, the initially-unfamiliar syntax, the equally-unfamiliar maths idiom) and from there up into the lower foothills (the basics of the type system, infix notation, ""everything is an expression"" and referential transparency) before progressing on to the lower peaks of the language (Pattern-matching with case classes and partial functions) and ending at one significant Monadic taster (Option, map/flatMap and the for-comprehension). For maximum benefit I also pointed out the pain points I encountered, techniques and resources I used to overcome these, and we ended by mentioning next steps and further inroads into the language.
This document provides operating instructions for a digital video camera. It contains safety information, descriptions of camera parts and their functions, instructions for using modes like recording, playback and editing, and specifications. Functions covered include recording, playback controls, menu settings, self-timer, zoom, autofocus, white balance and more. Users are advised to read the manual fully before use and handle the camera carefully.
A lightning talk first presented at the 9th annual (2014) Java Posse Roundup in Crested Butte Colorado
This document discusses turning a crisis into unnecessary drama and offers sarcastic advice on how to make the situation worse. It recommends crowding around anyone typing, keeping information to yourself by relying on rumors and gossip instead of facts, working incredibly long hours while simultaneously changing many things and introducing new problems, and placing religious-level belief in selective statistics rather than considering all available data. The overall tone is critical of exaggerating crises and problems through panic, lack of communication, unreasonable actions, and ignoring evidence.
The presentation I gave at Devoxx UK 2014, subtitled "Counter-Intuitive Solutions to (All-Too-Common) Problems