This document discusses leveraging solver preferences to improve package managers. It describes how dependency solving is an NP-hard problem that is common across different package managers. The key ideas are to separate dependency solving from other package management tasks, and to use external solvers along with a user preference language to specify desired solutions. This modular approach allows different solvers and preferences to be easily supported.
This document provides an overview of MXF and AAF file formats. It discusses:
1. Why these formats were developed, which was to allow for content-centric workflows with metadata handling, random access to material, and open standardized compression-independent formats.
2. What the formats are, with MXF being a wrapper format for interchange of finished audiovisual material and metadata, and AAF being a more complex wrapper of metadata and essence for post-production interchange.
3. Some key concepts around the formats, including the source reference chain that allows tracking material origins and derivations, and operational patterns that control complexity.
Checkpoint-restore in userspace allows snapshotting an application's state and restoring it later. It enables use cases like live migration, rebootless kernel updates, and load balancing. The CRIU project aims to implement checkpoint-restore mainly in userspace with helper code in the kernel. It has made progress merging over 100 patches and new kernel features that expose application state. CRIU can now snapshot process trees, memory mappings, open files and more for many real applications on Linux 3.6. The project continues working on full OS resource coverage and integration with containers.
You know the future is mobile, but where do you start? How apps are built, what resources can you use, and what should you look for in a great app?Whether you have a mobile strategy or not, this quick guide will help you understand the platforms and technology to ensure you have the right fit for your company.
The document discusses research into improving free software distributions conducted at Irill. It focuses on developing advanced tools to aid both end users and distribution editors. On the user side, their work involves improving package managers to better handle installation issues. On the distribution editor side, their tools help identify problematic packages and predict repository conflicts to enhance software quality assurance.
Free and open source software is widely used, with Apache and nginx servers powering 61% of websites and Firefox, Chrome, and Android browsers accounting for 58% of internet traffic. However, as free and open source software grows on an unprecedented scale, new scientific, educational, and economic challenges have emerged regarding software development in this environment. The Irill research group aims to address these challenges through open source education programs, collaboration with communities, and bridging academic research with industry needs to support open business models and a sustainable open source ecosystem.
La préservation des logiciels: défis et opportunités pour la reproductibilité...Roberto Di Cosmo
This document discusses the challenges of software preservation and reproducibility in science and technology. It outlines how software is a key component of modern research but is fragile and can be lost. The state of software reproducibility in computer systems research is examined, finding that the majority of papers could not be reproduced. The Software Heritage project is introduced which aims to collect, organize, preserve and share all software to address these issues and support reproducibility. Open source software and replication are advocated for as important principles for software preservation platforms. Collaboration from the community is needed to integrate software preservation into development and publishing workflows while addressing legal and licensing issues.
Embracing the Inevitable: Experience Design in an Agile WorldTWG
How can designers harness the awesome power of Agile to improve their workflow and work more effectively to build digital products as part of a team? Whether your exposure to Agile methodology is just beginning or you’re already an Agile evangelist, this presentation will arm you with killer tips for developing digital projects right alongside Agile-loving developers and project managers. Grab insights into using tools such as InVision App and custom-built software, like TWG’s AlmostScrum, to improve cross-disciplinary collaboration, and find out why experience design in an Agile world really is inevitable.
1. The document provides an overview of the history and evolution of Hinduism and the place of yoga and the Bhagavad Gita within it.
2. It describes the Vedas as the earliest scriptures dating back 7,000-2,500 BC that involved worship of natural elements. Upanishads developed between 2,500-600 BC along with yoga practices and darshanas like Sankhya and Vedanta.
3. Yoga darshana, attributed to Patanjali around 2nd century BC, systematized earlier yoga practices into an eight-limbed path leading to inner peace and fulfillment. The Bhagavad Gita, dating around 2nd century
This document provides an overview of MXF and AAF file formats. It discusses:
1. Why these formats were developed, which was to allow for content-centric workflows with metadata handling, random access to material, and open standardized compression-independent formats.
2. What the formats are, with MXF being a wrapper format for interchange of finished audiovisual material and metadata, and AAF being a more complex wrapper of metadata and essence for post-production interchange.
3. Some key concepts around the formats, including the source reference chain that allows tracking material origins and derivations, and operational patterns that control complexity.
Checkpoint-restore in userspace allows snapshotting an application's state and restoring it later. It enables use cases like live migration, rebootless kernel updates, and load balancing. The CRIU project aims to implement checkpoint-restore mainly in userspace with helper code in the kernel. It has made progress merging over 100 patches and new kernel features that expose application state. CRIU can now snapshot process trees, memory mappings, open files and more for many real applications on Linux 3.6. The project continues working on full OS resource coverage and integration with containers.
You know the future is mobile, but where do you start? How apps are built, what resources can you use, and what should you look for in a great app?Whether you have a mobile strategy or not, this quick guide will help you understand the platforms and technology to ensure you have the right fit for your company.
The document discusses research into improving free software distributions conducted at Irill. It focuses on developing advanced tools to aid both end users and distribution editors. On the user side, their work involves improving package managers to better handle installation issues. On the distribution editor side, their tools help identify problematic packages and predict repository conflicts to enhance software quality assurance.
Free and open source software is widely used, with Apache and nginx servers powering 61% of websites and Firefox, Chrome, and Android browsers accounting for 58% of internet traffic. However, as free and open source software grows on an unprecedented scale, new scientific, educational, and economic challenges have emerged regarding software development in this environment. The Irill research group aims to address these challenges through open source education programs, collaboration with communities, and bridging academic research with industry needs to support open business models and a sustainable open source ecosystem.
La préservation des logiciels: défis et opportunités pour la reproductibilité...Roberto Di Cosmo
This document discusses the challenges of software preservation and reproducibility in science and technology. It outlines how software is a key component of modern research but is fragile and can be lost. The state of software reproducibility in computer systems research is examined, finding that the majority of papers could not be reproduced. The Software Heritage project is introduced which aims to collect, organize, preserve and share all software to address these issues and support reproducibility. Open source software and replication are advocated for as important principles for software preservation platforms. Collaboration from the community is needed to integrate software preservation into development and publishing workflows while addressing legal and licensing issues.
Embracing the Inevitable: Experience Design in an Agile WorldTWG
How can designers harness the awesome power of Agile to improve their workflow and work more effectively to build digital products as part of a team? Whether your exposure to Agile methodology is just beginning or you’re already an Agile evangelist, this presentation will arm you with killer tips for developing digital projects right alongside Agile-loving developers and project managers. Grab insights into using tools such as InVision App and custom-built software, like TWG’s AlmostScrum, to improve cross-disciplinary collaboration, and find out why experience design in an Agile world really is inevitable.
1. The document provides an overview of the history and evolution of Hinduism and the place of yoga and the Bhagavad Gita within it.
2. It describes the Vedas as the earliest scriptures dating back 7,000-2,500 BC that involved worship of natural elements. Upanishads developed between 2,500-600 BC along with yoga practices and darshanas like Sankhya and Vedanta.
3. Yoga darshana, attributed to Patanjali around 2nd century BC, systematized earlier yoga practices into an eight-limbed path leading to inner peace and fulfillment. The Bhagavad Gita, dating around 2nd century
Ten years analysing large code bases: a perspectiveRoberto Di Cosmo
The document discusses the author's 10 years of experience analyzing large code bases, with a focus on improving package quality assurance (QA) for GNU/Linux distributions. It describes how distributions industrialized free software by acting as intermediaries between developers and users. It then outlines the author's work studying and developing tools to help distributions more efficiently ensure package installability, find incompatible packages, and predict issues from repository updates. The talk concludes with a call to action to address software fragility and a discussion of the Software Heritage project.
Mining Component Repositories for Installability IssuesRoberto Di Cosmo
Slides of the MSR 2015 presentation on the debcheck tool, that has been used to track installability issues in Debian for almost 10 years, and can be extended to many other repositories, like the Opam and Drupal ones.
Containers for Science and High-Performance ComputingDmitry Spodarets
Within this talk, we will explore how Singularity liberates non-privileged users and host resources (such as interconnects, resource managers, file systems, accelerators, etc.) allowing users to take full control to set-up and run in their native environments. This talk explores how Singularity combines software packaging models with minimalistic containers to create very lightweight application bundles which can be simply executed and contained completely within their environment or be used to interact directly with the host file systems at native speeds. A Singularity application bundle can be as simple as containing a single binary application or as complicated as containing an entire workflow and is as flexible as you will need.
"In the beginning there was RPM, and it was good." Certainly, Linux packaging has solved many of the problems involved in shipping software, from creation to consumption and maintenance. As software development and deployment have evolved, however, new pain points have cropped up that have not been solved by traditional packaging tools.
Are containers the answer? They may be able to solve many of the current problems, but they also introduce a new set of issues and ignore important lessons from the evolution of distribution-level packaging.
Distro Recipes 2013 : Upstream management and consequences on the distributi...Anne Nicolas
This document discusses ulogd, a utility for logging network packets captured by Netfilter. It begins with background on early packet logging using syslog before ulogd was introduced. Ulogd allows packet logging via a netlink socket and userspace daemon. The document outlines ulogd's history and dependencies, issues with developer and distribution support, and concludes by providing contact information.
This document discusses Docker, an open source project that automates the deployment of applications inside software containers. It begins by describing common problems in application deployment and how virtual machines address some issues but introduce overhead. It then summarizes the history and rapid growth of Docker since its launch in 2013. The rest of the document dives into technical aspects of Docker like how images and containers work, comparisons to virtual machines, security considerations, the Docker workflow, and how Docker relates to DevOps and continuous delivery practices.
Conda is a cross-platform package manager that lets you quickly and easily build environments containing complicated software stacks. It was built to manage the NumPy stack in Python but can be used to manage any complex software dependencies.
This document discusses PHP package management and introduces Composer as a solution. Composer allows defining PHP package dependencies and versions in a composer.json file. It uses Satisfiability Modulo Theories (SAT) solving to determine how to install and update packages to satisfy all dependencies. Composer supports retrieving packages from various repositories, including Packagist which is a central repository of PHP packages. It provides advantages over other PHP package managers by enabling consistent versions across development machines and working on dependencies' code directly from version control.
Distributions and package management in the containers eranussbauml
The document discusses distributions and package management in the containers era. It notes that interest in distributions has declined based on reduced attendance at devrooms about distributions. However, distributions still provide value through their universal package format, consistent quality assurance processes, and ecosystem of related distributions. Challenges include a lack of collaboration on issues between distributions and upstream projects. Additionally, distributions often do not provide the specific software and versions users need. The document proposes managing applications and dependencies using the same tools and formats as distributions to address these challenges.
2022.03.23 Conda and Conda environments.pptxPhilip Ashton
A presentation for the African Pathogen Genomics initiative at KEMRI-Wellcome in Kilifi Kenya on Conda and Conda environments. Includes a practical exercise.
Multi-OS Continuous Packaging with docker and Project-Builder.orgBruno Cornec
This document introduces Project Builder, a tool for continuously packaging software projects. It allows packaging to be done in an operating system agnostic way across different Linux distributions and package formats. Project Builder uses container technologies like Docker to provide isolated build environments for projects. It aims to make packaging easier for upstream projects and developers to integrate with various distribution repositories and deployment systems.
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...Codemotion
In less than two years Docker went from first line of code to major Open Source project with contributions from all the big names in IT. Everyone is excited, but what's in for me - as a Dev or Ops? In short, Docker makes creating Development, Test and even Production environments an order of magnitude simpler, faster and completely portable across both local and cloud infrastructure. We will start from Docker main concepts: how to create a Linux Container from base images, run your application in it, and version your runtimes as you would with source code, and finish with a concrete example.
So. many. vulnerabilities. Why are containers such a mess and what to do abou...Eric Smalling
What’s with all of these container image vulnerabilities? I’m a developer, not a security analyst! Whether you’re a solo dev or a large team embracing DevSecOps, join me to learn practices I’ve seen successful teams using to build safer container images & avoid the mistakes they made along the way.
If you’ve even run a vulnerability scan on a container you’ve probably seen it: the dreaded list with 100s, maybe even 1000s of issues on it. Containers have made life simpler in so many ways, but security sometimes doesn’t feel like one of them. So what can we do about it?
In this talk, I’ll share what I’ve learned working with users and companies and the best practices I’ve picked up along the way to builds safer container images. I’ll also share what not to do, because there are many rabbit holes you can go down that end up wasting time and energy.
I’ll share the processes and patterns that you can use whether you’re working on an individual project, or you’re part of a bigger team embracing DevSecOps.
Documentation: https://izumi.7mind.io/latest/release/doc/distage/
Github: https://github.com/pshirshov/izumi-r2
Pavel Shirshov - DIStage: purely functional programming without sacrificing modularity with modern dependency injection for Scala
- Modularity and its importance
- DI-like mechanisms and their issues in Scala
- Why people think that "DI doesn't compose with functional programming", and why that's not true
- Designing a staged DI, for wiring at runtime, at compile-time, or mixed
- Staging programs for reliability, power and performance
- The pains of supporting rich Scala types (incl. How to emulate kind-polymorphism in Scala 2)
- Garbage collection in DI for better tests and deployments
Pavel's bio: Language-agnostic software engineer, coding for 18 years,
10 years of hands-on commercial engineering experience.
Led a cluster orchestration team at Yandex, "the Russian Google"; implemented an internal orchestration solution, "ISS" (Scala/Java/C++), managing 50K+ physical hosts across 6 datacenters.
Today, Pavel owns Irish R&D company Septimal Mind.
This document discusses using MySQL containers and provides an overview of containers and Docker. It begins with definitions of containers and how they isolate applications. It then discusses Docker and how it packages and runs applications in containers. The rest of the document demonstrates how to use official MySQL containers, including running MySQL in containers and using Docker Compose to manage multi-container applications. It concludes by discussing container orchestration with Docker Swarm and Kubernetes.
A lot of people use Docker/rkt, but very often we do not have time to actually understand how they work. So today in half-hour I will show you in a nutshell how that works. My hope is that even after you know how to build a container engine, I can still convince you that the existing tools are worth spending $MM to create and use.
Shared Object images in Docker: What you need is what you want.Workhorse Computing
Docker images require appropriate shared object files (".so") to run. Rather than assume Ubuntu has the correct lib's, use ldd to get a list and install the ones you know you need. This can reduce the underlying images from GB to a few MB.
This document discusses IzPack, an open source installation framework. It begins with an introduction and demo of IzPack's features. Some key features discussed include cross-platform compatibility, customizable installers, conditions and languages packs. The document then discusses IzPack's positioning as the only true cross-platform installer. It concludes with thoughts on open source software, including community growth over time and governance challenges.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
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.
More Related Content
Similar to Leveraging Solver Preferences to Tame your Package Manager
Ten years analysing large code bases: a perspectiveRoberto Di Cosmo
The document discusses the author's 10 years of experience analyzing large code bases, with a focus on improving package quality assurance (QA) for GNU/Linux distributions. It describes how distributions industrialized free software by acting as intermediaries between developers and users. It then outlines the author's work studying and developing tools to help distributions more efficiently ensure package installability, find incompatible packages, and predict issues from repository updates. The talk concludes with a call to action to address software fragility and a discussion of the Software Heritage project.
Mining Component Repositories for Installability IssuesRoberto Di Cosmo
Slides of the MSR 2015 presentation on the debcheck tool, that has been used to track installability issues in Debian for almost 10 years, and can be extended to many other repositories, like the Opam and Drupal ones.
Containers for Science and High-Performance ComputingDmitry Spodarets
Within this talk, we will explore how Singularity liberates non-privileged users and host resources (such as interconnects, resource managers, file systems, accelerators, etc.) allowing users to take full control to set-up and run in their native environments. This talk explores how Singularity combines software packaging models with minimalistic containers to create very lightweight application bundles which can be simply executed and contained completely within their environment or be used to interact directly with the host file systems at native speeds. A Singularity application bundle can be as simple as containing a single binary application or as complicated as containing an entire workflow and is as flexible as you will need.
"In the beginning there was RPM, and it was good." Certainly, Linux packaging has solved many of the problems involved in shipping software, from creation to consumption and maintenance. As software development and deployment have evolved, however, new pain points have cropped up that have not been solved by traditional packaging tools.
Are containers the answer? They may be able to solve many of the current problems, but they also introduce a new set of issues and ignore important lessons from the evolution of distribution-level packaging.
Distro Recipes 2013 : Upstream management and consequences on the distributi...Anne Nicolas
This document discusses ulogd, a utility for logging network packets captured by Netfilter. It begins with background on early packet logging using syslog before ulogd was introduced. Ulogd allows packet logging via a netlink socket and userspace daemon. The document outlines ulogd's history and dependencies, issues with developer and distribution support, and concludes by providing contact information.
This document discusses Docker, an open source project that automates the deployment of applications inside software containers. It begins by describing common problems in application deployment and how virtual machines address some issues but introduce overhead. It then summarizes the history and rapid growth of Docker since its launch in 2013. The rest of the document dives into technical aspects of Docker like how images and containers work, comparisons to virtual machines, security considerations, the Docker workflow, and how Docker relates to DevOps and continuous delivery practices.
Conda is a cross-platform package manager that lets you quickly and easily build environments containing complicated software stacks. It was built to manage the NumPy stack in Python but can be used to manage any complex software dependencies.
This document discusses PHP package management and introduces Composer as a solution. Composer allows defining PHP package dependencies and versions in a composer.json file. It uses Satisfiability Modulo Theories (SAT) solving to determine how to install and update packages to satisfy all dependencies. Composer supports retrieving packages from various repositories, including Packagist which is a central repository of PHP packages. It provides advantages over other PHP package managers by enabling consistent versions across development machines and working on dependencies' code directly from version control.
Distributions and package management in the containers eranussbauml
The document discusses distributions and package management in the containers era. It notes that interest in distributions has declined based on reduced attendance at devrooms about distributions. However, distributions still provide value through their universal package format, consistent quality assurance processes, and ecosystem of related distributions. Challenges include a lack of collaboration on issues between distributions and upstream projects. Additionally, distributions often do not provide the specific software and versions users need. The document proposes managing applications and dependencies using the same tools and formats as distributions to address these challenges.
2022.03.23 Conda and Conda environments.pptxPhilip Ashton
A presentation for the African Pathogen Genomics initiative at KEMRI-Wellcome in Kilifi Kenya on Conda and Conda environments. Includes a practical exercise.
Multi-OS Continuous Packaging with docker and Project-Builder.orgBruno Cornec
This document introduces Project Builder, a tool for continuously packaging software projects. It allows packaging to be done in an operating system agnostic way across different Linux distributions and package formats. Project Builder uses container technologies like Docker to provide isolated build environments for projects. It aims to make packaging easier for upstream projects and developers to integrate with various distribution repositories and deployment systems.
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...Codemotion
In less than two years Docker went from first line of code to major Open Source project with contributions from all the big names in IT. Everyone is excited, but what's in for me - as a Dev or Ops? In short, Docker makes creating Development, Test and even Production environments an order of magnitude simpler, faster and completely portable across both local and cloud infrastructure. We will start from Docker main concepts: how to create a Linux Container from base images, run your application in it, and version your runtimes as you would with source code, and finish with a concrete example.
So. many. vulnerabilities. Why are containers such a mess and what to do abou...Eric Smalling
What’s with all of these container image vulnerabilities? I’m a developer, not a security analyst! Whether you’re a solo dev or a large team embracing DevSecOps, join me to learn practices I’ve seen successful teams using to build safer container images & avoid the mistakes they made along the way.
If you’ve even run a vulnerability scan on a container you’ve probably seen it: the dreaded list with 100s, maybe even 1000s of issues on it. Containers have made life simpler in so many ways, but security sometimes doesn’t feel like one of them. So what can we do about it?
In this talk, I’ll share what I’ve learned working with users and companies and the best practices I’ve picked up along the way to builds safer container images. I’ll also share what not to do, because there are many rabbit holes you can go down that end up wasting time and energy.
I’ll share the processes and patterns that you can use whether you’re working on an individual project, or you’re part of a bigger team embracing DevSecOps.
Documentation: https://izumi.7mind.io/latest/release/doc/distage/
Github: https://github.com/pshirshov/izumi-r2
Pavel Shirshov - DIStage: purely functional programming without sacrificing modularity with modern dependency injection for Scala
- Modularity and its importance
- DI-like mechanisms and their issues in Scala
- Why people think that "DI doesn't compose with functional programming", and why that's not true
- Designing a staged DI, for wiring at runtime, at compile-time, or mixed
- Staging programs for reliability, power and performance
- The pains of supporting rich Scala types (incl. How to emulate kind-polymorphism in Scala 2)
- Garbage collection in DI for better tests and deployments
Pavel's bio: Language-agnostic software engineer, coding for 18 years,
10 years of hands-on commercial engineering experience.
Led a cluster orchestration team at Yandex, "the Russian Google"; implemented an internal orchestration solution, "ISS" (Scala/Java/C++), managing 50K+ physical hosts across 6 datacenters.
Today, Pavel owns Irish R&D company Septimal Mind.
This document discusses using MySQL containers and provides an overview of containers and Docker. It begins with definitions of containers and how they isolate applications. It then discusses Docker and how it packages and runs applications in containers. The rest of the document demonstrates how to use official MySQL containers, including running MySQL in containers and using Docker Compose to manage multi-container applications. It concludes by discussing container orchestration with Docker Swarm and Kubernetes.
A lot of people use Docker/rkt, but very often we do not have time to actually understand how they work. So today in half-hour I will show you in a nutshell how that works. My hope is that even after you know how to build a container engine, I can still convince you that the existing tools are worth spending $MM to create and use.
Shared Object images in Docker: What you need is what you want.Workhorse Computing
Docker images require appropriate shared object files (".so") to run. Rather than assume Ubuntu has the correct lib's, use ldd to get a list and install the ones you know you need. This can reduce the underlying images from GB to a few MB.
This document discusses IzPack, an open source installation framework. It begins with an introduction and demo of IzPack's features. Some key features discussed include cross-platform compatibility, customizable installers, conditions and languages packs. The document then discusses IzPack's positioning as the only true cross-platform installer. It concludes with thoughts on open source software, including community growth over time and governance challenges.
Similar to Leveraging Solver Preferences to Tame your Package Manager (20)
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
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.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
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.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...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.
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.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Leveraging Solver Preferences to Tame your Package Manager
1. Leveraging solver preferences
to tame your package managers
Roberto Di Cosmo
http://www.dicosmo.org
Universit´e Paris Diderot and INRIA, Irill
http://www.irill.org
July 8th, 2014
OUPS
Paris
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 1 / 28
2. Package managers are all around us
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 2 / 28
3. Package managers : the basics
Definition of Package Manager (Wikipedia)
... tools to automate ... installing, upgrading, configuring, and removing
software packages ... in a consistent manner. It typically maintains a
database of software dependencies and version information ...
Some package managers
Binary distributions apt, aptitude, yum,...
Source distributions portage, *BSD ports, homebrew, opam...
Language specific PyPI, Eclipse P2, (opam), ...
Application specific steam, ...
Functional approach nixOS, disnixOS,...
... you name it
Do they perform well?
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 3 / 28
4. Installations may really go wrong
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 4 / 28
5. Installation woes: no solution
# sudo apt-get install baobab
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
gnome-settings-daemon: Breaks: gnome-screensaver (< 2.28.0)
but 2.26.1-1 is to be installed
E: Broken packages
(whereas a solution did exist)
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 5 / 28
6. Installation woes: solver timeout
https://github.com/ocaml/opam/issues/685
(whereas a solution could be found in less than 1/10th of a second)
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 6 / 28
7. Managing packages is hard
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 7 / 28
8. How hard are package installation problems?
Theorem
The following problems are NP-complete:
installability of a single package
co-installability of a set of packages
Proof idea
Bi-directional mapping between dependency resolution and boolean
satisfiability. Details:
Di Cosmo, Leroy, Treinen, Vouillon et al. Managing the complexity of
large free and open source package-based software distributions. ASE
2006: Automated Software Engineering.
Alternative proof of NP-hardness (Daniel Burrows, 2008)
Encode Sudoku solving as a package installation problem, left as exercise
for the public.
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 8 / 28
9. Finding a needle in a haystack
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 9 / 28
10. An exponential number of solutions
Too many upgrade candidates
Suppose we have components qi , for 1 ≤ i ≤ n, available in versions 1 and
2, all of which are installed in version 1 on the system.
We want to install a component p in version 1 that depends on all of
q1, . . . , qn, any version.
Any of the 2n configurations {(p, 1)} ∪ {(qi , i)|i ∈ 1 . . . n, 1 ≤ i ≤ 2} is a
solution.
Which one do we choose?
paranoid only install p
trendy install p and step up all qi ’s to version 2
... and exponentially many in between!
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 10 / 28
11. An exponential number of solutions???
The sidestep approach
centralize and group : patch tuesday, service pack, ...
isolate on a monolith : AppStore(s), ...
coexist : NixOS, backward compatibility policy, no conflicts policy,
...
The delegate to others approach
identify “suites” of components (e.g. stable, testing, unstable), let the
user order them, and then try to stick to this order
Advantage tries to align the system with a chosen suite
Disadvantage depends on the quality of the most recent state: not
assured for development versions, or when mixing
repositories
difficult and cumbersome to obtain a different behaviour
when things go wrong, we may really get lost
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 11 / 28
12. Installation woes: debatable solution
# sudo apt-get install debhelper
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
armagetron armagetron-common autoconf bonobo-activation codebreaker debconf
debconf-i18n debconf-utils dialog esound-common fb-music-high fontconfig
frozen-bubble-data grepmail gv intltool-debian libaiksaurus-data
libaiksaurus0c102 libatk1.0-0 libatk1.0-dev libbonobo-activation4 libbonobo2-0
libbonobo2-common libdb3 libdbd-mysql-perl libdbi-perl libeel2-data libesd0
...
The following packages will be REMOVED:
autoconf2.13 frozen-bubble frozen-bubble-lib gconf2 gnomemeeting itk3.1-dev
libbonoboui2-0 libbonoboui2-common libdigest-md5-perl libforms0.89 libgconf2-4
libgnome2-0 libgnome2-common libgnomeui-0 libgnomevfs2-0 libgnomevfs2-common
libgtk1.2-dev libgtk2.0-0png3 libgtk2.0-dev libmime-base64-perl
libpango1.0-dev libsdl-mixer1.2-dev libsdl-perl libsdl-ttf1.2-dev
libsdl1.2-dev libsmpeg-dev libstorable-perl nautilus tk8.3-dev tktable-dev
x-window-system x-window-system-core xaw3dg-dev xlib6g xlib6g-dev xlibmesa-dev
xlibmesa3 xlibosmesa3 xlibs-dev xlibs-pic xpdf xpdf-reader
The following NEW packages will be installed:
armagetron-common debconf-i18n fb-music-high fontconfig intltool-debian
libaiksaurus-data libaiksaurus0c102 libeel2-data libfilehandle-unget-perl
libfontconfig1 libforms1 libgdbm3 libgnutls7 libgsf-1 libice-dev libice6
libidl0 liblzo1 libmagick5.5.7 libmail-mbox-messageparser-perl
libmysqlclient12 libncursesw5 libnet-daemon-perl libnewt0.51 libpaper1
libplrpc-perl libsdl-console ...
75 packages upgraded, 80 newly installed, 42 to remove and 858 not upgraded.
Need to get 67.1MB of archives. After unpacking 26.9MB will be used.
Do you want to continue? [Y/n] Abort.
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 12 / 28
13. Separation of concerns is the key
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 13 / 28
14. Package management reloaded
There are several distinct tasks that need to be performed in a package
management system:
Server side
Maintain a coherent set of packages when we add, remove, update
packages that are made available for the users... left for another talk
Client side
fetch and autenticate metadata and packages
user preferences ⇒specify the kind of solution we want
dependency solver ⇒find a solution
deploy the chosen solution
Factoring out common work
User preferences and dependency solving are really common to all.
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 14 / 28
15. Separation of concerns: solver
Dependency solving is NP-hard: stop coding a petty solver for every new
component based system, and adopt a modular approach!
Common Upgrade Description Format
Modular component manager
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 15 / 28
17. Available external solvers
Three external CUDF solvers packaged in Debian
$apt-cache search cudf
aspcud - CUDF solver based on Answer Set Programming
mccs - multi-critera CUDF solver
packup - CUDF solver based on pseudo-Boolean constraints
There is also a nice solver for Java addicts
p2cudf, based on the Eclipse P2 plugin dependency resolver, available
from http://wiki.eclipse.org/Equinox/p2/CUDFResolver
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 17 / 28
18. Talking the external solver into doing what you want
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 18 / 28
19. Separation of concerns: user preferences
Combinators from the latest Mancoosi preference language1
count(X) : number of packages in X
sum(X,f) : sum of values of key f over packages in X
aligned(X,g1,g2) : number of packages aligned according to given criteria
notuptodate(X) : number of packages in X not current
where X can be solution, down, up, removed, new, changed,
request,installrequest,upgraderequest
Combining preferences
We can ask for a solution that maximizes (+) or minimizes (-) each of
these criteria, and combine them in lexicographic order, e.g.
-count(removed),-count(changed)
1
For details, see see http://www.mancoosi.org/misc-2012/criteria/ and
http://opam.ocaml.org/doc/Specifying_Solver_Preferences.html
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 19 / 28
20. Examples preferences when installing your packages
Simple
paranoid -count(removed),-count(changed)
trendy -count(removed),-notuptodate(solution),-count(new)
Gourmet
paranoid
-count(removed),-notuptodate(request),-count(down),-count(changed)
trendy
-notuptodate(request),-count(removed),-count(down),-count(changed)
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 20 / 28
21. More exotic examples
Building systems
Minimal system size -sum(solution,installedsize),-count(solution)
Noah’s ark +count(solution)
Noah’s ark, fresh -notuptodate(solution),+count(solution)
Performing upgrades
upgrade -count(down),-count(removed),-notuptodate(solution),-count(new)
priority -count(down),-count(removed),-notuptodate(solution),
+sum(solution,priority),-count(new)
Repairing a broken system configuration
Use an empty request with
fixup simple -count(changed)
fixup trendy -count(changed),-count(down),-notuptodate(solution)
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 21 / 28
22. Ok, how can I use all this in opam?
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 22 / 28
23. External solvers in opam
Thanks to the work done by the Mancoosi team at Irill and OCamlPro, in
the DORM project, aspcud is supported out of the box in opam since
1.0,and all others in trunk: typing opam --help shows
...
OPTIONS
--criteria=CRITERIA
Specify user preferences for dependency solving for this run.
Overrides both $OPAMCRITERIA and $OPAMUPGRADECRITERIA.
For details on the supported language, see
http://opam.ocaml.org/doc/Specifying_Solver_Preferences.html.
The default value is -removed,-notuptodate,-changed for upgrades,
and -removed,-changed,-notuptodate otherwise.
--cudf=FILENAME
Debug option: Save the CUDF requests sent to the solver to
FILENAME-<n>.cudf.
--solver=CMD
Specify the name of the external dependency solver. The default
value is aspcud
...
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 23 / 28
24. Examples (when aspcud is present)
Opam built-in defaults
opam install ...
--criteria="-count(removed),-count(changed),-notuptodate(solution)"
opam ugrade --criteria="-count(removed),-noutuptodate(solution),-count(changed)"
More advanced preferences
opam install ... --criteria="-count(removed),-count(down),
-notuptodate(request),-notuptodate(changed),-count(changed)"
opam upgrade --criteria="-count(removed),-count(down),-notuptodate(solution),
-count(new),+count(up)"
Repair (now in trunk as opam upgrade --fixup)
opam upgrade --criteria="-count(changed)"
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 24 / 28
25. Getting your external solver
Debian/Ubuntu user?
Lucky guy! Just apt-get install aspcud, and you are done
No aspcud for you? Low-power arch (arduino, raspberri-pi)?
You are still safe!
go to http://cudf-solvers.irill.org
follow the instructions
access the Irill CUDF solver farm
get your solving done in the cloud
Big thanks to OCamlPro folks (Benjamin,Fabrice,Gregoire,Pierre), for help
setting this up.
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 25 / 28
26. Credits
The Mancoosi team in Paris Diderot and Irill
Pietro Abate Ralf Treinen
J´erˆome Vouillon Stefano Zacchiroli
libcudf CUDF manipulation library: opam show cudf
dose Mancoosi toolbox: opam show dose
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 26 / 28
27. Conclusions
Package managers are complex: a very hard part is dependency solving!
Modern package managers must share common components, in particular
dependency solvers user preference language
You can should use external solvers and preferences in opam today!
Learn more at www.mancoosi.org and www.irill.org
Di Cosmo, Leroy, Treinen, Vouillon et al Managing the complexity of large FOSS package-based software distributions.
ASE 2006
Abate, Treinen Mancoosi Deliverable D5.4: Report on the international competition
http://hal.inria.fr/hal-00698967/PDF/d5.4.pdf, 2011
Abate, Di Cosmo, Treinen, Zacchiroli Dependency solving: a separate concern in component evolution management.
Journal of Systems and Software, 2012.
Abate, Di Cosmo, Treinen, Zacchiroli A modular package manager architecture. Information and Software Technology,
2013.
Full details at http://www.dicosmo.org/Articles/usercriteria.pdf
Questions?
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 27 / 28
28. Abbreviations/old combinators
The combinators from the old preference language are still recognised by
aspcud:
Old language New language
removed count(removed)
new count(new)
changed count(changed)
nutuptodate notuptodate(solution)
Di Cosmo (Upd/Inria/Irill) Solver preferences for package managers 08/07/2014 28 / 28