суббота, 26 мая 2012 г.

node.js в ubuntu

sudo apt-get install nodejs
sudo apt-get install npm
Это работает уже с 2010 года, и большинству людей вполне достаточно (ну во всяком случае тем, кто ищет по запросу "nodejs ubuntu").

вторник, 17 апреля 2012 г.

Вязаная птичка, но не Angry Birds

Невероятная и забавная птичка с веселым хохолком. Помогает мне работать :)



пятница, 27 января 2012 г.

iriver e300 - кодирование видео с mencoder

Не всем людям нравятся устройства "все в одном". Многие предпочитают разложить мух и котлет по разным карманам. Вопрос спорный. Но тем не менее. Когда наконец для прослушивания музыки приобретают отдельный плеер многие хотят на нем смотреть видео. Тут не совсем понятно - вроде они же против комбайнов, но видео на музыкальном плеере смотреть хотят. Производители идут этим странным людям навстречу и оснащают свои плееры большими дисплеями.

Но есть и проблемы - мощность этих плееров очень скромная. Видео если по размеру не подходит - плеер его понимать не хочет. Да и форматов поддерживается немного. Но не беда, всегда можно перекодировать в нужный формат. На помощь линуксоидам и не только приходит mencoder.

Создаем файлик convert.sh следующего содержимого:
mencoder -noodml "$1" -o "$2" -vf-add dsize=320:240:0 -vf-add scale=0:0 -srate 44100 -ovc xvid -xvidencopts bitrate=1000 -oac mp3lame -lameopts vbr=0 -lameopts br=96 -lameopts mode=0 -lameopts aq=7 -af volnorm -xvidencopts max_bframes=0 -xvidencopts nogmc -xvidencopts noqpel -mc 1
Затем меняем права на файлик:
chmod u+x convert.sh
Теперь мы можем спокойно перекодировать наше видео:
./convert.sh source/spongebob/s01e01.avi spongebob_s01e01.avi
Копируем результат в папку Video на плеере и наслаждаемся результатом:
Приобрести iriver e300 можно на ozon.ru, как это сделал я, воспользовавшись баллами от предыдущей покупки, и тем самым снизив цену до самой выгодной :)

среда, 25 января 2012 г.

Android vs MeeGo: почему я перешел на Nokia N9

Больше года я провел на Android и честно говоря думал, что никогда не захочу что-то менять. Тем более на платформу, которая прошла столько болезненный путь - MeeGo. Так почему же я сейчас пользуюсь этим телефоном? Причин тут много. Пройдусь по ним.

  1. Я убедился, что по прежнему пользуюсь телефоном как телефоном. Возможность установить все что угодно и делать что угодно ничего не изменила. Телефон остался телефоном. Правда, в последнее время ездил на метро и мне помогли игрушки на Android - позволяют выйти из реальности на время поездки.
  2. Я люблю необычные вещи. iPhone - пошло и дорого. Android - пошло и дешево. Microsoft - да ни за что! MeeGo? А вот это выглядит интересным, дайте ка посмотреть, что это там у вас получилось?
  3. Он большой, но не страшный, можно назвать это - стильный. Кажется более легким по сравнению с legend.
  4. Мне нравится Nokia. Всегда нравилось, что часы у них на экране всегда и в этом телефоне это не исключение.
  5. Разработка происходит на Qt. На работе мы тоже пользуемся Qt. Шансы написать что-то возрастают.
В общем, как-то решил я посмотреть, почем сейчас Nokia N9. Оказалось, около 18 тысяч за версию с 16Гб, дорого конечно, но в прошлый раз, когда я смотрел, было больше 20 тысяч. Оказалось, что в ozon.ru проходила акция, и цена там получалась самой низкой и доставка бесплатная. Плюс, можно заплатить банковской карточкой. Пара кликов и новый телефон отправляется ко мне. Хорошо все же иметь иногда несколько сотен зеленых в каком-нибудь банке. Через дня три аккурат после православных праздников я получил заветную коробочку.

В аппарате используется microSIM - пришлось ножницами по металлу вырезать из своей симки микросимку :)

Включил, игрался, что-то там не получилось с обновлением. Решил сбросить все настройки в ноль и снова все начать. Тут я крупно прокололся - выбрал функцию очистки аппарата перед утилизацией (не специально!). В результате на экране только стрелочка крутилась и ничего не включалось. Думал все - придется менять. Оказалось, он просто очень тщательно очищался, минут 30.

