LINUX.ORG.RU

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

Linux && NFC

Форум — Talks

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

И действительно Nexus7 после соприкосновения с заветной иконкой начал радостно попискивать. Значит работает шайтан машина! Вот только как с ней взаимодействовать то? Какие библиотеки можно поиспользовать для задействования в своих приложениях? Как научить гарнитуру моментально подключатся к ноуту?

Пока что одни вопросы и никаких ответов.

А кто-нибудь из вас пробовал разбиратся с этим чудом техники? Для какиех целей используете?

 ,

trex6
()

Библиотека для обмена сообщениями

Форум — Development

Постепенно отучаюсь использовать велосипеды собственного приготовления. Теперь для сериализации использую protobuf, но остается еще одна проблема: разделение непрерывного потока данных на отдельные сообщения.

Навелосипедить собственную реализацию - раз плюнуть (да и их есть у меня как минимум 3-4 штуки), но хочется посмотреть на готовые решения.

Из пожеланий: желательно LGPL, но подойдет и другая лицензия, позволяющая исопльзовать библиотеку в закрытых проектах, кроссплатформенность, желательно готовые версии для C++ и Java, наличие библиотеки в репозиториях популярных дистрибутивов (Ubuntu, Gentoo).

UPD: Работа с С++ является необходимой. Работа с Java и всем остальным - пожелание.

 , , ,

trex6
()

Эмуляция правого клика мышки с помощью «горячих» клавиш

Форум — Desktop

Всем доброго времени суток.

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

P.S. Воюю с новым ноутом и тачпадом. Винду снес, деньги за нее получил.

trex6
()

Просрана ли Россия?

Форум — Talks

В каждой истории есть взлеты и падения. В каждом есть сильные и слабые стороны. И если не мы, то кто?
Я продолжаю офигевать от людей, которые срут Россию, являясь россиянином. Да, в этой стране все плохо и в жопе, но 99% тех, кто это делает - сам в своей жизни не сделали ни-че-го, либо просто сдались и опустили руки. Знаете, что такое «делать лучше»? Это не менять власть или голосовать за навального, это выйти во двор и выкинуть мусор, это - отнять сигарету у 12ти летнего, это поднять культуру на ноги. Причем не важно в чем, любая нравящаяся вещь может быть и доходом и восстановлением культуры одновременно. При увлечении, например, шахматами - ничего не мешает создать свои фонды и поднимать тот или иной аспект культуры с ног, не лишая себя возможности есть. Вопрос лишь в желании.

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

Конечно, я не могу использовать личный пример, он бездоказателен на данный момент. Но и смысл поста не в этом, смысл в том, чтобы вы задумались, дорогие мои. Одна улыбка в метро, одно остановленное хамство (свое или чужое), уже делает мир лучше. Это тоже самое, что с любой компьютерной системой - она требует постоянных усилий, мониторинга и ресурсов. Так же и то, что вас окружает, требует постоянных действий. Не обязательно вести псевдополитическую жизнь, не обязательно слать по всем инстанциям жалобы и тд. Любой вклад, даже маленький - уже делает пользу. Даже просто чайник бедной соседке напротив подарить - это уже ПОСТУПОК, который в конце жизни вы повесите на свою личную доску почета. Если исходить из позиции «все говно», то и мир вокруг всегда будет говном. Сама позиция подразумевает негативный настрой, который вы сами себе вбиваете в мозг. А на самом деле, не все люди идиоты и не все быдло. На каждый поступок есть причина, даже для тех, кто просто кидает бычок на улице. Иногда достаточно просто сказать «стоп», человеку который что-то сделал не так, чтобы он понял.

