Category: компьютеры

Category was added automatically. Read all entries about "компьютеры".

Ужасы нашего городка.

Есть вот такой процессор SIP пакетов под названием Kamailio, как водится с собственным языком программирования (который развился из файла конфигурации). Писать на таком языке надо примерно так:

$erl_list(auth) = $fd;
$erl_list(auth) = $fU;
erl_rpc("kamailio", "auth", "$erl_list(auth)", "$erl_xbuff(auth_reply)");
if (!pv_auth_check("$fd", "$erl_xbuff(auth_reply)", "1", "1")) {
    auth_challenge("$fd", "1");
    exit;
}


Вообще вся идеология проекта это написать "модуль" с экспортирумыми функциями без аргументов и возвращаемых результатов. Функции это же типа для сайд-эффектов. Как следствие каждый такой модуль имеет гигантское количество "параметров".

источник
  • Tags

Petya WannaCry

Интересно, а корпоративные любители тратить деньги на ОС Windows, антивирусы и отделы "информационной" "безопасности" выводы какие-нибудь сделают из последних событий?

источник
  • Tags

О журналистах.

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

Вот например нам сообщают "журналисты":
РАН попросила присылать конкурсные заявки на дискетах. Как в 2002 году, как водится со ссылкой на первоисточник: о требованиях РАН в своем фейсбуке сообщила сотрудница института полиомиелита Мария Простова.

Что же нам на самом деле сообщила сотрудница института? А на самом деле сотрудница института нам сообщила, что прочитала заметочку на другом сайте, на который поставила ссылочку: https://xpir.ru/newsByAlias/RAN-obyavila-konkurs-dlya-molodih-uchenih-na-soiskanie-premii

На котором действительно стоит ссылочка на документ РАН 2002 года, с требованиями на 2002 год.

Между тем как легко видеть требования на 2015 год немного изменились.

--

Что же можно сделать? Например, обязать "журналистов" указывать источник. Как видим выше идея плохая и не работает. С другой стороны, что же мы хотим от "журналистов"? От журналистов мы хотим чтобы они делали свою работу, а именно: проверяли слухи, не вынуждая это делать каждого читателя, для чего есть простое решение: журналист, опубликовавший "новость" на момент публикации которой существует в интернетах опровержение, должен нести ответственность в виде штрафа, равно как и издание, и по накоплению опр. количества штрафов, запрета называться журналистом.

--

Определение терминов публикация, журналист, опровержение и одномоментность вынесем за скобки, для упрощения.

P.S. Как уже отмечалось ранее профессии факт-чекер в России не существует, равно как и самого понятия. Поэтому факт что в Мария Простова является сотрудником института РАН придётся установить самостоятельно (благо гугль ссылочку выдает на непричастный ресурс). Однако факт что "Maria Prostova", автор заметки на фейсбуке, и Мария Простова, сотрудник института, одно и то же лицо так просто уже не установить, а жаль.

источник

balanced vs unbalanced (xlr, rca и другие слова)

Активные аудио-мониторы имеют балансный (xlr) и небалансный входы (rca), в то время как домашние и полу-профессиональные аудио-карты имеют только небалансные выходы (rca, mini-jack). В связи с чем возникает вопрос, как одно подключить к другому, и надо-ли.

Если расстояние небольшое (3-5м), и применяются качественные rca-кабели (без фанатизма, без), то можно обойтись и так. Проверить очень легко -- если гудение и наводки есть, то надо что-то делать. Если нет -- то не надо.

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

Таким образом стоимость решения, позволяющего оттащить звук от компьютера на существенные расстояния (>15м) складывается следующим образом:
1. USB-аудио интерфейс Behringer U-Control UCA 202 (2xRCA Female) -- 23,40€
2. XLR to RCA audio converter -- 26 Eur (2x = 52€)
3. XLR Male 2 Male -- 7,90 Eur (2x = 15,80€)
4. XLR Cable 10m -- 6,50 Eur (2x = 13€)
Итого: ~110€

