среда, 17 июня 2015 г.

Заметки начинающего фотографа

Вступление

 В этой записи я попытался собрать полезную информацию, которую нашел для себя на третьем месяце съемки. В первой части: своеобразная техника безопасности, советы о том, как сделать прогулку с камерой в руке приятной и безмятежной и не испортить себе настроение "на километр  вперед". А второй части пока нет, но планирую записывать туда маленькие приемчики по съемке и обработке и размещать ссылки на понравившиеся материалы.

Часть I. Про людей

1. Дороги

Старайтесь искать дороги, а не ходить напролом по траве в метр высотой, так как это опасно. Например, если вы идете вслепую, можете не заметить некоторых опасностей, таких как змей (смертельно опасно), всяких арматурин о которые можно споткнуться и разбить технику (жалко же технику), ям и колодцев (тут как повезет: от легкого испуга до сломанной шеи). Так же не стоит ходить по посевам, так как эот неуважение к труду колхозников.

2. Спецобъекты

Не снимайте железную дорогу, нефтебазы, мосты и другие объекты стратегического назначения, опоры ЛЭП, а так же частные объекты. Специфика работы тамошних сторожей и охранников такова, что вежливость они проявлять не обязаны. Вообще, даже камеру там расчехлять не советую. Мне, например, не нравится, когда мне угрожают и ведут себя как с малолетним хулиганом, у меня два диплома, как-никак. С забросами (объекты прекращенного финансирования) - иначе, но все-равно надо убеждаться в отсутствии охраны и действовать незаметно, ибо за "проникновение" на какой-нибудь полигон, по головке не погладят. В некоторых заброшенных сооружениях могут кучковаться нарики. Местные жители тоже бдительны: могут натравить ментов.

3. Уличная съемка

Люди в ЦФО не любят, когда снимают их, их детей, имущество Я, признаюсь, тоже не люблю. Поэтому: не снимайте людей, их детей и имущество. Хотите поснимать людей - отправляйтесь на какое-нибудь общественное мероприятие/митинг/праздник. Люди, идя туда "чепурятся", следовательно, для них не будет неприятностью быть заснятыми Вами. Многие даже охотно улыбаются в камеру, машут ручками и тому подобное. Альтернатива - увязаться с кем нибудь на природу/пляж/прогулку в роли фотографа или найти "модель" и договориться о съемке.

Часть II. Про съемку

1.
Со съемкой все понятно: это процесс поиска красивых или интересных объектов, выбор подходящей точки съемки, немного инструкции от камеры и вуаля. Но просто объекты смотрятся некрасиво, поэтому нужен сюжет по принципу что-то плюс что-то еще, например: озеро + дерево + контровое закатное солнце + его отражение в воде + дорога, ведущая в закат. На данный момент за чем-то подобным охочусь.

2.
Еще несколько выведенных за сезон советов:
1) не располагать основной объект съемки на переднем плане;
2) не снимать "в лоб";
3) не покидать место съемки без оценки результата (и, при необходимости, пересъемки).

Часть III. Про Developing

Данная часть разделена на несколько меньших - для каждого используемого программного средства обработки изображений. У меня есть подборка на эту тему.

0. Резервное копирование

Используйте надежную схему избыточного резервного копирования для Ваших работ, особенно исходников. Я делаю так. Снимаю. Пока снимаю, время от времени просматриваю снимки, удаляя явный брак. По возвращении домой, просматриваю снимки на камере, снова отсеивая брак и помечая (ссылка 3.0.1) то, из чего хочется сделать "конфетку", то, что имеет смысл выкладывать в Internet. Копирую файлы на жесткий диск компьютера. Удаляю с карты памяти все снимки самой старой съемки, кроме отмеченных (см. ссыл. 3.0.1). Копирую снимки с жесткого диска на съемный жесткий диск. Просматриваю снимки в последовательном порядке, обрабатываю и публикую то, что считаю более-менее не очень стыдно показывать (на моем уровне развития:)). Исходники того, что обрабатываю, копирую в облако. Результаты девелопинга - тоже (рекомендую это делать в явном виде, так как 500px, например, не позваляет песплатно скачивать свои же работы, а Google+Фото может "ужимать" снимки). Объемы облаков ограничены (максимум - 15Г), пожтому, нужно периодически сливать облачные исходники и результаты обработки на оптические носители (DVD). Аналогично, время от времени нужно просматривать жесткие диски (как "внутренние", так и переферийные) и дублировать исходники (и developed versions снимков) на DVDшники. Особенно, перед удалением их с жесткого диска (имеется в виду не съемные "винты" для вечного долговременного хранения исходников, а те, которые установлены в системный блок, так как хранить на них абсолютно все не правильно: это операционные носители, на них должны хранится используемые данные - но это тема для холивара).

