LINUX.ORG.RU

Сообщения LinuxUser

 

Линия в начале нотоносца

Форум — Multimedia

Суть: LilyPond делает так, а хочется чтоб делал так. Как это сделать?

Подробно: Когда одновременно играются ноты с двух и более нотоносцев,
lilypond соединяет их вертикальной линией слева.

Когда играется только один нотоносец — в начале него LilyPond вертикальную линию не рисует.

Так как я недавно начал заниматься музыкой, то подумал что это единственно правильный вариант.
Однако, в самоучителе по игре на фортепиано увидел,
что линии нотоносца можно соединять вертикальной чертой вот так.
Мне это кажется более красивым.
Как заставить LilyPond рисовать вертикальную линию в начале нотоносца?

 

LinuxUser
()

Программа для обучения игре на синтезаторе

Форум — Multimedia

Есть самоиграйка CASIO WK-110. Linux его понимает, программа rosegarden с него ноты пишет и звук в него выводит.

Хочется программу, которая бы обучала игре следующим образом:

  • на экране отображаются ноты музыкального произведения
  • пользователь жмёт на клавиши
  • когда попадает по правильным нотам они подсвечиваются

В общем что-то типа караоке, только есть время на размышление.

Гуглил. Нашёл это http://sound.condorow.net/midi.html. Вроде как это всё что придумано человечеством.
По слову learn там только какая-то прога использующая нейронные сети для обучения.
Неужели нет такой проги?

 ,

LinuxUser
()

Как после ошибки в sqlite3_step прибить sqlite3_stmt?

Форум — Development

Судя по документации sqlite3_finalize тут не поможет:

If the most recent evaluation of statement S failed, then sqlite3_finalize(S) returns the appropriate error code or extended error code.

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

 

LinuxUser
()

/usr/share/locale/malkovich

Форум — General

Случайно Обнаружил в Debian Squeeze сабжевую директорию, а в ней LC_MESSAGES/nip2.mo в котором поначалу идут вроде как строки для всяких сообщений, а в конце 608 раз «Malkovich\0».

apt-file сообщает что файл принадлежит пакету nip2.

Беглый поиск по гуглю привёл на страницу https://bugzilla.altlinux.org/show_bug.cgi?id=7175. Из чего, вроде как, следует что это чья-то шутка. Но если так, то почему файл до сих пор не выпилили?

Или это не шутка и файл зачем-то нужен?

 locale malkovich

LinuxUser
()

Анализатор строк на C

Форум — Development

Есть ли какая-нибудь библиотека на C позволяющая определить какие типы символов есть в строке?

Хочется примерно следующего:

#define STR_HAS_LATIN_LETTER       0x00000001
#define STR_HAS_LATIN_DIACR_LETTER 0x00000002
#define STR_HAS_UP_LETTER          0x00000004
#define STR_HAS_LO_LETTER          0x00000008
#define STR_HAS_DIGIT              0x00000010
#define STR_HAS_SPEC_ASCII_NOHTML  0x00000020
#define STR_HAS_SPEC_ASCII_HTML    0x00000040
#define STR_HAS_SPEC_NON_ASCII     0x00000080
#define STR_HAS_SPACE              0x00000100
#define STR_HAS_CONTROL            0x00000200
#define STR_HAS_COMB_ACCENT        0x00000400
#define STR_HAS_COMB_NOT_ACCENT    0x00000800
#define STR_HAS_NON_LATIN_LETTER   0x00001000
#define STR_HAS_OTHER              0x80000000

int analyse_str(const char *str);

Очень желательно чтоб работало с UTF-8.

 

LinuxUser
()

printf с заранее не известным количеством аргументов

Форум — Development

На входе строка с некоторым количеством «%s». Все «%s» нужно заменить на одну и ту же строку.

Вопрос — есть ли способ использовать для этих целей printf?
Может можно как-то без ассемблера запихать в стек столько указателей на строку сколько хочется?
Или лучше самому всё сделать, без printf?

Проверку на другие возможные флаги после '%', сделаю вместе с подсчётом «%s».

 ,

LinuxUser
()

Как сохранить и вызвать callback в void * указателе

Форум — Development

Сабж актуален для epoll. В epoll_event.data.ptr можно сохранить указатель типа void *, который при наступлении события для файлового дескриптора будет сразу доступен и его не нужно искать.

Хочу сохранить в этом указателе адрес функции и потом эту функцию вызывать. С сохранением вроде бы всё понятно:

