Яндекс.Субботник в Санкт-Петербурге

26 февраля в офисе Яндекса состоится первый Я.Субботник в Санкт-Петербурге.

Регистрация открыта. Количество мест – ограничено.

Для тех, кто не попадёт в число участников или не сможет лично присутствовать на Я.Субботнике, будет организована онлайн-трансляция.

Подробную информацию о мероприятии смотрите тут.

Поделиться этой информацией с другими: http://clck.ru/5dzJ

Словари для переводчика Android ColorDict

Статья рассказывает, как сделать словари для переводчика Android ColorDict.

ColorDict

ColorDict

В целом, необходимо:

  1. Получить словарь в декомпилированном виде (DSL)
  2. Преобразовать DSL в формат Stardict
  3. Положить его на SD-карту в папку /sdcard/dictdata/

DSL словарь можно получить, скачав его прямо в таком виде, либо конвертировать из LSD. Под Windows можно воспользоваться программой DslComp (уже пропатчена как надо); под Linux существует makedict в составе проекта XDXF. (Идём на сайт XDXF – XML Dictionary Exchange Format, скачиваем makedict-***.tar.bz2, распаковываем, configure, make и в подкаталоге src получаем исполняемый файл makedict. Предварительно потребуется установить компилятор gcc-c++ со всеми необходимыми зависимостями). В репозиториях Ubuntu makedict найти не удалось, исходники компилятся с кучей ошибок. Намучавшись с ошибками скачал нашёл пакет в RPM и с помощью alien сконвертировал его в deb. Запускаем makedict:

Windows: Запускаем DslComp, выбираем LSD, и ставим переключатель в “DSL (Исходные тексты)”.

Linux:

