LINUX.ORG.RU

Сообщения Krieger_Od

 

Ищу либу для 2d анимации

Нужно отрисовать много разноцветных прямоугольничков, надписи на них (к надписям ещё динамическое fade in/out появление-исчезание). Потом некоторые квадратики по закону гомотетии будут расти-уменьшаться, смещаясь. Всю эту радость надо параметрически рендерить в видеофайл.

Чем бы подсобить себе в этой задаче? Владею только libavfilter, но там каждый объект и каждую надпись нужно отдельным элементом в pipeline добавлять, это как-то выглядит трудоёмко, и есть подозрения, что это будет неэффективно по производительности.

Подозреваю, что Blender вполне справится, но поиск по «blender 2d animation» выдаёт сразу всякие сложности типа рисования мультика. А того, как накидать блендерный скриптик, который заставит двигаться элементарную фигуру или надпись, нигде пока не нашёл.

Народ, подскажите!

 , , ,

Krieger_Od
()

Seek on video from stdin

Дано: видеопоток MPEG TS подаётся плееру через stdin. Нужно по запросу пользователя уметь делать seek назад в ограниченных пределах, а также обратно к текущему моменту. Пробовал VLC - не умеет. ffplay каким-то образом умеет, но это не плеер.

Какие плееры умеют?

 

Krieger_Od
()

tee_ng(1) using tee(2)?

Только что проверил исходники утилиты tee из coreutils, там банально read() и fwrite(). Интересует производительность при скудных ресурсах. Есть где-нибудь уже написанная утилитка, которая распараллеливает входной поток, используя системные вызовы tee и splice? Написать таковую несложно, возможно, так и сделаю, если не найдётся готовое.

 ,

Krieger_Od
()

Amazon VPS, длинные UDP видны сниффером, но не доходят в приложение

Тип инстанса - l3.large, на t2.micro то же самое.

Шлём (обязательно с другого хоста) датаграмму так, например:

import socket
 
UDP_IP = "123.123.123.123"
UDP_PORT = 33333
MESSAGE = """
.....0010......0020......0030......0040......0050......0060......0070......0080......0090......0100
.....0110......0120......0130......0140......0150......0160......0170......0180......0190......0200
.....0210......0220......0230......0240......0250......0260......0270......0280......0290......0300
.....0310......0320......0330......0340......0350......0360......0370......0380......0390......0400
.....0410......0420......0430......0440......0450......0460......0470......0480......0490......0500
.....0510......0520......0530......0540......0550......0560......0570......0580......0590......0600
.....0610......0620......0630......0640......0650......0660......0670......0680......0690......0700
.....0710......0720......0730......0740......0750......0760......0770......0780......0790......0800
.....0810......0820......0830......0840......0850......0860......0870......0880......0890......0900
.....0910......0920......0930......0940......0950......0960......0970......0980......0990......1000
.....1010......1020......1030......1040......1050......1060......1070......1080......1090......1100
.....1110......1120......1130......1140......1150......1160......1170......1180......1190......1200
.....1210......1220......1230......1240......1250......1260......1270......1280......1290......1300
.....1310......1320......1330......1340......1350......1360......1370......1380......1390......1400
.....1410......1420......1430......1440......1450......1460......1470......1480......1490......1500
.....1510......1520......1530......1540......1550......1560......1570......1580......1590......1600
.....1610......1620......1630......1640......1650......1660......1670......1680......1690......1700
.....1710......1720......1730......1740......1750......1760......1770......1780......1790......1800
.....1810......1820......1830......1840......1850......1860......1870......1880......1890......1900
.....1910......1920......1930......1940......1950......1960......1970......1980......1990......2000"""
 
print "UDP target IP:", UDP_IP
print "UDP target port:", UDP_PORT
print "message:", MESSAGE
 
sock = socket.socket(socket.AF_INET, # Internet
                     socket.SOCK_DGRAM) # UDP
sock.sendto(MESSAGE, (UDP_IP, UDP_PORT))

