25 Фев

Японцы выпустили самую крошечную фотокамеру

Двухмегапиксельная зеркальная камера MAME-CAM придумана и собрана в Стране восходящего солнца. Ничего особенного, если не знать, что аппарат легко помещается на кончике пальца и весит всего 11 граммов.

Чудо миниатюризации делает снимки с разрешением 1600 на 1200 пикселей, сохраняет их в формате JPEG на карте памяти microSD объёмом 32 гигабайта (не входит в комплект).

Конечно, качество полученных фотографий оставляет желать лучшего, но вполне сравнимо со снимками, которые нынче делает мобильный телефон среднего качества.

Кроме того, в течение 36 минут малышка может записывать видео с разрешением 640×480 пикселей в формате AVI (звук моно, частота 30 кадров в секунду).

Чтобы опробовать «игрушечную» фотокамеру, придётся расстаться с $98.

22 Фев

Хитрости bash

Снова сегодня обнаружил в bash’е шикарные команды.
Расскажу один случай.
Не так давно я писал скрипт для автоматизации настроек новых серверов для chatroulette.com. Одной из задач было написать команду, которая создает некоторую структуру директорий для кеша проекта. А именно, скрипт/команда должна в определенной директории создать директории с именами 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 и в каждой из них тоже по 10 директорий с этими же именами (0-9).
На тот момент я сделал 3-4 варианта скрипта и остановился вот на таком:

for dir0 in `seq 0 9`; do mkdir /www/$dir0 && for dir1 in `seq 0 9`; do mkdir /www/$dir0/$dir1; done; done

Вобщем-то, в этой задаче самое хитрое — придумать кратчайший способ создания директорий от 0 до 9. В данном примере для создания директорий я воспользовался секвенцией seq. Сегодня я нашел куда более простой и понятный для этого способ. И так, показываю сразу новый вариант:

mkdir {0..9} && for dir in *; do mkdir $dir/{0..9}; done

Команда mkdir {n..m} создает директории с диапазоном имен от n до m.
В итоге, команда нехило сократилась и стала на порядок понятней даже новичкам.

UPD: Спасибо @sany, подсказал еще один шикарный способ, который, будучи очевидным, мне в голову даже не пришел :)

mkdir -p {0..9}/{0..9}