makedict -i dsl -o stardict *.dsl
for f in ./*/*; do mv $f ./; done

На выходе получаем три файла:
dictionary_name.dict – собственно, словарь.
dictionary_name.idx – индекс.
dictionary_name.ifo – описание.

Словарь можно сжать утилитой dictzip, чтобы уменьшить размер словаря. В результате получим файл с расширением .dict.dz.
Индекс тоже можно сжать обычным gzip’ом.

В просторах Инета можно найти и такой bash-script:

#!/bin/bash
PATH_DSL=$1
PATH_CUR=`pwd`
mkdir $PATH_CUR/stardict
mkdir -p $PATH_CUR/tmp/tmp
for i in $(ls $PATH_DSL | grep dsl$); do \
cp $1/*.ann ./tmp && \
iconv -f utf16 -t utf8 $PATH_DSL/$i | sed -r 's/\[s\].+\.wav\[\/s\]//' >$PATH_CUR/tmp/$i.utf8 && \
iconv -f utf8 -t utf16 $PATH_CUR/tmp/$i.utf8 > $PATH_CUR/tmp/$i && \
rm -f $PATH_CUR/tmp/$i.utf8 && \
makedict -i dsl -o stardict $PATH_CUR/tmp/$i -d ./tmp/tmp; done
find $PATH_CUR/tmp/tmp -iname "*.*" \! -type d -exec mv \{\} $PATH_CUR/stardict/ \;
for i in $(ls $PATH_CUR/stardict | grep dict$); do dictzip $PATH_CUR/stardict/$i; done
for i in $(ls $PATH_CUR/stardict | grep idx$); do gzip -9  $PATH_CUR/stardict/$i; done
rm -R $PATH_CUR/tmp
echo "Done"

Если у нас файл от лингво, то срезаем начальные строки служебной инфы. Должно начинаться с тела самого словаря.

Выкладываю сюда Русско-Финские (FiRuFi) словари для ColorDict преобразованные из DSL в формат StarDict:
Маленький, но хороший – тут [878K]
Большой, но корявый – тут [21M]

Безопасность в Google Code

Ползая по Google Code случайно обнаружил, что чувак по имени D (картинка сверху – случайная, их исходники я не смотрел) залил в debug инфу свой пароль от старой почты на mail.ru. Такой мелочи оказалось достаточно для того, чтоб получить все остальные аккаунты: vkontakte, facebook, MSN, новая почта, paypal, номера банковских карт не говоря уж об адресе/номере мобильного и другой личной информации.

Советы прежние:

  • будьте бдительны, не оставляйте свои пароли где попало
  • не стоит держать везде один и тот же пароль
  • регулярно меняйте пароли

P.S. ни цента из денежек того чувака не пострадали, отправил ему на почту картинку, мотивирующую к смене паролей

Last.fm нахаляву в Ubuntu Linux


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

Когда-то во времена коммунизма Last.fm было бесплатно для всех. Можно было слушать сколько угодно. Но потом халява кончилась и доступ остался бесплатным только для таких стран, как USA, UK, Germany. Все остальные для прослушивания должны платить по $5 в месяц. Помаявшись с PayPal платежами, мои $3 ушли в никуда. Как заявляет сам PayPal они ушли на проверку моего счёта. Больше я их не видел 🙂 Позже, после того как мой PayPal был привязан, платёж просто не прошёл. После этого я не стал запариваться насчёт денег, а стал пользоваться с помощью Tor.

Tor (The Onion Router) — свободное программное обеспечение для реализации второго поколения так называемой «луковой маршрутизации». Это система, позволяющая устанавливать анонимное сетевое соединение, защищённое от прослушивания. Рассматривается как анонимная сеть, предоставляющая передачу данных в зашифрованном виде.

Tor можно спокойно настроить и под Windows, но речь далее в посте пойдёт исключительно про Linux. Для настройки связки “Ubuntu Lucid”->Tor (с выходным адресом в UK, US, Germany)->Last.fm было предпринято следующее:

В /etc/apt/sources.list добавляется новый репозиторий


Новый репо можно добавить либо с помощью обычного текстового редактора, либо же с помощью GUI: System –> Admin –> Software Sources. В зависимости от версии Ubuntu в файл добавляются 2 строчки

    deb http://deb.torproject.org/torproject.org <DISTRIBUTION> main
    deb-src http://deb.torproject.org/torproject.org <DISTRIBUTION> main
    

На следующем шаге необходимо добавить ключ для репозитория:

gpg --keyserver keys.gnupg.net --recv 886DDD89
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
sudo apt-get update
sudo apt-get upgrade

После того, как источник и его ключ добавлены, можно устанавливать Tor:

  • Ubuntu 9.10 (Karmic) и остальные более поздние версии:
sudo apt-get install tor tor-geoipdb
  • Ubuntu 9.04 (Jaunty) и более ранние версии Ubuntu
sudo apt-get install tor

Установка Privoxy

Одного Tor недостаточно, необходима служба, которая использует мощь анонимности Tor и преобразует в локальный проки-сервер.

sudo apt-get install privoxy

Конфигурация Privoxy

Добавить в файл /etc/privoxy/config в любое место строчку:

forward-socks4a / localhost:9050 .

Запуск служб

sudo /etc/init.d/tor start
sudo /etc/init.d/privoxy start

/* Check that the service is running on port 9050 */
netstat -a | grep 9050
/* You should see the following output: */
tcp 0 0 localhost:9050 *:* LISTEN

Установка Vidalia (не обязательный шаг)


Чтобы наглядно контролировать процесс работы Tor ставится GUI-оболочка Vidalia. Шаг для тех, кому не хочется контролировать Tor/Privoxy из консоли.

sudo apt-get install vidalia

Настройка Privoxy для Vidalia

Чтобы использовать Privoxy для Vidalia нужно убрать Tor и Privoxy из автозагрузки:

sudo update-rc.d -f tor remove
sudo update-rc.d -f privoxy remove

Настройка Vidalia

Проверьте, что присутствует путь Tor в строке Vidalia (vidalia->settings):

/usr/sbin/tor

Для запуска Privoxy при старте Vidalia необходимо создать такой скрипт:

exec gksu /etc/init.d/privoxy start

К примеру, вот так:

echo exec gksu /etc/init.d/privoxy start > ~/privoxyStart.sh

Скрипту даются права на выполнение:

chmod +x ~/privoxyStart.sh

И в строке “Start a proxy application when Tor starts” указывается путь до скрипта:

~/privoxyStart.sh

Для того, чтоб на выходе Tor был с компьютера UK, US, Germany необходимо настроить exit nodes.

vim ~/.vidalia/torrc

В конец файла прописываются Exit Nodes:

ExitNodes server1, server2, server3
StrictNodes 1

(Для старой версии StrictExitNodes)

Сервера берутся из списка “Карта сети Tor” в Vidalia либо из других открытых источников. Делается сортировка по стране и по Uptime.

