LINUX.ORG.RU

Избранные сообщения batbko

ПО для живого телевещания мероприятий

Форум — Development

Всем привет! :)

Прошу посоветовать куда копать, чтобы реализовать искомое. Каков рекомендованный стэк технологий: ЯП, ПО, библиотеки, стандарты, протоколы, сервисы и пр?

Перечень требований, что имею на руках:

  • Базируется на свободном ПО;
  • Работа с клиентами через браузер;
  • Трансляция видео-, аудиопотоков с выбором качества на клиенте;
  • Обеспечение возможности монтажа видео-/аудио потоков с поддержкой наложения, картинок в картинках (любое кол-во, любой вложенности) и пр. эффектов в прямом эфире;
  • Возможность для посетителей подключиться в качестве зрителя с использованием своих микрофона/вебкамеры;
  • Отображение на сайте подключенных зрителей с возможностью получения инфы по каждому (что зритель о себе оставил/позволил отобразить);
  • Поддержка [группового] «звонка в студию»;
  • Поддержка «подмеса» аплодисментов/реплик от зрителей (когда можно по логике мероприятия - песня кончилась или семинар идет);
  • Групповые/приватные чаты/видеоконференции с шарингом рабочих столов для знакомств, обсуждений, пр.;
  • Интеграция с соцсетями и пр. сервисами.

Премного благодарен за любую полезную инфу по-существу! :)

 , ,

illy
()

Vim Ctrl+T

Форум — Development

Привет.
Прыгнул на тэг с помощью Ctrl+], вернулся назад с помощью Ctrl+T. Как пойти опять вперёд, не указывая тэг?

UVV
()

Операционная система GNU Emacs завоевывает десктоп! :)

Галерея — Скриншоты

Операционная система GNU Emacs получила новые возможности! Собрал волю в кулак и написал библиотеку, которая практически полностью реализует протокол X11. Библиотека незамысловато называется x11 и написана на чистом Emacs Lisp, но пока имеет статус technical preview, хотя в принципе уже можно писать что-то реальное. За основу пока взяты описания протокола на XML из проекта XCB, которые разворачиваются в реализацию. В результате имеем практически все расширения. Работа с протоколом осуществляется в асинхронном стиле подобно XCB. Чего пока нет:

  • MIT-SHM. Запросы реализованы, но работать через разделяемую память из операционной системы Emacs мы пока не можем, поэтому Будем через сокет закидывать. Тем более, что разница в скорости, говорят (видел где-то в инете замеры), не такая сумасшедшая.
  • XKB. Просто забыл реализовать пару конструкций XML, используемых для описания этого расширения. Это я скоро реализую, поэтому расширение будет работать в полном объеме.
  • Big-requests. Тоже будет реализовано. Расширение содержит всего один запрос. Он реализован. Но именно для этого расширения надо несколько перелопатить процедуры формирования запросов к серверу X, так как подсчет размеров запросов изменяется с этим расширением.
  • GLX. Огромнейший пласт. За него возьмусь сильно позже. Тут же еще надо полностью сгенерировать протокол GL, а он очень обширный.

Остальные расширения вроде бы должны работать, если их описания правильные и если я что-то не упустил принципиального. Я работу всех расширений даже не проверил, так как очень спешу радостью поделиться. :)

(размер экрана уменьшил до 1024x768, чтобы скриншот поменьше был)

На скриншоте сверху робкая демонстрашка в стиле LSD основного протокола X11 (Core protocol). Ну с arcs, rectangles и core fonts все и так понятно. А вот как выведены фотографии? Я пока не настолько крут, чтобы писать растеризацию jpg и png на Emacs Lisp. Пораскинув мозгами, пошел смотреть, чем может помочь ImageMagick. Оказалось, есть там возможность получить дамп картинки в нужном формате. Так и сделал: надо отобразить картинку - дергаем stream, она нам отдает дамп в буфер, мы его отсылаем в сервер X. «Привет, Isden» написана мышкой. Демка отслеживает событие motion-notify и рисует маленький квадратик под указателем. По кнопке «q» - выход (отслеживается событие key-press)