Лучший выход - это изменить собственное восприятие и настрой, посмотреть на все иначе. Четко видеть свои цели и желания в жизни, а они формируются достаточно просто. Ведь любовь к ближнему это то, что мы хотим и для себя. А изначально негативный взгляд портит всё.
Пока на лоре активно срут религию, я вижу как религия помогает моей бабушке справляться с психологическими проблемами. Я вижу, как монастыри и скиты помогают огромной массе людей с самым главным, что есть в жизни - надеждой и уверенностью, что кто-то поможет. Глупо требовать от каждого найти силы верить в себя самого, потому что все люди разные и кому-то необходимо чувствовать что помощь может быть в разных формах. Я вижу, как восстанавливается крупица за крупицей искусство иконописи, спорт, увлечения людей. Само сознание. Само единство России. Тот кто не хочет этого видеть - не видит.
Просто для примера, потратьте час на чтение ЖЖ и сайта Ройзмана, посмотрите как у него идет жизнь и какие поступки в ней совершаются. Поймите, те кто думают что все потеряно - просто так сами себя настроили, то есть потеряли в первую очередь сами себя. А себя терять нельзя. Ибо кроме нас, никого больше у нас самих же и нет.

И да, идите в жопу. Это не нацпол, Это - позиция и принципы каждого из нас.

 

tazhate
()

Не печатает серый цвет

Форум — General

Всем доброго дня.

Столкнулся со следующей проблемой: cups печатает только черный и белый цвет, но не печатает оттенки серого. Где и какую настройку необходимо подкрутить?

P.S. Все это происходит на ARM (tegra2) в собственноручно собранном окружении linux (buildroot), так что необходимо ограничится именно настройками через сам cups и его конфигурационные файлы, без применения сторонних утилит.

 

trex6
()

Псевдокод. Кто чем пользуется

Форум — Development

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

for( QDateTime now = start; now < end; now += step)
{
	Report::Event event;
	BufferSender::TimeMessage message;
	QList< Alarm> alarms = alarms for this step;
	foreach laser
	{
		message = get message from laserMessages with (time < now) and time->max;
		Report::LaserEvent laserEvent;
		laserEvent.distance = LaserReader::produceMessage( message);
		laserEvent.alarms = alarms for this laser only;
		laserEvent.speed = calculate speed from all messages for this step;
		event.laserEvent[ laserId] = laserEvent;
	}
	event.angle = calculate angle from laser events;
	event.dateTime = now? or something else?;
	events.append( event);
}

В итоге накопилось порядка 100 строчек псевдокода.

И увидел я, что это хорошо.

Собственно интересно было бы узнать, кто и как использует написание псевдокода в своих проектах. Какие-то широко известные методики? Ваши личные уловки и трюки? Стандартизированный псевдокод, который используется всей командой?

 , ,

trex6
()

Посоветуйте магазин электронных компонентов в СПб

Форум — Talks

Приобрел Raspberry Pi, хотел бы поэкспериментировать с GPIO, где стоит приобретать электронные компоненты (сопротивления, светодиоды, сервоприводы, конденсаторы и т.п.)? Для начальных экспериментов приобрел светодиод с сопротивлением в Чип и Дип, но, по всей видимости, это не лучший вариант.

 ,

Policeman
()

Опытный разработчик Android NDK

Форум — Job

Необходим специалист с опытом разработки Android NDK Разработка приложений использующих камеру телефона без использования стандартного медиарекордера

Оплата на банковскую карту по этапам разработки или в штате компании

Пишите: ravil.gimadiev@original-group.ru тел. +7.903.589.16.48

 , , медиарекордер

GRavil
()

Демон под Linux для замера пропускной способности канала TCP (проект, удалённо)

Форум — Job

Добрый день!

Задача: написать программу, которая представляет собой службу Linux (DAEMON) и предназначена для замера пропускной способности канала по TCP.

Замер пропускной способности производится за счёт генерации трафика с заданными параметрами (длительность, объём, формат) в прямом направлении, обратном направлении и одновременно в обоих направлениях. На одном конце канала находится зонд (COM-компонент Windows). На другом конце канала работает ответчик. В зависимости от платформы это может быть Windows-служба или Linux-демон. Зонд управляет всем процессом и производит замеры.

Windows-служба уже есть, нужно написать демон для Linux.

ТРЕБОВАНИЯ К ОТВЕТЧИКУ НА LINUX

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

Ответчик должен стартовать автоматически при загрузке системы. Должна быть предусмотрена возможность останова и старта в ручном режиме. При старте программа считывает из файла конфигурации (текстовый файл на диске) номера портов UDP и TCP, по которым демон будет взаимодействовать с зондом. Программа открывает UDP- и TCP-сокеты и устанавливают их в listen режим, слушающий по заданным номерам портов. Выполняемые программой действия, а также возникающие при работе ошибки записываются в log-файл.