принимаем таким «сервачком», например:

import socket

UDP_IP = "172.31.4.102"
UDP_PORT = 33333

sock = socket.socket(socket.AF_INET, # Internet
                     socket.SOCK_DGRAM) # UDP
sock.bind((UDP_IP, UDP_PORT))

while True:
    data, addr = sock.recvfrom(0x10000)
    print "received message:", data

Параллельно мониторим сниффером это дело (часть после «or» кажет сегменты после первого):

ngrep -t -e -d any -W byline -O large_udp.pcap port 33333 or '(ip[6:2]' '&' '0x1fff)' '!=' '0'

О хосте:

 # uname -a
Linux hostname 3.16.0-30-generic #40~14.04.1-Ubuntu SMP Thu Jan 15 17:43:14 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Что имеем: сниффер видит данные, но в сокет приложения эти данные не поступают. То есть совсем не поступают. Тот же тест стабильно работает на пятибаксовой VPS от DigitalOcean.

Один раз dmesg сказал такое:

[  102.161679] UDP: bad checksum. From ойпишнег:56439 to 172.31.4.102:33333 ulen 2008

Один добрый человек подкинул ссылку на эту жалобу: https://forums.aws.amazon.com/thread.jspa?messageID=597165 . Там речь тоже о контрольных суммах.

Кто-нибудь сталкивался? Идеи?

 , ,

Krieger_Od
()

Camera storage dumping & power charging gadget?

Есть ли такие устройства, которые позволяют легко слить всё содержимое памяти камеры/фотоаппарата через USB интерфейс, и при этом подзарядить камеру? Мне представляется такое устройство фактически без интерфейсных кнопок.

Если такие устройства есть, как они называются, каковы удачные примеры серийных изделий?

 

Krieger_Od
()

*.gpx (guitarpro) viewer?

Есть под онтопик?

 

Krieger_Od
()

LustreFS: оно ещё живое?

Имеет ли смысл идти на позицию разработчика в этот проект? Сайты проекта серьёзно так подёрнуты тленом нерабочих ссылок. Гит-репозитории не вытягиваются по урлу git://git.whamcloud.com/fs/lustre-release .

shad0w - есть что сказать?

 

Krieger_Od
()

Ukranian Linux kernel developers party?

Запостил на dou.ua предложение собраться украинским разработчикам, занимающимся _ядром Linux_ (не просто всяким разработчикам): http://dou.ua/forums/topic/11717 (на данный момент тема проходит модерацию).

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

post-factum, vertexua, vurdalak, sphericalhorse, segfault, w1nner, observer. Простите, кого зря побеспокоил, и кого забыл.

Ещё, будь ласка, кто-нибудь заинтересованный с учёткой на linux.org.ua, напишите и там.

 ,

Krieger_Od
()

Ищу симулятор барабанной установки

Чтоб выдавал звук разных ударных инструментов обыкновенной барабанной установки, по нажатию клавиш. Просто для ознакомления с ударными. Есть флешовые поделки, но там большая задержка.

Krieger_Od
()

IDE for Linux kernel?

Привет. Был кое-кем озадачен: для учебных курсов программирования в ядре линукс хотят использовать какой-либо IDE (ими был предложен QtCreator). Да, я сам, как вимщик, был ошарашен таким кощунством, но выражать своё доколе/ненужно пока не нужно.

Вопрос к _практикам_ разработки _ядра_: есть ли хоть какой-то популярный бесплатный IDE, позволяющий с полпинка автоматизировать хоть какой-то процесс, скрыть хоть одну низкоуровневую сущность из процесса написания и компилирования кода?

Всем заранее спасибо за толковые комменты с описанием личного практического опыта.

 ,

Krieger_Od
()

IM-сети

Хочу собрать инфу, кто чем пользуется из сетей обмена сообщениями.

Ясно, что по массовости лидер - скайп, и скайп же лидер по количеству ниспосылаемых ему проклятий.

