LINUX.ORG.RU

Сообщения Olegymous

 

Постоянное GPS соединение при низком заряде батареи на Android

Форум — Mobile

Заметил на своем телефоне, что при низком заряде батареи (меньше половины, или около того) GPS работает с перерывами. Используется приложение записывающее трек и вместо того чтобы держать GPS соединение постоянным оно где-то раз в 30 секунд определяет местоположение и тут же выключает GPS. Соответственно трек получается не очень точным. Такое же поведение в гугл-картах и паре других приложений. Единственное из тех, что пробовал нормально работает в Яндекс-картах, т.е. GPS соединение не обрывается.
Это известная фича или сталкивался кто-нибудь еще? И возможно ли пофиксить?
Android 2.3.5

 ,

Olegymous
()

Perl 5.16

Новости — Open Source
Группа Open Source

Вечером 20 мая, спустя год после публикации версии 5.14, состоялся релиз Perl версии 5.16.
Из изменений можно отметить следующие:

  • Поддерживаемая версия unicode обновлена до 6.1.
  • use VERSION теперь переводит интерпретатор в режим указанной версии. Например, указав use v5.14 в версии 5.16 мы получим поведение perl 5.14, а все features из других версий будут отключены.
  • Новое ключевое слово __SUB__, с помощью которого можно получить ссылку на текущую подпрограмму в области видимости самой подпрограммы. Теперь написание однострочников стало еще проще:
    # вычислим факториал 10 в одну строку
    my $fact = sub { $_[0]>0 ? $_[0] * __SUB__->($_[0]-1) : 1 }->(10)
    
  • Новая функция fc, производящая unicode casefolding над переданной строкой. Если ранее для сравнения не ASCII строк в разном регистре вы применяли lc() или uc(), то вы делали это неверно. Например слово «Reichwaldstraße» в верхнем регистре записывается, как REICHWALDSTRASSE. Что после перевода в нижний регистр обоих вариантов приведет к сравнению «reichwaldstraße» и «reichwaldstrasse». В итоге сравнение закончится неудачей. Именно эту проблему решает функция fc().

>>> Подробности

 ,

Olegymous
()

Кастомизация QWebInspector

Форум — Development

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

 qwebkit

Olegymous
()

Узнать сетевой интерфейс через который произойдет обращение к хосту

Форум — General

Есть ли утилита для сабжа? Что-нибудь типа

$ routeface 10.10.1.2
eth1
Или придётся парсить выхлоп /sbin/route и производить вычисления?

Olegymous
()

[Qt] подскажите виджет

Форум — Development

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

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

 

Olegymous
()

Отличить сокет accept() от connect()

Форум — Development

Даны два сокета. Можно ли отличить сокет полученный в результате вызова accept() от сокета на котором был вызван connect()? Как это сделать?

Olegymous
()

QtTest и utf-8

Форум — Development

У кого-нибудь получалось подружить тестовый фреймворк Qt с utf-8?
В main примерно так:

int main(int argc, char **argv)
{
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf8"));
    DataTest tst;

    return QTest::qExec(&tst, argc, argv);
}

В тесте (исходник utf-8)

QCOMPARE("мама", "папа");

В результате теста в консоли вместо русских символов вопросики

Actual ("????????"): ????????
Expected ("????????"): ????????

Olegymous
()

C++ передать аргумент в callback или организовать замыкание

Форум — Development

Ситуация следующая:
Есть функция qStableSort(iterator, iterator, callback). Она из Qt, если это важно. Третьим параметром идёт имя функции-компаратора. Передать в эту функцию какой-то дополнительный аргумент возможности не предусмотрено. А отсортировать нужно двумерный массив, сначала по первой колонке, потом по второй и т.д. Таким образом для каждой колонки придётся делать свой callback, а меняется всего лишь номер колонки. Либо заводить глобальную переменную, что тоже плохо.
Есть ли какая другая возможность передать переменную в callback, может можно организовать нечто на подобии замыкания?

