Archives for August 2006
никто не узнает
22 August 2006 | Cryptography, Google | 3 Comments
заодно с “Понтификом” вчера так же наткнулся и на другое интересное: можно, оказывается, с помощью излюбленого Fx и Greasemonkey добавить в Gmail поддержку шифрования писем. реализовано такое дополнение, как очевидно вытекает из условий, на Javascript, а используемый алгоритм — это один из вариантов шифрования открытым ключом, RSA, что, конечно, совершенно замечательно.
вообще же, реализации таких алгоритмов именно на Javascript хороши как раз тем, что с легкостью встраиваются в что-нибудь уже существующее. так, скажем, продолжая тему, кроме почты можно закодировать еще и сообшения на собственной страничке — только в этот раз используется шифрование индивидуальным ключом, а именно — AES. который в таком случае может быть и лучше — хотя бы потому, что при использовании закрытого ключа дешифрация выполняется быстрее, чем с открытым.
одним словом, интересно; люблю такое.
крипто-карты
21 August 2006 | Cryptography | 1 Comment
интересны в “Криптономиконе” особенно те пракические кусочки-советы, что в самом деле можно даже испробовать претворить в жизнь. ровно так и с упомятнутым в романе “Понтификом”, больше известным, как алгоритм кодирования “Пасьянс”, — первым криптостойким алгоритмом, для использования которого необходима лишь колода карт. в данном, правда, случае, авторство не Стивенсоновское, а (оно и понятно) Брюса Шнайера, отчего не хуже, но совсем наоборот (ха, еще бы).
однако на поверку есть и недостатки — это и требование не менее секретного обмена уникальными колодами / ключами, и, собственно, их неповторимость (другими словами, имея N зашифрованных сообщений, прийдется так же хранить N использованных колод / ключей). плюс, говоря уже про сам алгоритм, оказывается, что и погрешность тоже существенная присутствует (CPRNG stands for Cryptographic Pseudo-Random Number Generator).
что, впрочем, не отменяет ни удобства (в определенных условиях), ни устойчивости. ни, уж конечно, с интересом потраченного времени.
игрушки
21 August 2006 | Personal, Software | No Comments
совершенно замечательные, кстати, Code Snippets, где ежедневно можно найти что-нибудь интересное, хоть чаще и не там (или не там), где хочется — но все равно интересно, эдакий Code Of The Day; нравится очень и желаю еще.
заодно спасибо и Алану, подсказавшему $_server['request_uri']
, которую я успешно тут же задействовал. ерунда, конечно, но стало чуть логичней, что приятно.
а завтра — на работу.
ля-ля-фа
20 August 2006 | Music | No Comments
вначале — усталый Curent 93 с “I Am Black Ship”. нет, понятно, что все время откровением быть невозможно — да никто и не сомневался. но голос лишен совсем уже всякого, и если раньше eps скажет, что
<...> цепляет и резонирует, уводит вглубь – совсем вглубь – основательно. А добавленное безумие растворяет все существовавшие связи, так что даже твой собственный мир сильно расплывается – вот, хорошее слово, – расплывается, yes.
то теперь только слабые изнутри толчки — буквально лиша пара: так пробивается кто-то робкий наружу, навсегда уже почивший; пробивается, зная, что и дороги больше нет, и сил давно уже тоже.
потом Duran Duran с каким-то сборником от EMI — и тоже словно из последних сил, когда все еще стараешься оказаться на празднике, но то ли праздник давно отшумел, то ли даже и позвать тебя умышленно забыли. смешно, конечно, чем-то наивно, и так неискренне весело. хотя Wild Boys все равно замечательная, да и Union Of The Snake тоже.
а еще в перерывах и ночью — Coil (с первого Unnatural History по третий). и бескомпромиссный Kraftwerk, который все равно давно и навсегда всех лучше.
рассказ про доступ
20 August 2006 | Google, HOWTO, Software | 1 Comment
собственно, этим претензии, конечно, не исчерпываются, но только начинаются: ничуть не меньше, чем из-за отсутсвия нормальной поддержки SSL, страдаю я и без IMAP4. а учитывая, что Gmail давно уже не бета, шансы на такое дополнение и вовсе стремятся к нулю (нежелание Google, впрочем, понятно, хоть от этого и не легче).
однако, к счастью, кое-что придумать все же можно — так, установив дополнительный модуль для Perl GMail::IMAPD, можно с легкостью (используя описанный в странице man пример) настроить транспорт между гуглопочтой и любимым почтовым клиентом, подерживающим столь желанный IMAP4 — скажем, как раз, в связке с Mail.app. важно только взять GMail::IMAPD либо уже в виде pkgsrc, либо собственоручно применить патч, исправляющий проблему с авторизацией.
впрочем, mutt у меня так и не заработал, хотя про настройку IMAP4 я вспомнил, и присоединиться успешно получилось — однако, лейблы дальше, хоть и были видны, но перейти по ним не удалось, да и почта в собственно Inbox просто не отобразилась (у The Bat!, кажется, были схожие проблемы… правда, точно уже не помню).
можно еще забирать почту с помощью fetchmail, после чего уже отдавать ее mutt… или и вовсе использовать хоть ограниченную, но все же поддержку POP3 в самом mutt — но это значит, что хранить почту прийдется локально, чего мне совершенно не хочется. так что, будучи в консолях, использую для доступа к Gmail (ха-ха, никто не поверит) elinks. что уж там…
по секрету
20 August 2006 | Google, HOWTO | 2 Comments
не устаю, кстати, удивляться тому, насколько Google не хочет любить своих собственных Windows-пользователей, — поскольку и Gmail Notifier, и Google Talk до сих пор продолжают вести себя абсолютно беспардонно и действовать без использования SSL (равно почта и jabber). при этом все возможности для таки шифрованных обращений к этой самой гуглопочте налицо:
- во-первых, по этому адресу можно найти Atom-feed over SSL с информацией о новых почтовых сообщениях;
- во-вторых, любой POP3-checker, естесственно, сможет проверить Gmail на предмет новых сообщений с испольованием POP3 over SSL;
- в-третьих, наконец, даже расширение для Firefox умеет работать с SSL;
- и даже тот же самый Gmail Notifier for Mac OS X с SSL знаком, отчего и успешно использует — использует, между прочим, не только с почтой, но и с календарем, что под Windows существует только в виде опять-таки third-party расширения для Fx.
так какого же, право слово, черта и доколе?
шайбу!
20 August 2006 | Sport | No Comments
а еще — продолжаю дальше прозябать в напряженном спортивном ожидании: победим или нет? коротая эти самые часы между играми (или, что вернее, между трансляциями) выбираю и смотрю замечательное из старого — матчи полностью мелькали на различных торрент-трекерах, но такими осколками тоже можно.
одним словом, пью гиннесс, что уж тут.
клац-клац
20 August 2006 | Hardware, HOWTO, Software | 1 Comment
война тем временем идет не только не Ближнем Востоке, но и против клавиши Caps Lock — оно, впрочем, и понятно: удобства никакого особенного она не придает, но место совершенно бестолково занимает. отчего бы, то есть, не заменить ее на Control, как оно было раньше (да и в emacs удобнее). сделать это можно и руками, и с помощью специальных утилит — используя последнюю, кстати, переназначил еще и пару клавиш для Apple Keyboard, которой сейчас пользуюсь в Windows, ибо лучше клавиатуры для меня нет и не было — Eject, правда, так и не заработал, но здесь я обычно все равно диски вынимаю в FAR Manager, нажимая Delete на собственно носителе.
заодно потом в очередной раз углубился в клавиатуры вообще — лучше всех, конечно, Space Cadet keyboard, но и у Amstrad CPC хорошая и ностальгично смешная.
впрочем, сейчас их даже больше разных, чем раньше — вот хотя бы новомодная Das Кeyboard, которую попробовать тоже хочется.
а еще скучаю по клавиатурам старых терминалов — из университетской библиотеки — с 24 функциональными клавишами и модификатором Meta. они, полагаю, назывались как раз MIT computer keyboards, и теперь такую уже совсем не достать… замечательного, кстати, цвета хаки, да.
Monkey’s Audio, take 5; FLAC, take 1
8 August 2006 | Hardware, HOWTO, Software | 3 Comments
между тем, случайно выяснилось, что дела с прекрасным APE ничуть не лучше и под линуксом, хотя уж тут-то я даже и не сомневался в повсеместном счастье.
так оно, впрочем, и бывает — разбираться, то есть, конечно можно: почему, например, только один-единственный GStreamer понимает Monkey’s Audio? и почему он это делает плохо? и прочая-прочая еще — выяснять, конечно, можно, но очень уж скучно… да и без дрязг идеологических там не обошлось.
поэтому лучше, во-первых, слушать APE с помощью wxMusik, который GStreamer не использует, или, во-вторых, перекодировать во FLAC, который тоже сжимает без потерь, да и вообще ничем не хуже, а наоборот — и вовсе превосходен: это и межплатформенная поддержка различными программными плеерами, и всевозможными домашними стерео-системами, и car-audio, и другими portables, которые, понятно, наиболее важны — так, среди них и моя неразделенная любовь Rio Karma, и вполне даже самые популярные iRivers или iPods (с альтернативной прошивкой, которая вдобавок умеет еще и gapless playback вместе с customizable crossfading).
так же, кодировать во FLAC ничуть не страшась можно даже Super Audio CD, поскольку FLAC умеет multi-channel — в отличии, скажем, от.
и только ситуация с iTunes по-прежнему плоха: воз, конечно, с места сдвинуть пытались, но (как всегда) очень недолго, отчего и по сей момент он все там же — как бы там ни было, однако, но под Mac OS X слушать FLAC можно с помощью Cog, и уж значительно спокойней себя при этом чувствовать — для чего ниже и расположен скрипт, посвященный как раз такой (APE -> потрековый FLAC) трансформации:
#!/bin/bash # # no parameters required # # by default filenames consist of track numbers only (i.e., 01.flac, 02.flac, etc) # you can use 'rename' option to rename files according to titles in a .cue-file #set main values APEFILE=$(find . -iname "*.ape") CUEFILE=$(find . -iname "*.cue") TITLES=$(cueprint -t %n.%t= $CUEFILE) #convert to wav (shnsplit not always cat split .ape) mac $APEFILE $APEFILE.wav -d #split wav file cuebreakpoints $CUEFILE | shnsplit $APEFILE.wav #change files names (depending on request) ((i=1)) IFS="=" for waves in $TITLES do if (( i < 10 )) then zz="00" && z="0" fi if ((i >= 10 && i < 100 )) then zz="0" && z="" fi if ((i >= 100 && i < 1000 )) then zz="" && z="" fi if [ "$1" = "rename" ] then mv split-track$zz$i.wav $z$waves.wav else mv split-track$zz$i.wav $z$i.wav fi ((i++)) done #rm big .wave/.ape files rm $APEFILE.wav rm $APEFILE #encode & verify rest .waves to .flacs find . -iname "*.wav" -exec flac {} \\; #rm rest .waves rm *wav #rm .cue rm *.cue #exclude '.wav' from resulting filenames #(if needed -- i do not remember :)) for f in *.wav.flac; do newname=${f%.wav.flac}.flac mv -i "$f" "$newname" done