Submit Search
Upload
Pratical eff-functional-conf
•
0 likes
•
770 views
Eric Torreborre
Follow
Presentation given at FunctionalConf 2017
Read less
Read more
Technology
Report
Share
Report
Share
1 of 111
Download now
Download to read offline
Recommended
Presentation given at Scala IO 2017
Specs2, from starters to dessert and... a look in the kitchen
Specs2, from starters to dessert and... a look in the kitchen
Eric Torreborre
How we use the Eff monad at Zalando in addition to a components strategy using github.com/zalando/grafter
Pratical eff
Pratical eff
Eric Torreborre
Structure your microservice with case classes and define precise interfaces with the Eff monad
Pratical eff monad at Scaladays Chicago
Pratical eff monad at Scaladays Chicago
Eric Torreborre
How do we use DI and the eff monad at zalando to structure a microservice.
Pratical eff-scalaitaly-2017
Pratical eff-scalaitaly-2017
Eric Torreborre
Backend is the new frontend Antoine Cheron, Phd Student at INRIA and Fabernovel
APIdays Paris 2019 Backend is the new frontend by Antoine Cheron
APIdays Paris 2019 Backend is the new frontend by Antoine Cheron
apidays
Object Oriented JavaScript
Object Oriented JavaScript
techwhizbang
Talk delivered at AgileIndia DevOps Day.
Agile India: Practices Change - Moving to Delivering continuously
Agile India: Practices Change - Moving to Delivering continuously
Maaret Pyhäjärvi
Delivering continuously - easier said than done. As I joined my team delivering Windows Desktop products two years ago with the aspiration of implementing continuous delivery, I was told it cannot be done. It started from the fact that making a single release was five-day effort, and continued with “no user would allow us to deliver frequently”. Two years later, making a release takes us two hours and the way we work together looks very different. With the principle of fixing maintenance issues in the latest release has resulted in improved flow forward and savings of effort in supporting small number of releases. This talk goes through our lessons learned on the journey of shortening release cycles to a continuous daily flow. We’ve experienced three essentially different sets of practices, with the core difference coming from release frequency. The good place is when we deliver continuously. The soulsucking place is when we deliver on two week cadence. And the insane asylum is when we deliver just once at the end of the project. Think of it like this: a pool is not just a bigger bathtub. The things you can do in a pool are different to those you can do in a bathtub. While both are containers of water, they serve different purposes. It is the same with release frequency. While it is all still releases, the continuous ones enable different practices. More details: https://confengine.com/agile-india-2019/proposal/7961/practices-change-moving-to-delivering-continuously Conference link: https://2019.agileindia.org
Practices Change - Moving to Delivering Continuously by Maaret Pyhajarvi at #...
Practices Change - Moving to Delivering Continuously by Maaret Pyhajarvi at #...
Agile Software Community of India
Recommended
Presentation given at Scala IO 2017
Specs2, from starters to dessert and... a look in the kitchen
Specs2, from starters to dessert and... a look in the kitchen
Eric Torreborre
How we use the Eff monad at Zalando in addition to a components strategy using github.com/zalando/grafter
Pratical eff
Pratical eff
Eric Torreborre
Structure your microservice with case classes and define precise interfaces with the Eff monad
Pratical eff monad at Scaladays Chicago
Pratical eff monad at Scaladays Chicago
Eric Torreborre
How do we use DI and the eff monad at zalando to structure a microservice.
Pratical eff-scalaitaly-2017
Pratical eff-scalaitaly-2017
Eric Torreborre
Backend is the new frontend Antoine Cheron, Phd Student at INRIA and Fabernovel
APIdays Paris 2019 Backend is the new frontend by Antoine Cheron
APIdays Paris 2019 Backend is the new frontend by Antoine Cheron
apidays
Object Oriented JavaScript
Object Oriented JavaScript
techwhizbang
Talk delivered at AgileIndia DevOps Day.
Agile India: Practices Change - Moving to Delivering continuously
Agile India: Practices Change - Moving to Delivering continuously
Maaret Pyhäjärvi
Delivering continuously - easier said than done. As I joined my team delivering Windows Desktop products two years ago with the aspiration of implementing continuous delivery, I was told it cannot be done. It started from the fact that making a single release was five-day effort, and continued with “no user would allow us to deliver frequently”. Two years later, making a release takes us two hours and the way we work together looks very different. With the principle of fixing maintenance issues in the latest release has resulted in improved flow forward and savings of effort in supporting small number of releases. This talk goes through our lessons learned on the journey of shortening release cycles to a continuous daily flow. We’ve experienced three essentially different sets of practices, with the core difference coming from release frequency. The good place is when we deliver continuously. The soulsucking place is when we deliver on two week cadence. And the insane asylum is when we deliver just once at the end of the project. Think of it like this: a pool is not just a bigger bathtub. The things you can do in a pool are different to those you can do in a bathtub. While both are containers of water, they serve different purposes. It is the same with release frequency. While it is all still releases, the continuous ones enable different practices. More details: https://confengine.com/agile-india-2019/proposal/7961/practices-change-moving-to-delivering-continuously Conference link: https://2019.agileindia.org
Practices Change - Moving to Delivering Continuously by Maaret Pyhajarvi at #...
Practices Change - Moving to Delivering Continuously by Maaret Pyhajarvi at #...
Agile Software Community of India
This talk presents a library, registry, supporting the creation of modular Haskell applications in a very approachable way. And since this library actually helps with wiring functions it can be reused in other contexts like creating data generators for property-based testing.
Wire once, rewire twice! (Haskell exchange-2018)
Wire once, rewire twice! (Haskell exchange-2018)
Eric Torreborre
Monitoring means many things to many people. This talk looks at Systems Monitoring, that is how to keep an eye on a given system and use this as part of overall management of a system. This talk will cover Why one monitors, What to monitor, How to monitor, the general design of a monitoring system and how Prometheus is a good fit for this in terms of instrumentation, consoles, alerts, general system health and sanity. Prometheus is a next-generation monitoring system publicly announced earlier this year, developed by companies including SoundCloud, locals Boxever and Docker. Since launch there has been wide-spread interest, and many community contributions. For more information see http://prometheus.io or http://www.boxever.com/tag/monitoring
Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)
Brian Brazil
Even test-driven development or an automated Jenkins pipeline doesn’t guarantee issue-free production operations. Nothing is immune to spike in traffic or unforeseen infrastructure issues. To increase resilience, we see a trend in applying a shift-left approach to the SRE (Site Reliability Engineering) discipline. SREs are contributing their “auto remediation as code” assets to the code repositories which get automatically built and tested in CI/CD and enable automated problem remediation in production. In this session we showcase Shift-Left SRE by leveraging Ansible on OpenShift to automate remediation of production issues based on full stack monitoring data.
Shift-left SRE: Self-healing on OpenShift with Ansible
Shift-left SRE: Self-healing on OpenShift with Ansible
Jürgen Etzlstorfer
In this talk we are going to show how TDD can help us in our daily work. Through a simple set of steps, we will see how it's possible to write a library without working before on any design. In this way, we will try to explain how are the tests who "suggests" us what to do in each state of development, how they make us focus to take baby steps in order to avoid drawbacks like paralysis by analysis. Maybe you have done some programming katas (or maybe not) but you do not achieve to see what really TDD brings you. Or it is difficult to you see how to apply it in your daily basis. Whatever your level is, the goal of this talk is trying to show how it is possible to get a software emergent design by only applying some basic TDD rules with tiny unit tests. -- En este evento vamos a mostrar cómo TDD puede ayudarnos en nuestro trabajo diario. Mediante una sencilla serie de pasos, veremos cómo se puede desarrollar una librería sin tener siquiera un prediseño pensado. De igual forma, intentaremos explicar cómo los tests nos van "sugiriendo" qué hacer en cada estado del desarrollo, cómo nos hacen enfocarnos para tomar pequeños pasos y evitar así, por ejemplo, la parálisis por análisis. Tal vez hayas hecho algunas katas (o no) y no llegas a ver qué te aporta TDD, o no ves cómo aplicarlo a tu trabajo real, o te parece un poco pérdida de tiempo. Sea cual sea tu nivel, el objetivo es intentar demostrarte cómo practicando una técnica de TDD básica a base sólo de tests unitarios es posible conseguir un diseño emergente.
How TDD helps me design - A case study
How TDD helps me design - A case study
Software Craftsmanship Alicante
Last year, Nurun and Walmart Canada launched the first responsively designed enterprise e-commerce website created for a large Canadian retailer. Built on a new platform with the Play Framework, Scala and Akka at its core, this foundation has proven itself in terms of flexibility, developer productivity, performance and scalability. We’ll share some of the insights we’ve gained in creating a best of breed solution that scales to Walmart’s needs—now and into the future.
Big Retail Goes Reactive at Walmart
Big Retail Goes Reactive at Walmart
Nurun
Java Classes
java
java
Pothnak Jagan
How we load into Vertica How we query Vertica. Check our Hadoop Loader and Hydro . Get couple of Tips from our experience.
Vertica the convertro way
Vertica the convertro way
Zvika Gutkin
Magento performancenbs
Magento performancenbs
varien
YAPC 2015 Lattice containerized workload Docker Buildpack Cloudfoundry
Lattice yapc-slideshare
Lattice yapc-slideshare
Gwenn Etourneau
Whether it's a linear regressor or a system of connected deep learning models, getting your models ready is half the battle. Did you design your machine learning system to survive the onslaught of visitors from your latest Reddit and Hacker News post? Or the influx of users shopping during Black Friday? Are you ready for a world filled with flakey networks, invalid data, and impatient users? In this talk you'll learn how to design and architect your machine learning systems for the harsh realities it will face. We will show you how we tackled these problems in a real, complex machine learning system at OLX and scaled it to serve up to billions of predictions per day, using software engineering principles while debunking the myth that Python code cannot scale.
Scaling Machine Learning Systems up to Billions of Predictions per Day
Scaling Machine Learning Systems up to Billions of Predictions per Day
Carmine Paolino
Angular Ivy
Ivy renderer
Ivy renderer
TejinderMakkar
In a world of seamless deployments to auto-scaling cloud environments, a ThoughtWorks team found itself in a very different place - trying to deploy a RESTful pricing API to every one of a UK supermarket’s 40,000 tills in a reliable, repeatable fashion.
A differnt Type of Supermarket Delivery
A differnt Type of Supermarket Delivery
Thoughtworks
GTLAB Installation Tutorial for SciDAC 2009
GTLAB Installation Tutorial for SciDAC 2009
marpierc
Slides to my Introduction to Vaadin talk at the GWT.create 2015 conference.
Introduction to Vaadin, GWT.create 2015
Introduction to Vaadin, GWT.create 2015
hezamu
Javascript under the hood covers details about the javascript engine and the runtime.
Javascript under the hood
Javascript under the hood
Ridhwana Khan
Kafka is the bedrock of Wix’s distributed Mega Microservices system. Over the years we have learned a lot about how to successfully scale our event-driven architecture to roughly 1400 mostly Scala microservices. In this talk, you will learn about 10 key decisions and steps you can take in order to safely scale-up your Kafka-based system. These Include: * How to increase dev velocity of event-driven style code. * How to optimize working with Kafka in polyglot setting * How to migrate from request-reply to event-driven * How to tackle multiple DCs environment.
10 Lessons Learned from using Kafka in 1000 microservices - ScalaUA
10 Lessons Learned from using Kafka in 1000 microservices - ScalaUA
Natan Silnitsky
I've seen projects with shiny, new code render into unmaintainable big balls of mud within 2-3 years. Multiple times. But regardless of whether it's the code base as a whole that's rotten, or whether it's just the UI and User Experience that needs a major overhaul: the question on rewrite vs refactoring will come up sooner or later. Based on years of experience, and a plethora of bad decisions cumulating into epic failures, I'll share my experience on how to have a code base that stays maintainable - even after years. After this talk, you'll have more insight into whether you should refactor or rewrite, and how to do it right from now on.
Old code doesn't stink - Detroit
Old code doesn't stink - Detroit
Martin Gutenbrunner
An introduction to Web Components and Polymer as a path for modernizing Notes applications.
An Introduction to Web Components
An Introduction to Web Components
Red Pill Now
This talk gave a brief overview of streaming systems, how they different from other data processing systems and typical use cases.
Streaming 101: Hello World
Streaming 101: Hello World
Josh Fischer
CommunityOne presentation about offline Ajax, Ajax push, and Ajax performance issues.
Ajax to the Moon
Ajax to the Moon
davejohnson
This talk presents 3 programming situations where typeclasses and generics are not adequate: evolving serialization protocols, data generation, modular applications. A library, registry, can be used to help with those 3 situations by giving us the means to wire and rewire code at will.
wire-all-the-things-lambda-days-2023.pdf
wire-all-the-things-lambda-days-2023.pdf
Eric Torreborre
Functional Programming is on the rise and many programmers fall in love with the idea that they can build well-behaved programs from small, well-understood, functions. However our community is still wondering how to best build large applications and services. Many techniques co-exist nowadays: functions-only, MTL, effects, Tagless-final, ReaderT pattern, dependency injection... This can be so confusing for newcomers. This talk will take a "zoom out" approach and come back to what we are really after: modularity. We will embark on a "modularity tour": - why is it so important to have modular programs? - vhy is it so hard to achieve modularity? - what can we expect from today's techniques? - what can we hope from the ongoing research?
The many faces of modularity
The many faces of modularity
Eric Torreborre
More Related Content
Similar to Pratical eff-functional-conf
This talk presents a library, registry, supporting the creation of modular Haskell applications in a very approachable way. And since this library actually helps with wiring functions it can be reused in other contexts like creating data generators for property-based testing.
Wire once, rewire twice! (Haskell exchange-2018)
Wire once, rewire twice! (Haskell exchange-2018)
Eric Torreborre
Monitoring means many things to many people. This talk looks at Systems Monitoring, that is how to keep an eye on a given system and use this as part of overall management of a system. This talk will cover Why one monitors, What to monitor, How to monitor, the general design of a monitoring system and how Prometheus is a good fit for this in terms of instrumentation, consoles, alerts, general system health and sanity. Prometheus is a next-generation monitoring system publicly announced earlier this year, developed by companies including SoundCloud, locals Boxever and Docker. Since launch there has been wide-spread interest, and many community contributions. For more information see http://prometheus.io or http://www.boxever.com/tag/monitoring
Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)
Brian Brazil
Even test-driven development or an automated Jenkins pipeline doesn’t guarantee issue-free production operations. Nothing is immune to spike in traffic or unforeseen infrastructure issues. To increase resilience, we see a trend in applying a shift-left approach to the SRE (Site Reliability Engineering) discipline. SREs are contributing their “auto remediation as code” assets to the code repositories which get automatically built and tested in CI/CD and enable automated problem remediation in production. In this session we showcase Shift-Left SRE by leveraging Ansible on OpenShift to automate remediation of production issues based on full stack monitoring data.
Shift-left SRE: Self-healing on OpenShift with Ansible
Shift-left SRE: Self-healing on OpenShift with Ansible
Jürgen Etzlstorfer
In this talk we are going to show how TDD can help us in our daily work. Through a simple set of steps, we will see how it's possible to write a library without working before on any design. In this way, we will try to explain how are the tests who "suggests" us what to do in each state of development, how they make us focus to take baby steps in order to avoid drawbacks like paralysis by analysis. Maybe you have done some programming katas (or maybe not) but you do not achieve to see what really TDD brings you. Or it is difficult to you see how to apply it in your daily basis. Whatever your level is, the goal of this talk is trying to show how it is possible to get a software emergent design by only applying some basic TDD rules with tiny unit tests. -- En este evento vamos a mostrar cómo TDD puede ayudarnos en nuestro trabajo diario. Mediante una sencilla serie de pasos, veremos cómo se puede desarrollar una librería sin tener siquiera un prediseño pensado. De igual forma, intentaremos explicar cómo los tests nos van "sugiriendo" qué hacer en cada estado del desarrollo, cómo nos hacen enfocarnos para tomar pequeños pasos y evitar así, por ejemplo, la parálisis por análisis. Tal vez hayas hecho algunas katas (o no) y no llegas a ver qué te aporta TDD, o no ves cómo aplicarlo a tu trabajo real, o te parece un poco pérdida de tiempo. Sea cual sea tu nivel, el objetivo es intentar demostrarte cómo practicando una técnica de TDD básica a base sólo de tests unitarios es posible conseguir un diseño emergente.
How TDD helps me design - A case study
How TDD helps me design - A case study
Software Craftsmanship Alicante
Last year, Nurun and Walmart Canada launched the first responsively designed enterprise e-commerce website created for a large Canadian retailer. Built on a new platform with the Play Framework, Scala and Akka at its core, this foundation has proven itself in terms of flexibility, developer productivity, performance and scalability. We’ll share some of the insights we’ve gained in creating a best of breed solution that scales to Walmart’s needs—now and into the future.
Big Retail Goes Reactive at Walmart
Big Retail Goes Reactive at Walmart
Nurun
Java Classes
java
java
Pothnak Jagan
How we load into Vertica How we query Vertica. Check our Hadoop Loader and Hydro . Get couple of Tips from our experience.
Vertica the convertro way
Vertica the convertro way
Zvika Gutkin
Magento performancenbs
Magento performancenbs
varien
YAPC 2015 Lattice containerized workload Docker Buildpack Cloudfoundry
Lattice yapc-slideshare
Lattice yapc-slideshare
Gwenn Etourneau
Whether it's a linear regressor or a system of connected deep learning models, getting your models ready is half the battle. Did you design your machine learning system to survive the onslaught of visitors from your latest Reddit and Hacker News post? Or the influx of users shopping during Black Friday? Are you ready for a world filled with flakey networks, invalid data, and impatient users? In this talk you'll learn how to design and architect your machine learning systems for the harsh realities it will face. We will show you how we tackled these problems in a real, complex machine learning system at OLX and scaled it to serve up to billions of predictions per day, using software engineering principles while debunking the myth that Python code cannot scale.
Scaling Machine Learning Systems up to Billions of Predictions per Day
Scaling Machine Learning Systems up to Billions of Predictions per Day
Carmine Paolino
Angular Ivy
Ivy renderer
Ivy renderer
TejinderMakkar
In a world of seamless deployments to auto-scaling cloud environments, a ThoughtWorks team found itself in a very different place - trying to deploy a RESTful pricing API to every one of a UK supermarket’s 40,000 tills in a reliable, repeatable fashion.
A differnt Type of Supermarket Delivery
A differnt Type of Supermarket Delivery
Thoughtworks
GTLAB Installation Tutorial for SciDAC 2009
GTLAB Installation Tutorial for SciDAC 2009
marpierc
Slides to my Introduction to Vaadin talk at the GWT.create 2015 conference.
Introduction to Vaadin, GWT.create 2015
Introduction to Vaadin, GWT.create 2015
hezamu
Javascript under the hood covers details about the javascript engine and the runtime.
Javascript under the hood
Javascript under the hood
Ridhwana Khan
Kafka is the bedrock of Wix’s distributed Mega Microservices system. Over the years we have learned a lot about how to successfully scale our event-driven architecture to roughly 1400 mostly Scala microservices. In this talk, you will learn about 10 key decisions and steps you can take in order to safely scale-up your Kafka-based system. These Include: * How to increase dev velocity of event-driven style code. * How to optimize working with Kafka in polyglot setting * How to migrate from request-reply to event-driven * How to tackle multiple DCs environment.
10 Lessons Learned from using Kafka in 1000 microservices - ScalaUA
10 Lessons Learned from using Kafka in 1000 microservices - ScalaUA
Natan Silnitsky
I've seen projects with shiny, new code render into unmaintainable big balls of mud within 2-3 years. Multiple times. But regardless of whether it's the code base as a whole that's rotten, or whether it's just the UI and User Experience that needs a major overhaul: the question on rewrite vs refactoring will come up sooner or later. Based on years of experience, and a plethora of bad decisions cumulating into epic failures, I'll share my experience on how to have a code base that stays maintainable - even after years. After this talk, you'll have more insight into whether you should refactor or rewrite, and how to do it right from now on.
Old code doesn't stink - Detroit
Old code doesn't stink - Detroit
Martin Gutenbrunner
An introduction to Web Components and Polymer as a path for modernizing Notes applications.
An Introduction to Web Components
An Introduction to Web Components
Red Pill Now
This talk gave a brief overview of streaming systems, how they different from other data processing systems and typical use cases.
Streaming 101: Hello World
Streaming 101: Hello World
Josh Fischer
CommunityOne presentation about offline Ajax, Ajax push, and Ajax performance issues.
Ajax to the Moon
Ajax to the Moon
davejohnson
Similar to Pratical eff-functional-conf
(20)
Wire once, rewire twice! (Haskell exchange-2018)
Wire once, rewire twice! (Haskell exchange-2018)
Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)
Shift-left SRE: Self-healing on OpenShift with Ansible
Shift-left SRE: Self-healing on OpenShift with Ansible
How TDD helps me design - A case study
How TDD helps me design - A case study
Big Retail Goes Reactive at Walmart
Big Retail Goes Reactive at Walmart
java
java
Vertica the convertro way
Vertica the convertro way
Magento performancenbs
Magento performancenbs
Lattice yapc-slideshare
Lattice yapc-slideshare
Scaling Machine Learning Systems up to Billions of Predictions per Day
Scaling Machine Learning Systems up to Billions of Predictions per Day
Ivy renderer
Ivy renderer
A differnt Type of Supermarket Delivery
A differnt Type of Supermarket Delivery
GTLAB Installation Tutorial for SciDAC 2009
GTLAB Installation Tutorial for SciDAC 2009
Introduction to Vaadin, GWT.create 2015
Introduction to Vaadin, GWT.create 2015
Javascript under the hood
Javascript under the hood
10 Lessons Learned from using Kafka in 1000 microservices - ScalaUA
10 Lessons Learned from using Kafka in 1000 microservices - ScalaUA
Old code doesn't stink - Detroit
Old code doesn't stink - Detroit
An Introduction to Web Components
An Introduction to Web Components
Streaming 101: Hello World
Streaming 101: Hello World
Ajax to the Moon
Ajax to the Moon
More from Eric Torreborre
This talk presents 3 programming situations where typeclasses and generics are not adequate: evolving serialization protocols, data generation, modular applications. A library, registry, can be used to help with those 3 situations by giving us the means to wire and rewire code at will.
wire-all-the-things-lambda-days-2023.pdf
wire-all-the-things-lambda-days-2023.pdf
Eric Torreborre
Functional Programming is on the rise and many programmers fall in love with the idea that they can build well-behaved programs from small, well-understood, functions. However our community is still wondering how to best build large applications and services. Many techniques co-exist nowadays: functions-only, MTL, effects, Tagless-final, ReaderT pattern, dependency injection... This can be so confusing for newcomers. This talk will take a "zoom out" approach and come back to what we are really after: modularity. We will embark on a "modularity tour": - why is it so important to have modular programs? - vhy is it so hard to achieve modularity? - what can we expect from today's techniques? - what can we hope from the ongoing research?
The many faces of modularity
The many faces of modularity
Eric Torreborre
A presentation on the influence of Haskell and functional programming on other mainstream languages
What haskell taught us when we were not looking
What haskell taught us when we were not looking
Eric Torreborre
Streaming libraries are kind of complex. Why is that so? They have to handle many different concerns: streaming, composition, concurrency, resources management,... Is it possible to isolate those concerns into smaller, composable libraries?
Streaming, effects and beautiful folds: a winning trilogy
Streaming, effects and beautiful folds: a winning trilogy
Eric Torreborre
The Eff monad is an alternative to monad transformers. It is implemented as a library in https://github.com/atnos-org/eff-cats and https://github.com/atnos-org/eff-scalaz
The Eff monad, one monad to rule them all
The Eff monad, one monad to rule them all
Eric Torreborre
Short presentation to show the use of construction injection + cats.Xor to build an application as a graph of services, then use tree rewriting to replace some parts with mocks or to make singletons
Easy di-slideshare
Easy di-slideshare
Eric Torreborre
Generating data to run QuickCheck properties is a bit of a black art, especially when working with recursive data structures and (polymorphic) functions.In this talk we will review some of the issues and point to some literature aiming at solving them. We will in particular focus on one elegant piece of mathematics, combinatorial species, and see how they could serve as the foundation of data generation.
Data generation, the hard parts
Data generation, the hard parts
Eric Torreborre
This talk presents Origami, a library providing "monadic folds" to accumulate values (like mean, standard deviation, min/max) on "streams" of values which can be coming from iterators, scalaz-stream processes or Akka data flows.
Origami, a monadic fold library for Scala
Origami, a monadic fold library for Scala
Eric Torreborre
“Make illegal state unrepresentable” - Yaron Minsky Starting from Yaron’s quote we will see where it traditionally applies: values sanitization (escaping), data structures (NonEmptyList), CS constructs (parsers). Does it still apply to the rest of the day-to-day programming where things look… complicated? In particular we will develop the example of executing applications which can run on single Amazon EC2 instances (for testing) or on full EMR clusters (for production) and which can take data from S3 (meaning that they need to download it and put it somewhere first) or use local data. Can we make sure we get the right paths? Can we know when it is possible to download data efficiently (using distcopy to go directly from S3 to the cluster for example)? The answer is: create specific data types to model the different cases and tame the complexity. The take-away: datatypes are not only for “data” but they can also encapsulate “logic”
Datatypes for the real world
Datatypes for the real world
Eric Torreborre
Specs2 3.4
Specs2 3.4
Eric Torreborre
This presentation shows how to use "fold algebras" to implement a toy DSL for paths
DSLs with fold algebras
DSLs with fold algebras
Eric Torreborre
Presentation of specs2 functionalities from simple ones to less well-known + overview of the next release
Specs2 whirlwind tour at Scaladays 2014
Specs2 whirlwind tour at Scaladays 2014
Eric Torreborre
My presentation at LambdaJam 2014
Epic success \/ failure, refactoring to *real* FP
Epic success \/ failure, refactoring to *real* FP
Eric Torreborre
Presentated at ScalaSyd on Wednesday, October 9th
Vampire methods
Vampire methods
Eric Torreborre
Presentation of the main functionalities of specs2, then some less well-known (but useful!) ones. Included in the tour: all the brand new features of specs2 2.0
Specs2 whirlwind-tour
Specs2 whirlwind-tour
Eric Torreborre
Our feedback from ScalaDays 2013 to the ScalaSyd community
Scala days2013 proxyfactorybeandelegate
Scala days2013 proxyfactorybeandelegate
Eric Torreborre
These are the slides of the talk I gave at fp-syd, on Thursday, July, 19th 2012
Strong functional programming
Strong functional programming
Eric Torreborre
The Essence of the Iterator Pattern (pdf version)
The Essence of the Iterator Pattern (pdf)
The Essence of the Iterator Pattern (pdf)
Eric Torreborre
Presentation on the Essence of the Iterator Pattern given at fpsyd
The Essence of the Iterator Pattern
The Essence of the Iterator Pattern
Eric Torreborre
This presentation was given to the Scala Sydney user group on Sep. 14th, 2011.
Specs2 - Scala-Syd presentation
Specs2 - Scala-Syd presentation
Eric Torreborre
More from Eric Torreborre
(20)
wire-all-the-things-lambda-days-2023.pdf
wire-all-the-things-lambda-days-2023.pdf
The many faces of modularity
The many faces of modularity
What haskell taught us when we were not looking
What haskell taught us when we were not looking
Streaming, effects and beautiful folds: a winning trilogy
Streaming, effects and beautiful folds: a winning trilogy
The Eff monad, one monad to rule them all
The Eff monad, one monad to rule them all
Easy di-slideshare
Easy di-slideshare
Data generation, the hard parts
Data generation, the hard parts
Origami, a monadic fold library for Scala
Origami, a monadic fold library for Scala
Datatypes for the real world
Datatypes for the real world
Specs2 3.4
Specs2 3.4
DSLs with fold algebras
DSLs with fold algebras
Specs2 whirlwind tour at Scaladays 2014
Specs2 whirlwind tour at Scaladays 2014
Epic success \/ failure, refactoring to *real* FP
Epic success \/ failure, refactoring to *real* FP
Vampire methods
Vampire methods
Specs2 whirlwind-tour
Specs2 whirlwind-tour
Scala days2013 proxyfactorybeandelegate
Scala days2013 proxyfactorybeandelegate
Strong functional programming
Strong functional programming
The Essence of the Iterator Pattern (pdf)
The Essence of the Iterator Pattern (pdf)
The Essence of the Iterator Pattern
The Essence of the Iterator Pattern
Specs2 - Scala-Syd presentation
Specs2 - Scala-Syd presentation
Recently uploaded
If you are a Domino Administrator in any size company you already have a range of skills that make you an expert administrator across many platforms and technologies. In this session Gab explains how to apply those skills and that knowledge to take your career wherever you want to go.
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
The presentation explores the development and application of artificial intelligence (AI) from its inception to its current status in the modern world. The term "artificial intelligence" was first coined by John McCarthy in 1956 to describe efforts to develop computer programs capable of performing tasks that typically require human intelligence. This concept was first introduced at a conference held at Dartmouth College, where programs demonstrated capabilities such as playing chess, proving theorems, and interpreting texts. In the early stages, Alan Turing contributed to the field by defining intelligence as the ability of a being to respond to certain questions intelligently, proposing what is now known as the Turing Test to evaluate the presence of intelligent behavior in machines. As the decades progressed, AI evolved significantly. The 1980s focused on machine learning, teaching computers to learn from data, leading to the development of models that could improve their performance based on their experiences. The 1990s and 2000s saw further advances in algorithms and computational power, which allowed for more sophisticated data analysis techniques, including data mining. By the 2010s, the proliferation of big data and the refinement of deep learning techniques enabled AI to become mainstream. Notable milestones included the success of Google's AlphaGo and advancements in autonomous vehicles by companies like Tesla and Waymo. A major theme of the presentation is the application of generative AI, which has been used for tasks such as natural language text generation, translation, and question answering. Generative AI uses large datasets to train models that can then produce new, coherent pieces of text or other media. The presentation also discusses the ethical implications and the need for regulation in AI, highlighting issues such as privacy, bias, and the potential for misuse. These concerns have prompted calls for comprehensive regulations to ensure the safe and equitable use of AI technologies. Artificial intelligence has also played a significant role in healthcare, particularly highlighted during the COVID-19 pandemic, where it was used in drug discovery, vaccine development, and analyzing the spread of the virus. The capabilities of AI in healthcare are vast, ranging from medical diagnostics to personalized medicine, demonstrating the technology's potential to revolutionize fields beyond just technical or consumer applications. In conclusion, AI continues to be a rapidly evolving field with significant implications for various aspects of society. The development from theoretical concepts to real-world applications illustrates both the potential benefits and the challenges that come with integrating advanced technologies into everyday life. The ongoing discussion about AI ethics and regulation underscores the importance of managing these technologies responsibly to maximize their their benefits while minimizing potential harms.
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
Building Digital Trust in a Digital Economy Veronica Tan, Director - Cyber Security Agency of Singapore Apidays Singapore 2024: Connecting Customers, Business and Technology (April 17 & 18, 2024) ------ Check out our conferences at https://www.apidays.global/ Do you want to sponsor or talk at one of our conferences? https://apidays.typeform.com/to/ILJeAaV8 Learn more on APIscene, the global media made by the community for the community: https://www.apiscene.io Explore the API ecosystem with the API Landscape: https://apilandscape.apiscene.io/
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
apidays
Cisco CCNA
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
This project focuses on implementing real-time object detection using Raspberry Pi and OpenCV. Real-time object detection is a critical aspect of computer vision applications, allowing systems to identify and locate objects within a live video stream instantly.
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Khem
Slides from the presentation on Machine Learning for the Arts & Humanities seminar at the University of Bologna (Digital Humanities and Digital Knowledge program)
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Maria Levchenko
In an era where artificial intelligence (AI) stands at the forefront of business innovation, Information Architecture (IA) is at the core of functionality. See “There’s No AI Without IA” – (from 2016 but even more relevant today) Understanding and leveraging how Information Architecture (IA) supports AI synergies between knowledge engineering and prompt engineering is critical for senior leaders looking to successfully deploy AI for internal and externally facing knowledge processes. This webinar be a high-level overview of the methodologies that can elevate AI-driven knowledge processes supporting both employees and customers. Core Insights Include: Strategic Knowledge Engineering: Delve into how structuring AI's knowledge base is required to prevent hallucinations, enable contextual retrieval of accurate information. This will include discussion of gold standard libraries of use cases support testing various LLMs and structures and configurations of knowledge base. Precision in Prompt Engineering: Learn the art of crafting prompts that direct AI to deliver targeted, relevant responses, thereby optimizing customer experiences and business outcomes. Unified Approach for Enhanced AI Performance: Explore the intersection of knowledge and prompt engineering to develop AI systems that are not only more responsive but also aligned with overarching business strategies. Guiding Principles for Implementation: Equip yourself with best practices, ethical guidelines, and strategic considerations for embedding these technologies into your business ecosystem effectively. This webinar is designed to empower business and technology leaders with the knowledge to harness the full potential of AI, ensuring their organizations not only keep pace with digital transformation but lead the charge. Join us to map a roadmap to fully leverage Information Architecture (IA) and AI chart a course towards a future where AI is a key pillar of strategic innovation and business success.
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
Digital Global Overview Report 2024 Slides presentation for Event presented in 2024 after compilation of data around last year.
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
hans926745
45-60 minute session deck from introducing Google Apps Script to developers, IT leadership, and other technical professionals.
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
Discover the advantages of hiring UI/UX design services! Our blog explores how professional design can enhance user experiences, boost brand credibility, and increase customer engagement. Learn about the latest design trends and strategies that can help your business stand out in the digital landscape. Elevate your online presence with Pixlogix's expert UI/UX design services.
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Pixlogix Infotech
Created by Mozilla Research in 2012 and now part of Linux Foundation Europe, the Servo project is an experimental rendering engine written in Rust. It combines memory safety and concurrency to create an independent, modular, and embeddable rendering engine that adheres to web standards. Stewardship of Servo moved from Mozilla Research to the Linux Foundation in 2020, where its mission remains unchanged. After some slow years, in 2023 there has been renewed activity on the project, with a roadmap now focused on improving the engine’s CSS 2 conformance, exploring Android support, and making Servo a practical embeddable rendering engine. In this presentation, Rakhi Sharma reviews the status of the project, our recent developments in 2023, our collaboration with Tauri to make Servo an easy-to-use embeddable rendering engine, and our plans for the future to make Servo an alternative web rendering engine for the embedded devices industry. (c) Embedded Open Source Summit 2024 April 16-18, 2024 Seattle, Washington (US) https://events.linuxfoundation.org/embedded-open-source-summit/ https://ossna2024.sched.com/event/1aBNF/a-year-of-servo-reboot-where-are-we-now-rakhi-sharma-igalia
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Igalia
With more memory available, system performance of three Dell devices increased, which can translate to a better user experience Conclusion When your system has plenty of RAM to meet your needs, you can efficiently access the applications and data you need to finish projects and to-do lists without sacrificing time and focus. Our test results show that with more memory available, three Dell PCs delivered better performance and took less time to complete the Procyon Office Productivity benchmark. These advantages translate to users being able to complete workflows more quickly and multitask more easily. Whether you need the mobility of the Latitude 5440, the creative capabilities of the Precision 3470, or the high performance of the OptiPlex Tower Plus 7010, configuring your system with more RAM can help keep processes running smoothly, enabling you to do more without compromising performance.
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
Imagine a world where information flows as swiftly as thought itself, making decision-making as fluid as the data driving it. Every moment is critical, and the right tools can significantly boost your organization’s performance. The power of real-time data automation through FME can turn this vision into reality. Aimed at professionals eager to leverage real-time data for enhanced decision-making and efficiency, this webinar will cover the essentials of real-time data and its significance. We’ll explore: FME’s role in real-time event processing, from data intake and analysis to transformation and reporting An overview of leveraging streams vs. automations FME’s impact across various industries highlighted by real-life case studies Live demonstrations on setting up FME workflows for real-time data Practical advice on getting started, best practices, and tips for effective implementation Join us to enhance your skills in real-time data automation with FME, and take your operational capabilities to the next level.
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Safe Software
I've been in the field of "Cyber Security" in its many incarnations for about 25 years. In that time I've learned some lessons, some the hard way. Here are my slides presented at BSides New Orleans in April 2024.
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Rafal Los
As privacy and data protection regulations evolve rapidly, organizations operating in multiple jurisdictions face mounting challenges to ensure compliance and safeguard customer data. With state-specific privacy laws coming up in multiple states this year, it is essential to understand what their unique data protection regulations will require clearly. How will data privacy evolve in the US in 2024? How to stay compliant? Our panellists will guide you through the intricacies of these states' specific data privacy laws, clarifying complex legal frameworks and compliance requirements. This webinar will review: - The essential aspects of each state's privacy landscape and the latest updates - Common compliance challenges faced by organizations operating in multiple states and best practices to achieve regulatory adherence - Valuable insights into potential changes to existing regulations and prepare your organization for the evolving landscape
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc
BooK Now Call us at +918448380779 to hire a gorgeous and seductive call girl for sex. Take a Delhi Escort Service. The help of our escort agency is mostly meant for men who want sexual Indian Escorts In Delhi NCR. It should be noted that any impersonator will get 100 attention from our Young Girls Escorts in Delhi. They will assume the position of reliable allies. VIP Call Girl With Original Photos Book Tonight +918448380779 Our Cheap Price 1 Hour not available 2 Hours 5000 Full Night 8000 TAG: Call Girls in Delhi, Noida, Gurgaon, Ghaziabad, Connaught Place, Greater Kailash Delhi, Lajpat Nagar Delhi, Mayur Vihar Delhi, Chanakyapuri Delhi, New Friends Colony Delhi, Majnu Ka Tilla, Karol Bagh, Malviya Nagar, Saket, Khan Market, Noida Sector 18, Noida Sector 76, Noida Sector 51, Gurgaon Mg Road, Iffco Chowk Gurgaon, Rajiv Chowk Gurgaon All Delhi Ncr Free Home Deliver
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Delhi Call girls
What is a good lead in your organisation? Which leads are priority? What happens to leads? When sales and marketing give different answers to these questions, or perhaps aren't sure of the answers at all, frustrations build and opportunities are left on the table. Join us for an illuminating session with Cian McLoughlin, HubSpot Principal Customer Success Manager, as we look at that crucial piece of the customer journey in which leads are transferred from marketing to sales.
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
HampshireHUG
Details
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
Sara Mae O’Brien Scott and Tatiana Baquero Cakici, Senior Consultants at Enterprise Knowledge (EK), presented “AI Fast Track to Search-Focused AI Solutions” at the Information Architecture Conference (IAC24) that took place on April 11, 2024 in Seattle, WA. In their presentation, O’Brien-Scott and Cakici focused on what Enterprise AI is, why it is important, and what it takes to empower organizations to get started on a search-based AI journey and stay on track. The presentation explored the complexities of enterprise search challenges and how IA principles can be leveraged to provide AI solutions through the use of a semantic layer. O’Brien-Scott and Cakici showcased a case study where a taxonomy, an ontology, and a knowledge graph were used to structure content at a healthcare workforce solutions organization, providing personalized content recommendations and increasing content findability. In this session, participants gained insights about the following: Most common types of AI categories and use cases; Recommended steps to design and implement taxonomies and ontologies, ensuring they evolve effectively and support the organization’s search objectives; Taxonomy and ontology design considerations and best practices; Real-world AI applications that illustrated the value of taxonomies, ontologies, and knowledge graphs; and Tools, roles, and skills to design and implement AI-powered search solutions.
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
Recently uploaded
(20)
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Pratical eff-functional-conf
1.
Eric Torreborre Practical Eff monad Doing
it for real
2.
3.
4.
About Zalando
5.
Merchant Operations
6.
Article service
7.
products Articleservice business-partners Zeos stocks 59.95 € 10 items
8.
How to deal?
9.
Components!
10.
11.
DI?
12.
Cake?
13.
Guice?
14.
Spring?
15.
Radical
16.
Constructor injection!
17.
18.
19.
20.
21.
22.
23.
24.
HttpServer Routes Services Clients
25.
26.
PriceHttpService PriceHttp4sService
27.
28.
Always one default
29.
In a library?
30.
31.
32.
Finally Tagless?
33.
34.
reader all the way down!
35.
Unit testing?
36.
Integration testing?
37.
HttpServer Routes Services Clients
38.
HttpServer Routes Services Clients
39.
Tree rewriting!
40.
Kiama
41.
42.
43.
Singleton?
44.
HttpServer Routes Services Clients
45.
HttpServer Routes Services Clients
46.
47.
48.
49.
App HttpServer HttpClient ClientConfig GetSizesRoute SetPriceRoute MasterData HttpClient ClientConfig Catalog HttpClient ClientConfig MasterData
50.
App HttpServer HttpClient ClientConfig GetSizesRoute SetPriceRoute MasterData HttpClient ClientConfig Catalog HttpClient ClientConfig MasterData
51.
App HttpServer HttpClient ClientConfig GetSizesRoute SetPriceRoute MasterData HttpClient Catalog ClientConfig
52.
53.
Stay lazy!
54.
55.
Start order?
56.
57.
58.
lazy reader rewrite start
59.
Eff please!
60.
61.
62.
What the Eff?
63.
64.
65.
66.
67.
Out of the
box
68.
69.
70.
71.
Article service
72.
FlowId
73.
HttpServer Routes Services Clients flowId flowId flowId flowId
74.
75.
Logged
76.
77.
78.
79.
80.
Applicative
81.
Concurrent execution
82.
MasterData PriceService Inventory
83.
84.
85.
Async
86.
TimedFutureEffect TaskEffect TaskEffect TaskEffect TwitterFutureEffect
87.
FlowId Logged Task Eval
88.
No Reader[Config, ?]
89.
Mitsaeks we made
90.
Stack definition
91.
92.
At the latest
moment!
93.
Errors
94.
3 possibilities
95.
1 error style
per layer Translation between layers
96.
Use local effects!
97.
98.
Everything is a (Free)
DSL?
99.
100.
Make price request request [PriceRequest] [PriceRequest] response Interpret
request [PriceRequest, Async] [Async]
101.
102.
Get price price [Async] [Async]
103.
104.
Time: effect or component?
105.
Get status status [Eval] now? [Eval] now
106.
Get status status [Eval] now? [Eval] now FreezedTime
107.
Get status status [Eval, Timed] runFreezedTime(status) [Eval]
108.
Recap
Download now