Olegymous
()

Алгоритм конвертации нескольких байт в код unicode

Форум — Development

Что-то туплю...
Как из «\xe2\x98\xba» получается U+263A?
Говоря иначе, как преобразовать коды символов составляющие utf-8 символ в натацию U+hex?

Olegymous
()

[SVN] Скопировать репозиторий не используя svnadmin

Форум — Development

Есть SVN репозиторий на моём сервере. Хочу его перекинуть на svn хостинг, хостинг доступа по ssh не даёт. Соответственно никаких svnadmin нельзя запустить, доступ только через саму svn. Какой есть способ скопировать репозиторий со всей историей на такой хостинг?

 

Olegymous
()

[Си][newbie] про строки

Форум — Development

Валиден ли такой синтаксис для присваивания строк?

char *str;
str = "first";
str = "second";

Или рано или поздно это обернется ошибкой сегментирования?

Вспоминается, что в книжках писали, что для строк нужно выделять память с помощью malloc. С malloc всё понятно. Самостоятельно выделил, самостоятельно освободил. А что происходит здесь? Компилятор сам выделяет память? А когда str присваивается «second» память занятая «first» освобождается? Откуда выделяется память, из стека или кучи?

 ,

Olegymous
()

Программно отключать колонки при включении наушников на десктопе

Форум — Multimedia

Есть ли способ на десктопе cделать subj? На ноуте это работает из коробки, на десктопе нет.

Колонки подлючены на задней панеле, наушники подкючаются на передней. Звук работает через alsa. В alsamixer есть headphones, но speakers отсутствуют. Если на headphones нажать «m», то они как и полагается замолкают, отдельно заглушить колонки через alsamixer не выходит, только весь звук вообще.

Звук встроенный. Так проверяется какой?

lspci | grep -i audio
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA)
01:00.1 Audio device: nVidia Corporation High Definition Audio Controller (rev a1)

Хм, почему две штуки?

Olegymous
()

sprintf uint32_t --> бинарная строка

Форум — Development

Какой самый простой способ в Си скомпоновать строку чтобы 32-битный беззнаковый int там был не числом, а бинарной строкой?

uint32_t в моём случае получается из функции inet_aton:

struct in_addr addr;
inet_aton("10.0.0.1", &addr);

char buf[10];
sprintf(buf, "abcde%s", addr.s_addr); // Так конечно не работает
Итого в buf хочется получить строку, которая при просмотре в hex редакторе будет выглядеть так:
61 62 63 64 65 0A 00 00 01

Olegymous
()

Perl 5.14

Новости — Open Source
Группа Open Source

14 мая после долгого тестирования и трёх релиз-кандидатов состоялась публикация Perl версии 5.14. Это первый релиз Perl 5 по новому графику, согласно которому выпуск стабильной версии будет происходить раз в 1 год.

В этой версии присутствует множество изменений и улучшений. Вот лишь некоторые из них:

  • Поддержка unicode 6.0 и огромное число улучшений связанных с работой unicode.
    Ниже представлен пример тестирования строки регулярным выражением, который не находит соответствия в предыдущих версиях Perl, но отрабатывает корректно в Perl 5.14
    use utf8;
    'Тестовая строка' =~ /^[а-я ]+$/i
        or die 'regexp failed';
    

  • Улучшения в поддержке IPv6.
    В модуле Socket появились константы и функции с соответствующим функционалом.

  • Значительно упростилась конфигурация клиента CPAN
    Всё ещё сложно? На CPAN доступен альтернативный клиент cpanminus, который и вовсе не требует предварительной конфигурации.

  • Новый модификатор /r производящий замену s/// не модифицируя исходную переменную
    my $old = "cat";
    my $new = $old =~ s/cat/dog/r;
    # $old по прежнему "cat", а $new теперь "dog"
    

  • Новые модификаторы регулярных выражений /a и /u позволяющие указать, что выражение нужно компилировать как ASCII или Unicode соответственно.
    Например класс \w с модификатором /a гораздо менее обширен, чем он же с модификатором /u

  • Новый синтаксис объявления пакетов «package Foo { }»
    В предыдущих версиях область видимости пакета продолжалась до конца файла, блока, eval или до объявления нового пакета. Новый синтаксис позволяет определить область видимости пакета в более логичной форме.
    package Foo {
      ...
    }
    # эквивалентно
    {
      package Foo;
      ...
    }
    

  • Меньшее потребление памяти и CPU, чем в предыдущих версиях
  • Множество исправлений ошибок, в том числе очень серьёзных

