Журнал «Компьютерра» №43 от 22 ноября 2005 года, стр. 22

Практические занятия

Есть каталог с фотографиями. Требуется повернуть каждое изображение в соответствии с положением камеры при съемке (некоторые цифровые фотоаппараты записывают информацию об ориентации снимка в EXIF-данные JPEG-файлов), а также изменить размер на 800х600.

Для работы с EXIF нам потребуется пакет jhead, а для изменения размера изображений - функция convert из набора инструментов ImageMagick. Заклинание для решения всех наших проблем выглядит следующим образом:

mkdir output; for FILE in *.jpg; do jhead -autorot “$FILE“; convert “$FILE“ -resize 800x600 “output/$FILE“; done

Несмотря на то что эта длинная команда пишется в одну строчку, она представляет собой полноценную мини-программу. В ней есть даже цикл (участок между do и done), перебирающий все jpg-файлы в текущем каталоге (их имена записываются в переменную $FILE). Авторы jhead уже позаботились об автоматическом повороте картинок (достаточно указать ключ -autorot), а команда convert умеет не только преобразовывать практически любые типы графических файлов в любые другие, но и обладает недюжинными познаниями в области обработки изображений, так что изменить размер снимка для нее - пара пустяков.

Оповестить пользователя звуковым сигналом о том, что появилась связь с Интернетом.

while [ -z “`ping -c 1 computerra.ru - grep 1\ received`“ ]; do sleep 1; done; aplay “`locate redalert.wav`“

В переводе на русский язык, эта строчка означает приблизительно следующее: если до сервера computerra.ru достучаться не удалось, нужно подождать одну секунду и повторить попытку; затем найти файл redalert.wav и проиграть его. При этом используются многие хитрости языка bash: обратные кавычки, перенаправление потоков ввода-вывода и неявный вызов команды test с помощью квадратных скобок, но подробный разбор синтаксиса остается за рамками данной статьи.

Война миров

Статья «Заметки поселенца» описывает опыт перехода на Linux отдельно взятого пользователя, еще при жизни под Windows уличенного в пагубном пристрастии к клавиатурным интерфейсам и командной строке. Дабы несколько приблизить эту публикацию к реальной жизни, мы решили рассказать и о другом взгляде на вещи. - И.Щ.

Спорить о преимуществах и недостатках операционных систем - занятие неблагодарное, особенно если речь идет о Linux и Windows. Несмотря на все аргументы сторон, последнее слово остается за сухими цифрами статистики - а цифры эти далеко не на стороне свободной ОС. И дело здесь не в том (или не только в том), что у Windows есть какие-то явные и неоспоримые преимущества, а в том, что находятся люди - очень много людей - которых устраивает именно эта система. Есть ли основания предполагать, что эта ситуация изменится в какую-либо сторону в ближайшие годы?

Когда речь заходит о сравнении Linux и Windows, одни говорят, что Windows более дружественна к пользователю, другие утверждают, что и Linux не менее дружественна. Так что же, Windows - это некая «массовая», доступная операционная система, в то время как любой «профессионал» неизбежно должен оценить достоинства Linux? Впечатление это хоть и имеет под собой основания, по сути своей ошибочно. Есть немало профессиональных программистов, которые предпочитают именно Windows, и даже готовы долго и со знанием дела ругать «свободную ОС» и доказывать ее нежизнеспособность. С другой стороны, Linux сейчас становится все более «дружественной», и освоение многих ее дистрибутивов не представляет особой сложности даже для человека, неискушенного в программировании.

Журнал «Компьютерра» №43 от 22 ноября 2005 года - pic_44.jpg

Так в чем же дело? Почему защитники Windows так любят говорить о простоте и доступности этой ОС, а сторонники Linux всегда готовы упомянуть о перспективах, открывающихся при использовании командной строки и языка bash? Есть бородатый анекдот, в котором разные операционки сравнивают с самолетами. Пересказывать его здесь я не стану, а вот метафорой воспользуюсь. Windows похожа на комфортабельный, надежный авиалайнер, в котором пользователь является пассажиром. А что же Linux? Linux не менее (или «почти не менее») комфортабельный и надежный авиалайнер, вот только пассажир в нем может при желании сесть в кресло пилота. Это главное отличие. Кто-то, быть может, скажет, что это бесспорный плюс. И будет не совсем прав.

Продолжим наше сравнение. Когда самолет попадает в воздушную яму, у пассажира есть только одна возможность - перекреститься и прочитать молитву, не слишком надеясь, что ему это поможет, но будучи твердо уверенным, что и вреда не принесет. Пилот же не может позволить себе такой роскоши. Он должен что-то предпринять, и результаты его действий могут быть катастрофическими. Человеку, как известно, свойственно ошибаться, а еще человек не любит, когда его ошибки приводят к неприятным для него последствиям. И, по-видимому, из-за этого большинство людей летает на самолетах именно в качестве пассажиров.

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

А что же программисты? Они-то как раз и есть мастера, разве не так? Так, да не совсем. Даже для программистов компьютер нередко остается только инструментом - инструментом, которым они владеют лучше других людей. Разумеется, чем чаще человек использует какой-то инструмент, чем больше набивает руку, тем больше шанс, что он захочет как-то изменить его, подогнать под себя. Но так бывает не со всеми, и зависит это не столько от инструмента, сколько от самого человека.

Главная черта Linux, которая далеко не всем по душе, - присущая этой ОС идея незавершенности, сквозящее всюду приглашение к сотрудничеству. Если Windows встречает пользователя яркой, рекламно-броской и совершенно непроницаемой оболочкой, то Linux целиком состоит из приоткрытых дверей, люков и форточек, откуда непрерывно доносится гул и равномерное постукивание. И попавший сюда человек либо вскоре сбежит и вернется к глянцевой тишине Windows, либо - рано или поздно - его одолеет любопытство, и он начнет в эти двери заглядывать, превращаясь из простого пользователя в разработчика. Windows не самое лучшее, но простое и, что важнее всего, готовое решение. Linux - дорога для тех, кого оно не устраивает.

ТЕХНОЛОГИИ:Не лает, не кусает: Криптографические решения для всех и для каждого

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

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

вернуться
вернуться