
Software Engineering
Start an instance on an internal cloud, then with the same code start another on EC2 or Rackspace. Deltacloud protects your apps from cloud API changes and incompatibilities, so you can concentrate on managing cloud instances the way you want.
Deltacloud Core gives you:
REST API (simple, any-platform access) Support for all major cloud service providers Backward compatibility across versions, providing long-term stability for scripts, tools and applications One level up, Deltacloud Aggregator provides a web UI in front of the Deltacloud API. With Deltacloud Aggregator, your users can:
View image status and stats across clouds, all in one place Migrate instances from one cloud to another Manage images locally and provision them on any cloud
Client Code Interface - How does your code interact with the log system? Scribe doesn't do much for you here. There's a simple Thrift interface for logging from a large set of languages, but the bulk of the work is stull up to you. Distribution System - This is were Scribe fits. It reliably (mostly) moves large numbers of messages around. A few error cases lead to data loss: 1) If a client can't connect to either the local or central scribe server the message will be loss; 2) If a scribe server crashes it could lose a small amount of data that's in memory but not on disk; 3) Some multiple component failure cases, such as a resender can't connect to any central server and its local disk fills up; 4) Some rare timeout conditions can lead to duplicate messages Do Something Usefullizer - How do you do anything useful with over 1 million messages per second? Good question. Scribe doesn't help here. But Scribe will get your data their.
Pig is a platform for analyzing large data sets that consists of a high-level language for expressing data analysis programs, coupled with infrastructure for evaluating these programs. The salient property of Pig programs is that their structure is amenable to substantial parallelization, which in turns enables them to handle very large data sets.
At the present time, Pig's infrastructure layer consists of a compiler that produces sequences of Map-Reduce programs, for which large-scale parallel implementations already exist (e.g., the Hadoop subproject). Pig's language layer currently consists of a textual language called Pig Latin, which has the following key properties:
Ease of programming. It is trivial to achieve parallel execution of simple, "embarrassingly parallel" data analysis tasks. Complex tasks comprised of multiple interrelated data transformations are explicitly encoded as data flow sequences, making them easy to write, understand, and maintain. Optimization opportunities. The way in which tasks are encoded permits the system to optimize their execution automatically, allowing the user to focus on semantics rather than efficiency. Extensibility. Users can create their own functions to do special-purpose processing.
One of the great difficulties of Facebook application development is the difficulty in running large-scale tests due to the large number of Facebook accounts required, and the Facebook Terms of Use which does not allow automated systems to access the Facebook servers. These issues are explained in depth in Load testing Facebook apps (Part 1) and Load testing Facebook apps (Part 2). FriendRunner acts as a drop-in replacement for the Facebook servers, and so allows you to run your tests with as many users as you'd like. Furthermore, FriendRunner's automated test system runs the entire test for you once you create a test script to define the actions for a single user.
Tell everyone about your releases! Send email notification after Capistrano deployments! Rule the world!
Drop your ActionMailer configuration information into your deploy.rb file, configure recipients for the deployment notifications, and setup the callback task.
Setup and configuration are done entirely inside your deploy.rb file to keep it super simple. Your emails are sent locally from the box performing the deployment, but CapGun queries the server to grab the necessary release info.
This even includes the Net::SMTP TLS hack inside as a vendored dependancy to allow super easy email sending without setting up an MTA.
php-judy is an exentsion by Nicolas Brousse for the Judy C library.
http://github.com/orieg/php-judy
A Judy array is a complex but very fast associative array data structure for storing and looking up values using integer or string keys. Unlike normal arrays, Judy arrays may be sparse; that is, they may have large ranges of unassigned indices.
http://en.wikipedia.org/wiki/Judy_array
Judy is a C library that implements a dynamic array. Empty Judy arrays are declared with null pointers. A Judy array consumes memory only when populated yet can grow to take advantage of all available memory. Judy's key benefits are: scalability, performance, memory efficiency, and ease of use. Judy arrays are designed to grow without tuning into the peta-element range, scaling near O(log-base-256) -- 1 more RAM access at 256 X population.
http://judy.sourceforge.net
Scrum is a framework with simple rules. This Scrum Checklist will help you to remember these simple rules in the heat of daily work and stress. It enable you to create an enjoyable and productive work environment with your Scrum-Team.
For Scrum Beginners - Follow the Checklists, do Scrum by the book.This will enable you to run you first 3 to 4 Sprints very successfully. Your success will facilitate to spread Scrum in your organization.
For Scrum Intermediates - Use your common sense to tweak your processes guided by these Scrum Checklists.
As an experienced ScrumMaster - Use Scrum Check- lists as your safety belt in stressful situations.
Scrum Checklists do not replace experience and practice. Scrum Checklists are not procedures that you have to follow. Scrum Checklists help to run a successful Scrum in a demanding environment.
How do we change the structure of systems to produce more of what we want and less of that which is undesirable? After years of working with corporations on their systems problems, MIT’s Jay Forrester likes to say that the average manager can define the current problem very cogently, identify the system structure that leads to the problem, and guess with great accuracy where to look for leverage points—places in the system where a small change could lead to a large shift in behavior.
Over-communication Scorecard Trend (and glide-path) Backlog / Burn-down List “Branded” status emails Schedule in Excel Schedule in Visio