Затем все настроил и начался кайф, глупо звучит, но телефон очень приятный на ощупь. Софт необходимый есть. Все социальные сети, нет такой глубокой интеграции с google, но та, что имеется вроде достаточна. Кнопок нет, интерфейс весь на экране. Это или очевидные кнопки, или не такие очевидные движения по экрану пальцем в разных направлениях. Подкачал twitter-клиент, он как-то плохо интегрируется с галереей и ломает кодировку при попытке воспользоваться вставкой изображения в сообщение. Зато есть родной терминал, никаких хаков - вполне стандартный функционал. Расстроило, что нет такой простой возможности использовать телефон как модем, как в Android. Здесь есть доступ к нему, как к модему, но надо специально настраивать соединение. Зато так же как и в Android можно превратиться в wi-fi точку, что в основном снимает вопросы. Остальное пока что только радует. Игры есть даже более продвинутые, чем у меня были на legend, но это просто потому что аппарат посильнее, трехмерные игрушки есть. В магазине приложений с приложениями не сильно густо, но парочку игрушек я доставил. Плюс появились идейки, что бы можно было понаписать, чтобы порадовать любителей N9 да и себя. Сейчас изучаю Qt применительно к написанию приложений для N9.

Отдельно напишу про ozon.ru: для меня этот магазин дорогой, но у него есть плюсы большой организации (как и минусы), он много чего поддерживает, там проходят акции и есть системы скидок. Для меня это вылилось в покупку телефона по выгодной цене - проходила акция. Для блогеров есть партнерская программа, так что теперь я буду рекламировать товары ссылками с озон, есть рациональный смысл и там иногда прикупать товары :) Поэтому вот ссылка на товар в озоне, заходите, смотрите, выбирайте:

понедельник, 23 января 2012 г.

Как программист становится сантехником

Так получилось, что у меня в семье одни творческие личности. Поэтому вид текущей из трубы воды вызывает у нас только одно желание - вызвать специалиста. Но жизненный опыт показывает, что это не всегда лучшее решение. А в плане саморазвития это просто глупость, человек с высшим техническим образованием вызывает сантехника, чтобы сделать простейшую операцию.

В общем, мне это надоело, и я начал эксперименты. К счастью, профессионалы создали для меня достаточное количество тренировочных площадок у меня в квартире. Первым вышел из строя кран за 10 тысяч рублей, буквально через месяц после окончания гарантии. Притом, покупался он вместе с кухней, так как иначе я не получу полноценной гарантии. Я думал, что за 10 тысяч кран будет вечный, но - увы и ах :) Оказывается, отдельно на него гарантия была бы на 3 года больше, а стоил бы он при этом на 2 тысячи дешевле. Привет, "Форема-Кухни", ваши кухни - говно.

Кран надо было менять. Но для этого его надо открутить. Вызовем сантехника? Нет! Но голыми руками выкрутить не получается, а ключи у меня только от автомобиля. Пришлось идти в магазин за ключами. Прикупил ключ, заодно посмотрел, как выглядят разные сантехнические примочки. Ведь если кран надо менять, ничто не мешает его разобрать и посмотреть, что же вышло из строя. По приходу домой я этим собственно и занялся. Притом выяснилось еще и то, что кран я по прежнему открутить не смогу - нужен был еще один ключ. Эх. Зато, с простой отверткой и гаечным ключом от машины открутилась ручка крана и снялась фенечка, которая сломалась.



Удача. Похожую штуковину я видел в магазине. Идем снова в магазин. Купил еще один ключ и фенечку. Пришел домой, вкрутил фенечку - кран заработал. Победа! Я купил лишнюю ручку на кран, и ключи мне не особо нужны оказались, но они точно пригодятся в будущем. Сама же запчасть стоила около 300 рублей.

Следующий случай представился буквально через месяц. На этот раз это была ванна - под раковиной появилась лужа. Открываем - видим страшную картину - из соединения шнурков смесителя со стеной капает вода. Ура, это же шанс применить мои новенькие ключи! Надо всего навсего закрутить покрепче, наверно тогда течь и пройдет. Отключил воду. Подтянул. Включил воду - течет. Хм. Ну еще чуть-чуть подтянем. Притом в этот раз отключать воду было уже лень. Тянем, треск, шум, вода по всей ванной. Бежим перекрываем воду и смотрим, что за фигня. Мда, угловой вентиль в стене пластмассовый и сломался от моих усилий. Посмотрел информацию, как в целом менять эти трубки - везде пишут, что главное - не перетянуть, так как так и прокладка испортится и труба может лопнуть. Понятно. Значит то, что точно нельзя делать - я уже сделал. Отлично. Полный fail. Теперь надо менять угловой вентиль. Начинаю его крутить, треск, шум - в ключе кусок пластмассы. Опять за информацию. Не, это уже не моя вина. Тут сумма усилий профессионалов, которые посадили на клей вентиль и сам вентиль, который разрушился от воздействия горячей воды! Решил сделать паузу и подумать над дальнейшими действиями.