Обо всех остальных изменениях можно узнать ознакомившись с perl5140delta.

Важно отметить, что с выходом этой версии официально объявлено об окончании поддержки Perl 5.10

Разработка Perl 5.14 заняла 1 год с момента выхода версии Perl 5.12.0 12 апреля прошлого года. 550 тысяч строк кода было добавлено и изменено в трёх тысячах файлов 150-ю авторами и энтузиастами. Авторы благодарят сообщество CPAN, которое помогает Perl процветать, а также всё комьюнити, благодаря которому стал возможен релиз этой версии. Отдельное спасибо авторы выражают Джессу Винсенту (Jesse Vincent), который является координатором и релиз менеджером Perl 5.14.

>>> Подробности

 ,

Olegymous
()

fork -> LD_PRELOAD -> exec

Форум — Development

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

Наподобии того как это делается в shell: LD_PRELOAD=mylib.so ./a.out

Использовать shell в exec не хочется.

child = fork();
if (child == 0) {
   // Здесь нужно подгрузить mylib.so
   // Как?
   execl("./a.out", "arg1", "arg2");
   exit(0);
}

Olegymous
()

[непонятка] Списки рассылки

Форум — Talks

Написал я вопрос в список рассылки одного opensource проекта. На него пока никто не ответил. Возникает вопрос: как отправить новое сообщение чтобы оно попало в туже нить дискуссии?

Olegymous
()

[ЖЖ] Завязываю с icq: написал многострочник на перле

Форум — Talks

http://pastebin.com/ATXNEn1v
Суть многострочника в следующем:
Логинится под указанным uin
Отвечает написавшим чтобы писали в другое место
Также можно указать блеклист, это те кому не хочется сообщать новые контакты. Им будет особое сообщение, типа «иди в жопу»
Если кто-то напишет в течение дня, то ровно в полночь на указанный емейл высылается сформированный лог кто что и во сколько писал за день

Закинул в облако сегодня и запустил демоном (-d). Пусть повисит с полгодика, глядишь contact list в жаббере расширится.

Кто еще не завязал присоединяйтесь.

 

Olegymous
()

Видеоредактор для удаления частей видео

Форум — Multimedia

Посоветуйте простой видеоредактор, с помощью которого можно вырезать рекламу из видео. Желательно без всякой перекодировки.
Помню как-то раньше использовал для этого avidemux, но с сегодняшним видео (это богомерзкий flv H264, полученный из потокового вещания) avidemux отказался работать, сообщив assert: 0 и еще чего-то там и закрывшись.

Olegymous
()

nouveau & GeForce GT 220 не умеет xv?

Форум — General

subj
При попытке воспроизвести видео
mplayer -vo xv video.avi
плеер сообщает

[VO_XV] It seems there is no Xvideo support for your video card available.
[VO_XV] Run 'xvinfo' to verify its Xv support and read

xvinfo выводит

X-Video Extension version 2.2
screen #0
no adaptors present

Debian Squeeze. Так что в самом деле nouveau не умеет xv с такой видеокартой?

Olegymous
()

lpr: печать escape последовательностей

Форум — General

Можно ли печатать escape последовательности так как они выводяться в консоль?
Следующая команда на бумаге печатает «4mHello0m» вместо подчёркнутого «Hello»
echo -e «\e[4mHello\e[0m» | lpr

Olegymous
()

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