UDP-сокет принимает запросы от зонда и возвращает текущее состояние ответчика (неизвестное состояние, TCP-сокет ожидает соединения, сеанс активен и др.).

TCP-сокет ожидает соединения. При открытии сеанса с зондом, программа закрывает сокет, предотвращая возможность открытия ещё одного TCP-соединения, и начинает принимать TCP-пакеты прикладного уровня (все форматы UDP- и TCP-пакетов документированы в h-файле). При получении недокументированного пакета соединение должно быть закрыто, а в log-файл произведена запись об этом событии (защита от соединения с неизвестным источником).

Ответчик может получать от зонда три типа пакетов, которые он опознает по структуре данных: 1. Пакет прямого трафика. Это пакет, который зонд посылает ответчику, загружая канал в прямом направлении. Ответчик должен только считать пакет из сокета. Никаких других действий не требуется. 2. Пакет с требованием начать генерацию обратного трафика (от ответчика к зонду). Получив пакет, ответчик запускает процесс (или поток) генерации трафика с заданными в пакете параметрами. 3. Пакет с требованием экстренного завершения генерации обратного трафика. В этом случае программа должна прекратить генерацию обратного трафика, если она ещё производится. При нормальном или аварийном закрытии TCP-сеанса программа записывает информацию об этом в log-файл и вновь открывает TCP сокет, переводит его в состояние Listen и готовит демон к открытию нового соединения.

Программа должна обеспечить максимальную производительность приёма и передачи пакетов трафика, используя параллельную архитектуру кода (потоки или процессы), синхронизирующиеся между собой и с событиями сокета при помощи объектов типа Critical Section, Event, Mutext и т.п., и не использовать искусственные задержки типа Sleep.

Имеется проект Microsoft Studio с исходными кодами Windows-службы – ответчика на платформе Windows. Создаваемый демон Linux должен являться полным функциональным аналогом. Создаваемый продукт должен быть протестирован разработчиком с использованием предоставляемого зонда.

----------------

КОНТАКТЫ:

Компания ProLAN http://prolan.ru

Москва, ул. Профсоюзная, 65.

Тел.: 8 (495) 933-12-89

Email: smm@prolan.ru, Александр

---------------

Срок исполнения: две недели. Для профессионала задача несложная. Оплата по договорённости. Работа удалённая, но если это возможно, желательно предварительно встретиться.

 

prolanrus
()

YUV -> RGB преобразование кадров

Форум — Development

Всем привет.

Делаю получение кадров из видеофайлов в виде RGB24 битмапов. Использую для этого ffmpeg, отрисовываю полученые изображения на виджете, пронаследованном от QGLWidget. Получаю такую картинку: http://joxi.ru/0PagUtg5CbA4Ihe_rNQ , то есть вместо одного полноценного изображения - 3 маленьких с разным цветовым оттенком. Работаю с кодеками первый раз, поэтому слабо представляю куда копать. Если надо еще что-то показать из кода, скажите. Посмотрел, те файлы на которых я тестировал - имеют формат картинки YUV.

Контекст конвертирования создаю так:

this->img_convert_context = sws_getCachedContext(NULL,
                                                    this->codec_context->width, this->codec_context->height,
                                                    this->codec_context->pix_fmt,
                                                    this->codec_context->width, this->codec_context->height,
                                                    AV_PIX_FMT_RGB24, SWS_BICUBIC,
                                                    NULL, NULL, NULL);

И собственно преобразование кадра:

sws_scale(this->img_convert_context,
                                            (uint8_t const * const *)this->pFrame->data, this->pFrame->linesize,
                                            0, this->codec_context->height,
                                            this->pFrameRGB->data, this->pFrameRGB->linesize);

 ,

ALeo
()

поиск литературы по написанию технической документации

Форум — Talks

Нужно сделать технической документацию к одному проекту, с использованием linux.Разыскиваю годную литературу, ибо подобного никогда не делал,а хотелось бы сделать не плохо.

 , ,

