Сеятель РДВ

Всегда у меня так — очень хочется взять все готовое, взболтать не смешивая и продать клиенту «за дорого». Чтобы как у всех и без проблем. Но подводит, судя по всему, генетический перфекционизм — обязательно стоит сделать шаг в сторону от очередного «Best practice guide», как натыкаюсь на какие-нибудь очередные грабли, с которыми мужественно начинаю бороться… В последнее время такими граблями становится Drupal и все что с ним связано. С одной стороны — супер-расширяемая (за счет чего — тяжеловесная) и гибкая система, которая должна обеспечивать спасение котят целыми прайдами.

С другой — вся эта гибкость обеспечивается как раз только в ядре, над каждым элементом которого думают месяцами и годами, а в модулях — в которых и состоит вся сила Друпала — предполагается зачастую один единственный сценарий работы, а чуть стоит от него отойти хотя бы на шаг (даже на полшага), то оказывается что либо это совсем невозможно, либо глючит все не по-детски. Причем это касается не только мелких и «самопальных», но и таких «столпов» друпаловского сайтостроительства, как приснопамятный Views. Кто хакал Views, тот меня поймет… По написанию для него хендлеров и т.п. и то толковой документации за столько лет не родили… А потом еще, значится, кто-то рассказывает, как сильно ООП упрощает жизнь… Тьфу.

В общем, у меня почти каждая серьезная работа с Друпалом выливается в суровое ковыряние внутренностей то Views, то вот теперь Feeds, то каких-нибудь субмодулей CCK с целью исправления багов и обеспечения их нормальной работы c последующим отправлением закрывающих эти баги патчей. За предыдущие сутки — штук пять чужих багов закрыл. Больше всего мозг взорвали, конечно же, те же Views — не зря же про них вспомнил… Но была и адаптация одного JavaScript’а под Оперу, и верстки одного упрямого разработчика («Я не буду поддерживать браузер 10-летней давности!») под IE6.

Но самое главное, что я не понимаю логики тех, кто отписывается о багах, но не выкладывает патчи. Человек что, сдает заказчику работу с косяками? Или тупо забивает и не делает этот функционал? Это как вообще? Вот я представляю — звоню я завтра своему заказчику и объясняю, что вот такой-то блок новостей по федеральным округам мы выводим не сможем, потому что соответствующий субмодуль Views глючит и выкидывает ошибки SQL, я оставил репорт с багтрекере, но когда разработчик среагирует — неизвестно… Заказчик после этого пошлет меня на хер и будет совершенно прав — свои деньги он платит за результат, а не за то, чтобы я в багтрекер чей-то писал. А народ именно так и делает, а потом еще через полгода спрашивает — ну как, мол, ситуация там — исправили ошибку или нет? Что они эти полгода делали? И неужели им эта проблема еще актуальна? И вот я выкладываю патч для исправления косяка, который тянется с 2009 года (!!!), они его применяют и что говорят заказчику? «Наконец выложили патч по багрепорту, который я оставлял 2 года назад!» Бррр… Наверное, еще и деньги за свою работу просят.

Короче, в шоке я от основной массы девелоперов. Или я уже слишком стар, а они не девелоперы, а просто эникейщики, которые вышли на новый уровень? Раньше эникейщик устанавливал софт через виндовый Wizard и был крут по сравнению с пользователем. А теперь эникейщик делает сайты и тоже крут.

В такой ситуации остается только одно — учиться, учиться и еще раз учиться. Без перерыва. Тренировать мозг. Чтобы никогда в жизни не стать таким «разработчиком». Разработчик — который вместо кода и патчей генерирует багрепорты — уже не может считаться таковым. По-моему так.

Интерфейс для IPTV STB D-Link DIB-120 с онлайн сервисом

Пост в внешним видом интерфейса и видео его работы я сделал как раз год назад.

Внешне за год практически ничего не изменилось, но внутренне все поменялось кардинально — и работает быстрее, и даже качество изображения на телевизоре лучше стало, так что пора записывать новое видео. Но это чуть позже — сначала все-таки хочется закончить работу над небольшим JavaScript UI фреймворком, оптимизированным специально для работы на приставках — после этого в очередной раз переделаю внешний вид, сделаю офигительный интерфейс для редактирования настроек и как раз и приступлю к активному наращиванию функционала… Но это чуть позже, но зато сейчас уже запустил в продакшн свой проект по IPTV — http://tiptv.ru/.