Настройка клиента Last.fm


Настройки->подключение->настройки прокси. В поле прокси указывается:

127.0.0.1

Порт по умолчанию

8118

Успехов! 🙂

Телевидение по P2P

С помощью бесплатной программы SopCast легко смотреть телевидение через Интернет через P2P. Благодаря открытости программы, существует широкий круг различных международных ТВ программ, доступных для просмотра через Интернет через P2P.

Протокол P2P (peer-to-peer) работает по тому же принципу, что и BitTorrent – участники, получают видеопотоки одновременно. Проигрывание потоков возможно не только в самом SopCast, но и в любом другом внешнем плеере, к примеру, Windows Media Player или VLC.

В число доступных каналов на сегодняшний день, входят такие как: Discovery Channel, National Geographic, американский спортивный канал ESPN, EuroSport, Animal Planet и многие другие. С помощью SopCast возможно слушать также радио по P2P.

Для просмотра необходимо скачать программу клиент: для Windows – с официального сайта SopCast из раздела Download.

Пользователи Ubuntu могут скачать, подключив репозиторий:

sudo add-apt-repository ppa:ferramroberto/extra && sudo apt-get update
sudo apt-get install sopcast-player sp-auth

Далее либо используется встроенный Channel Guide (в нём куча каналов, но особо нечего смотреть), вот он в XML.

Я же поискал ссылки потоков, их оказалось достаточно много, к примеру:

sop://broker.sopcast.com:3912/60706/Tvr 1
sop://broker.sopcast.com:3912/80620/Tvr 2
sop://broker.sopcast.com:3912/80555/Acasa
sop://broker.sopcast.com:3912/72565/Antena 1
sop://broker.sopcast.com:3912/80625/Antena 1HQ
sop://broker.sopcast.com:3912/90685/Antena 3
sop://broker.sopcast.com:3912/60713/Antena 3 s2
sop://broker.sopcast.com:3912/60708/Otv
sop://broker.sopcast.com:3912/74841/B1Tv
sop://broker.sopcast.com:3912/60702/Kanal D
sop://broker.sopcast.com:3912/60704/National Tv
sop://broker.sopcast.com:3912/60586/Prima Tv
sop://broker.sopcast.com:3912/74843/Realitatea Tv
sop://broker.sopcast.com:3912/80621/Pro Tv HQ
sop://broker.sopcast.com:3912/73244/Pro Tv
sop://broker.sopcast.com:3912/90521/Pro Tv Int
sop://broker.sopcast.com:3912/80622/Pro Cinema
sop://broker.sopcast.com:3912/74750/Gsp Tv s1
sop://broker.sopcast.com:3912/73487/Gsp Tv s2
sop://broker.sopcast.com:3912/30931/Gsp Tv s3
sop://broker1.sopcast.com:3912/98659/Gsp Tv Digi
sop://broker.sopcast.com:3912/90662/Digi Sport
sop://broker.sopcast.com:3912/80562/Sport Ro
sop://broker1.sopcast.com:3912/60713/Eurosport
sop://broker1.sopcast.com:3912/80398/Eurosport 2
sop://broker.sopcast.com:3912/80623/Discovery
sop://broker.sopcast.com:3912/74633/Discovery World
sop://broker.sopcast.com:3912/74634/Discovery Investigation
sop://broker.sopcast.com:3912/74635/Discovery Science
sop://broker.sopcast.com:3912/74636/Discovery Travel&Living
sop://broker.sopcast.com:3912/80397/National Geographic
sop://broker.sopcast.com:3912/80626/Nat Geo Wild
sop://broker1.sopcast.com:3912/74631/Animal Planet
sop://broker.sopcast.com:3912/80624/Hbo HQ
sop://broker.sopcast.com:3912/73201/Hbo
sop://broker.sopcast.com:3912/79803/Hbo Comedy
sop://broker.sopcast.com:3912/60703/Tv 1000
sop://broker.sopcast.com:3912/60709/Axn
sop://broker.sopcast.com:3912/60711/Axn Crime
sop://broker.sopcast.com:3912/60710/Axn Sci-Fi
sop://broker1.sopcast.com:3912/80593/Cartoon Network
sop://broker.sopcast.com:3912/60706/Disney
sop://broker.sopcast.com:3912/60712/Boomerang
sop://broker.sopcast.com:3912/65649/Romstyle
sop://broker.sopcast.com:3912/94855/Etv

