LINUX.ORG.RU

Сообщения dissident

 

поиск command-line switches в manpages используя most

Форум — General

Мне нравится most (который не less и не more) https://www.jedsoft.org/most/. Все в нем красиво, даже можно пртивыкнуть к инным сочетаниям клавиш, но вот поиск аргументов командной строки с одним знаком '-' почему-то не работает.

Например:

man pacman
/--query <- находит
/-q <- не находит

Вообще у него кажется какая-то проблема со знаками не из алфавита ([a-zA-Z0-9]), например '[' тоже не находится.

Кто-нибудь знает, это лечится?

 ,

dissident
()

awesome + i3lock + lockscreen bg color

Форум — Desktop

В rc.lua от awesome у меня такая запись:

local function respawn_with_shell(pname, cmd)
    if not cmd then
        cmd = pname
    end
    awful.spawn.with_shell("pkill -9 " .. pname)
    os.execute("sleep 0.5")
    awful.util.spawn_with_shell(cmd)
end

respawn_with_shell("xautolock", "xautolock -detectsleep -time 10 -locker i3lock &")

Все работает, но экран «скринсейвера» белый. Попробовал так:

respawn_with_shell("xautolock", "xautolock -detectsleep -time 10 -locker i3lock --colour=ff66cc &")

Но он все равно белый. Как изменить цвет локскрина?

 ,

dissident
()

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

Форум — General

Помогите plz!

Делаю meld dir1 dir2. Измененные файлы видно, а добавленных нет. Как вернуть прежнее поведение (видно и измененные и добавленные файлы?)

Спасибо заранее!

 

dissident
()

lama question on expression tree vs bytecode

Форум — Development

Привет,

Совсем ламерский вопрос.

http://gameprogrammingpatterns.com/bytecode.html

Там есть такой текст:

Put those together, and what do they spell? S-L-O-W. There’s a reason most programming languages in wide use aren’t based on the Interpreter pattern. It’s just too slow, and it uses up too much memory

С другой стороны вот тут:

1. Decompile IL code for the query at runtime, and turn it into the target language – quite roundabout

2. Enable representing the query’s code as data at runtime by emitting an expression tree at compile-time

(c) http://community.bartdesmet.net/blogs/bart/archive/2009/08/10/expression-tree...

Описано как LINQ разбирает лямбды как раз в синтактическое дерево (а не непосредственно в инструкции IL), чтобы потом скомпилировть. Разве это не будет медленно? Если используется не Ahead-of-Time а Just-in-Time компиляция, разве представление лямбд в ввиде дерева из класс, в котором множество объектов того же самого типа не займет множество места и не затратит множество CPU циклов, чтобы превратить это в bytecode, вместо того, чтобы представить каждое варажение в лямбде непосредственно как инструкцию для виртуальной машины (в данном случае IL) внутри DLL/EXE?

Т.е. не значит ли это что LINQ - это очень медленно? Почему тогда гугл говорит что это не так? Например тут: https://stackoverflow.com/questions/11296439/is-linq-much-slower-than-a-simpl...

 ,

dissident
()

c++ function return type deduction

Форум — Development

Что не так с reallyAsync4? Почему она не компилируется? Я понимаю, что reallyAsync3 и reallyAsync4 не будут работать с указателями на членов класса, как объясняется здесь: https://stackoverflow.com/questions/15673792/whats-the-difference-between-res..., но меня интересует просто синтаксис.. Где в reallyAsync4 ошибка и как ее написать правильно без использования result_of?

#include <iostream>
#include <future>
using namespace std;
using namespace literals;

template<typename F, typename... Ts>
future<typename result_of<F(Ts...)>::type>
reallyAsync(F&& f, Ts&&... params)
{
    return async(launch::async,
                 forward<F>(f),
                 forward<Ts>(params)...);
}

template<typename F, typename... Ts>
auto reallyAsync2(F&& f, Ts&&... params)
    -> future<typename result_of<F(Ts...)>::type>
{
    return async(launch::async,
                 forward<F>(f),
                 forward<Ts>(params)...);
}