Jabber - архитектурно тру, по массовости не очень, несмотря на почтенный возраст технологии.

Tox - принципиально тру, по архитектуре и реализации пока неясно, до массовости пока рано, раз уж даже чаты (были?) неюзабельны.

Что ещё есть? За чем будущее, за развитием какого проекта стоит следить? За какую сеть стоит агитировать хотя бы прогрессивных коллег (помним, что ценность сети растёт с ростом числа участников)?

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

Если будет актуально, можно будет после сбора мнений устроить опрос, сколько людей чем пользуется.

 , , ,

Krieger_Od
()

Нужен «гуру» для начинающего линуксоида в Москве, оплата пивом

Хороший товарищ, проживающий в Москве, хочет установить на ноутбук ASUS X550C линукс и прикладной софт (скайп, PDF вьювер, офис). Ранее он имел опыт установки убунты. Но человек не спец в этом, и не имеет кучи времени для обретения всезнания. Для подстраховки, хотелось бы найти для него опытного «старшего товарища» в шаговой доступности, на случай проблем. Оплата пивом. Или, возможно (он - студент-медик), пирсингом или иными мед. консультациями/услугами :)

Пишите свои контакты, район(ы) города, и какой дистр/DE вы предлагаете поддерживать.

Заранее спасибо.

 ,

Krieger_Od
()

Грузия, coworking/campus

Ищу в Грузии IT-коворкинг, поработать, пообщаться с коллегами. Ну и вообще кто оттуда - расскажите, как чо, где удобнее поработать туристу-удалёнщику, по возможности совместив это с прогулками по взгорьям.

Да, есть ли активная LUG, или форум типа ЛОР, или тамошние тусуют на ЛОРе (что вряд ли)?

Krieger_Od
()

Qt + multimedia

Ищется мейнтейнер одного специфического десктопного медиаплеера: https://github.com/bluecherrydvr/bluecherry-client/ . Заказчик - в США, сотрудничество - через oDesk. Способ связи - любой на ваш выбор, например, http://www.bluecherrydvr.com/contact/

 ,

Krieger_Od
()

Поделитесь preseed-настройками установки Ubuntu 14

У кого есть, пожалуйста, подкиньте ваш рабочий пример. Особенно интересует работа директивы late_command, у меня почему-то не работает.

 ,

Krieger_Od
()

Retroshare P2P network

В обсуждении сети Tox упомянули Retroshare. Несмотря на невыгодную схожесть имени с Rapidshare :), поделка выглядит серьёзно, клиенты проработаны гораздо больше, чем для tox. Есть поддержка VoIP. Предлагаю всем лором потестить, а возможно, и всерьёз начать пользоваться этой сетью.

Создали чат-комнату для ЛОРа. Добавляйтесь в друзья и получайте инвайт в неё.

Мой серт:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: OpenPGP:SDK v0.9