void event_handler() { … };
…
epoll_event.data.ptr = (void *)event_handler;

Наступившие события сохраняю в epoll_events:

epoll_wait(epoll_fd, epoll_events, EPOLL_MAX_EVENTS, -1);

Как теперь привести epoll_events[ready_fd_i].data.ptr к типу адрес функции вида „void event_handler()“?

 , , ,

LinuxUser
()

Системы видеонаблюдения с записью звука

Форум — Multimedia

Есть ли такие чтоб умели записывать звук «изкаробки»?
Платные, бесплатные, свободные — всё равно, хотя лучше, конечно, последнее.
Желательно чтоб звук и видео писались только три наличии хотя бы одно из двух.

Например, поддерживает ли ZoneMinder запись звука?

Знаю что motion не поддерживает.
Я к нему запись звука сам прикручивал скриптами.
Но звук все равно не пишется если в кадре нет движения.

 , , система видеонаблюдения

LinuxUser
()

&a[1] или a+1

Форум — Development

Всегда считал что правильнее &a[1]. Я не прав?

 , ,

LinuxUser
()

Как настроить OpenVPN так, чтоб данные передавались напрямую между клиентами?

Форум — Admin

Так как, например, Hamachi делает.

Это вообще реально?
А то вот тут пишут что OpenVPN на такое не способен и поэтому был придуман P2PVPN.

 , ,

LinuxUser
()

Форматированный вывод текста как в printf

Форум — Desktop

Как сделать так, чтоб при выводе параметра, который может иметь разную длину,
под него можно было выделить определённое количество символов. Как в printf:

printf '%3u\n' 7

Например, чтоб $cpu занимал всегда три символа.

Пробовал сделать что-то похожее с ${alignr N}, но оно работает только если в строчке один параметр переменной длины.

Вот конфиг:

background no
own_window yes
double_buffer yes
own_window_type normal
own_window_hints above,sticky

own_window_argb_visual yes
own_window_colour black
own_window_argb_value 229

default_color white
font -*-terminus-medium-*-*-*-14-*-*-*-*-*-*-*

border_width 2
border_outer_margin 0

own_window_title System Information
own_window_class conky-system

alignment top_left
gap_x 0
gap_y 0
minimum_size 300

update_interval 2.0

TEXT
CPU:\
${alignr 160}$cpu%\
${alignr 120}${cpu cpu1}%\
${alignr 80}${cpu cpu2}%\
${alignr 40}${cpu cpu3}%\
${alignr}${cpu cpu4}%

 

LinuxUser
()

Восстановить затёртый ca.key

Форум — Admin

За сервере с работающим openVPN был запущен ./build-ca который затёр ca.key и ca.crt.

Теперь новых клиентов невозможно добавить, а те которые есть будут работать до перезапуска сервера, так как openvpn сохранил у себя в памяти содержимое предыдущего ca.key.

Вопрос: реально ли как-нибудь из памяти работающего процесса openvpn достать содержимое ca.key?

Заменить всем сертификаты это, конечно, вариант, но уж больно это долго.

 

LinuxUser
()

«общие» переменные в shared object

Форум — Development

Узнал что в Windows-овских DLL-ках можно объявлять переменные которые можно использовать во всех процессах использующих библиотеку. Это делается вот так (работает только в компиляторе от Microsoft):

#pragma data_seg(".shared")
#pragma comment(linker,"/SECTION:.shared,RWS")
#pragma data_seg()
__declspec(allocate(".shared")) int shared_var; /* тут объявляются переменные */
Вопрос: есть ли что-нибудь подобное в Linux-овских SO-шках и как такое сделать?

 , ,

LinuxUser
()

Одно и то же фото выглядит по-разному в разных программах

Форум — Multimedia

Фото: http://zalil.ru/33171820

В UFRaw получается какой-то изумрудный город http://ompldr.org/vZGxqcA/ufraw.png.

В Darktable выглядит гораздо лучше, но всё равно как-то бледновато и не контрастно http://ompldr.org/vZGxqbQ/darktable.png.

А вот в RawTherapee фото выглядит лучше всего http://ompldr.org/vZGxqbg/rawtherapee.png.

Cкорее всего в Darktable надо какие-то настройки покрутить и фото станет как в RawTherapee, но зеркалку я купил три дня назад и в «настройках» RAW файлов мало пока чего понимаю.

