Presentation I gave 30/05/2009 at PyCon FR in Paris http://pycon.fr
I'm not a twisted guru but I tried to explain to the audience as simply as I could the idea of asynchronous programming and the benefits of Twisted.
Writing concurrent program is hard; maintaining concurrent program even is a nightmare. Actually, a pattern which helps us to write good concurrent code is available, that is, using “channels” to communicate.
This talk will share the channel concept with common libraries, like threading and multiprocessing, to make concurrent code elegant.
It's the talk at PyCon TW 2017 [1] and PyCon APAC/MY 2017 [2].
[1]: https://tw.pycon.org/2017
[2]: https://pycon.my/pycon-apac-2017-program-schedule/
Tracking huge files with Git LFS - LinuxCon 2016Tim Pettersen
Developers love Git for its raw speed, powerful history traversal, distributed nature, and (of course) the fact that it was originally built by Linus Torvalds. What we don't love is the fact that, out of the box, Git has terrible support for tracking large binary files!
Fortunately, developers from Atlassian and GitHub have teamed up to work on an open source, MIT licensed project to solve this problem: Git LFS (Large File Support). This means researchers, web designers, game developers, multimedia producers and all other developers who need to work with large data and rich media can move off legacy centralized systems and start using modern version control.
This session covers the computer science behind Git LFS' internals & architecture, CLI usage and how to build an effective Git LFS workflow for a software team.
Buildout: How to maintain big app stacks without losing your mindDylan Jay
Buildout is a tool for managing Python application environments and dependencies. It allows users to define all of an application's dependencies, configurations, and installation instructions in a single configuration file. Buildout handles tasks like installing packages and their dependencies, compiling code, configuring applications, and deploying applications in a reproducible manner across different environments.
Kinect + Javascript tech talk at #ParisJS Jan 2011Sylvain Zimmer
My analog slides for a very quick tech demo of DepthJS working on an app built with Joshfire's javascript framework, Joshlib (demo not included in the prez). I explained briefly the data flow between the kinect, libusb, libfreenect, opencv, tornado, websockets and finally the javascript page.
PyCon FR 2016 - Et si on recodait Google en Python ?Sylvain Zimmer
This document discusses recoding Google in Python. It summarizes Google's early use of Python for its crawler before switching to C++ for performance reasons. It then outlines the major components of a web search engine (crawler, parser, index, searcher/ranker) and discusses Python libraries and techniques that could be used to implement each component today, noting improved stability, performant C/Cython libraries, and algorithmic changes. It calls for contributors to help build out additional features and discusses open challenges.
The original vision of Nutch, 14 years later: Building an open source search ...Sylvain Zimmer
The document discusses the original vision of the Nutch project to provide an open source alternative to private search services and increase transparency. It describes how Nutch has been adopted by smaller organizations rather than operating a large public index. The presentation then outlines the technical components of building an open source search engine like Nutch, including the crawler, indexer, database, and searcher/frontend. It also discusses challenges around funding, spam, relevance, and outreach, as well as opportunities for decentralization, research, and making the web a better place.
Writing concurrent program is hard; maintaining concurrent program even is a nightmare. Actually, a pattern which helps us to write good concurrent code is available, that is, using “channels” to communicate.
This talk will share the channel concept with common libraries, like threading and multiprocessing, to make concurrent code elegant.
It's the talk at PyCon TW 2017 [1] and PyCon APAC/MY 2017 [2].
[1]: https://tw.pycon.org/2017
[2]: https://pycon.my/pycon-apac-2017-program-schedule/
Tracking huge files with Git LFS - LinuxCon 2016Tim Pettersen
Developers love Git for its raw speed, powerful history traversal, distributed nature, and (of course) the fact that it was originally built by Linus Torvalds. What we don't love is the fact that, out of the box, Git has terrible support for tracking large binary files!
Fortunately, developers from Atlassian and GitHub have teamed up to work on an open source, MIT licensed project to solve this problem: Git LFS (Large File Support). This means researchers, web designers, game developers, multimedia producers and all other developers who need to work with large data and rich media can move off legacy centralized systems and start using modern version control.
This session covers the computer science behind Git LFS' internals & architecture, CLI usage and how to build an effective Git LFS workflow for a software team.
Buildout: How to maintain big app stacks without losing your mindDylan Jay
Buildout is a tool for managing Python application environments and dependencies. It allows users to define all of an application's dependencies, configurations, and installation instructions in a single configuration file. Buildout handles tasks like installing packages and their dependencies, compiling code, configuring applications, and deploying applications in a reproducible manner across different environments.
Kinect + Javascript tech talk at #ParisJS Jan 2011Sylvain Zimmer
My analog slides for a very quick tech demo of DepthJS working on an app built with Joshfire's javascript framework, Joshlib (demo not included in the prez). I explained briefly the data flow between the kinect, libusb, libfreenect, opencv, tornado, websockets and finally the javascript page.
PyCon FR 2016 - Et si on recodait Google en Python ?Sylvain Zimmer
This document discusses recoding Google in Python. It summarizes Google's early use of Python for its crawler before switching to C++ for performance reasons. It then outlines the major components of a web search engine (crawler, parser, index, searcher/ranker) and discusses Python libraries and techniques that could be used to implement each component today, noting improved stability, performant C/Cython libraries, and algorithmic changes. It calls for contributors to help build out additional features and discusses open challenges.
The original vision of Nutch, 14 years later: Building an open source search ...Sylvain Zimmer
The document discusses the original vision of the Nutch project to provide an open source alternative to private search services and increase transparency. It describes how Nutch has been adopted by smaller organizations rather than operating a large public index. The presentation then outlines the technical components of building an open source search engine like Nutch, including the crawler, indexer, database, and searcher/frontend. It also discusses challenges around funding, spam, relevance, and outreach, as well as opportunities for decentralization, research, and making the web a better place.
This document summarizes upcoming improvements and new features in web browsers, including Firefox 3.1, Safari 4, Internet Explorer 8, Opera 10, and Google Chrome. Many of the browsers are focusing on better JavaScript performance through new engines like TraceMonkey and V8. New features include process per tab, postMessage for cross-domain communication, HTML5 drag and drop, and the Canvas element for offloading rendering to the client. Overall the browsers are aiming to improve speed, compatibility, and the user experience through these new features and technologies.
This document summarizes upcoming improvements and new features in web browsers, including Firefox 3.1, Safari 4, Internet Explorer 8, Opera 10, and Google Chrome. Many of the browsers are focusing on better JavaScript performance through new engines like TraceMonkey and V8. New features include process per tab, postMessage for cross-domain communication, HTML5 drag and drop, and the Canvas element for offloading graphics work to the client. Overall the browsers are aiming to improve speed, compatibility, and the user experience through these new implementations and technologies.
The document discusses microblogging using the XMPP protocol. It provides background on XMPP, describes how it can enable microblogging in near real-time, and outlines the speaker's microblogging application built with Ruby that uses an XMPP bot, EventMachine for concurrency, Sequel as an ORM, and Ramaze as a web framework. Key features of the application include models for users, micros, and relations between them, an API for accessing data, and a plugin architecture for the XMPP bot.
Symfony 2.0 is a major step forward for the symfony project. This new version introduces new concepts and new components, and make the framework even more decoupled and flexible than before. As an added bonus, the framework is also more lightweight and much faster. This session will give you a feeling of the power of Symfony 2.0 by introducing the main new components of the framework.
Generator Tricks for Systems ProgrammersHiroshi Ono
This document is the introduction to a tutorial about generator tricks for systems programmers presented by David Beazley. It provides biographical information about the presenter, outlines the goals and structure of the tutorial, and introduces some key concepts around iterators and generators in Python. The tutorial will cover practical uses of generators with a focus on files, file systems, parsing, networking, threads, and other systems programming tasks. It aims to provide compelling examples of using generators and get attendees thinking about how to apply them.
Performance, Games, and Distributed Testing in JavaScriptjeresig
This document discusses various techniques for measuring and optimizing JavaScript performance, including profiling tools in browsers like Firebug and Safari. It also addresses challenges in building multiplayer JavaScript games, such as latency issues, and proposes solutions like combining elements of strategy, intelligence and accuracy. The document concludes by covering distributed and automated testing techniques like TestSwarm that can help address challenges of testing JavaScript across many browsers and platforms.
JDD 2017: Performance tests with Gatling (Andrzej Ludwikowski)PROIDEA
The document discusses performance testing with Gatling. It provides an overview of why performance tests are difficult due to the need to closely simulate production environments. It then introduces Gatling, describing its non-blocking architecture and DSL for defining test scenarios. Key aspects of the Gatling DSL are summarized like injection strategies, checks, feeders and reporting capabilities.
This document summarizes the Go programming language. It was created by Google in 2007 and announced in 2009. Go is intended for systems programming and features garbage collection, static typing, and built-in concurrency with goroutines and channels. It aims to have high compilation speed and a syntax familiar to C/C++/Java programmers. Concurrency in Go is based on lightweight goroutines and channel-based communication between them.
The document discusses performance testing and introduces the Gatling load testing tool. It provides an overview of why performance testing is difficult due to the need to simulate production environments. It then discusses Gatling's domain specific language (DSL) for defining load tests and scenarios, including features for HTTP requests, checks, looping, conditions, error handling, setup, feeders and reporting. Gatling allows defining and executing distributed load tests across multiple machines.
This document summarizes a presentation about creating voice applications using Tropo. Tropo allows developers to build voice applications using common programming languages like JavaScript, Ruby, Python, and Groovy. It provides APIs for telephony functions like answering calls, speaking prompts, processing input, and transferring calls. Examples show how to build simple applications that greet callers, ask for input using speech or touch tones, and transfer calls. The presentation argues that Tropo simplifies voice application development by allowing web developers to use familiar languages instead of specialized telephony standards.
1. The document discusses building resilient services in Go by focusing on uptime, error handling, concurrency, and monitoring services. It provides examples of handling errors, avoiding race conditions, implementing timeouts, and profiling services to understand memory usage and detect issues.
2. Key recommendations include carefully handling errors and resources using defer, avoiding race conditions using channels properly, enabling the race detector, implementing timeouts, and profiling services regularly to monitor memory usage and detect issues.
3. The document advocates knowing your service well through metrics like memory usage per request, stack traces of goroutines, and who is allocating memory in order to build resilience through monitoring, error handling, and avoiding common pitfalls.
Conférence des Geeks Anonymes sur " le langage Go ", par Thomas Hayen le 23 septembre 2020.
Cette conférence est disponible en vidéo sur Youtube : https://youtu.be/AlGGneVGTJk
Go is an exciting new programming language developed at Google that focuses on high performance and easing the developer experience. It has many advantages over other languages like C++ such as having a simple, quick to learn syntax, extremely fast compiler and execution speeds, powerful standard library, easy concurrency with goroutines and channels, and implicit interfaces. While still missing some features like a full IDE, Go shows great promise for building scalable server side applications and performing data processing.
This document summarizes a talk about how the Go programming language helps performance at MediaMath and how to make Go code perform well. It discusses how Go has helped MediaMath transition to a microservices architecture and how features like Go routines, channels, testing and tooling make Go productive. It also provides tips on optimizing Go code like avoiding garbage collection, using pprof, considering GOMAXPROCS, and being aware of limitations of interfaces and defers. While Go has drawbacks like its opinionated nature, the document argues it is a fast and productive language according to benchmarks and has been widely adopted at MediaMath.
JavaScript has evolved significantly since its creation in 1995. It is now a major programming language used widely for both frontend and backend development. ES2015 introduced many new features to the language like let, const, classes, arrow functions and promises. Node.js allows JavaScript to be used for server-side applications and has a large ecosystem of packages. While JavaScript has its quirks, it can be a powerful language when its good parts are utilized and newer standards are adopted.
This document provides an introduction to programming in Go. It discusses the origins and intentions of the Go language, where it is commonly used today, and what Go is and isn't. Go was created to be a systems programming language with better productivity than C++. It has seen widespread adoption beyond its original use cases. While Go isn't a functional or object-oriented language, it is compiled, statically typed, memory managed, concurrent, and ideal for building cloud infrastructure. The document also covers Go syntax including variables, types, loops, conditionals, functions, and more.
The document discusses new features in Groovy 1.6, including performance improvements, syntax enhancements, compile-time metaprogramming, the Grape module system, Swing-related improvements, runtime metaprogramming additions, and OSGi readiness. Some key new features highlighted are multiple variable assignment, optional return in if/else and try/catch blocks, annotation definitions, AST transformations using annotations like @Singleton and @Immutable, and the @Grab annotation for declaring dependencies.
Simon Willison gave a presentation on Comet, a technique for enabling live data updates in web applications. Comet allows a web server to push events to connected browsers in real-time. It has faced many technical challenges due to browser limitations. Key techniques discussed include streaming, long polling, and the Bayeaux protocol which provides a common way for Comet clients and servers to communicate. The presentation showed how to easily build a basic Comet application using Jetty and Dojo in just a few lines of code.
Developer-friendly taskqueues: What you should ask yourself before choosing oneSylvain Zimmer
This document summarizes key considerations for choosing a task queue system. It discusses task properties like idempotency and reentrancy. It covers performance factors like latency and throughput as well as consistency models. Common task queue systems like Celery, RQ, and MRQ are evaluated based on factors like performance, complexity, community support, and future plans. The document emphasizes thinking carefully about specific needs before choosing a system and being grateful for open source software.
This document discusses ranking web pages using Apache Spark. It begins by introducing the speaker and their background. It then provides an overview of how search engines traditionally work, including crawling, indexing, and ranking pages. It discusses using static features like URL depth and dynamic features like click-through rates to calculate page scores. The document proposes using Spark to perform learning to rank by training models on features and user data to improve results. It also demonstrates calculating PageRank on the Common Crawl dataset using GraphFrames in SparkSQL. Finally, it provides links to learn more about the Common Search open source project.
More Related Content
Similar to Twisted presentation & Jamendo usecases
This document summarizes upcoming improvements and new features in web browsers, including Firefox 3.1, Safari 4, Internet Explorer 8, Opera 10, and Google Chrome. Many of the browsers are focusing on better JavaScript performance through new engines like TraceMonkey and V8. New features include process per tab, postMessage for cross-domain communication, HTML5 drag and drop, and the Canvas element for offloading rendering to the client. Overall the browsers are aiming to improve speed, compatibility, and the user experience through these new features and technologies.
This document summarizes upcoming improvements and new features in web browsers, including Firefox 3.1, Safari 4, Internet Explorer 8, Opera 10, and Google Chrome. Many of the browsers are focusing on better JavaScript performance through new engines like TraceMonkey and V8. New features include process per tab, postMessage for cross-domain communication, HTML5 drag and drop, and the Canvas element for offloading graphics work to the client. Overall the browsers are aiming to improve speed, compatibility, and the user experience through these new implementations and technologies.
The document discusses microblogging using the XMPP protocol. It provides background on XMPP, describes how it can enable microblogging in near real-time, and outlines the speaker's microblogging application built with Ruby that uses an XMPP bot, EventMachine for concurrency, Sequel as an ORM, and Ramaze as a web framework. Key features of the application include models for users, micros, and relations between them, an API for accessing data, and a plugin architecture for the XMPP bot.
Symfony 2.0 is a major step forward for the symfony project. This new version introduces new concepts and new components, and make the framework even more decoupled and flexible than before. As an added bonus, the framework is also more lightweight and much faster. This session will give you a feeling of the power of Symfony 2.0 by introducing the main new components of the framework.
Generator Tricks for Systems ProgrammersHiroshi Ono
This document is the introduction to a tutorial about generator tricks for systems programmers presented by David Beazley. It provides biographical information about the presenter, outlines the goals and structure of the tutorial, and introduces some key concepts around iterators and generators in Python. The tutorial will cover practical uses of generators with a focus on files, file systems, parsing, networking, threads, and other systems programming tasks. It aims to provide compelling examples of using generators and get attendees thinking about how to apply them.
Performance, Games, and Distributed Testing in JavaScriptjeresig
This document discusses various techniques for measuring and optimizing JavaScript performance, including profiling tools in browsers like Firebug and Safari. It also addresses challenges in building multiplayer JavaScript games, such as latency issues, and proposes solutions like combining elements of strategy, intelligence and accuracy. The document concludes by covering distributed and automated testing techniques like TestSwarm that can help address challenges of testing JavaScript across many browsers and platforms.
JDD 2017: Performance tests with Gatling (Andrzej Ludwikowski)PROIDEA
The document discusses performance testing with Gatling. It provides an overview of why performance tests are difficult due to the need to closely simulate production environments. It then introduces Gatling, describing its non-blocking architecture and DSL for defining test scenarios. Key aspects of the Gatling DSL are summarized like injection strategies, checks, feeders and reporting capabilities.
This document summarizes the Go programming language. It was created by Google in 2007 and announced in 2009. Go is intended for systems programming and features garbage collection, static typing, and built-in concurrency with goroutines and channels. It aims to have high compilation speed and a syntax familiar to C/C++/Java programmers. Concurrency in Go is based on lightweight goroutines and channel-based communication between them.
The document discusses performance testing and introduces the Gatling load testing tool. It provides an overview of why performance testing is difficult due to the need to simulate production environments. It then discusses Gatling's domain specific language (DSL) for defining load tests and scenarios, including features for HTTP requests, checks, looping, conditions, error handling, setup, feeders and reporting. Gatling allows defining and executing distributed load tests across multiple machines.
This document summarizes a presentation about creating voice applications using Tropo. Tropo allows developers to build voice applications using common programming languages like JavaScript, Ruby, Python, and Groovy. It provides APIs for telephony functions like answering calls, speaking prompts, processing input, and transferring calls. Examples show how to build simple applications that greet callers, ask for input using speech or touch tones, and transfer calls. The presentation argues that Tropo simplifies voice application development by allowing web developers to use familiar languages instead of specialized telephony standards.
1. The document discusses building resilient services in Go by focusing on uptime, error handling, concurrency, and monitoring services. It provides examples of handling errors, avoiding race conditions, implementing timeouts, and profiling services to understand memory usage and detect issues.
2. Key recommendations include carefully handling errors and resources using defer, avoiding race conditions using channels properly, enabling the race detector, implementing timeouts, and profiling services regularly to monitor memory usage and detect issues.
3. The document advocates knowing your service well through metrics like memory usage per request, stack traces of goroutines, and who is allocating memory in order to build resilience through monitoring, error handling, and avoiding common pitfalls.
Conférence des Geeks Anonymes sur " le langage Go ", par Thomas Hayen le 23 septembre 2020.
Cette conférence est disponible en vidéo sur Youtube : https://youtu.be/AlGGneVGTJk
Go is an exciting new programming language developed at Google that focuses on high performance and easing the developer experience. It has many advantages over other languages like C++ such as having a simple, quick to learn syntax, extremely fast compiler and execution speeds, powerful standard library, easy concurrency with goroutines and channels, and implicit interfaces. While still missing some features like a full IDE, Go shows great promise for building scalable server side applications and performing data processing.
This document summarizes a talk about how the Go programming language helps performance at MediaMath and how to make Go code perform well. It discusses how Go has helped MediaMath transition to a microservices architecture and how features like Go routines, channels, testing and tooling make Go productive. It also provides tips on optimizing Go code like avoiding garbage collection, using pprof, considering GOMAXPROCS, and being aware of limitations of interfaces and defers. While Go has drawbacks like its opinionated nature, the document argues it is a fast and productive language according to benchmarks and has been widely adopted at MediaMath.
JavaScript has evolved significantly since its creation in 1995. It is now a major programming language used widely for both frontend and backend development. ES2015 introduced many new features to the language like let, const, classes, arrow functions and promises. Node.js allows JavaScript to be used for server-side applications and has a large ecosystem of packages. While JavaScript has its quirks, it can be a powerful language when its good parts are utilized and newer standards are adopted.
This document provides an introduction to programming in Go. It discusses the origins and intentions of the Go language, where it is commonly used today, and what Go is and isn't. Go was created to be a systems programming language with better productivity than C++. It has seen widespread adoption beyond its original use cases. While Go isn't a functional or object-oriented language, it is compiled, statically typed, memory managed, concurrent, and ideal for building cloud infrastructure. The document also covers Go syntax including variables, types, loops, conditionals, functions, and more.
The document discusses new features in Groovy 1.6, including performance improvements, syntax enhancements, compile-time metaprogramming, the Grape module system, Swing-related improvements, runtime metaprogramming additions, and OSGi readiness. Some key new features highlighted are multiple variable assignment, optional return in if/else and try/catch blocks, annotation definitions, AST transformations using annotations like @Singleton and @Immutable, and the @Grab annotation for declaring dependencies.
Simon Willison gave a presentation on Comet, a technique for enabling live data updates in web applications. Comet allows a web server to push events to connected browsers in real-time. It has faced many technical challenges due to browser limitations. Key techniques discussed include streaming, long polling, and the Bayeaux protocol which provides a common way for Comet clients and servers to communicate. The presentation showed how to easily build a basic Comet application using Jetty and Dojo in just a few lines of code.
Similar to Twisted presentation & Jamendo usecases (20)
Developer-friendly taskqueues: What you should ask yourself before choosing oneSylvain Zimmer
This document summarizes key considerations for choosing a task queue system. It discusses task properties like idempotency and reentrancy. It covers performance factors like latency and throughput as well as consistency models. Common task queue systems like Celery, RQ, and MRQ are evaluated based on factors like performance, complexity, community support, and future plans. The document emphasizes thinking carefully about specific needs before choosing a system and being grateful for open source software.
This document discusses ranking web pages using Apache Spark. It begins by introducing the speaker and their background. It then provides an overview of how search engines traditionally work, including crawling, indexing, and ranking pages. It discusses using static features like URL depth and dynamic features like click-through rates to calculate page scores. The document proposes using Spark to perform learning to rank by training models on features and user data to improve results. It also demonstrates calculating PageRank on the Common Crawl dataset using GraphFrames in SparkSQL. Finally, it provides links to learn more about the Common Search open source project.
[fr] Introduction et Live-code Backbone.js à DevoxxFR 2013Sylvain Zimmer
Ma session de live-coding à DevoxxFR 2013. Le but était de faire une présentation rapide de Backbone et de montrer très simplement aux gens pourquoi et comment l'utiliser.
Le code que j'ai live-codé est disponible sur https://github.com/sylvinus/backbone-simpleapp-kitlers
5-minute lightning talk presented at ParisJS #12 by Sylvain Zimmer from Joshfire (@sylvinus)
140byt.es is a project created by the awesome @jed with contributions from an army of code golfers ;-)
The document provides an overview of the Joshfire Framework version 0.9 release. It describes Joshfire as a powerful and modular framework based on standard web technologies that allows developers to build one application that works across multiple devices using a single codebase. It achieves this through the use of device-specific adapters and by separating an application's data and user interface definitions.
Javascript Views, Client-side or Server-side with NodeJSSylvain Zimmer
The document summarizes a presentation on building applications that can render on both the server and client using a single codebase. It discusses how traditional server-side and client-side apps are structured, then shows how server-side JavaScript allows building a single app with a shared core that can adapt for the server or browser through the use of adapters. It demonstrates this approach with a sample app and discusses benefits like serving HTML versions for search engines or legacy browsers. Key aspects covered are rendering on the server/client with a View class and handling browser history across environments.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
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!
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.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
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.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
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.
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
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.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
20 Comprehensive Checklist of Designing and Developing a WebsitePixlogix Infotech
Dive into the world of Website Designing and Developing with Pixlogix! Looking to create a stunning online presence? Look no further! Our comprehensive checklist covers everything you need to know to craft a website that stands out. From user-friendly design to seamless functionality, we've got you covered. Don't miss out on this invaluable resource! Check out our checklist now at Pixlogix and start your journey towards a captivating online presence today.
1. Twisted
Présentation & Usecases
Monday, June 1, 2009
2. Twisted?
• Framework pour applis réseau
• 100% Python, quelques optimisations en C
• Projet opensource stable, bien maintenu
• Programmation asynchrone
Monday, June 1, 2009
3. Asynchrone?
• Synonymes : “event-driven”, “non-blocking”
• Toutes les fonctions doivent retourner
“rapidement”
• 1 seul thread
• Reactor pattern
Monday, June 1, 2009
4. Sync vs. Async
def google_sync(search)
html = urllib.urlopen(“http://google.com/?q=”+search”).read()
return [r[1] for r in re.split(“<h3>(.*?)</h3>”,html)]
print google_sync(“pycon fr”)
print google_sync(“pycon us”)
def google_async(search)
async_call = twisted.web.client.getPage(“http://google.com/?q=”+search”)
async_call.addCallback(gotresults)
def gotresults(html)
print [r[1] for r in re.split(“<h3>(.*?)</h3>”,html)]
google_async(“pycon fr”)
google_async(“pycon us”)
twisted.internet.reactor.run()
Monday, June 1, 2009
6. “C’est plus compliqué!”
• Oui mais
• 100 requêtes en parallèle ?
results = []
class google_thread(Thread):
def __init__(self,search):
self.search = search
def run():
html = urllib.urlopen(“http://google.com/?q=”+search”).read()
results.append([r[1] for r in re.split(“<h3>(.*?)</h3>”,html)])
threads = [google_thread(“pycon fr”), google_thread(“pycon us”)]
[thread.start() for thread in threads]
print results
Monday, June 1, 2009
7. Et là ?
results = []
class google_thread(Thread):
def __init__(self,search):
self.search = search
def run():
html = urllib.urlopen(“http://google.com/?q=”+search”).read()
results.append(“Resultats pour ‘%s’ :” % self.search)
results.append([r[1] for r in re.split(“<h3>(.*?)</h3>”,html)])
threads = [google_thread(“pycon fr”), google_thread(“pycon us”)]
[thread.start() for thread in threads]
Monday, June 1, 2009
8. Thread safety
results = []
class google_thread(Thread):
def __init__(self,search):
self.search = search
def run():
html = urllib.urlopen(“http://google.com/?q=”+search”).read()
acquire_lock(results)
results.append(“Resultats pour ‘%s’ :” % self.search)
results.append([r[1] for r in re.split(“<h3>(.*?)</h3>”,html)])
release_lock(results)
threads = [google_thread(“pycon fr”), google_thread(“pycon us”)]
[thread.start() for thread in threads]
Monday, June 1, 2009
15. Reactor
• “Dont call us, we’ll call you”
• Event Loop
• S’occupe d’appeller tous les callbacks
• “Remplace” le GIL, thread switching
• “Pluggable” : select/poll, epoll, GUI, ...
Monday, June 1, 2009
16. Autres avantages
• Librairie très complète : HTTP, SSH, IRC,
DNS, IMAP, Jabber, SMTP, Telnet, ...
• Ne pas réinventer la roue / patterns
• Déploiement rapide d’applis complexes
• Threadpool
• Encapsulation/design
• Moins de surprises
Monday, June 1, 2009
17. Utilisateurs de Twisted
• Apple
• NASA
• Justin.tv
• Bittorrent / Zope / Freevo / Buildbot / ...
• ???
• Jamendo :)
Monday, June 1, 2009
18. Twisted chez Jamendo
• Upload servers
• Log servers
• Radio servers
• Widget servers
• Streaming / Download servers
Monday, June 1, 2009
19. Download servers
• 10k lignes de code
• HTTP “sécurisé”, download queues
• FTP avec virtual filesystem
• Génération de zips à la volée
• Seeds BitTorrent
• Logs UDP / Monitoring
• twisted.manhole
Monday, June 1, 2009
20. Merci de votre attention!
Sylvain Zimmer
sylvain@jamendo.com
twitter.com/sylvinus
Monday, June 1, 2009