Имея такие ссылки, я решил их скормить в закладки программе SopCast, чтобы постоянно не добавлять по одной ссылочке с помощью Open.

Настройки SopCast лежат по умолчанию в папке “~/.pySopCast”. Bookmarks находятся в pySopCast.db. Для его редактирования необходимо скачать любой редактор Sqlite. Я взял такой редактор: sqliteman (он доступен из стандартных репозиториев):

sudo aptitude install sqliteman

Открыв pySopCast.db в sqliteman легко найти таблицу “bookmarks”, её-то и необходимо изменить.

Скармливаем в VIM список SOP ссылок (к примеру, те, что указаны выше) с таким скриптом:

:g/sop/norm y$P
:%s/sop:/,sop:/g
:g/^/norm dwdwdwdwdwdwdwdwdwdwdwdwdw
:%s/^/,/
:%s/^/\=line('.')/

На выходе получаем файл, удобный для импорта в базу закладок SopCast. Открываем sqliteman, жмём Database->Import Table Data и указываем в открывшемся окне путь к отформатированному файлу и говорим, что наш файл содержит Comma Separators. По нажатию кнопки OK каналы сохраняются в базу. Сохраняем, закрываем, перезапускаем SopCast.

Всё, можно смотреть P2P TV! 🙂

Скачивание песен vkontakte на Linux

С помощью regexp можно просто скачнуть все песни: сохраняете страничку audio в текстовый файл и проходитесь по нему:

cat vk | grep -P -o  "http://cs.+?\.mp3" | xargs -tl -I _ wget _

Иногда бывает так, что песня в контакте называется правильно, а вот тег совершенно неправильный. Выход один – брать названия у Дурова.

Для этого написал на досуге маленький bash-скриптик script.sh упрощающий массовое скачивание песен из контакта.

script.sh:

#!/bin/bash
cat audio.html | egrep "mp3|title_wrap" > rename.sh
chmod 777 rename.sh
vim -s vk.sh
wget -i download.lst
sh rename.sh
rm rename.sh
rm download.lst

Рядом со скриптом лежит скрипт vk.sh для текстового редактора vim, который парсит страницу, получая названия песен и ссылки на них.

vk.sh:

:e ++enc=cp1251 rename.sh
:%s/\.mp3,.*/\.mp3/g
:%norm jdd
:%s/.*"\ value="//g
:norm Gdd
:w! download.lst
:norm uuu
:%s/^.*audio\///g
:%s/\ <\/span><span\ class="user">.*//g
:%s/^.*');\ return\ false">//g
:%s/<\/a><\/b>\ -\ <span\ class="title">/\ -\ /g
:%s/<a href=""\ onclick="Audio.showLyrics('.*;">//g
:%s/<\/a>//g
:%s/"/'/g
:%s/\//\ /g
:%s/?/\ /g
:%s/</\ /g
:%s/>/\ /g
:%s/\\/\ /g
:%s/\:/\ /g
:%s/*/\ /g
:%s/|/\ /g
:%s/mp3.*\n/mp3\ "/g
:%s/^/mv\ /g
:%s/\n/\.mp3"\r/g
:%s/\ -\ $//
:%s/&amp;/\&/g
:%s/"\ /"/g
:%s/"\ /"/g
:%s/\ .mp3"/.mp3"/g
:%s/\ .mp3"/.mp3"/g
:%s/\ \ -/\ -/g
:%s/\ \ -/\ -/g
:%s/-\ \ /-\ /g
:%s/-\ \ /-\ /g
:norm Gdddddd
:w! ++enc=utf-8 rename.sh
:q!

Для работы скрипта необходимо наличие установленного текстового редактора vim в системе.

Ubuntu:

sudo aptitude install vim

Процедура скачивания:

  1. Сначала необходимо зайти через браузер на страницу с нужными песнями (к примеру сюда: http://vkontakte.ru/audio.php) и сохранить её как html-файлик: audio.php.html
  2. Положить рядом с audio.php.html файл script.sh и vk.sh
  3. Запустить скрипт
    $ sh script.sh
    

UPD: Скачал файл audio.php.html с утра, вечером хотел запустить скрипт на скачку. Ссылки оказались недействительными. Видимо контакт меняет ссылки на файлы через какие-то промежутки времени. Т.о. скрипт стоит запускать сразу же после скачивания audio.php.html, чтоб не было ошибок 404.

UPD2: Скрипт подправил: теперь правильно отображается “&”, подчистил пробелы, а также – да(!), UNIX/WIN не любят “/” в названиях файлов/папок :).

Также, юзеры вконтакте взрослеют и уже освоили копипаст Unicode символов, по типу:

♥♡♥♡♥ Дима Билан ♥♡♥♡♥ - ♥♡♥♡♥ Ты, только ты ♥♡♥♡♥
☭☭☭ Гражданская оборона ☮☮☮ -  У войны не женское лицо

Такую штуку придётся вычищать руками. 🙂 (Всю таблицу как-то неохота в vim скрипт кидать)

20110812: Поправил в связи с новыми поправками Vk.

Twitter to vkontakte

Кроспостинг записей из Twitter в vkontakte.ru. Удобно для тех у кого есть хостинг.
Есть масса решений. Раньше пользовался готовым от /home/vovan/, но есть и куча других:

В последнее время пользуюсь решением от mindcollapse. Скрипт читает RSS ленту с Твиттера, публикует последнее сообщение В Контакт. Скачать скрипт можно тут.

PHP должна быть не ниже 5.1, должны быть подключены lib_curl, simple_xml и allow_url_fopen, Twitter-профиль не должен быть приватным.

Скрипт сидит задачей в crontab, где указаны путь к php-файлу и периодичность, с которой требуется обновлять статус. Например, я себе поставил */10 * * * *, что означает запуск скрипта каждые 10 минут. Тут пишут как запустить PHP-сценарии через cron.