GNU-Ubuntu1204LTS
()

Тайлы для Tiled Map Editor

Форум — Talks

Собственно, где можно взять свободные паки тайлов для TME, на opengameart все очень сумбурно, сложно что-то найти. Собственно, есть ли вообще такие сайты, а то эта рутина искать что-то отдельно, а потом соединять.
Бтв, пользуясь случаем, я тут игру пилю, есть уже план, сосбвтенно, если у кого-то есть свободное время и желание, мог бы присоединиться. Пока что сделал главное меню с уже готовыми анимациями, класс героя, определение коллизий и еще несколько рутинных вещей. Моя идея заключается в тд с видом с боку(если кого заинтересовало, может мне в жабир написать(есть в профиле)).

 ,

z00ke
()

Системные программисты против PHP-армии школьников

Форум — Talks

Веб. Тысячи школьников и сотни тысяч студентов насилуют php, джумлу и JQuery. В вебе сейчас легко найти работу дажи при минимальных знаниях. При наличии хороших знаний можно найти высокооплачиваемую работу.

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

Я считаю, что когда-нибудь наступит момент, когда будут веб-сайты всего на свете (не только форум моего котенка, но и личный сайт его мисочки). К тому же, социальные сети начинают отбирать львиную долю рынка сайтостроителей (теперь интернет-магазин делается средствами какого-нибудь вконтакта). Словом, мне кажется, что скоро этот рынок будет переполнен разнообразной рабочей силой.

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

Но, периодически, мои прогнозы расходятся с реальностью.

В качестве опровержения был найден пост gods-little-toy

Три с половиной человека на драйвера нужны. Написание драйверов- говноработа. Там ТЗ сильно стандтиризрованно - то есть эта работа ооочень легко передается в самый дешевый офшор. Россия - не самый дешевый оффшор.
...
переписывать всякие корпоративные приложения, чтобы работали под айпад - должно быть несколько лет хлебно. Начальство айпадов накупило. Скоро в энгри бердз наиграются, захотят статистику продаж посмотреть или еще чаво. А окажется - фиг, нет для айпада такого приложения. Вот тут ты и пригодишься.

Итак, вопросы:

1) Будет ли дефицит системных программистов? Будет ли избыток школьников-пхпшников?
2) Что ожидать в плане объема работы системным программистам?
3) Какой зарплатный прогноз (увеличение/уменьшение) для системщиков и для пхпшников?
4) Каковы сейчас зарплатные притязания системных программистов (относительно опыта)?

Ответ на последний вопрос очень интересен в формате личных историй успеха.

 , системщики,

zekka
()

LORChess: «Knockout!» [ЗАВЕРШЕН]

Форум — Talks

Официальные ЛОРовские турниры по шахматам: Первый (прерванный) | «Великолепная дюжина» | «Осень» | «Knockout!»

Knock, knock.
The Caissa has you.

Очередной цикл шахматного безумия ЛОР! Международный шахматный турнир по нокаут-системе!

Официальный сайт турнира | Актуальная таблица

Текущий тур

Участники:

Регламент

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

