HOWTO Category Archives
тайком и украдкой
30 August 2010 | HOWTO, Software | No Comments
во-первых, доступ к записям Keychain с легкостью можно организовать прямиком из командной строки: вот так. плюс, если у вас Mac OS X 10.4 (или по каким-нибудь причинам не работает первое решение), вот так.
дальше, раз пароли уже у нас в руках, то почему бы не написать скрипт с их использованием? например, для проверки новой почты:
NUMBER=$(curl -u USERNAME:$PASSWORD --silent "https://mail.google.com/mail/feed/atom" \
| grep fullcount | sed 's/<[^<>]*>//g')
case $NUMBER in
0) exit 1 ;;
[1-9]*) /usr/bin/afplay alarm.mp3 ; exit 2 ;;
*) # Do nothing; continue with next command
где USERNAME — это имя пользователя, а $PASSWORD — пароль, взятый из Keychain одним из описанных выше способом.
или для запуска mutt: в .muttrc следует добавить две опции:
set imap_pass = `/path/to/your/script.sh` set smtp_pass = `/path/to/your/script.sh`
а собственно скрипт, после обращения к Keychain, должен состоять всего из одной строки:
echo $PASSWORD
в итоге же и пароль в открытом виде нигде не прописан, и вводить его руками не надо.
google improved
10 August 2010 | HOWTO, Software | No Comments
а вот и еще один консольный инструмент — интерфейс для чтения сообщений из Google Reader в Vim. выглядит феерично — ни тебе тегов / каталогов, ни картинок, разумеется. однако, с другой стороны, подкупает именно такая вот аскетичность — иными словами, я этот скрипт все-таки[1] установил[2][3].
–
[1] — использует HTTPS
[2] — Vim, идущий в комплекте с Mac OS X (/usr/bin/vim), почему-то не сообщает о себе, что он ‘mac’, в связи с чем не работает открытие ссылок. для того, чтобы это исправить, просто замените оператор ветвления:
if has('win32')
silent! exec "!start rundll32 url.dll,FileProtocolHandler ".escape(b:url ,'#')
elseif has('mac')
silent! exec "!open '".escape(b:url ,'#')."'"
else
call system("x-www-browser '".b:url."' 2>&1 > /dev/null &")
endif
на единичную директиву:
silent! exec "!open '".escape(b:url ,'#')."'"
[3] — еще один скрипт в помощь: отправляет текущий буфер Vim по указанному адресу электронной почты с помощью Gmail
Gmail, Mutt & GPG
7 July 2010 | HOWTO, Software | 2 Comments
всегда не хватало поддержки GPG в Gmail. ну, а поскольку обычный клиент повсюду с собой не возьмешь, то решил настроить Mutt[1] на удаленной машине — беглое описание инсталляции можно прочитать здесь, а исправленный конфиг взять тут — вот список дополнений[2]:
- во-первых, совершенно не нужна папка [GМail]/Sent Mail:
set record = "+[GMail]/Sent Mail"при использовании SMTP от Gmail письмо, отправленное из Mutt, в любом случае попадет в общий каталог All Mail (где так же обработается всеми соответствующими фильтрами)
- во-вторых, подкорректировал настройки конфиденциальных данных (в частности, если не указывать пароль, то Mutt сам спросит вас о нем):
set imap_user = "YOUR-GMAIL-ID" set imap_pass = "" set folder = "imaps://imap.gmail.com:993" set smtp_url = "smtp://YOUR-GMAIL-ID@smtp.gmail.com:587/" set smtp_pass = "" set from = "YOUR-GMAIL-ID@gmail.com" set realname = "YOUR-REAL-NAME"
и настройки проверки почты:
set imap_check_subscribed set mail_check = 60 set imap_keepalive = 300 set timeout = 0
- описал еще пару макросов:
macro attach W
/Users/s/Desktop/ y "save attachements" macro index,pager c " " "compose a new mail" macro index,pager gt " =[Gmail]/Sent Mail " "go to sent mail" macro index,pager gs " =[Gmail]/Starred " "go to starred messages" macro index,pager gl " ?/" "go to label..." macro index,pager go " " "go to..." - настроил поддержку вложений (в том числе и с помощью mailcap):
set implicit_autoview = yes set mailcap_path = "~/.mutt/mailcap" alternative_order text/plain text/html * auto_view text/html
- сделал кое-что по мелочи:
my_hdr X-Disclaimer: Sent from my Mutt my_hdr X-GPG-Key-Server: http://pgp.mit.edu my_hdr X-GPG-Key-FingerPrint: # use 'gpg --fingerprint key-id' to put your fingerprint here <...> set sig_dashes = yes set signature = "~/.mutt/signature" <...> set history = 1000 set history_file = ~/.mutt/history set save_history = 1000
- и, наконец, добавил GPG (основные настройки приведены здесь):
<...> set pgp_autosign = yes set pgp_sign_as = 0x # put your public key-id here set pgp_autoencrypt = yes
дальше остается запустить GPG и сгенерировать пару ключей. после чего указать ID публичного ключа в .muttrc, как показано выше, а затем сохранить ключи своих респондентов — и тогда наконец-то можно будет начать оживленную переписку.
–
[1] — всегда любил текстовые почтовые программы: здравствуй, FidoNet; приветствую тебя, UUCP.
[2] — рекоммендую так же заглянуть сюда и сюда.
заряд на весь день
27 November 2009 | HOWTO | No Comments
меня всегда подкупал сарказм:
Dear Simon,
Disregarding the fact that you have still not paid me for work I completed earlier this year despite several assertions that you would do so, I would be delighted to spend my free time creating logos and pie charts for you based on further vague promises of future possible payment. Please find attached pie chart as requested and let me know of any changes required.
Regards, David.
картинки и дальнейшая переписка — по ссылке; очень хорошие.
via.
мыши перегрызли оптоволокно
18 November 2008 | HOWTO, Internet, Software | No Comments
для того, чтобы наконец прекратить с завидным постоянством автоматически щелкать одни и те же сайты, надо воспользоваться замечательным рецептом:
javascript:if(confirm('Are You Sure?')){document.location='https://www.google.com/reader';}
сортировка
12 November 2008 | Google, HOWTO | 1 Comment
если у вас тоже безумно много лейблов в гуглопочте, а вспомогательный скрипт Gmail Unlabelled уже давно, оказывается, не работет, то надо сделать вот что:
- установить старую версию Gmail Unlabelled;
- в Gmail переключиться на Older version;
- перейти по метке Ulabelled;
- скопировать критерий поиска;
- переключиться в Newer version;
- в Settings перейти на закладку Labs и включить Quick Links;
- вставить из буффера обмена критерий поиска;
- нажать Add Quick Link.
да, все новые лейблы прийдется добавлять руками, а затем опять сохранять ярлык в Quick Links. но хотя бы не надо возиться с уже существующими.
так же эти ссылки подойдут, например, для ускоренной концетрации внимания (is:unread + опциональный -label:inbox), для массированного удаления хлама (has:attachment) и для хоть какого-то GTD. правда, люди умные используют их, вестимо, еще проще.
добавлено: нет, не все так хорошо, как хотелось бы.
смотреть в будущее
22 October 2008 | HOWTO, Software | No Comments
для того, чтобы увидеть прогноз погоды на своем десктопе, можно немного изменить уже давно существующее решение:
#!/usr/bin/env perl
# Grab all the lines and put in an array
@w = <>;
# Keep only certain lines for the current conditions
@t = grep /^ +(Temperature \\d|Wind|Relative|Weather|Sky)/, @w;
# Convert and modify existing values
for (@t){
s/(\\d+) +MPH/int($1*0.44704)." m\\/s"/e;
s/\\((\\d+ KT)\\)//;
s/\\d+ F //;
s/\\((\\d+ C)\\)/\\1/;
s/ +//;
s/conditions/conditions:/;
s/Weather/Weather:/;
s/Light/light/;
s/Rain/rain/;
s/Mist/mist/;
s/Humidity/humidity:/;
s/Temperature/Temperature:/;
s/ C$/ C°/;
s/ / /;
s/Windchill .*\\n//;
};
# Change the output order
if ($#t == 5) {
($t[0], $t[1], $t[2], $t[3], $t[4], $t[5]) = ($t[5], $t[0], $t[1], $t[2], $t[3], $t[4]);
} elsif ($#t == 4) {
($t[0], $t[1], $t[2], $t[3], $t[4]) = ($t[4], $t[0], $t[1], $t[2], $t[3]);
} elsif ($#t == 3) {
($t[0], $t[1], $t[2], $t[3]) = ($t[3], $t[0], $t[1], $t[2]);
} elsif ($#t == 2) {
($t[0], $t[1], $t[2]) = ($t[2], $t[0], $t[1]);
}
# Print the result
print join "", @t;
после чего дообавить в GeekTool @ Mac OS X (Samurize @ Windows или Conky @ UNIX) что-то навроде следующего:
/путь/к/браузеру/lynx -dump -width 120 \\ http://weather.noaa.gov/weather/current/КОД-ВАШЕГО-ГОРОДА.html | perl \\ /путь/к/вышеозначенному/скрипту/w.pl
office
21 October 2008 | Google, HOWTO, Software | No Comments
очередные 10 способов завоевать мир с помощью Google Docs. пользующимся будет интересно.
command line
15 October 2008 | HOWTO, Software | No Comments
а вот замечательная статья о примененении grep, sort и прочих uniq. впрочем, используя awk, можно и вовсе от табличных процессоров отказаться.
via.
softipedia
17 September 2008 | HOWTO, Internet, Software | 1 Comment
Джоель Спольски открыл FAQ, посвященный (неожиданность) вопросам о программах и программировании:
Every question in Stack Overflow is like the Wikipedia article for some extremely narrow, specific programming question. How do I enlarge a fizzbar without overwriting the user’s snibbit? This question should only appear once in the site. Duplicates should be cleaned up quickly and redirected to the original question.
Some people propose answers. Others vote on those answers. If you see the right answer, vote it up. If an answer is obviously wrong (or inferior in some way), you vote it down. Very quickly, the best answers bubble to the top. The person who asked the question in the first place also has the ability to designate one answer as the “accepted” answer, but this isn’t required. The accepted answer floats above all the other answers.
Already, it’s better than other Q&A sites, because you don’t have to read through a lot of discussion to find the right answer, if it’s in there somewhere.
звучит интересно, однако, как и с любым общественным проектом, в первую очередь интересно то, во что он превратится со временем. ибо даже русская Wikipedia и английская схожи только названием.