В следующие выходные я купил еще один ключ, для труб (так как мест, за которые можно было ухватиться разводным ключем не осталось). Купил гибкую подводку и угловой вентиль, плюс нить-уплотнитель. Дальше пошли сплошные разочарования. Даже с новым ключем вентиль не хотел выкручиваться, а просто разваливался на кусочки. А смеситель оказался с подводкой, не допускающей замену. В общем, выкинул деньги. Кран сломался до конца, так что пришлось его вырезать из стены ножом. Развлечение еще то - все свои нежные программистские ручки стер до заусенцев и мазолей. В конце концов суммарными усилиями вычистили кран, но больше ничего сделать было нельзя - пришлось заказать смеситель, такой же, какой и был, а за ним надо было заехать. Ну и пару угловых вентилей - один на замену, второй на всякий случай. Пауза номер два - настроение на нуле.

Вот и пришел этот радостный день, когда я подтащил домой смеситель. Теперь все инструкции были внимательно изучены. Пришло понимание, как надо было правильно действовать (достаточно было поменять прокладку на гибкой подводке). Вечером я все поставил, со второй попытки смог правильно замотать нить-уплотнитель, притом я пропиливал засечки на вентиле, без этого водичка текла, резьбу в водяной розетке я уже подпортил. Но результат получен. И приобретен достаточно полезный опыт. Если бы я был опытным сантехником - расход был бы рублей 20 наверно, за эту прокладку. Так получилось около 3 тысяч в сумме. В общем, провал. Стало понятно, что перед тем, как что-то крутить надо как следует поштудировать интернет, информации там достаточно.

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

суббота, 21 января 2012 г.

Флэшка в виде Чебурашки

В продаже увидели и не смогли удержаться от покупки :) Даже не знаю, буду ли пользоваться, или поставлю как украшение.
Думаю, отличный подарок. Объем на стоимость (1000 руб) не переносим, конечно можно купить 16 Гб за эти деньги - тут дело в облике.

пятница, 20 января 2012 г.

linux groups update

Достаточно часто сталкиваюсь с тем, что некое ПО ставит что-то, что можно запустить только будучи членом определенной группы. В этом случае до выхода из системы и повторного входа запустить это проблематично. Но нет, на самом деле никаких проблем, открываем терминал и вводим простую команду:
su - kilork

kilork - это собственно имя пользователя. После этого группы будут уже новые и приложение попробует запуститься :)

четверг, 5 января 2012 г.

node.js service gentoo - сервис для старта node.js в gentoo

Решая задачу с проксированием запросов на сбербанковский сайт - заодно сделал запуск сервисов для node.js в нормальном для gentoo варианте. Почему такого сервиса нет в сборке node.js из portage, мне не совсем понятно, но если гора не идет к нам - приходится самим шевелиться.

hg clone http://kilork.org/public/overlay


Путь к извлеченному оверлею прописываем в make.conf.

После этого делаем:
emerge nodejs-service


Все готово к запуску нашего сервиса. Допустим у нас есть директория /home/user/js в которой находится файл server.js - этот файл мы хотим превратить в сервис в gentoo, запускаемый через node.js.

В примере назовем сервис ourservice. Для этого необходимо создать файл /etc/nodejs-service/ourservice.conf:
NODE_DIR=/home/user/js
NODE_SCRIPT=server.js


Затем надо перейти в директорию /etc/init.d и создать символическую ссылку на наш сервис (под root естественно):
cd /etc/init.d
ln -s nodejs-service nodejs-service.ourservice


Осталось только запустить новый сервис:
rc-config start nodejs-service.ourservice


Если все прошло хорошо, то наш сервер будет висеть в списке процессов и может быть даже обрабатывать запросы.

Sberbank quotes - Котировки ОМС Сбербанка

Мне нравится как развиваются сервисы в монстрах типа Сбербанка. Конечно, там адская смесь у них на сайте работает. .NET смешанный с php. Все ужасно тормозит, гигабайты трафика состоят из пробелов и прочие чудеса. Но недавно я обнаружил потрясающую вещь - оказывается, там имеется JSON интерфейс для получения котировок. Правда, конечно, этот JSON интерфейс нельзя использовать кросс-доменно, что сильно замедляет развитие человечества. Но я сделал собственный сервис с блэкджеком и шлюхами возможностью кросс-доменных запросов. Разместил здесь: http://onlinedb.org/sberbank/.

Что умеет этот сервис? Это очень простой функционал - построение графиков различных ОМС Сбербанка за произвольные интервалы времени. В чем же радость, спросит читатель и будет совершенно прав. Радость в том, что кроме этого еще обеспечивается получение тех самых котировок программно в виде JSON. Кросс-доменно. Т.е. можно сделать сайтик, который будет динамически подтягивать котировки. Вот тут есть примеры, как это делается.