Альтернатива:
1. USB-аудио интерфейс Peavey USB-P (USB 2 2xXLR Male) -- 88€
2. XLR Cable 10m -- 6,50€ (2x = 13€)
Итого: ~100€

И еще альтернатива (берем две usb-аудио карты и выносим каждую отдельно):
1. Behringer U-Control UCA 202 -- 23,40€ (x2 = 46,80€)
2. USB Repeater 10m -- 15€ (x2 = 30€)
Итого: 76,80€

Какой точный маркетинг у Peavey :-)

источник

asio и виртуализация, wmware против virtualbox, очередное скотство intel

Есть такое ASIO, при помощи которого достигается обработка звука почти в реальном времени. Это почти называется latency, и измеряется в миллисекундах (ms). Latency 5ms - хорошая, годная latency, при таком запаздывании игра на midi-клавишах не вызывает дискомфорта. Чем больше тем соответственно хуже. 40ms - это видимо верхний предел, все что больше - это уже из другой оперы.

ASIO для бедных достигается применением asio4all и usb-asio (а также kx project для аудио-карт sb live и sb audigy). Первое являет собой ASIO-интерфейс к WDM-драйверу windows, второе - ASIO-интерфейс к устройству типа usb-audio, минуя всё остальное.

Возникла мысль о том, что хорошо бы иметь виртуализованную систему windows xp с установленной в ней аудио-софтом, инструментами и эффектами, что бы избежать многочисленных переустановок. Предпосылки есть, т.к. системы виртуализации умеют отдавать гостевой системе usb-устройства в безраздельное пользование.

Итак, на железе intel c2d e7500 3ghz + creative usb soundblaster были созданы две виртуальные системы из windows xp sp3, usb-asio драйвера и программы ableton live 8. Процесс инсталляции операционной системы и программ в virtualbox шел раза в полтора быстрее, чем в vmware. Поставим virtualbox за это жирный плюс. Однако asio в virtualbox оказалось непригодным - при любых настройках latency драйвера звук прерывался. Система же в vmware при настройках latency в 29ms делает вид, что работает - но время от времени издает характерные щелчки, хотя можно и смириться.

Следует отметить, что такая конфигурация на хост-системе (без виртуализации) дает latency 7ms. Если же не заморачиваться с установкой usb-asio, и использовать виртуальную звуковую карту в гостевой системе, то воспроизведение без щелчков возможно при значении задержки 35ms для virtualbox, и 30ms для vmware. Поставим за это vmware плюс. Можно ли жить при задержке 30-35ms - вопрос спорный.

Теперь про скотство intel. Как известно, в процессорах фирмы intel есть аппаратная поддержка виртуализации. Но, как оказалось, не во всех. Есть два варианта процессора intel core2duo e7500 - один с поддержкой, другой без. Различить их можно только по специальным буковкам на корпусе. Называются в прайс-листах они одинаково, и стоят одинаково. Нужно ли говорить, что у меня оказался как раз тот, который не поддерживает vt-x. Печально.

asio4all, установленный в виртуальных системах, приводит к странным результатам - в нем можно выставить latency до 5мс, и при этом звук воспроизводится ровно без треска, но реальная задержка между нажатием клавиши слышна, и составляет порядка 40мс, или больше. Где то он наверное врёт.

Как настроить ациклическое переключение раскладок в Debian GNU/Linux Lenny

Генерируем текущий файл описания клавиатуры, пригодный для скармливания xkbcomp:
setxkbmap -print > current.xkb (логично, да ;)

получится что-то вроде:
xkb_keymap {
        xkb_keycodes  { include "xfree86+aliases(qwerty)"       };
        xkb_types     { include "complete"      };
        xkb_compat    { include "complete+ledcaps(group_lock)"  };
        xkb_symbols   { include "pc+us+ru:2+cz:3" };
        xkb_geometry  { include "pc(pc105)"     };
};

