Tools

Tools

847 bookmarks
Custom sorting
Behat - BDD in PHP
Behat - BDD in PHP

Behat is an open source behavior driven development framework for php 5.3.

Behat was inspired by Ruby's Cucumber project and especially it's syntax part (Gherkin). It tries to be like Cucumber with input (Feature files) and output (console formatters), but in core, it built from the ground on the shoulders of giants:

Symfony Dependency Injection component Symfony Event Dispatcher component Symfony Console component Symfony Finder component Unlike any other php testing framework that tests applications inside out. Behat is testing applications outside in. It means, that Behat works only with your application's input/output. If you want to test your models - use unit testing framework instead, Behat created for behavior testing (but can be used for anything +) ).

Also, there's symfony plugin for Behat, so you can start testing your applications right now.

Behat - BDD in PHP
aost - Project Hosting on Google Code
aost - Project Hosting on Google Code
The Tellurium Automated Testing Framework (Tellurium) is a UI module-based automated testing framework for web applications. The UI module is a collection of UI elements you group together. Usually, the UI module represents a composite UI object in the format of nested basic UI elements.
aost - Project Hosting on Google Code
GNU Parallel - build and execute command lines from standard input in parallel - Accueil [Savannah]
GNU Parallel - build and execute command lines from standard input in parallel - Accueil [Savannah]
GNU parallel is a shell tool for executing jobs in parallel locally or using remote computers. A job is typically a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables.
GNU Parallel - build and execute command lines from standard input in parallel - Accueil [Savannah]
Capistrano Multi Stage Instructions - Box Vault
Capistrano Multi Stage Instructions - Box Vault

Features provided in the capistrano-ext gem allows you to setup multiple environments within your deploy.rb file giving you the ability to run commands such as:

cap development deploy:migrations or

cap production deploy:migrations and have your application deploy to the different environments properly. This document provides you instructions on how to properly accomplish this.

Capistrano Multi Stage Instructions - Box Vault
MCollective - Overview
MCollective - Overview

The Marionette Collective aka. mcollective is a framework to build server orchestration or parallel job execution systems.

Mcollective’s primary use is to programmatically execute actions on clusters of servers. In this regard it operates in the same space as tools like Func, Fabric or Capistrano.

By not relying on central inventories and tools like SSH, it’s not simply a fancy SSH “for loop”. MCollective uses modern tools like Publish Subscribe Middleware and modern philosophies like real time discovery of network resources using meta data and not hostnames. Delivering a very scalable and very fast parallel execution environment.

The focus is on catering to the needs of enterprises and large deploys. Pluggable Authentication, Authorization and Auditing capabilities sets it apart from other tools in this space.

MCollective - Overview
SystemTap
SystemTap

SystemTap provides free software (GPL) infrastructure to simplify the gathering of information about the running Linux system. This assists diagnosis of a performance or functional problem. SystemTap eliminates the need for the developer to go through the tedious and disruptive instrument, recompile, install, and reboot sequence that may be otherwise required to collect data.

SystemTap provides a simple command line interface and scripting language for writing instrumentation for a live running kernel. We are publishing samples, as well as enlarging the internal "tapset" script library to aid reuse and abstraction.

Among other tracing/probing tools, SystemTap is the tool of choice for complex tasks that may require live analysis, programmable on-line response, and whole-system symbolic access. SystemTap can also handle simple tracing jobs.

SystemTap
Yelp's Tron at master - GitHub
Yelp's Tron at master - GitHub
Tron is a centralized system for managing periodic batch processes and services across a cluster. If you find cron or fcron to be insufficient for managing complex work flows across multiple computers, Tron might be for you.
Yelp's Tron at master - GitHub
mihasya's ishmael at master - GitHub
mihasya's ishmael at master - GitHub

This is a simple UI to put on top of the data that mk-query-digest outputs. It let's you browse the query report in a more readable fashion. The aim is to display all the information from the report in a readable, navigable way. This tool does not add anything to the mk-query-digest utility itself. It simply displays the data that the utility generates.

mihasya's ishmael at master - GitHub
redisql - Project Hosting on Google Code
redisql - Project Hosting on Google Code

Redisql is a lightweight SQL server AND Redisql is built on top of the NOSQL datastore redis, supports redis data-structures and redis commands and supports (de)normalisation of these data structures (lists,sets,hash-tables) to/from SQL tables. Redisql can also easily import/export tables to/from Mysql for Data-warehousing. Redisql is not only a data storage Swiss Army Knife, it is also extremely fast and extremely memory efficient.

Speed is achieved by being an event driven network server that stores ALL data in RAM and achieves disk persistence by using a spare cpu-core to periodically log data changes (i.e. no threads, no locks, no undo-logs, serving data over a network at RAM speed) Storage data structures w/ very low memory overhead and data compression, via algorithms w/ insignificant performance hits, greatly increase the amount of data you can fit in RAM Your hard disk's swap is utilised when your data can no longer fit in RAM. In this mode, performance is not negatively effected, if rarely-used data sits idle in swap. Redisql can use 100% of your RAM for storage and still provide disk persistence. Optimising to the SQL statements most commonly used in OLTP workloads yields a lightweight SQL server designed for low latency at high concurrency (i.e. mindblowing speed).

redisql - Project Hosting on Google Code
OpenTSDB - A Distributed, Scalable Monitoring System
OpenTSDB - A Distributed, Scalable Monitoring System