xsBNBFPKNhYBCADCg0yyLrm5Wa9yhEB6BIGUQjV8G+Uujqqc3qDYYrqZvKWzDbxV
rRoQrXoDnILOYYM0fIjWyNz8Tr0Cfd++2k8iZpHq+vrwFuZD/7uXW9FFVFWCth7p
wxnd4A3RcC6Zj6NA8jpnWSDSj2ZNFZ/eyMeMKYx+8cFYXUXaMcdowA6/UJBMKrRO
civy5OD8CDUQzzPQ4hXmLI8a8ATUZYJq6cbv7i408/EX1cEc+VmnWfNVafYYu/pp
T3Ar2brAS0ORzeh9PY2lcMVPRMDTpxpVVUXYbGFylLFVX+xCqXG0KAHVt7f6UUwr
wK8/5jKBQ5dtR9N3nWyUhgFIWcM1nxDac9IrABEBAAHNKUFuZHJleSBVdGtpbiAo
R2VuZXJhdGVkIGJ5IFJldHJvU2hhcmUpIDw+wsBfBBMBAgATBQJTyjYWCRDS9eI1
2iXX0AIZAQAAmNYH/jx0tf9Lhh7lRzR95aJFMc4h4R5YMn1c5C2dLeQ96oHbHUKW
/3UgTphjx/gb6uENPBbrYb0BAvajVF2CJMfbpDs7qqzkPh8HwE874pFEsp/6YzD0
vfD7Ipz2xrY17uu3EHFfHT8WpsMeswBFz4WfAULtoycISvVHE+k3iNIAie1yTb3g
8a66/SMvkG0mUQ9nzD1T8iL6aEbguyqrEM4SFFC9j9BSJ3jPy0j3FulYqvUNtIYS
JPtNgLrdiHvI+TuRmXi16rQ4aiDqwMlrSzvC2xXP2PQHv/K55BchSS4lTwETZMOF
ic8dEzkvHi+2UY2EtEG3Ji6lY51bGV7wvT7l9OU=
=LvFY
-----END PGP PUBLIC KEY BLOCK-----
--SSLID--134726233f74f0074d66ca40cc190f00;--LOCATION--acer;
--LOCAL--192.168.0.100:64297;--EXT--37.203.18.229:64297;

Серт ещё одного лорчанина, который уже там:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: OpenPGP:SDK v0.9

xsBNBFPKN0gBCADdpkPUAGxABn20RE6UT/hKOZcSgXal6941iR6CULHbm/Jk+nAg
AS51B2/8a/eqG8o8yvPSy91k4AvjzGKGYVyb9cZ7/Ifjk/BrnWrpezLMefQr1+of
iAb9ucsGuPamMph5QGSeadiF0uSYL+Od9+MbW9iZyIM/JHShzBSX+smofuXsBlsD
eSnI65vjVo9cotmVOcS2PbJPnstm8VDfYsRYs3pS/j8Ka22SUQIhBiMW441RU3RE
JPuSvUNup3JCApjy3qHGMyF7gqcpQokrKdhf00tDR0qEQRgFWxIUAnXyd+SvHKLR
YtTNF3ZSi3AVN1BTjdd9kr6cZidUsu4ZspSzABEBAAHNIFVTUyAoR2VuZXJhdGVk
IGJ5IFJldHJvU2hhcmUpIDw+wsBfBBMBAgATBQJTyjdICRCJxU33p9n58gIZAQAA
1rUIAKXUnhDEiBYKe06VKBmKHEWQpEwQOiT+P5BwcPUj3dGmA5oydFdoz5GgoJTE
m+BRA/G/Zv13t+Tw9OIt8Lk13Kjfu5U1y6Xxtsu2UkYmSEZEFdCgyFFlfCCsJpWm
5tm2712CUrrRVfY9MZ9pMKrZTSbRxJ+kTQ2cSJN27MGE9zvdp/q9E6aRH64puFPe
uS/PBNhQmk5a3h4F8Zt5kFKhW0SUInGRw+WaJXnoZ7WqnaNXWza1cL5FUJNez0zR
k8iKQIcJQpTUs/cud7b6SaqP4PFyhHKtultoQCLkLk3kDzEa1okyj/iOUqYjrXAh
hmiJ86APtyd1UEmxCQ+6Uz/8HLQ=
=sjpw
-----END PGP PUBLIC KEY BLOCK-----

post-factum, я не нашёл, куда ввести твой retroshare:// урл.

 , ,

Krieger_Od
()

Поясните на конкретном примере, что можно выудить из kernel bug trace

Извиняюсь, отправил рано.

https://bugzilla.kernel.org/show_bug.cgi?id=80091 - иссуя, человек прикрепил dmesg. Ясно, что смотреть надо в первую очередь в rmi_probe+0xab. Сделал

objdump -dS ./drivers/hid/hid-rmi.ko > /tmp/ko.s
, дальше мало что понятно.

 ,

Krieger_Od
()

Нужна помощь в разработке драйвера мультимедиа-платы

