A few thoughts on getting started contributing code and designs to WordPress core. Geared towards designers and front-end developers who may not have a lot of experience with Trac, IRC, and running
Packaging is the Worst Way to Distribute Software, Except for Everything Elsemckern
As part of the 2014 USENIX Release Engineering Summit West, I presented a talk about packaging software and what's wrong with current trends.
Here's the abstract:
Reliably distributing software is a notoriously difficult problem, and almost every operating system and programming language vendor has tried to solve it. This has led to a herd of packaging systems, almost none of which are cross-compatible; some manage system-level software, while others focus on extending their own language (often by trampling on system-level software). And like all competing standards, every packaging system comes with its own sharp corners, dull edges, and hidden idiosyncrasies to deal with along the path to packaging happiness. In an attempt to answer the question "How do I install this software and ensure that its dependencies are fulfilled?", some novel solutions have begun to see popular adoption. But a lot of these newer tools and techniques tread the same ground as their predecessors while overlooking the lessons that were learned along the way.
I'll talk about the state of native packaging systems on some popular platforms (Debian/Ubuntu, RHEL/CentOS/Fedora, and Mac OS X), packaging systems for popular languages (Ruby, Python, Perl, and Node) and the ways that developers are attempting to work around the limitations of these systems. I'll review the reasons that tools like curlbash, FPM, and omnibus packages have become popular by sharing lessons I've learned while working through these systems. While this will be an amusing presentation, I'll show how native packages can address the concerns that have pushed Release Engineers and Developers away. I will also talk about what native packaging systems can learn from the next generation of packaging tools.
The original abstract is available here:
https://www.usenix.org/conference/ures14west/summit-program/presentation/mckern
Php core. get rid of bugs and contributePierre Joye
The document discusses PHP core development. It encourages contributors to help fix bugs, improve documentation, and contribute code. It provides statistics on PHP usage and details the RFC process and bi-monthly release cycle. Resources listed include links to the PHP wiki, bug tracking system, code repositories, and documentation tools. Contributing help make PHP more secure, portable, and easy to use.
This document summarizes Pierre Joye's presentation about PHP. It discusses the RFC process for proposing new features to PHP, highlights some proposed features like PBKDF2 password hashing and generators, and encourages contributors. The presentation addresses criticisms of PHP like slow release cycles and security issues, but emphasizes the open RFC voting process and notes security has improved with a dedicated team. It concludes by asking for any questions.
10 things you need to know about leaving shared hostingJonathan Perlman
This document is a presentation by Jonathan Perlman given at WordCamp Montreal 2014. It discusses various hosting options for WordPress websites, including shared hosting, virtual private servers (VPS), and managing servers independently with Linux. It provides recommendations for specific hosting providers and an overview of tasks involved in setting up WordPress on a Linux server like installing software, configuring security, backups, and ongoing maintenance.
Migrations can be a scary thing with so many things to do and think about. I’m going to talk about the common tasks to have on your checklist before moving from one host to another. Also, I’m going to discuss how to migrate your site from a local install up to a publicly viewable server.
The document discusses the modern frontend toolchain for developing complex client-side JavaScript applications. It recommends using command line tools like Homebrew, NPM, RubyGems to manage dependencies. Source code management with Git and feature branching workflow is also emphasized. Node.js and package managers like NPM and Bower are introduced to help manage third-party libraries. Task automation with Grunt is presented as a way to automate common development tasks like testing, preprocessing, and building.
The document discusses various technologies and languages including PHP, Python, Ruby, Go, Scala, and Red. It mentions tools for mobile development like PhoneGap and frameworks like jQuery, Dojo, and Sencha. Other topics covered include Node.js, HTML5, cloud computing platforms, virtualization, and decoupled content management systems. Resources and links are provided for many of the languages and technologies discussed.
This document discusses lightweight development approaches for running local web servers and services. It describes using MAMP and Vagrant in the past but prefers running everything in the foreground locally using tools like httpd, MySQL, memcached and Solr. The ideal solution runs services for each project in the foreground and uses easily installable tools like Homebrew. Automating this is achieved with a Procfile and Foreman to manage the process-based applications.
Packaging is the Worst Way to Distribute Software, Except for Everything Elsemckern
As part of the 2014 USENIX Release Engineering Summit West, I presented a talk about packaging software and what's wrong with current trends.
Here's the abstract:
Reliably distributing software is a notoriously difficult problem, and almost every operating system and programming language vendor has tried to solve it. This has led to a herd of packaging systems, almost none of which are cross-compatible; some manage system-level software, while others focus on extending their own language (often by trampling on system-level software). And like all competing standards, every packaging system comes with its own sharp corners, dull edges, and hidden idiosyncrasies to deal with along the path to packaging happiness. In an attempt to answer the question "How do I install this software and ensure that its dependencies are fulfilled?", some novel solutions have begun to see popular adoption. But a lot of these newer tools and techniques tread the same ground as their predecessors while overlooking the lessons that were learned along the way.
I'll talk about the state of native packaging systems on some popular platforms (Debian/Ubuntu, RHEL/CentOS/Fedora, and Mac OS X), packaging systems for popular languages (Ruby, Python, Perl, and Node) and the ways that developers are attempting to work around the limitations of these systems. I'll review the reasons that tools like curlbash, FPM, and omnibus packages have become popular by sharing lessons I've learned while working through these systems. While this will be an amusing presentation, I'll show how native packages can address the concerns that have pushed Release Engineers and Developers away. I will also talk about what native packaging systems can learn from the next generation of packaging tools.
The original abstract is available here:
https://www.usenix.org/conference/ures14west/summit-program/presentation/mckern
Php core. get rid of bugs and contributePierre Joye
The document discusses PHP core development. It encourages contributors to help fix bugs, improve documentation, and contribute code. It provides statistics on PHP usage and details the RFC process and bi-monthly release cycle. Resources listed include links to the PHP wiki, bug tracking system, code repositories, and documentation tools. Contributing help make PHP more secure, portable, and easy to use.
This document summarizes Pierre Joye's presentation about PHP. It discusses the RFC process for proposing new features to PHP, highlights some proposed features like PBKDF2 password hashing and generators, and encourages contributors. The presentation addresses criticisms of PHP like slow release cycles and security issues, but emphasizes the open RFC voting process and notes security has improved with a dedicated team. It concludes by asking for any questions.
10 things you need to know about leaving shared hostingJonathan Perlman
This document is a presentation by Jonathan Perlman given at WordCamp Montreal 2014. It discusses various hosting options for WordPress websites, including shared hosting, virtual private servers (VPS), and managing servers independently with Linux. It provides recommendations for specific hosting providers and an overview of tasks involved in setting up WordPress on a Linux server like installing software, configuring security, backups, and ongoing maintenance.
Migrations can be a scary thing with so many things to do and think about. I’m going to talk about the common tasks to have on your checklist before moving from one host to another. Also, I’m going to discuss how to migrate your site from a local install up to a publicly viewable server.
The document discusses the modern frontend toolchain for developing complex client-side JavaScript applications. It recommends using command line tools like Homebrew, NPM, RubyGems to manage dependencies. Source code management with Git and feature branching workflow is also emphasized. Node.js and package managers like NPM and Bower are introduced to help manage third-party libraries. Task automation with Grunt is presented as a way to automate common development tasks like testing, preprocessing, and building.
The document discusses various technologies and languages including PHP, Python, Ruby, Go, Scala, and Red. It mentions tools for mobile development like PhoneGap and frameworks like jQuery, Dojo, and Sencha. Other topics covered include Node.js, HTML5, cloud computing platforms, virtualization, and decoupled content management systems. Resources and links are provided for many of the languages and technologies discussed.
This document discusses lightweight development approaches for running local web servers and services. It describes using MAMP and Vagrant in the past but prefers running everything in the foreground locally using tools like httpd, MySQL, memcached and Solr. The ideal solution runs services for each project in the foreground and uses easily installable tools like Homebrew. Automating this is achieved with a Procfile and Foreman to manage the process-based applications.
A presentation given at DeveloperWeek in San Francisco by Zack Argyle. It goes through important concepts in building out reusable React components, releasing it to Github, and publishing it to NPM. There are best practices and suggestions with an example component.
Building APIs, whether just for internal use or for sharing and external use is a great way to build and architect your application. This is the companion slide deck for the OpenWest 2015 tutorial about building APIs using Zend Framework's Apigility
This document discusses the process of improving development and deployment practices at a company. It describes moving from manual deployments that took over 30 minutes and had fragile releases, to automated deployments with Jenkins that took under 3 minutes. This was achieved by improving testing practices, using deployment tools like Unicorn for faster deploys, running builds and tests in parallel on better hardware, and deploying pre-prepared changes automatically once tests passed. The changes resulted in more reliable releases, instant feedback and an automatic process allowing the company to scale from 7 developers to 12.
The document discusses PHP release processes, including the RFC process for proposing new features, the voting process for accepting RFCs, security and bug fix releases every two months, and yearly releases that include new features. It also provides links to wiki pages with more information about the RFC and release processes. The document then shows statistics on top PHP contributors from 2012 and encourages others to contribute as well.
Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) - Puppet
The document discusses best practices for developing Puppet code in a DevOps environment. It recommends keeping code in branches in version control systems like Git or SVN, writing syntax-checked and tested code locally in virtual environments, and sharing code publicly through tools like Puppet Forge and privately through Hiera. Automating processes like testing, deployments, and sharing code are also emphasized.
AMIMOTO WordPress + Amazon Web Services for ALL Tech Levels Kel
AMIMOTO is a high performance WordPress Cloud Host built for WordPress running on AWS environment.
AMIMOTO is the combination of AWS + Nginx + WordPress + Proxy Cache
The result? Super fast websites (100 times faster than normal install, AMIMOTO is for performance tuning) that can handle 100MILLION+ Page Views and functions at ninja speed.
This document discusses Rex, a tool for automating server orchestration, configuration management, and deployments. Rex allows defining tasks in a Rexfile to provision and deploy virtual machines and hardware. It supports deploying applications via Git, package managers, or symlinks. Environments like development, test, and live can be managed. The philosophy is to get things done fast and reliably through automation and reproducibility.
A presentation on PHP's position in the enterprise, its past & present, how to get ready for developing for enterprise.
Inspired by Ivo Jansch's "PHP in the real wolrd" presentation.
Presented at SoftExpo 2010, Dhaka, Bangladesh.
Working Well Together: How to Keep High-end Game Development Teams ProductivePerforce
This document discusses Guerrilla Games' development process for their game Killzone Shadow Fall. It describes how they use Perforce for version control and continuous integration. Key aspects of their process include having most developers work on the main trunk, extensive testing before and after code commits, labeling builds to sync safely to known good versions, and branching for frequent weekly releases while keeping the main branch for ongoing development. This approach allows for speed of iteration while maintaining control over the development cycle and releases.
Even with the best intentions in mind, a tool or an automated process can be created and deployed with devastating results to your Perforce server instance. Learn from someone with years of experience dealing with rogue tools, hearts of gold, and hands of destruction on what to do and what to avoid when automating Perforce.
This document discusses Git, Jenkins, and Rex in the context of continuous integration and delivery. It provides an overview of what each tool is and how they can work together. Git is used for version control and tracking changes. Jenkins monitors Git repositories for new commits and triggers automated builds. Rex is a tool that can be used by Jenkins to deploy builds to different environments and server groups. The document outlines how developers would use Git and how Jenkins would integrate with Git to build, test, and deploy code changes.
This document provides an overview and preparation guide for the Offensive Security Certified Professional (OSCP) certification. It begins with an introduction and outlines the agenda, which includes an overview of the OSCP, course registration details, prerequisites, an overview of the course content and lab environment, exam preparation tips, and exam details. It then provides additional exam tips, discusses what to expect after passing the OSCP exam, and recommends additional reference materials and websites. The document is intended to help those interested in understanding and preparing for the OSCP certification exam.
This document discusses Docker, a tool for creating and running containerized applications. It explains that Docker provides simple deployment of applications by allowing quick starting of images with the same speed as starting programs directly. It also enables central repositories for images, repeatable testing environments, and easier scaling of applications across multiple servers. Some potential issues discussed are that Docker only supports Linux containers currently, adds more moving parts than traditional virtualization, and requires learning something new. The document demonstrates installing and using Docker through examples and recommends best practices.
Commonly in startups, you probably don't be worry about how your application artefacts are managed to be deployed in a server: compressed files or JAR/WAR files combined with a set of scripts. However, for larger companies that uses not only one or two servers, but a entire pool of machines, it requires some control and organisation to deploy apps. You can handle this case with some automation / configuration management tools like Ansible, Puppet, Chef, of course. But using a set of scripts can be hard to maintain all deployment steps, from artefact update to rollback.
If you distribute your software using a Operational System package manager like YUM (CentOS) or APT (Debian, Ubuntu), your deployment will be easier because these tools handles software changes in a good way. It sounds good, but package binaries is a pain for developers or newer sysadmins that don't have knowledge about how YUM/APT works. It requires creation of one or a lot of configuration files to be updated and when you have multiple artefacts probably packaging them will be a nightmare.
Here enter fpm-cookery, a Ruby gem responsible to package artefacts based on recipes, much easy to use. It will be your swiss knife for anything that you need to package, from common binaries not distributed in RPM/DEB formats to programming languages from source, compiling when needed.
Talk given by Cem Gürkök, Lead InfoSec Engineer at Salesforce, at DockerCon 16 in June 2016
Customer trust and security is paramount for Salesforce. While containerization is great for DevOps due to flexibility, speed, isolation, transient existence, ease of management and patching, it becomes a challenging environment when the sensitivity level of the data traversing the environment increases. Monitoring systems, applications and network; performing disk, memory and network forensics in case of an incident; and vulnerability detection can easily become daunting tasks in such a volatile environment.
In this presentation we would like to discuss the infrastructure we have built to address these issues and to secure our Docker container platform while we rapidly containerize Salesforce. Our solutions focus on securing the container pipeline, building security into the architecture, monitoring, Docker forensics (disk, memory, network), and automation. We also would like to demonstrate some of our live memory analysis capabilities we leverage to assure container and application integrity during execution.
Resumable File Upload API using GridFS and TUSkhangtoh
TUS is a resumable file upload protocol and with MongoDB GridFS, we build an API for uploading files through a REST API and show how to scale this API horizontally using MongoDB as the storage for these files.
Singapore MongoDB User Group March Meetup
tus.io – Resumable file uploads for web and mobile apps by Felix GeisendörferCodemotion
File uploading is an incredibly annoying, yet very important feature to get right for your applications. Unfortunately time is usually short, so most applications handle network errors during file uploads very poorly. For this reason we have started tus.io, which aims to define an open protocol for resumable file uploads along with providing implementations for all plattforms and languages. This session will introduce you to the project, and show you how to add better file uploading to your web and mobile apps.
Tus.io presentation for iOS devscout meetupkhangtoh
Khang Toh describes his experience developing iOS apps and games since 2008. He had an idea for an app called Catstagram to share funny cat photos and videos after seeing cat pictures at work. This led him to co-found MogiMe to create mobile-first apps. The key challenge was resumable file uploads on mobile networks. He discovered the TUS protocol which allows splitting files into chunks for upload over HTTP. While still young, TUS provided a solution for his cat-focused startup and others through open source client and server implementations.
This document discusses how to master communities and social influencer marketing. It provides an agenda that covers identifying key influencers, understanding conversations, and measuring results. The key steps are to identify influencers and communities, understand conversations through text analytics, grow brand awareness through relevant content and outreach, and measure metrics like share of mind, share of voice, and share of conversation. Taking these steps allows focusing attention development and benchmarking against competitors.
A presentation given at DeveloperWeek in San Francisco by Zack Argyle. It goes through important concepts in building out reusable React components, releasing it to Github, and publishing it to NPM. There are best practices and suggestions with an example component.
Building APIs, whether just for internal use or for sharing and external use is a great way to build and architect your application. This is the companion slide deck for the OpenWest 2015 tutorial about building APIs using Zend Framework's Apigility
This document discusses the process of improving development and deployment practices at a company. It describes moving from manual deployments that took over 30 minutes and had fragile releases, to automated deployments with Jenkins that took under 3 minutes. This was achieved by improving testing practices, using deployment tools like Unicorn for faster deploys, running builds and tests in parallel on better hardware, and deploying pre-prepared changes automatically once tests passed. The changes resulted in more reliable releases, instant feedback and an automatic process allowing the company to scale from 7 developers to 12.
The document discusses PHP release processes, including the RFC process for proposing new features, the voting process for accepting RFCs, security and bug fix releases every two months, and yearly releases that include new features. It also provides links to wiki pages with more information about the RFC and release processes. The document then shows statistics on top PHP contributors from 2012 and encourages others to contribute as well.
Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) - Puppet
The document discusses best practices for developing Puppet code in a DevOps environment. It recommends keeping code in branches in version control systems like Git or SVN, writing syntax-checked and tested code locally in virtual environments, and sharing code publicly through tools like Puppet Forge and privately through Hiera. Automating processes like testing, deployments, and sharing code are also emphasized.
AMIMOTO WordPress + Amazon Web Services for ALL Tech Levels Kel
AMIMOTO is a high performance WordPress Cloud Host built for WordPress running on AWS environment.
AMIMOTO is the combination of AWS + Nginx + WordPress + Proxy Cache
The result? Super fast websites (100 times faster than normal install, AMIMOTO is for performance tuning) that can handle 100MILLION+ Page Views and functions at ninja speed.
This document discusses Rex, a tool for automating server orchestration, configuration management, and deployments. Rex allows defining tasks in a Rexfile to provision and deploy virtual machines and hardware. It supports deploying applications via Git, package managers, or symlinks. Environments like development, test, and live can be managed. The philosophy is to get things done fast and reliably through automation and reproducibility.
A presentation on PHP's position in the enterprise, its past & present, how to get ready for developing for enterprise.
Inspired by Ivo Jansch's "PHP in the real wolrd" presentation.
Presented at SoftExpo 2010, Dhaka, Bangladesh.
Working Well Together: How to Keep High-end Game Development Teams ProductivePerforce
This document discusses Guerrilla Games' development process for their game Killzone Shadow Fall. It describes how they use Perforce for version control and continuous integration. Key aspects of their process include having most developers work on the main trunk, extensive testing before and after code commits, labeling builds to sync safely to known good versions, and branching for frequent weekly releases while keeping the main branch for ongoing development. This approach allows for speed of iteration while maintaining control over the development cycle and releases.
Even with the best intentions in mind, a tool or an automated process can be created and deployed with devastating results to your Perforce server instance. Learn from someone with years of experience dealing with rogue tools, hearts of gold, and hands of destruction on what to do and what to avoid when automating Perforce.
This document discusses Git, Jenkins, and Rex in the context of continuous integration and delivery. It provides an overview of what each tool is and how they can work together. Git is used for version control and tracking changes. Jenkins monitors Git repositories for new commits and triggers automated builds. Rex is a tool that can be used by Jenkins to deploy builds to different environments and server groups. The document outlines how developers would use Git and how Jenkins would integrate with Git to build, test, and deploy code changes.
This document provides an overview and preparation guide for the Offensive Security Certified Professional (OSCP) certification. It begins with an introduction and outlines the agenda, which includes an overview of the OSCP, course registration details, prerequisites, an overview of the course content and lab environment, exam preparation tips, and exam details. It then provides additional exam tips, discusses what to expect after passing the OSCP exam, and recommends additional reference materials and websites. The document is intended to help those interested in understanding and preparing for the OSCP certification exam.
This document discusses Docker, a tool for creating and running containerized applications. It explains that Docker provides simple deployment of applications by allowing quick starting of images with the same speed as starting programs directly. It also enables central repositories for images, repeatable testing environments, and easier scaling of applications across multiple servers. Some potential issues discussed are that Docker only supports Linux containers currently, adds more moving parts than traditional virtualization, and requires learning something new. The document demonstrates installing and using Docker through examples and recommends best practices.
Commonly in startups, you probably don't be worry about how your application artefacts are managed to be deployed in a server: compressed files or JAR/WAR files combined with a set of scripts. However, for larger companies that uses not only one or two servers, but a entire pool of machines, it requires some control and organisation to deploy apps. You can handle this case with some automation / configuration management tools like Ansible, Puppet, Chef, of course. But using a set of scripts can be hard to maintain all deployment steps, from artefact update to rollback.
If you distribute your software using a Operational System package manager like YUM (CentOS) or APT (Debian, Ubuntu), your deployment will be easier because these tools handles software changes in a good way. It sounds good, but package binaries is a pain for developers or newer sysadmins that don't have knowledge about how YUM/APT works. It requires creation of one or a lot of configuration files to be updated and when you have multiple artefacts probably packaging them will be a nightmare.
Here enter fpm-cookery, a Ruby gem responsible to package artefacts based on recipes, much easy to use. It will be your swiss knife for anything that you need to package, from common binaries not distributed in RPM/DEB formats to programming languages from source, compiling when needed.
Talk given by Cem Gürkök, Lead InfoSec Engineer at Salesforce, at DockerCon 16 in June 2016
Customer trust and security is paramount for Salesforce. While containerization is great for DevOps due to flexibility, speed, isolation, transient existence, ease of management and patching, it becomes a challenging environment when the sensitivity level of the data traversing the environment increases. Monitoring systems, applications and network; performing disk, memory and network forensics in case of an incident; and vulnerability detection can easily become daunting tasks in such a volatile environment.
In this presentation we would like to discuss the infrastructure we have built to address these issues and to secure our Docker container platform while we rapidly containerize Salesforce. Our solutions focus on securing the container pipeline, building security into the architecture, monitoring, Docker forensics (disk, memory, network), and automation. We also would like to demonstrate some of our live memory analysis capabilities we leverage to assure container and application integrity during execution.
Resumable File Upload API using GridFS and TUSkhangtoh
TUS is a resumable file upload protocol and with MongoDB GridFS, we build an API for uploading files through a REST API and show how to scale this API horizontally using MongoDB as the storage for these files.
Singapore MongoDB User Group March Meetup
tus.io – Resumable file uploads for web and mobile apps by Felix GeisendörferCodemotion
File uploading is an incredibly annoying, yet very important feature to get right for your applications. Unfortunately time is usually short, so most applications handle network errors during file uploads very poorly. For this reason we have started tus.io, which aims to define an open protocol for resumable file uploads along with providing implementations for all plattforms and languages. This session will introduce you to the project, and show you how to add better file uploading to your web and mobile apps.
Tus.io presentation for iOS devscout meetupkhangtoh
Khang Toh describes his experience developing iOS apps and games since 2008. He had an idea for an app called Catstagram to share funny cat photos and videos after seeing cat pictures at work. This led him to co-found MogiMe to create mobile-first apps. The key challenge was resumable file uploads on mobile networks. He discovered the TUS protocol which allows splitting files into chunks for upload over HTTP. While still young, TUS provided a solution for his cat-focused startup and others through open source client and server implementations.
This document discusses how to master communities and social influencer marketing. It provides an agenda that covers identifying key influencers, understanding conversations, and measuring results. The key steps are to identify influencers and communities, understand conversations through text analytics, grow brand awareness through relevant content and outreach, and measure metrics like share of mind, share of voice, and share of conversation. Taking these steps allows focusing attention development and benchmarking against competitors.
Kesalahan grammar yang membuat kita kelihatan bodohwebarsip
This document is a 17-page document written by Copyblogger and designed by Blueglass. On each page, it lists the authors as Copyblogger and the designers as Blueglass.
Cloud computing is the delivery of computing resources such as servers, storage, databases, networking, software, analytics and more over the Internet ("the cloud") to offer faster innovation, flexible resources and economies of scale. It provides scalability, availability, maintenance, cost reduction and security. There are three main service models of cloud computing: Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS).
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsPablo Godel
Web applications are becoming increasingly more complex, so deployment is not just transferring files with FTP anymore. We will go over the different challenges and how to deploy our PHP applications effectively, safely and consistently with the latest tools and techniques. We will also look at tools that complement deployment with management, configuration and monitoring.
This document discusses WordPress development environments. It recommends setting up separate local, staging, and live environments. The local environment is for development on one's own machine. The staging environment resembles the live site for testing purposes. The live environment is the actual public site. It provides tips for setting up servers, configuring domains and files, syncing databases, and using version control across the different environments.
This document discusses tools for creating a WordPress development environment. It covers common development setups like LAMP/LEMP stacks, tools for local development like text editors and version control, and options for setting up a local environment like MAMP, native Linux/Mac stacks, Virtual Machines with Vagrant/VVV, and containers with Docker. The goals are to choose tools that allow for effective collaboration, testing, and deploying code across different environments.
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony AppsPablo Godel
Web applications are becoming increasingly more complex, so deployment is not just transferring files with FTP anymore. We will go over the different challenges and how to deploy our PHP applications effectively, safely and consistently with the latest tools and techniques. We will also look at tools that complement deployment with management, configuration and monitoring.
The document discusses the modern developer toolbox and outlines various tools that developers can use for development environments, testing, debugging, profiling, deployment, logging, and monitoring of applications. It provides recommendations for setting up development environments on different operating systems and with tools like Vagrant, Docker, Ansible, and Homebrew. It also discusses PHP installation and editors/IDEs to use. Testing with PHPUnit, Behat, and Jenkins is covered as well as debugging with XDebug, profiling with XHProf, and deployment with Ansible, Capistrano and other options. Logging with Monolog, Logstash and Kibana is also summarized along with monitoring metrics with StatsD, Graphite and Grafana.
This document discusses Apache CloudStack, an open source cloud computing platform that is currently in incubation at the Apache Software Foundation (ASF). It provides information on how the ASF works, CloudStack's status and participation, the development process, and how to contribute to the project. Key points include that CloudStack 4.0 has been released, the code has moved to Apache repositories, and contributors are working on improvements for the 4.1 release including packaging, dev tools, storage architecture, and testing. The document encourages participation through discussions, documentation, code reviews, and issue tracking on CloudStack's Jira and Review Board systems.
Mike Schroder gives a presentation on contributing to the WordPress core code. He introduces himself and his background. He outlines the WordPress release cycle and emphasizes starting small by finding bugs to fix on Trac. He details the steps to take a bug from identification to submitting a patch, including getting the source code, applying any patches, creating a new patch, and attaching it to the bug report. He advises contributors to ask for help on IRC and Twitter if their patch is rejected and to work with the community to improve WordPress.
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Michael Lihs
Presentation about open source tools to set up continuous integration and continuous deployment. Covers Git, Gitlab, Chef, Vagrant, Jenkins, Gatling, Dashing, TYPO3 Surf and some other tools. Shows some best practices for testing with Behat and Functional Testing.
Join us for this interactive event and get your hands dirty with some WildFly 9 hacking!
Our host Kabir Khan will explain how you can contribute to the WildFly project at many different levels, from properly reporting bugs in the forums and issue tracker, to actually being able to submit a pull request.
During this interactive event you will have a chance to play with WildFly 9 and try some of the following:
• Find a JIRA you want to work on.
• See how to check-out the code and setup your IDE.
• Build WildFly
• Code walkthrough - code organisation, jboss-modules etc.
• Debug something from a stack trace in a JIRA issue to nail down the problem.
• Try the testsuite
• And more!
Open Writing ! - Collaborative Authoring on Apache’s First Open-Source Cloud ...Radhika Puthiyetath
This document provides an overview of Apache CloudStack. It begins by introducing CloudStack as a proven, hypervisor-agnostic Infrastructure as a Service (IaaS) cloud platform. It then discusses the Apache Way and process for becoming an Apache project. The document reviews CloudStack's architecture and history from its origins at Cloud.com to becoming an Apache incubator project. It covers using Publican for documentation publishing and reviews the Apache documentation and review process. It encourages joining the Apache CloudStack community through various forums and meetups.
Picnic Software - Developing a flexible and scalable applicationNick Josevski
The team at Picnic Software giving a detailed walkthrough of their application architecture and development processes for a large Angular and .NET Event Sourcing application.
Rock Solid Deployment of Web ApplicationsPablo Godel
This document discusses best practices for deploying web applications. It recommends automating deployment using tools like Capistrano, Fabric, or Phing to allow for continuous deployment. It also stresses the importance of monitoring servers and applications during deployment using tools like StatsD, Graphite, Logstash, Graylog, and Kibana. The document provides examples of deployment scripts and emphasizes planning deployment early in the development process.
Why Puppet? Why now? Can you get by without using any config management? You probably think don't have time, or that your project is too small. What can using Puppet really add? How can you justify investing time up front? Maybe you can just do it later?
Getting started with config management can often seem like a big project, especially if you only manage a few systems or have a small team. This talk will examine why you should use Puppet from the beginning. It will examine what you can do with Puppet that couldn't do otherwise, how much time it will save and why it's especially important if you think your project has even the smallest chance of scaling in the future.
Presented by David Mytton at Puppet Camp London 2015-04-13
Thursday, June 12th 2014
Discussing strategies in Rails development for keeping multiple application environments as consistent as possible for the best development, testing, and deployment experience.
This document provides an introduction and overview of Docker. It discusses what Docker is and how it differs from virtual machines by using layers, containers, and shared resources. Docker aims to solve the problem of inconsistent environments between development, testing, and production by allowing applications and their dependencies to be packaged into standardized units called containers that can run on any Docker host. The document provides instructions on installing Docker and using basic commands like running, publishing ports, and mounting volumes for containers. It also covers some tips, tricks, pitfalls, and references for further reading.
Newt Global provides DevOps transformation, cloud enablement, and test automation services. It was founded in 2004 and is headquartered in Dallas, Texas with locations in the US and India. The company is a leader in DevOps transformations and has been one of the top 100 fastest growing companies in Dallas twice. The document discusses an upcoming webinar on Docker 101 that will be presented by two Newt Global employees: Venkatnadhan Thirunalai, the DevOps Practice Leader, and Jayakarthi Dhanabalan, an AWS Solution Specialist.
Similar to Contributing to WordPress core - a primer (20)
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3Data Hops
Free A4 downloadable and printable Cyber Security, Social Engineering Safety and security Training Posters . Promote security awareness in the home or workplace. Lock them Out From training providers datahops.com
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on integration of Salesforce with Bonterra Impact Management.
Interested in deploying an integration with Salesforce for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframePrecisely
Inconsistent user experience and siloed data, high costs, and changing customer expectations – Citizens Bank was experiencing these challenges while it was attempting to deliver a superior digital banking experience for its clients. Its core banking applications run on the mainframe and Citizens was using legacy utilities to get the critical mainframe data to feed customer-facing channels, like call centers, web, and mobile. Ultimately, this led to higher operating costs (MIPS), delayed response times, and longer time to market.
Ever-changing customer expectations demand more modern digital experiences, and the bank needed to find a solution that could provide real-time data to its customer channels with low latency and operating costs. Join this session to learn how Citizens is leveraging Precisely to replicate mainframe data to its customer channels and deliver on their “modern digital bank” experiences.
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
6. Outline
• Communication • Intro to Trac
• Release cycles • Intro to IRC
• Decisions • Testing a patch
• I have an idea • Creating a patch
• Run trunk locally
- Good opportunity to talk about this, since it's fresh in my mind.\n- Name is Dave Martin\n- I work for Automattic on the dot org team\n- I started working on core at the beginning of the 3.5 release.\n- Automattic, which runs wp.com is a private company\n- They donate my time to work full time on core\n
- Check out the contributor handbook at this address\n- It covers a lot of the getting started questions you may have\n
- Not going to talk in depth about all of the ways you can contribute\n- There are loads of ways you can help out. \n- You don’t have to be a coder or designer to contribute.\n
- Going to focus on front-end dev and design perspective\n- That’s where I spend the bulk of my time.\n- You’ll also find this presentation helpful if you're just getting started in other ways\n
- Things I'd like to cover are the following\n
- TALK THROUGH EACH\n- IRC\n- Trac\n- Make P2’s\n- make.wordpress.org\n- Core, UI, plugins, themes, support, accessibility\n
- Trying to stick to 4 month release cycles\n- GO THROUGH EACH\n- 3-4 betas\n- 3 private RC’s and 1 public RC\n
- WordPress core operates as a meritocracy\n- Decisions are made by those who have contributed the most, and been around the longest\n- Does that mean if you’re new, your voice won’t be heard? Not at all. \n
- So, you’ve got an idea for improving wp-admin, or you’ve found a bug\n- The first thing you do is head over to Trac - and run a couple searches\n- there may already be a ticket\n- If so, you’ll see the back history\n- If you don’t find anything, ask in IRC - there may be a back story behind why it hasn’t been done.\n- If the reaction is positive, create a ticket\n
- I’ll walk you through how I do things\n- For all of these tutorials I’ll be using a Mac\n- That’s what I use, but a lot of the processes are similar on other operating systems\n
- First you’ll want to download and install XAMPP\n- This will auto install apache, PHP, and MySQL\n- Go ahead an just install it in your applications folder\n
- After you’ve installed XAMPP, \n- From the XAMPP control panel, you’ll want to turn on Apache, and MySQL\n
- After you’ve turned on XAMPP, open the htdocs\n- I’ve added the path here on the slide\n- And add a new folder called “wordpress”\n
- Next open terminal and change directories by typing cd /Applications/XAMPP/htdocs/wordpress\n- Then hit enter\n
- Then enter “SVN CO ...”\n- SVN is the version control used to host Wordpress trunk\n- CO equals “check out”\n- So essentially, you are checking out a copy of WordPress trunk to your local WordPress folder\n- Once you hit enter, you’ll see a bunch of WordPress files being added\n
- We need to create a database for WordPress\n- Open a browser and go to localhost/phpmyadmin/\n- In the create a new database section enter “wordpress” as the database name\n- And click create - this will create a blank DB for you to use with WordPress\n
- Open your new wordpress folder in a text editor (I use Coda)\n- Just like in any new install, you’ll want to\n- Make a copy of the wp-config-sample.php file, and rename it without the sample bit\n
- Add “wordpress” as the db name\n- Then root for the username, leave the password blank, and leave the host to localhost\n
- Last, just visit localhost/wordpress/trunk/ in your browser and finish your install\n- Your local site will then be accessible through localhost/wordpress/trunk/\n- And just tack a wp-admin on the end to reach the admin.\n
- Trac is where we keep track of bugs and everything that’s being worked on\n- This is the reports tab\n- You’ll see that report 5 there with show you all of the open tickets slated for the next major release\n- Report 35, which you can’t see here shows all UX, UI tickets.\n
- This is what you’ll see when you look at a ticket\n- The top portion lists who reported it\n- Attachments will include (patches, images)\n- Change history at the bottom is where you comment on this ticket, and read the ticket history.\n- We’ll go through the process of creating a patch at the end of the talk, and I’ll show you more of Trac then.\n
- There are plenty of IRC tutorials on the net, but I just want to touch quickly on getting started\n- The IRC client I use is called Adium - it’s free.\n
- After you download and install Adium, you’ll want to connect to irc.freenode.net\n
- The two rooms I frequent are: #wordpress-dev, and #wordpress-ui\n\n
- One of the best was to get your feet wet is to start by testing other peoples patches\n- So here’s a ticket with some improvements to the pressthis bookmarklet\n- It has yet to be committed, but multiple patches have been uploaded\n- The latest one dot 3 was uploaded 2 weeks ago.\n- So, you could come in and click that last link (which will show you the patch)\n\n
- From the patch page, you can review the code that has been submitted, \n- and you can download a copy of the patch to test it on your local install\n- Just click that grey link at the bottom that says “Original Format”\n\n
- After you’ve got that downloaded, to your desktop, drag it to your local WP install\n- It should be right there in the trunk directory\n
- Hop back over to terminal, and type svn status\n- This will show you any files that you’ve modified in trunk, or any file that has not been added via SVN\n- You can see that our diff files is sitting there\n
- Next type patch -p0 -i 21997.3.diff \n- This will apply the changes from patch file to your local instance of wordpress\n- It will give you an indication as to whether everything went okay or not\n
- Then you pull up your local install in the browser and test the changes that were just applied\n- And then go back to the ticket in Trac, and leave a comment stating how you tested it, \n- and whether the patch looks good or not.\n- Try to be as specific as possible (especially if you find something wrong with the patch).\n
- So let’s say you’ve made a change to you local install of wordpress, and you’d like to submit it as a patch.\n- The first thing you’ll want to do is type SVN up, and hit enter, \n- which will make sure you’re running the latest version of trunk, and ensure that you don’t have any conflicts\n
- Then run svn status to review the files with changes\n- You’ll see an M next to the wp-admin.css file\n- That means there are modifications to that file\n
- To review those modifications, you’ll type svn diff\n- This will allow you to review the actual diff of the files that were changed\n- You’ll see a minus sign on the left next to lines that were removed\n- And a plus sign next to new lines that have been added\n
- To export this diff to a file that can then be uploaded to the ticket, type svn diff > 21997.4.diff\n- The greater than sign exports it to a file\n- 21997 is the Trac ticket ID (this is just best practice)\n- Since this was a modification to an existing patch, I changed .3 to .4\n
- Then, when you check your local trunk directory, you should see that new .4.diff file\n- \n
- Go back to the ticket page, and click the “attach file” button\n
- And upload your new patch in the form that is provided.\n
- Last, go back to the ticket, and leave a detailed comment as to what was changed, and why.\n
- That’s all I’ve got for today.\n- Thanks for sticking around for the last session.\n- Any questions?\n