1. ufraw

 Неплохая "проявлялка", запоминающая последние настройки. С легкостью заменит штатное средство, поставляемое с камерой. Имеет все необходимое для проявки и подготовки снимка к дальнейшей обработке: коррекция экспозиции (EV), баланса балого (WB), развитое устранение аберраций двумя способами и дисторсии и много чего другого. Вроде бы, этот НЛО должен дружить с gimpом, хотя у меня "из коробки" не подружился, да невелика беда: напроявлял, потом в gimpе открыл как слои и работай дальше.

2. gimp

Графический редактор для *nix и не Photoshop через wine? Это, безусловно, gimp. Кто его не знает. "Рисовалка" плюс ретушер, любимый даже подоконниками. Может работать с плагинами от ФШ, гибкий и расширяемый, обожающий планшеты и предоставляющий возможности для написания плагинов (скриптов).

3. pandora

Скрипт для gimp, предназначенный для склеивания панорам. Работает предельно просто: выкладывает панорваму или вертораму с указанной величиной нахлеста и создает градиентную маску. Дальше все руками.

4. darktable

Это такой LightRoom СПО style :) Желательно широкий монитор, на стареником пятнадцати дюймовом пользоваться этой программой - ад.

5. cinepaint

Просто интересно, что это за зверь такой, по описанию на офсайте - профессиональный инструмент.

6. Алгоритм обработки

  1. Этап нулевой (выбор, что обрабатывать).
    1. Если при съемке нужно учитывать правила построение снимка, то при выборе нужно руководствоваться общей оценкой снимка на экране монитора. Получится ли из <этого снимка> что-нибудь?
  2. Этапы 1, 2 и 3: базовый алгоритм проявки.


вторник, 9 июня 2015 г.

Установка патчей и обновление приложений FreeBSD

Вступление

Крайний раз я обновлял программное обеспечение своего компьютера на новогодних каникулах. Это обновление было для меня особенным. Во-первых, обновление операционной системы заключалось не просто в установке заплаток, а в переходе с FreeBSD версии 9.1 на 9.3. Это был для меня новый опыт. Переход на новую версию оказался простым и безболезненным. Во-вторых, при обновлении пакетов приложений выяснилось, что, так старательно рекламируемый разработчиками, GNOME 3 работать у меня не хочет. Рабочего решения я не нашел, код смотреть не захотел, на форум разработчиков обращаться застеснялся и решил, что перейду на Mate.

Вчера (8 июня 2015) решил снова обновиться. При обновлении пакетов выяснилось, что разработчики "играли" со шрифтами и чего-то поломали. В результате, я словил проблемы. Решение этих проблем у меня уже есть, не знаю, правда, насколько оно изящное. Но то, что я нашел, имеет право быть записано. На всякий случай.

Обновление

  1. Очистка локального кеша пакетов (у меня там давным-давно лежали 300MiB ненужных пакетов).
    # pkg clean
  2. Получение патчей.
    # freebsd-update fetch
  3. Установка патчей.
    # freebsd-update install
  4. Перезагрузка
    # reboot
  5. Обновление дерева портов (чтобы почитать актуальный pkg updating).
    # portsnap fetch update
  6. Просмотр инструкции к обновлению (все, что я там прочел, мне либо не пригодилось, либо не помогло).
    # pkg updating
  7. Обновление пакетов.
    # pkg upgrade
  8.  После перезагрузки я приступил к восстановлению работоспособности машины.
    # pkg clean
    # reboot

Восстановление

 1. Применение универсальной локали для запуска twm

С первой проблемой я столкнулся, когда попытался войти в систему из под обычного пользователя и у меня это не получилось: после авторизации меня снова выкинуло на экран xdm. Причины такого поведения, как правило записываются в ~/.xsession-errors. Я обнаружил там сообщение об ошибке следующего вида.
twm: unable to open fontset -adobe-helvetica-bold-r-normal-...
Решение я нашел на LinuxQuestions.org в этой статье: [SOLVED] Problems with TWM + UTF-8. Максимально сокращая всю писанину из нее, могу сказать, что проблема в том, что twm разленился запускаться с локалями KOI8-R и UTF-8. Решение: запускать его с универсальной локалью C. На картинке ниже показано, что я изменил в файле ~/.xsession. Как видите, добавилась команда LANG=C, перед запуском оконного менеджера.

2. Установка кириллического шрифта для xterm

