← All posts tagged прожизнь

Завтра еду на JPoint. Не докладчиком, просто слушателем. Ни разу в жизни не был на конференциях по софту :) Тащемта, сам не очень понимаю почему эту захотелось посетить o_O

Был тут у офтальмолога. Ну там проверяет всяко, то-сё. Смотрит через какой-то там ***скоп на моё глазное дно и так задумчиво, в никуда, произносит: "Мдаа-а-а.. а яблочки-то глазные у нас небольшие"
Мне кажется, с того момента я стал лучше понимать анекдоты про мужиков с маленькими членами. Даже не знаю почему.

Охуенный способ бросить курить — получить диагноз "эмфизема легких" на КТ.
Через неделю побывать у пульмонолога и узнать, что это просто возрастные изменения структурные и ваще переживать нехер. А курить-то уже бросил вроде...

Периодически натыкался на проблему, что не могу сохранить урл в файлах. Вот есть проект, по нему есть какие-то документы, исходники и кучка урлов на гуглдоки, апи, справочники. Документы и исходники в общей папочке, а вот урлы в пролёте получались. После некоторого размышления сделал следующее — урл это bash-скрипт, который просто открывает этот самый урл в браузере. Ну и название этого скрипта — название собсно содержимого. Получилось ровно то, что я хотел.
Сам скрипт для bash:

function ulinks() {
echo x-www-browser \'$1\' > $2;
chmod +x $2;
}
alias ulink='ulinks'

Использование с командной строки:
ulink dropbox.com dropbox.url

после чего файлик dropbox.url можно запускать

Стал дохуя курить :( Примерно 1.2 пачки в день. Пару дней назад решил себя ограничить — положил сигареты рядом с турником. Захотел покурить — встал из-за стола, подошел к турнику, подтянулся и тогда уже взял сигарету.
Теперь постоянно хочется курить и руки болят :( Но бля, меньше пачки в день! Это круто.
Собираюсь с силами чтоб перечитать Карра. Вдруг на 3-ий раз поможет.

Высокопоставленный источник в Совбезе России заявил газете ВЗГЛЯД, что под Донецком пропали около 20 американских граждан, предположительно, сотрудников частной военной компании Blackwater. По словам источника, это обстоятельство и послужило причиной срочного визита директора ЦРУ Джона Бреннана в Киев. 

Следы американцев до сих пор не найдены, и киевские власти ничем не смогли помочь главе ЦРУ, добавил источник.
----
/me рыдает вся
----
Отсюда: vz.ru

*длядуши Не так давно я рассказывал про хуйнюшку, которая фильмы качает домой с сервака. С тех пор я всё это время с ней сношался вечерами. И вот наконец версия 0.99 готова. Что в результате имеем. Сервер — мониторит transmission на предмет скачиваний. Для каждого торрента, если тот содержит фильмы (определяем по расширению), создает запись, ломится в imdb, если находит что-то подходящее — берем название, делаем .nfo, берем постеры и баннеры. Если это сериал — то создаем структуру сезонов-эпизодов. Для фильмов картинки берутся с fanart, для сериалов — с tvdb. Если всё нашлось, то при отстуствии действий со стороны админа, через час фильма будет выставлена на скачку для клиента, если она уже докачалась в трасмишне; если не докачалась — подождем докачки, потом так же час буферного времени и вперёд. Если не нашлось (название торрента совсем хуёвое), то будем ждать админа. Админ через веб-интерфейс может поправить всю детализацию, удалить к хуям, добавить/заменить постер/фанарт и т.д.
Клиентик. Живет дома, раз в N минут ломится на сервак, в сокет. Посредством json-протокольчика они с сервером обемниваются данными — авторизация и каталог доступного для скачивания. Клиент определяет, что ему нужно скачать. Смотрит на размеры файлов, делает разбиение на потоки. У клиента есть несколько ограничителей:
— количество потоков на скачивание лимитировано
— в конфиге настраиваются так называемые caps — ограничения по дням недели и/или времени суток. Штоп оно не жрало весь наш дохленький канальчик, пока мы с женой всякие вконтактики вечером читаем.
— каждый поток скачивает не более N байт от файла.
То есть, например, если файл — 25 гиг, клиент разбивает задачу на 75 частей по 330 мб (условно) и начинает это дело сосать. Итак, после всех ограничений, клиентик определил что ему качать, можно ли качать (не забит ли пул тредов) и каким образом ему качать (медленно и печально или стремительно и борзо). После этого, он опять общается с сервером, запрашивает разрешение. Сервер выдает ключики, клиент открывает коннекты на другой порт и начинает сливать доброе добро в несколько горл. Тредики пишут в один файл асинхронно, ведется учет меток и позиций. Есть обслуживание обрывов связи, зависания рутера, отказа канала. Есть принудительное понижение "жадности", если отклик хуевый. Есть возвраты и перекачивание частей, если вдруг учет лажанул.
По окончании скачивания, берутся баннер/постер, nfo, всё это дело правильно именуется и укладывается, и в финале дергается ненаглядный попкорн, штоп он проапдейтил свою базку, на предмет новой фильмы.

Чего хотелось достичь. Во-первых, минимизировать моё человеческое участие во всём процессе. Этого я достиг полностью. Если начальный торрент называется хоть как-то более-менее правильно, то практически наверняка всё случится само собой. За это спасибо imdb-шному поиску — релевантность выдачи крайне на высоте.
Во-вторых, постеры-баннеры. NMJ встроенный в попкорн в этом плане хромает на все 4 лапы, сука. Самостоятельно постоянно промахивается и не находит картинок. А смотреть на правильные обложки/задники гораздо приятнее, чем на умолчательные картинки.
В-третьих, непрерывность процесса. Я постоянно забывал перебрасывать скачанные фильмы, апдейтить попкорн. И плюс ко всему, ставишь на закачку из дома — рутер повис или канал ебнулся и все встало раком. Раздражало пиздец. Это тоже победил.
В-четвертых, хотелось сделать клиентик "одним куском" без ебнутых зависимостей, без базы данных, без развесистых настроек. Этого достиг. Один jar, с одним конфигом из 10 строк. Можно отдавать друзьям, можно качать с другого места и т.д. Переносимость, мультиплатформенность, етц :) Java rulez.
И последнее. Ставишь сливаться большой файл. Жена детей накормила, спать уложила, села в чятиках болтать, а канал засран шопестец, она начинает ныть, мол "интернетов нету". И так каждый день. Очень хотелось сделать нормальный шедулинг. Тоже сделано.
Итого, я отличный молодец, все поставленные цели успешно отпобедил.