How to Access PUT data in Zend Framework
So I have followed a few tutorials online on how to build a RESTful API in Zend Framework (http://mwop.net/blog/228-Building-RESTful-Services-with-Zend-Framework) and everything seemed to go swimmingly except when it came to retrieveing the PUT request data. Took me a while to find this however there is a controller plugin pre-built in Zend Framework that you have to enable (Zend_Controller_Plugin_PutHandler). Basically it add the PUT data into the standard request object so you can access the data via getParams() or getParam(‘var’).
For more information see:
Google Analytics Benchmarking Newsletter July 2011
Just clearing through my inbox and found Google Analytics Benchmarking Newsletter. This is exceptionally useful for most of my clients.
| Google Analytics Benchmarking Newsletter 2011, Volume 1, July 2011 |
1. IntroductionWelcome to the first volume of the Analytics Benchmarking Newsletter! This month, we are replacing the standard “benchmarking” report in your Google Analytics account with data shared in this newsletter. We are using this newsletter as an experiment to surface more useful or interesting data to Analytics users. Data contained here comes from all websites which have opted-in anonymous data sharing with Google Analytics. Only those website administrators which have enabled this anonymous data sharing will receive this “benchmarking” newsletter. You may be wondering, how many websites are in this “anonymous data sharing” pool? Currently, hundreds of thousands, and we’ve endeavored to make all of the metrics here statistically significant. The date range of comparison for this newsletter is from November 1, 2010 – February 1, 2011. Comparison is done with data from November 1, 2009 – February 1, 2010. Absolute metrics such as total # visits, pageviews, or conversions for all opted-in websites are not reported. To simplify the prose, the phrase “websites” will represent “websites which have opted into anonymous data sharing with Google Analytics” for the rest of this newsletter. 2. Site MetricsCompared to a year ago, websites have seen reduced pages / visit, average time on site, as well as bounce rate.
2.1 Breakdown by GeographyOur anonymous database has aggregated geographic breakdown at the country level. Here are a few representative countries and their respective aggregate metrics. The first number in each cell represents the metric for the date range 11/1/10-2/1/11. The parenthesized number is the Year over Year delta compared to a year ago.
For bounce rate, the distribution by country is plotted below: ![]() The distribution above is annotated with some countries — which seem to indicate a story of leisure and stage of economic development. For a related metric: average time on site, the distribution by country is plotted below: ![]() The type of countries annotated in the average time on site graph above seem to be in reverse order as those in the bounce rate distribution. 2.2 Breakdown by Traffic SourcesTraffic sources below are identified by how the “source” and “medium”"” parameters are received by the Google Analytics collecting servers. Here is an article describing what these designations refer to.
2.4 Conversion Rate DistributionMany marketers’ favorite metric is conversion rate. Here is the worldwide distribution of Google Analytics “goal conversion rate” by country.
![]() Would anyone have guessed that states which are known for conversions are also high for their citizens’ goal conversion rate? Note that for some states with few population, the statistical significance of the conversion metric comes into doubt. 3. Traffic SourcesTraffic sources below are identified by how the “source” and “medium” parameters are received by the Google Analytics collecting servers. Here is an article describing what these designations refer to.
4. Operating SystemsBrowsers and Operation Systems (OS) are identified by the “referrer” string sent by users’ browsers.
5. CommentsThis is the first volume of our Analytics Benchmarking Newsletter. We hope that it provides useful insights. If you have specific comments or suggestions on how to improve this newsletter, please send your feedback to: analytics-benchmarking@google.com. Happy analyzing, |
Install APC on Xampp
This is how I installed APC on Xampp on Windows 7
- Download php_apc-3.1-svn20101116-5.3-vc6-x86.zip (Direct link : http://downloads.php.net/pierre/php_apc-3.1-svn20101116-5.3-vc6-x86.zip)
- Copy php_apc.dll to C:\xampp\php\ext
- Open php.ini (C:\xampp\php\php.ini) and add extension=php_apc.dll
I also needed to change a couple of settings inside apache.
- Go to the directory of installation\apache\conf
- Open and edit httpd.conf in a text editor
- Find all occurrences of
AllowOverride None
and change to
AllowOverride All
- I think it appears 2 or 3 times on the configuration file.
- Reset Apache
Should work for you as well.
Sagepay Test Card Details
Whenever I need to test Sagepay (ex Protx) payment gateway integration I have to try and retrieve the test card numbers I can never find the correct pdf. This means trying to find them on Google (which I never can) or loggin into sagepay and downloading about 3 pdfs before I find the right one. So to save me and others time here see below:
Card Type - Card Number - Issue - CV2 - Address - PostCode Visa Credit - 4929000000006 - 123 - 88 - 412 MasterCard Credit - 5404000000000001 - 123 - 88 - 412 Visa Debit / Delta - 4462000000000003 - 123 - 88 - 412 Solo - 6334900000000005 - 1 - 123 - 88 - 412 UK Maestro - 5641820000000005 - 01 - 123 - 88 - 412 American Express - 374200000000004 - 123 - 88 - 412 Visa Electron - 4917300000000008 - 123 - 88 - 412 JCB - 3569990000000009 - 123 - 88 - 412 Diner’s Club - 36000000000008 - 123 - 88 - 412 Laser (LASER) - 6304990000000000044 - 123 - 88 - 412
Any cardholder name and start/expiry dates will be accepted for these cards so long as the dates are valid and the card not expired. If you have 3D-Secure set up on your test account, you can use the My Sage Pay Admin interface to switch on the checks at this stage to test 3D-Secure.
Share Folders on Unbuntu VBox with Windows
These instructions assure you are using Windows as your host and Ubuntu as the client machine. I am using vbox 4 and Ubuntu 10.04 LTS. I had loads of issues getting this to work with other tutorials and forum posts. I kept getting errors like:
/sbin/mount.vboxsf: mounting failed with the error: Protocol error /sbin/mount.vboxsf: mounting failed with error: No such device
Here is my method which worked for me and hopefully for you as well.
Stage 1. Install Guest Additions. If you have done this already skip this stage.
- Start Ubuntu and click devices in the vbox window, the select install Guest Additions
- This should put a cd icon on the Unbuntu desktop, double clicking should open a folder.
- Click “Open Autorun Prompt” then wait for it to install.
- Shut down Ubuntu from within the client.
Stage 2. Add the shared folder
- Open up VirtualBox control panel.
- Right hand click on the box you want to share a folder with
- Go to share folder, add a folder and tick Auto-Mount and Make Permanent
- Click OK and start your Ubuntu vbox
Stage 3. Give Your User Permission
- You need to add your user to the vboxsf group.
- Click system->administration->Users and Groups
- Click Manage Group -> scroll down, scroll down and click vboxsf. Then click properties.
- There should be a list of Group Memebers, make sure your user is clicked (by default your user will be called Ubuntu).
- Close everything and restart from within Ubuntu, not vbox control panel.
Stage 4. Done
- Once Ubuntu starts your shared folder can be found in “File System/Media/”
Recent Posts
- Diary of a Startup: I’ve Just Applied to Seedcamp
- Diary of a Startup: Create a startup for £14
- Sendmail on Ubuntu
- Adobe Air with Netbeans
- Best Firefox Plugins for SEO aka Addons
- Setup Ubuntu as a Web Server
- Changing Plesk Fast CGI to Apache PHP with ZF
- How to Access PUT data in Zend Framework
- 30 minutes until 30!
- Google Analytics Benchmarking Newsletter July 2011
My External Links
Twitter Updates
- I'm at Earls Restaurant (229 Banff Ave, Wolf St, Banff) http://t.co/mYqKENLt 3 days ago
- New Local Dark Ale. Lovely @ Earl's - Banff http://t.co/otFtzHbQ 1 week ago
- I'm at Calgary International Airport (YYC) (2000 Airport Rd. N.E., Calgary) w/ 7 others http://t.co/IRI8zsHj 1 week ago
- I'm at BA Galleries Club Lounge South (at Terminal 5, LHR Airport, Heathrow) w/ 3 others http://t.co/FikQ8bSQ 1 week ago
- I'm at Terminal 5 (LHR Airport, 234 Bath Rd., Hounslow) w/ 8 others http://t.co/IbyWsNNf 1 week ago
- I'm at Yum Yum (5B Brewery Place, Brewery Wharf, Leeds) http://t.co/DKzTstpt 2 weeks ago
- RT @YahooFinance: The Case for a 21-Hour Work Week http://t.co/UFru9Pwy 3 weeks ago
- How Facebook's Expected $100 Billion IPO Breaks Down [INFOGRAPHIC] http://t.co/GxGMffP6 via @mashable 3 weeks ago
- I'm at Old Broadcasting House (Leeds Metropolitan University, at Civic Quarter, Leeds) w/ 4 others http://t.co/8M32KNy5 3 weeks ago
- Start 2012 by Taking 2 Minutes to Clean Your Apps Permissions. http://t.co/ltxMfrow 1 month ago







