The document discusses using Packer, Terraform, and Jenkins together for infrastructure as code (Iac) and continuous delivery (CD) of small application stacks. It describes goals of having traceable images that record build details, testable images using tools like InSpec, and self-contained pipelines using a monorepo approach. It outlines wrappers for Packer and Terraform to expose build details and map branches to workspaces. A Jenkinsfile is proposed for a simple master/non-master workflow. Tips are provided around unique resources and image build provenance. Links are included for related GitHub repos and the author's Twitter profile.
Multitasking and Triggered Background Processing in Windows Phone 8.1Rob Irving
Rob Irving is a senior software engineer and Microsoft MVP who specializes in Windows platform development. In this presentation, he discusses new background capabilities in Windows Phone 8.1 including triggered background tasks, geofencing, and rendering tiles from background tasks. He explains how background tasks now have quotas based on CPU usage instead of time limits and how requesting access can provide the full quota.
Driving Stage3D: A Post Mortem by Nate Beck and Jeremy Saenzmochimedia
Nate Beck (co-founder, The Engine Company) and Jeremy Saenz (principal architect, Leedo Studios) talk about their installation project where they utilized Stage3D.
This document discusses Spring Roo, an open source tool that aims to improve Java developer productivity without compromising flexibility. It provides an overview of Roo's mission and capabilities for rapidly generating applications using conventions. Roo uses AspectJ to actively generate code based on annotations and allows customization through add-ons. The document demonstrates Roo's features and explains how applications can later remove their dependency on Roo through refactoring.
This document discusses Pinterest's use of open source software and their PINRemoteImage project. It summarizes that Pinterest uses many open source projects in their iOS app due to scale needs, speed of development, and reliability. It then details their PINRemoteImage project which provides thread-safe, performant image downloading and processing for iOS. Key features of PINRemoteImage include support for formats like JPEG, PNG, WebP and GIFs, progressive downloading, adaptive quality based on network conditions, and custom processing of images.
Jenkins is a distributed continuous integration system that can automate the software development lifecycle with CI. It allows for distributed build, auto-deploy, and building mobile apps in their native environments across multiple platforms from a single Linux server. While some Mac machines are still needed for iOS builds, Jenkins can power them on automatically and manage the CI workflow and building process across projects through configurable jobs and scripts.
JAZOON'13 - Stefan Saasen - Real World Git Workflowsjazoon13
The document discusses best practices for using Git in enterprise workflows. It recommends adopting a centralized collaboration model with a single shared repository. For branching models, it suggests using either a continuous delivery model with feature, staging, and master branches, or a product release model with one branch per feature or bugfix. Key practices include using pull requests, following a strict merge protocol, and leveraging automation through hooks and continuous integration to ensure code quality.
The document discusses using Packer, Terraform, and Jenkins together for infrastructure as code (Iac) and continuous delivery (CD) of small application stacks. It describes goals of having traceable images that record build details, testable images using tools like InSpec, and self-contained pipelines using a monorepo approach. It outlines wrappers for Packer and Terraform to expose build details and map branches to workspaces. A Jenkinsfile is proposed for a simple master/non-master workflow. Tips are provided around unique resources and image build provenance. Links are included for related GitHub repos and the author's Twitter profile.
Multitasking and Triggered Background Processing in Windows Phone 8.1Rob Irving
Rob Irving is a senior software engineer and Microsoft MVP who specializes in Windows platform development. In this presentation, he discusses new background capabilities in Windows Phone 8.1 including triggered background tasks, geofencing, and rendering tiles from background tasks. He explains how background tasks now have quotas based on CPU usage instead of time limits and how requesting access can provide the full quota.
Driving Stage3D: A Post Mortem by Nate Beck and Jeremy Saenzmochimedia
Nate Beck (co-founder, The Engine Company) and Jeremy Saenz (principal architect, Leedo Studios) talk about their installation project where they utilized Stage3D.
This document discusses Spring Roo, an open source tool that aims to improve Java developer productivity without compromising flexibility. It provides an overview of Roo's mission and capabilities for rapidly generating applications using conventions. Roo uses AspectJ to actively generate code based on annotations and allows customization through add-ons. The document demonstrates Roo's features and explains how applications can later remove their dependency on Roo through refactoring.
This document discusses Pinterest's use of open source software and their PINRemoteImage project. It summarizes that Pinterest uses many open source projects in their iOS app due to scale needs, speed of development, and reliability. It then details their PINRemoteImage project which provides thread-safe, performant image downloading and processing for iOS. Key features of PINRemoteImage include support for formats like JPEG, PNG, WebP and GIFs, progressive downloading, adaptive quality based on network conditions, and custom processing of images.
Jenkins is a distributed continuous integration system that can automate the software development lifecycle with CI. It allows for distributed build, auto-deploy, and building mobile apps in their native environments across multiple platforms from a single Linux server. While some Mac machines are still needed for iOS builds, Jenkins can power them on automatically and manage the CI workflow and building process across projects through configurable jobs and scripts.
JAZOON'13 - Stefan Saasen - Real World Git Workflowsjazoon13
The document discusses best practices for using Git in enterprise workflows. It recommends adopting a centralized collaboration model with a single shared repository. For branching models, it suggests using either a continuous delivery model with feature, staging, and master branches, or a product release model with one branch per feature or bugfix. Key practices include using pull requests, following a strict merge protocol, and leveraging automation through hooks and continuous integration to ensure code quality.
The document introduces Architect, a module system for JavaScript applications. It discusses problems that arise when codebases grow large, such as duplicated modules, dependency errors, and long startup times. Architect addresses these by defining each piece of functionality as a plugin that can import other plugins. An application is defined as a set of plugins, allowing modularization and loose coupling between components. Plugins are configured through options and communicate through an event bus. This allows features to be swapped out easily for different implementations, improving testability and flexibility.
Cross platform native development with appcelerator titanium (2014 devnexus)Stephen Feather
This document discusses cross-platform native mobile app development using Appcelerator Titanium. Titanium allows writing apps using JavaScript that compile to native iOS, Android, and other mobile apps. It provides an abstraction layer so code can be reused across platforms. While it simplifies development, disadvantages include delays for new features or bug fixes from the Titanium team. The document provides instructions for installing Titanium and building a simple app as an example.
Getting started on AWS is easy, but building a scalable, reliable and performant product in the cloud can be a challenge for startups and enterprises alike. Netflix has famously migrated all our services to the cloud. Along the way, we have open sourced large portions of our platform that helped make this a reality. In this talk, Mike McGarr (Manager, Netflix Build Tools) will provide a survey of the @NetflixOSS products available. Mike will also share patterns and lessons Netflix learned migrating to the cloud. Lastly, Mike will leave you with a roadmap for how to get started with @NetflixOSS on your cloud today. This talk will cover the following @NetflixOSS products, and more!
Yeoman - Santa Barbara JavaScript MeetupTim Doherty
Yeoman is a workflow tool that uses three Node-based tools - Yo, Bower, and Grunt - to increase productivity and reduce boilerplate when developing front-end web applications. Yo scaffolds project structures and files using generators. Bower manages client-side dependencies. Grunt runs tasks for development, testing, and building. Together, they automate common tasks and configure development tools to help enforce consistency.
This deck represents our current thinking about the best way to build enterprise SaaS software in 2015 - using a variety of techniques from several disciplines.
Since I wrote this I have also become very interested in resilience engineering and the notion that web developers are primarily engaged in the construction of socio-technical systems. When I rewrite this I plan to talk about how we should try to minimize mean-time-to-recover (MTTR) instead of mean-time-between-failures (MTBF), and how continuous deployment grows a safety culture around your operations.
I redacted most of the examples that illustrate these points because they use sensitive code examples or URLs. If you want to see the rest of slides, join us!
The document discusses UI testing for Android applications at Amplify, including:
- They test 30,000 Android devices running 4.2.1 with 50 developers pushing code to 139 repositories.
- They use tools like Cucumber, RSpec, UI Automator, and Honeydew (an open source Ruby driver for UIAutomator) for automation.
- Honeydew supports API level 16 or higher and enables cross app testing. It is developed and open sourced by Amplify.
- They discuss strategies for emulator vs physical device testing and hardware tricks they have learned for reliable tests.
This document provides information for developers about using Splunk. It discusses how Splunk can help with development workflows by providing visibility across the development toolchain. It explains what types of data can be analyzed in Splunk, including code review logs, version control logs and APIs, build logs, and task tracking logs. The document then discusses building Splunk apps, noting that anyone can be a Splunk app developer. It outlines the various ways developers can build apps, including using the REST API, SDKs, and XML. The document walks through building a sample app that finds data, gets it into Splunk, searches it, and visualizes it. It concludes by providing resources for developers to learn more about building apps with Splunk
Join the Developer workshop to learn about the many options there are for developers to extend and integrate with the Splunk platform by using our various language SDKs, the Web Framework , creating custom components such as Search Commands and Modular Inputs and ultimately understanding the potential opportunity for you in creating your own Splunk Apps.
2 years with Angular & Electron: Video Hub App 2Boris Yakubchik
AngularNYC talk from February 18, 2020
Learn how to get started with Electron and Angular (Create a Win, Mac, & Linux App with one code base). Discover how powerful Angular pipes can be for an advanced search & filter functionality. Find out how functional programming can in places simplify your code. Hear how making a project open source was an excellent decision for Video Hub App.
Jenkins-Koji plugin presentation on Python & Ruby devel group @ BrnoVaclav Tunka
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!
TiConf NYC - Documenting Your Titanium ApplicationsJamil Spain
We all know documentation for software projects is critical for a number of reasons. More specifically, how can you properly document your Titanium Mobile Applications? Enter the npm module titanium-jsduck to save the day. This session will involve integration of this module for your titanium mobile applications and show how to properly document your code to generate documentation.
This document summarizes Jamil Hassan Spain's presentation on documenting Titanium mobile applications using the titanium-jsduck NPM module. The presentation introduced titanium-jsduck as a standard for documenting Titanium apps, described how to install and use it in a Titanium project, and demonstrated the typical development workflow of coding, documenting, and viewing documentation using the module. Future plans for the module were also outlined.
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’.
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1Howard Greenberg
November Water Cooler Talk: The Mystery of Domino on Docker - Part 1
Why Use Docker for Managers, Developers, or Administrators - Christian Guedemann, Webgate
Docker Demo from a Developer Perspective - Dan Dumont, HCL
Using Docker for Admins - Roberto Boccadoro, ELD Engineering
For the video go to http://www.openntf.org/webinars
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.
Version your build process as you version your codeVincent Latombe
The Literate plugin allows a project to define its build process directly in a description file in the project SCM. Project owners have control over their build process and can refactor it as they refactor their code, while reusing all of the Jenkins goodness.
Standing on the Shoulders of Giants: How Community Shapes Development in Elli...Derek Allard
This document discusses the process EllisLab uses to develop new features for ExpressionEngine. It begins by providing an example of how the file management feature was developed. It then explains that feature ideas often come from the EllisLab forums or blogs. New features go through a planning process using Scrum methodology before being built. This involves estimating the time needed, having daily standup meetings, and releasing in sprints. Once released, the community provides feedback on how the new feature can be improved further.
Ankur Sharma has worked with Eclipse for 8 years, previously as a committer and co-lead for the Eclipse PDE project. He is currently employed by EMC2. The document discusses the challenges of builds, particularly dependency and versioning issues. It compares PDE builds and Maven builds, noting that PDE builds better understand Eclipse artifacts but Maven has advantages for dependency management and integration with source control systems and CI/CD. The conclusion is that there is no single best approach and the choice depends on the complexity and needs of the application.
This document provides an overview of a guided hackathon to build a single page application using the MEAN stack (MongoDB, Express, AngularJS, Node.js) in 2 hours. It outlines the concepts that will be covered, including API testing, DOM integration testing, build systems, and more. Attendees will build a package manager for the Go programming language, creating the server with Express and Mongoose, and the client with AngularJS and Browserify. Testing will be done with Mocha, Karma, and other tools.
The document introduces Architect, a module system for JavaScript applications. It discusses problems that arise when codebases grow large, such as duplicated modules, dependency errors, and long startup times. Architect addresses these by defining each piece of functionality as a plugin that can import other plugins. An application is defined as a set of plugins, allowing modularization and loose coupling between components. Plugins are configured through options and communicate through an event bus. This allows features to be swapped out easily for different implementations, improving testability and flexibility.
Cross platform native development with appcelerator titanium (2014 devnexus)Stephen Feather
This document discusses cross-platform native mobile app development using Appcelerator Titanium. Titanium allows writing apps using JavaScript that compile to native iOS, Android, and other mobile apps. It provides an abstraction layer so code can be reused across platforms. While it simplifies development, disadvantages include delays for new features or bug fixes from the Titanium team. The document provides instructions for installing Titanium and building a simple app as an example.
Getting started on AWS is easy, but building a scalable, reliable and performant product in the cloud can be a challenge for startups and enterprises alike. Netflix has famously migrated all our services to the cloud. Along the way, we have open sourced large portions of our platform that helped make this a reality. In this talk, Mike McGarr (Manager, Netflix Build Tools) will provide a survey of the @NetflixOSS products available. Mike will also share patterns and lessons Netflix learned migrating to the cloud. Lastly, Mike will leave you with a roadmap for how to get started with @NetflixOSS on your cloud today. This talk will cover the following @NetflixOSS products, and more!
Yeoman - Santa Barbara JavaScript MeetupTim Doherty
Yeoman is a workflow tool that uses three Node-based tools - Yo, Bower, and Grunt - to increase productivity and reduce boilerplate when developing front-end web applications. Yo scaffolds project structures and files using generators. Bower manages client-side dependencies. Grunt runs tasks for development, testing, and building. Together, they automate common tasks and configure development tools to help enforce consistency.
This deck represents our current thinking about the best way to build enterprise SaaS software in 2015 - using a variety of techniques from several disciplines.
Since I wrote this I have also become very interested in resilience engineering and the notion that web developers are primarily engaged in the construction of socio-technical systems. When I rewrite this I plan to talk about how we should try to minimize mean-time-to-recover (MTTR) instead of mean-time-between-failures (MTBF), and how continuous deployment grows a safety culture around your operations.
I redacted most of the examples that illustrate these points because they use sensitive code examples or URLs. If you want to see the rest of slides, join us!
The document discusses UI testing for Android applications at Amplify, including:
- They test 30,000 Android devices running 4.2.1 with 50 developers pushing code to 139 repositories.
- They use tools like Cucumber, RSpec, UI Automator, and Honeydew (an open source Ruby driver for UIAutomator) for automation.
- Honeydew supports API level 16 or higher and enables cross app testing. It is developed and open sourced by Amplify.
- They discuss strategies for emulator vs physical device testing and hardware tricks they have learned for reliable tests.
This document provides information for developers about using Splunk. It discusses how Splunk can help with development workflows by providing visibility across the development toolchain. It explains what types of data can be analyzed in Splunk, including code review logs, version control logs and APIs, build logs, and task tracking logs. The document then discusses building Splunk apps, noting that anyone can be a Splunk app developer. It outlines the various ways developers can build apps, including using the REST API, SDKs, and XML. The document walks through building a sample app that finds data, gets it into Splunk, searches it, and visualizes it. It concludes by providing resources for developers to learn more about building apps with Splunk
Join the Developer workshop to learn about the many options there are for developers to extend and integrate with the Splunk platform by using our various language SDKs, the Web Framework , creating custom components such as Search Commands and Modular Inputs and ultimately understanding the potential opportunity for you in creating your own Splunk Apps.
2 years with Angular & Electron: Video Hub App 2Boris Yakubchik
AngularNYC talk from February 18, 2020
Learn how to get started with Electron and Angular (Create a Win, Mac, & Linux App with one code base). Discover how powerful Angular pipes can be for an advanced search & filter functionality. Find out how functional programming can in places simplify your code. Hear how making a project open source was an excellent decision for Video Hub App.
Jenkins-Koji plugin presentation on Python & Ruby devel group @ BrnoVaclav Tunka
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!
TiConf NYC - Documenting Your Titanium ApplicationsJamil Spain
We all know documentation for software projects is critical for a number of reasons. More specifically, how can you properly document your Titanium Mobile Applications? Enter the npm module titanium-jsduck to save the day. This session will involve integration of this module for your titanium mobile applications and show how to properly document your code to generate documentation.
This document summarizes Jamil Hassan Spain's presentation on documenting Titanium mobile applications using the titanium-jsduck NPM module. The presentation introduced titanium-jsduck as a standard for documenting Titanium apps, described how to install and use it in a Titanium project, and demonstrated the typical development workflow of coding, documenting, and viewing documentation using the module. Future plans for the module were also outlined.
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’.
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1Howard Greenberg
November Water Cooler Talk: The Mystery of Domino on Docker - Part 1
Why Use Docker for Managers, Developers, or Administrators - Christian Guedemann, Webgate
Docker Demo from a Developer Perspective - Dan Dumont, HCL
Using Docker for Admins - Roberto Boccadoro, ELD Engineering
For the video go to http://www.openntf.org/webinars
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.
Version your build process as you version your codeVincent Latombe
The Literate plugin allows a project to define its build process directly in a description file in the project SCM. Project owners have control over their build process and can refactor it as they refactor their code, while reusing all of the Jenkins goodness.
Standing on the Shoulders of Giants: How Community Shapes Development in Elli...Derek Allard
This document discusses the process EllisLab uses to develop new features for ExpressionEngine. It begins by providing an example of how the file management feature was developed. It then explains that feature ideas often come from the EllisLab forums or blogs. New features go through a planning process using Scrum methodology before being built. This involves estimating the time needed, having daily standup meetings, and releasing in sprints. Once released, the community provides feedback on how the new feature can be improved further.
Ankur Sharma has worked with Eclipse for 8 years, previously as a committer and co-lead for the Eclipse PDE project. He is currently employed by EMC2. The document discusses the challenges of builds, particularly dependency and versioning issues. It compares PDE builds and Maven builds, noting that PDE builds better understand Eclipse artifacts but Maven has advantages for dependency management and integration with source control systems and CI/CD. The conclusion is that there is no single best approach and the choice depends on the complexity and needs of the application.
This document provides an overview of a guided hackathon to build a single page application using the MEAN stack (MongoDB, Express, AngularJS, Node.js) in 2 hours. It outlines the concepts that will be covered, including API testing, DOM integration testing, build systems, and more. Attendees will build a package manager for the Go programming language, creating the server with Express and Mongoose, and the client with AngularJS and Browserify. Testing will be done with Mocha, Karma, and other tools.
Jenkins installation process
Continuous integration is a software development process in which developers are required to commit the changes of source code present in source repository every time or frequently.
Every commit made in source is then build and it allows the team to detect the problems early.
What are tools that we are available for continuous integration.
Jenkins
CodeShip ..etc
->Jenkins is a open source continuous integration tool written in java.
Slides of Maxime Petazzoni's talk at the Palo Alto Docker Meetup on September 1st, 2015. Discusses how we use Docker to power our software development lifecycle and run our production environments, as well as how to monitor Dockerized deployments and applications, in particular with SignalFx.
The document provides an overview of Ionic 2, a framework for building hybrid mobile apps with web technologies. It introduces the speaker and their background in full stack development. Key points about Ionic 2 are that it is a rewrite built on Angular 2 and TypeScript that provides more native-like experiences for iOS and Android. It leverages components and directives to access device features via Cordova and offers navigation stack-based routing. Examples of features like navigation, styling and native plugins are demonstrated.
Using Jenkins for continuous delivery allows for easy installation, upgrades, configuration, distributed builds, and plugin support. Jenkins supports continuous integration through features like compiling, packaging, testing, and deploying code. It facilitates shorter release cycles through goals like developing on production-like environments, performing early performance testing, and minimizing the time from idea to delivery. Continuous delivery with Jenkins enables frequent releases, rapid feedback, and deploying any code change simply with a single button press.
Maxime Petazzoni gave a presentation on Docker at SignalFx. He discussed how SignalFx uses Docker for infrastructure separation, development lifecycles, application packaging and delivery, and orchestration. He explained how SignalFx monitors Docker containers using CollectD and their Docker plugin to collect host and container metrics. SignalFx provides curated dashboards and anomaly detection for correlated system, container and application metrics.
Seven Habits of Highly Effective Jenkins Users (2014 edition!)Andrew Bayer
What plugins, tools and behaviors can help you get the most out of your Jenkins setup without all of the pain? We'll find out as we go over a set of Jenkins power tools, habits and best practices that will help with any Jenkins setup.
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.
Similar to Packer, Terraform & Jenkins - DevOpsBelfast March 2019 (20)
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
Infrastructure Challenges in Scaling RAG with Custom AI modelsZilliz
Building Retrieval-Augmented Generation (RAG) systems with open-source and custom AI models is a complex task. This talk explores the challenges in productionizing RAG systems, including retrieval performance, response synthesis, and evaluation. We’ll discuss how to leverage open-source models like text embeddings, language models, and custom fine-tuned models to enhance RAG performance. Additionally, we’ll cover how BentoML can help orchestrate and scale these AI components efficiently, ensuring seamless deployment and management of RAG systems in the cloud.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
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.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
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.
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.
9. What does the pipeline look like?
•Simple master/!master path
10. Goal 1: Traceable Images
• What was this image built from?
• Project, branch, SHA, clean, dirty
• Store it inside the image and
externally via tags
11. Goal 2: Testable Images
• Validate that an image is good
• Chef’s InSpec for os/infra
• App/Service specific testing
12. Goal 3: Self Contained POC
• Monorepo FTW, single pipeline
• Minimal Jenkins Plugins
• Sanity wrappers for Terraform & Packer
• Terraform for the app
• Terraform for the build environment
13. Jenkins from day 1
•Write tools & wrappers that work by default
in Jenkins, easy path for non-interactive use
•Disposable Jenkins setup – no dirty clicking
Jenkins Configuration as Code, Job DSL &
Jenkinsfile, docker container for local
experiments
https://github.com/jenkins201/jenkins-container
14. Packer Wrapper – build.sh
•Modeled on base & app AMI
•Expose git SHA & clean/dirty state to packer
for including in tags etc (‘cos CLI building
should still be possible!)
•Only build base/app AMI when necessary
15. tf-wrapper.sh
•Terraform wrapper
•Map git branch to terraform workspace
•Map git branch to tfvars
•Expose git branch & sha to aid tagging &
building unique resources (RDS Instance
etc)
18. Tips
•Watch out for account or globally unique
resources (that’s why we expose branch &
SHA1 to packer & terraform)
•SHA1 for images in this POC is weak – it’s
of a git object that “mostly” represents the
image build source.
•Jenkins aws-credentials & docker agent is
broken :(
Who are Axon – we’re a leading supplier of software & services to the blue light industry, also known as public safety, our first product was the Taser, something so good it became a verb, Taser continues to be an important product for us, but we also provide a Digital Evidence Management System that’s a key element to our body camera division, and that’s where I work, I’m an SRE at evidence.com, helping build & operate the platform that hosts our services all over the world, managing video footage and other evidential material for police forces and other blue light industries all over the world.
If you google enough or have been going to infrastructure management conferences for a few years, it would be easy to think that VM image baking ios a solved problem, we’ve been talking about it for ages, there are tools that do some of the essentials, but in my opinion, there was still a lot left as an exercise for the student. I started a new job recently, and we have a infrastructure that’s state of the art for the year 2010, terraform for cloud based infrastructure, puppet & salt for long lived VMs configuration management, but this leads to pain & bad practices, like manually resizing VMs & editing the terraform to keep sync, adding VMs to cope with a demand spike is painful, removing them is even more painful, you've got puppet certs, manual DNS, discovery via hieradata, all solved problems in some way.
Nope. Many of our services are moving to k8s managed containers, but not everything will, for good & bad reasons. There are also some environments & companies where they’re just not interested in the k8s & PaaS overhead, they just want somewhere better to run their LAMP stack apps that fits with their appetite for change.
As my new work environment was a little cumbersome to innovate & iterate in, I decided to do a POC outside our internal constraints & came up with a model of a simple linux web app stack & concentrate on what tools I would need, what the Jenkins pipeline might look like if I wanted to build & test on a PR branch and deploy to production from master.
Back to what triggered this in work, I was delighted when I found a GitHub repo in our org called ops/packer – yes I thought, somebody has already done the hard work, we had layered packer templates to build out various things, TeamCity build agents, base images for CentOS in our 2 main cloud providers. Then I looked at the AMIs & VHDs in our accounts – I had no idea where they came from, which template built them, from which branch, when? I started googling again, Netflix’s aminator has some hooks for some of that, but nothing concrete, and aminator is strictly AWS, we’re 90% Azure.
The next challenge I had was proving that an image was actually good – how do I know that I haven’t just broken something or broken some security policy by tweaking something, or worse, an assumption on an installed package & that installed package changed a default, Chef’s InSpec tools allows you to do much of that, it’s also great at ensuring that you’re in compliance with security baselines, either internal or external (CIS), I’m not an InSpec expert, but I think we have a couple of Chef employees in the room who are actually paid to work on InSpec, so you should find them & poke them for more details if you’re interested.