Make Apache bend to your will! We'll look at two ways to have fun with apache and mod_perl.
First, we'll see how to write a simple Apache2 module that acts as an output filter (munging text in certain pages) according to parameters from your Apache configuration.
Next, we'll look at a more drastic modification - changing Apache::Registry itself to add some new behaviors, such as sending an email when a perl script dies.
This topic is based on modules developed at the Sol Genomics Network, http://sgn.cornell.edu. Attendees will be encouraged to adapt these techniques for their own nefarious purposes.
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 to mod_rewrite, which allows URL matching and transformation in Apache. It outlines key concepts like RewriteRule, RewriteCond, and RewriteFlags. Regular expressions basics are covered, like wildcards and character classes. Examples show URL beautification and conditional rewrites. RewriteMap is described for more complex rewrites using external programs or files. Caveats of mod_rewrite in .htaccess files are noted, such as relative paths and inability to enable RewriteLog.
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 Phoenix 2015: Managing Files via Puppet: Let Me Count The Ways (B...Puppet
The document discusses various ways to manage files and lines within files using Puppet, including using the file, concat, augeas, file_line, inifile, datacat, and template resources and functions. It provides examples of managing entire files, specific lines, using static content or templates, and leveraging other modules to manage files and configurations.
This document summarizes some new features in PHP 5.4:
- Array syntax can now be written more concisely using square brackets instead of array functions.
- PHP 5.4 includes a built-in web server for development purposes, allowing PHP scripts to be run without Apache.
- Traits allow sharing of methods across classes to reduce code duplication, similar to mixins in Ruby.
- Closures now support accessing properties of the enclosing class scope via $this.
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.
David Naughton presented on using drush and custom PHP classes to implement an Extract, Transform, Load (ETL) process for automatically loading citation data from various sources into Drupal on a regular basis. The ETL process extracts citations from sources using custom extractor classes, transforms the raw data into Drupal-compatible formats using transformer classes, and loads the transformed data into Drupal nodes using a loader class. Drush commands are used to schedule the ETL process and pass configuration parameters to the PHP classes from the command line, allowing flexible scheduling via cron. This approach avoids issues with PHP memory limits and timeouts compared to using hook_cron directly in Drupal.
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 to mod_rewrite, which allows URL matching and transformation in Apache. It outlines key concepts like RewriteRule, RewriteCond, and RewriteFlags. Regular expressions basics are covered, like wildcards and character classes. Examples show URL beautification and conditional rewrites. RewriteMap is described for more complex rewrites using external programs or files. Caveats of mod_rewrite in .htaccess files are noted, such as relative paths and inability to enable RewriteLog.
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 Phoenix 2015: Managing Files via Puppet: Let Me Count The Ways (B...Puppet
The document discusses various ways to manage files and lines within files using Puppet, including using the file, concat, augeas, file_line, inifile, datacat, and template resources and functions. It provides examples of managing entire files, specific lines, using static content or templates, and leveraging other modules to manage files and configurations.
This document summarizes some new features in PHP 5.4:
- Array syntax can now be written more concisely using square brackets instead of array functions.
- PHP 5.4 includes a built-in web server for development purposes, allowing PHP scripts to be run without Apache.
- Traits allow sharing of methods across classes to reduce code duplication, similar to mixins in Ruby.
- Closures now support accessing properties of the enclosing class scope via $this.
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.
David Naughton presented on using drush and custom PHP classes to implement an Extract, Transform, Load (ETL) process for automatically loading citation data from various sources into Drupal on a regular basis. The ETL process extracts citations from sources using custom extractor classes, transforms the raw data into Drupal-compatible formats using transformer classes, and loads the transformed data into Drupal nodes using a loader class. Drush commands are used to schedule the ETL process and pass configuration parameters to the PHP classes from the command line, allowing flexible scheduling via cron. This approach avoids issues with PHP memory limits and timeouts compared to using hook_cron directly in Drupal.
This document discusses Puppet modules and provides examples of how to structure modules to allow for customization and reuse. It outlines 10 design rules for Example42 modules, including separating configuration data from module logic, providing choices for configuration file supply, configuring with defaults but allowing customization, and allowing management of general module behavior. The document provides code examples demonstrating how to implement these rules in Puppet modules.
Training on php by cyber security infotech (csi). Cs-infotech is one of the best cyber security and website development company in India. we also provide Network security, software development, Cyber security corporate training and SEO and SMO services.
Our services are Employee Monitoring System,Employee Monitoring Software,Website Audit,Network Security,Network Audit and Information Security.
Oliver Hookins presents on Nokia's use of Puppet for application deployment and automation. Some key points:
- Nokia uses Puppet to deploy diverse applications across environments in a consistent way and reduce errors.
- The initial Puppet system led to new problems around node definitions and lack of testing. They aimed to improve with BDD, better versioning, and more testing.
- Their goals included taking a more traditional software development approach, improving developer tools, and enabling easier deployments.
- Current work includes improving testing with Jenkins, moving to an API approach to remove host/role specifics, and developing an ENC.
Writing and using php streams and sockets tek11Elizabeth Smith
Streams provide a generic way to access input and output in PHP and were originally introduced in the 1950s as a standard way to handle input/output. PHP implements streams using wrappers that tell streams how to handle specific protocols and encodings, and filters that can transform stream data. Common stream wrappers in PHP include file, http, ftp, and php streams for interacting with system inputs and outputs.
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.
This document provides an overview of the Standard PHP Library (SPL) including common data structures like stacks, queues, heaps and iterators. It discusses how SPL extensions like SplSubject and SplObserver can be used to implement observer patterns. Various real-world open source projects using SPL are cited as examples. The document encourages involvement in improving and expanding SPL through code contributions and community engagement.
Puppet Camp Berlin 2014: Manageable puppet infrastructurePuppet
This document discusses setting up a manageable Puppet infrastructure. It outlines common pitfalls like unmaintainable codebases and collaboration difficulties. Quick wins to address pitfalls include moving data to Hiera, implementing code reviews, and refactoring constantly. The document recommends designing around server roles, storing all things data in Hiera, and facilitating deployment and workflow through environments and R10k. It provides examples of setting up roles, using different Hiera data types, and Hiera-related functions to retrieve and generate resources from data.
This document summarizes server-side and client-side testing approaches and tools. It then introduces TRunner, an open source test runner tool inspired by Selenium and inspired to support converting HTML test suites to YAML format. The document demonstrates using TRunner, including its file structure and how to fork and use it to run own test suites.
The document discusses the Standard PHP Library (SPL) which provides common data structures and interfaces in PHP. It describes various iterator interfaces and classes that can be used to iterate over data in a consistent manner. These include interfaces like Iterator and classes like RecursiveIteratorIterator, FilterIterator, ArrayIterator, DirectoryIterator, and SplFileInfo. It also discusses other SPL components like exceptions, autoloading functions, and data structures.
The document discusses techniques for creating reusable Puppet modules that can adapt to different operating systems and environments. It recommends centralizing module parameters, using qualified variables, isolating operating system diversity in separate classes, and allowing customization through project-specific classes or modules. The document also advocates for monitoring abstractions, filtering user variables, coherent naming conventions, and tools for quickly cloning and customizing modules to build a coherent infrastructure for managing modules.
Mod_rewrite is an Apache module that rewrites browser requests before other modules see them. It uses directives like RewriteEngine, RewriteCond, and RewriteRule that can be placed in the Apache config file or .htaccess files. RewriteCond defines conditions and RewriteRule defines rewrite patterns and substitutions. Mod_rewrite is commonly used to implement "friendly" URLs for search engine optimization and to map old URLs to new URLs after site changes.
A reusable Puppet module should provide options and flexibility for configuration through parameters rather than being overly prescriptive. This allows users to customize the module for their specific needs. Parameters can control things like file management, package/service options, additional resources, and application configuration. Using patterns like default parameters, options hashes, and templates helps keep modules reusable and configurable.
Slides for my talk at SkyCon'12 in Limerick.
Here I've squeezed four talks into one, covering a lot of ground quickly, so I've included links to more detailed presentations and other resources.
The document compares the directory structures and MVC implementation between CodeIgniter 3 and CodeIgniter 4. Some key differences include CodeIgniter 4 using namespaces for classes, updating the directory structure of application and system folders, and implementing an ORM for models to work with databases rather than using the query builder as in CodeIgniter 3. The index.php file is also updated to bootstrap the framework differently in CodeIgniter 4.
Puppi is a Puppet modules that drives Puppet's knowledge of the Systems to a command line tool that you can use to check services availability, gather info on the system and deploy application with a single command.
The document discusses using vfsStream to mock the filesystem in unit tests. vfsStream provides a virtual filesystem that uses PHP streams, allowing tests to manipulate files and directories without interacting with the real filesystem. It describes how to set up vfsStream, create and interact with virtual files and directories, and a vfsStream PHPUnit helper that simplifies its integration with PHPUnit tests.
Smolder is a web-based continuous integration smoke server that uses the Test Anything Protocol (TAP) format for test reporting. It supports multiple notification channels like email and ATOM and stores test results in a SQLite or MySQL database. Tests can be run on Smolder using CGI::Application or Plack and results can be uploaded from the command line using a script that communicates with the Smolder server API.
O desmatamento e um incêndio fizeram uma encosta de 12m desmoronar dentro de um rio. Uma solução de baixo custo envolveu proteger a área com uma tela e plantar amendoim forrageiro e árvores para fixar o solo e proteger a encosta da chuva. Após três anos, a vegetação rasteira está cobrindo a encosta, e em breve novas árvores serão plantadas.
This document discusses Puppet modules and provides examples of how to structure modules to allow for customization and reuse. It outlines 10 design rules for Example42 modules, including separating configuration data from module logic, providing choices for configuration file supply, configuring with defaults but allowing customization, and allowing management of general module behavior. The document provides code examples demonstrating how to implement these rules in Puppet modules.
Training on php by cyber security infotech (csi). Cs-infotech is one of the best cyber security and website development company in India. we also provide Network security, software development, Cyber security corporate training and SEO and SMO services.
Our services are Employee Monitoring System,Employee Monitoring Software,Website Audit,Network Security,Network Audit and Information Security.
Oliver Hookins presents on Nokia's use of Puppet for application deployment and automation. Some key points:
- Nokia uses Puppet to deploy diverse applications across environments in a consistent way and reduce errors.
- The initial Puppet system led to new problems around node definitions and lack of testing. They aimed to improve with BDD, better versioning, and more testing.
- Their goals included taking a more traditional software development approach, improving developer tools, and enabling easier deployments.
- Current work includes improving testing with Jenkins, moving to an API approach to remove host/role specifics, and developing an ENC.
Writing and using php streams and sockets tek11Elizabeth Smith
Streams provide a generic way to access input and output in PHP and were originally introduced in the 1950s as a standard way to handle input/output. PHP implements streams using wrappers that tell streams how to handle specific protocols and encodings, and filters that can transform stream data. Common stream wrappers in PHP include file, http, ftp, and php streams for interacting with system inputs and outputs.
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.
This document provides an overview of the Standard PHP Library (SPL) including common data structures like stacks, queues, heaps and iterators. It discusses how SPL extensions like SplSubject and SplObserver can be used to implement observer patterns. Various real-world open source projects using SPL are cited as examples. The document encourages involvement in improving and expanding SPL through code contributions and community engagement.
Puppet Camp Berlin 2014: Manageable puppet infrastructurePuppet
This document discusses setting up a manageable Puppet infrastructure. It outlines common pitfalls like unmaintainable codebases and collaboration difficulties. Quick wins to address pitfalls include moving data to Hiera, implementing code reviews, and refactoring constantly. The document recommends designing around server roles, storing all things data in Hiera, and facilitating deployment and workflow through environments and R10k. It provides examples of setting up roles, using different Hiera data types, and Hiera-related functions to retrieve and generate resources from data.
This document summarizes server-side and client-side testing approaches and tools. It then introduces TRunner, an open source test runner tool inspired by Selenium and inspired to support converting HTML test suites to YAML format. The document demonstrates using TRunner, including its file structure and how to fork and use it to run own test suites.
The document discusses the Standard PHP Library (SPL) which provides common data structures and interfaces in PHP. It describes various iterator interfaces and classes that can be used to iterate over data in a consistent manner. These include interfaces like Iterator and classes like RecursiveIteratorIterator, FilterIterator, ArrayIterator, DirectoryIterator, and SplFileInfo. It also discusses other SPL components like exceptions, autoloading functions, and data structures.
The document discusses techniques for creating reusable Puppet modules that can adapt to different operating systems and environments. It recommends centralizing module parameters, using qualified variables, isolating operating system diversity in separate classes, and allowing customization through project-specific classes or modules. The document also advocates for monitoring abstractions, filtering user variables, coherent naming conventions, and tools for quickly cloning and customizing modules to build a coherent infrastructure for managing modules.
Mod_rewrite is an Apache module that rewrites browser requests before other modules see them. It uses directives like RewriteEngine, RewriteCond, and RewriteRule that can be placed in the Apache config file or .htaccess files. RewriteCond defines conditions and RewriteRule defines rewrite patterns and substitutions. Mod_rewrite is commonly used to implement "friendly" URLs for search engine optimization and to map old URLs to new URLs after site changes.
A reusable Puppet module should provide options and flexibility for configuration through parameters rather than being overly prescriptive. This allows users to customize the module for their specific needs. Parameters can control things like file management, package/service options, additional resources, and application configuration. Using patterns like default parameters, options hashes, and templates helps keep modules reusable and configurable.
Slides for my talk at SkyCon'12 in Limerick.
Here I've squeezed four talks into one, covering a lot of ground quickly, so I've included links to more detailed presentations and other resources.
The document compares the directory structures and MVC implementation between CodeIgniter 3 and CodeIgniter 4. Some key differences include CodeIgniter 4 using namespaces for classes, updating the directory structure of application and system folders, and implementing an ORM for models to work with databases rather than using the query builder as in CodeIgniter 3. The index.php file is also updated to bootstrap the framework differently in CodeIgniter 4.
Puppi is a Puppet modules that drives Puppet's knowledge of the Systems to a command line tool that you can use to check services availability, gather info on the system and deploy application with a single command.
The document discusses using vfsStream to mock the filesystem in unit tests. vfsStream provides a virtual filesystem that uses PHP streams, allowing tests to manipulate files and directories without interacting with the real filesystem. It describes how to set up vfsStream, create and interact with virtual files and directories, and a vfsStream PHPUnit helper that simplifies its integration with PHPUnit tests.
Smolder is a web-based continuous integration smoke server that uses the Test Anything Protocol (TAP) format for test reporting. It supports multiple notification channels like email and ATOM and stores test results in a SQLite or MySQL database. Tests can be run on Smolder using CGI::Application or Plack and results can be uploaded from the command line using a script that communicates with the Smolder server API.
O desmatamento e um incêndio fizeram uma encosta de 12m desmoronar dentro de um rio. Uma solução de baixo custo envolveu proteger a área com uma tela e plantar amendoim forrageiro e árvores para fixar o solo e proteger a encosta da chuva. Após três anos, a vegetação rasteira está cobrindo a encosta, e em breve novas árvores serão plantadas.
This document appears to be a collection of unfiled notes spanning 14 pages written by Abdul Razzaq Memon. The notes do not have titles or connecting information between the pages, so it is difficult to determine the overall topic or essential information contained in the full document from the information provided.
Like-Write is a proposed asynchronous communication tool that allows users to efficiently share ideas in writing. It functions similarly to blogs but aims to promote self-motivated learning. Like-Write is intended to be used by both teachers and students to document ideas outside of in-person classroom discussions, addressing the need for written records of information like those created by students of the ancient Greek philosopher Socrates.
O documento apresenta uma análise de tarefas de segurança (APT) para várias atividades de obra, incluindo: (1) escavação em valas subterrâneas, (2) trabalho com tratores de esteira, (3) uso de ferramentas manuais. Para cada atividade, são descritos os procedimentos, equipamentos de proteção individual necessários e medidas de segurança a serem tomadas antes, durante e após a realização da tarefa.
A turbidade é medida pela quantidade de luz dispersa por células em um meio, quanto mais células mais turvo fica o meio, e pode ser quantificada usando um espectrofotômetro ou fotômetro.
Nbr 11682 1991 - estabilidade de taludesFernando Boff
1. O documento estabelece diretrizes para projetos de estabilização de taludes em solo, rocha ou mistos.
2. Inclui definições técnicas relevantes e procedimentos a serem seguidos nas etapas de investigação, projeto, execução e avaliação.
3. Aborda aspectos como investigações preliminares, projeto básico, projeto executivo, execução da obra, controle e conservação.
O documento resume as principais características dos fungos, incluindo sua importância ecológica na decomposição da matéria orgânica, modos de vida como saprófagos, parasitas e mutualistas, e seu papel na doenças de plantas, animais e seres humanos. Alguns fungos são utilizados na indústria alimentícia e de bebidas.
(Modelo de apr análise preliminar de risco - 2)Luis Araujo
Este documento fornece um plano de segurança para um trabalho, detalhando os riscos, equipamentos de proteção individual necessários, procedimentos de bloqueio de energia, comunicação de emergência e responsabilidades. Resume os principais pontos de segurança a serem observados durante a execução da tarefa.
The document provides tips for optimizing PHP code, including using string functions instead of regular expressions where possible, passing references to reduce memory usage, using persistent database connections, and checking mysql_unbuffered_query() for faster queries. It also discusses HTTP requests and responses, cookie expiry, references in PHP, returning references from functions, and the debug_backtrace() function. The document concludes with tips for improving security such as checking for uninitialized variables, validating user input, and restricting access to included files.
This document provides an introduction to PHP, including an overview of server-side scripting, the basic PHP syntax, variables, operators, control structures like conditional statements and loops, and how PHP code is processed. It explains what PHP is, how it is widely used for building dynamic websites, and the basic components needed to develop PHP applications including a web server, PHP, and a database.
Php i basic chapter 3 (syahir chaer's conflicted copy 2013-04-22)Muhamad Al Imran
This document provides an introduction to PHP, including an overview of server-side scripting, how PHP code is processed, basic PHP syntax, variables, operators, control structures like conditional statements and loops, and other key PHP concepts. It explains what PHP is, how it is used to create dynamic web content, and some of the basic building blocks needed to get started with PHP programming.
Php i basic chapter 3 (afifah rosli's conflicted copy 2013-04-23)Muhamad Al Imran
This document provides an introduction to PHP, including an overview of server-side scripting, how PHP code is processed, basic PHP syntax, variables, operators, control structures like conditional statements and loops, and other key PHP concepts. It explains what PHP is, how it is used to create dynamic web content, and some of the basic building blocks needed to get started with PHP programming.
This document discusses benchmarking Drupal performance and optimizing it with APC caching. It finds that a plain HTML page serves 1000 requests 32 times faster than Drupal. Installing the APC opcode cache speeds up Drupal significantly by caching compiled PHP files in memory. The document provides instructions for installing APC on Linux and verifying its setup. Other caching techniques like Varnish, Memcache and database tuning are also mentioned as ways to improve Drupal performance.
The document provides an overview of building Apache modules. It discusses Apache's request handling process, memory handling, and module architecture. The module architecture section describes how to structure an Apache module, including necessary includes, the module name, definition, commands (options), and configuration. It also covers registering hooks, initialization, creating new configuration directives, and logging.
This document summarizes new features in PHP 5.3, 5.4, and 5.5. It discusses features like namespaces, closures, late static bindings, traits, short array syntax, and more. The document is intended to introduce PHP updates and help software engineers stay up to date on PHP features.
The document discusses how to deploy Rails applications using Capistrano. It covers setting up the Rails environment with Ruby, RubyGems, Rails, Mongrel, Subversion, and Capistrano. It then discusses configuring Capistrano, Apache virtual hosts, and Mongrel clusters. It provides details on the deploy.rb file configuration including database, mongrel cluster, and roles.
Catalyst is a web framework for Perl that allows developers to build dynamic web applications in a modular, reusable way. It utilizes common Perl techniques like Moose, DBIx::Class and Template Toolkit to handle tasks like object modeling, database access and view rendering. Catalyst applications can be built in a model-view-controller style to separate application logic, data access and presentation layers. This framework provides a standard way to write reusable code and build web UIs for tasks like system administration and automation.
This document provides an overview of Catalyst, an elegant Perl MVC framework. It discusses how to install and set up a Catalyst application, including generating the initial application structure. It then explains the MVC pattern and describes the various components - the Model, View and Controller. The document dives into details about dispatching requests to controller actions in Catalyst and describes the context object ($c) that is passed to actions and provides access to request/response objects, configuration, logging and more.
Presentation for azPHP on setting up a new project using Zend_Tool. Also goes over creating basic modules, controllers, actions, models and layouts.
All code in the presentation has not necessarily been tested. Will update presentation when done.
The document discusses functions in PHP, including defining functions, passing arguments to functions, returning values from functions, and using global variables. Some key points covered include:
- Functions allow code to be reused and separated into logical subsections, making code more modular, readable, and maintainable.
- Arguments passed to functions can make functions more flexible by allowing different inputs to produce different outputs each time they are called.
- Functions can return values to the calling code using the return statement. Returned values can be variables, arrays, or results of calculations.
- The order arguments are passed to a function matters, as arguments are assigned to placeholder variables in the defined order. Default values can be specified for arguments.
The document discusses building testable PHP applications. It covers topics like testing code, testable architecture, dependency injection, and static code analysis tools like PHP Code Sniffer, PHP Mess Detector, and PHP Copy Paster Detector. The document emphasizes that writing tests and designing for testability leads to fewer bugs and more maintainable code. It provides examples of unit testing and recommends test-driven development practices.
Johannes Schlüter's PHPNW08 slides:
The current PHP version, PHP 5.3 introduced a multitude of new language features, most notably namespaces and late static binding, new extensions such as phar, as well as numerous other improvements. Even so, this power-packed release boasts better performance than older PHP releases. This talk will give you a good overview about PHP 5.3 and show some less known features in detail.
This document describes how to analyze web server log files using the Pig Latin scripting language on Apache Hadoop. It provides examples of Pig Latin scripts to analyze logs and extract insights such as the top 50 external referrers, top search terms from Bing and Google, and total requests and bytes served by hour. Pig Latin scripts allow expressing data analysis programs for large datasets in a high-level language that can be optimized and executed in parallel on Hadoop for scalability.
This document provides instructions for Lab 4 of an information systems design course. The lab aims to build experience with fundamental PHP functions related to arrays, strings, and regular expressions. Students will modify PHP code snippets to work with multi-dimensional arrays, define and call functions, and perform string operations like searching and replacing text. The lab consists of 4 steps involving PHP code to demonstrate various PHP features and concepts.
This document provides instructions for Lab 4 of an information systems design course. The lab aims to build experience with fundamental PHP functions related to arrays, strings, and regular expressions. Students will modify PHP code snippets to work with multi-dimensional arrays, define and call functions, and perform string operations like searching and replacing text. The lab consists of 4 steps involving PHP code to demonstrate various language features like joining strings, defining functions, and using regular expressions.
CakePHP 2.0 has been re-factored and rebuilt with many internal and external API changes. It uses native PHP5 features, updated conventions for class and file names, and a new loader. Exceptions replace the old error handling. Collections unify how helpers, components, behaviors and tasks are loaded and used. The console, request/response, sessions, authentication, email, and testing have all been improved for better performance and extensibility. Benchmarks show CakePHP 2.0 has significantly better performance than 1.3.11.
This document provides information on running Spark programs and accessing HDFS from Spark using Java. It discusses running a word count example in local mode and standalone Spark without Hadoop. It also compares the performance of running the same program in different environments like standalone Java, Hadoop and Spark. The document then shows how to access HDFS files from Spark Java program using the Hadoop common jar.
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
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.
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
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
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.
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
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.
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on integration of Salesforce with Bonterra Impact Management.
Interested in deploying an integration with Salesforce for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
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.
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
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
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
2. A Simple Output Filter
A horse walks A horse walks
into a foo. into a bar.
The footender The bartender
says, why the says, why the
long face? long face?
3. Using the Filter
In your apache2 configuration:
PerlLoadModule Example::RewriteStuff
<Files *.html>
PerlOutputFilterHandler Example::RewriteStuff
RewriteWhatToWhat foo bar
</Files>
5. Essential Parts of this Filter
package Example::RewriteStuff;
# Register our module
Apache2::Module::add(__PACKAGE__, @directives);
# This processes our custom directive
sub RewriteWhatToWhat { ... }
# This does the filtering
sub handler { ... s/foo/bar/; ...}
6. Helpful Perl Modules
Apache2::Module lets your perl module
become an Apache module.
Apache2::Filter provides a filter object ($f)
and helpful filter management functions.
Apache2::Const - constants
Apache2::CmdParms – $parms
Apache2::RequestRec – request object $r
APR::Table – unset Content-Length
7. Define your Directives and Add
your Module
my @directives = (
{
name => 'RewriteWhatToWhat',
args_how => Apache2::Const::TAKE2,
errmsg => 'Args: FROM-STRING TO-STRING',
},
);
Apache2::Module::add(__PACKAGE__, @directives);
(This goes in Example::RewriteStuff)
8. The Directive
sub RewriteWhatToWhat {
my ($self, $parms, @args) = @_;
my $srv_cfg = Apache2::Module::get_config
($self, $parms->server);
# process/store params for later use
($srv_cfg->{from},
$srv_cfg->{to}) = map quotemeta, @args;
}
(This goes in Example::RewriteStuff)
9. The Handler
sub handler{
my $f = shift;
# [unset Content-length here]
while ($f->read(my $buffer, 1024)){
$buffer =~ s/
$cfg->{from}
/
$cfg->{to}
/gx;
$f->print($buffer);
} (This goes in Example::RewriteStuff)
10. Saving Data
$f->ctx()
$f->ctx({ somedata => “thing to
save” });
11. What are Filters Good For?
● Rewrite links in the page
● Tidy up code as you send it
● Screw with PHP (mod_perl cookbook)
● What nifty filter will YOU write?
12. What Else can you do with
Apache2 Filters?
● Input filters
● Dynamic filters (decide at request time what
filters to run)
● Connection filters (munge headers as well as
body)
13. Hacking Apache::Registry
( Major Surgery)
This next example uses Apache 1.3
(Apache 2 users: go ahead and boo)
(Apache 1 users: you can wake up now)
14. Actually, It's Really Easy
1. Move & rename Apache/Registry.pm
3. Point apache to your renamed module:
PerlModule Example::MyRegistry
PerlHandler Example::MyRegistry
4. Hack away! (this part may be less easy)
15. Catch a Compile Time Error
# ...
compile($eval);
$r->stash_rgy_endav($script_name);
if ($@) {
# your code here
xlog_error($r, $@);
return SERVER_ERROR unless $Debug && $Debug &
2;
return Apache::Debug::dump($r, SERVER_ERROR);
}
# ...
(This is in Example::MyRegistry)
16. Catch a Runtime Error
use Example::Purgatory; # catches $SIG{__DIE__}
# ...
if($errsv) {
# your code here
xlog_error($r, $errsv);
return SERVER_ERROR unless $Debug && $Debug
& 2;
return Apache::Debug::dump($r, SERVER_ERROR);
}
# ...
(This is in Example::MyRegistry)
17. Email the Backtrace
use Carp::Heavy;
use Mail::Sendmail;
$SIG{__DIE__} = sub {
sendmail (
To => 'developers@yourcompany',
Subject => “$page died”,
Body => Carp::longmess_heavy()
);
} (This is in Example::Purgatory)
20. A Simple Output Filter
A horse walks A horse walks
into a foo. into a bar.
The footender The bartender
says, why the says, why the
long face? long face?
2
Goal the first (there are two): write an Apache filter
that filters text, for example changing “foo” to
“bar” on the fly. The box on the left is a file you
have on disk; the box on the right is what the user
sees when they request that page. The magical
cloud in the middle is Apache.
Apache output filters can do more than just replacing
strings (they're written in perl, so they can do
anything perl can do) but we've chosen a simple
replace for our example.
21. Using the Filter
In your apache2 configuration:
PerlLoadModule Example::RewriteStuff
<Files *.html>
PerlOutputFilterHandler Example::RewriteStuff
RewriteWhatToWhat foo bar
</Files>
3
Now, how do you USE an Apache output filter? It's an
apache module, so you need to tell Apache how to
use your filter.
We're calling our module Example::RewriteStuff. (real
creative, huh?) We even let the user – the person
who's configuring Apache with our module – decide
what strings they'd like to replace. Same idea as
arguments in a CLI program.
This goes in your httpd.conf or, for me, the
appropriate file in sites-enabled.
(Yes, apache2. This kind of filtering doesn't work with
earlier Apaches.)
22. How Filters Work
4
Apache2 filters can stack; after one filter is done with
its portion of data, the data goes to the next filter.
Data comes in “buckets”, and when you read up on
Apache filters, you'll hear a lot about bucket
brigades. [Details are elided here. My examples use
the stream-oriented API, so buckets are behind the
scenes.]
User-defined filters are processed in the same order
as their configuration: the first-defined filter goes
first. [By the time your filters are invoked, the
INCLUDES filter has already been run.]
Pictured: a 3-bucket water filter that removes arsenic
from water. Invented by Abul Hussam for use in his
native Bangladesh.
23. Essential Parts of this Filter
package Example::RewriteStuff;
# Register our module
Apache2::Module::add(__PACKAGE__, @directives);
# This processes our custom directive
sub RewriteWhatToWhat { ... }
# This does the filtering
sub handler { ... s/foo/bar/; ...}
5
This is not a working filter; lots of stuff is missing.
(See the example code for the rest, at
http://bethskwarecki.com/ppw2007)
But the basics are here: we register the module (this
mainly includes defining our directives like
RewriteWhatToWhat).
We have a sub that the directive executes upon
parsing (so it runs each time Apache reads its
config file)
and we have the handler sub that does the hard work
(in our case, the regex that substitutes “bar” for
“foo”.
24. Helpful Perl Modules
Apache2::Module lets your perl module
become an Apache module.
Apache2::Filter provides a filter object ($f)
and helpful filter management functions.
Apache2::Const - constants
Apache2::CmdParms – $parms
Apache2::RequestRec – request object $r
APR::Table – unset Content-Length
6
Speaks for itself, I think. Perldoc for more info.
APR::Table provides unset() for content-length
25. Define your Directives and Add
your Module
my @directives = (
{
name => 'RewriteWhatToWhat',
args_how => Apache2::Const::TAKE2,
errmsg => 'Args: FROM-STRING TO-STRING',
},
);
Apache2::Module::add(__PACKAGE__, @directives);
(This goes in Example::RewriteStuff) 7
req_override says where the directive can legally
appear. OR_ALL means it can be just about
anywhere.
args_how describes the arguments. In this case, we
take 2 arguments (the from-string and to-string)
errmsg will be used if you invoke the directive
incorrectly (for example, wrong number of
arguments)
The name is the name of the directive, and func is
the function that it maps to. They don't need to
have the same name.
More info on those funky Apache constants here:
http://perl.apache.org/docs/2.0/user/config/custom.ht
ml
26. The Directive
sub RewriteWhatToWhat {
my ($self, $parms, @args) = @_;
my $srv_cfg = Apache2::Module::get_config
($self, $parms->server);
# process/store params for later use
($srv_cfg->{from},
$srv_cfg->{to}) = map quotemeta, @args;
}
(This goes in Example::RewriteStuff) 8
27. The Handler
sub handler{
my $f = shift;
# [unset Content-length here]
while ($f->read(my $buffer, 1024)){
$buffer =~ s/
$cfg->{from}
/
$cfg->{to}
/gx;
$f->print($buffer);
} (This goes in Example::RewriteStuff) 9
where does $cfg come from?
what happens if $from crosses a 1024-byte
boundary?
28. Saving Data
$f->ctx()
$f->ctx({ somedata => “thing to
save” });
10
29. What are Filters Good For?
● Rewrite links in the page
● Tidy up code as you send it
● Screw with PHP (mod_perl cookbook)
● What nifty filter will YOU write?
11
What filter will YOU write?
I wrote a filter to munge URLs in a reverse proxy.
(mod_proxy_html rewrites links in HTML but I
needed to also rewrite URLs in CSS and
javascript.)
Two filters by Graham TerMarsch “minify” code –
they remove whitespace. Apache::Clean by
Geoffrey Young tidies HTML on the fly.
Screw with PHP (mod_perl cookbook)
[Your name here!]
30. What Else can you do with
Apache2 Filters?
● Input filters
● Dynamic filters (decide at request time what
filters to run)
● Connection filters (munge headers as well as
body)
12
31. Hacking Apache::Registry
( Major Surgery)
This next example uses Apache 1.3
(Apache 2 users: go ahead and boo)
(Apache 1 users: you can wake up now)
13
32. Actually, It's Really Easy
1. Move & rename Apache/Registry.pm
3. Point apache to your renamed module:
PerlModule Example::MyRegistry
PerlHandler Example::MyRegistry
4. Hack away! (this part may be less easy)
14
Example: mv /usr/lib/perl5/Apache/Registry.pm
/usr/local/lib/site_perl/Example/MyRegistry.pm
Remember to change the “package” line to match
(it's the first line in that file).
33. Catch a Compile Time Error
# ...
compile($eval);
$r->stash_rgy_endav($script_name);
if ($@) {
# your code here
xlog_error($r, $@);
return SERVER_ERROR unless $Debug && $Debug &
2;
return Apache::Debug::dump($r, SERVER_ERROR);
}
# ...
(This is in Example::MyRegistry)
15
34. Catch a Runtime Error
use Example::Purgatory; # catches $SIG{__DIE__}
# ...
if($errsv) {
# your code here
xlog_error($r, $errsv);
return SERVER_ERROR unless $Debug && $Debug
& 2;
return Apache::Debug::dump($r, SERVER_ERROR);
}
# ...
(This is in Example::MyRegistry)
16
runtime_error just displays a helpful message for the
user.
Example::Purgatory catches the die signal.
35. Email the Backtrace
use Carp::Heavy;
use Mail::Sendmail;
$SIG{__DIE__} = sub {
sendmail (
To => 'developers@yourcompany',
Subject => “$page died”,
Body => Carp::longmess_heavy()
);
} (This is in Example::Purgatory) 17