Первомай

Мой первый эксперимент с видео в технике стопмоушен. На съемку ушло около часа, было использовано около 500 кадров, собрано все Mencoder-ом в консоли парой команд. Основной вывод эксперимента — автофокус — зло. Во-первых — увеличивает время на съемку каждого кадра, во-вторых — дает неприятный эффект блуждающего фокуса.

SAR-400 — российский антропоморфный робот

Первый российский антропоморфный робот представлен мировому космическому сообществу на Конференции по Глобальному исследованию космоса Global Space Exploration Conference, которая прошла в Вашингтоне с 22 по 24 мая.

SAR-400 – антропоморфная робототехническая система – разработка НПО «Андроидная техника», предназначенная для использования в космической отрасли, с целью решения определенного спектра задач российской пилотируемой космонавтики.

Skype в Ubuntu 12.04

Странно, но Skype, взятый с официального сайта, встает криво. Не запоминается пароль входа и, самое главное, не появляется значок в панели уведомлений. Т.е. после сворачивания клиент становится недоступен, но при этом активным.

Чтобы все заработало, надо устанавливать Skype из репозитариев Ubuntu, подключив предварительно источник приложений «Партнеры Canonical», после чего установить пакет из консоли apt-get-ом. Со Skype-ом установятся несколько зависимостей и все будет работать как надо.

Подключение принтера HP LaserJet P1102w к Ubuntu по Wi-Fi

Недавно у нас дома поселился очередной электронный друг со странным именем HP LaserJet P1102w. Маркировка w в наименовании модели намекает на существование Wi-Fi модуля в его пластиковом организме. Зверька достали из коробки, удалили все технологические наклейки, вкладыши и предохранители и подключили к сети. Зверек весело замигал разноцветными лампочками. И, как это обычно бывает в случае Linux, дальше ничего не произошло.

А чтобы подружить принтер с Ubuntu, необходимо выполнить примерно следующее:

1. Устанавливаем пакет драйверов для принтеров и сканеров HP — hplip. Он есть в стандартном репозитории Ubuntu.
sudo apt-get install hplip

2. Нажимаем кнопку Wi-Fi на принтере. После чего должен весело замигать синий индикатор — это P1102w поднял ad hoc соединение. Чтобы подключится к принтеру с ноутбука, отключаем текущее Wi-Fi соединение, находим в списке беспроводных сетей ad hoc сеть, пробуем подключится — не получается. А это потому что в настройках соединения на закладке IPv4 в пункте «способ связи» надо выставить «только для локальных соединений». Пробуем подключиться еще раз — ОК.

3. Теперь жмем кнопку с крестиком на принтере. Распечатается лист с техническими данными принтера. В том числе и данные о сетевом соединение. Смотрим текущий IP и заходим на него браузером. В веб-интерфейсе указываем настройки нашей рабочей Wi-Fi сети, применяем изменения. Через некоторое время жмем кнопку с крестиком на принтере еще раз и по распечатке убеждаемся, что принтер подключился к нашей сети, да примечаем текущий IP, если у вас сеть на DHCP.

4. Далее заходим в «параметры системы» — «принтеры» и устанавливаем принтер как обычно.

Английский интерфейс в Netbeans 7.1 под Ubuntu

Отличная IDE NetBeans имеет неприятную особенность: интерфейс среды выбирается исходя из системной локали независимо от выбора языка дистрибутива. При этом возможности сменить интерфейс в настройках IDE нет.

Задать локаль можно в конфигурационном файле. В общем случае это path_to_netbeans_folder/etc/netbeans.conf. В моем случае для Ubuntu это /usr/local/netbeans-7.1/etc/netbeans.conf.
В этом файле есть параметр netbeans_default_options в конец его надо добавить конфигураторы -J-Duser.language=en -J-Duser.region=US.

До редактирования:
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.zip.disableMemoryMapping=true"

После редактирования:
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.zip.disableMemoryMapping=true -J-Duser.language=en -J-Duser.region=US"

Тонкости создания анимации в jQuery

На днях коллега попросил помочь разобраться с небольшой проблемой, с которой он столкнулся при разработке анимационного эффекта на jQuery. Честно говоря, я и сам с ней неоднократно сталкивался, но мне всегда удавалось уклониться от ее решения, используя иные средства.

А суть вот в чем: если навешивать на некое событие анимационные эффекты типа slideDown/slideUp или fadeIn/fadeOut, то отработки анимации последовательно выстраиваются в очередь и выполняются пока очередь не закончится. При этом, если событие происходит с большой частотой, так что анимация не успевает отработать, можно получить нежелательные артефакты в виде долгого дерганья и мигания для slide* и fade* функций соответственно.
Пример 1: http://jsfiddle.net/hrF9k/. Попробуйте быстро поводить мышью над серым квадратом.

Чтобы прервать исполнение очереди вызовов анимации, можно использовать функцию stop(). Но тут возникает неприятный эффект, про который я так и не понял баг это или фича. Значение CSS свойств в момент вызова stop() запоминаются и в последствии используются как максимальные.
Пример 2: http://jsfiddle.net/zGc4w/.

Раньше это ставило меня в тупик, и мне приходилось искать обходные пути реализации задачи. А секрет оказался прост: функция stop() принимает два логических параметра, отвечающих за очистку очереди и переход к предельному значению анимации соответственно.
Пример 3: http://jsfiddle.net/SRAsT/3/

Обновление PyCharm и значки запуска в Ubuntu Unity

В PyCharm на данный момент не реализовано автоматическое обновление. Обновится IDE предлагает, просто скачав очередную версию с сайта разработчиков.
Если при обновлении PyCharm захотелось распаковать дистрибутив в директорию не соответствующую текущей директории установки, то обновить значок запуска Unity можно, отредактировав файл ~/.local/share/applications/jetbrains-pycharm.desktop.
Выходу PyCharm 2.0.2 посвящается.

Событие change элемента select в Jquery

На часах 5 утра. Только что потерял около часа на такой вот хитрушке в Jquery. Есть на странице элемент select, и написал я к нему обработчик события change. И все отлично работало, но понадобилось мне устанавливать значение select-а после загрузки страницы.
То есть что-то типа:


$(function(){
    $('#select_id').val('foo');
});

Да вот незадача — не происходит чендж после этого и все тут.
Решение простое:


$(function(){
    $('#select_id').val('foo').change();
});

Т.е. после смены значения элемента, необходимо вызвать событие change вручную.

А теперь спать.

Structure Synth — Discovery

Structure Synth — это пакет, предназначенный для легкой генерации трехмерных структур. SS позволяет работать с несколькими геометрическими примитивами, располагая их в пространстве с помощью встроенного скриптового языка EisenScript. Также, есть возможность генерировать последовательности структур, меняя какие-либо параметры с помощью JavaScript API. Рендер можно использовать как внутренний, так и внешние, например SunFlow. Для генерации видео из полученной коллекции изображений я использовал Mencoder по совету, данному в этом посте.
Ну, а результат моих экспериментов, собственно, вот :)

Отдельный респект хочется заслать в город-герой Калининград ребятам из The Q’s и поздравить их с выходом первого альбома.