Разработка

Перевод седьмой серии второго сезона Flight of the Conchords

Пока был в отпуске, перевел седьмую серию второго сезона «Полета Конкордов». Называется «Премьер-министр».

Скачать субтитры с TVsubtitles.net.
Скачать локально.

Под катом комментарии об очередном плакате, Поле Саймоне и Арте Гарфанкле, песнях Demon Woman и Oh, Dance, Baby, а также о двойнике Элтона Джона и дьяволице Керэн.

Перевод шестой серии второго сезона Flight of the Conchords

Перевел шестую серию второго сезона «Полета Конкордов». Серия называется «Любовь — вот наше оружие».

Скачать субтитры с TVsubtitles.net.
Скачать локально.

Под катом комментарии о названии, песне «Love Is a Weapon of Choice» и очередном плакате.

SVG в Qt

Благодаря бдительным пользователям в qTwister обнаружился баг. Оказывается, для отображения векторных svg-картинок, необходимо в составе приложения поставлять еще и соответствующий плагин, а без него ничего не показывается. В общем, разобрался, все исправил, кто следит — может скачать обновленные архивы со страницы программы (если надо — обновите кэш браузера).

На случай если забуду, или случайный гость заинтересуется: плагин qsvg4.dll (.so для Linux) лежит в qt/plugins/imageformats. В приложении плагин должен поставляться в директории imageformats/.

Notabene — заметки на полях

В общем, сделал я для Друпала 6.x модуль под названием notabene. Модуль предназначается для организации системы кратких заметок «на полях» с помощью специальной кнопки. При наведении мыши на кнопку, появляется всплывающий блок, показывающий уже созданные по данной кнопке заметки. Нажатие на кнопку влечет появление фрейма с уже созданными заметками и формой добавления новых. Фрейм создается с помощью Modal Frame API.

Специальная кнопка может быть вставлена разработчиком сайта куда угодно с помощью функции

  1. theme('notabene_button', $rel_id, $nid = 0);
где $rel_id — задаваемый разработчиком идентификатор, используемый для группировки заметок, а $nid — необязательный ID ноды, к которой будут прикреплены заметки. Вставлять можно сколько угодно кнопок, при разных $rel_id у разных кнопок будут независимые потоки заметок.

То есть по сути модуль представляет собой API из одной theme-функции, возвращающей HTML-код кнопки, и нескольких страниц настроек модуля в админке. Более подробное описание разных аспектов модуля содержится в файле README_RU.txt в архиве. Здесь кратко перечислю основные особенности:

  • если кнопка привязана к ноде через указание $nid, заметки будут автоматически удаляться при удалении ноды;
  • заметки можно помечать как «важные» и «личные». Личные заметки видны только их автору (и админу);
  • можно включить ограничение длины заметок с отображением количества оставшихся символов примерно как в Твиттере;
  • количество заметок, выводимых во всплывающем блоке, и порядок их сортировки тоже можно настраивать;
  • администратор может задать формат ввода, автоматически применяемый ко всем заметкам;
  • есть возможность подключить к форме Друпала (по form_id) автоматическую фильтрацию, с помощью которой модуль найдет в текстовых полях формы куски текста, выделенные определенными тэгами, и сохранит их как заметки, убрав из текстового поля. Тэги настраиваются в админке;
  • администратору доступна система фильтрации и удаления заметок наподобие админки нод;
  • при добавлении/удалении заметок счетчик на кнопке обновляется без перезагрузки страницы.

Также в состав модуля notabene входит подмодуль notabene_node. Он позволяет встраивать кнопку заметок в тело ноды без необходимости использовать функцию theme() и вообще писать какой-либо код. Для этого имеются настройки отображения кнопки как для типов содержимого, так и для каждой ноды в отдельности. Пример настроек и результат отображения кнопки в ноде — на рисунках ниже:

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

  • некоторая интеграция с Views;
  • интеграция с Beauty Tips и, возможно, с Simplecluetip;
  • проработка разных вариантов отображения кнопки;
  • улучшение механизма автофильтрации.

Немного погодя добавлю ролик с демонстрацией и кратким объяснением, зачем все это было нужно (мне).

Скачать модуль: notabene.tar.gz v. 1.0.

qPassGen — генератор паролей

