The document discusses continuous integration and Hudson/Buildbot for automated testing. It describes concepts of continuous integration like maintaining a source repository, automating builds, making builds self-testing, and integrating with version control systems. Specifics of Hudson are covered, including installation, configuration of jobs/projects, triggers, build steps, and plugins. The document also provides details on code analysis with tools like zptlint, test coverage, and integrating buildout with Hudson for continuous integration of Plone projects.
Plone Conference 2010 – Where we go from hereEric Steele
The document outlines 14 rules for Plone's future, including communicating Plone's direction, acknowledging weaknesses, playing to strengths like security and UI, deciding on target users, making "today what tomorrow will want" (TTW) easier, leveraging outside technologies, backporting innovations, keeping the platform modern, shrinking dependencies, avoiding breaking changes, improving installability, making distributions important, and focusing on quality.
The document discusses various topics from the Iterating Plone presentation at Plone Symposium East 2012, including the roles and processes of the Plone Release Manager and Framework Team. It outlines the planned features and timeline for upcoming Plone releases 4.2, 4.3, and 5. Key initiatives include transitioning to Dexterity as the default content type system, Diazo for theming, and CMSUI. Regular sprints are held around the world to collaborate on Plone development.
Erico Andrei, Steve McMahon, Roberto Allende.
Un repaso del estado actual, mejoras recientes y proyecciones al futuro cercano de Plone CMS desde el punto de vista del software/artefacto, su comunidad y fundación.
This document discusses the challenges of installing and managing Drupal websites. It notes that installing Drupal requires configuring many complex server components. Updating Drupal sites and testing code changes can also be difficult. The document then introduces Pantheon, a hosting platform that aims to simplify Drupal management. Pantheon handles server configuration, provides automatic updates and backups, and integrates testing and version control into the developer workflow. The conclusion invites the reader to try out Pantheon's beta platform.
The document summarizes the history and development of the TOMOYO Linux project. It discusses how the project started in 2003 without a goal of mainlining. Over time, through meetings with developers like Russell Coker and encouragement from the Japanese Linux community, the project shifted its focus to mainlining. This involved reworking the code to use the Linux Security Modules interfaces and submitting patches to the Linux kernel mailing list. While progress was slow with little feedback, the project gained more attention through conferences like OLS and FOSDEM. The document expresses the project's ongoing goal of fully merging TOMOYO Linux with the mainline kernel.
A presentation I wrote for Refresh Savannah on what's new, what works and what we'll have to wait a while for in HTML5. There are some demos for things like the new document semantics, canvas, video and new form elements.
Wayne Beaton discusses successful community development for software projects. He defines community as including end users, adopters, and committers. Building community requires leadership, lowering barriers to contribution, and diversity. Projects should be open, transparent, and proactive in growing the community. Quality, licensing, and access are important. The Eclipse project exemplifies community-driven development through transparency, open planning processes, and community participation and feedback.
The document discusses tools and best practices for deploying Drupal sites using make files. It introduces drush and drush_make for managing dependencies and building sites from make files. It addresses common problems with the standard SVN deployment method and provides tips for writing reusable make files including using inclusion, comments, and linking to patches. The goal is to improve on the standard method by making the deployment process more automated, consistent and integrated with contributing changes back to modules.
Plone Conference 2010 – Where we go from hereEric Steele
The document outlines 14 rules for Plone's future, including communicating Plone's direction, acknowledging weaknesses, playing to strengths like security and UI, deciding on target users, making "today what tomorrow will want" (TTW) easier, leveraging outside technologies, backporting innovations, keeping the platform modern, shrinking dependencies, avoiding breaking changes, improving installability, making distributions important, and focusing on quality.
The document discusses various topics from the Iterating Plone presentation at Plone Symposium East 2012, including the roles and processes of the Plone Release Manager and Framework Team. It outlines the planned features and timeline for upcoming Plone releases 4.2, 4.3, and 5. Key initiatives include transitioning to Dexterity as the default content type system, Diazo for theming, and CMSUI. Regular sprints are held around the world to collaborate on Plone development.
Erico Andrei, Steve McMahon, Roberto Allende.
Un repaso del estado actual, mejoras recientes y proyecciones al futuro cercano de Plone CMS desde el punto de vista del software/artefacto, su comunidad y fundación.
This document discusses the challenges of installing and managing Drupal websites. It notes that installing Drupal requires configuring many complex server components. Updating Drupal sites and testing code changes can also be difficult. The document then introduces Pantheon, a hosting platform that aims to simplify Drupal management. Pantheon handles server configuration, provides automatic updates and backups, and integrates testing and version control into the developer workflow. The conclusion invites the reader to try out Pantheon's beta platform.
The document summarizes the history and development of the TOMOYO Linux project. It discusses how the project started in 2003 without a goal of mainlining. Over time, through meetings with developers like Russell Coker and encouragement from the Japanese Linux community, the project shifted its focus to mainlining. This involved reworking the code to use the Linux Security Modules interfaces and submitting patches to the Linux kernel mailing list. While progress was slow with little feedback, the project gained more attention through conferences like OLS and FOSDEM. The document expresses the project's ongoing goal of fully merging TOMOYO Linux with the mainline kernel.
A presentation I wrote for Refresh Savannah on what's new, what works and what we'll have to wait a while for in HTML5. There are some demos for things like the new document semantics, canvas, video and new form elements.
Wayne Beaton discusses successful community development for software projects. He defines community as including end users, adopters, and committers. Building community requires leadership, lowering barriers to contribution, and diversity. Projects should be open, transparent, and proactive in growing the community. Quality, licensing, and access are important. The Eclipse project exemplifies community-driven development through transparency, open planning processes, and community participation and feedback.
The document discusses tools and best practices for deploying Drupal sites using make files. It introduces drush and drush_make for managing dependencies and building sites from make files. It addresses common problems with the standard SVN deployment method and provides tips for writing reusable make files including using inclusion, comments, and linking to patches. The goal is to improve on the standard method by making the deployment process more automated, consistent and integrated with contributing changes back to modules.
The document provides an overview of HTML5 including:
- A brief history of HTML standards from 1991 to the development of HTML5 in 2009.
- An explanation that HTML5 is intended as a replacement for older HTML and XHTML standards.
- A preview of some new features covered in HTML5 like video, audio, canvas, forms, local storage and web workers.
The document discusses various topics related to mobile internet, travel, and innovation including:
- InterimIC's innovation acceleration programs and study trips to China and Russia
- Innovation in healthcare with study trips to India, USA, and Japan
- Tudou.com, a Chinese video sharing site larger than YouTube
- Social media tools and trends like blogs, wikis, RSS, and del.icio.us
- Mobile internet and collaboration tools like Google Docs
- The impact of technologies like Kindle, Google Adwords, and Twitter on business
Business of APIs Conference 2011 - UnicornsMashery
This document discusses unicorns, which are defined as developers, fanboys, early adopters, hackers, and community members who are passionate about a product. Unicorns are valuable for their community support, institutional memory, beta testing, potential as future employees, and passion. However, supporting large numbers of people can be difficult due to increasing support costs, divergent views, and development time. The document suggests empowering unicorns by making them forum moderators, allowing them to write blog posts, giving them early access to features, and rewarding them with presents. It also advises iterating the product, API, and community based on unicorn feedback.
From where OpenVBX came from to how we open sourced itminddog
This document discusses the OpenVBX project, an open source visual programming platform for building voice applications. It describes how OpenVBX works, its use of tools like CodeIgniter and jQuery, and plans to improve the user experience, documentation, and launch the community platform. The document also shares the project URL and mentions it is hosted on GitHub.
The document discusses Mozilla Labs' goals of open innovation, incubation and experimentation of new ideas, and transferring successful experiments into new products and services. It provides updates on several Mozilla Labs projects including the browser editor, extension platform, audio/video APIs, and internationalization of the Ubiquity project. It encourages community involvement and sharing research data, and highlights the recent 0.7 release of Ubiquity with performance improvements and a focus on integrating with Fennec.
Slides from my Do it with Drupal 2011 presentation about the fantasy site I built. A clone of tumblr.com build in drupal. http://2011.doitwithdrupal.com/2011/sessions/fantasy-site-tumblr
Mine and Jason's talk from BarCampBrighton 5 about building brilliant APIs that bloody work.
Probably won't make sense without having been there..
Any questions give myself (@ben_c) or Jason (@fry15) a shout on twitter.
The document discusses ways for people to get involved in the Drupal community. It notes that fostering the community is more important than just managing code. Some reasons to get involved include doing good, paying it forward, helping yourself, and learning new skills. Suggested ways to contribute include providing support through forums and documentation, attending and organizing events, donating money, and contributing code by scratching your own itch and helping with core issues. The document encourages readers to find some way to do something to support Drupal.
This document provides an introduction to WordPress development. It discusses tools for local development like XAMPP and MAMP. It explains how to use hooks, which are specific points in the WordPress code used to interact with WordPress. It demonstrates how to create a plugin with a shortcode, settings page, and options to display event information. Resources for learning more about WordPress development are also provided.
This document discusses CSS3 selectors. It provides an overview of new CSS3 selectors like :first-child, :last-child, :nth-child, and :nth-of-type that allow targeting elements based on their position. It also covers pseudo-classes for links, checks boxes and inputs. Pseudo-elements like :first-letter, :first-line, :before and :after are explained. Finally, it discusses browser support for CSS3 selectors and ways to enhance support using vendor prefixes, JavaScript libraries and scripts.
Customer Service & Social Media: You Can Do BetterMike Petroff
Give your audience a better experience online. If your customer service strategy is solely to provide an email address and phone number to call during office hours, you're probably not doing enough. You can do better.
Most colleges only see marketing opportunities when establishing a presence in social media. Little do they know that customer service IS a huge marketing opportunity and encourages positive word-of-mouth reviews from their communities.
In this session, learn how to provide a 24/7 online service center for your audience by utilizing social media monitoring, live chat functionality, and other online tools that allow users to assist each other. Build a culture around customer service and you'll see an immediate boost in audience satisfaction.
Eric Steele – World Plone Day 2010 – Plone 4 OverviewEric Steele
Plone 4 is a transitional release that focuses on infrastructure improvements and laying the groundwork for Plone 5. It provides a low-cost upgrade from Plone 3 while improving performance through technologies like Zope 2.12, Python 2.6, BLOB support, and optimized folders. The user experience is also enhanced with features like the Sunburst theme, jQuery tools, and an updated search interface.
No dia-a-dia precisamos acessar as informações que estão em bancos de dados relacionais, seja para gerar relatórios, seja para exibir dados de outros sistemas.
Faça essa integração de forma transparente, ágil e eficiente utilizando SQLAlchemy.
O documento discute o futuro do CMS Plone, incluindo as versões Plone 4 e 5. A versão 4 trouxe melhorias em todos os aspectos mantendo a compatibilidade, enquanto a versão 5 trará mudanças mais revolucionárias como novos temas, tipos de conteúdo e interface de gestão. A comunidade Plone também é destacada, com eventos, sprints e a Fundação Plone.
The document discusses adding interactivity to Plone sites using JavaScript. It introduces Kinetic Style Sheets (KSS) as a built-in Plone framework for declaratively adding interactivity with JavaScript using CSS syntax. It also discusses using external JavaScript libraries like jQuery to add interactivity in a simpler way compared to KSS or plain JavaScript. Debugging options for KSS like using Firebug are also covered.
The State of Plone – Plone Conference 2012Eric Steele
The document provides an overview of the state of Plone over the past 12 months. Key points include an increase in conferences held around the world with 27 countries represented at Plone Conference 2012, the release of Plone 4.2 and 4.3, numerous sprints held globally, increased code contributions with over 5,500 commits by 208 contributors in the past year, and growing activity on the plone-developer mailing list. The Plone Foundation saw 14 new members. World Plone Day had 38 events. The 60th Plone Tuneup had 31 developers close 34 tickets. The semi-annual Plone Roadmap was revised to focus on areas like frequent releases and moving features out of core. Migration efforts included moving the
This document provides an overview of adding interactivity to Plone sites using JavaScript and various Plone-specific tools. It discusses including JavaScript via the resource registry and browser resources, using the Kinetic Style Sheets (KSS) framework to add behaviors with CSS syntax, common JavaScript libraries, debugging techniques, and notes that KSS may be removed from core Plone in future versions due to its large size and lack of adoption.
O documento discute como usar JQuery no Plone para melhorar a interface do usuário, incluindo exemplos de como:
1) Adicionar lightbox para imagens usando JQuery;
2) Usar funções nativas do Plone como tooltip;
3) Tratar conteúdo como incorporar vídeos do YouTube;
4) Carregar conteúdo adicional sem recarregar a página.
Administradores de sites sabem bem a importância de ter um bom servidor de cache, melhor ainda se este servidor permite manipulações e reescritas de URLs além de servir como servidor Web. E para quem usa o Plone pode aproveitar-se dos recursos oferecidos pelo Varnish 3.
The document describes the initial PLIP (Plone Improvement Proposal) submissions for Plone 4. 78 proposals were submitted across a wide range of topics like improving search, updating the user interface, migrating to newer technologies, and more. The Framework Team would vote on these proposals to determine what features and improvements would be included in the Plone 4 release.
1) The Headless CMS presentation discusses the use of Plone as a headless CMS for Briefy, a technology-driven marketplace for content creation.
2) It highlights some of the benefits of using Plone over custom PHP or hosted solutions, including avoiding custom development, integration with front-end development, and control over performance.
3) The presentation shares positive customer feedback on using Plone and details the technical implementation including Dexterity content types, behaviors, building blocks, and integration with services like Thumbor and AWS.
The document discusses MongoDB and its features. It covers getting started with MongoDB using the Ruby driver, using rich documents with complex objects and dynamic queries, map reduce for aggregation, indexing, GridFS for file storage, replication with replica sets, auto-sharding, pros and cons, common use cases, and provides links for additional resources.
The document provides an overview of HTML5 including:
- A brief history of HTML standards from 1991 to the development of HTML5 in 2009.
- An explanation that HTML5 is intended as a replacement for older HTML and XHTML standards.
- A preview of some new features covered in HTML5 like video, audio, canvas, forms, local storage and web workers.
The document discusses various topics related to mobile internet, travel, and innovation including:
- InterimIC's innovation acceleration programs and study trips to China and Russia
- Innovation in healthcare with study trips to India, USA, and Japan
- Tudou.com, a Chinese video sharing site larger than YouTube
- Social media tools and trends like blogs, wikis, RSS, and del.icio.us
- Mobile internet and collaboration tools like Google Docs
- The impact of technologies like Kindle, Google Adwords, and Twitter on business
Business of APIs Conference 2011 - UnicornsMashery
This document discusses unicorns, which are defined as developers, fanboys, early adopters, hackers, and community members who are passionate about a product. Unicorns are valuable for their community support, institutional memory, beta testing, potential as future employees, and passion. However, supporting large numbers of people can be difficult due to increasing support costs, divergent views, and development time. The document suggests empowering unicorns by making them forum moderators, allowing them to write blog posts, giving them early access to features, and rewarding them with presents. It also advises iterating the product, API, and community based on unicorn feedback.
From where OpenVBX came from to how we open sourced itminddog
This document discusses the OpenVBX project, an open source visual programming platform for building voice applications. It describes how OpenVBX works, its use of tools like CodeIgniter and jQuery, and plans to improve the user experience, documentation, and launch the community platform. The document also shares the project URL and mentions it is hosted on GitHub.
The document discusses Mozilla Labs' goals of open innovation, incubation and experimentation of new ideas, and transferring successful experiments into new products and services. It provides updates on several Mozilla Labs projects including the browser editor, extension platform, audio/video APIs, and internationalization of the Ubiquity project. It encourages community involvement and sharing research data, and highlights the recent 0.7 release of Ubiquity with performance improvements and a focus on integrating with Fennec.
Slides from my Do it with Drupal 2011 presentation about the fantasy site I built. A clone of tumblr.com build in drupal. http://2011.doitwithdrupal.com/2011/sessions/fantasy-site-tumblr
Mine and Jason's talk from BarCampBrighton 5 about building brilliant APIs that bloody work.
Probably won't make sense without having been there..
Any questions give myself (@ben_c) or Jason (@fry15) a shout on twitter.
The document discusses ways for people to get involved in the Drupal community. It notes that fostering the community is more important than just managing code. Some reasons to get involved include doing good, paying it forward, helping yourself, and learning new skills. Suggested ways to contribute include providing support through forums and documentation, attending and organizing events, donating money, and contributing code by scratching your own itch and helping with core issues. The document encourages readers to find some way to do something to support Drupal.
This document provides an introduction to WordPress development. It discusses tools for local development like XAMPP and MAMP. It explains how to use hooks, which are specific points in the WordPress code used to interact with WordPress. It demonstrates how to create a plugin with a shortcode, settings page, and options to display event information. Resources for learning more about WordPress development are also provided.
This document discusses CSS3 selectors. It provides an overview of new CSS3 selectors like :first-child, :last-child, :nth-child, and :nth-of-type that allow targeting elements based on their position. It also covers pseudo-classes for links, checks boxes and inputs. Pseudo-elements like :first-letter, :first-line, :before and :after are explained. Finally, it discusses browser support for CSS3 selectors and ways to enhance support using vendor prefixes, JavaScript libraries and scripts.
Customer Service & Social Media: You Can Do BetterMike Petroff
Give your audience a better experience online. If your customer service strategy is solely to provide an email address and phone number to call during office hours, you're probably not doing enough. You can do better.
Most colleges only see marketing opportunities when establishing a presence in social media. Little do they know that customer service IS a huge marketing opportunity and encourages positive word-of-mouth reviews from their communities.
In this session, learn how to provide a 24/7 online service center for your audience by utilizing social media monitoring, live chat functionality, and other online tools that allow users to assist each other. Build a culture around customer service and you'll see an immediate boost in audience satisfaction.
Eric Steele – World Plone Day 2010 – Plone 4 OverviewEric Steele
Plone 4 is a transitional release that focuses on infrastructure improvements and laying the groundwork for Plone 5. It provides a low-cost upgrade from Plone 3 while improving performance through technologies like Zope 2.12, Python 2.6, BLOB support, and optimized folders. The user experience is also enhanced with features like the Sunburst theme, jQuery tools, and an updated search interface.
No dia-a-dia precisamos acessar as informações que estão em bancos de dados relacionais, seja para gerar relatórios, seja para exibir dados de outros sistemas.
Faça essa integração de forma transparente, ágil e eficiente utilizando SQLAlchemy.
O documento discute o futuro do CMS Plone, incluindo as versões Plone 4 e 5. A versão 4 trouxe melhorias em todos os aspectos mantendo a compatibilidade, enquanto a versão 5 trará mudanças mais revolucionárias como novos temas, tipos de conteúdo e interface de gestão. A comunidade Plone também é destacada, com eventos, sprints e a Fundação Plone.
The document discusses adding interactivity to Plone sites using JavaScript. It introduces Kinetic Style Sheets (KSS) as a built-in Plone framework for declaratively adding interactivity with JavaScript using CSS syntax. It also discusses using external JavaScript libraries like jQuery to add interactivity in a simpler way compared to KSS or plain JavaScript. Debugging options for KSS like using Firebug are also covered.
The State of Plone – Plone Conference 2012Eric Steele
The document provides an overview of the state of Plone over the past 12 months. Key points include an increase in conferences held around the world with 27 countries represented at Plone Conference 2012, the release of Plone 4.2 and 4.3, numerous sprints held globally, increased code contributions with over 5,500 commits by 208 contributors in the past year, and growing activity on the plone-developer mailing list. The Plone Foundation saw 14 new members. World Plone Day had 38 events. The 60th Plone Tuneup had 31 developers close 34 tickets. The semi-annual Plone Roadmap was revised to focus on areas like frequent releases and moving features out of core. Migration efforts included moving the
This document provides an overview of adding interactivity to Plone sites using JavaScript and various Plone-specific tools. It discusses including JavaScript via the resource registry and browser resources, using the Kinetic Style Sheets (KSS) framework to add behaviors with CSS syntax, common JavaScript libraries, debugging techniques, and notes that KSS may be removed from core Plone in future versions due to its large size and lack of adoption.
O documento discute como usar JQuery no Plone para melhorar a interface do usuário, incluindo exemplos de como:
1) Adicionar lightbox para imagens usando JQuery;
2) Usar funções nativas do Plone como tooltip;
3) Tratar conteúdo como incorporar vídeos do YouTube;
4) Carregar conteúdo adicional sem recarregar a página.
Administradores de sites sabem bem a importância de ter um bom servidor de cache, melhor ainda se este servidor permite manipulações e reescritas de URLs além de servir como servidor Web. E para quem usa o Plone pode aproveitar-se dos recursos oferecidos pelo Varnish 3.
The document describes the initial PLIP (Plone Improvement Proposal) submissions for Plone 4. 78 proposals were submitted across a wide range of topics like improving search, updating the user interface, migrating to newer technologies, and more. The Framework Team would vote on these proposals to determine what features and improvements would be included in the Plone 4 release.
1) The Headless CMS presentation discusses the use of Plone as a headless CMS for Briefy, a technology-driven marketplace for content creation.
2) It highlights some of the benefits of using Plone over custom PHP or hosted solutions, including avoiding custom development, integration with front-end development, and control over performance.
3) The presentation shares positive customer feedback on using Plone and details the technical implementation including Dexterity content types, behaviors, building blocks, and integration with services like Thumbor and AWS.
The document discusses MongoDB and its features. It covers getting started with MongoDB using the Ruby driver, using rich documents with complex objects and dynamic queries, map reduce for aggregation, indexing, GridFS for file storage, replication with replica sets, auto-sharding, pros and cons, common use cases, and provides links for additional resources.
Transmogrifier is a tool that gives you the ability to create a configurable pipeline to import and export from various systems. Each section of the pipe can be turned into a re-usable blueprint that can be given back to the community. This gives us the ability to quickly create migration paths for existing systems and maintain them as Python packages.
The document discusses principles and best practices for test-driven development (TDD). It covers the basics of TDD including writing tests first, making them fail, then coding to pass the test. It emphasizes naming tests clearly and structuring test files well. The document also discusses using fixtures to set up complex test data and avoiding brittle tests through principles like DRY, using stubs over mocks when possible, and applying good object-oriented design.
iOSDevCamp 2011 - Getting "Test"-y: Test Driven Development & Automated Deplo...Rudy Jahchan
Great testing and deployment tools already exist for web platforms like Rails; now it is iOS' turn! What's out there, where can you get it, how do you use it ... and where do we go from here?
In this presentation we will discuss what Relstroage is, and the effect it can have on your Plone site. We will compare different Relstorage backends (MySQL and PostgreSQL) and how they perform compared to the default filestorage. We will also discuss why you may or may not want to use Relstorage in your environment. We will also review any changes you will need to make to your environment to maintain Relstorage.
Buildout is a great tool for creating repeatable environments. But what happens when things change and you are left with a broken buildout? This talk will focus on creating a buildout that can survive the test of time. The talk will cover how to keep your packages pinned so that releases don't cause you headaches. We will also discuss how to set up your own package server in order to make sure that you always have the packages that you need.
Clayton Parker gave a presentation on buildout configuration techniques for pinning versions, using indexes, and managing private package repositories. He discussed extending version configuration files, dumping picked versions, configuring private indexes through Apache, and using profiles for different environments. The talk provided tricks for solving common buildout problems around dependencies and deployment.
Stephen Donner from Mozilla presented at the London Selenium Meetup on November 5, 2010 about how Mozilla uses Selenium for automated testing. He discussed their journey from manual testing to setting up continuous integration with Hudson and implementing the page object model. He also covered their Python-based test runner and driver implementation and how they abstracted common page elements to reduce duplicated code. Donner concluded by discussing future plans like adding screen captures for failures and updating tests for Selenium 2.
Why another test framework in dotnet ? In this presentation, I will try to convince you to switch to xUnit. Main concepts & extensibility points are covered here. Happy testing !
This document discusses configuration management with the tool Chef. It provides an overview of Chef including that it was first released in 2009, is written in Ruby and uses a pure Ruby DSL. It describes the basic components of Chef including chef-client, chef-server, chef-solo and that each managed machine is called a node. It also summarizes resources, recipes, cookbooks and how attributes can be used and searched. Examples are provided for configuration management tasks relevant for Drupal sites.
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.
Batou ist ein Open-Source Werkzeug um mit Python das Deployment von komplexen Anwendungen zu beschreiben und zu automatisieren.
Das Konzept besteht darin eine passende allgemeine Modellsprache in Form einer API zu definieren. Dabei stehen Wiederverwendung, Toleranz gegenüber unbekannten Zuständen und Ausdrucksstärke im Vordergrund.
Der Vortrag zeigt den Werdegang und unsere Motivation zur Entwicklung von batou auf und zeigt die konzeptionellen Stärken anhand praktischer Beispiele.
Wir haben in den letzten Jahren eine Reihe großer und kleiner Projekte beim Deployment betreut.
Im Rahmen unserer Plattform "gocept.net" bereiten wir unsere Erfahrungen in Dokumentation und offenen Werkzeugen auf und haben daher batou entwickelt.
batou ist sowohl in Python geschrieben und nutzt Python um Deployment-Strukturen zu beschreiben.
Wir möchten Batou gerne vorstellen um unsere Erfahrungen weiterzugeben und (auch auf den Sprints) anzuregen sich mit dem Werkzeug auseinanderzusetzen, Feedback zu bekommen, und daran weiterzuarbeiten.
Siehe auch: http://bitbucket.org/gocept/batou
The document summarizes Project ARGO, an NPR initiative to create a network of 12 topical websites staffed by a single blogger/editor associated with an NPR member station. It describes the WordPress-based platform used, which includes customizations for features like audio posts, taxonomies, menus and templates. It also outlines the hosting infrastructure using Amazon Web Services and strategies for performance, caching and aggregation across sites.
Video and slides synchronized, mp3 and slide download available at http://bit.ly/YUUZug.
Graham Lee discusses strategies and tools for testing iOS apps with a view to uncovering hidden security and usability issues. Filmed at qconlondon.com.
Graham Lee is a security consultant and contract developer, specializing in iOS and Mac OS X application development. He is the author of "Professional Cocoa Application Security", published by Wiley in 2010 and described as a "must read" by someone who isn't even related to him. Graham lives and works in Oxford, UK. Twitter: @iamleeg
Slides from my Feature Bits presentation at the 2010 Lean Software and Systems conference in Atlanta. See http://atlanta2010.leanssc.org/home/erik-sowa/ and http://www.leanssc.org/files/201004/videos/20100421_Sowa_EnabilingFlowWithinAndAcrossTeams/20100421_Sowa_EnabilingFlowWithinAndAcrossTeams.html
The document summarizes a presentation given by Joshua Timberman on updates to the Chef automation tool. It discusses new features in Chef including an authentication refactor, search engine changes, API improvements, library resource types (LWRPs), a cookbook sharing site, and the Opscode training and hosting platform. It also provides an overview of the Knife command-line tool and Shef interactive shell for working with Chef.
Git talk from Open 2011 conference in IsraelReuven Lerner
The document discusses version control systems and Git. It describes some key benefits of Git such as distributed version control which allows everyone to have the full codebase and commit history, easy branching and merging, and the ability to work offline. The document provides examples of basic Git commands like initializing a repository, adding files, and committing changes. It also highlights features like local repositories for fast operations, tagging releases, and tools for debugging like git blame.
This document discusses Phing, an open source build tool for PHP projects that is based on Apache Ant. Phing uses XML build files to define targets and tasks for automating build processes like deployment, testing, documentation generation, and more. It provides features like file manipulation, code analysis, packaging, and integration with tools like Subversion, PHPUnit, and PhpDocumentor. The document provides examples of how to install, configure, and use Phing to implement automated build processes for PHP projects.
The document discusses testing PHP code through test-driven development (TDD) and behavior-driven development (BDD). It introduces PHPUnit for writing unit tests in PHP and demonstrates writing tests before code using TDD principles. Key benefits of testing like short feedback cycles and enforcing code quality through tests are also covered. Examples of unit tests for a User class are provided to illustrate the TDD process of writing tests first, making them fail, then writing code to pass the tests.
Similar to Continuous Integration Testing for Plone Using Hudson (20)
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
3. Continuous Integration
• Extreme Programming principle
• Martin Fowler
http://www.martinfowler.com/articles/
continuousIntegration.html
Wednesday, October 27, 2010
4. Continuous Integration
• Maintain a Source
Repository
• Automate the Build
• Make the Build Self-
Testing
• Everyone Commits
Every Day
• Every Commit
Should Be Built
• Keep the Build Fast
• Test in a Clone of the
Production
Environment
• Make it Easy to Get
the Latest
Deliverables
• Everyone Can See
the Results of the
Latest Build
• Automate
Deployment
Wednesday, October 27, 2010
5. Essentially
• Commit your code
• Test the crap out of it
• Regressions are bad
• Assign blame
• Shame is a great motivator
Wednesday, October 27, 2010
81. zptlint
[zptlint-test]
recipe = collective.recipe.template
input = inline:
#!/bin/sh
if [ -e zptlint.log ]; then
echo "Old zptlint.log file removed"
rm zptlint.log
fi
echo "Running zptlint-test"
PACKAGES="${buildout:package-directories}"
for pkg in $PACKAGES
do
find $pkg -regex ".*.[c|z]?pt" | xargs -r bin/zptlint |
perl -p -e 's/s+$/ /g;s/s+/ /g;s/*{3}s?/n/g' >> zptlint.log
done
output = ${buildout:directory}/bin/zptlint-test
mode = 755
Wednesday, October 27, 2010
82. zptlint
[zptlint-test]
recipe = collective.recipe.template
input = inline:
#!/bin/sh
if [ -e zptlint.log ]; then
echo "Old zptlint.log file removed"
rm zptlint.log
fi
echo "Running zptlint-test"
PACKAGES="${buildout:package-directories}"
for pkg in $PACKAGES
do
find $pkg -regex ".*.[c|z]?pt" | xargs -r bin/zptlint |
perl -p -e 's/s+$/ /g;s/s+/ /g;s/*{3}s?/n/g' >> zptlint.log
done
output = ${buildout:directory}/bin/zptlint-test
mode = 755
Wednesday, October 27, 2010
83. zptlint
[zptlint-test]
recipe = collective.recipe.template
input = inline:
#!/bin/sh
if [ -e zptlint.log ]; then
echo "Old zptlint.log file removed"
rm zptlint.log
fi
echo "Running zptlint-test"
PACKAGES="${buildout:package-directories}"
for pkg in $PACKAGES
do
find $pkg -regex ".*.[c|z]?pt" | xargs -r bin/zptlint |
perl -p -e 's/s+$/ /g;s/s+/ /g;s/*{3}s?/n/g' >> zptlint.log
done
output = ${buildout:directory}/bin/zptlint-test
mode = 755
Wednesday, October 27, 2010
84. zptlint
[zptlint-test]
recipe = collective.recipe.template
input = inline:
#!/bin/sh
if [ -e zptlint.log ]; then
echo "Old zptlint.log file removed"
rm zptlint.log
fi
echo "Running zptlint-test"
PACKAGES="${buildout:package-directories}"
for pkg in $PACKAGES
do
find $pkg -regex ".*.[c|z]?pt" | xargs -r bin/zptlint |
perl -p -e 's/s+$/ /g;s/s+/ /g;s/*{3}s?/n/g' >> zptlint.log
done
output = ${buildout:directory}/bin/zptlint-test
mode = 755
Wednesday, October 27, 2010
85. zptlint
[zptlint-test]
recipe = collective.recipe.template
input = inline:
#!/bin/sh
if [ -e zptlint.log ]; then
echo "Old zptlint.log file removed"
rm zptlint.log
fi
echo "Running zptlint-test"
PACKAGES="${buildout:package-directories}"
for pkg in $PACKAGES
do
find $pkg -regex ".*.[c|z]?pt" | xargs -r bin/zptlint |
perl -p -e 's/s+$/ /g;s/s+/ /g;s/*{3}s?/n/g' >> zptlint.log
done
output = ${buildout:directory}/bin/zptlint-test
mode = 755
Wednesday, October 27, 2010
86. zptlint
[buildout]
...
# A list of package locations to be examined
# by Hudson
package-directories =
src/fsd.core/fsd/core
src/fsd.membrane/fsd/membrane
Wednesday, October 27, 2010
87. zptlint
[zptlint-test]
recipe = collective.recipe.template
input = inline:
#!/bin/sh
if [ -e zptlint.log ]; then
echo "Old zptlint.log file removed"
rm zptlint.log
fi
echo "Running zptlint-test"
PACKAGES="${buildout:package-directories}"
for pkg in $PACKAGES
do
find $pkg -regex ".*.[c|z]?pt" | xargs -r bin/zptlint |
perl -p -e 's/s+$/ /g;s/s+/ /g;s/*{3}s?/n/g' >> zptlint.log
done
output = ${buildout:directory}/bin/zptlint-test
mode = 755
Wednesday, October 27, 2010
88. zptlint
[zptlint-test]
recipe = collective.recipe.template
input = inline:
#!/bin/sh
if [ -e zptlint.log ]; then
echo "Old zptlint.log file removed"
rm zptlint.log
fi
echo "Running zptlint-test"
PACKAGES="${buildout:package-directories}"
for pkg in $PACKAGES
do
find $pkg -regex ".*.[c|z]?pt" | xargs -r bin/zptlint |
perl -p -e 's/s+$/ /g;s/s+/ /g;s/*{3}s?/n/g' >> zptlint.log
done
output = ${buildout:directory}/bin/zptlint-test
mode = 755
Wednesday, October 27, 2010
89. zptlint
[zptlint-test]
recipe = collective.recipe.template
input = inline:
#!/bin/sh
if [ -e zptlint.log ]; then
echo "Old zptlint.log file removed"
rm zptlint.log
fi
echo "Running zptlint-test"
PACKAGES="${buildout:package-directories}"
for pkg in $PACKAGES
do
find $pkg -regex ".*.[c|z]?pt" | xargs -r bin/zptlint |
perl -p -e 's/s+$/ /g;s/s+/ /g;s/*{3}s?/n/g' >> zptlint.log
done
output = ${buildout:directory}/bin/zptlint-test
mode = 755
Wednesday, October 27, 2010
90. zptlint
[zptlint-test]
recipe = collective.recipe.template
input = inline:
#!/bin/sh
if [ -e zptlint.log ]; then
echo "Old zptlint.log file removed"
rm zptlint.log
fi
echo "Running zptlint-test"
PACKAGES="${buildout:package-directories}"
for pkg in $PACKAGES
do
find $pkg -regex ".*.[c|z]?pt" | xargs -r bin/zptlint |
perl -p -e 's/s+$/ /g;s/s+/ /g;s/*{3}s?/n/g' >> zptlint.log
done
output = ${buildout:directory}/bin/zptlint-test
mode = 755
Wednesday, October 27, 2010
91. zptlint
[zptlint-test]
recipe = collective.recipe.template
input = inline:
#!/bin/sh
if [ -e zptlint.log ]; then
echo "Old zptlint.log file removed"
rm zptlint.log
fi
echo "Running zptlint-test"
PACKAGES="${buildout:package-directories}"
for pkg in $PACKAGES
do
find $pkg -regex ".*.[c|z]?pt" | xargs -r bin/zptlint |
perl -p -e 's/s+$/ /g;s/s+/ /g;s/*{3}s?/n/g' >> zptlint.log
done
output = ${buildout:directory}/bin/zptlint-test
mode = 755
Wednesday, October 27, 2010
92. zptlint
[zptlint-test]
recipe = collective.recipe.template
input = inline:
#!/bin/sh
if [ -e zptlint.log ]; then
echo "Old zptlint.log file removed"
rm zptlint.log
fi
echo "Running zptlint-test"
PACKAGES="${buildout:package-directories}"
for pkg in $PACKAGES
do
find $pkg -regex ".*.[c|z]?pt" | xargs -r bin/zptlint |
perl -p -e 's/s+$/ /g;s/s+/ /g;s/*{3}s?/n/g' >> zptlint.log
done
output = ${buildout:directory}/bin/zptlint-test
mode = 755
Wednesday, October 27, 2010
93. zptlint
[zptlint-test]
recipe = collective.recipe.template
input = inline:
#!/bin/sh
if [ -e zptlint.log ]; then
echo "Old zptlint.log file removed"
rm zptlint.log
fi
echo "Running zptlint-test"
PACKAGES="${buildout:package-directories}"
for pkg in $PACKAGES
do
find $pkg -regex ".*.[c|z]?pt" | xargs -r bin/zptlint |
perl -p -e 's/s+$/ /g;s/s+/ /g;s/*{3}s?/n/g' >> zptlint.log
done
output = ${buildout:directory}/bin/zptlint-test
mode = 755
Wednesday, October 27, 2010
127. pylint
• disable-msg
• R0911:Too many return statements (%s/%s)
• R0201: Method could be a function
• W0201:Attribute %r defined outside of
__init__
• http://pylint-messages.wikidot.com/all-messages
Wednesday, October 27, 2010
128. pylint
[pylint-test]
recipe = collective.recipe.template
input = inline:
#!/bin/sh
if [ -s pylint.log ]; then
rm pylint.log
echo "Old pylint.log file removed"
fi
echo "Running pylint"
PACKAGES="${buildout:package-directories}"
for pkg in $PACKAGES
do
find -L $pkg -regex ".*.py" | xargs bin/pylint >> pylint.log
done
echo "Finished"
output = ${buildout:directory}/bin/pylint-test
mode = 755
Wednesday, October 27, 2010
168. Use an Egg Cache
• Set up a default.cfg for your hudson
account.
[buildout]
eggs-directory =
/home/hudson/.buildout/eggs
download-cache =
/home/hudson/.buildout/downloads
Wednesday, October 27, 2010
169. Pin unittest2
• (If you’re using it)
• plone.app.testing
• 3x faster buildout
Wednesday, October 27, 2010
170. Split Big Builds
• How long does the build take?
• How often does each part need to be run?
• Tests?
• Coverage?
Wednesday, October 27, 2010
171. Split Big Builds
• Build
• Test
• Syntax Checking
• Coverage
• Selenium
Wednesday, October 27, 2010
172. Split Big Builds
1. “Build other projects” post-build action
Wednesday, October 27, 2010
173. Split Big Builds
1. “Build other projects” post-build action
2. Custom workspace
Wednesday, October 27, 2010
174. Split Big Builds
1. “Build other projects” post-build action
2. Custom workspace
3. Build Fingerprinting
Wednesday, October 27, 2010
175. Fingerprinting
• “These builds are related”
• Archive an md5 hash of a file to act as an
identifier
Wednesday, October 27, 2010