На скриншоте снизу робкая и неумелая демонстрашка расширения XRender. Тоже в стиле LSD. На ней мы видим linear gradient, radial gradient, треугольник и отрисовку сглаженных окружностей. Окружности состоят из трапезоидов. Алгоритм рассечения (tessellation) я применил первый, какой мне пришел в голову - горизонтальными трапециями. Какая есть проблема? Сглаженный текст! Что-то мне писать растеризацию TrueType или Type1 на Emacs Lisp не улыбается. Есть идея написать программку на Си с помощью Xft, которую я буду что-то просить растеризовать, а она результат будет отдавать в Emacs. То есть примерно как и с ImageMagick поступить.

Надо хорошенько переобдумать API библиотеки, чтобы его заморозить. При этом надо учесть потенциальные и вероятные будущие новшества в Emacs и в библиотеке, чтобы людям не пришлось переписывать то, что написано ранее. Есть недостатки в Emacs, которые реально мешают и раздражают. Преодолимы, конечно, но это будут костыли. Если интересно, то потом поясню, а то уже и так много воды налил.

Так что есть потенциальная возможность воплотить мечту atoku в жизнь. :)

Традиционная ссылка на обоину: #888888. Старую удалил, так как она надоела, а новую еще не искал. Этот серый цвет реально бесит. :)

>>> Просмотр (1024x1536, 254 Kb)

 , ,

Zubok
()

Где взять программистских задачек?

Форум — Development

Накидайте сборников простых задач для программистов (например). Главное — чтобы можно было реализовать автоматическую проверку правильности решения (использование stdin и stdout). Желательно, на английском. Лучше с решением.

 

CYB3R
()

Повышение квалификации: посоветуйте литературу

Форум — Development

Добрый день. Умею говнокодить на C++, хочу развиваться и получать больше денег. Иду смотреть вакансии яндекса и вижу вопрос:

Какие из следующих стандартных контейнеров позволяют найти в них элемент (по его значению) за O(ln(n))?

std::vector

std::list

std::deque

std::set

std::multiset

std::hash_set

сортированный std::vector

сортированный std::list

сортированный std::deque

сортированный std::set

сортированный std::multiset

сортированный std::hash_set

Аргументируйте ответ, прокомментируйте правильность постановки вопроса

И понимаю, насколько я еще ничтожен. Что такое O(ln(n)) я еще понимаю, но какие алгоритмы используются в стандартной библиотеке - могу только догадываться. Хотя, возможно, вопрос на самом деле не сложный и я даже знаю как на него ответить, не углубляясь в детали реализации. Но всё равно хочется поднять свой уровень. В связи с этим посоветуйте литературу, чтобы углубить знания стандартной библиотеки C++ и вообще знания алгоритмов и с этими знаниями смочь устроиться в нормальное место.

Пожалуйста, не предлагайте перейти на другой язык, это слишком долго.

Ну и заодно пусть развернется дискуссия по поводу решения задач от яндекса:

Перемещено mono из talks

 ,

Hrenomoto
()

Редактирование на одном хосте, сборка на другом

Форум — Development


  • Есть хост на котором удобно редактировать сорцы.
  • Есть сервер на котором надо собирать(vagrant box, часто сносится и поднимается заного).
  • Сорцы доступны на сервере через nfs шару.
  • Время отличается на хост машине, и в боксе.
  • Сборка через autotools



Хотелось бы не меняя времени ни на хосте ни в боксе, иметь возможность собирать не пересобирая проект заново.

Второй кейс:
есть буржуйский сервер на котором надо собирать - вермя там менять нельзя, у себя менять время тоже не охота. А вот кодить хочется в своём окружении. Ситуация с сорцами та же - смонтированны по nfs.

Может быть есть какие то опции для nfs? Или для make?



 , , ,

batbko
()

Arch Linux, KDE, лёгкий закос под Unity

Галерея — Скриншоты