Время от времени всем нам приходится регистрировать учетные записи, для которых неплохо бы иметь «сильный» пароль. Для доступа на ФТП, для админки на сайте, в общем — известно, зачем. Лично я для этих целей обычно ставлю пароли вида NCpg*fmO_08uLh. Придумывать такие самому, однако, лениво. Поэтому уже несколько лет пользуюсь самопальной утилиткой на Qt, которая придумывает их за меня. Ну и пришло как-то в голову привести ее в божеский вид и выложить сюда — а ну как кому пригодится. Знакомьтесь, qPassGen:

Программа генерирует пароли заданной длины из букв латинского алфавита нижнего и верхнего регистра, пробелов, подчеркиваний, цифр и звездочек, а также дополнительных, введенных от руки символов. Краткое описание прилагается в архивах.

qTwister

Как-то раз жена притащила домой заморскую игру Твистер. Если кто не знает, это такая напольная потеха, в которой игроки должны по команде ставить руки и ноги на разноцветные круги, извиваясь как ужи, и кто гибше гнется — тот молодец. Игра была немедленно испытана на гостях, специально приглашенных под надуманным предлогом (см. спиртное). Радость стояла неописуемая — пьяные гости (и мы с ними) яростно изгибались и дружно валились в кучу. Поутру не привыкшие еще к позициям из цикла «Йога для самых гуттаперчевых» конечности адски болели, но сейчас не об этом.

В процессе игры оказалось, что один из присутствующих вынужден воздержаться от всеобщего твистера и быть ведущим, то есть крутить пластмассовую стрелку на диске и называть выпадающие ходы (цвета и конечности). И это в XXI веке, когда очевидно, что в комплект с игрой должны входить специально обученные роботы, самостоятельно крутящие стрелку, пока человеки полным составом валяются по полу.

А я как раз тогда дочитывал книжку Макса Шлее про Qt, ну и решил устранить технологическую несправедливость и заодно закрепить некоторые аспекты фреймворка на практике. Так родилась программка qTwister.

Программа умеет:

  • генерировать ходы для Твистера в ручном режиме (нажатием на красную кнопку);
  • генерировать ходы автоматически с заданным интервалом;
  • отображать каждый ход графически (изображением конечности и цвета, как на картинке выше);
  • озвучивать каждый ход мужским или женским голосом (русскую озвучку сами наговаривали, английская — сгенерирована через espeak);
  • работать на русском и английском языках.

В общем, делюсь разработкой с общественностью. Краткое руководство по использованию прилагается в архиве.

Всякие deb и rpm-пакетики наверное тоже вскоре сделаю. Заодно научусь, как.

Если есть какие вопросы, сообщения, уточнения или пожелания по поводу — пишите в комментарии или в почту.

А если вам хочется поставить генератор ходов для Твистера на мобильный телефон, воспользуйтесь программой Twisdial. Она умеет работать в телефонах на базе Android и других телефонах с поддержкой J2ME.

Перевод пятой серии второго сезона Flight of the Conchords

Перевел пятую серию второго сезона «Полета Конкордов» под названием «Противоестественная любовь». Серия получилась очень хорошая и смешная. Кстати, будьте осторожны, в субтитрах есть нецензурное слово.

Скачать субтитры с TVsubtitles.net.
Скачать локально.

Под катом комментарии об Австралии, новом плакате, двух номинациях на Эмми, и о песне Carol Brown.

Перевод четвертой серии второго сезона Flight of the Conchords

Перевел четвертую серию второго сезона «Полета Конкордов» — «Мюррей переводит все на новый уровень».

Скачать субтитры с TVsubtitles.net.
Скачать локально.

Под катом комментарии о друге Мюррея, новом плакате, DVD и часовых поясах.

Перевод третьей серии второго сезона Flight of the Conchords

Доделал перевод третьей серии второго сезона «Полета Конкордов». Серия называется «Крутые бреты».

Скачать субтитры с TVsubtitles.net.
Скачать локально.

Под катом комментарии к содержимому серии.

Перевод второй серии второго сезона Flight of the Conchords

Перевел вторую серию второго сезона «Полета Конкордов» под названием «Новая чашка». Хорошая серия, одна из лучших.

Скачать субтитры с TVsubtitles.net.
Скачать локально.

Комментарии к содержанию — под катом.