Re: переключение раскладки в консоли debian

2011-09-25 Пенетрантность Александр Седов
25 сентября 2011 г. 15:57 пользователь Роман Новиков
unique.smi...@gmail.com написал:
 Добрый день.

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

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

 --
 С уважением,
 Роман

dpkg-reconfigure keyboard-configuration


Re: структуры в C/gcc

2011-05-30 Пенетрантность Александр Седов
 мы микроконтроллеры программируем. поскольку там на борту всего 0.5-1К
 RAM то эта RAM экономится жестко. соответственно всякие поля зачастую
 упаковываются в байты:

 struct something {
    uint8_t type;
    union {
        struct {
            unsigned flag1:1;
            unsigned field1:5;
            unsigned field2:2;
        };

        struct {
            unsigned bla:2;
            int      ble:3;
            int      bee:3;
        };
    };
 }

Офигеть. Анонимное объединение анонимных структур.
Так не покатит?
struct this_frigging_t whatthefsck = {FIRST_TYPE, { {.flag1 = 0,
.flag2 = 31, .flag3 = 2}}}


Re: структуры в C/gcc

2011-05-30 Пенетрантность Александр Седов
28 мая 2011 г. 20:34 пользователь  yuri.nefe...@gmail.com написал:
 On Sat, 28 May 2011, Dmitry E. Oboukhov wrote:


 мы микроконтроллеры программируем. поскольку там на борту всего 0.5-1К
 RAM то эта RAM экономится жестко. соответственно всякие поля зачастую
 упаковываются в байты:

 struct something {
   uint8_t type;
   union {
        struct {
           unsigned flag1:1;
           unsigned field1:5;
           unsigned field2:2;
       };

       struct {
           unsigned bla:2;
           int      ble:3;
           int      bee:3;
       };
   };
 }

 в зависимости от типа type либо одна часть либо другая часть union
 актуальна. ну и можно сюда добавить uint8_t data и проинициализировать
 union скажем числом 0x23, но это будет довольно
 * нечитабельно
 * болезненно переживать смену порядка/набора полей в union
 --

  Немного не в тему. Так, информация для размышления.
  Недавно для себя выяснил, что битовые поля могут подложить каку:
  1) Медленно работают. Переход на маски дал увеличение
     скорости в два раза.
  2) С некоторыми типами памяти gcc может дать
     неправильно работающий код:
     http://www.coranac.com/documents/working-with-bits-and-bitfields/
     (сам не проверял).
  Ну и да, процессор- компайлер- зависимо.
  Но тут видимо вообще никак.

  Ю.


Re: структуры в C/gcc

2011-05-27 Пенетрантность Александр Седов
2011/5/25 Dmitry E. Oboukhov un...@debian.org:
 тут наверно есть народ который C хорошо знает. такой вопрос.

 допустим имеется структура

 struct something {
    int a;
    int b;
 };

 проинициализировать можно при объявлении так:

 struct something a = { .a = 1, .b = 2 }, c = { 2, 3 };

 а вот если структура содержит неименованную структуру/union:

 struct something {
    union {
        unsigned a;
        struct {
            unsigned char b;
            unsigned char c;

        };
    };

    int x;
    int y;
 };
В union можно инициализировать только первое поле, по спецификации.
Прошу учесть.
Так что так:
something x = {{a_val}, x_val, y_val};


Re: структуры в C/gcc

2011-05-27 Пенетрантность Александр Седов
  Немного устаревшие сведения :). Я сам так думал, но вот
  ISO/IEC 9899 (http://www.open-std.org/jtc1/sc22/wg14/)
  утверждает следующее:

  6.7.8 Initialization
  
 38 EXAMPLE 13 Any member of a union can be initialized:
        union { /* ... */ } u = { .any_member = 42 };


  Так что в С99 можно union инициализовать через любое поле
  по стандарту.
Оок, мои знания о Си дарованы Керниганом-Ритчи. Ну тогда вообще в чём
проблема? Структуру с анонимными struct/union инициализируем не по
полям, а линейно, это работает.


Re: Perl or Python?

2011-05-13 Пенетрантность Александр Седов
 http://en.wikipedia.org/wiki/Empty_set#Extended_real_numbers
Да, инфимум, например. Вполне пойдёт.
А то минимальный элемент всё-тки должен в множестве присутствовать...


Re: Perl or Python?

2011-05-11 Пенетрантность Александр Седов
 Хорошо,  давайте для начала эту функцию определим? :)

 Функцию «минимум» можно _доопределить_ на пустое множество удобным в
 задаче способом.
 Например, так, как показал Иван.