Чтобы кириллица отображалась кириллицей, а не крякозябрами, я применил решение отсюда: Блог Eugen772 - XTerm и KOI8-R во FreeBSD, но, используя информацию из man X, сделал его универсальным для всех пользователей.
Решение заключается в установке пакета terminus-font и установке этого шрифта по умолчанию для xterm (подробнее написано в этом ответе на форуме AskUbuntu.com).
# pkg install terminus-font
# # После установки шрифта нужно добавить строку
# # FontPath "/usr/local/share/fonts/terminus-font/"
# # в раздел Files конфигурационного файла X
# # (у меня он /etc/X11/xorg.conf)
# echo 'xterm*font: -*-terminus-*-r-*-*-12-*-*-*-*-*-koi8-r' >> /usr/local/share/X11/app-defaults/XTerm

3. Универсальная локаль больше не требуется

После установки шрифта, можно вернуть ~/.xsession к исходному виду (т.е. убрать из него команду LANG=C). Иначе кириллица в заголовках окон отображаться будет никак :-)

 Проблемы

  1. При новой установке потребуется дополнительно устнавливать шрифт что-ли? Это нонсенс.

среда, 3 июня 2015 г.

Добавление комбинаций клавиш клавиатуры на примере добавления ускорителя для создания снимков экрана

Аннотация

Здесь будет продемонстрировано, какие действия нужно выполнить для того, чтобы зарегистрировать в mate новую комбинацию клавиш. Например, для создания снимка экрана.
Примечание. Вместо стандартного приложения mate-screenshot я использую приложение scrot.

Алгоритм

Открыть диалог управления комбинациями клавиш клавиатуры, используя главное меню среды mate: Система > Параметры > Комбинации клавиш клавиатуры.
Появится следующее окно.
В нем нужно щелкнуть по кнопке Добавить, в результате чего появится еще одно окошко. В него надо ввести наименование создаваемой комбинации ("Сделать снимок экрана") и команду:
scrot --exec 'mkdir -p ~/shots ; mv $f ~/shots/ ; gimp ~/shots/$f &'
Затем, в этом окошке (Дополнительные комбинации клавиш) щелкнуть кнопку Применить.
Окошко закроется, а в окне комбинации клавишь клавиатуры добавится новая строка (Сделать снимок экрана).
Нужно щелкнуть по надписи Выкл. Надпись сменится на Новая комбинация клавиш...
Теперь на клавиатуре нужно нажать клавишу Print Screen. Надпись "Новая комбинация клавиш..." должна смениться на "Print Screen".
Последним шагом нужно закрыть окно Комбинации клавиш клавиатуры.

Заключение

Теперь, при нажатии на кнопку Print Screen на клавиатуре, будет создаваться снимок экрана. Он будет сохраняться в директорию shots в домашней директории, после чего открываться в gimp'e.
Аналогичным образом можно настроить комбинации клавиш для любой команды. Некоторые примеры приведены ниже.

Дополнительно: примеры команд

1. Снимок окна или области

scrot --select --exec 'mkdir -p ~/shots ; mv $f ~/shots/ ; gimp ~/shots/$f &'
Рекомендую зарегистрировать для этой команды комбинацию Ctrl+PrintScreen, после вызова которой нужно выполнить левый щелчок по окну, снимок которого нужно сделать или выделить прямоугольную область для захвата.

При использовании "столешницы" Mate команда проще:
mate-screenshot --area

2. Разворачивание активного окна на весь экран

wmctrl -r :ACTIVE: -b toggle,fullscreen
В mate не работает штатное разворачивание окна на весь экран по F11. Однако функция полезная, поэтому я вручную зарегистрировал такую команду. Чтобы она работала, нужно удостовериться, что пакет wmctrl установлен в системе.

3. Переключение между рабочими столами

wmctrl -s 1
Эта команда переключит на второй рабочий стол. Если указать 0 - на первый, 2 - на третий, 3 - на четвертый и т.д.

понедельник, 1 июня 2015 г.

Как переформатировать внешний винчестер для использования с FreeBSD

Предыстория

Решил я прикупить, для резервного копирования исходников [цифровых фотографий] внешний жесткий диск, подключающийся через USB. Выбор пал на STDR1000200. Это Seagate'овский "винт" на терабайт, который сам переключается между версиями USB 2 и 3.

Проблема

Такие "винты" на заводе форматируют или в FAT или в NTFS. Мне достался NTFS. Типа, для "подоконников" счастье: воткнул и радуйся. Для "маков", вроде как, драйвер загружен на диск. Однако, ни Windows, ни Mac я дома не держу. Флешки с NTFS монтирую с помощью ntfs-3g или mount_msdosfs, если данные записывать не надо.

В принципе, может показаться, что все нормально: драйвер есть, автоматическое монтирование настроено, совместимость, таким образом, обеспечивается. Но, не тут-то было: скорость копирования исключительно невысока [20 NEFок (20 Meg каждая) - минут 10] из за большого количества сбоев [примерно 5 на те же 20 файлов], вызывающих ожидание таймаутов. Короче, нервотрепка.

