[Git] Узнать количество коммитов за период

Узнать количество коммитов за определенный период времени можно следующим способом:

Количество коммитов в текущей ветке за указанный период времени:

git rev-list --count HEAD --since="Jan 1 2016" --before="Dec 31 2016"

Количество коммитов по всем веткам за указанный период времени:

git rev-list --count --since="Jan 1 2016" --before="Dec 31 2016" --all

Количество коммитов (исключая мержи) по всем веткам за указанный период времени:

git rev-list --count --since="Jan 1 2016" --before="Dec 31 2016" --all --no-merges

[Smart TV] Прямой эфир в приложении «Первый канал» – решение

Удалось выяснить проблему, из-за с августа прошлого года не работал прямой эфир в приложении «Первый канал» для Samsung Smart TV на базе Tizen.

Похоже, что в обновлении прошивки, которое было выпущено в начале августа 2017, перестал корректно обрабатываться External WebVTT Track в манифесте HLS видеопотока, из-за чего наличие тега #EXT-X-MEDIA:TYPE=SUBTITLES приводило к сбою видеоплеера.

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

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

Сейчас мы сделали так, что для телевизоров Tizen отдается видеопоток прямого эфира без тега #EXT-X-MEDIA:TYPE=SUBTITLES. Проверка осуществляется на наличие User-Agent samsunghas-agent, потому что именно его отсылает видеоплеер.

Adobe Creative Cloud – повышение цен

О повышении цен на подписку Adobe Creative Cloud было известно еще в начале этого года. Более трех лет Adobe держала стоимость подписки на уровне 1 доллар = 30 рублей, и стоимость тарифного плана «Для фотографов» (Photoshop + Lightroom) обходилась в 3 588 в год.

Теперь же Adobe решила решила устранить несправедливое ценообразование, и повысила тариф до 7 728 руб. Для США стоимость данной подписки равняется $119.88, что в переводе на текущему курсу (1 доллар = ~60 руб.) должно быть 7 200 руб. Получается, что Adobe считает по более завышенному курсу (около 65 рублей за 1 доллар).

Но более важно то, что сумма в 7 728 руб. не включает налоги в виде НДС, а это 1 392 руб. сверху. Итоговая сумма получается 9 119 руб.

Лайфхак: для экономии средств можно использовать оформление подписки через американский стор, там сумма в $119.88 не включает налоги.

This Gradle plugin requires Studio 3.0 minimum

Если при переходе на Gradle версии 3 и выше в IntelliJ возникает ошибка «This Gradle plugin requires Studio 3.0 minimum«, то в этом случае в файл gradle.properties необходимо добавить следующую строчку:

android.injected.build.model.only.versioned=3

Evernote -> OneNote

Два года назад написал заметку о приложениях, которые использую в своей работе. Среди прочего там упоминается Evernote – приложения для ведения заметок.

Одним из преимуществ Evernote была возможность синхронизации заметок между устройствами. Но после того, как схема монетизации у Evernote поменялась, и синхронизировать заметки в бесплатной учетной записи можно стало возможно только на двух устройствах (что меня полностью не устраивало), пришлось искать альтернативу Evernote. Но долго искать ее и не пришлось – выбор практически сразу пал на OneNote от Microsoft, который полностью бесплатен для использования.

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

Еще радует отличная реализация клиента для OS X (как и всего пакета Microsoft Office), ведь еще несколько лет назад офисными приложениями для OS X пользоваться без слез было невозможно.

Не работает прямой эфир в «Первом канале» (Samsung Smart TV Tizen)

После того, как несколько недель назад для телевизоров Samsung Smart TV на базе Tizen 2.3 (а это модели 2015 года) вышло обновление прошивки до версии 1501, в приложении «Первый канал» перестал работать прямой эфир.

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

Похоже, что инженеры Samsung что-то добавили в прошивку такое, что повлияло на работу HTTP Live Streaming, при чем это относится к Live-трансляциям, т.к. VoD-контентом, который передается также через HLS, проблем не возникло.

Мы отписались в Samsung начет возникшей проблемы, но, к сожалению, пока совершенно не понятно, когда проблема будет исправлена.

UPD: Samsung признало ошибку. Фикс будет выпущен в следующем обновлении прошивки, но они не могут дать сроков, когда это произойдет.

[Git] Как узнать название ветки

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

Для того, чтобы узнать название ветки, достаточно выполнить команду git branch.

Однако проблема заключается в том, что команда выводит список всех веток, помечая рабочую ветку звездочкой (*):

git branch
*dev
master
discount
redesign
...

Из всего этого списка нам нужно вычленить название dev, да еще и без звездочки.

Решение:

git branch | grep \* | cut -d ' ' -f2-

[Git] Warning: Unprotected Private Key File!

Если при попытке выполнить команду (к примеру, git fetch) будет выведена ошибка «Unprotected Private Key File!», то значит у вас выставлены некорректные права доступа:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/path/.ssh/id_rsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
key_load_private_type: bad permissions
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
error: Could not fetch origin

Решение:

find /path/.ssh/id_rsa -type f -exec chmod 600 {} \;
find /path/.ssh/ -type d -exec chmod 700 {} \;

Обновление приложения «Первый канал» для Philips

На прошлой неделе для телевизоров Philips с функций Smart TV выпустили обновление приложения «Первый канал».

Увы, это произошло спустя полтора года после выхода разработанной нами новой версии приложения, но, как говорится, лучше поздно, чем никогда. К тому же, пользовательская аудитория, использующая Philips, весьма ограничена, поэтому основной фокус делается на крупных вендоров, таких как Samsung и LG.

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

[Кино1ТВ] Обновление приложения для Android

Основная концепция интерфейса приложения Кино1ТВ не менялась с самого первого выпуска – в горизонтальном меню располагались три вкладки (Премьеры, Подписка и Амедиатека), в фильмы были помещены в вертикально прокручивающиеся списки. Такое решение было разумным, когда контента на сервисе было немного, но с увеличением числа фильмов ориентироваться в списках становилось все сложнее.

Новый интерфейс мы решили сделать таким же, как используется в Google Play Movies. В отличии от проектирования интерфейсов под Android TV, где используется фреймворк Leanback, здесь Google не снабдил разработчиков готовыми шаблонами, поэтому интерфейс пришлось строить самостоятельно – где-то помогли библиотеки от Google, где-то сторонние.

В конце апреля новая версия приложения появилась в Google Play.

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

[Кино1ТВ] Обновление приложения для Android