Archives for April 2006
сам себе конспиролог
25 April 2006 | HOWTO, Security, Software | 1 Comment
кстати, вот еще про снова “Криптономикон”, — достаточно большое место в повествовании занимает некая удаленная машина, где герой читает, например, свою электронную почту. и хотя переписка при этом шифруется, но вот, однако, какая всплывает проблема: существует такая программа watch (или аналогичная), которая обычно живет в каталоге /usr/sbin/ и занимается тем, что, оперируя на уровне ядра, перехватывает данные с указанного ей терминала (да, существует ряд необходимых условий, так или иначе ограничивающих сам запуск watch, но, с другой стороны, при отсутствии у главного героя физического доступа к машине, количество таких положений будет стремительно уменьшаться).
иными словами, путем несложных манипуляций можно получить у себя на экране копию экрана другого пользователя так, что он об этом не будет даже и подозревать. а единственной действенной попыткой себя от такого перехвата обезопасить будет перекомпиляция ядра операционной системы с отключением при этом поддержки snoop device, который, то есть, прекрасный, и всю информацию watch как раз и поставляет. впрочем, при отсутствии (снова, хи-хи) физического доступа к машине никакая пересборка положительных результатов все равно не принесет.
перечтение
20 April 2006 | Cryptography, Literature | 2 Comments
во-первых, это была Гибсоно-Стерлинговская “Машина различий”, где, несмотря на соавтора, особенно четко видно, что Гибсон суть именно гений мелочей, фона, аттрибутики: детализированный окружающий мир, упоминающий, однако, многое просто ради упоминания или даже бахвальства, чтобы показать дополнительный какой-то кусочек своей фантазии, чтобы удивить: “а, смотрите, что я еще вижу“. показать, впрочем, но не “выстрелить” затем, не оживить в дальнейшем. и пустой, к сожалению, сюжет — нить одна вьется только, но… но не завлекает, а даже прерывается, и не для того, чтобы соединиться затем, но просто так. плюс, мимолетный Гёдель.
в той или иной мере такая игра присутсвует и в остальных его произведениях (в последнем “Распозновании образов”, например, особенно сильно) — акцент на орнаменте, на деталях, но с провалами в самом действе. читать, то есть, интересно (как в детстве “Юный Техник”), но не увлекательно.
а во-вторых, — снова “Криптономикон”, который очень прекрасный, и не спорю, но… с маленькими такими “но”-трещинками: пинойограммы, султанат, подряды, итд. очень, двойственное, то есть, отношение получается — я пробовал уже перечитывать раньше, и по тем же причинам бросал: это хорошая нижка про математику, хорошая даже про IT и про юриспруденцию вокруг, однако, все же, эти самые “но”, которые и не улавливатюся даже окончательно — что-то просто не так, как бывает, отчего и не складываются окончательно кубики. плюс, конечно, параноя, Холокост и вновь судьба реальной Крипты — все накладывает свой отпечаток подделки. с другой стороны — очень, тем не менее, стильной и даже изящной.
а Энигма, кстати, продавалась недавно, но можно и самому так же сделать: с новомодными лампочками или почти, как раньше.
memories
20 April 2006 | Design, Hardware, Literature | 1 Comment
в старых рекламных проспектах почти всегда есть какая-то удивительная начинка, утверждающая и укрпеляющая их в уже нашей реальности, несмотря на все минувшее время. 21 грамм души или просто хороший пластик? строгие линии, возводящие изображение в некий даже абсолют, отпечатанный на тогда еще хорошей бумаге. или — подобные осколкам кораблекрушения, словно найденная детьми капитана Гранта и расшифрованная записка. словно остов корабля. или пиратский скелет — очарование былого приключенческого романа.
очень хорошие, да.
расписание на завтра
14 April 2006 | Google, HOWTO, Internet, PIM, Software | 2 Comments
вообще, конечно, писать об этом надо было раньше, дабы не упустить шанс продемонстрировать свою осведомленность, но, с другой стороны, кому она нужна? итак, как все уже знают, Google выпустил наконец Cаlendar, очень хороший, хоть и не без некоторых (пока?) lacks. но вот, что меня в самом деле, как минимум, удивило, — так это отсутсвие labels, которые, вообще-то, именно Gmail чуть ли не первыми и ввел в обиход. тем более, что на момент выхода уже был другой календарь, где это прекрасно (и удобно, и интуитивно, и понятно) реализовано. Google, впрочем, использует другой, уже почти стандартный, подход: вместо одного календаря и многих тэгов — много календарей и ни одного тэга. практически (для стандартного разделения дом — работа — магазин — мастурбация), оно ничем не хуже и столь же просто. но, совершенно понятно, не так гибко — мне, то есть, больше нравится подход 30 Boxes, чем iCal, которым я так никогда и не пользовался. из других для-кого-то-плюсов-для-кого-то-нет у Google Calendar сразу очевидны Day / 4 Days / Week views — но это, опять-таки для тех, кто привык; личный же опыт говорит, что меньше, чем с месячной сеткой мне работать неудобно. кроме этого, у Google Calendar нет списков задач, более сложная система ввода события (нельзя указать все параметры в одной строке) и нет аггрегации других ресурсов — тот же свой блог, например, (или даже другие) очень удобно видеть среди остального расписания, поскольку все онo, конечно, взаимосвязано.
списков задач, кстати, нет и у 30 Boxes, что порядком раздржает, поскольку приходится использовать либо другой какой–нибудь сервис (я пользуюсь собственной wiki), либо искать и вовсе уж интересные решения.
кстати, о последнем — разговор про плоский текст заходит далеко не в первый раз (ага–ага), и каждый раз меня своей элегантной простотой очаровывает. тем более, что инструментарий, кочено, превосходит любой возможный: делайте, например, так или так; еще есть Wiki-mode в MicroEmacs или в eEmacs, Info-mode в Emacs, да и grep, кстати, умеет гораздо больше, чем может вначале показаться. плюс, сочетание других очевидных вещей всегда тоже обворожительно:
grep @phone todo.txt | sort | mail -s "to call" yourphonenumber@teleflip.com # или, если вы не в Северной Америке, то укажите адрес, # предоставленный вам вашим GSM-провайдером
вспомнить все два
11 April 2006 | HOWTO, Internet, Software | No Comments
продолжая про историю и поиск, надо добавить вот что: один из плюсов server-based IM заключается как раз в хранении history на этом самом сервере и оттого в продолжении разговора без заглядывания куда-либо или глупого “напомни, о чем это я тебе говорил?”. заменяя же содержимое на пустоту, мы как раз историю и удаляем, а это плохо, конечно — и если в irssi последствия еще не так очевидны (поскольку лог и буфер между собой не связаны), то в centericq аналогичное движение как раз к удалению всей переписки и приведет.
поэтому возможны следующие варианты:
- либо не удалять содержимое history вообще (и, следовательно, каждый раз полностью дублировать отсылаемую информацию);
- либо написать простой фильтр, удаляющий письма в почтовой папке по количеству (не больше N) или по дате (не старше M);
- либо оставлять некоторую часть переписки (10, например, последних фраз) и дублировать при пересылке только их;
- либо не дублировать ничего и сохранять историю полностью;
- либо не дублировать ничего и сохранять только часть переписки.
к слову сказать, интересен только предпоследний вариант, а я — противный зануда. и вот почему: поскольку засорять мировой интернет и собственный mailbox дублями мне не позволяют религиозные убеждения, а Gmail не предоставляет возможности писать фильтры для лейблов (и другие клиенты меня на данном этапе не особенно волнуют), то остается середина, которая, впрочем, совершенно не золотая:
# оставляем последние 10 сообщений. они дублируются при пересылке ('малая кровь') # одно сообщение занимает 6 строк find ~/.centericq -iname "history" -exec bash -c "tail -60 {} > tmp && mv -f tmp {}" \\;
можно, кстати, и с помощью sed и “sliding window” technique, но tail будет быстрее, да и всяко проще. хотя и не так интересно.
но — дальше: FiL совершено правильно говорит, что это фу, плохой тон и вообще ошибочно в корне. и он прав, лучше так:
# на удаленной машине хранится вся история, # однако пересылаются только дополнения ('доступная кровь') # одно сообщение занимает 6 строк find ~/.centericq -iname "history" -exec bash -c "if [ -f history.old ]; then mail -s {} конечный@адрес.com < tail -n +$(($(grep -c . history.old)+1)); else mail -s {} конечный@адрес.com < cat history; fi; cp history history.old" \\;
или так:
# на удаленной машине хранится история за 1+1 пересылку, # пересылаются только дополнения ('сложная кровь') # одно сообщение занимает 6 строк find ~/.centericq -iname "history" -exec bash -c "if [ -f history.old ]; then tail -n +$(($(grep -c . history.old)+1)) > history.diff; else cat history > history.diff; fi; mail -s {} конечный@адрес.com < history.diff; cp history.diff history.old; mv -f history.diff history" \\;
или еще как-нибудь -- но завтра.
вспомнить все
9 April 2006 | HOWTO, Internet, Software | 1 Comment
вообще, конечно, что хорошо в совместном использовании Gmail и Google Talk — так это то, что и почтовая история, и логи IM хранятся в одном месте, отчего поиск чего-нибудь забытого максимально упрощается.
ну, а поскольку я пользуюсь centericq и irssi, то мне по умолчанию остается только grep в консоли — да еще и не в одной, в а трех разных, поскольку электропочта, ICQ и IRC живут на разных машинах. впрочем, если вернуться к Gmail, куда вслед за письмами по расписанию отсылать эти самые логи, то и искать затем можно будет одним запросом по всем сразу источникам. то есть, сделаем так:
find ~/.irssi -iname "*.log" -exec sh -c "mail -s {} конечный@адрес.com < {}" \\;
однако, для того, чтобы не дублировать информацию, было бы вполне логично обнулять отосланные логи -- но удалить / создать их просто так не выйдет, поскольку программе при этом надо будет сказать, что записывать дальше надо уже в другой файл. отчего лучше заменить содержимое на пустоту:
find ~/.irssi -iname "*.log" -exec tcsh -c ":> {}" \\; # или -exec bash -c "> {}" \\;
после чего аналогично поступить и с историей в centericq, а сами команды запомнить в crontab.
за неделю
3 April 2006 | Cinematograph | No Comments
я посмотрел 3 кинофильма: один плохой, один хороший и один красивый. вначале, то есть, оскароносная “Горбатая гора”, где изумительный пейзаж, но непонятные персонажи, и между движениями героев не видно смысла; отдельные несвязанные фргаменты только, словно осколки мозаики, которую почему-то надо складывать самому, но тебя при этом постоянно отвлекают надуманными и ненужными эпизодами, что проносятся по фильму с тем, чтобы никогда больше не всплыть в дальнейшем. где нет ни любви, ни боли, ничего, но периодические случки и одинокая попытка оказаться Вендерсом-фотографом. так одновременно заведенные механические игрушки движутся по каким-то своим орбитам, время от времени лишь друг с другом сталкиваясь — так и кино: про игрушки, но не про любовь.
потом “Damage”, который словно в противовес вышесказанному смог как раз передать кусочки мгновений, что так сильно вдруг тебя изунтри разрывают, соединяя в то же время в нечто иное, наделенное кем-то еще, кого любишь; связывая навсегда, — это обычная история, у нее предсказуемый финал, и вокруг тени сопутствующих посредственных людей-актеров. но здесь так же и прекрасный Джереми Айронс, и когда-то уже встреченная мною Жульетт Бинош — а вместе как раз это чудо соединения. и Айронс, повторю, просто гений.
третьим же (в пику первым двум) оказался фильм Френсиса Форда Копполы “Rumble Fish”, где ранний Микки Рурк и такой же Мэтт Диллон, а еще Дэннис Хоппер или тайком Николас Кейдж и Крис Пенн. и где, несмотря на все это, удивительное не в актерах, но как раз в режиссере — играющим со светом, с перспективой, с компановкой и c собственно кадром. результат получается красивый и чем-то чарующий, — словно black’n’white волны о волнорез судьбы. словно блестящий хром ночного мотоцикла.
окно
2 April 2006 | HOWTO, Software | 1 Comment
помню, когда я только знакомился с X Window System, я все время удивлялся: как же так, ведь те же терминалы, только в окнах, и минимум полноценных графических приложений — в чем, то есть, удобство? сейчас каждодневно еще веселее — обычно у меня открыто 3-4 разных терминала, не говоря уже о количестве сессий в каждом из них. или — почему не говоря?
программа screen, кстати, — это как раз такой вот, говоря проще, умножитель экранов. иными словами, screen позволяет открыть несколько сессий в рамках одного соединения, и, что особенно важно, сохранить их в открытом состоянии даже после разрыва этого самого соединения. то есть, можно, например, постоянно держать запущенными на удаленной машине какие-то особенно важные для меня процессы, время от времени лишь к этой самой удаленной машине присоединяясь. так и поступаю, что уж: про centericq я уже писал, а irssi оказалась ничем не хуже. говоря же вообще про насторйки, можно иметь ввиду следующее:
# настройки visual bell vbell on vbell_msg "knock, knock" # автоотсоединение консоли autodetach on # отключение сообщения при запуске startup_message off # увеличение буфера defscrollback 1000 # проверки оболочки shell -$SHELL # установка терминала term xterm # установка управляющей клавиши (` вместо Ctrl-a) escape `` # описание строки статуса hardstatus alwayslastline "%{wb}%-w %{wr}%n %t %{wb}%+w %=%H | %c | %d-%m-%Y" # назначение клавиш F11 и F12 для последовательного переключения сессий bindkey -k F1 prev bindkey -k F2 next # сессии, открываемые при запуске screen -t 'ICQ' 1 screen -t 'IRC' 2 screen -t 'Shell' 3 screen -t 'Shell' 4 screen -t 'Shell' 5 screen -t 'Midnight Commander' 6 # выбор активной сессии (вообще, первой сессией screen по умолчанию делает нулевую, # что достаточно misleading -- поэтому я использую, в том числе, и свою нумерацию) select 1