Что, говорите? Надо было искать информацию в сети, докапываться до причин, обновить ntfs-3g (не катит, обновлял)?.. Надо было, пытался искать, даже находил некоторые идеи о том как частично закостылировать это дело. Не успел: NTFS слетела. Вот реально: пустой диск (хотя данные-то я заливал туда, гигов 5), запись делать не позволяет; потом и подключаться перестал ( я даже не чинил ;). Психанул я и решил отформатировать в "родную" файловую систему.

Результат

Вы знаете, подсоединение к рабочей станции FreeBSD внешнего винчестера, отформатированного в 165-ю систему (совместима с FreeBSD, NetBSD, 386BSD) процесс приятный: подключается самостоятельно, без костылей и сообщений о том, что том слишком большой. Примерно так же как NTFS-ный внешний винт к Windows. Копирование выполняется быстро [два с половиной гигабайта - примерно за три минуты] и без ошибок. В общем, родной формат, тут ничего не скажешь.

Только вот к компьютерам с Windows крайне не рекомендую такие диски подключать, особенно во время загрузки, так как "форточка" может принять диск с UFS2 за диск с битой NTFS и начнет его "восстанавливать" (без предупреждения!), у нее не получится, но данные профакапятся. Я уже попадался. Не допускайте, чтобы Windows проверяла тома с UFS2! Она все-равно не сможет прочитать данные с этих дисков. Я вообще не буду свой никуда кроме фряхи втыкать :)

Как отформатировать

Похоже, что шаги описанные ниже, придется выполнять для каждого нового внешнего HD. Благо, такие покупки делаются не каждый день, а процесс форматирования прост и не занимает много времени.

1. Разметка

Я провожу в интерактивном режиме, так как так безопаснее.
Команда (от суперпользователя):
# fdisk -i /dev/da1
где da1 - файл форматируемого диска (можно подсмотреть на первой консоли при подключении устройства), не ошибитесь здесь, пожалуйста (если что, я - не виноват, серьезно).
Далее я привожу мой диалог с fdisk. Ключевой момент [он один: изменение системы первого раздела с 0x07 (NTFS) на 0xa5 (UFS)] выделен синим, важное подчеркнуто, нестандартные ответы - красные.
******* Working on device /dev/da1 *******
parameters extracted from in-core disklabel are:
cylinders=121601 heads=255 sectors/track=63 (16065 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=121601 heads=255 sectors/track=63 (16065 blks/cyl)

Do you want to change our idea of what BIOS thinks ? [n] 
Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 7 (0x07),(NTFS, OS/2 HPFS, QNX-2 (16 bit) or Advanced UNIX)
    start 2048, size 1953519616 (953867 Meg), flag 0
    beg: cyl 0/ head 32/ sector 33;
    end: cyl 1023/ head 254/ sector 63
Do you want to change it? [n] y

The static data for the slice 1 has been reinitialized to:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 63, size 1953520002 (953867 Meg), flag 80 (active)
    beg: cyl 0/ head 1/ sector 1;
    end: cyl 768/ head 254/ sector 63
Supply a decimal value for "sysid (165=FreeBSD)" [165]
Supply a decimal value for "start" [63]
Supply a decimal value for "size" [1953520002]
Explicitly specify beg/end address ? [n]
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 63, size 1953520002 (953867 Meg), flag 80 (active)
    beg: cyl 0/ head 1/ sector 1;
    end: cyl 768/ head 254/ sector 63
Are we happy with this entry? [n] y

The data for partition 2 is:
<UNUSED>
Do you want to change it? [n]
The data for partition 3 is:
<UNUSED>
Do you want to change it? [n]
The data for partition 4 is:
<UNUSED>
Do you want to change it? [n]
Partition 1 is marked active
Do you want to change the active partition? [n]

We haven't changed the partition table yet.  This is your last chance.
parameters extracted from in-core disklabel are:
cylinders=121601 heads=255 sectors/track=63 (16065 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=121601 heads=255 sectors/track=63 (16065 blks/cyl)

Information from DOS bootblock is:
1: sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 63, size 1953520002 (953867 Meg), flag 80 (active)
    beg: cyl 0/ head 1/ sector 1;
    end: cyl 768/ head 254/ sector 63
2: <UNUSED>
3: <UNUSED>
4: <UNUSED>
Should we write new partition table? [n] y

2. Создание системы

Одна команда. У меня была такая:
# newfs -L photo -U -o time /dev/da1s1
где -L photo - метка системы,
-U - включение soft updates
-o time - оптимизация скорости
/dev/da1s1 - файл форматируемого раздела; я, для простоты, использовал конфигурацию на единственном разделе, таким образом, получилось отформатировать как на заводе, но только не в NTFS, а в UFS2, которая предана FreeBSD и не портит нервы при работе с ней.

Всё!