Как-то так. Arch Linux, KDE 4.12.2.
На скриншоте видим лёгкий закос под Ubuntu Unity. Зачем? Потому что использовать сей закос удобнее, чем саму Unity (субъективно).
Заголовки у окон, кстати, не нужны. Вы знали об этом? Кнопки minimize/maximize/close в правом верхнем углу для любого окна. Внезапно - удобно и нисколько не мешает.
Плазма: Unity Ambiance
Вместо значков: KFaenza
Стиль окон: Oxygen (Пилил-пилил QtCurve, в итоге бросил)
ШГ: Ubuntu
Скриншот без окон, обоина.

В Kate - быдлокод, зачатки клиента для ЛОРа на Python. К сожалению / К счастью вряд ли этому суждено развиться во что-то работающее; по причине ниасиляторства, лени и недостатка времени забросил на самом начале.

>>> Просмотр (1600x900, 870 Kb)

 , ,

evilmanul
()

Группы по алготритмам и подсказки от лора

Форум — Development

Где есть живые (англоязычные с хорошим траффиком приветствуются) группы алгоритмических тусовок, конкретно вокруг структур данных. Нужны мозги.

Проблема следующая есть данные задаваемые в виде таких векторов

([a,b,c], [1,3].....[T,F]) -> X1
...
([a,b,c], *, *, 1, ..[T]) -> X2

То есть векторами длиной N где каждый элемент является списком допустимых значений. Таких X - скажем меньше сотни тысяч. Нужно делать по этому множеству позиционные запросы вида

(a, 1 | 2, * ... F)

Внимание задача - нужно делать их быстро: <30ms, 1000+qps. Всякие spatial data structures(k-d, r и прочие деревья) я разрыл - оно то работает, но только требует океаны памяти. Например при N=20 при преобразовании в точки, если X определен 2мя значениями в каждой позиции то это 2^20 точек на один X. Берем таких 100k x 1M = 100G точек.

То есть как-то работаю пока * в данных много - еще как-то помещаюсь хоть куда-то с небольшим кусочком - но до нужных цифр пока как до неба.

Ключевые слова или ссылки на группы где тусуют люди которые могут знать ключевые слова приветствуются.

 big fuckin data, ,

r
()

Android больше не нужен

Галерея — Скриншоты

Allwinner A10 (Wexler.TAB 7000)
Gentoo, XFCE4
xvkbd в фоне
Тема gtk+ NumixHolo (так же есть самопальный rgba вариант с прозрачным меню под цвет заголовка, но с composite заметен тиринг, так что пришлось отключить)
gtk3 нет и не будет.
Angry Birds 2.3 через apkenv - враппер для android jni (переписанный интерфейс с поддержкой изменения размера окон) - почти нативные птички получаются.
Изображение по x11vnc
Мой форк: https://github.com/mittorn/apkenv/tree/linux-x11
30 минут потратил на попытки залить изображение, пришлось сжимать в jpeg. Админы, очнитесь!!!

>>> Просмотр (802x503, 272 Kb)

 , , ,

mittorn
()

Разработка приложений для iOS в Linux

Галерея — Скриншоты

Задумался я тут после Jailbreak своего iPhone о разработке приложений на своём ноутбуке. Причём захотелось сделать так, чтобы этим потом могли пользоваться и другие. Нашёл мануал, собрал тулчейн в Ubuntu 13.10... Из-за особенностей местного шланга ничего у меня не вышло. Взял aptosid, собрал тулчейн, скомпилировал консольный HelloWorld и закинул в iPhone... Заработало! Больше не нужно утомительной возни со сборкой хакинтоша, заведением девелоперских аккаунтов и прочей тырпрайзной ерунды от Apple. Теперь можно взять легковесную виртуалочку, которая запускается на любом компьютере, и создавать приложения, не используя громоздкие IDE и прочий буллшит.