Платы - SoftLogic 6{0,1}10. V4L2 + ALSA. Спецификация гуглится по `solo6110 datasheet`. Драйвера открытые, в `drivers/staging/media/solo6x10` и на https://github.com/bluecherrydvr/solo6x10/

Мой интерес - разобраться в тематике и решить проблемы работодателя. Неплохо было бы проконсультироваться по нескольким вопросам, касательно которых чтение спецификации и прочих источников мне не даёт ответа. На данный момент покуриваю Linux Device Drivers 3rd edition, но всё равно нет чёткого понимания, как сабжевый драйвер устроен и что конкретно в нём не так.

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

 , ,

Krieger_Od
()

Сравнение и сортировка версий пакетов ПО

Интересно и не очень понятно, как это реализовано где-либо, в частности, в Gentoo Portage и DPKG.

Вступление. Если у нас версии ПО имеют вид, например, 10.11, 12.13.14, 15.16.17.18 - всё легко и просто, можем работать с ними, как со строками, где символы - числа, разделённые точками, и сортировать как-бы лексикографически. А сортировать нам нужно, чтобы узнать, какую версию выбрать, как самую свежую из доступных. Ну и уметь просто сравнить нужно, чтобы узнать, доступно ли повышение версии.

Встречается такая вариация: 10.11.12-13, а ещё в deb-пакетах (не вникал, зачем) фигурирует первое число с двоеточием: 10:11.12.13-14. Допустим, мы можем все эти разделители (:, -) заменить на точки и работать по предыдущей схеме.

Но ещё есть такая фигня, как release candidate, обычно версия записывается как 10.11-rc12. При этом, по задумке, версия 10.11 будет _выше_, чем 10.11-rc12, и вот тут в голове у нас что-то больно хрустит.

А ещё в deb-пакетах часто строка версии просто отвал башки:

zlib1g                                    1:1.2.3.4.dfsg-3ubuntu4
xz-lzma                                   5.1.1alpha+20110809-3
xkb-data                                  2.5-1ubuntu1.3
vim                                       2:7.3.429-2ubuntu2.1
ucf                                       3.0025+nmu2ubuntu1
tzdata                                    2014e-0ubuntu0.12.04
sysv-rc                                   2.88dsf-13.10ubuntu11.1
ntfs-3g                                   1:2012.1.15AR.1-1ubuntu1.2
login                                     1:4.1.4.2+svn3283-3ubuntu5.1
librtmp0                                  2.4~20110711.gitc28f1bab-1
libroken18-heimdal                        1.6~git20120311.dfsg.1-2

Вопросы:

1. Я продвигал rc-версии своих пакетов в Portage Tree, например. Не ломает ли запись типа 1.2.3-rc4 механизма сравнения там?

2. Сейчас я поддерживаю ПО, которое пакетится (и пакетилось ранее) в deb-дистрибутивы с версиями типа 1:2.3.4-5 в пакетах, для человеков анонсированная версия озвучивается как 2.3.4 или 2.3.4-5. Часть после дефиса наращивается в случае исправлений пакетирования. Я понимаю, что 4 числа многовато и можно одно выкинуть, когда-нибудь этим займёмся. Тэги Git тоже держим в формате v2.3.4-5. Какова необходимость именно в части после дефиса для deb-пакетов, правильно ли это согласно политик deb-пакетирования, и насколько стрёмно использовать эту часть в случае дистрибуции пакетов на другие пакетные системы?

3. Какие общие best practices в плане версионирования, чтобы не страдать экзотичностью и избегать потенциальных проблем? Если придерживаться формата 1.2.3[.4], то, по идее, никаких проблем быть не должно. Но вот ядро использует rc, насколько хорошо системы пакетов обрабатывают эти случаи?

 

Krieger_Od
()

List what is using kernel module

Есть очень развёрнутые ответы, но стандартной фичи так и нет. И иногда её отчётливо не хватает. Есть желающие помочь или отговорить?

 ,

Krieger_Od
()

RSS подписка на новые темы