Ну тогда её надо бы как-нибудь по другому назвать.
И что-то мне подсказывает, что доопределить минимум по-другому так, чтобы
min(A U B) = min {min A, min B},
нельзя (потому что из вышенаписанного следует min \emptyset = min A \forall A).
 А вообще, прежде чем
 говорить о каком-то свойстве элементов множества, надо показать, что оно
 не пусто.
Элементы пустого множества обладают любыми свойствами, потому что из
того, что они элементы пустого множества, следует всё, что угодно.


Re: Perl or Python? Теория множеств!

2011-05-11 Пенетрантность Александр Седов
 Отнюдь не всегда.  Половина матанализа, собственно, посвящена раскрытию таких
 неопределенностей.  И вся вычислительная математика :-)
Но-но. В данной конкретной задаче у нас слишком мало информации для
раскрытия неопределённостей такого рода.
 В той теории множеств, которую изучал я, минимум, максимум и тому подобные
 характеристики на пустом множестве были не определены.
Ну так и есть.
 Потому что не
 существует корректного способа их определить, не выводя тип значения функции
 за пределы типа элементов множества.
Ну, как бы min A in A по определению.
 Более того, они и на непустых-то
 зачастую не были определены...  Если мы про теорию множеств, которая в курсе
 про существование бесконечных множеств.  Потому что минимумом называется
 минимальный элемент множества (точнее, наименьший, иначе функция не получится
 - но на множестве с полным порядком минимальный будет наименьшим).  Если
 таковой существует.
Минимумом в стандартных терминах называется именно минимальный
элемент. И да, их может быть несколько.
А наименьший элемент так и называется.
 Их иногда _до_определяли под конкретную задачу.  Вообще говоря, каждый раз
 по-разному.  Зачастую не как минус бесконечность, а как точную нижнюю грань.
Мнэ. По определению инфимума, для пустого множества не определён и он. Тоска.


Re: помогите с автомонтированием харда fluxbox

2011-04-17 Пенетрантность Александр Седов
17 апреля 2011 г. 20:12 пользователь Alise err...@gmail.com написал:
 Доброе время суток
 testing, fluxbox


 При подключение харда, показывает

 Rejected send message, 1 matched rules; type=method_call, sender=:1.83
 (uid=1000 pid=20872 comm=exo-mount -n -h
 /org/freedesktop/Hal/devices/volum)
 interface=org.freedesktop.Hal.Device.Volume member=Mount error
 name=(unset) requested_reply=0 destination=org.freedesktop.Hal (uid=0
 pid=2047 comm=/usr/sbin/hald ))

 Погуглив, нашел, информацию, что нужно отредактировать
 /etc/PolicyKit/PolicyKit.conf
 Однако такой директории нет.
 В репозитории валяется policykit-1, поставил ... файлика с настройками нет.
/var/lib/polkit-1/localauthority/, /etc/polkit-1/localauthority/. man
pklocalauthority.
Написать в файл 50-local.d/automount.pkla что-то типа:


[Automount HAL detected removable media]
Identity=unix-user:HEREYOURUSERNAME # for user HEREYOURUSERNAME
Action=org.freedesktop.hal.storage.mount-removable # attempt to mount removables
ResultAny=no # in not logged in
ResultInactive=auth-self # switch to the console and login
ResultActive=yes # no comment


Можно поставить policykit-1-gnome - он не толстый, несмотря на
название, а диалоги делает.

 Так же нашел в советах , что нужно ставить во fluxbox - ivman , однако
 информация в инете разнится, кто говрит , что это уже прошлый век , кто
 наоборот ...
Ставил, работало. Automounter только при запуске от обычного
пользователя, т. е. надо в автостарт прописать.

 Плиз дайте линк как правильно прописать автомантированием в fluxbox
 Чем дальше гуглю, тем больше путаюсь от большого потока информации ...
 а, начиналось все с того, что якобы достаточно отредактировать /etc/fstab

 Отредактировал (добавил в конец):

 #FreeAgent
 #UUID=FC9C21F69C21FC58 /home/  ntfs, auto, exec, rw, user, 0 0
 UUID=FC9C21F69C21FC58 /media/  ntfs, auto, user, exec, rw, wync, quiet,
 nls=utf
Опции через запятаяпробел - это уже смешно. А вот то, что вы /home на
/media переназначать пытались - грустно...