The document discusses POE (Perl Object Environment), which is a framework for building event-driven and concurrent applications in Perl. It describes POE's architecture which includes sessions, kernels, wheels, and components. It provides examples of creating POE sessions and using wheels and components to interface with files and IRC. POE allows building multithreaded and networked applications using an event-driven model with inter-session communication.
Legacy applications - 4Developes konferencja, Piotr PasichPiotr Pasich
This document discusses strategies for integrating legacy applications into the Symfony framework. It describes using bundles to namespace the legacy code, autoloading to include the legacy files, and controllers to proxy requests to the legacy application. It also covers testing legacy functionality, using ESI and Varnish for caching parts of pages, and mapping legacy database tables to Doctrine entities. The goal is to modernize the application over time by rewriting specific functionality into Symfony while keeping the legacy system running.
Les slides du Tools in Action que j'ai donné à Devoxx France 2019.
Le JDK est open source et son développement aussi. L'ensemble des nouveautés vit sur des branches Mercurial qui peuvent être téléchargées et compilées à la demande. Cela permet de jouer avec des fonctionnalités encore en chantier, de regarder comment les nouvelles syntaxes fonctionneront, bref, de jouer avec un JDK du futur, qui n'existera peut-être jamais. L'objet de ce tools in action est simple : montrer comment tout ceci fonctionne, de l'installation d'une machine Ubuntu à l'exécution d'un JDK recompilé maison.
The document provides an introduction to using DotCloud and Go. It discusses deploying a Perl application on DotCloud, including defining services in dotcloud.yml, connecting services to each other using environment variables, and pushing code to DotCloud. It also covers troubleshooting applications running on DotCloud using commands like dotcloud logs and dotcloud run.
The document discusses processing large sequence data files in parallel using Raku. It describes reading input sequences from files in fixed-size chunks, passing the chunks to worker threads for processing, and using techniques like gather/take and lazy evaluation to improve performance over alternative approaches. The key steps are:
1. Read the input file in chunks and pass chunks to worker threads for parallel processing.
2. Use gather/take and lazy evaluation to improve throughput over alternatives like forking processes or using channels that introduce overhead.
3. SHA sequences in parallel to detect duplicates while avoiding memory issues from comparing all pairs directly.
Video presentation: https://www.youtube.com/watch?v=jLAFXQ1Av50
Most applications written in Ruby are great, but also exists evil code applying WOP techniques. There are many workarounds in several programming languages, but in Ruby, when it happens, the proportion is bigger. It's very easy to write Ruby code with collateral damage.
You will see a collection of bad Ruby codes, with a description of how these codes affected negatively their applications and the solutions to fix and avoid them. Long classes, coupling, misapplication of OO, illegible code, tangled flows, naming issues and other things you can ever imagine are examples what you'll get.
This talk describes refactoring FindBin::libs from Perl5 to Raku: breaking the module up into functional pieces, writing the tests using Raku, testing and releasing the module with mi6.
Variable interpolation is a standard way to BASH your head. This talk looks at interpolation, eval, ${} handling and "set -vx" to debug basic variable handling.
Legacy applications - 4Developes konferencja, Piotr PasichPiotr Pasich
This document discusses strategies for integrating legacy applications into the Symfony framework. It describes using bundles to namespace the legacy code, autoloading to include the legacy files, and controllers to proxy requests to the legacy application. It also covers testing legacy functionality, using ESI and Varnish for caching parts of pages, and mapping legacy database tables to Doctrine entities. The goal is to modernize the application over time by rewriting specific functionality into Symfony while keeping the legacy system running.
Les slides du Tools in Action que j'ai donné à Devoxx France 2019.
Le JDK est open source et son développement aussi. L'ensemble des nouveautés vit sur des branches Mercurial qui peuvent être téléchargées et compilées à la demande. Cela permet de jouer avec des fonctionnalités encore en chantier, de regarder comment les nouvelles syntaxes fonctionneront, bref, de jouer avec un JDK du futur, qui n'existera peut-être jamais. L'objet de ce tools in action est simple : montrer comment tout ceci fonctionne, de l'installation d'une machine Ubuntu à l'exécution d'un JDK recompilé maison.
The document provides an introduction to using DotCloud and Go. It discusses deploying a Perl application on DotCloud, including defining services in dotcloud.yml, connecting services to each other using environment variables, and pushing code to DotCloud. It also covers troubleshooting applications running on DotCloud using commands like dotcloud logs and dotcloud run.
The document discusses processing large sequence data files in parallel using Raku. It describes reading input sequences from files in fixed-size chunks, passing the chunks to worker threads for processing, and using techniques like gather/take and lazy evaluation to improve performance over alternative approaches. The key steps are:
1. Read the input file in chunks and pass chunks to worker threads for parallel processing.
2. Use gather/take and lazy evaluation to improve throughput over alternatives like forking processes or using channels that introduce overhead.
3. SHA sequences in parallel to detect duplicates while avoiding memory issues from comparing all pairs directly.
Video presentation: https://www.youtube.com/watch?v=jLAFXQ1Av50
Most applications written in Ruby are great, but also exists evil code applying WOP techniques. There are many workarounds in several programming languages, but in Ruby, when it happens, the proportion is bigger. It's very easy to write Ruby code with collateral damage.
You will see a collection of bad Ruby codes, with a description of how these codes affected negatively their applications and the solutions to fix and avoid them. Long classes, coupling, misapplication of OO, illegible code, tangled flows, naming issues and other things you can ever imagine are examples what you'll get.
This talk describes refactoring FindBin::libs from Perl5 to Raku: breaking the module up into functional pieces, writing the tests using Raku, testing and releasing the module with mi6.
Variable interpolation is a standard way to BASH your head. This talk looks at interpolation, eval, ${} handling and "set -vx" to debug basic variable handling.
The $path to knowledge: What little it take to unit-test Perl.Workhorse Computing
Metadata-driven lazyness, Perl, and Jenkins provide a nice mix for automated testing. With Perl the only thing required to start testing is a files path, from there the possibilities are endless. Using Symbol's qualify_to_ref makes it easy to validate @EXPORT & @EXPORT_OK, knowing the path makes it easy to use "perl -wc" to get diagnostics.
The beautiful thing is all of it can be lazy... er, "automated". And repeatable. And simple.
Object Trampoline: Why having not the object you want is what you need.Workhorse Computing
Overview of Trampoline Objects in Perl with examples for lazy construction, lazy module use, added sanity checks. This version includes corrections from the original presented at OSCON 2013 and comments.
Slides from DevOps Pro, Vilnius, Lithuania.
Abstract: The wide adoption of configuration management and the increasing size and complexity of the associated code, prompt for assessing, maintaining, and improving the configuration code’s quality. We can leverage traditional software engineering knowledge and best practices to develop and maintain high quality configuration code. This talk brings the smell metaphor to configuration domain. This talk introduces configuration smells, their types with various examples, tools to detect them, and suggestions to refactor them.
The document discusses the Perl event framework POE (Pumpkin Onion Engine). It provides an overview of POE's components including the Kernel, Sessions, Wheels, and Components. It also presents two case studies - a ping multipler application that uses the POE::Component::Client::Ping component, and an IRC bot that uses the POE::Component::IRC component. The document demonstrates how POE allows building event-driven and multithreaded applications using these reusable POE components.
Perl6 introduces a variety of tools for functional programming and writing readable code. Among them parameter declarations and lazy lists. This talk looks at how to get Perl6, where to find examples on RakudoCode, and how to use Perl6 functional tools for converting an algorithm from imperative to functional code, including parallel dispatch with the ">>" operator.
Puppet Camp Paris 2015: Power of Puppet 4 (Beginner) Puppet
Puppet 4 introduces several new features and changes including improved performance, scalability, measurability and flexibility. It features a new Puppet Server based on Clojure and Trapperkeeper, packaging changes, improved environment handling, r10k for managing environments from git, new language features like lambdas and EPP templates, improved data binding and overriding, stronger typing support, and various deprecations around node inheritance, hyphens in names, and other changes. Upgrading requires testing modules against the new version and addressing any compatibility issues.
This document discusses an approach to data-driven testing of objects using Object::Exercise. Key points include:
- Object::Exercise standardizes repetitive test code into a reusable framework.
- Tests are defined declaratively as data, replacing hardwired test code. This avoids issues like testing the tests.
- Tests can validate return values, check for exceptions, and perform more complex checks using regular expressions and code references.
- The approach also allows overriding parts of an object under test by replacing methods that initialize test data. This enables flexible testing of different configurations.
Plack is an interface for web request handlers that simplifies the interface and makes code more portable. It allows developers to focus on request handling rather than API specifics. Plack addresses issues with traditional CGI and mod_perl approaches by running handlers outside of servers in a standardized way. This encapsulation improves performance, debugging, and code reuse across different server implementations. Plack includes modules for common tasks like routing, middleware, and running PSGI applications on various web servers.
Face it, backticks are a pain. BASH $() construct provides a simpler, more effective approach. This talk uses examples from automating git branches and command line processing with getopt(1) to show how $() works in shell scripts.
This document provides troubleshooting information for Puppet failures. It begins with common failure messages and their potential causes such as "can't find puppet", "can't connect to puppet", and "can't get certificate". It then covers tools for investigating failures like the Puppet REST API, debugging Puppet compiles and applies, and checking for issues via notify resources and debug scripts. The document outlines techniques for locating problems with nodes, workers, variables, and resources conflicting or going stale.
The document discusses monitoring and analyzing memory usage in Raku processes. It describes using the getrusage(2) system call to retrieve resident set size (RSS) and other memory statistics for a process. It then presents the ProcStats module, which allows periodically sampling getrusage(2) data over time to track RSS and detect changes from an initial baseline. The module outputs differences in memory statistics compared to the first sample, ignoring unchanged values. This provides a concise way to monitor for increases in a process's memory footprint over time.
Perl6 regular expression ("regex") syntax has a number of improvements over the Perl5 syntax. The inclusion of grammars as first-class entities in the language makes many uses of regexes clearer, simpler, and more maintainable. This talk looks at a few improvements in the regex syntax and also at how grammars can help make regex use cleaner and simpler.
Tobias Nyholm "Deep dive into Symfony 4 internals"Fwdays
Symfony is a request and response framework. But what about all that magic that happens around your code? How does security work? Why isn’t autowring slowing things down? And how is it that symfony components can be so decoupled but still play so well together?
I will show you the symfony internals
This talk will go over the architecture of Symfony. We will follow the request and the response paths throw the framework. We will do some stops at the components that are more awesome than others.
This talk is perfect for those who's worked with Symfony or Laravel before. But if you've never touched a framework before, don't worry. You will still learn a lot from this talk.
This document provides examples of using Fabric, a Python library for streamlining the use of SSH for application deployment or systems/network administration tasks. Some key points:
- Fabric allows defining tasks that can be run remotely on SSH-accessible servers via simple Python functions decorated with @task.
- It supports running tasks selectively on hosts or roles. Dynamic host lists can be used by querying external data stores.
- Tasks can be composed together and executed sequentially or in parallel.
- Fabric integrates with tools like Django, handles SSH authentication, and provides utilities like file transfers, command line output formatting, and more.
- The examples demonstrate common patterns for application deployment, database migrations, static file management
A short introduction to the perl debugger's basic commands for executing code, examining data structures. Includes examples of hardwiring breakpoints, tracing sections of code, debugging regexen.
Building a Perl5 smoketest environment in Docker using CPAN::Reporter::Smoker. Includes an overview of "smoke testing", shell commands to contstruct a hybrid environment with underlying O/S image and data volumes for /opt, /var/lib/CPAN. This allows maintaining the Perly smoke environemnt without having to rebuild it.
This document discusses smartmatch (~~), a feature introduced in Perl 5.10 that provides pattern matching capabilities. It was initially designed to work similarly to equality (==) checks but is now more flexible. The document provides examples of how smartmatch can be used for tasks like command line argument checking, array element checking, IP address matching, and URL routing in a concise way. It advocates keeping the smartmatch operator in Perl.
The symfony platform: Create your very own framework (PHP Quebec 2008)Fabien Potencier
The document discusses how to use Symfony classes to build your own custom web framework. It describes how common PHP global variables and functions can be replaced with Symfony request, response, user and event dispatcher objects to abstract away dependencies and add object-oriented behaviors. The document provides examples of initializing these Symfony classes and using them to process a request similarly to how it was done procedurally with PHP globals previously.
The document discusses various web application frameworks and deployment methods in Perl. It covers common frameworks like CGI, mod_perl, Catalyst, and PSGI. It then discusses running PSGI applications with plackup, configuring middleware, and deploying PSGI apps behind web servers or as standalone daemons. Finally, it briefly covers application deployment and management with tools like daemontools.
The $path to knowledge: What little it take to unit-test Perl.Workhorse Computing
Metadata-driven lazyness, Perl, and Jenkins provide a nice mix for automated testing. With Perl the only thing required to start testing is a files path, from there the possibilities are endless. Using Symbol's qualify_to_ref makes it easy to validate @EXPORT & @EXPORT_OK, knowing the path makes it easy to use "perl -wc" to get diagnostics.
The beautiful thing is all of it can be lazy... er, "automated". And repeatable. And simple.
Object Trampoline: Why having not the object you want is what you need.Workhorse Computing
Overview of Trampoline Objects in Perl with examples for lazy construction, lazy module use, added sanity checks. This version includes corrections from the original presented at OSCON 2013 and comments.
Slides from DevOps Pro, Vilnius, Lithuania.
Abstract: The wide adoption of configuration management and the increasing size and complexity of the associated code, prompt for assessing, maintaining, and improving the configuration code’s quality. We can leverage traditional software engineering knowledge and best practices to develop and maintain high quality configuration code. This talk brings the smell metaphor to configuration domain. This talk introduces configuration smells, their types with various examples, tools to detect them, and suggestions to refactor them.
The document discusses the Perl event framework POE (Pumpkin Onion Engine). It provides an overview of POE's components including the Kernel, Sessions, Wheels, and Components. It also presents two case studies - a ping multipler application that uses the POE::Component::Client::Ping component, and an IRC bot that uses the POE::Component::IRC component. The document demonstrates how POE allows building event-driven and multithreaded applications using these reusable POE components.
Perl6 introduces a variety of tools for functional programming and writing readable code. Among them parameter declarations and lazy lists. This talk looks at how to get Perl6, where to find examples on RakudoCode, and how to use Perl6 functional tools for converting an algorithm from imperative to functional code, including parallel dispatch with the ">>" operator.
Puppet Camp Paris 2015: Power of Puppet 4 (Beginner) Puppet
Puppet 4 introduces several new features and changes including improved performance, scalability, measurability and flexibility. It features a new Puppet Server based on Clojure and Trapperkeeper, packaging changes, improved environment handling, r10k for managing environments from git, new language features like lambdas and EPP templates, improved data binding and overriding, stronger typing support, and various deprecations around node inheritance, hyphens in names, and other changes. Upgrading requires testing modules against the new version and addressing any compatibility issues.
This document discusses an approach to data-driven testing of objects using Object::Exercise. Key points include:
- Object::Exercise standardizes repetitive test code into a reusable framework.
- Tests are defined declaratively as data, replacing hardwired test code. This avoids issues like testing the tests.
- Tests can validate return values, check for exceptions, and perform more complex checks using regular expressions and code references.
- The approach also allows overriding parts of an object under test by replacing methods that initialize test data. This enables flexible testing of different configurations.
Plack is an interface for web request handlers that simplifies the interface and makes code more portable. It allows developers to focus on request handling rather than API specifics. Plack addresses issues with traditional CGI and mod_perl approaches by running handlers outside of servers in a standardized way. This encapsulation improves performance, debugging, and code reuse across different server implementations. Plack includes modules for common tasks like routing, middleware, and running PSGI applications on various web servers.
Face it, backticks are a pain. BASH $() construct provides a simpler, more effective approach. This talk uses examples from automating git branches and command line processing with getopt(1) to show how $() works in shell scripts.
This document provides troubleshooting information for Puppet failures. It begins with common failure messages and their potential causes such as "can't find puppet", "can't connect to puppet", and "can't get certificate". It then covers tools for investigating failures like the Puppet REST API, debugging Puppet compiles and applies, and checking for issues via notify resources and debug scripts. The document outlines techniques for locating problems with nodes, workers, variables, and resources conflicting or going stale.
The document discusses monitoring and analyzing memory usage in Raku processes. It describes using the getrusage(2) system call to retrieve resident set size (RSS) and other memory statistics for a process. It then presents the ProcStats module, which allows periodically sampling getrusage(2) data over time to track RSS and detect changes from an initial baseline. The module outputs differences in memory statistics compared to the first sample, ignoring unchanged values. This provides a concise way to monitor for increases in a process's memory footprint over time.
Perl6 regular expression ("regex") syntax has a number of improvements over the Perl5 syntax. The inclusion of grammars as first-class entities in the language makes many uses of regexes clearer, simpler, and more maintainable. This talk looks at a few improvements in the regex syntax and also at how grammars can help make regex use cleaner and simpler.
Tobias Nyholm "Deep dive into Symfony 4 internals"Fwdays
Symfony is a request and response framework. But what about all that magic that happens around your code? How does security work? Why isn’t autowring slowing things down? And how is it that symfony components can be so decoupled but still play so well together?
I will show you the symfony internals
This talk will go over the architecture of Symfony. We will follow the request and the response paths throw the framework. We will do some stops at the components that are more awesome than others.
This talk is perfect for those who's worked with Symfony or Laravel before. But if you've never touched a framework before, don't worry. You will still learn a lot from this talk.
This document provides examples of using Fabric, a Python library for streamlining the use of SSH for application deployment or systems/network administration tasks. Some key points:
- Fabric allows defining tasks that can be run remotely on SSH-accessible servers via simple Python functions decorated with @task.
- It supports running tasks selectively on hosts or roles. Dynamic host lists can be used by querying external data stores.
- Tasks can be composed together and executed sequentially or in parallel.
- Fabric integrates with tools like Django, handles SSH authentication, and provides utilities like file transfers, command line output formatting, and more.
- The examples demonstrate common patterns for application deployment, database migrations, static file management
A short introduction to the perl debugger's basic commands for executing code, examining data structures. Includes examples of hardwiring breakpoints, tracing sections of code, debugging regexen.
Building a Perl5 smoketest environment in Docker using CPAN::Reporter::Smoker. Includes an overview of "smoke testing", shell commands to contstruct a hybrid environment with underlying O/S image and data volumes for /opt, /var/lib/CPAN. This allows maintaining the Perly smoke environemnt without having to rebuild it.
This document discusses smartmatch (~~), a feature introduced in Perl 5.10 that provides pattern matching capabilities. It was initially designed to work similarly to equality (==) checks but is now more flexible. The document provides examples of how smartmatch can be used for tasks like command line argument checking, array element checking, IP address matching, and URL routing in a concise way. It advocates keeping the smartmatch operator in Perl.
The symfony platform: Create your very own framework (PHP Quebec 2008)Fabien Potencier
The document discusses how to use Symfony classes to build your own custom web framework. It describes how common PHP global variables and functions can be replaced with Symfony request, response, user and event dispatcher objects to abstract away dependencies and add object-oriented behaviors. The document provides examples of initializing these Symfony classes and using them to process a request similarly to how it was done procedurally with PHP globals previously.
The document discusses various web application frameworks and deployment methods in Perl. It covers common frameworks like CGI, mod_perl, Catalyst, and PSGI. It then discusses running PSGI applications with plackup, configuring middleware, and deploying PSGI apps behind web servers or as standalone daemons. Finally, it briefly covers application deployment and management with tools like daemontools.
This document provides an introduction to getting started with PHP by discussing how to install a web server, writing basic PHP scripts to output text, using PHP variables and arrays, creating PHP functions, and utilizing standard PHP functions. Key topics covered include installing XAMPP on Linux, writing a basic "Hello World" PHP script embedded in HTML, declaring and referencing variables, iterating through arrays with for loops and foreach loops, creating functions that can modify global variables using the global statement, getting user input with fgets from standard input, and examples of common PHP functions like array_push and trim.
Symfony is a PHP web framework that provides features like templating, caching, internationalization and MVC architecture out of the box. It uses the Model-View-Controller pattern and includes tools for scaffolding, routing, form generation and more. Symfony projects can be created via the command line and include an auto-generated directory structure for applications, modules and actions.
Tutorial dos conceitos básicos de Puppet, uma ferramenta de gestão automática de configuração de servidores.
Essa apresentação está incompleta, pois foi parte de um curso básico sobre Puppet.
Un gioco in cui vincono tutti o due piccioni con una fava ;)
Lavorare rivolti alla creazione di valore per il cliente e da questo ottenere una libreria quasi pronta per essere pubblicata
The document summarizes key points from a presentation titled "Effective Python Programming - OSCON 2005". It discusses Python fundamentals like namespaces, duck typing and exceptions. It also covers structured programming techniques in Python like iterators, generators, for/else loops and try/finally blocks. The presentation emphasizes writing effective code that makes use of Python features and follows best practices.
Presentation on how Puppet has been introduced in Seat Pagine Gialle to automate system administration tasks and easy the cooperation between Ops and Others.
This document provides an introduction and overview of pl/php, which allows users to write functions and procedures in PHP and store them in a PostgreSQL database. It discusses how pl/php works, provides an example of creating a simple pl/php function, and covers installing and configuring pl/php, including compiling the pl/php library and installing the language into a database. It also presents some basic and more advanced uses of pl/php to integrate PHP logic and programming directly into PostgreSQL databases.
PL/Perl - New Features in PostgreSQL 9.0 201012Tim Bunce
This document summarizes new features for PL/Perl in PostgreSQL 9.0. It introduces new built-in functions for quoting, encoding bytea, and checking if a value looks like a number. It allows arbitrary Perl code to be executed via DO statements. The NYTProf profiler can now profile PL/Perl code. Security and performance improvements include removing the Safe module and validating return encodings.
This document summarizes new features in PL/Perl for PostgreSQL 9.0. It introduces new built-in functions for quoting, encoding bytea, and checking if a value looks like a number. It describes improved support for arrays, trusted modules, and executing arbitrary Perl code using DO. The document also covers internal changes like removing the Safe module, new configuration options, and integration with the NYTProf profiler.
Puppet for Java developers - JavaZone NO 2012Carlos Sanchez
Example code at https://github.com/carlossg/puppet-for-java-devs
More info at http://blog.carlossanchez.eu/tag/devops
Video at http://vimeo.com/49483627
Puppet is an infrastructure-as-code tool that allows easy and automated provisioning of servers, defining the packages, configuration, services,... in code. Enabling DevOps culture, tools like Puppet help drive Agile development all the way to operations and systems administration, and along with continuous integration tools like Jenkins, it is a key piece to accomplish repeatability and continuous delivery, automating the operations side during development, QA or production, and enabling testing of systems configuration.
Traditionally a field for system administrators, Puppet can empower developers, allowing both to collaborate coding the infrastructure needed for their developments, whether it runs in hardware, virtual machines or cloud. Developers and sysadmins can define what JDK version must be installed, application server, version, configuration files, war and jar files,... and easily make changes that propagate across all nodes.
Using Vagrant, a command line automation layer for VirtualBox, they can also spin off virtual machines in their local box, easily from scratch with the same configuration as production servers, do development or testing and tear them down afterwards.
We’ll show how to install and manage Puppet nodes with JDK, multiple application server instances with installed web applications, database, configuration files and all the supporting services. Including getting up and running with Vagrant and VirtualBox for quickstart and Puppet experiments, as well as setting up automated testing of the Puppet code.
The Perforce Web Content Management System development team, lacking a pre-existing solution in PHP, designed and implemented their own object model and record layer to ease the interaction of the system with the Perforce Server. This session will focus on how users can access files in Perforce via a simple CRUD API, the subsystems exposed, and their usage.
Puppet is an open source configuration management tool that can be used to automate the configuration and management of infrastructure and applications. It uses a client-server architecture and declarative language to define and enforce the desired state of systems. Other HashiCorp tools like Packer, Terraform, Vault and Nomad can integrate with Puppet for tasks like infrastructure provisioning, secrets management and workload orchestration. Bolt is a task orchestration tool from Puppet that can be used to automate operational tasks across infrastructure defined by tools like Terraform. Consul provides service discovery and configuration for the Puppet infrastructure.
This document summarizes techniques for leveraging PHP projects through tools that enable easier project setup and deployment, improved testing, and greater code reuse through open source libraries and frameworks. It discusses tools for project management, dependency management, process supervision, configuration management, test data generation, social coding, and packaging libraries. The goal is to reduce maintenance overhead and encourage community collaboration on PHP projects.
The document introduces Symfony2, an open-source PHP web application framework. It discusses key components like the dependency injection container, routing, and an object-oriented approach to handling requests and responses. It presents Symfony2's implementation of the MVC pattern using bundles, controllers and templates.
The document discusses Symfony2, an open-source PHP web application framework. It provides an overview of its components including routing, dependency injection, and templating. It also describes how Symfony uses an MVC architecture and emphasizes loose coupling and flexibility.
This document discusses the history and features of recent Perl releases. It describes changes such as new features like smart matching, performance enhancements, deprecated functionality and removals, updated modules, documentation improvements, and bug fixes between Perl 5.8 through 5.20. Key details include added features like given/when blocks, improvements to regular expressions, addition of new modules, and transition from Perforce to Git for version control.
The document provides an overview of Symfony2, an open-source PHP web application framework. It describes Symfony2 as a set of decoupled and cohesive components including routing, templating, form handling, and more. It also outlines Symfony2's support for modern best practices like dependency injection and an object-oriented approach to web application development using the Model-View-Controller pattern.
The document discusses techniques for automatically testing web applications in Perl, including using modules like Test::Simple, Test::WWW::Mechanize, and HTTP::Recorder. It emphasizes that testing should be integrated into the development workflow from the start and designed in a way that facilitates testing, in order to gradually improve software quality. Examples are provided for creating basic tests with Test::Simple and testing websites by programmatically interacting with them.
This document discusses extending the functionality of Movable Type through plugins. It provides examples of plugins that add new template tags and panels. Plugins allow developers to tap into Movable Type's existing interfaces and extend the capabilities of its core applications. The document also references additional resources for learning more about customizing Movable Type through the use of plugins and its plugin API.
O documento descreve como sobrescrever o método foo da classe Foo para imprimir "arrrr!" ao invés do comportamento original. Ele também mostra como usar o módulo Hook::LexWrap para adicionar código antes e depois de chamar o método foo, permitindo imprimir mensagens antes e depois da chamada.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
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.
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxSitimaJohn
Ocean Lotus cyber threat actors represent a sophisticated, persistent, and politically motivated group that poses a significant risk to organizations and individuals in the Southeast Asian region. Their continuous evolution and adaptability underscore the need for robust cybersecurity measures and international cooperation to identify and mitigate the threats posed by such advanced persistent threat groups.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
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.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
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!
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
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.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
18. Un programma tipico
• Istanzia una o più sessioni
• Esplicitamente, eventualmente usando
delle Wheel
• Implicitamente, con Componenti già
pronti
• POE::Kernel->run()
POE - A Perl Object Environment
24. _start
Session
_start =>
sub {
print quot;Start!nquot;
Kernel
}
POE - A Perl Object Environment
25. Passaggio di messaggi
Accoda un evento, da inoltrare
post() alla session specificata
Accoda un evento, da inoltrare
yield() alla session stessa
Invoca - in maniera
sincrona - un evento per una
call()
sessione specificata
POE - A Perl Object Environment
64. my $conf = {
nick = 'Quinn',
ircname = 'HAR!',
server = 'irc.freenode.net',
port = 6667
};
my $channel = '#scummbar';
POE - A Perl Object Environment
65. my $irc = POE::Component::IRC-spawn( %$conf )
or die quot;HAR!!! $!quot;;
POE - A Perl Object Environment