www.blogspot.com
konishchevdmitry
KonishchevDmitry's small blog
1	http://konishchevdmitry.blogspot.com/2012/10/python-psh.html	psh - библиотека для запуска процессов (Python)	2012-10-22T23:20:26.114+04:00	tag: psh endoftag tag: python endoftag tag: shell endoftag 	В последнее время я очень много пишу на Python: начиная с больших систем типа облаков на работе и заканчивая маленькими скриптами дома. И одновременно с этим я стал за собой замечать, что многие вещи, которые я раньше писал на shell, мне гораздо приятнее писать на Python. Вот только когда пишешь какие-нибудь административные утилиты, зачастую возникает необходимость запускать из них другие программы, в результате чего приходится городить свои обвязки вокруг subprocess, который, на мой взгляд, не очень удобен.    Все свои скрипты и программы я всегда пишу со здравым уровнем паранои, поэтому каждый раз, когда вижу конструкции вида `grep word some_file | wc -l`, мне всегда хочется не только получить вывод `wc -l`, но и проверить, завершился ли нормально grep (вдруг он, к примеру, не смог открыть файл). Делать это каждый раз вручную в shell быстро надоест, а в Python есть исключения, которые как раз могут тут очень помочь.    В общем, захотел я себе максимально удобную запускалку...
2	http://konishchevdmitry.blogspot.com/2011/09/rss.html	Чтение стен ВКонтакте через RSS	2011-09-13T02:12:37.602+04:00	tag: ВКонтакте endoftag tag: rss endoftag 	Недавно возникло желание читать пару групп ВКонтакте. Регулярно заходить туда и проверять, не появилось ли чего нового - это не наш путь. Поэтому, узрев в этом желании отличную возможность поиграться с Google App Engine и Python'овским HTMLParser'ом, написал себе небольшой "велосипед" - vkontakte-feed.appspot.com. :)    Отдает посты с публичных стен в RSS. Пользуйтесь, если кому надо.
3	http://konishchevdmitry.blogspot.com/2010/09/blog-post.html	Автоматическое скачивание субтитров для сериалов	2010-09-11T23:06:39.267+04:00	tag: opensubtitles.org endoftag tag: tvsubtitles.net endoftag tag: автоматизация endoftag tag: subtitles endoftag tag: subdownloader endoftag tag: субтитры endoftag 	Ранее я уже писал о том, как можно автоматически скачивать субтитры для сериалов при помощи Subdownloader. И все бы хорошо, но вот только субтитры он берет с www.opensubtitles.org, чьи серверы в последнее время работают очень нестабильно. Поэтому, получив в очередной раз от Subdownloader'а сообщение об ошибке, я понял, что мне это уже начинает порядком надоедать и решил поискать какую-нибудь альтернативу в виде скрипта для скачивания с www.TVsubtitles.net. Как это часто бывает, ничего дельного мне найти не удалось, поэтому пришлось писать самому. :)    Получился небольшой Python'овский скрипт, который принимает через опции командной строки список интересующих вас языков и путь к дирректории(ям) и/или файлу(ам), для которых необходимо скачать субтитры, поэтому можно настроить его запуск в cron и навсегда забыть о том, что субтитры, как правило, не скачиваются вместе с торрент-файлами. :) Поскольку это было совсем несложно, я также добавил и поддержку www.opensubtitles.org, но...
4	http://konishchevdmitry.blogspot.com/2010/05/google-reader.html	Просмотр новостей из Google Reader без доступа в Интернет	2010-05-04T08:18:16.549+04:00	tag: linux endoftag tag: google reader endoftag tag: qt endoftag 	Я тут недавно поменял работу, и если раньше она была в 15 минутах ходьбы от дома, то теперь придется каждый день ездить в Москву. Соответственно, встал резонный вопрос, как потратить проведенное в электричке время с пользой (а времени на дорогу туда-обратно уйдет немало). Обычно такое время я заполняю подкастами и чтением Google Reader'а и бумажных книг. С подкастами и книгами никаких проблем нет, но вот с Google Reader все очень грустно - мало того, что 3G в Подмосковье пока что не особо собирается, так еще и при движении электрички ужасно медленное EDGE-соединение рвется чуть ли не каждую минуту, что делает чтение даже мобильной версии Google Reader настоящей пыткой.  Меня, естественно, такая ситуация не устраивала, и я начал искать программу, которая позволяла бы просматривать новости из Google Reader будучи offline. Подобные программы есть, но обладают огромным недостатком - они скачивают для офлайнового просмотра только описание новости из RSS и больше ничего. Все самое...
5	http://konishchevdmitry.blogspot.com/2010/02/vim.html	Восстановление позиции курсора при открытии файла в Vim	2010-02-26T19:05:18.290+03:00	tag: vim endoftag 	Не знаю, как я раньше жил без этого, но вот на днях залез в гугл, и оказалось, что настроить Vim так, чтобы при открытии файла он каждый раз восстанавливал позицию курсора, с которой файл был закрыт в прошлый раз, очень просто: для этого даже не надо ставить никакие плагины, достаточно прописать в ~/.vimrc следующие строки:if has("autocmd")     " When editing a file, always jump to the last known cursor position.     " Don't do it when the position is invalid or when inside an event     " handler (happens when dropping a file on gvim).     autocmd BufReadPost *         \ if line("'\"") &gt; 0 &amp;&amp; line("'\"") &lt;= line("$") |         \   exe "normal...
6	http://konishchevdmitry.blogspot.com/2010/01/blog-post.html	Что такое выравнивание, и как оно влияет на работу ваших программ	2010-01-14T00:10:14.771+03:00	tag: c++ endoftag tag: перевод endoftag tag: c endoftag tag: выравнивание endoftag 	Как-то раз, обсуждая с одногруппницей тему ее диплома, я посоветовал ей отличную статью Data alignment: Straighten up and fly right, посвященную выравниванию данных в оперативной памяти. Т. к. с английским у нее дела обстоят не очень хорошо, она попросила меня перевести статью на русский язык. Переведя статью, я решил, что незачем добру пропадать, и поэтому с разрешения автора выкладываю сюда перевод. Перевод довольно вольный, но в то же время достаточно точный. Вообщем, буду рад, если кому-нибудь пригодится. Выравнивание данных - очень важное понятие, которое должен принимать во внимание каждый программист, работающий с памятью напрямую. Выравнивание данных влияет на скорость выполнения ваших программ и на то, будут ли они вообще работать. Понимание основных принципов, заложенных в данном понятии, объясняет на первый взгляд странное поведение некоторых процессоров.  Гранулярность доступа к памятиПрограммисты привыкли думать о памяти, как о простом массиве байтов. В языке C и его...
7	http://konishchevdmitry.blogspot.com/2009/11/stardict.html	StarDict: пропадание всплывающего окна с переводом	2009-11-19T23:50:48.006+03:00	tag: linux endoftag tag: stardict endoftag 	Всем хорош StarDict, но есть одна мелочь, которая порой раздражает. Выделяю какое-либо слово, нажимаю горячую клавишу - появляется плавающее окошко с переводом этого слова. Если теперь слегка отодвинуть мышку в сторону, то плавающее окошко пропадет и больше не появится до тех пор, пока я не выделю другое слово, несмотря на последующие нажатия горячей клавиши.  Мне это надоело, и я не поленился залезть в исходники StarDict, чтобы сделать так, как мне хочется. :)  В результате получился вот такой вот небольшой патч:diff -rc stardict-3.0.1/src/selection.cpp stardict-3.0.1.patched/src/selection.cpp *** stardict-3.0.1/src/selection.cpp 2007-09-04 12:47:10.000000000 +0400 --- stardict-3.0.1.patched/src/selection.cpp 2009-11-18 20:03:40.000000000 +0300 *************** *** 179,185 ****           return;       }        !  if (LastClipWord != sToken) { // not...
8	http://konishchevdmitry.blogspot.com/2009/11/pirate-bay-rss.html	The Pirate Bay RSS	2009-11-17T20:45:00.286+03:00	tag: bittorrent endoftag tag: автоматизация endoftag tag: the pirate bay endoftag tag: сериалы endoftag tag: rss endoftag tag: yahoo pipes endoftag 	В последнее время я скачиваю довольно много сериалов в английской озвучке с The Pirate Bay, и отсутствие RSS-каналов на нем начало порядком надоедать. Поэтому я создал простенький Pipe, выдающий RSS-поток с последними раздачами нужного мне сериала.  Пользоваться им предельно просто: заходите на http://thepiratebay.org/tv/all/, выбираете интересующий вас сериал и смотрите его идентификатор. К примеру, у сериала Lie To Me (http://thepiratebay.org/tv/34512/) идентификатор будет 34512. Вбиваете его в поле ввода моего Pipe'а, нажимаете кнопку "Run Pipe" и щелкаете по появившейся ссылке "Get as RSS".  Вообщем, пользуйтесь, если у кого есть необходимость. При желании можно добавить дополнительные фильтры по качеству релизов (TV Rip, 720p) или автору, которому вы больше всего доверяете. Я, например, создал для себя еще один Pipe, который собирает через данный Pipe раздачи всех интересующих меня сериалов и отбрасывает 720p-релизы, которые мне вообщем-то ни к чему.
9	http://konishchevdmitry.blogspot.com/2009/11/blog-post.html	Автоматическое скачивание субтитров	2010-05-10T18:43:07.050+04:00	tag: linux endoftag tag: автоматизация endoftag tag: subdownloader endoftag tag: субтитры endoftag 	Недавно, скачивая субтитры к очередной серии Lie To Me, я задумался, нельзя ли как-нибудь автоматизировать эти довольно нудные действия (поиск субтитров для конкретной серии конкретного сериала, скачивание и переименование, чтобы файл с субтитрами имел такое же имя, как и видеофайл). Оказалось, что можно.  Специально для этого существует SubDownloader. Программа имеет графический интерфейс и интерфейс командной строки и полностью автоматически выкачивает субтитры для всех видеофайлов в указанной вами директории (или для одного видеофайла).  Правда, мне показалось неудобным использовать ее графический интерфейс, и я решил пойти дальше, интегрировав запуск SubDownloader в меню Nautilus, чтобы для скачивания всех нужных мне субтитров мне было необходимо только два раза щелкнуть мышью. :)  Т. к. программа имеет CLI-интерфейс, то сделать это было предельно просто. Я написал небольшой скрипт:#!/bin/bash  # Скачивает субтитры для всех файлов, находящихся в папке, путь к которой # передан в...
10	http://konishchevdmitry.blogspot.com/2009/10/git-subversion.html	Git: так ли хорош Subversion?	2009-12-09T20:37:16.194+03:00	tag: git endoftag tag: vcs endoftag tag: svn endoftag 	Subversion я пользуюсь уже около года. До этого был CVS, но преимущества SVN перед CVS'ом были настолько очевидны, что я нераздумывая перевел все свои репозитории на Subversion. С тех пор я как-то больше не оглядывался на другие системы контроля версий, но вот недавно на Хабрахабре наткнулся на пост с переводом выступления Линуса Торвальдса, посвященного Git - системе контроля версий, которую он написал, чтобы использовать при разработке ядра.  Не буду перечислять недостатки/достоинства Git - все это уже давно написано/сказано за меня, но скажу лишь, что теперь я начал переводить свои SVN-репозитории на Git. В связи с этим я предлагаю вам ознакомиться с данным видеовыступлением - наверняка многие из вас сочтут очень привлекательной идею распределенных систем контроля версий. В таком случае вы не пожалеете.  Цель данной заметки - заставить вас усомниться в вашем выборе системы контроля версий и подкинуть несколько ссылок, чтобы сэкономить вам время на поиске необходимой информации....
