Speaking
-
Ethical questions in software engineering
Software is eating the world.
We, developers and architects, are a major force influencing software, technology, and the world it creates.
We don’t have the privilege of being unaware of our actions.
If we really want to create a better world, we must understand the intersection of technology and humanity. We need to open our eyes to the link between ethics and software.
In this session we’ll look at some examples of ethical questions involving software and algorithms. We’ll discuss technology, sense of self, politics, truth, and try to understand what we can do about it.
-
Actors, Evolved
Concurrent programming is hard. Concurrent and distributed programming is even harder.
But building web applications at scale demands your application to be concurrent and distributed.
Is there a way to make this easy and approachable?
The Actor Model tries to answer just that. It is based on the concept of small computational units
communicating through asynchronous message passing, thus allowing concurrency and scalability while negating a lot of the problems of concurrent programming.
But up until now the actor model remained a rather niche approach and has not become a commonly used practice.
This may change with the introduction of "Virtual Actors" - a new abstraction for writing distributed applications.
This abstraction was introduced with the Orleans framework by Microsoft and adopted to Java by EA with their Orbit framework.
In this session you will learn about the the Actor Model, what's novel about Virtual Actors, and why it makes distributed application programming a lot simpler.
-
Coding changes
When we come to designing and writing software, we should make handling change one of our main concerns.
We all pretty much do it, even if we don't usually call it that.
In this talk we'll discuss the principles of Change Driven Design.
We'll also explore some software architecture methodologies that position handling change as a core concept and design principle.
-
Actors and microservices - Can Two Walk Together?
The Actor Model is an alternative approach to writing concurrent software without the problems introduced by multithreaded concurrency.
“Virtual Actors” are a new development of the actor model, aimed for solving distributed concurrency issues, providing better productivity, and building cloud native scalable architecture.
With the recent trend of moving into microservices based architecture, there is some confusion about Actors, microservices, and how they fit together.
This session will introduce Actors, Virtual Actors, and how they make distributed application programming a lot simpler. We will then explore the idea of building a microservices architecture on top of Actors, how they combine, and some of the lessons learnt at Gigya doing that.
-
API at Scale
Building and scaling an API based SaaS company introduces a multitude of issues that are not always obvious.
In this session we will touch the various aspects of scale an API-based company encounters as it grows.
You will learn the tools and techniques we use internally for building and scaling our API platform, and the lessons we learned along the way.
-
Building a social music service with ElasticSearch and MongoDB
This is the story of the technology behind Serendip.me.
Serendip.me was a social music startup that used social network data to build a music streaming and discovery experience.
We built a lean, mean, social-data processing machine, using Akka, MongoDB and Elasticsearch to provide real-time feed generation and music recommendations.
In this session we'll discuss the technology choices, what worked (and what didn't),
and how Elasticsearch capabilities can be used for generating a social feed and for building a simple recommendation engine matching people by shared taste.