Newtonmas shopping with Amara

Amara has come a long way in the past 4 years, growing from a humble prototype into a powerful open platform! Today, Amara is used by millions to create, share, and view captions and subtitles — making it possible for more people to engage, participate, and benefit from all of the amazing content online.

Developed and maintained by the Participatory Culture Foundation (PCF), a non-profit ( 501c3) organization, Amara is built by a small team of individuals who share the belief that everyone deserves to communicate globally, with full access to the richest media on the web.

If you’re an Amazon shopper, especially if you’re doing holiday shopping, you can support Amara with each purchase you make. Simply bookmark the link below and use it any time you browse or buy on Amazon. A portion of each purchase will go to PCF, which ultimately helps us keep Amara going.

Automatic Option (easy!): Install browser plugin (Firefox or Chrome) and then visit this link one time – now all purchases will always benefit Amara.

Bookmark Option: Drag this link to your bookmark toolbar: Amazon + Amara

Animation of dragging Amara + Amazon link to bookmark  bar

Note to self: regarding 3D artifacts with fglrx

Every six months or so this one catches me, so I’m finally writing it down for posterity, since the only valid reply I found online is buried at the bottom of a forum thread.

If you are using AMD Catalyst drivers for Radeon graphic cards on Linux, and glxgears (among others) has this kind of blocky corruption artifacts:


just launch amdcccle and set antialias/anisotropic filtering to override application settings.

Bonus tip: use fglrx from the distro’s repository and not from AMD’s site if you don’t want to have a fun ride softlinking libraries left and right. Eventually they’ll figure out if they want to load their modules from /usr/lib/fglrx, /usr/lib64/fglrx, /usr/X11R6/lib64 or /usr/lib/x86_64-linux-gnu.

PHP: array_shift vs. unset key benchmark

I was working on memoizing a few functions, including dumping the oldest cached response (PHP’s associative arrays are still ordered maps, so they preserve order when you push new values to them), and wondered about some comments saying array_shift is slow, so I ran a small test for the use case I was looking at.

First test is just array_shift, second test is from a comment, third test was me realizing key() points already to the first key if you aren’t using next(). All three arrays ended being identical. It does seem like the last method is 50x faster than array_shift, but there may be other caveats — I wouldn’t make any claims apart from “don’t trust comments.”


for ( $i = 0; $i < 10000; $i++ ) {
    $test_array[ "key$i" ] = $i;
$test1 = $test_array;
$test2 = $test_array;
$test3 = $test_array;

$start = microtime( true );
for ( $i = 0; $i < 1000; $i++ ) {
    $dummy = array_shift( $test1 );
echo microtime( true ) - $start, "\n";

$start = microtime( true );
for ( $i = 0; $i < 1000; $i++ ) {
    list( $k ) = array_keys( $test2 );
    unset( $test2[ $k ] );
echo microtime( true ) - $start, "\n";

$start = microtime( true );
for ( $i = 0; $i < 1000; $i++ ) {
    unset( $test3[ key( $test3 ) ] );
echo microtime( true ) - $start, "\n";
> ./test.php

> /usr/bin/php --version
PHP 5.5.9-1ubuntu4.5 (cli) (built: Oct 29 2014 11:59:10) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies

And the Vimeo news on Bloomberg

Glad to be part of this!

Filmmakers who use Vimeo will be able to caption and subtitle their videos in dozens of languages, Chief Executive Officer Kerry Trainor said in an interview. […]

Vimeo, owned by Barry Diller’s IAC/InterActiveCorp (IACI), makes most of its revenue from the 500,000-plus filmmakers who pay for access to its services, such as the captioning tools. It began, in Trainor’s words, as a “workflow platform for creators.”

Read more here:

Announcing Vimeo + Amara: Accessible videos for all

Read it on Vimeo’s blog itself.

Accessibility is a major priority for us. In January, we introduced closed captions and subtitles to the Vimeo player and now, we’ve partnered with Amara to give creators the ability to create or purchase captions and subtitles for their videos.

Amara is a non-profit subtitling service whose mission, which we support, is to make as much content as accessible as possible. To help move toward that goal, we’re thrilled to be offering their award-winning editor to all Vimeo creators for free. And for those who’d rather rely on the professionals, we’ve built a way to purchase captions and subtitles from Amara right on

Exciting times ahead for all our team at!