OpenTSDB is a distributed, scalable Time Series Database (TSDB) written on top of HBase. OpenTSDB was written to address a common need: store, index and serve metrics collected from computer systems (network gear, operating systems, applications) at a large scale, and make this data easily accessible and graphable. Thanks to HBase's scalability, OpenTSDB allows you to collect many thousands of metrics from thousands of hosts and applications, at a high rate (every few seconds). OpenTSDB will never delete or downsample data and can easily store billions of data points. As a matter of fact, StumbleUpon uses it to keep track of hundred of thousands of time series and collects over 100 million data points per day in their main production cluster.

Imagine having the ability to quickly plot a graph showing the number of active worker threads in your web servers, the number of threads used by your database, and correlate this with your service's latency (example below). OpenTSDB makes generating such graphs on the fly a trivial operation, while manipulating millions of data point for very fine grained, real-time monitoring.

OpenTSDB - A Distributed, Scalable Monitoring System
Apdex.org
Apdex.org

Apdex is a numerical measure of user satisfaction with the performance of enterprise applications. It converts many measurements into one number on a uniform scale of 0-to-1 (0 = no users satisfied, 1 = all users satisfied). This metric can be applied to any source of end-user performance measurements. If you have a measurement tool that gathers timing data similar to what a motivated end-user could gather with a stopwatch, then you can use this metric. Apdex fills the gap between timing data and insight by specifying a uniform way to measure and report on the user experience.

The index translates many individual response times, measured at the user-task level, into a single number. A Task is an individual interaction with the system, within a larger process. Task response time is defined as the elapsed time between when a user does something (mouse click, hits enter or return, etc) and when the system (client, network, servers) responds such that the user can proceed with the process. This is the time during which the human is waiting for the system. These individual waiting periods are what define the "responsiveness" of the application to the user.

Apdex.org
Vagrant - Welcome
Vagrant - Welcome

Vagrant is a tool for building and distributing virtualized development environments.

By providing automated creation and provisioning of virtual machines using Oracle’s VirtualBox, Vagrant provides the tools to create and configure lightweight, reproducible, and portable virtual environments.

Vagrant - Welcome
keploy - Project Hosting on Google Code
keploy - Project Hosting on Google Code

Keploy is a python application that allows you to deploy your ssh public key to remote systems without having to remember all the little things, like file permissions.

Features: Push ssh public key to remote(s) Remove ssh public key from remote(s) Replace old public key with a new one on remote(s) Can target all hosts in un-hashed known_hosts file

keploy - Project Hosting on Google Code
AngularJS
AngularJS
is what HTML would have been if it had been designed for building web applications. It provides your application’s plumbing so you can focus on what your app does, rather than how to get your web browser to do what you need.
AngularJS
Cloudera’s Distribution for Hadoop « Cloudera » Apache Hadoop for the Enterprise
Cloudera’s Distribution for Hadoop « Cloudera » Apache Hadoop for the Enterprise
Cloudera’s Distribution for Hadoop (CDH) sets a new standard for Hadoop-based data management platforms. It is the most comprehensive platform available today and significantly accelerates deployment of Apache Hadoop in your organization. CDH is based on the most recent stable version of Apache Hadoop. It includes some useful patches backported from future releases, as well as improvements we have developed for our customers.
Cloudera’s Distribution for Hadoop « Cloudera » Apache Hadoop for the Enterprise
How Twitter Uses NoSQL - ReadWriteCloud
How Twitter Uses NoSQL - ReadWriteCloud
Weil is quick to point out that Twitter is heavily dependent on MySQL. However, Twitter does employ NoSQL solutions for many purposes for which MySQL isn't ideal. According to Weil, Twitter users generate 12 terrabytes of data a day - about four petabytes per year. And that amount is multiplying every year. Read on for our notes on Weil's talk.
How Twitter Uses NoSQL - ReadWriteCloud
Earned value management - Wikipedia, the free encyclopedia
Earned value management - Wikipedia, the free encyclopedia
Earned value management (EVM) is a project management technique for measuring project progress in an objective manner. EVM has the ability to combine measurements of scope, schedule, and cost in a single integrated system. When properly applied, EVM provides an early warning of performance problems. Additionally, EVM promises to improve the definition of project scope, prevent scope creep, communicate objective progress to stakeholders, and keep the project team focused on achieving progress.
Earned value management - Wikipedia, the free encyclopedia
What does Librato Silverline do? / Getting Started / FAQs - librato Support
What does Librato Silverline do? / Getting Started / FAQs - librato Support

Silverline is a lightweight, application-centric virtualization solution for Linux and Windows that enables you to systematically monitor and control all your disparate applications and workloads in both cloud and physical data center environments. Through Silverline's monitoring and workload management you can:

Consolidate different applications on the same shared machines, increasing overall resource utilization and reducing total cost of ownership (TCO). Guarantee service level agreements (SLAs) for consolidated applications by ensuring that specified minimum resource allocations are dedicated to each application. Improve machine utilization by dynamically sharing out unused resources to applications that can benefit from additional capacity. Provide fine-grained tracking of machine utilization to accurately understand which of your customers impact your infrastructure the most and bill business unit customers for IT-managed resources.

What does Librato Silverline do? / Getting Started / FAQs - librato Support
this, is boomerang
this, is boomerang

"boomerang is a piece of javascript that you add to your web pages, where it measures the performance of your website from your end user's point of view. It has the ability to send this data back to your server for further analysis. With boomerang, you find out exactly how fast your users think your site is.

boomerang is opensource and released under the BSD license, and we have a whole bunch of documentation about it. "

this, is boomerang