Но, помимо всего прочего, мне захотелось приятно оформить виртуалочку перед тем, как раздавать её народу. Компоненты следующие:

  • Тема Gtk2, Gtk3 и XFCE: Numix Holo
  • Иконки: Compass
  • Шрифты
    • Lucida Grande, свистнутый понятно откуда
    • Monaco в консоли, свистнутый оттуда же и допиленный кем-то на гитхабе
  • Обои: немного переделанный дефолт из Gnome 3

Из небольших доработок: вместо стандартной запускалки в XFCE по Alt-F2 вставил gmrun и вместо notify-демона поставил Dunst. Осталось лишь написать несколько красивых страничек с гайдом по SDK и можно паковать виртуальную машину для распространения.

>>> Просмотр (1366x768, 779 Kb)

 , , , ,

like-all
()

Формат для комментов ревью кода

Форум — Development

Существует ли открытый сабж в природе или только чуваки из altassian доперли что это круто?

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

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

Так же желающие могут высказаться тут ибо буржуи иногда тоже блеснуть могут.

Хотелось бы услышать ваше ненужно мнение по следующим вопросам:

  • Какая информация должна в итоге сохраняться?
    • Судя по всему должен быть текст коммента
    • Нужна ли дата?
    • Наверное было бы неплохо знать кто недоволен?
    • Что то ещё?
  • Можно ли как то всё это дело встроить в форматы поддерживаемые diff не ломая совместимость?
  • Как бы выглядел такой формат, при всех прочих требованиях, какой набор стандартных утилит был бы нужен для работы с ним?

 , ,

batbko
()

IBM system i aka(OS/400) aka (AS/400) Google Test

Форум — Development

Так как какой никакой unix-compatibe там есть решил и сюда запостить.

Портировал под это поделие IBM гугло тесты, правда 1.6.0 а не новенькие, но мало ли кому пригодиться.
Взять можно тут.
Работы там не много, но многие не захотят даже время терять дабы разбираться, поэтому решил постараться наследить в интете дабы гуглилось.

P.S. вообще мне понравилось насколько изи портировать этот фреймворк под куда угодно где есть c++ и какое нибудь устройство для стандартного вывода :)

 , , , systemi

batbko
()

Чтение Tzif2

Форум — Development

Кто нибудь знает либу или софт(желательно с открытыми сорцами), который умеет читать файлы с такой сигнатуркой?

Как я понял, это файлы временных зон в формате olsen datase.

 , , tzif

batbko
()

Сохранение авторства при использовании git-svn

Форум — Development

Кто нибудь знает как сохранить автора коммита (Того что в git) при вызове git svn dcommit?

Пробовал сделать и указывать authors file (git svn dcommit --authors-file=<path to authors file>) - не работает.

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

 ,

batbko
()

Gmock cross compilation via cmake.

Форум — Development

Кто нибудь собирал сабж под arm платформу с помощью cmake? Ну или с помощью autotools на крайний случай?

Тулчейн

Toolchain file:

set(CMAKE_SYSTEM_MAKE Linux)

set(CMAKE_C_COMPILER   /usr/arm-marvell-linux-gnu/bin/arm-marvell-linux-gnu-gcc )
set(CMAKE_CXX_COMPILER /usr/arm-marvell-linux-gnu/bin/arm-marvell-linux-gnu-g++ )
set(CMAKE_AR /usr/arm-marvell-linux-gnu/bin/arm-marvell-linux-gnu-ar)



set(CMAKE_FIND_ROOT_PATH /usr/arm-marvell-linux-gnu)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

 , , gmock

batbko
()

IPC между приложениями запущенными от разных пользователей.

Форум — Development

Возможен ли сабж без использования сетевых сокетов? Если возможно то «what a best practice» собственно?

batbko
()

Gtk properties

Форум — Development

Есть ли способ отловить изменения свойств у обьекта ?

 ,

batbko
()

GTK multiline tab widget.

Форум — Development

Существует ли в природе Tab widget написанный на GTK в котором заголовки табов располагаются в несколько строк? Ну или на крайний случай есть ли способ вызвать функцию которая рисует заголовок таба у GtkNotebook, дабы костыль заимплементить ?

 , gtknotebook

batbko
()