четверг, 19 мая 2011 г.

JRockit отныне не только для богатых

Прекрасные новости для всех, кто использует Java как серверную платформу - JRockit, быстрейшая серверная имплементация Java, теперь доступен бесплатно с oracle.com.

среда, 13 апреля 2011 г.

SKPlayer версии 3.0.1

Вышла версия 3.0.1

Багфиксы. В осномном - относящиеся к MAST (реклама теперь у нас непрокручиваемая), слегка изменено и подтьюнено поведение autoHide: теперь в полноэкранном режиме исчезают полностью контрольная полоска и вы видите видео без всяких... посторонних примесей. Ну и так, по мелочи

суббота, 9 апреля 2011 г.

Scientific Linux 6 - первые впечатления

Устанавливаю SL6 на ноутбук - пока полет нормальный. Добротный вроде клон RHEL6, все как-то сразу заработало. Thinkpad T60 вообще с линухом дружит неплохо, надо сказать. Видео работает шустро, все железо сразу без проблем заработало. Подключил EPEL (бету для RHEL6) и RPMFusion. С последним не все прямолинейно - надо подключать как Fedora 12 (RHEL 6 и есть 12я Федора в своей основе). Для этого после установки репозиториев надо заменить в .repo-файлах RPMFusion $releasever на 12.

cd /etc/yum.repos.d
grep -l releasever rpmfusion* | xargs sed -i 's/\$releasever/12/g'
Для установки плагинов gstreamer еще к одному трюку пришлось прибегнуть - ругался не отсутствие libsidplay.so.1()(64bit)

Взял вот отсюда


Почему именно SL? Хотелось какой-то клон RHEL на ноут. Gentoo на ноуте, который используется не каждый день, держать слишком хлопотно. Ubuntu обхожу просто идеологически. Debian 6 пробовал - глюки. А так - будет у меня система, которая много лет поддерживается с минимальными усилиями. Долгой тебе жизни, SL6 :)

четверг, 7 апреля 2011 г.

О контроле версий

Плохо ходить на одной ноге. Плохо работать одной рукой - если под работой имеется в виду, разумеется, не мастурбация ;)

И очень, очень плохо тем программистам, кто не использует системы контроля версий (VCS). Хорошая VCS занимает такое же достойное место на рабочем месте, как и мощный редактор - позволяя отслеживать изменения кода, откатиться в любой момент, если зашли слишком далеко. Фактически они развязывают вам руки и позволяют дать волю своей фантазии и поиздеваться как следует над кодом, пока из него не выйдет именно то, чего вы от него хотели.

Я уже года два использую Git. Более чем продвинутая VCS, которая позволяет как работать с микропроектами из одного php-файла (достаточно в директории набрать git init, и все - локальный репозиторий готов), так и работать над большими проектами, держать кучу бранчей, мерджить код в любую сторону и как заблагорассудится, работать с удаленными репозиториями, работать с SVN... в общем, я работал с кучей VCS еще с 90х годов, начиная с MKS - но наконец-то чувствую себя с Git'ом так, как... "honey, I'm home!" :) Все то, на что я ругался матом, спотыкаясь о неудобства и косяки в других системах - тут стало работать именно как надо и никогда не лезть под руку. Да, я в курсе про Mercurial, Bazaar - но наконец я просто не вижу смысла в том, чтобы что-то еще искать, а можно просто пользоваться и изучать все лучше.

Если бы Линус Торвальдс не создал Linux, а создал бы только Git - уже за одно это ему стоило бы поставить памятник.

SKPlayer версии 3 вышел в свет

Наконец, свершилось - версия 3 SKPlayer жива, дышит, работает. Работа над новой версией продолжалась более 1.5 месяцев. Переделана основная архитектура с учетом всего, что накопилось как опыт работы с версией 2. Плеер полностью избавился от Flex - теперь в его основе набор классов на "голом" ActionScript 3. Это позволило намного ускорить загрузку плеера - особенно в первый раз, когда раньше значительному количеству пользователей сначала подгружались RSL'и с adobe.com. Для раскраски и ошкуривания использовалась библиотека Flash Camouflage - что помогло сэкономить еще, наверное, пару недель разработки, хотя и увеличило несколько размер финального SWF. Увы и ах. На основе Camo были написаны кастомные компоненты, отвечающие за все кнопки, слайдеры и т.д Возможно, со временем я от нее избавлюсь, написав свою замену, чтобы сделать плеер еще компактнее и, к примеру, придав плееру еще большую гибкость через полный CSS layout - но это потом. Скорее всего, к версии 4, которая планируется гибридной - Flash + HTML5.

Плеер использует подгружаемые ядра - вот так :) Ядро - это то, что, собственно, занимается воспроизведением, показывает картинку на экране, издает звук и т.д. Основное же приложение отвечает за внешний вид (содержит контролы), подгружает конфигурацию, грузит скины, плагины и ядро, отвечает за взаимодействие с пользователем, интерфейсы с JavaScript - в общем, все, что не проигрывает медийные файлы. В комплекте поставки идет 3 версии ядра на базе OSMF, каждое оптимизировано под конкретную версию Flash Player - так обеспечивается как поддержка старых версий (вполне можно в 2011 году считать версию 10.0, которой уже 2 года, старой), так и поддержка всех новых возможностей - полной хардверной акселерации, продвинутых фичей Flash Media Server (в случае, если вы достаточно богаты, чтобы его купить :) ) - к примеру, DRM. Для последнего пользователю, однако, потребуется плеер 10.1 или выше - так что, если вы хотите его использовать, требуемую версию на странице с плеером надо выставить именно такой - пользователю будет предложен апгрейд. К слову, на сегодняшний день где-то 85% пользователей уже имеют 10.1 установленным. Плеер требует версии как минимум 10.0 - это более 99% броузеров как по данным Adobe, так и по косвенным данным, полученным от использования предыдущей версии на тьюбах-милионниках.

Ядро вовсе не обязательно должно строиться на OSMF - интерфейс с ним абсолютно абстрактен. В планах - минимальное ядро, позволяющее только стриминг по RTMP и HTTP-псевдостриминг - для тех, кому требуется только проигрывание видео без продвинутых фичей, которые предоставляет OSMF (включая плагины). В этом случае размер ядра ожидается где в районе 20-30 kb. Планируется также опубликовать полностью все интерфейсы - как ядра, так и плагинов, задокументировать все нужные моменты, опубликовать SDK для расширения плеера. Это как дисциплинирует разработчика, так и помогает особо продвинутым пользователям понять, что происходит внутри и почему, а также - еще более особо продвинутым - написать свой плагин или свое ядро. Мало ли.

В общем и целом, мне история плеера напоминает историю Microsoft Windows - которая в версиях 1.0 или 2.0 была еще в пеленочном состоянии, мало кто их помнит - и только к версии 3 выросла. Я, во всяком случае, наконец-то доволен продуктом, который стал уже 100% самостоятельным, взрослым и готовым к массовому использованию. Буду надеяться, что он станет со временем настолько же популярным, как Windows версий 3 и выше :) И дело не только в деньгах - а в том, что нет ничего приятнее, чем сотворить что-то упорядоченное, совершенное из хаоса, и смотреть как оно растет и крепнет.