Официальный Git-репозиторий (https://github.com/fat0troll/lorchess) содержит всю актуальную информацию о турнирах серии LORChess, а так же все партии в формате PGN с автоматическим анализом партий от lichess.

 

DoctorSinus
()

Code review

Форум — Development

Продолжаю изучать лисп, пока еще нахожусь в самом-самом начале пути. Вот накидал классику - вычисление корней квадратного уравнения ( http://pastebin.com/HZrUN02k ).

С удовольствием выслашую советы как по оформлению кода, так и по реализации. Единственное дополнение - я использую табы шириной в 4 символа, но не нашел, как выставить ширину табов на pasterbin.com

Меня больше всего смущает возврат значения из функции calcX, мне кажется, что я это делаю не совсем верно.

Новая версия http://pastebin.com/h61E3gE1

Новая версия http://pastebin.com/mKJgvdAp

 , ,

trex6
()

Как узнать имя сетевого интерфейса?

Форум — Development

subj.
Писать в коде «eth0» не путь настоящих джедаев.

UVV
()

Lisp. Вопросы новичка

Форум — Development

Лисп изучаю только второй час, так что сильно пинать меня не стоит.

Проблема вот в чем.

Пробую:

$ gcl
GCL (GNU Common Lisp)  2.6.7 CLtL1    Feb  1 2012 09:07:26
Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl)
Binary License:  GPL due to GPL'ed components: (XGCL READLINE UNEXEC)
Modifications of this banner must retain notice of a compatible license
Dedicated to the memory of W. Schelter

Use (help) to get some basic information on how to use GCL.
Temporary directory for compiler files set to /tmp/

>(setf a (read))
10

10

>a

10

все работает так, как я ожидаю.

Но как только я пробую вот это:

$ cat ./sqare.lsp
(format t "a*x^2 + b*x + c = 0")

(let ((a 0)) )

(format t "~%a=")
(setf a (read))

(format t "~%b=")
(setf (b (read)))

(format t "~%c=")
(setf (c (read)))
(format t "~%")

(setq d (- (* b b) (* 4 a c)))

$ gcl -load ./sqare.lsp
Получаю вот это
GCL (GNU Common Lisp)  2.6.7 CLtL1    Feb  1 2012 09:07:26
Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl)
Binary License:  GPL due to GPL'ed components: (XGCL READLINE UNEXEC)
Modifications of this banner must retain notice of a compatible license
Dedicated to the memory of W. Schelter

Use (help) to get some basic information on how to use GCL.
Temporary directory for compiler files set to /tmp/
a*x^2 + b*x + c = 0
a=
Error: No value for (B (READ)).
Fast links are on: do (si::use-fast-links nil) for debugging
Error signalled by SETF.
Broken at SETF.  Type :H for Help.
>>

Собственно вопрос, почему так происходит?

P.S. Лисп изучаю по свежекуленной книге Пола Грема "ANSI Common Lisp".pdf

 

trex6
()

Как искать узкие места (bottleneck)

Форум — Development

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

Хотел бы спросить совета, как вы профилируете свои программы? Как ищите bottleneck'и? В первую очередь интерестно как это делается для сетевых event driven приложений.

valgring + callgrind, очевидно в этом плане не подходит. Так как он замеряет процессорное время. Т.е. он не позволит определить что у вас два потока постоянно тыкаются в один мютекс и ждут его. Helgrind вообще не понятно как применять если в проекте есть что то кроме стандартного мютекса (даже бустовый с его atomic уже наверно вызовет проблеммы).

Google CPU Profiler, уже лучше, хотя я таки тоже не уверен, что он сможет показать, что кто то уткнулся в мютекс. Я спциально попробывал все свои обработчики в приложении стравить на один mutex под которым еще и sleep происходит. Но в результате профилирования, этого участка вообще нету, а большую часть захвал именно IO хотя стреляю все локально.

Я в профилировании еще профан, хотелось бы услышать от кого то более опытного в этом деле на что стоит обратить внимание при профилировании, может быть какие то техники использовать.

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

Я все больше склоняюсь к тому, что профилирование, это как дезасемблирование. Тут нужны годы снаровки что бы понастоящему извлекать из этого пользу, а не просто тыкаться в непонятные циферки и годать, а гдеж тут жопа зарыта.

 ,

Cupper
()

Запись в QProcess приводит к SIGPIPE

Форум — Development

Доброго, почему падает следующий код?

QProcess proc;
proc.start("cat", {">testFile.txt"});
proc.waitForStarted(-1);
proc.write("SomeText\n", 9);
proc.waitForBytesWritten(-1);
proc.closeWriteChannel();
proc.waitForFinished(-1);

Падает на строчке proc.waitForBytesWritten(-1); с SIGPIPE.

 , , sigpipe

Rubbiroid
()

Кто хочет увидеть/пощупать отечественный SoC?

Форум — Talks

Такс, внимание всем кто из мск или ближайшее дни будет там и хочет увидеть/посмотреть отечественные ARM+DSP железяки.

Ближайшее время в Москве будет проходить выставка Gadget Fair, где все это дело можно будет увидеть, пощупать, и даже погонять небольшого робота на этом самом МВ77.07

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

Стенд номер 76.

 , , neuromatrix

ncrmnt
()