mac os x lion: скриншот выбранного окна

Вот такая вот мощнейшая комбинация, потом нужно будет выбрать окно которое будет снято
Cmd + Shift + 4 + пробел

Mysql: как удалить таблицы по префиксу

Как вариант генерим строку запросов
SELECT GROUP_CONCAT('DROP TABLE ', table_name, ';' SEPARATOR '') AS statement 
FROM information_schema.tables 
WHERE table_name LIKE 'prefix\_%';
В результате получим строку из кучи запросов на дроп таблиц с заданным префиксом. Результат проверяем (на соответствие таблиц целевым) и полученный запрос применяем к базе.
В случае, если целевых таблиц очень много — нужно помнить про вот этот нюанс (group_concat_max_len).

Как посчитать количество строк в файлах

Пример рекурсивно ищет файлы с расширением .php в выбранной директории, читает их и считает в них строки.
cd ~/projects/project
find . -type f -name *.php -exec cat {} \; | wc -l

Zend Framework 2: Paginator example

Собственно ничего особенно сложного нет, описано все здесь. Мой пример в общем ничем не уникален, использует Null адаптер, который позволяет передавать в конструктор пагинатора готовое количество записей для расчета массива данных для пагинации.
use Zend\Paginator\Paginator;

// $itemsQuant - общее кол-во элементов для просмотра
$paginator = new Paginator(new \Zend\Paginator\Adapter\Null($itemsQuant));
$paginator->setCurrentPageNumber($currentPage);
$paginator->setItemCountPerPage($pageSize);
$pages = $paginator->getPages();

$pagination = array(
    'previous' => $pages->previous,
    'next' => $pages->next,
);

var_dump($pages);
Конструкция на мой взгляд перегруженная, но уж как есть. Я только начал работать с ZF2, постараюсь не лениться и собирать здесь интересные и ценные по возможности заметки.

Как загрузить файл jQuery $.ajax

Задача тривиальная, но как-то сумбурно пока гуглится. Много разных решений наковырял. Суть в том что нам нужно не перезагружая страницу отправить на сервер файл (и любые другие параметры в комплекте), почитать что нам напишут в ответ и какую-то реакцию показать пользователю. Пример ниже для одного файла, очевидно если у инпута выставлено multuple="multiple" то по массиву файлов можно будет пробежаться и так же все их добавить в запрос.

В html
<input type="file" id="imgFile" />
В скрипте
var fd = new FormData();
fd.append('id', '123');
fd.append('type', 'one');
fd.append('img', $('#imgFile')[0].files[0]);

$.ajax({
  type: 'POST',
  url: '/url/to/action',
  data: fd,
  processData: false,
  contentType: false,
  dataType: "json",
  success: function(data) {
    console.log(data);
  },
  error: function(data) {
    console.log(data);
  }
});