далее, редактируем этот файл, что бы получилось например такое:
xkb_symbols   {
   include "pc+us+ru:2+cz:3"
   replace key <CAPS> // можно и с другими поэкспериментировать
   {
      type = "TWO_LEVEL",
      [
         ISO_First_Group,
         ISO_Last_Group
       ]
    };
};

Затем можно скормить этот файл программе xkbcomp, например так:
cat complete.xkb | xkbcomp - $DISPLAY

скорее всего будут сообщения вида:
Warning:          No symbols defined for  (keycode 255)


что вроде-бы нестрашно.
Изменения вступают в силу немедленно.

Пример выше переопределяет клавищу CAPS следующим образом:
CAPS нажата - ставится раскладка 1 (обычно это us)
Shift + CAPS - ставится раскладка 2 (обычно это ru)

Как настроить ациклическое переключение трех и более раскладок

Если используются три раскладки - например us,ru,cz.
Можно повесить еще одну комбинацию на тот же CAPS, если нет свободных кнопок.
Если есть, можно повесить выбор раскладки на них.

В этом случае секция файла раскладки будет выглядеть так:
    xkb_symbols   {
      include "pc+us+ru:2+cz:3"
      // Lenovo Volume down
      replace key <I2E> {
         type = "ONE_LEVEL", [ ISO_First_Group ]
      };
      // Lenovo Vantage via acpi_fakekey 112
      replace key <I6F> {
         type = "ONE_LEVEL", [ ISO_Next_Group ]
      };
      // Lenovo Volume up
      replace key <I30> {
         type = "ONE_LEVEL", [ ISO_Last_Group ]
      };
   };

Какие кейкоды генерируются какой клавишей, можно посмотреть
запустив xev и понажимать их - будут видны сообщения о нажатии и отпускании
клавиш, например:
KeyPress event, serial 25, synthetic NO, window 0x2000001,
    root 0x69, subw 0x0, time 26278118, (191,425), root:(912,448),
    state 0x0, keycode 174 (keysym 0xfe0c, ISO_First_Group), same_screen YES,
    XKeysymToKeycode returns keycode: 66
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

На ноутбуке Lenovo x300 клавишам volume up и volume down соответствуют коды 174 и 176.
Какие им соответствуют символы показывает xkbcomp из примера выше - в сообщениях
про No symbols defined. Находим символ, вписываем ;)

Кнопочка ThinkVantage вместо кода генерирует событие acpi, на которое
можно повесить обработчик через демон acpid, который вызовет что то типа
acpi_fakekey 112 - что у меня приводит к генерации события нажатия клавиши с символом
I6F и кодом что то типа 235. Почему 112 становится 235 - неизвестно.

Плюс, необходимо сделать еще один хак - переопределить
поведение ISO_Next_Group:

Оно определяется в файле /usr/share/X11/xkb/compat/iso9995 секцией вида:
    interpret ISO_Next_Group {
        useModMapMods= level1;
        virtualModifier= AltGr;
        action= LockGroup(group=+1);
    };

Меняем на:
    interpret ISO_Next_Group {
        action= LockGroup(group=3);
    };


P.S.
В принципе, вышеописаные изменения можно разбить на отдельные
файлы и применять через настройки в xorg.conf, пока не знаю как.

P.P.S.
Символы типа ISO_Next_Group определены жестко в файле
/usr/include/X11/keysymdef.h, который находится в пакете x11proto-core-dev.

Почему нельзя их определить в файле отдельном - тоже вопрос, да.

Далее, в файле /usr/share/X11/xkb/compat/iso9995
отчетливо видно, что под Last_Group имеется в виду группа 2, а под
First_Group - группа 1. То, что может использоваться более двух
групп - разработчики видимо не предусмотрели.

Логичнее было бы определить симовлы типа
ISO_Group_1 .. ISO_Group_4 и применять их.