template<typename F, typename... Ts>
auto reallyAsync3(F&& f, Ts&&... params)
    -> future<decltype(forward<F>(f)(forward<Ts>(params)...))>
{
    return async(launch::async,
                 forward<F>(f),
                 forward<Ts>(params)...);
}

/*
template<typename F, typename... Ts>
typename future<decltype(declval<F>()(declval<Ts>()...))>
reallyAsync4(F&& f, Ts&&... params)
{
    return async(launch::async,
                 forward<F>(f),
                 forward<Ts>(params)...);
}
*/

template<typename F, typename... Ts>
auto reallyAsync5(F&& f, Ts&&... params)
{
    return async(launch::async,
                 forward<F>(f),
                 forward<Ts>(params)...);
}

int main(int argc, char *argv[])
{
    auto fut = reallyAsync5([]()
        {
            while (true)
            {
                cout << "In thread" << endl;
                this_thread::sleep_for(1s);
            }
        });
    return 0; // won't happen
}

 

dissident
()

c++ bind

Форум — Development

Как это работает? (из Effective Modern C++

auto setSoundB =
    std::bind(setAlarm,
              std::bind(std::plus<>,
                        std::bind(steady_clock::now),
                        1h),

              _1,
              30s);

Если посмотреть на объявление bind:

http://en.cppreference.com/w/cpp/utility/functional/bind

то

args - list of arguments to bind, with the unbound arguments replaced by the placeholders _1, _2, _3... of namespace std::placeholders

т.е. после второго аргумента мы передаем или аргументы или плейсхолдеры, но никак не вызываемые объекты (т.е. к ним не будет применен operator()). Каким же образом передача bind как аргумента другого bind может работать?

 

dissident
()

c++ move constructor

Форум — Development

Кто-нибудь может мне объяснить, почему здесь вызван move constructor?

#include <iostream>
using namespace std;

class ToBeMoved {
public:
    ToBeMoved() = default;
    ToBeMoved(const ToBeMoved& tbm)
    {
        cout << "ToBeMoved::copy_ctor" << endl;
    }
    ToBeMoved(ToBeMoved&& tbm)
    {
        cout << "ToBeMoved::move_ctor" << endl;	
    }
    ToBeMoved& operator=(const ToBeMoved& tbm)
    {
        cout << "ToBeMoved::copy_operator=" << endl;
    }
    ToBeMoved& operator=(ToBeMoved&& tbm)
    {
        cout << "ToBeMoved::move_operator=" << endl;
    }
};

void f_rval(ToBeMoved&& tbm)
{
    cout << "f_rval" << endl;
}

void f(ToBeMoved tbm)
{
    f_rval(move(tbm));
}

int main(int argc, char *argv[])
{
    ToBeMoved tbm;
    f(move(tbm));
    return 0;
}

Т.е. я вроде понимаю, что происходит, tbm был «перенесен» в параметр f(), но ведь f() задекларирована так, что принимает tbm by value, почему в этом случае не был вызван copy constructor, несмотря на move?

 

dissident
()

A proposal for eliminating the underscore madness

Форум — Development

Прочитал http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3400.html и никак не могу понять, как же этот proposal позволяет делать то, что там в частности описано:

Interface-specification macros should not be affected. Many libraries have mechanisms whereby client code sets macros before including the library headers, to specify the API level that the library is expected to provide. Such macros areespecially common with platform libraries and include things like:

the WIN32_LEAN_AND_MEAN and NOxxx macros in the Microsoft Windows platform API
the _POSIX_C_SOURCE and _XOPEN_SOURCE macros in the POSIX platform API

This proposal was designed not to affect the function of such mechanisms.

Как же будет работать:

#define _GNU_SOUCE
#include <unistd.h>

Если приоритет файла, в котором определено макро _GNU_SOURCE ниже чем приоритет файла unistd.h? Имеется ввиду, что если в unistd.h встретилось:

#define _GNU_SOURCE

то его приоритет не будет уменьшаться? Но ведь оно там не обязательно должно быть определено, в unistd.h ведь может быть например так:

#ifdef _GNU_SORCE
...
#endif

Или имеется ввиду «приоритет _GNU_SOURCE не будет уменьшаться если его упоминание встретилось в unistd.h»?

Кто-нибудь может прояснить, как это подразумавается должно работать?

 ,

dissident
()

посоветуйте на что перейти с дебиана

Форум — Linux-install

Сабж. Раньше всегда пользовался им, ну или всякими RHELами, Centos'ами и Fedor'ами на работе, ну а для себя ставил Дебиан. И вот я как-то поставил его на комп, купленный в ломбарде и моя детская мечта сбылась - меня поимел огромным черным членом Дед Мороз. В dmesg я видел какие-то странные переадресации BIOS на старте, сначала грузились одни дрова, следом другие, складывалось впечатление, что ставится нормальный Дебиан, а после, толи из-за TPM в BIOS, толи еще из-за чего поверху ставится еще один (я себе представил Virtualbox). С Убунту я видел похожее - она встала, но не нашла WiFi, а вот соседские компы кажется нашли... Я конечно понимаю, что нехрен секурные модули в BIOS обходить, да и Installation Manual читать, но меня вообще достало это все, то какие-то lower memory, но SystemV кошерен, то некошерен, видел какие-то скрипты миграции выглядящие как вирус или бред сумасшедшего, да и вообще надоела эта куча зависимостей, хочешь поставить себе электрод в яйца, чтобы раз в день рандомно бил тебя током для большей свежести жизни, а для этого приходится выкачивать целую кучу пакетов из сборника «мазохист».

Fedora в этом смысле была приятней, там было почти все тоже самое, но не было столько зависимостей, единственное upgrade был геморройный. Но я тут тоже боюсь, что не осилю каких-нибудь TPMов,а я все-таки хочу хоть что-то контроллировать в OS.

Выходит наверное надо Gentoo, но не хочу я компилировать, была у меня FreeBSD на Pentium4 и да, собирать KDE было долго, да и лень мне выставлять кучу флагов. FreeBSD не хочу по той же причине.

Увидел на работе коллег использующих Arch Linux, показалось оно, не осилил установки - трудная уж очень. Может есть что-то среднее между Arch Linux и Fedora? Зависимости я конечно хочу, но будет это deb, rpm или что угодно другое лишь бы репозитории были жирные. Компилировать не хочу. А еще хочу, чтобы когда будет вводиться что-нибудь типо UDEV, то перед инсталляцией появится инфа об этом со ссылками где почитать (в принципе у Дебиана это было но не всегда).

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

PS Window Manager ставил Gnome, пока он не превратился в Windows 8, тогда стал ставить XFCE. Я к тому, что Кубунту мне не надо предлагать, в моих глазах это Дебиан с другим репозиторием.

PPS Может ScientificLinux или как-то так? Но не слишком ли он медленно обновляется?

dissident
()

скрипт для скачивания музла с musicmp3spb.ru

Форум — Development

Написал вот: http://pastebin.com/uQjF1uc1

Может кому еще пригодится. Может еще куда выложить?

Использование:

sr@cocaine:~/___wtf$ ./musicmp3spb.py http://musicmp3spb.org/album/dualism.htmll'
Downloading song from http://musicmp3spb.org/download/arms_of_the_sea/418ec9e6c514a8fb5a0d071ebd2a208a1387032264
Downloading: 01-arms_of_the_sea.mp3 Bytes: 15730982
      1826816  [11.61%]

Т.е. создаем директорию для альбома и запускаем скрипт, передавая url альбома (в этом случае http://musicmp3spb.org/album/dualism.html, скрипт нам в директорию качает все песни.

Надо установить Python и mechanize. Для Debian apt-get install python-mechanize, для винды использовать можно easy_install:

http://wwwsearch.sourceforge.net/mechanize/download.html

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

dissident
()

задачка (лень писать брутфорс ;)

Форум — Development

Привет,

Интересно, рекурсивный брутфорс справится с такой задачей или нечего даже и пытаться (будет считать годами):

На сколько возможных вариантов можно разбить банкноту стоимостью 1024 имея в распоряжении бесконечное количество банкнот стоимостью 2^i, где i e [0..9]?

Брутфорс банален рекурсивно: отними от 1024 2^9=512 и вызови самого себя, отноими от 1024 256 и вызови самого себя и так далее, в каждом вызове отнимаем все возможные стоимости пока не дойдем до 0 или меньше 0, дошли до нуля - есть решение. Максимальная глубина стэка вызовов будет для одних единиц (2^0), т.е. 1024, но фиг его знает, не будет ли это хозяйство считать бесконечно долго?

dissident
()

random natural numbers set1 -> set2

Форум — Development

Озадачили тут паззлом.

Есть функция rand0,4 например, которая генерирует натуральные числа 0,1,2,3,4 с равной вероятностью (не float'ы). Нужно используя ее написать функцию rand0,6 (тоже равномерную). Как это сделать?

Если бы это были float'ы тогда ничего сложного:

rand0,6 = rand0,4/4 * 6

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

dissident
()

код симбиана?

Форум — Mobile

Попробовал зарегаться на https://collab.symbian.nokia.com/ и вот что получил в ответ:

=== Cut ===
Hello,

Thank you for your application to register as a collaborator at http://symbian.nokia.com

The new Symbian source code delivery system is intended for Nokia’s partners and collaborators who are already working together with us to develop the Symbian platform.

The details that you provided in your registration are not sufficient for us to identify you as such a collaborator and so we cannot approve your application.

If you are an application developer seeking to develop applications for Nokia devices, we welcome you to work with us at http://forum.nokia.com

With kind regards,

Symbian.nokia.com
=== Cut ===

Как же мне добраться до кода?

dissident
()

help - jackd/creox/guitar

Форум — General

Привет. Помогите plz. В связи с отсутствием денег пришлось продать комбоусилитель и тренькать на электрогитаре в комп. Захотелось овердрайва и нашел вот такую вещь:

http://zyzstar.kosoru.com/?creox

Загвоздка в том, что штука эта зависит от jack сервера. В Дебиане (testing), которым я пользуюсь есть пакеты и для creox и для jackd (поставил jackd2). Только вот запустить этот самый jackd не выходит никак:

=== Cut ===
srg@cocaine:~/install/dillo-2.2$ sudo jackd -r -dalsa
jackdmp 1.9.6
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2010 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
no message buffer overruns
no message buffer overruns
JACK server starting in non-realtime mode
audio_reservation_init
Acquire audio card Audio0
creating alsa driver ... hw:0|hw:0|1024|2|48000|0|0|nomon|swmeter|-|32bit
Using ALSA driver au8830 running on card 0 - Aureal Vortex au8830 at 0xeb100000 irq 12
configuring for 48000Hz, period = 1024 frames (21.3 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 16bit little-endian
ALSA: cannot set period size to 1024 frames for capture
ALSA: cannot configure capture channel
Cannot initialize driver
JackServer::Open() failed with -1
Failed to start server
=== Cut ===

Перегуглил весь гугл, пробовал qjackctl и там всякие «Soft mode», пробовал менять Period и прочие настройки - ничего не помогает. Попробовал с OSS (oss-compat пакет установлен):

=== Cut ===
srg@cocaine:~/install/dillo-2.2$ sudo jackd -r -doss
jackdmp 1.9.6
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2010 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
no message buffer overruns
no message buffer overruns
Unknown driver «oss»
=== Cut ===

В общем засада какая-то - никак jackd сервер не запустить. Помогите пожалуйста. С JACK сервером или с любой другой тулзой, которая на зависит от него и позволяет сделать софтварный overdrive/distortion/reverb или хоть что-то из этого на line in канале, куда воткнута гитара.

dissident
()

дистрибутив для старого железа

Форум — General

Привет. У меня старый металолом с 300Mb памяти, каким-то там целероном и 32Mb карточкой. Я поставил на него Debian Testing и теперь у меня вечные проблемы:

1. После одного из dist-upgrade напрочь отвалилась мышь. После долгих поисков выяснилось, что надо в запустить inputattach -m /dev/ttyS0 или что-то вроде того, так как теперь X'ы по дефолту сами подхватывают мышь и клавиатуру, забивая на секции Keyboard и Mouse в xorg.conf, а COM-мышь не видят без inputattach.
2. После очередного dist-upgrade udev решил, что мои /dev/hdaX это SCSI и в dmesg написан какой-то бред. Вроде можно забить, но следующий dist-upgrade заменил мне человеческие /dev/hdaX в /boot/grub/menu.lst на UUID=xxxx.xxxx.xxxx.xxxx. Можно бы опять забить, но следующий dist-upgrade сказал мне что grub некошерен и засунул в menu.lst Chainload from GRUB2, который не работает, разобраться из-за UUID и из-за того что нету LiveCD стремно.
3. Все как-то тормозит. Раньше трава была зеленее и X'ы работали быстрей. Теперь даже links2 -g тормозит.

И так далее. В общем я решил, что мне нужен дистрибутив, к которому выходят только security updates и который обновляется раз в год. Что-нибудь вроде RHEL. Мне не нужен dist-upgrade, мне не нужны новые обновления, мне нужен дистрибутив для старого железа, который можно поставить, раз в год обновлять и забить в остальном.

Посоветуйте?

dissident
()

partition magic(?) + linux install

Форум — General

Привет.

Есть WinXP на 4 гигабайтах на старом нотике, хочется не прибивая ее отвести 2Gb под Debian/Ubuntu, это возможно сделать? В смысле будет ли fdisk от инсталятора Debian/Ubuntu видеть раздел созданный чем-нибудь вроде Partition Magic правильно? И если да, то чем воспользоваться под Windows, тем же самым Partition Magic? Он вроде платный нет? Может есть что-нибудь бесплатное?

И еще: может быть учитывая что под Линукс есть только 2Gb поставить не Убунту а что-нибудь оптимизированное под место?

Спасибо!

dissident
()

jabber client чтоб жрал мало памяти

Форум — Desktop

Посоветуйте plz сабж. Пользуюсь gajim'ом и все устраивает (красивый, GTK, удобный) но собака 100 метров в htop показывает что жрет.. А у меня на ноуте всего гиг.

Может есть что-нибудь такое же симпатичное и удобное (например в GTK) но менее прожорливое?

dissident
()

запустить twm вместе с gnome

Форум — General

Добрый вечер. Подскажите plz как в ситуации когда gdm запускается при старте системы и запускает гном, параллельно ему в другой консоли запустить twm? В .xinitrc прописан twm. Пробовал при помощи startx -- :1.0 что-то вроде происходит но twm не запускается.

dissident
()

что же такое rhel?

Форум — Talks

всю жизнь пользовался дебианом и тут возникла необходимость разобраться с red hat'ом и там как-то все сложно.

вот есть fedora core, это community release от red hat, там все понятно, идешь на rpmfind и там все rpm'ы всего чего хочешь есть - чудесно.

а вот rhel.. взял его у товарища: rhel5.2. два диска dvd (у дебиана 4), причем на одном сорцы. поставил. и там ну ничего нету. ну т.е. вообще ничего. аплета для сенсоров из гнома нету. mta разных нету. ну т.е. как-то бедно.. мне недодали дисков? или так положено?

вот скажем поставил я rhel5.2 хочу sensors-applet и что мне делать, куда мне идти? ставить пакеты от федоры? в чем тогда отличие федоры от rhel? или таки есть где-то пакеты для rhel'а? или это так положено? тогда rhel - обрезанная fedora? а если так то чем чревата установка пакетов от федоры на rhel?

и вообще объясните для тупого что же это такое.. в википедии как-то мутно..

>>>

dissident
()

sama + rw shares

Форум — Admin

Почему когда я в smb.conf пишу:

[smb_incoming]
comment = Incoming folder
path = /home/srg/smb_incoming
browseable = yes
read only = no
guest ok = yes

а ~/smb_incoming принадлежит группе sambashare, писать туда через самбу получается все равно исключительно когда права o+w?

мне кажется это как-то некузяво, почему g+w при группе sambashare недостаточно? говорит access denied...

дело происходит в дебиане.. как это делать правильно и почему o+w нужно?...

>>>

dissident
()

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