Как сделать гаджет для Google Wave
Google Wave — новый инновационный сервис Google, призванный заменить одновременно электронную почту, чат и средство групповых обсуждений. В основе лежат волны (wave) и вейвлеты (wavelet), представляющие собой ветви дискуссии, посвященные какой-либо теме. Сообщения, или всплески (blip), могут создаваться и редактироваться в рамках волн как участниками обсуждения, так и роботами, следящими за дискуссией и дополняющие ее данными (например, автоматическим переводом фраз между языками). Помимо текста во всплески можно добавлять гаджеты — объекты, реализующие дополнительную функциональность, например, систему голосования, интерактивную карту и т.п. Изготовлением гаджетов и займемся в нашей статье.
Для начала рекомендую посетить описание Google Wave API — это полезное чтение, особенно если вы решили, что возможностей гаджетов недостаточно и нужно написать робота. В отличие от последних, гаджеты пишутся на традиционной для клиентской части вэба связке HTML + CSS + JS и представляют собой некий контейнер с данными, помещенный во всплеск через iframe.
Git-репозитарий с доступом по HTTPS
Время, когда правил только CVS, прошло безвозвратно, а посему сейчас много систем контроля версий, хороших и разных, централизированных и распределенных. Прелесть последних состоит в том, что каждая рабочая копия репозитария может также служить как сервер для создания других рабочих копий, поэтому даже если с основным хранилищем произойдет что-то нехорошее — можно воспользоваться рабочей копией.
Прелесть распределенных систем не ограничивается подобной «устойчивостью к отказам». Если проект очень сложен, требуется сложная и инвариантная разработка с последующей интеграцией изменений, без распределенных систем контроля версий приходится очень туго. В частности, Git, написанный Линусом Торвальдсом, используется для разработки ядра ОС Linux, сложность разработки которого можно себе представить, если поглядеть на размер кода. Git очень удобен, с учетом многообразия его возможностей, которые позволяют построить на его базе действительно распределенное хранилище данных. К сожалению, использование Git ограничено в основном не-Windows системами, для разработки в рамках гетерогенных сред следует использовать Mercurial и другие DSCM.
Подробнее →
Скорость обработки видео при помощи x264
По мере работы над HDin.TV обнаружилась неприятная особенность — если скорость обработки одного сезона сериала из 24 серий для tulavideo.net составляла чуть более, чем половину суток, то в случае использования HD-разрешения (720p) сезон кодировался порядка половины недели (примерно 3-4 часа на серию). Это, разумеется, не могло не расстраивать, поскольку объем работы по перекодировке предстоял и еще предстоит весьма значительный.
Подробнее →
Защита SSH-сервера при помощи sshguard
Как известно, многим людям не дает покоя слава Кевина Митника и прочих не столь раскрученных личностей. Поэтому когда в сеть выставляется сервер с SSH-демоном, то вполне вероятно, что вскоре на него начнется атака по подбору паролей. Что, в принципе, не очень приятно.
Решений тут много, подкину еще одно — при помощи sshguard. Рецепт прост:
1 | apt-get install sshguard |
далее прописываем строки в /etc/rc.local и повторяем их в консоли
1 2 3 | /sbin/iptables -N sshguard /sbin/iptables -A INPUT -p tcp --dport 22 -j sshguard tail -n0 -F /var/log/auth.log | /usr/sbin/sshguard & |
Первые две команды создают одноименную цепочку и перенаправляют туда все входящие на 22-й порт, последняя — транслирует логи к программе, которая смотрит частоту вхождения и успешность/неуспешность попытки и добавляет в цепочку правила по блокировке юных взломщиков.
Сборка Linux-окружения при помощи Buildroot
Как известно, Linux — это пластилин, который можно применять как в рабочих станциях, так и во встраиваемых системах. Если в первом случае все понятно — берем общепользовательский дистрибутив и далее процесс не отличатся от традиционной установки любых операционных систем, то со встраиваемыми и мобильными системами, как всегда, все плохо. Такие устройства, как правило, могут быть построены на базе архитектуры, отличной от х86, иметь ограниченный объем памяти и часто сопрягаются с весьма специфическими устройствами (благо, интерфейс нынче более-менее стандартизированы и остается реализовывать только протокол обмена). Однако, все не так страшно.
Подробнее →


