Presentation for Codeworks 2012 Atlanta. This presentation went through what Phing is, how to set it up, example, and how we implemented it with our applications.
Embedded Systems: Lecture 13: Introduction to GNU Toolchain (Build Tools)Ahmed El-Arabawy
The document discusses Linux toolchains used for embedded systems development. It describes the main components of the GNU toolchain including gcc (compiler), ld (linker), ar (library archiver) and other tools. It explains the compilation process from source code to executable, use of static and dynamic libraries, and how the dynamic linker locates libraries at runtime. Commands for building, linking and debugging programs are also covered.
This document discusses why Ruby is a good programming language for security projects. It provides examples of security tools and frameworks built with Ruby, including Metasploit, BeEF, Arachni, Brakeman, WPScan, and RailsGoat. Ruby offers features like an easy-to-read syntax, package management with RubyGems, powerful object-oriented capabilities, platform independence, and support for domains like network protocols that make it well-suited for security applications.
This document provides an overview and summary of the Java Content Repository (JCR) specification and Apache Jackrabbit implementation. It discusses how JCR combines advantages of file systems and databases by allowing structured and unstructured content to be stored together in a single repository. It also summarizes how to connect to a repository, interact with nodes and properties, perform searches and queries, and leverage advanced features like observation and versioning. The document promotes JCR as a standard Java API and Apache Jackrabbit as a widely used open source implementation.
Fedora 4 is an open source repository system that stores objects and uses RDF, SPARQL, and a RESTful HTTP API. It organizes content in a tree structure of nodes within workspaces and was released in beta in June 2014. Developers can contribute code through GitHub and use tools like Eclipse, Pivotal Tracker, and IRC to collaborate on the community-driven project.
This document discusses open source relational databases. It begins by introducing the presenter and topic, which is the current state of components in open source SQL databases. It then covers key components such as the storage engine, query planner, protocols, transaction model, and others. For each component, it discusses the approaches taken by different databases like PostgreSQL, MySQL, CockroachDB, and ClickHouse. It also addresses topics like horizontal scalability and replication strategies. Overall, the document provides a detailed overview and comparison of the architectural components and capabilities across major open source relational database management systems.
The document discusses best practices for building and packaging compiled applications across different platforms. It recommends setting up a build server like Jenkins to enable reproducible builds. Built artifacts should be backed up, such as copying to S3. The document also discusses using tools like chroot, mock, and pbuilder to build in clean environments. It recommends static linking of dependencies where possible and capturing debug symbols to aid in debugging. Automated testing of install/uninstall and correctness is also recommended to catch errors on supported platforms.
Embedded Systems: Lecture 13: Introduction to GNU Toolchain (Build Tools)Ahmed El-Arabawy
The document discusses Linux toolchains used for embedded systems development. It describes the main components of the GNU toolchain including gcc (compiler), ld (linker), ar (library archiver) and other tools. It explains the compilation process from source code to executable, use of static and dynamic libraries, and how the dynamic linker locates libraries at runtime. Commands for building, linking and debugging programs are also covered.
This document discusses why Ruby is a good programming language for security projects. It provides examples of security tools and frameworks built with Ruby, including Metasploit, BeEF, Arachni, Brakeman, WPScan, and RailsGoat. Ruby offers features like an easy-to-read syntax, package management with RubyGems, powerful object-oriented capabilities, platform independence, and support for domains like network protocols that make it well-suited for security applications.
This document provides an overview and summary of the Java Content Repository (JCR) specification and Apache Jackrabbit implementation. It discusses how JCR combines advantages of file systems and databases by allowing structured and unstructured content to be stored together in a single repository. It also summarizes how to connect to a repository, interact with nodes and properties, perform searches and queries, and leverage advanced features like observation and versioning. The document promotes JCR as a standard Java API and Apache Jackrabbit as a widely used open source implementation.
Fedora 4 is an open source repository system that stores objects and uses RDF, SPARQL, and a RESTful HTTP API. It organizes content in a tree structure of nodes within workspaces and was released in beta in June 2014. Developers can contribute code through GitHub and use tools like Eclipse, Pivotal Tracker, and IRC to collaborate on the community-driven project.
This document discusses open source relational databases. It begins by introducing the presenter and topic, which is the current state of components in open source SQL databases. It then covers key components such as the storage engine, query planner, protocols, transaction model, and others. For each component, it discusses the approaches taken by different databases like PostgreSQL, MySQL, CockroachDB, and ClickHouse. It also addresses topics like horizontal scalability and replication strategies. Overall, the document provides a detailed overview and comparison of the architectural components and capabilities across major open source relational database management systems.
The document discusses best practices for building and packaging compiled applications across different platforms. It recommends setting up a build server like Jenkins to enable reproducible builds. Built artifacts should be backed up, such as copying to S3. The document also discusses using tools like chroot, mock, and pbuilder to build in clean environments. It recommends static linking of dependencies where possible and capturing debug symbols to aid in debugging. Automated testing of install/uninstall and correctness is also recommended to catch errors on supported platforms.
This document provides an overview of Flutter and Dart concepts including:
- The structure of Flutter projects and the pubspec.yaml file.
- Dart language basics like variables, types, functions, and control flow.
- Common Flutter widgets like StatelessWidget, StatefulWidget, Scaffold, AppBar, and Material Components.
- It concludes with reviewing the default Flutter sample code and references for additional information.
Not Just ORM: Powerful Hibernate ORM Features and CapabilitiesBrett Meyer
DevNexus 2014
Hibernate has always revolved around data, ORM, and JPA. However, it’s much more than that. Hibernate has grown into a family of projects and capabilities, extending well beyond the traditional ORM/JPA space.
This talk will present powerful features provided both by Hibernate ORM, as well as third-party extensions. Some capabilities are brand new, while others are older-but-improved. Topics include multiple-tenancy, geographic data, auditing/versioning, sharding, OSGi, and integration with additional Hibernate projects. The talk will include live demonstrations.
Python intro and competitive programmingSuraj Shah
This document provides an introduction and overview of the Python programming language. It covers Python's background, syntax, types, operators, control flow, functions, classes, tools, and provides examples of code. The document discusses Python's multi-purpose capabilities, object oriented nature, dynamic and strong typing, readability, batteries included philosophy, and cross-platform support. It also lists some major organizations that use Python.
This document discusses the integration of Apache Lucene with OrientDB to provide full-text and spatial indexing capabilities. It provides an overview of Lucene and how it is used by various systems. It then describes how OrientDB uses Lucene under the hood to add full-text search through a Lucene index, as well as spatial search capabilities by leveraging Lucene's spatial module. The document outlines the basic workflow and provides code examples for creating different index types and using query operators. Finally, it discusses current performance and outlines the roadmap for further improvements and additional features in OrientDB's Lucene integration.
This document discusses the programming language Go and how it differs from other languages. It provides a brief history of programming languages from the 1950s to today. It then discusses challenges like hardware limitations and multithreaded design that led to the creation of Go. Go was created at Google in 2009 to better support concurrency and utilize multiple CPU cores. It has a simple syntax and type system, built-in concurrency using goroutines and channels, and sees adoption at many large tech companies.
Serialization and performance by Sergey MorenetsAlex Tumanoff
The document discusses serialization frameworks in Java and compares their performance. It provides an overview of popular serialization frameworks like Java serialization, Kryo, Protocol Buffers, Jackson, Google GSON, and others. Benchmark tests were conducted to compare the frameworks' speed of serialization and deserialization, as well as the size of serialized objects. Kryo with optimizations was generally the fastest, while Protocol Buffers was very fast for simple objects. The document concludes with recommendations on when to use different frameworks.
Apache Jackrabbit Oak is a new JCR implementation with a completely new architecture. Based on concepts like eventual consistency and multi-version concurrency control, and borrowing ideas from distributed version control systems and cloud-scale databases, the Oak architecture is a major leap ahead for Jackrabbit. This presentation describes the Oak architecture and shows what it means for the scalability and performance of modern content applications. Changes to existing Jackrabbit functionality are described and the migration process is explained.
This document summarizes new features and enhancements in Java SE 7, including allowing strings in switch statements, binary and underscored numeric literals, try-with-resources for automatic resource management, and the diamond operator for simplifying generic object creation. It also briefly mentions features like multiple exception handling in a catch clause, the Path API for type-safe file paths, directory streaming and watching capabilities in NIO.2, and the future of Java focusing on productivity, performance, and modularization.
Serialization is the process of converting an object into a byte stream to store or transmit the object. The document discusses three serialization frameworks: Avro, MessagePack, and Kryo. Avro uses a JSON-defined schema and is created by the creator of Hadoop. MessagePack supports rich data structures like JSON and has interfaces for RPC. Kryo makes serialization easy by collecting serializers by class and supports compression.
This document provides an overview of Phing, an open source build tool based on Apache Ant. Phing allows users to automate tasks like configuration, packaging, deployment, testing and more through PHP scripts. It is cross-platform and supports features like running tasks in parallel, filtering files, transforming data and extending functionality through custom tasks and extensions. The document demonstrates how to write Phing build scripts and utilize core tasks and functionality like file selection, property handling, conditionals and more.
This document provides an overview of data and views in Rails. It introduces the Team, Location, and Game models and their attributes. It discusses database migrations, RESTful routes, the public folder for static files, and use of ERB templates for views with layouts and partials. It also covers ActiveRecord associations like belongs_to and has_many. The homework is to generate a Player scaffold and display players for a team on its page.
Nobody wants to work in a large ball of mud that becomes harder to manage as time goes on. Proven software architectures tells us to break the system into more manageable components that are isolated from each other.
Years back (before Composer) in symfony1 era we had a single SVN repository, that required a lot of discipline to keep our codebase decoupled and clean. After migrating to Symfony 2 we broke the project into more manageable components that were in separate Git repositories. Unfortunately it quickly became a huge overhead and nightmare to deal with.
We learned the hard why that all the benefits come from having isolated packages not breaking things into separate repositories.
Now we have a single Git repository, again. This isn't a bad idea; to my knowledge Facebook, Twitter, and Google all have a big monolithic source repos but we needed a solution that works for a lot smaller fish :)
With a little help, Composer made this possible for us - so you can have your cake and eat it too!
Bleen 2.0 is a crawler, search, and launcher platform. It consists of a crawler that supports incremental and full crawls, a search component with categories, facets, voting, and comments, and a launcher to open files across platforms. The backend includes plugins, a scheduler, storage, and configuration options. Bleen 2.0 allows for extension through plugins and aims to improve flexibility, support for multiple sources, and relations between entities.
The document discusses the Rails asset pipeline. It explains that the asset pipeline precompiles, concatenates, and minifies assets. It describes the asset paths like app/assets, lib/assets, and vendor/assets that hold different types of assets. It explains that Sprockets performs the asset packaging by compiling the assets from specified paths together and placing them in the public/assets path. It also discusses concepts like using Tilt as the template engine, requiring assets in the manifest file, and common misconceptions about how assets must be organized.
East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...Gerke Max Preussner
This document discusses concurrency and parallelism techniques in Unreal Engine 4 (UE4). It covers synchronization primitives like atomics, locking, signaling, and waiting. It also discusses high level constructs like thread-safe containers and helpers. For parallelization, it discusses threading using runnables, task graphs, processes, and messaging. The goal is to provide tips for programming UE4 to take advantage of multiple CPU cores.
This document summarizes a presentation about taking eZ Find, an open source search engine for eZ Publish, beyond basic full-text search capabilities. It discusses using Solr, the search engine that powers eZ Find, for more advanced uses like integrating external data sources. It also covers semantic annotation of content using engines like Apache Stanbol and building ontologies to enhance search relevancy. Finally, it proposes a new content repository project to provide a more powerful and flexible content model than eZ Publish while still connecting to its ecosystem.
The document discusses Thomas Rabaix's involvement with Symfony including developing plugins, writing a book, and now working for Ekino. It also provides an overview of a talk on Solr including indexing, searching, administration and deployment of Solr. The talk covers what Solr is, indexing documents, filtering queries, and how Solr integrates with Apache projects like Nutch and Tika.
Putting "Phings" together - how to automate your lifeBoyan Borisov
This document provides an introduction to Phing, an open source build tool that uses XML build files to automate tasks. Some key points:
- Phing is a platform-independent build tool based on Apache Ant that uses XML files to define projects, targets, tasks, properties and more.
- It allows automating repetitive tasks, minimizing errors, saving time and enforcing a universal automation approach.
- The document outlines how to install Phing, describes basic concepts like build files, projects, targets and tasks, and provides examples of tasks, filesets, mappers and filters.
- It also discusses how the author's company uses Phing to help manage larger projects, teams and new employees more
Symfony under control. Continuous Integration and Automated Deployments in Sy...Max Romanovsky
This document discusses continuous integration and automated deployments for Symfony projects. It covers setting up dependencies with Composer, building projects with Phing, implementing continuous integration with Jenkins CI, and deploying projects using Capifony. While many aspects are covered in detail, such as build targets, plugins, and rollback procedures, it notes that the full implementation is not yet available online and will be released to GitHub in 1-2 months.
В продолжение темы непрерывной интеграции, Макс расскажет о своем подходе организации непрерывной интеграции и деплоймента в Symfony проектах. Рассказ включает следующие темы:
- Управления зависимостями
- Процесс и инструменты для сборки
- Сервера непрерывной интеграции и в частности Jenkins, плагины к нему, jobs
- Процесс разработки в git
- Процесс выгрузки релиза
- Миграция БД
- Откат релиза
This document provides an overview of Flutter and Dart concepts including:
- The structure of Flutter projects and the pubspec.yaml file.
- Dart language basics like variables, types, functions, and control flow.
- Common Flutter widgets like StatelessWidget, StatefulWidget, Scaffold, AppBar, and Material Components.
- It concludes with reviewing the default Flutter sample code and references for additional information.
Not Just ORM: Powerful Hibernate ORM Features and CapabilitiesBrett Meyer
DevNexus 2014
Hibernate has always revolved around data, ORM, and JPA. However, it’s much more than that. Hibernate has grown into a family of projects and capabilities, extending well beyond the traditional ORM/JPA space.
This talk will present powerful features provided both by Hibernate ORM, as well as third-party extensions. Some capabilities are brand new, while others are older-but-improved. Topics include multiple-tenancy, geographic data, auditing/versioning, sharding, OSGi, and integration with additional Hibernate projects. The talk will include live demonstrations.
Python intro and competitive programmingSuraj Shah
This document provides an introduction and overview of the Python programming language. It covers Python's background, syntax, types, operators, control flow, functions, classes, tools, and provides examples of code. The document discusses Python's multi-purpose capabilities, object oriented nature, dynamic and strong typing, readability, batteries included philosophy, and cross-platform support. It also lists some major organizations that use Python.
This document discusses the integration of Apache Lucene with OrientDB to provide full-text and spatial indexing capabilities. It provides an overview of Lucene and how it is used by various systems. It then describes how OrientDB uses Lucene under the hood to add full-text search through a Lucene index, as well as spatial search capabilities by leveraging Lucene's spatial module. The document outlines the basic workflow and provides code examples for creating different index types and using query operators. Finally, it discusses current performance and outlines the roadmap for further improvements and additional features in OrientDB's Lucene integration.
This document discusses the programming language Go and how it differs from other languages. It provides a brief history of programming languages from the 1950s to today. It then discusses challenges like hardware limitations and multithreaded design that led to the creation of Go. Go was created at Google in 2009 to better support concurrency and utilize multiple CPU cores. It has a simple syntax and type system, built-in concurrency using goroutines and channels, and sees adoption at many large tech companies.
Serialization and performance by Sergey MorenetsAlex Tumanoff
The document discusses serialization frameworks in Java and compares their performance. It provides an overview of popular serialization frameworks like Java serialization, Kryo, Protocol Buffers, Jackson, Google GSON, and others. Benchmark tests were conducted to compare the frameworks' speed of serialization and deserialization, as well as the size of serialized objects. Kryo with optimizations was generally the fastest, while Protocol Buffers was very fast for simple objects. The document concludes with recommendations on when to use different frameworks.
Apache Jackrabbit Oak is a new JCR implementation with a completely new architecture. Based on concepts like eventual consistency and multi-version concurrency control, and borrowing ideas from distributed version control systems and cloud-scale databases, the Oak architecture is a major leap ahead for Jackrabbit. This presentation describes the Oak architecture and shows what it means for the scalability and performance of modern content applications. Changes to existing Jackrabbit functionality are described and the migration process is explained.
This document summarizes new features and enhancements in Java SE 7, including allowing strings in switch statements, binary and underscored numeric literals, try-with-resources for automatic resource management, and the diamond operator for simplifying generic object creation. It also briefly mentions features like multiple exception handling in a catch clause, the Path API for type-safe file paths, directory streaming and watching capabilities in NIO.2, and the future of Java focusing on productivity, performance, and modularization.
Serialization is the process of converting an object into a byte stream to store or transmit the object. The document discusses three serialization frameworks: Avro, MessagePack, and Kryo. Avro uses a JSON-defined schema and is created by the creator of Hadoop. MessagePack supports rich data structures like JSON and has interfaces for RPC. Kryo makes serialization easy by collecting serializers by class and supports compression.
This document provides an overview of Phing, an open source build tool based on Apache Ant. Phing allows users to automate tasks like configuration, packaging, deployment, testing and more through PHP scripts. It is cross-platform and supports features like running tasks in parallel, filtering files, transforming data and extending functionality through custom tasks and extensions. The document demonstrates how to write Phing build scripts and utilize core tasks and functionality like file selection, property handling, conditionals and more.
This document provides an overview of data and views in Rails. It introduces the Team, Location, and Game models and their attributes. It discusses database migrations, RESTful routes, the public folder for static files, and use of ERB templates for views with layouts and partials. It also covers ActiveRecord associations like belongs_to and has_many. The homework is to generate a Player scaffold and display players for a team on its page.
Nobody wants to work in a large ball of mud that becomes harder to manage as time goes on. Proven software architectures tells us to break the system into more manageable components that are isolated from each other.
Years back (before Composer) in symfony1 era we had a single SVN repository, that required a lot of discipline to keep our codebase decoupled and clean. After migrating to Symfony 2 we broke the project into more manageable components that were in separate Git repositories. Unfortunately it quickly became a huge overhead and nightmare to deal with.
We learned the hard why that all the benefits come from having isolated packages not breaking things into separate repositories.
Now we have a single Git repository, again. This isn't a bad idea; to my knowledge Facebook, Twitter, and Google all have a big monolithic source repos but we needed a solution that works for a lot smaller fish :)
With a little help, Composer made this possible for us - so you can have your cake and eat it too!
Bleen 2.0 is a crawler, search, and launcher platform. It consists of a crawler that supports incremental and full crawls, a search component with categories, facets, voting, and comments, and a launcher to open files across platforms. The backend includes plugins, a scheduler, storage, and configuration options. Bleen 2.0 allows for extension through plugins and aims to improve flexibility, support for multiple sources, and relations between entities.
The document discusses the Rails asset pipeline. It explains that the asset pipeline precompiles, concatenates, and minifies assets. It describes the asset paths like app/assets, lib/assets, and vendor/assets that hold different types of assets. It explains that Sprockets performs the asset packaging by compiling the assets from specified paths together and placing them in the public/assets path. It also discusses concepts like using Tilt as the template engine, requiring assets in the manifest file, and common misconceptions about how assets must be organized.
East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...Gerke Max Preussner
This document discusses concurrency and parallelism techniques in Unreal Engine 4 (UE4). It covers synchronization primitives like atomics, locking, signaling, and waiting. It also discusses high level constructs like thread-safe containers and helpers. For parallelization, it discusses threading using runnables, task graphs, processes, and messaging. The goal is to provide tips for programming UE4 to take advantage of multiple CPU cores.
This document summarizes a presentation about taking eZ Find, an open source search engine for eZ Publish, beyond basic full-text search capabilities. It discusses using Solr, the search engine that powers eZ Find, for more advanced uses like integrating external data sources. It also covers semantic annotation of content using engines like Apache Stanbol and building ontologies to enhance search relevancy. Finally, it proposes a new content repository project to provide a more powerful and flexible content model than eZ Publish while still connecting to its ecosystem.
The document discusses Thomas Rabaix's involvement with Symfony including developing plugins, writing a book, and now working for Ekino. It also provides an overview of a talk on Solr including indexing, searching, administration and deployment of Solr. The talk covers what Solr is, indexing documents, filtering queries, and how Solr integrates with Apache projects like Nutch and Tika.
Putting "Phings" together - how to automate your lifeBoyan Borisov
This document provides an introduction to Phing, an open source build tool that uses XML build files to automate tasks. Some key points:
- Phing is a platform-independent build tool based on Apache Ant that uses XML files to define projects, targets, tasks, properties and more.
- It allows automating repetitive tasks, minimizing errors, saving time and enforcing a universal automation approach.
- The document outlines how to install Phing, describes basic concepts like build files, projects, targets and tasks, and provides examples of tasks, filesets, mappers and filters.
- It also discusses how the author's company uses Phing to help manage larger projects, teams and new employees more
Symfony under control. Continuous Integration and Automated Deployments in Sy...Max Romanovsky
This document discusses continuous integration and automated deployments for Symfony projects. It covers setting up dependencies with Composer, building projects with Phing, implementing continuous integration with Jenkins CI, and deploying projects using Capifony. While many aspects are covered in detail, such as build targets, plugins, and rollback procedures, it notes that the full implementation is not yet available online and will be released to GitHub in 1-2 months.
В продолжение темы непрерывной интеграции, Макс расскажет о своем подходе организации непрерывной интеграции и деплоймента в Symfony проектах. Рассказ включает следующие темы:
- Управления зависимостями
- Процесс и инструменты для сборки
- Сервера непрерывной интеграции и в частности Jenkins, плагины к нему, jobs
- Процесс разработки в git
- Процесс выгрузки релиза
- Миграция БД
- Откат релиза
This document outlines the process of transitioning a large enterprise from fragmented deployment tools to a standardized configuration management and delivery system using Puppet. It describes designing a scalable Puppet infrastructure with master servers, compilers, PuppetDB and caching of artifacts globally. It also details challenges in integrating Hiera, resilient certificate authorities, scaling PuppetDB and aggregating code from multiple teams into standardized releases.
Puppet & Perforce: Versioning Everything for DeploymentsPerforce
We all want faster deployments – but how? Learn how to use Perforce to manage everything that goes into deployments, how to use Puppet to manage the state of nodes with Perforce, and how integrating Perforce and Puppet speeds up the adoption of DevOps practices.
Introduction to Ansible - Jan 28 - Austin MeetUptylerturk
This presentation is a fairly brief introduction to ansible including some minor details around WP Engine's implementation, variable precedence, a sample playbook, and some of the core concepts around what makes ansible tick.
How to start developing your own ExpressionEngine addonsLeevi Graham
This document provides information on how to develop ExpressionEngine addons. It begins by discussing different types of addons like plugins, modules, and extensions. It then covers various popular addons like Freeform, Structure, and FieldFrame. The document also discusses where to find existing addons and provides an overview of the steps to create your own, including file structure, hooks, settings, and processing forms.
The document discusses the author's approach to setting up a development environment for Django projects. It describes establishing a project layout with separate folders for source code, virtual environments, requirements files, and more. It also covers tools and practices for tasks like dependency management, testing, debugging, deployment, and overall software development philosophy.
P4 Search is a tool built internally and open-sourced in the Perforce Workshop. It creates and uses an external search index to allow users to search the content of a Perforce Server. This talk will explain the inner workings of P4 Search, its setup and applications, and explore ideas on how to extend this great and essential tool.
Alfresco Business Reporting - Tech Talk Live 20130501Tjarda Peelen
This is the Slide Deck used in Alfresco's Tech Talk Live, May 1, 2013. It featured my Alfresco add-on: Alfresco Business Reporting. The purpose is to the technical 'why' and 'how' of the add-on module, the challenge faced and he solutions designed.
Nagios Conference 2014 - Mike Merideth - The Art and Zen of Managing Nagios w...Nagios
Mike Merideth's presentation on The Art and Zen of Managing Nagios with Puppet.
The presentation was given during the Nagios World Conference North America held Oct 13th - Oct 16th, 2014 in Saint Paul, MN. For more information on the conference (including photos and videos), visit: http://go.nagios.com/conference
Open Source Tools for Leveling Up Operations FOSSET 2014Mandi Walls
This document discusses using open source tools to improve operations workflows and processes. It introduces various tools including Git for version control, packaging tools like FPM, and testing tools like Nagios plugins. The document advocates applying principles from development like testing, version control, and automation to make operations processes more reliable, transparent and reduce risk.
Auditing Drupal Sites for Performance, Content and Optimal Configuration - SA...Jon Peck
Nobody likes a slow site, and Drupal can be notoriously sluggish if you're not careful. With the right configuration and platform, any site can be blazingly fast - but where to start? Enter site_audit, a collection of drush commands for statically analyzing Drupal 7 sites for best practices and optimal configuration. Join the developer for an in-depth discussion of how to analyze and optimize your site, and discover how to extend the platform with your own checks!
Site Audit reports include:
- Best Practices - structural recommendations
- Block - caching
- Cache - optimal Drupal caching settings
- Codebase - size of the site; size and count of managed files
- Content - checks for unused content types, vocabularies
- Cron - Drupal's built-in cron
- Database - collation, engine, row counts, and size
- Extensions - count, development modules, duplicates, missing
- Insights - Analyze site with Google PageSpeed Insights
- Status - check for failures in Drupal's built-in status report
- Users - blocked user #1, number of normal and blocked users, list of roles
- Views - caching settings
- Watchdog - 404 error count, age, number of entries, enabled, PHP errors
Site Audit is also used by Pantheon to power Launch Check from within site dashboards.
Spring Roo Add-On Development & DistributionStefan Schmidt
This document provides an overview of creating and distributing Spring Roo add-ons. It discusses the architectural journey that led to Roo's design, including decisions to use Java and AspectJ rather than creating a new runtime. It also covers getting started with a new add-on using the Add-on Creator, implementation details like using common services and file monitoring, and how to develop add-ons that integrate with the Roo shell and OSGi container. The document concludes with pointers for starters, like reviewing example add-ons and Spring Roo source code.
Gentoo Linux, or Why in the World You Should Compile EverythingDonnie Berkholz
Gentoo Linux is a special flavor of Linux that can be automatically optimized and customized for just about any application or need. Extreme performance, configurability and a top-notch user and developer community are all hallmarks of the Gentoo experience.
As a leader of Gentoo, I will provide an overview of how it works from a developer's and a user's point of view, and why you should be running it especially if you're:
- In need of an awesome development environment;
- Interested in learning what's inside the black box of Linux;
- OCD about having a perfectly configured setup; or
- Building an embedded, minimal system or a high-performance cluster.
If there's interest, I can also talk about future developments on the horizon for Gentoo, package management in general, etc.
Tommi Reiman discusses optimizing Clojure performance and abstractions. He shares lessons learned from optimizing middleware performance and JSON serialization. Data-driven approaches can enable high performance while maintaining abstraction. Reitit is a new routing library that aims to have the fastest performance through techniques like compiled routing data. Middleware can also benefit from data-driven approaches without runtime penalties. Overall performance should be considered but not obsessively, as many apps do not require extreme optimization.
What is an RPA CoE? Session 2 – CoE RolesDianaGray10
In this session, we will review the players involved in the CoE and how each role impacts opportunities.
Topics covered:
• What roles are essential?
• What place in the automation journey does each role play?
Speaker:
Chris Bolin, Senior Intelligent Automation Architect Anika Systems
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...Fwdays
Direct losses from downtime in 1 minute = $5-$10 thousand dollars. Reputation is priceless.
As part of the talk, we will consider the architectural strategies necessary for the development of highly loaded fintech solutions. We will focus on using queues and streaming to efficiently work and manage large amounts of data in real-time and to minimize latency.
We will focus special attention on the architectural patterns used in the design of the fintech system, microservices and event-driven architecture, which ensure scalability, fault tolerance, and consistency of the entire system.
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
Conversational agents, or chatbots, are increasingly used to access all sorts of services using natural language. While open-domain chatbots - like ChatGPT - can converse on any topic, task-oriented chatbots - the focus of this paper - are designed for specific tasks, like booking a flight, obtaining customer support, or setting an appointment. Like any other software, task-oriented chatbots need to be properly tested, usually by defining and executing test scenarios (i.e., sequences of user-chatbot interactions). However, there is currently a lack of methods to quantify the completeness and strength of such test scenarios, which can lead to low-quality tests, and hence to buggy chatbots.
To fill this gap, we propose adapting mutation testing (MuT) for task-oriented chatbots. To this end, we introduce a set of mutation operators that emulate faults in chatbot designs, an architecture that enables MuT on chatbots built using heterogeneous technologies, and a practical realisation as an Eclipse plugin. Moreover, we evaluate the applicability, effectiveness and efficiency of our approach on open-source chatbots, with promising results.
Essentials of Automations: Exploring Attributes & Automation ParametersSafe Software
Building automations in FME Flow can save time, money, and help businesses scale by eliminating data silos and providing data to stakeholders in real-time. One essential component to orchestrating complex automations is the use of attributes & automation parameters (both formerly known as “keys”). In fact, it’s unlikely you’ll ever build an Automation without using these components, but what exactly are they?
Attributes & automation parameters enable the automation author to pass data values from one automation component to the next. During this webinar, our FME Flow Specialists will cover leveraging the three types of these output attributes & parameters in FME Flow: Event, Custom, and Automation. As a bonus, they’ll also be making use of the Split-Merge Block functionality.
You’ll leave this webinar with a better understanding of how to maximize the potential of automations by making use of attributes & automation parameters, with the ultimate goal of setting your enterprise integration workflows up on autopilot.
How information systems are built or acquired puts information, which is what they should be about, in a secondary place. Our language adapted accordingly, and we no longer talk about information systems but applications. Applications evolved in a way to break data into diverse fragments, tightly coupled with applications and expensive to integrate. The result is technical debt, which is re-paid by taking even bigger "loans", resulting in an ever-increasing technical debt. Software engineering and procurement practices work in sync with market forces to maintain this trend. This talk demonstrates how natural this situation is. The question is: can something be done to reverse the trend?
MySQL InnoDB Storage Engine: Deep Dive - MydbopsMydbops
This presentation, titled "MySQL - InnoDB" and delivered by Mayank Prasad at the Mydbops Open Source Database Meetup 16 on June 8th, 2024, covers dynamic configuration of REDO logs and instant ADD/DROP columns in InnoDB.
This presentation dives deep into the world of InnoDB, exploring two ground-breaking features introduced in MySQL 8.0:
• Dynamic Configuration of REDO Logs: Enhance your database's performance and flexibility with on-the-fly adjustments to REDO log capacity. Unleash the power of the snake metaphor to visualize how InnoDB manages REDO log files.
• Instant ADD/DROP Columns: Say goodbye to costly table rebuilds! This presentation unveils how InnoDB now enables seamless addition and removal of columns without compromising data integrity or incurring downtime.
Key Learnings:
• Grasp the concept of REDO logs and their significance in InnoDB's transaction management.
• Discover the advantages of dynamic REDO log configuration and how to leverage it for optimal performance.
• Understand the inner workings of instant ADD/DROP columns and their impact on database operations.
• Gain valuable insights into the row versioning mechanism that empowers instant column modifications.
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...DanBrown980551
This LF Energy webinar took place June 20, 2024. It featured:
-Alex Thornton, LF Energy
-Hallie Cramer, Google
-Daniel Roesler, UtilityAPI
-Henry Richardson, WattTime
In response to the urgency and scale required to effectively address climate change, open source solutions offer significant potential for driving innovation and progress. Currently, there is a growing demand for standardization and interoperability in energy data and modeling. Open source standards and specifications within the energy sector can also alleviate challenges associated with data fragmentation, transparency, and accessibility. At the same time, it is crucial to consider privacy and security concerns throughout the development of open source platforms.
This webinar will delve into the motivations behind establishing LF Energy’s Carbon Data Specification Consortium. It will provide an overview of the draft specifications and the ongoing progress made by the respective working groups.
Three primary specifications will be discussed:
-Discovery and client registration, emphasizing transparent processes and secure and private access
-Customer data, centering around customer tariffs, bills, energy usage, and full consumption disclosure
-Power systems data, focusing on grid data, inclusive of transmission and distribution networks, generation, intergrid power flows, and market settlement data
What is an RPA CoE? Session 1 – CoE VisionDianaGray10
In the first session, we will review the organization's vision and how this has an impact on the COE Structure.
Topics covered:
• The role of a steering committee
• How do the organization’s priorities determine CoE Structure?
Speaker:
Chris Bolin, Senior Intelligent Automation Architect Anika Systems
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsDianaGray10
Join us to learn how UiPath Apps can directly and easily interact with prebuilt connectors via Integration Service--including Salesforce, ServiceNow, Open GenAI, and more.
The best part is you can achieve this without building a custom workflow! Say goodbye to the hassle of using separate automations to call APIs. By seamlessly integrating within App Studio, you can now easily streamline your workflow, while gaining direct access to our Connector Catalog of popular applications.
We’ll discuss and demo the benefits of UiPath Apps and connectors including:
Creating a compelling user experience for any software, without the limitations of APIs.
Accelerating the app creation process, saving time and effort
Enjoying high-performance CRUD (create, read, update, delete) operations, for
seamless data management.
Speakers:
Russell Alfeche, Technology Leader, RPA at qBotic and UiPath MVP
Charlie Greenberg, host
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving
What began over 115 years ago as a supplier of precision gauges to the automotive industry has evolved into being an industry leader in the manufacture of product branding, automotive cockpit trim and decorative appliance trim. Value-added services include in-house Design, Engineering, Program Management, Test Lab and Tool Shops.
Session 1 - Intro to Robotic Process Automation.pdfUiPathCommunity
👉 Check out our full 'Africa Series - Automation Student Developers (EN)' page to register for the full program:
https://bit.ly/Automation_Student_Kickstart
In this session, we shall introduce you to the world of automation, the UiPath Platform, and guide you on how to install and setup UiPath Studio on your Windows PC.
📕 Detailed agenda:
What is RPA? Benefits of RPA?
RPA Applications
The UiPath End-to-End Automation Platform
UiPath Studio CE Installation and Setup
💻 Extra training through UiPath Academy:
Introduction to Automation
UiPath Business Automation Platform
Explore automation development with UiPath Studio
👉 Register here for our upcoming Session 2 on June 20: Introduction to UiPath Studio Fundamentals: https://community.uipath.com/events/details/uipath-lagos-presents-session-2-introduction-to-uipath-studio-fundamentals/
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Keywords: AI, Containeres, Kubernetes, Cloud Native
Event Link: https://meine.doag.org/events/cloudland/2024/agenda/#agendaId.4211
9. Phing is
• PHing Is Not GNU make
• Build tool based on Ant
• XML based build files
• Written in PHP5
• Flexible and extendable
• Platform independent
10. Why Phing
• Automation
• Save time
• Less errors
• Tons of built-in
tasks and features
18. Tasks
• Single piece of executable
code
• Core:
– Copy, Delete, Echo, Exec, Mo
ve, Foreach, and more
• Optional:
– FtpDeploy, GitPush, PDOSQL
Exec, Scp, Zip, and more
21. Property File
• Text file Example:
• Good way to
organize variables
into one location
• Useful for
environment specific
files
22. Types
• Used within a task Example:
• More complex data
variables
– FileSet
• PatternSet
• * vs. **
– Excludes
23. Filters and Mappers
• Filters Transform data/file contents within a task
– Tidy
– ExpandProperty
– StripPhpComments
• Mappers are like filters for files and directories
– Flatten
– Glob
– RegExp
24. Conditions
• Used through the following
two tasks: Example:
– condition
– if
• Compare using
– equals
– isset
– contrains
– istrue
– available
• Can nest
– or
– and
– not
25. Extending $PHING_HOME
|-- bin
|-- classes
• Can extend | `-- phing
| |-- filters
| | `-- util
– Tasks | |-- mappers
– Types |
|
|-- parser
|-- tasks
– Mappers | | |-- ext
| | |-- system
– Ad hoc | | | `-- condition
| | `-- user
| `-- types
|-- docs
| `-- phing_guide
`-- test
|-- classes
`-- etc
34. Database Deployment
• DbDeploy
– Database change management tool
– Creates script file based on deltas
– Tracks db version
– Easy to move version forward or backwards
– http://dbdeploy.com/
41. Automate SVN Exports
• Trunk to Dev
– Export diff between last
rev and newest rev
• ‘Release’ Branch to
Testing
– Export diff between last
rev and newest rev
• Tag to
Staging, QA, Prod
– Export diff between last
tag and newest tag
42. Tagging
• From branch to Tag
– Diff between rev of last
release and last tag of
the same iteration
No challenge in manual busy work. Less attention given.
At the end you get faster, more efficient processes, with less errors.<mention ct deployer?>
Branching, Tagging, and several standalone servers for their own purpose.
Saves you time, don’t need to reinvent the wheel
not build file passed defaults to build.xml in current dirno target name passed defaults to project default target in build file
logical grouping of tasks to achieve a goalmultiple depends with comma delimited
Where the real work happens.Optional are installed through dependencies.You can create your own which will be covered later.
Mention override=“true” to override property values.
Excludes allows excluding files, class, and methods.
ExpandProperty great to replace environment specific variablesFlatten remove directory from filename.Glob is copy/rename.RegExp replaces filename using expression.
Can also have elseif and else.
Talk about ssh keys for scp/ssh
Good when there isn’t a task you need - and rather not create your own.