[SOLVED] Empathy network error

Empathy network error
В Ubuntu 10.04 Lucid Lynx по умолчанию ставится мессенджер Empathy. При подключении ICQ в Empathy возникает ошибка “Network error”. В Ubuntu 10.10 Maverick Meerkat проблема сохраняется.

Довольно много людей писали про проблему его подключения к сети:

Bugzilla: Connecting to ICQ fails with “Network Error”
Launchpad: ICQ doesn’t work in Empathy
linuxforum.ru: empathy – ошибка сервера
peter.infosreda.com: Empathy ICQ
и другие

У меня лично проблема решилась достаточно просто, временным отключением SSL для ICQ. В консоли прописывается:

$ mc-tool list | grep icq
$ mc-tool update haze/icq/_***** bool:use-ssl=false
$ mc-tool update haze/icq/_***** bool:use-clientlogin=false

***** нужно заменить на число, полученное в результате выполнения первой команды.

После перезапуска ошибка исчезает.

UPD: Если появляется ошибка “Authentication failed”, следует сменить сервер подключения login.messaging.aol.com на login.icq.com

Fedora Linux в Петербургском Метро

Доводилось ли вам пользоваться информационными терминалами в Петербургском метро?

Мне лично не доводилось.. Нужды особой не было, да и времени останавливаться разглядывать как-то не много.

Выглядят они, кстати, вот так:

Фото с сайта Петербургского метрополитена

Фото с сайта Петербургского метрополитена

Автомат содержит даже незамысловатый UI:

Фото с сайта Петербургского метрополитена

Фото с сайта Петербургского метрополитена

Так вот, сегодня, проходя с товарищем мимо одного из таких терминалов, случайно обратили на него внимание. Картинка на экране показывала вот такое:

Картинка вместо красочного UI

Съёмка производилась на HTC Hero, так что качество соответственное. Несмотря на то, что изображение серьёзно размыто в области экрана, разглядеть значок Fedora Linux всё-таки можно.

Вход в Fedora

Тут чуток поближе, уже можно разглядеть по фотке, что это всё-таки окно входа в систему. Слева снизу кнопочка Restart, справа Shut Down.

Любопытство победило, была нажата кнопка Restart:

Щелчок по кнопочке Restart 🙂

Компьютер перезагружаться не собирается, кнопка Restart – просто для привлечения внимания прохожих.. 🙂

Окно логина ближе

Как видим, Linux вездесущ, он забирается повсюду куда можно и куда “не можно”, на этот раз проник он в Санкт-Петербургский Метрополитен в виде дистрибутива Fedora Linux в информационные автоматы, помогающие пассажирам лучше ориентироваться под землёй.