Archives (2008 - 2023)

Archives (2008 - 2023)

1501 bookmarks
Newest
MySQLnd Plugins: Writing a MySQL Query Logger in PHP - ThinkPHP /dev/blog
MySQLnd Plugins: Writing a MySQL Query Logger in PHP - ThinkPHP /dev/blog
A new approach to implementing a query logger and potentially more complex features such as monitoring or read/write-splitting is the MySQLnd Userland Handler Extension (mysqlnd_uh, pecl website). The extension lets you register a PHP class as a proxy for every MySQLndconnection. Every call to a function to MySQLnd (usually indirect through mysqli, mysql, pdo_mysql) is passed to the PHP class, which then calls the original MySQLnd function. The extension makes it possible to use a custom userland class as a transparent proxy for all MySQLnd frontend (again mysqli, mysql, pdo_myslq). In the next section, I'll outline the requirements of mysqlnd_uh and show a sample implementation.
MySQLnd Plugins: Writing a MySQL Query Logger in PHP - ThinkPHP /dev/blog
relevance's cap_gun at master - GitHub
relevance's cap_gun at master - GitHub

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.

relevance's cap_gun at master - GitHub
orieg's php-judy at master - GitHub
orieg's php-judy at master - GitHub

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
orieg's php-judy at master - GitHub
Krati
Krati
Krati is a simple persistent content data store with very low latency and high throughput. It is designed for easy integration with other services with little effort in tuning configuration, performance and JVM garbage collection. This software is published under the terms of the Apache Software License version 2.0, a copy of which has been included in the LICENSE file shipped with the Krati distribution.
Krati
Designing Web Applications for Scalability
Designing Web Applications for Scalability
In this post, I'm going to go over some of the strategies I've used to architect web applications for scalability, right from the start of the design process, in such a way that I'm prepared to scale when I need to, but not forced into doing so before its necessary. Easing the transition from small scale to large scale can be made much easier by choosing the right technologies and implementing the right coding patterns up front.
Designing Web Applications for Scalability
InfoQ: Your Scrum Checklist: Scrum Hard Facts: Roles. Artefacts. All Meetings
InfoQ: Your Scrum Checklist: Scrum Hard Facts: Roles. Artefacts. All Meetings

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.

InfoQ: Your Scrum Checklist: Scrum Hard Facts: Roles. Artefacts. All Meetings
Leverage Points: Places to Intervene in a System | Solutions
Leverage Points: Places to Intervene in a System | Solutions

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.

Leverage Points: Places to Intervene in a System | Solutions
Ibuildings - Horizontally Scalable Web Applications - ibuildings.com
Ibuildings - Horizontally Scalable Web Applications - ibuildings.com
What Is Scalability? Scalability is not high performanceWhat goes up, must come downScalable by Design Loose CouplingCreate APIs, assemble applicationsScaling Your Application Horizontal vs. vertical scalingBreaking It Apart – Thinking in Pieces StaticDynamic Database Session ClusteringMemcached Session ClusteringAPIsScaling Your Database Database ReplicationDatabase FederationDatabase Sharding Alternative Data Storage Engines API-only data accessCouchDB and Amazon SimpleDbScaling to the Cloud Platform as a ServiceInfrastructure as a ServiceDegrade gracefully
Ibuildings - Horizontally Scalable Web Applications - ibuildings.com
HTML5 Boilerplate - A rock-solid default for HTML5 awesome.
HTML5 Boilerplate - A rock-solid default for HTML5 awesome.
HTML5 BOILERPLATE IS THE PROFESSIONAL BADASS'S BASE HTML/CSS/JS TEMPLATE FOR A FAST, ROBUST AND FUTURE-PROOF SITE.AFTER MORE THAN TWO YEARS IN ITERATIVE DEVELOPMENT, YOU GET THE BEST OF THE BEST PRACTICES BAKED IN: CROSS-BROWSER NORMALIZATION, PERFORMANCE OPTIMIZATIONS, EVEN OPTIONAL FEATURES LIKE CROSS-DOMAIN AJAX AND FLASH. A STARTER APACHE .HTACCESS CONFIG FILE HOOKS YOU THE EFF UP WITH CACHING RULES AND PREPS YOUR SITE TO SERVE HTML5 VIDEO, USE @FONT-FACE, AND GET YOUR GZIP ZIPPLE ON.BOILERPLATE IS NOT A FRAMEWORK, NOR DOES IT PRESCRIBE ANY PHILOSOPHY OF DEVELOPMENT, IT'S JUST GOT SOME TRICKS TO GET YOUR PROJECT OFF THE GROUND QUICKLY AND RIGHT-FOOTED.
HTML5 Boilerplate - A rock-solid default for HTML5 awesome.
A/B testing with PHP - phpA/B
A/B testing with PHP - phpA/B

Super simple setup Setting up an A/B test couldn’t be easier. Almost everything is done for you. You can be running multiple tests in only a matter of minutes.

Test anything Whether you want to test changes to your copy, HTML, CSS, javascript, or test completely different designs, phpA/B offers a way to do it.

Google Analytics integration phpA/B integrates automatically into your Google Analytics, allowing deeper insight into your tests’ impact on users.

High performance PHP-based tests run before users even begin loading your web pages. Javascript-based A/B tests cause funny twitches in your UI.

Search bot filtering Don’t let search engine robots skew your data. phpA/B automatically filters them out of your tests.

A/B testing with PHP - phpA/B
Doc⚡split
Doc⚡split
Docsplit is a command-line utility and Ruby library for splitting apart documents into their component parts: searchable UTF-8 plain text, page images or thumbnails in any format, PDFs, single pages, and document metadata (title, author, number of pages...)
Doc⚡split
Home - cloud-crowd - GitHub
Home - cloud-crowd - GitHub

CloudCrowd is intended to make distributed processing easy for Ruby programmers. Some jobs that would be appropriate for CloudCrowd are: Generating or resizing images.Running text extraction or OCR on PDFs.Encoding video.Migrating a large file set or database.Web scraping.

Home - cloud-crowd - GitHub