List of videos

Nix: Configure and Prosper | Konrad Klawikowski | Lambda Days 2022
This video was recorded at Lambda Days 2022 -https://www.lambdadays.org/lambdadays2022 Nix: Configure and Prosper | Konrad Klawikowski ABSTRACT Nix is becoming more and more popular and its community is growing bigger and bigger. An introduction to Nix, its ecosystem, related tools, basic usage. Nix consists of a package manager and a language to describe packages for it. Its main features are: reproducible builds, cross-distro and -platform compatibility, binary caching and collection of software bigger than the AUR. Nix as the language is a rather simple lazy (almost) pure functional language with dynamic typing that was made to be specialized in building packages. NixOS is (almost) purely functional Linux distro, which utilizes Nix to configure the OS. The talk will cover basic know-how of Nix and what real-life problems can Nix solve. This will include: Nix's core concepts, syntax, building basic derivations, nix-shell, configuring NixOS with examples, introduction to ecosystem with an example of home-manager, usage on non-NixOS, nix-portable showcase, solving reproducibility issues, bonus: unstable feature - flakes. • Timecodes: 00:00 - 06:17 - Intro and Nix as a Language 06:18 - 10:06 - Nix as a Package Manager 10:07 - 14:12 - Nix as an OS 14:13 - 16:04 - Nix-shells 16:05 - 19:28 - Non-NixOS Nix 19:29 - 22:22 - Home-manager 22:23 - 23:41 - What is Nix 23:42 - 39:03 - Test and QnA • Follow us on social: Twitter: https://twitter.com/LambdaDays LinkedIn: https://www.linkedin.com/company/lambda-days/ • Looking for a unique learning experience? Attend the next Lambda Days conference near you! • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47eUBNO8KBH_V8AfowOWOw See what's coming up at: https://codesync.global
Watch
Profunctorial data schemes, subtyping and higher kinds | Oleg Nizhnikov | Lambda Days 2022
This video was recorded at Lambda Days 2022 -https://www.lambdadays.org/lambdadays2022 Profunctorial data schemes, subtyping and higher kinds | Oleg Nizhnikov - Scala Developer ABSTRACT Oleg will show a new form of data encoding in Scala, that combines power of tagless final and recursion schemes approaches, supports subtyping and HKD form of generalizations. He will explore scala 3 powers for derivation and practical usage with a little bit of reference to category theory. • Follow us on social: Twitter: https://twitter.com/LambdaDays LinkedIn: https://www.linkedin.com/company/lambda-days/ • Looking for a unique learning experience? Attend the next Lambda Days conference near you! • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47eUBNO8KBH_V8AfowOWOw See what's coming up at: https://codesync.global
Watch
Generalizing Payment as Types | Miao ZhiCheng | Lambda Days 2022
This video was recorded at Lambda Days 2022 -https://www.lambdadays.org/lambdadays2022 Generalizing Payment as Types | Miao ZhiCheng - CTO and co-founder at Superfluid ABSTRACT Payment as we know it is a discrete amount of money units transferred one to one, either as banknotes, coins or through a bank. In Superfluid, we have generalized it to continuous money units transferred not only one to one but also one to many. The system is live on various EVM blockchains. In the next iteration, these concepts of new types of money transfer are being defined and made type-safe using Haskell. Why Specification? It serves as a reference implementation which will help to port the protocol to different blockchain implementations. It allows faster prototyping of new ideas in abstraction without being limited by any specific blockchain. Why Haskell? First of all, haskell is a pure, strongly typed, concise, high level, memory-managed modular language. Because of that, it is well suited for the job of writing the specification for the protocol where abstraction, precision and succinctness matter. Having a higher level of abstractions gets Superfluid protocol closer to being able to formal concepts, where deeper relations between entities, patterns of interactions and composability of categories may emerge. • Follow us on social: Twitter: https://twitter.com/LambdaDays LinkedIn: https://www.linkedin.com/company/lambda-days/ • Looking for a unique learning experience? Attend the next Lambda Days conference near you! • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47eUBNO8KBH_V8AfowOWOw See what's coming up at: https://codesync.global
Watch
Uncomputable functions | Daan van Berkel | Lambda Days 2022
This video was recorded at Lambda Days 2022 -https://www.lambdadays.org/lambdadays2022 Uncomputable functions | Daan van Berkel - Software Craftsperson ABSTRACT Lambda calculus is the archetype for functional languages and places functions front and center. As a tool for thought it is very powerful. But it is not omnipotent! There are "functions" that are not computable. How can there be functions that you can not compute? And what does that even mean? In this talk we will take you on a whirlwind tour of uncomputable functions and explore the tantalizing frontier of current knowledge • Follow us on social: Twitter: https://twitter.com/LambdaDays LinkedIn: https://www.linkedin.com/company/lambda-days/ • Looking for a unique learning experience? Attend the next Lambda Days conference near you! • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47eUBNO8KBH_V8AfowOWOw See what's coming up at: https://codesync.global
Watch
Anosy: Approximate Knowledge Synthesis with Refinement Types | Niki Vazou | Lambda Days 2022
This video was recorded at Lambda Days 2022 -https://www.lambdadays.org/lambdadays2022 Anosy: Approximate Knowledge Synthesis with Refinement Types | Niki Vazou - Research Assistant Professor at IMDEA Software Institute in Madrid. ABSTRACT Non-interference is a popular way to enforce confidentiality of sensitive data. However, declassification of sensitive information is often needed in realistic applications but breaks non-interference. We present ANOSY, an approximate knowledge synthesizer for quantitative declassification policies. ANOSY uses refinement types to automatically construct machine checked over- and under-approximations of attacker knowledge for boolean queries on multi-integer secrets. It also provides an AnosyT monad transformer to track the attacker knowledge over multiple declassification queries, and checks for violations against the user-specified policies on information flow control applications. We implemented a prototype of ANOSY and showed that it is precise and permissive: up to 14 declassification queries were permitted before policy violation using the powersets of interval domain. • Follow us on social: Twitter: https://twitter.com/LambdaDays LinkedIn: https://www.linkedin.com/company/lambda-days/ • Looking for a unique learning experience? Attend the next Lambda Days conference near you! • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47eUBNO8KBH_V8AfowOWOw See what's coming up at: https://codesync.global
Watch
Debugging for math lover | Michał J. Gajda | Lambda Days 2022
This video was recorded at Lambda Days 2022 -https://www.lambdadays.org/lambdadays2022 Debugging for math lover | Michał J. Gajda - Software engineer ABSTRACT We make a toy model of debugging process and see how it is affected by different programming techniques, methodologies, and stylistic choices. This allows us to make a case for functional programming and mathematically founded programming in general. It also points at how different IDE mechanism may further help a functional programmer in debugging her programs. • Timecodes 00:00 - 02:39 - Intro and Types of errors 04:40 - 08:46 - Discrepancy Model 08:47 - 15:30 - Time to Fix and Fixing Functions 15:31 - 28:25 - Fixing a Library 28:26 - 34:22 - Ultimate Ways of Reducing Complexity 34:23 - 42:28 - QnA • Follow us on social: Twitter: https://twitter.com/LambdaDays LinkedIn: https://www.linkedin.com/company/lambda-days/ • Looking for a unique learning experience? Attend the next Lambda Days conference near you! • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47eUBNO8KBH_V8AfowOWOw See what's coming up at: https://codesync.global
Watch
Taming Floating Points in Scala & CakeML | Eva Darulova | Lambda Days 2022
This video was recorded at Lambda Days 2022 -https://www.lambdadays.org/lambdadays2022 Effectful | Paweł Szulc - Haskell Developer ABSTRACT Floating-point arithmetic enables efficient numerical computations, but is also notorious for being unintuitive due to its special values as well as rounding operations, the latter inevitably introducing errors at most arithmetic operations. One way of making sure that computed results are meaningful, i.e. accurate enough, even in the presence of such errors is to use a static analyzer that bounds the worst-case rounding errors. In this talk, I will give an overview of our recent research results and tools on formal verification of floating-point programs, focusing in particular on what is possible today when analyzing functional programs. • Follow us on social: Twitter: https://twitter.com/LambdaDays LinkedIn: https://www.linkedin.com/company/lambda-days/ • Looking for a unique learning experience? Attend the next Lambda Days conference near you! • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47eUBNO8KBH_V8AfowOWOw See what's coming up at: https://codesync.global
Watch
Thread per request vs Thread pool per operation | Krzysztof Płachno | Lambda Days 2022
This video was recorded at Lambda Days 2022 -https://www.lambdadays.org/lambdadays2022 Thread per request vs Thread pool per operation | Krzysztof Płachno - Scala Data Engineer at SwissBorg ABSTRACT When thinking about web applications designs there are two most common architectural paths that we can apply: the old good J2EE one of having one thread per request and newer, more FP-like of having separate thread pools for different operations in request fulfilment logic. Although, at functional programming conference, audience preference for one of those approaches is rather obvious, why not to have a closer look on both approaches and clearly get pros and cons of each? Talk meant to be a presentation of both architectural solutions, providing analysis their design motivations and practical consequences, pointing out advantages and drawbacks. All this to have nice comparison of them, that may help make valid decision on technology used of your next project. As concrete implementation examples Spring and Akka Http frameworks will be used. Disclaimer: The speaker codes Scala as part of my 9-5 job, still running my afterwork project in Java. Don't judge. At least before listening to the talk. • Timecodes 00:00 - 03:48 - Intro 03:49 - 05:52 - Web Application Characteristics 05:53 - 07:46 - Thread Mapping Models 07:47 - 08:49 - JVM 08:50 - 16:49 - Thread per Request 16:50 - 19:36 - Thread Pool per Operation 19:37 - 28:39 - Comparison 28:40 - 33:25 - Demo 33:26 - 44:43 - QnA • Follow us on social: Twitter: https://twitter.com/LambdaDays LinkedIn: https://www.linkedin.com/company/lambda-days/ • Looking for a unique learning experience? Attend the next Lambda Days conference near you! • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47eUBNO8KBH_V8AfowOWOw See what's coming up at: https://codesync.global
Watch
Algorithm design with the Selection Monad | Johannes Hartmann | Lambda Days 2022
Algorithm design with the Selection Monad | Johannes Hartmann | Research Student and Software Engineer ABSTRACT Ever wondered what the selection monad is and how it can be useful to programmers? In my talk, I want to provide a basic intuition on how the selection monad can be used and how we can utilise it to implement different kinds of algorithms. We will see that exhaustive search and greedy algorithms work quite well together with the selection monad. Paper authors: Johannes Hartmann and Jeremy Gibbons • Follow us on social: Twitter: https://twitter.com/LambdaDays LinkedIn: https://www.linkedin.com/company/lambda-days/ • Looking for a unique learning experience? Attend the next Code Sync conference near you! See what’s coming up at: https://codesync.global • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47eUBNO8KBH_V8AfowOWOw
Watch