Вопросы: 1. Почему в UFRaw получился изумрудный город? 2. Как сделать чтоб в UFRaw фото выглядело хорошо? 3. Как сделать чтоб в Darktable фото выглядело также как в RawTherapee? А то Darktable красивее и вроде мощнее RawTherapee, и хочется осваивать его.

 , ,

LinuxUser
()

Как сделать чтоб nginx не отвечал если запрашивается определённый url?

Форум — Web-development

Чтоб он вёл себя также как когда происходит drop в iptables. Чтоб на том конце люди/боты тратили своё время на ожидание — когда же им ответят.

Хочу отомстить всем кто ищет на моём web-сервере phpMyAdmin, MySQL и всякие уязвимости.

 , ,

LinuxUser
()

Запуск FastCGI с помощью spawn-fcgi для последующего использования nginx-ом

Форум — Web-development

Решил освоить FastCGI. Взял пример с официального сайта. Скомпилировал его

gcc main.c -lfcgi -o main
Запустил
spawn-fcgi -a 127.0.0.1 -p 9000 main
Конфиг nginx-а:
neo@nvh:~$ grep -v '^\s*#\|^$' /etc/nginx/sites-enabled/default
server {
	listen   127.0.0.1:80; ## listen for ipv4
	server_name  localhost;
	access_log  /var/log/nginx/localhost.access.log;
	location / {
		include /etc/nginx/fastcgi_params;
		fastcgi_pass 127.0.0.1:9000;
	}
}

Захожу на http://127.0.0.1/, получаю в ответ «502 Bad Gateway». Процесс main при этом завершается. Wireshark сообщает что на 127.0.0.1:9000 были посланы данные (QUERY_STRING, REQUEST_METHOD и т.д.), в ответ было тоже что-то послано, но не данные.

Помогите разобраться — что я делаю не так?

 , ,

LinuxUser
()

Как узнать почему был выключен компьютер?

Форум — General

Домашний сервер почему-то выключился. Когда был на работе заходил на него через ssh, всё работало. Когда приехал домой он уже был выключен.

Свет дома скорее всего не отключали (часы на микроволновке не сбросились). Даже если и отключали, то в BIOS настроено чтоб при появлении электричества комп включался.

Собственно, очень хочется узнать почему он выключился. Как это можно сделать?

Смотрел /var/log/syslog, ничего интересного не заметил.

 ,

LinuxUser
()

Помогите найти изделие

Форум — Talks

Работаю сисадмином. Все сервера на Debian GNU/Linux.

Вместе со мной в кабинете сидит заведующий по хозяйственной части. Вот уже две недели, он, каждый день, пытается найти «маленькие алюминиевые тубусы» (как вот на этой картинке). Попытки поиска выглядят так: ищет в интернете тех кто может быть причастен к этим «маленьким алюминиевым тубусам», звонит им и пытает на тему — где можно достать эти тубусы.

Этих тубусов ему нужно «дохрена». Это примерно 1000 штук. Это если они не очень дорого будут стоить.

Он достал меня настолько, что мне пришлось просить помощи тут. Может кто знает где можно достать вышеописанное? А то я скоро сойду с ума и будет на одного линуксоида меньше.

LinuxUser
()

Как в подробностях происходит неблокирующее чтение и запись файла

Форум — Development

Для чтения алгоритм таков:

1. Открываем файл с флагами O_RDONLY | O_NONBLOCK
2. Ждём например select-ом когда можно будет его неблокирующе читать
3. Читаем

Вопрос. Что происходит после 1 пункта в ядре ОС? Оно читает с диска содержимое файла в какой-то свой внутренний буфер? Если да, то какого размера этот буфер? Размер буфера постоянный или нет?

Для записи алгоритм таков:

1. Открываем файл с флагами O_WRONLY | O_NONBLOCK
2. Ждём например select-ом когда можно будет в него неблокирующе писать
3. Пишем

Вопрос. Что происходит в пункте 3 в ядре ОС? Оно записывает данные в какой-то свой внутренний буфер и потом, уже после 3-го пункта, пишет данные на диск? Если да, то как узнать когда данные действительно записались на диск?

LinuxUser
()

Запустить программу/скрипт если введён не правильный пароль

Форум — Desktop

Хотел написать такую программку (на основе xtrlock), но решил сперва узнать — может такое уже есть?

Идея такова — если пароль введён не правильно - запускается заданная пользователем программа которая, например, через веб-камеру фоткает того кто вводил пароль и отправляет фотку на заданный e-mail.

Можно запускать программу (или в программе считать количество неудачных попыток) только после N неудачных попыток ввода пароля.

LinuxUser
()

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