Если в тезисах: проект позволяет обойти трудности легального вещания IPTV в локальных сетях и дает возможность абонентам смотреть это самое вещание на экране телевизора. На самом сайте подробнее написано. А если провайдеру это не надо — абонент может сам купить себе приставку (на сайте планируется доставка), прошить прошивку и смотреть… В Москве это для очень многих актуально — D-Link DIB-120 продают везде и купить его не проблема, а бесплатные каналы от Науки-Связи тоже есть очень у многих.

В целом могу без лишней скромности отметить, что аналогов проекту нет. 🙂 Есть нечто похожее, но заточено под своего конкретного производителя и реальных проблем провайдеров не решает. Сейчас буду потихоньку рекламировать свой — посмотрим на реакцию. Бета-тестеры довольны. 🙂

PS: Ну да, совсем забыл — а самая фишка проекта в том, что все делается онлайн. Провайдерам не нужно ставить у себя отдельный софт только для того, чтобы редактировать списки каналов. Редактировать можно на сайте, а потом экспортировать автоматом (если уж очень надо). И программы передач не надо генерировать. И вообще ни о чем париться. Прошил — и оно сразу работает. И трафика тратиться — мизер. Но, опять же, там об этом подробно написано.

Stable — это вам не current!

В портах FreeBSD дефолтную версию php проапгрейдили до 5.3.2 — http://forums.freebsd.org/showthread.php?t=13149

Что это значит? Значит, уже можно думать о переходе на 5.3 — раз уж в FreeBSD сочли возможным не делать отдельный порт, а проапгрейдить имеющийся… Стоит дождаться обновления всяких связанных проектов и где-то через месяцок вполне себе употреблять. Там же, кстати, и php-fpm подтянется или кто-нибудь порт для него более-менее адекватный сделает… Опять же, APC уже есть, eAccelerator почти тоже, а все остальное можно и руками будет поправить, ежели чего…

В общем, уже потираю руки в ожидании того, когда буду собирать себе свежий сервер под хостинг с FreeBSD 8 и всем самым свежим без разного decrecated и прочего старья. 🙂

В поисках Wiki

Делаю социально-политический сайт для совместной разработки различных проектов. Напрашивается сама собой форма Wiki, с которой до этого практически не работал как разработчик. Сел искать движок, раскурил WikiMatrix… Требования достаточно простые: wiki, наличие скинов, WYSIWYG-редактор, встроенная система статей/блогов и форум (потому что прикручивать и стыковать отдельно форумы/блоги — это выше моих сил), ну и чтобы написано было на perl или php — поддерживать будет проще.

Из предложенного WikiMatrix’ом ортодоксальную MediaWiki отмел сразу — она уныла чуть более, чем полностью, слишком сложна для простого человека, а интерфейс — это вообще ужас какой-то — о usability там явно никто никогда не слышал. Посмотрел доступные скины — и совсем пригорюнился. Это, наверное, какой-то отдельный подвид сознания у людей — любители MediaWiki.

Самое функциональное из предложенного WikiMatrix’ом — TikiWiki. Впечатлился перечнем функций и количеством документации/информации на сайте. Поставил и даже потратил три дня на ее доковыривание, правку шаблонов и т.п. все время ловя себя на ощущениях, что во-первых, TikiWiki как-то постоянно подтормаживает, а во-вторых, что писали ее студенты и задача была — сделать УниверсальнуюСистемуВсегоНаСвете, что в итоге — как обычно, — выливается в невозможность выполнять адекватно ни одну функцию… Система раздроблена на огромную кучу php-файлов, в которых черт ногу сломит, используются одновременно Mootools и Jquery, а в добавок еще и кучка самописных и посторонних Javascript’ов. Возможности расширения отсутствуют как класс — нет ни хуков ни иных способов навешивания собственного функционала — только править код. Настраиваемость в целом огромная, но только из-за количества функций — некоторые базовые вещи настроить нельзя и надо опять лазать в код. Возможности по скинам неплохи и выбор их тоже есть — это плюс. Шаблонизатор — Smarty. Но вообще общее впечатление от системы (речь, кстати, идет о последней версии — 3.1) — недоделанность во всем. А самый шок был для меня, когда я включил вывод отладочной информации и увидел, что в процессе вывода одной wiki-страницы сайта делается от 30 до 300 (!!!) запросов в базу данных. Это уже выше моего понимания…

Теперь на очереди Bitweaver — тоже порекомендованный WikiMatrix’ом. Вроде хвалят и дизайн основного сайта выглядит неплохо. Буду смотреть…