How can you easily set clean-room production environment called Koji via Kojak. How to orchestrate Koji from Jenkins CI - run Jenkins nightly builds as you are used to and let the plugin handle communication and release process in Koji!
Sutol 2016 - Automation is developer's friendmpradny
This document discusses how automation tools can help developers by introducing concise summaries of a presentation about automation and developer tools. It summarizes that the presentation introduces various automation tools that can make developers more productive, including tools for the development workstation, continuous integration servers, and automated testing. It also demonstrates how these tools can be used to automatically build, test, and deploy a sample TODO application with a React frontend built for the Domino platform.
This document discusses continuous integration using Jenkins, GitHub, and Grunt. It describes setting up automated builds and tests that are triggered by code commits to the GitHub repository and run by Jenkins. The goals are to integrate changes quickly, find problems early, and ensure everything keeps working together as features are added. Key practices covered include committing code often, keeping builds fast, fixing broken builds immediately, and making the latest code changes easily accessible.
This document outlines an agenda for a presentation on testing and build automation for Domino applications. It includes demos of unit testing XPages applications using JUnit and mocking Domino classes, and continuous integration using Maven, headless Domino Designer, and Selenium testing driven by a Jenkins build server. Benefits discussed include more robust and maintainable code through testing, separation of code and data, and tools to automate local testing and continuous delivery processes.
This is an overview of tools, libraries, and initiatives around Angular and Frontend development.
Each topic deserves a talk by its own, so don't be shy. Even the presenter doesn't know all this stuff, but if you as a team or individual wants to take a quick look at what is the possibilities of the framework and its community and is evaluating if it will attend your project needs, check this slide. It also shows some tools that are not directly related to angular, but influences on the architecture.
This talk was presented on the Brazil meetup group AngularBH and the majority of content is English.
Queick: A Simple Job Queue System for PythonRyota Suenaga
Ryota SUENAGA presented Queick, a simple job queue system he created for Python. Queick uses multi-threading to asynchronously execute jobs in the background. It was designed to be lightweight and use only Python's standard libraries. Key features include asynchronous and scheduled job execution, retries of failed jobs, and checking for network connectivity to re-enqueue jobs if the connection is lost. The architecture includes a job queue, worker processes to run jobs, and a separate process to monitor network status and retry downed jobs when the connection returns.
The document discusses the modern frontend toolchain for developing complex client-side JavaScript applications. It recommends using command line tools like Homebrew, NPM, RubyGems to manage dependencies. Source code management with Git and feature branching workflow is also emphasized. Node.js and package managers like NPM and Bower are introduced to help manage third-party libraries. Task automation with Grunt is presented as a way to automate common development tasks like testing, preprocessing, and building.
Posterous recently deployed Riak to serve as their content cache. In this talk, Julio Capote will cover why the engineering team chose Riak for the use case. He'll also share some details on the old post cache and its problems, what solutions they evaluated, and how they settled on Riak.
A talk I gave at the Python Ireland meetup in June 2015 about rq (python-rq.org), a queuing library for the Python programming language that is backed by Redis.
This document discusses using Celery to handle asynchronous tasks in Django. It covers what Celery is, why it's useful to not block the user, speed and scale considerations, common use cases like logging and email, choosing a message queue like RabbitMQ, setting up queues vs hosts, tools and commands, and setting up a Celery daemon on Ubuntu. It also provides links to the Yipit Django team's blog which discusses more about using Celery.
Containerizing the largest Dutch e-commerce site: The bol.com story
Bol.com moved to running several mission-critical applications in containers on their infrastructure to gain the benefits of dynamic environments that can be spun up quickly. They initially used containers through Mayfly to allow isolated development environments for each feature branch. They have since expanded container usage and learned several lessons along the way regarding orchestration, metrics, image building, and cultural shifts for developers and operations. Their next steps include implementing IP-per-container and migrating more applications to their dynamic infrastructure.
This document provides an overview of pipelines and continuous integration/deployment tools. It discusses who needs pipelines, what pipelines are and their main features, when to use pipelines, where pipelines can be found (GitLab, Bitbucket, GitHub, CircleCI, TravisCI), and why pipelines are important. The key benefits outlined are that pipelines integrate with repositories, are simple to use, don't require extra servers, replace tools like Jenkins, and enable isolated testing. The document also compares GitLab and Bitbucket pipelines, noting differences in where they run, task configuration, stages, and SSH key handling. Finally, it introduces Deployer PHP as a deployment tool that executes tasks remotely based on a release/folder structure configured via PHP files
OSCamp 2019 | #3 Ansible: Automated Tests of Ansible code with GitLab, Vagran...NETWAYS
Ansible playbooks and roles are code and as any other code it should be tested automatically before it is applied in production environments. But unit tests are not as usefull for Ansible code. We need integrations tests with a fresh linux system everytime. We test with the triple-A concept:
• Arrange: boot one or more fresh linux VMs (Vagrant, Virtualbox)
• Act: apply Ansible code to test
• Assert: test state of the VMs with another Ansible playbook
More topics:
• Why testing the Ansible code too?
• How to test on every git commit?
• Troubles to create a testing environment
more info at http://beautifulbuilds.com . Roy Osherove from Bouvet discussed patterns for maintainable, coherent build processes.
GraphQL is a query language for APIs that was created by Facebook in 2012. It allows clients to define the structure of the data required, and exactly the data they need from the server. This prevents over- and under-fetching of data. GraphQL has grown in popularity with the release of tools like Apollo and GraphQL code generation. GraphQL can be used to build APIs that integrate with existing backend systems and databases, with libraries like Express GraphQL and GraphQL Yoga making it simple to create GraphQL servers.
Jenkins CI in Action discusses Continuous Integration (CI) and the Jenkins platform. It provides an overview of what CI is, who Jenkins is as a platform for CI, and why you might want to use Jenkins. It also briefly discusses the Gerrit alternative and common Jenkins workflows like using Gerrit as a trigger or running builds on a schedule. Tips are provided for optimizing Jenkins performance.
Eclipse Loves JavaScript slides for the Eclipse Con Europe 2016 Conf.
see: https://www.eclipsecon.org/europe2016/session/eclipse-loves-javascript-using-and-contributing-jsdt-20
These slides are about my personal experience from creating a continuous delivery process in the last 2 years.
The main focus lies in the tools I used and my experience with them.
Володимир Дубенко "Node.js for desktop development (based on Electron library)"Fwdays
This document discusses using Node.js and the Electron library for desktop application development. It covers topics like using Electron to build cross-platform desktop apps with a single codebase, initializing Electron projects using Electron Forge, the main and renderer processes in Electron, UI development with frameworks like Aurelia, debugging, testing, and packaging desktop apps.
My experience as Eclipse Contributor - ECE 2015Patrik Suzzi
The Eclipse community consists of highly qualified professionals who decided to commit some of their time to grow and improve the Eclipse Project. Each of them - committers - began their careers by getting in touch with other people within the community; making small contributions to a project and then increasing the scope of their commitment.
This talk is to present my experience as a contributor, that is the initial stage of commitment needed to be an Eclipse guy. In this talk, I will quickly explain why I think joining the Eclipse community it is a very clever idea; I will outline some of the most important aspects to keep in mind while you are contributing, and finally I will highlight the major drivers and the most common pitfalls one can have when is contributing to Eclipse.
Ceylon is a new modern, elegant programming language for the JVM and JavaScript VM, designed for team work. But it's more than that, it is a full platform with modularity, an SDK, tools and IDEs.
We will present Ceylon the language, the platform, and its ecosystem. You will see everything from starting a new project in the IDE to publishing it on Herd, our module repository, including using the SDK. We will also discuss the ongoing Ceylon projects such as the build system, Vert.x integration or Cayla, the new web framework.
Finally we will discuss the plans for Ceylon 1.2 and further.
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...E. Camden Fisher
This was a talk given at the second CT Software Developers Meetup (http://www.meetup.com/CT-Software-Developers-Meetup/). It covers how NorthPage is using Docker and Vagrant with a home grown Preview tool to increase the efficiency of the GitHub Pull Request Workflow.
Webinar - Continuous Integration with GitLabOlinData
The document is a presentation about continuous integration with GitLab. It discusses what continuous integration is, why it is important, and how to set up continuous integration builds using GitLab. Specifically, it defines continuous integration as integrating code regularly to prevent problems and identify issues early. It recommends gradually adopting continuous integration practices like writing test cases whenever bugs are fixed. The presentation also provides instructions on setting up a GitLab runner to enable continuous integration builds and adding a .gitlab-ci.yml file to configure builds.
Docker (compose) in devops - prague docker meetupJuraj Kojdjak
Presentation from Prague Docker meetup on 3/24/15.
Code attached to this presentation https://github.com/supowski/docker-compose-in-devops
Due to some design decision with ConcourseCI there is no sharing between JOB, so Object storage is a good way of achivig this. Minio is an OSS Object storage with a great coverage of S3 api.
Webinar - Matteo Manchi: Dal web al nativo: Introduzione a React Native Codemotion
Con la stessa potenza con cui React ha conquistato lo sviluppo front-end, React Native sta esplodendo nel mondo dello sviluppo mobile. In questo webinar vedremo le basi di questo framework, che ha avvicinato sia sviluppatori mobile che web, e come iniziare subito a sviluppare un'applicazione nativa in JavaScript.
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWERIndrajit Poddar
This document discusses continuous integration (CI) for open source software on OpenPOWER systems. It provides background on CI, OpenPOWER systems, and the Cloud Foundry platform. It then describes using the Concourse CI tool to continuously build a Concourse project from a GitHub repository. Key steps involve deploying OpenStack, setting up a Docker registry, installing BOSH and Concourse, defining a Concourse pipeline, and updating the pipeline to demonstrate the CI process in action. The document emphasizes the importance of CI for open source projects and how it benefits development on OpenPOWER systems.
A talk I gave at the Python Ireland meetup in June 2015 about rq (python-rq.org), a queuing library for the Python programming language that is backed by Redis.
This document discusses using Celery to handle asynchronous tasks in Django. It covers what Celery is, why it's useful to not block the user, speed and scale considerations, common use cases like logging and email, choosing a message queue like RabbitMQ, setting up queues vs hosts, tools and commands, and setting up a Celery daemon on Ubuntu. It also provides links to the Yipit Django team's blog which discusses more about using Celery.
Containerizing the largest Dutch e-commerce site: The bol.com story
Bol.com moved to running several mission-critical applications in containers on their infrastructure to gain the benefits of dynamic environments that can be spun up quickly. They initially used containers through Mayfly to allow isolated development environments for each feature branch. They have since expanded container usage and learned several lessons along the way regarding orchestration, metrics, image building, and cultural shifts for developers and operations. Their next steps include implementing IP-per-container and migrating more applications to their dynamic infrastructure.
This document provides an overview of pipelines and continuous integration/deployment tools. It discusses who needs pipelines, what pipelines are and their main features, when to use pipelines, where pipelines can be found (GitLab, Bitbucket, GitHub, CircleCI, TravisCI), and why pipelines are important. The key benefits outlined are that pipelines integrate with repositories, are simple to use, don't require extra servers, replace tools like Jenkins, and enable isolated testing. The document also compares GitLab and Bitbucket pipelines, noting differences in where they run, task configuration, stages, and SSH key handling. Finally, it introduces Deployer PHP as a deployment tool that executes tasks remotely based on a release/folder structure configured via PHP files
OSCamp 2019 | #3 Ansible: Automated Tests of Ansible code with GitLab, Vagran...NETWAYS
Ansible playbooks and roles are code and as any other code it should be tested automatically before it is applied in production environments. But unit tests are not as usefull for Ansible code. We need integrations tests with a fresh linux system everytime. We test with the triple-A concept:
• Arrange: boot one or more fresh linux VMs (Vagrant, Virtualbox)
• Act: apply Ansible code to test
• Assert: test state of the VMs with another Ansible playbook
More topics:
• Why testing the Ansible code too?
• How to test on every git commit?
• Troubles to create a testing environment
more info at http://beautifulbuilds.com . Roy Osherove from Bouvet discussed patterns for maintainable, coherent build processes.
GraphQL is a query language for APIs that was created by Facebook in 2012. It allows clients to define the structure of the data required, and exactly the data they need from the server. This prevents over- and under-fetching of data. GraphQL has grown in popularity with the release of tools like Apollo and GraphQL code generation. GraphQL can be used to build APIs that integrate with existing backend systems and databases, with libraries like Express GraphQL and GraphQL Yoga making it simple to create GraphQL servers.
Jenkins CI in Action discusses Continuous Integration (CI) and the Jenkins platform. It provides an overview of what CI is, who Jenkins is as a platform for CI, and why you might want to use Jenkins. It also briefly discusses the Gerrit alternative and common Jenkins workflows like using Gerrit as a trigger or running builds on a schedule. Tips are provided for optimizing Jenkins performance.
Eclipse Loves JavaScript slides for the Eclipse Con Europe 2016 Conf.
see: https://www.eclipsecon.org/europe2016/session/eclipse-loves-javascript-using-and-contributing-jsdt-20
These slides are about my personal experience from creating a continuous delivery process in the last 2 years.
The main focus lies in the tools I used and my experience with them.
Володимир Дубенко "Node.js for desktop development (based on Electron library)"Fwdays
This document discusses using Node.js and the Electron library for desktop application development. It covers topics like using Electron to build cross-platform desktop apps with a single codebase, initializing Electron projects using Electron Forge, the main and renderer processes in Electron, UI development with frameworks like Aurelia, debugging, testing, and packaging desktop apps.
My experience as Eclipse Contributor - ECE 2015Patrik Suzzi
The Eclipse community consists of highly qualified professionals who decided to commit some of their time to grow and improve the Eclipse Project. Each of them - committers - began their careers by getting in touch with other people within the community; making small contributions to a project and then increasing the scope of their commitment.
This talk is to present my experience as a contributor, that is the initial stage of commitment needed to be an Eclipse guy. In this talk, I will quickly explain why I think joining the Eclipse community it is a very clever idea; I will outline some of the most important aspects to keep in mind while you are contributing, and finally I will highlight the major drivers and the most common pitfalls one can have when is contributing to Eclipse.
Ceylon is a new modern, elegant programming language for the JVM and JavaScript VM, designed for team work. But it's more than that, it is a full platform with modularity, an SDK, tools and IDEs.
We will present Ceylon the language, the platform, and its ecosystem. You will see everything from starting a new project in the IDE to publishing it on Herd, our module repository, including using the SDK. We will also discuss the ongoing Ceylon projects such as the build system, Vert.x integration or Cayla, the new web framework.
Finally we will discuss the plans for Ceylon 1.2 and further.
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...E. Camden Fisher
This was a talk given at the second CT Software Developers Meetup (http://www.meetup.com/CT-Software-Developers-Meetup/). It covers how NorthPage is using Docker and Vagrant with a home grown Preview tool to increase the efficiency of the GitHub Pull Request Workflow.
Webinar - Continuous Integration with GitLabOlinData
The document is a presentation about continuous integration with GitLab. It discusses what continuous integration is, why it is important, and how to set up continuous integration builds using GitLab. Specifically, it defines continuous integration as integrating code regularly to prevent problems and identify issues early. It recommends gradually adopting continuous integration practices like writing test cases whenever bugs are fixed. The presentation also provides instructions on setting up a GitLab runner to enable continuous integration builds and adding a .gitlab-ci.yml file to configure builds.
Docker (compose) in devops - prague docker meetupJuraj Kojdjak
Presentation from Prague Docker meetup on 3/24/15.
Code attached to this presentation https://github.com/supowski/docker-compose-in-devops
Due to some design decision with ConcourseCI there is no sharing between JOB, so Object storage is a good way of achivig this. Minio is an OSS Object storage with a great coverage of S3 api.
Webinar - Matteo Manchi: Dal web al nativo: Introduzione a React Native Codemotion
Con la stessa potenza con cui React ha conquistato lo sviluppo front-end, React Native sta esplodendo nel mondo dello sviluppo mobile. In questo webinar vedremo le basi di questo framework, che ha avvicinato sia sviluppatori mobile che web, e come iniziare subito a sviluppare un'applicazione nativa in JavaScript.
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWERIndrajit Poddar
This document discusses continuous integration (CI) for open source software on OpenPOWER systems. It provides background on CI, OpenPOWER systems, and the Cloud Foundry platform. It then describes using the Concourse CI tool to continuously build a Concourse project from a GitHub repository. Key steps involve deploying OpenStack, setting up a Docker registry, installing BOSH and Concourse, defining a Concourse pipeline, and updating the pipeline to demonstrate the CI process in action. The document emphasizes the importance of CI for open source projects and how it benefits development on OpenPOWER systems.
Introduction to jenkins for the net developerAbe Diaz
This document provides an introduction to Jenkins for .NET developers. It discusses what Jenkins is, which is an open source continuous integration tool. It explains that Jenkins provides continuous integration services for software development by monitoring repeated jobs like building software projects. The document then discusses continuous integration and why it is needed for software development. It provides an overview of how Jenkins typically fits into the development workflow, including integrating with source control, installing Jenkins, and different job types. It also covers requisites and configurations for using Jenkins with .NET and TFS projects.
Taming iOS Testing at Square -- JUC West 2015Michael Tauraso
iOS applications have unique constraints that make continuous integration and release automation difficult. We’ll be going through techniques used at Square to scale and measure the effectiveness of our iOS test cluster which is used by dozens of engineers to build a handful of applications. Testing is incredibly important to Square because our mobile applications process payments. We’ve built speedy and scalable OSX infrastructure for builds; written a configuration language for describing iOS builds that separates release code from application code; tamed the iOS simulator; and reduced the overall flakiness of our iOS tests to the 0.5% level.
The document discusses options for setting up continuous integration for native iOS applications. It explores unit testing libraries like Sentest and gh-unit, functional testing options like UIAutomation, iCuke, and Frank, and static analysis tools like scan-build. While many existing tools were found lacking or difficult to use in a CI environment, Frank was identified as an actively maintained and easy to run functional testing option. The document also mentions concerns about testing push notifications and API interactions that may break with changes.
Presented at STPCon 2016. With the extensive amount of testing performed nightly on large software projects, test and verification teams often experience lengthy wait times for the availability of test results of the latest build. As we strive to identify and resolve issues as fast as possible, alternative methods of test execution have to be found. Learn how to use Jenkins to launch tests in parallel across a number of Virtual Machines, monitor execution health, and process results. Learn about various Jenkins plugins and how they contributed to the solution. Learn how to trigger downstream jobs, even if they are on separate Jenkins instances.
The Key Components of Adopting CI The OpenStack WayiWeb (group INAP)
Wajdi Al-Hawari, software developer for Internap, presented at OpenStack Day Canada showcasing how they revamped their Continuous Integration solution the OpenStack way.
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & InfrastructureGerke Max Preussner
Overview of build tools, build automation, source code management and automated testing infrastructure at Epic Games. Presented at West Coast Unreal Engine DevCon 2014 in San Francisco and Seattle.
Build software like a bag of marbles, not a castle of LEGO®Hannes Lowette
If you have ever played with LEGO®, you will know that adding, removing or changing features of a completed castle isn’t as easy as it seems. You will have to deconstruct large parts to get to where you want to be, to build it all up again afterwards. Unfortunately, our software is often built the same way. Wouldn’t it be better if our software behaved like a bag of marbles? So you can just add, remove or replace them at will?
Most of us have taken different approaches to building software: a big monolith, a collection of services, a bus architecture, etc. But whatever your large scale architecture is, at the granular level (a single service or host), you will probably still end up with tightly couple code. Adding functionality means making changes to every layer, service or component involved. It gets even harder if you want to enable or disable features for certain deployments: you’ll need to wrap code in feature flags, write custom DB migration scripts, etc. There has to be a better way!
So what if you think of functionality as loose feature assemblies? We can construct our code in such a way that adding a feature is as simple as adding the assembly to your deployment, and removing it is done by just deleting the file. We would open the door for so many scenarios!
In this talk, I will explain how to tackle the following parts of your application to achieve this goal: WebAPI, Entity Framework, Onion Architecture, IoC and database migrations. And most of all, when you would want to do this. Because… ‘it depends’.
CIBox is a continuous integration framework that allows for multidimensional testing before code is merged into the master branch. It provides tools and configurations for local development environments, automated testing, code reviews, and deployment. The framework uses Ansible playbooks to provision and configure Jenkins, Vagrant, databases, and other tools on a CI server. It also generates codebases with scripts for continuous integration testing in Vagrant virtual machines before code is merged.
Topics of this presentation:
- Basics and best practices of developing single-page applications (SPA) and Web API Services on Microsoft .NET -
- Core with Docker and Linux.
- PowerShell Core automated builds.
- Markdown/PDF documentation.
- Documentation of public interfaces with Swagger/OAS/YAML.
- Automated testing of SPA on Protractor and testing the Web API on Postman/Newman.
This presentation by Sergii Fradkov (Consultant, Engineering), Andrii Zarharov (Lead Software Engineer, Consultant), Igor Magdich (Lead Test Engineer, Consultant) was delivered at GlobalLogic Kharkiv .NET TechTalk #1 on May 24, 2019.
This document discusses using Hudson/Jenkins for continuous integration (CI) on iOS projects. It provides an example of setting up CI for an iOS project using Jenkins and outlines some ways to take CI further, such as integrating static analysis using CLANG and documentation generation. The presenter also provides resources for learning more about Jenkins, plugins for iOS support, and tools like OCUnit2JUnit for converting iOS test formats.
- Concourse is a CI/CD tool that uses pipelines defined in YAML to automate workflows. It runs builds inside containers for isolation.
- It has three main concepts: resources that define inputs/outputs, tasks that define individual build steps, and jobs that define the actions in the pipeline.
- Concourse uses a pluggable resource model so many types of resources can be used as inputs or outputs like Git, Docker images, S3, etc. It can also integrate custom resource types.
- Tasks always behave the same way if inputs are the same. Jobs determine the order of tasks and resources in the pipeline.
- Concourse is installed either locally with Vagrant or on a cluster with Bosh
The document discusses Camunda's transition from a traditional Jenkins setup with virtual machines to a containerized continuous integration infrastructure using Docker and Jenkins. Some of the key problems with the previous setup included a lack of isolation between jobs, limited scalability, and difficulties maintaining the infrastructure. The new system achieves isolated and reproducible jobs through one-off Docker containers, scalability through Docker Swarm on commodity hardware, and infrastructure maintenance through immutable Docker images and infrastructure as code definitions. Lessons learned include automating as much as possible, designing for scale, testing all aspects of the new system, and controlling dependencies.
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...CloudBees
By Christian Lipphardt, Camunda Services
Camunda is an open source, Java-based framework process/business process automation. As a middleware technology, Camunda integrates with six different Java application servers (in different versions) and supports six different database products. The team at Camunda maintains five supported versions of Camunda itself, adding two versions every year. Maintaining the necessary continuous integration (CI) infrastructure based on virtual machines became increasingly problematic, with poor build reproducibility and limited scalability. Feedback cycles for developers were unacceptable. Recently Camunda switched from the virtual machine model to a container model based on Docker. The Camunda team now develops infrastructure as code and applies microservice-like separation of concerns. In the talk, Daniel will share the new CI architecture and present lessons learned.
This document provides tips for implementing continuous integration (CI) for iOS projects. It recommends starting with the basics of Xcode and the command line, as well as version control and a CI server like Jenkins. Key tips include using scripts instead of plugins for more flexibility, being specific with xcodebuild options, specifying alternate output locations, and ensuring return codes. It also discusses automating tests, code coverage, documentation, and deployment to TestFlight for QA testing. The goal of CI for iOS is to automate building, testing, and deploying code changes to catch issues early and improve quality.
Italian Alt.Net Conference MonoTouch SessionChris Hardy
Thanks to Geoff Norton and Miguel De Icaza for the basis of most of the slides. My MonoTouch session from the 5th UGIAlt.Net Conference in Milan on 23rd January 2010.
DCEU 18: Building Your Development PipelineDocker, Inc.
This document discusses building a development pipeline using containers. It outlines using containers for building images, automated testing, security scanning, and deploying to production. Containers make environments consistent and reproducible. The pipeline includes building images, testing, security scanning, and promoting images to production. Methods discussed include using multi-stage builds to optimize images, leveraging Buildkit for faster builds, and parallel testing across containers. Automated tools are available to implement rolling updates and rollbacks during deployments.
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Impelsys Inc.
Impelsys provided a robust testing solution, leveraging a risk-based and requirement-mapped approach to validate ICU Connect and CritiXpert. A well-defined test suite was developed to assess data communication, clinical data collection, transformation, and visualization across integrated devices.
What is Model Context Protocol(MCP) - The new technology for communication bw...Vishnu Singh Chundawat
The MCP (Model Context Protocol) is a framework designed to manage context and interaction within complex systems. This SlideShare presentation will provide a detailed overview of the MCP Model, its applications, and how it plays a crucial role in improving communication and decision-making in distributed systems. We will explore the key concepts behind the protocol, including the importance of context, data management, and how this model enhances system adaptability and responsiveness. Ideal for software developers, system architects, and IT professionals, this presentation will offer valuable insights into how the MCP Model can streamline workflows, improve efficiency, and create more intuitive systems for a wide range of use cases.
Learn the Basics of Agile Development: Your Step-by-Step GuideMarcel David
New to Agile? This step-by-step guide is your perfect starting point. "Learn the Basics of Agile Development" simplifies complex concepts, providing you with a clear understanding of how Agile can improve software development and project management. Discover the benefits of iterative work, team collaboration, and flexible planning.
Spark is a powerhouse for large datasets, but when it comes to smaller data workloads, its overhead can sometimes slow things down. What if you could achieve high performance and efficiency without the need for Spark?
At S&P Global Commodity Insights, having a complete view of global energy and commodities markets enables customers to make data-driven decisions with confidence and create long-term, sustainable value. 🌍
Explore delta-rs + CDC and how these open-source innovations power lightweight, high-performance data applications beyond Spark! 🚀
Buckeye Dreamin 2024: Assessing and Resolving Technical DebtLynda Kane
Slide Deck from Buckeye Dreamin' 2024 presentation Assessing and Resolving Technical Debt. Focused on identifying technical debt in Salesforce and working towards resolving it.
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...SOFTTECHHUB
I started my online journey with several hosting services before stumbling upon Ai EngineHost. At first, the idea of paying one fee and getting lifetime access seemed too good to pass up. The platform is built on reliable US-based servers, ensuring your projects run at high speeds and remain safe. Let me take you step by step through its benefits and features as I explain why this hosting solution is a perfect fit for digital entrepreneurs.
Rock, Paper, Scissors: An Apex Map Learning JourneyLynda Kane
Slide Deck from Presentations to WITDevs (April 2021) and Cleveland Developer Group (6/28/2023) on using Rock, Paper, Scissors to learn the Map construct in Salesforce Apex development.
Automation Hour 1/28/2022: Capture User Feedback from AnywhereLynda Kane
Slide Deck from Automation Hour 1/28/2022 presentation Capture User Feedback from Anywhere presenting setting up a Custom Object and Flow to collection User Feedback in Dynamic Pages and schedule a report to act on that feedback regularly.
Leading AI Innovation As A Product Manager - Michael JidaelMichael Jidael
Unlike traditional product management, AI product leadership requires new mental models, collaborative approaches, and new measurement frameworks. This presentation breaks down how Product Managers can successfully lead AI Innovation in today's rapidly evolving technology landscape. Drawing from practical experience and industry best practices, I shared frameworks, approaches, and mindset shifts essential for product leaders navigating the unique challenges of AI product development.
In this deck, you'll discover:
- What AI leadership means for product managers
- The fundamental paradigm shift required for AI product development.
- A framework for identifying high-value AI opportunities for your products.
- How to transition from user stories to AI learning loops and hypothesis-driven development.
- The essential AI product management framework for defining, developing, and deploying intelligence.
- Technical and business metrics that matter in AI product development.
- Strategies for effective collaboration with data science and engineering teams.
- Framework for handling AI's probabilistic nature and setting stakeholder expectations.
- A real-world case study demonstrating these principles in action.
- Practical next steps to begin your AI product leadership journey.
This presentation is essential for Product Managers, aspiring PMs, product leaders, innovators, and anyone interested in understanding how to successfully build and manage AI-powered products from idea to impact. The key takeaway is that leading AI products is about creating capabilities (intelligence) that continuously improve and deliver increasing value over time.
"Rebranding for Growth", Anna VelykoivanenkoFwdays
Since there is no single formula for rebranding, this presentation will explore best practices for aligning business strategy and communication to achieve business goals.
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfAbi john
Analyze the growth of meme coins from mere online jokes to potential assets in the digital economy. Explore the community, culture, and utility as they elevate themselves to a new era in cryptocurrency.
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...Alan Dix
Talk at the final event of Data Fusion Dynamics: A Collaborative UK-Saudi Initiative in Cybersecurity and Artificial Intelligence funded by the British Council UK-Saudi Challenge Fund 2024, Cardiff Metropolitan University, 29th April 2025
https://alandix.com/academic/talks/CMet2025-AI-Changes-Everything/
Is AI just another technology, or does it fundamentally change the way we live and think?
Every technology has a direct impact with micro-ethical consequences, some good, some bad. However more profound are the ways in which some technologies reshape the very fabric of society with macro-ethical impacts. The invention of the stirrup revolutionised mounted combat, but as a side effect gave rise to the feudal system, which still shapes politics today. The internal combustion engine offers personal freedom and creates pollution, but has also transformed the nature of urban planning and international trade. When we look at AI the micro-ethical issues, such as bias, are most obvious, but the macro-ethical challenges may be greater.
At a micro-ethical level AI has the potential to deepen social, ethnic and gender bias, issues I have warned about since the early 1990s! It is also being used increasingly on the battlefield. However, it also offers amazing opportunities in health and educations, as the recent Nobel prizes for the developers of AlphaFold illustrate. More radically, the need to encode ethics acts as a mirror to surface essential ethical problems and conflicts.
At the macro-ethical level, by the early 2000s digital technology had already begun to undermine sovereignty (e.g. gambling), market economics (through network effects and emergent monopolies), and the very meaning of money. Modern AI is the child of big data, big computation and ultimately big business, intensifying the inherent tendency of digital technology to concentrate power. AI is already unravelling the fundamentals of the social, political and economic world around us, but this is a world that needs radical reimagining to overcome the global environmental and human challenges that confront us. Our challenge is whether to let the threads fall as they may, or to use them to weave a better future.
Automation Dreamin' 2022: Sharing Some Gratitude with Your UsersLynda Kane
Slide Deck from Automation Dreamin'2022 presentation Sharing Some Gratitude with Your Users on creating a Flow to present a random statement of Gratitude to a User in Salesforce.
Automation Dreamin' 2022: Sharing Some Gratitude with Your UsersLynda Kane
Ad
Jenkins-Koji plugin presentation on Python & Ruby devel group @ Brno
1. Václav Tunka
Software engineer, JBoss by Red Hat
Twitter: @vtunka
@naPyVo
@brugcz
29.5.2014
Jenkins-Koji integration
Ultimate OSS easy-to-use
clean-room environment
2. Why should I care?
• Customer wants fix for a historic
release.
• Nobody knows where sources are.
• Language runtime used to build the
project no longer available.
• Customer pays a lot of $$$ and your
boss wants fix ASAP.
3. How can Koji help?
• Freezed runtimes & set of dependecies.
• Reproducibility
• Auditability.
• Evidence.
• Security.
• Clean room environment..
4. Clean room environment
• Machines are provisioned each time.
• Buildroots are isolated.
• Permissions and security are key.
• VMs/images are created in the
beginning, destroyed in the end.
• All build dependencies are installed
from source.
5. Koji
• In the past: environment to build RPMs
in freshly provisioned machines using
chroots, mock and yum.
• Now:
– Environment to build production Docker
images.
– Environment for production releases of
Enterprise Apps.
8. Koji
• Developed 8 years ago.
• Written in Python and Bash.
• Has historic XML-RPC API.
• Hard to use: build tags, build targets,
hierarchy, white listing, black listing,
complex settings -> Jenkins-Koji.
• Hard to install -> Kojak.
9. Koji problems
• Never designed to be CI or to run tests.
• You need to constantly poll Koji for
results:
– Is it ready?
– And now?
– Is it, pretty please?
• Heavy-weight clean room process,
never intended for developers.
10. Kojak
• Set of scripts to automatically install Koji
on a VM or on local system [2].
• Creates all the services, creates DB,
sets correct permissions, generate
OpenSSL keys, etc.
• Koji environment ready to use in
minutes.
12. Jenkins-Koji plugin
• Run your builds using Jenkins CI, as
you do now.
• Once build & tests are passing and you
are ready to produce a production build
call Jenkins-Koji build step.
13. Jenkins-Koji plugin
• Jenkins-Koji plugin orchestrates the
jobs in Koji, you can choose a "scratch
build" which is a temporary build which
is garbage collected after a time.
• Once Koji is finished, use Jenkins-Koji
plugin to automatically fetch the artifacts
from Koji and for example run a set of
smoke tests.
•
14. Jenkins-Koji plugin
• Once these advanced tests pass, you
are ready for a full build, once again
execute Koji build, this time a regular
build, which will be stored permanently
in Koji
15. How to design your API?
Koji API lessons learned..
• Never use XML-RPC, migrate to
something usable like REST :)
– XML-RPC has issues with None/null types.
– Obey the SPEC!
• Never design your API in Python like
this, argument order matters:
listTagged(tag, event=None, inherit=False, prefix=None, latest=False,
package=None, owner=None, type=None)
16. API lessons learned
• Declare how are types going to get
marshalled and de-marshalled.
• Provide API at least with slight type
hints.
– Use system.methodSignature() or
something similar using reflection.
– Never return lists / maps, use object
describing custom data structures instead.
17. API lessons learned
• Try to write client for your API before
publishing it.
• Never ever write API in non-object
manner.
• Limit usage of language sugar in API.
• Document the contract and obey it.