LINUX.ORG.RU

Сообщения Eddy_Em

 

mc «ломает» alias'ы

Вот такой вопрос: почему после запуска mc все мои alias'ы из /etc/profile.d «чудесным образом» пропадают? Остаются лишь те, которые я определил в ~/.bashrc…

 ,

Eddy_Em
()

Проблемы с запуском 32-битного демона на 64-битной машине

Итак, сменил я на работе мандриву (32-бита) на арч (64-бита) и оказалось, что я не могу запустить демон, мониторящий состояние телескопа.

Данные передаются мультикастом в виде структуры длиной 1380 байт. Там используются всякие int'ы, поэтому я сделал вначале так:

#define int __int32_t
#define uint __uint32_t
Скомпилировал - но не тут-то было: размер структуры все равно больше: 1456 байт, а не 1380. Еще в структуре есть такие типы, как double (но он вроде бы не зависит от архитектуры), char (вроде, тоже не зависит), вложенные структуры, объединение из четырех uchar'ов и одного ulong'а (оно понятно - сейчас исправлю, но уж очень разница большая - что-то еще виновато), unsigned long (сейчас буду подправлять).

В чем может быть проблема? Может, выравнивание как-то не так выполняется?

 ,

Eddy_Em
()

Обновился на свою голову!

Поначитавшись всяких ужасов о найденных уязвимостях, решил я обновить рабочую машинку. Вчера в процессе обновления огнелис перестал работать. Сегодня заработал, но это же кошмар! Откуда могла взяться эта кислотная тема? И куда делась моя родная? .gtkrc в порядке...

 ,

Eddy_Em
()

Частое обращение к диску приводит к жутким тормозам

У меня на рабочем компьютере запущена «считалка» в Octave. Считает она 3..4 суток (а потом - полученные данные надо будет еще с недельку обрабатывать). При этом промежуточные данные заносятся в файлы, их около 16млн. Каждую секунду открывается/закрывается около 1000 файлов. При этом компьютер почти что превратился в однозадачный: периодически зависает «вусмерть», не реагируя на клавиатуру и мышь в течение нескольких секунд; еще чаще - просто подтормаживает, зависая на секунду-другую.

Меры по борьбе с 12309 я проводил, добавил в /etc/sysctl.conf

vm.min_free_kbytes = 65536
vm.overcommit_memory = 2
vm.overcommit_ratio = 80
vm.dirty_bytes = 2097152
vm.dirty_background_bytes = 2097152
(предварительно занеся эти значения в соответствующие /proc/sys/...) Однако, тормоза от этого никуда не делись.

top показывает вот что:

Cpu0  :  7.4%us,  1.7%sy,  0.1%ni, 88.3%id,  2.2%wa,  0.0%hi,  0.3%si,  0.0%st
Cpu1  :  2.5%us,  0.9%sy,  0.0%ni, 96.0%id,  0.6%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2  :  2.4%us,  1.1%sy,  0.0%ni, 96.3%id,  0.2%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3  :  4.9%us,  0.8%sy,  0.0%ni, 94.2%id,  0.1%wa,  0.0%hi,  0.0%si,  0.0%st

  814 eddy      20   0  776m 138m 1432 R   63  6.9   2753:26 octave

free:

Mem:       2064148    2005984      58164          0     222672     76226

Перекидывать структуру данных в /dev/shm поздно: про это я подумал, когда считалка уже сутки отработала. Да и не уверен, что виноват именно диск.

Вопрос: что можно сделать, чтобы система так не тормозила?

 ,

Eddy_Em
()

Примеры оптики с синусным механизмом

Переписываюсь сейчас с людьми, которые будут изготавливать криостат и кое-какую начинку. Они просят показать аналоги основных механизмов, чтобы хоть как-то ускорить процесс. Перерыл и гугл, и adsabs, и arXiv - не могу найти действующих аналогов вот такого синусного механизма.

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

Конструкция с виду простая, а аналоги ну ни в какую не находятся...

Может есть здесь кто сведущий в этой области, кто подскажет?

 

Eddy_Em
()

Когда разработчики починят баг с VFS?

Я уже говорил об этом, но в этой теме мне напомнили. А повторение, как говорится, - мать учения. Да и может, разработчики обратят-таки внимание на эту проблему.

Итак, проблема в том, что mc все операции с VFS выполняет, используя /tmp в качестве посредника. В результате чего частенько вылетает с сообщением о закончившемся месте.

Примеры операций:

  • распаковка архивов (зачем распаковывать весь архив, когда можно вытащить только интересующий пользователя файл?);
  • передача файлов по ftpfs или sshfs (это вообще бред - зачем копировать перед передачей файл в /tmp? Неужели нельзя его сразу отправлять?).

    Это - наиболее неприятные баги, которые хотелось бы не наблюдать.

 , древнейший баг,

Eddy_Em
()

Что правильнее для работы с USB-устройством: модуль ядра или «чистый» userspace?

И снова я со своими CCD. На сей раз для изучения характеристик нам с коллегой был выдан светоприемник Apogee U16M-HC. На диске к нему был только вантузячий софт, который, к тому же, требовал установки проприетарной софтины. Однако, в интернете нашлись и линуксовые «драйверы», правда, под старенькое ядро 2.6.

За пол дня модуль ядра был приведен к нормальному виду и запустился. Однако, изучая файлы для работы в пространстве пользователя, мы обнаружили 2 варианта: один - с использованием модуля ядра, а второй - без оного (перебирает все USB-устройства на предмет обнаружения idVendor и idProduct, затем вызывает usb_claim_interface и работает через usb_control_msg и usb_bulk_read).

С горем пополам «драйвер», не использующий модуль ядра, скомпилировался и даже попытался отобразить температуру светоприемника (но что-то она была уж больно низкая). Кода и там, и там довольно много.

Вопрос: какие подводные камни могут возникнуть, если работать со светоприемником без модуля ядра? Стоит ли продолжать ковырять «драйвер», работающий без модуля ядра, или же лучше «причесать» тот, который работает с модулем (через ioctl'ы)?

Eddy_Em
()

[archlinux][нетпук] Проблема с иксами

Еду завтра в командировку, решил обновить себе арчик. Более-менее все ОК, но остались старые проблемы (которые были до обновления).

Проблема 1: иксы плевать хотели на USB'шные клавиатуру и мышь. На нетпуке работать просто невозможно из-за этого.

Проблема 2 (а это почти и не проблема): при логине в xdm сессия IceWM не запускается, а просто происходит перезапуск xdm. Однако, при заходе по startx иксы запускаются и появляется два окошка xterm, в одном из них потом можно запустить IceWM и все ОК.

Конфигурация иксов вроде бы правильная (за исключением модуля видеокарты совпадает с конфигурацией на компьютере, где все работает). Понаустанавливал всяких xf86-input-* - без толку.

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

 

Eddy_Em
()

Узнать доступный для malloc'а объем памяти

Подскажите, можно ли как-нибудь, кроме выделения большего объема памяти, чем нужно, и контроля возвращенного malloc'ом на не-NULL, узнать, сколько памяти я смогу выделить.

// хочу распараллелить одну штуку, хорошо кушающую память, но для этого до вызова N потоков надо выяснить допустимый объем памяти и как минимум мегабайт 50 оставить, а остальной объем W разделить на N1 буферов размером S и отдать каждый буфер в свой поток (один из N1)

Eddy_Em
()

Чудеса в решете

Столкнулся с такой проблемой: т.к. хром и опера не позволяют использовать межсайтовые запросы, решил переместить свою квази-3D веб-морду на SVG на сервер, отдающий данные о датчиках температуры.

И что я вижу? Ничего! Firebug пишет: «SVGDoc is undefined», т.е. событие onload для SVG не срабатывает. Как такое может быть?

На моем компьютере apache версии 2.2.21, на «том сервере» - 1.3.27. Неужели из-за того, что апач более старый, JavaScript'ы работают по-другому? Мне казалось, что от версии апача отдача данных на таком элементарном уровне зависеть не должна.

Из-за чего такое может быть?

P.S. Апач ошибок не выдает:

==> /var/log/httpd/access_log <==
192.168.3.225 - - [23/Jan/2012:11:52:30 +0400] "GET /~eddy/BTAtemp/ HTTP/1.1" 304 - "-" "Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
192.168.3.225 - - [23/Jan/2012:11:52:30 +0400] "GET /~eddy/BTAtemp/svg.js HTTP/1.1" 200 5617 "http://acs.sao.ru/~eddy/BTAtemp/" "Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
192.168.3.225 - - [23/Jan/2012:11:52:30 +0400] "GET /~eddy/BTAtemp/temp.css HTTP/1.1" 304 - "http://acs.sao.ru/~eddy/BTAtemp/" "Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
192.168.3.225 - - [23/Jan/2012:11:52:30 +0400] "GET /~eddy/BTAtemp/functions.js HTTP/1.1" 200 20640 "http://acs.sao.ru/~eddy/BTAtemp/" "Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
192.168.3.225 - - [23/Jan/2012:11:52:30 +0400] "GET /~eddy/BTAtemp/scene.svg HTTP/1.1" 200 1891 "http://acs.sao.ru/~eddy/BTAtemp/" "Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"

Eddy_Em
()

[достало!] Жесточайшие тормоза при копировании на флешки

На ядре 2.6.xx у меня скорость копирования на флешки (независимо от файловой системы) была невысокой, но по крайней мере, компьютер не превращался в какой-нибудь 8086.

Теперь же, на ядре 3.1.x тормоза просто поражающие! Какой бы ни была файловая система на флешке, скорость записи не бывает выше 5МБ/с (ну, это-то понятно: флешка, все-таки), но при этом система начинает жутко тормозить: периодически полностью перестает реагировать на клавиатуру и мышь; firefox зависает; дисковые операции резко тормозятся (прослушивание музыки, просмотр кино, копирование файлов с жесткого на жесткий). В общем, если мне нужно что-то сбросить на флешку, компьютером в это время пользоваться невозможно. И если я на флешку скидываю фильмы для просмотра на телевизоре, то часа 2 к компьютеру лучше вообще не подходить!

Кто виноват и что делать?

Eddy_Em
()

Посоветуйте видеорегистратор

Жена купила автомобиль, теперь надо бы выбрать недорогой видеорегистратор. Зашел на «Озон» - а там ужас, сколько их! Причем цена варьируется в очень широких пределах.

Что нужно: 2 камеры, поддержка флешек как минимум на 32ГБ, файлы в формате mpeg4 или h264, легкосъемное крепление. Встроенный GPS не обязательно. Лучше всего, если «на борту» будет линукс.

Подскажите, пожалуйста.

Eddy_Em
()

Что значит чило в поле «Число ответов» для wiki?

Собственно, вопрос. А то смотрю в трекере, а там нечто вроде

Wiki (статья) 	User:Eddy Em (Eddy_Em) 	3 минуты назад 	+1326 
Wiki (комментарий) 	Основные команды (JB) 	21 минута назад 	+227
Wiki (комментарий) 	Основные команды (hizel) 	26 минут назад 	+136 

Перемещено JB из Talks

Eddy_Em
()

Алгоритмы отождествления объектов на изображении

Не могу даже придумать, как правильно составить поисковый запрос в google.

Проблема такова: есть набор изображений одной и той же звездной области, положение области от кадра к кадру изменяется (небольшие колебания + вращение). Для определения некоторых параметров мне необходимо выбрать несколько звезд, присутствующих на всех изображениях, и вычислить координаты центра тяжести каждой.

Для отдельно взятого кадра все выполняется элементарно, но вот когда появляется следующий кадр, возникают проблемы:

  1. экспозиция на разных снимках может быть разной, поэтому количество слабых объектов непостоянно даже на точных копиях одной и той же области;
  2. из-за смещений и поворота часть объектов постепенно скрывается из поля зрения, часть появляется.

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

Вопрос: подскажите, пожалуйста, что можно почитать, чтобы понять, какой алгоритм мне стоит использовать для решения проблемы.

Апробацию алгоритма буду проводить в Octave, применять - в своем велосипеде на С.

P.S. Да, вот здесь я привожу пример изображения.

Eddy_Em
()

А чего это у нас с поиском?

Отвалился:

java.net.UnknownHostException: linuxhacker.ru
К сожалению, произошла исключительная ситуация при генерации страницы.

Произошла непредвиденная ошибка. К сожалению сервер временно не принимает сообщения об ошибках. 

И что за linuxhacker.ru???

Eddy_Em
()

[Mandriva] Проблемы с gtkglext

После обновления моей мандривы 2009/2010 до 2011 перестал работать gdk_gl_config_new_by_mode.

Инициализация openGL-виджета проходила при помощи вот этой функции:

void initGl(GtkWidget *Area){
        FNAME();
        GdkGLConfig *glConfig;
        GdkGLConfigMode mode =  GDK_GL_MODE_RGB   |
                                                        GDK_GL_MODE_DEPTH |
                                                        GDK_GL_MODE_ALPHA |
                                                        GDK_GL_MODE_DOUBLE;
        FNAME();
        int a = GDK_GL_MODE_RGB;
        if(!gdk_gl_query_extension())
        BADOGL();
        glConfig = gdk_gl_config_new_by_mode(mode);
        if(!glConfig)
                glConfig = gdk_gl_config_new_by_mode(mode & ~GDK_GL_MODE_ALPHA);
        if(!glConfig)
                BADOGL();  // здесь программа завершается
        if(!gtk_widget_set_gl_capability(Area, glConfig, NULL, TRUE,
                                                                        GDK_GL_RGBA_TYPE))
                BADOGL();
}
Однако, gdk_gl_config_new_by_mode не срабатывает (хотя раньше все было ОК). С чем это может быть связано?

 

Eddy_Em
()

[ArchLinux] [руки из...] Уже четвертый раз переводит время

Домашний арч (обновлен недавно, tzdata свежий) с прошлого воскресенья каждый день переводит мне время на «зимнее». Посмотрел hwclock - там было UTC, исправил на местное. В rc.conf значится

HARDWARECLOCK="localtime"
TIMEZONE="Europe/Moskow"

Как быть?

 

Eddy_Em
()

[арчеводам][зонд][nvidia] Стоит ли обновлять иксы?

Вот запустил сейчас pacman -Syu, он предложил поставить 285-й блоб и иксовый сервер 1.11.

Вопрос: стоит ли такое делать, или 1.11 nvidia не поддерживает? (навеяно вот этим).

 ,

Eddy_Em
()

Не запускаются иксы (mandriva2011)

Обновил на свою голову мандуриву 2010 на работе до 2011-й. При старте иксы не запускаются (280-й блоб). Появляется ошибка про ignoreABI. Сделал, как написано здесь (аналогичное нашел на ЛОРе) - полный фигвам. Теперь пишет, что невозможно запустить иксы из-за какого-то там конфликта версий иксов и блоба.

Как это можно решить?

Eddy_Em
()

[прошу сильно не бить] Как grep'ом найти символы второй половины таблицы ASCII?

Сижу сейчас, перевожу все комментарии в своем велосипеде на английский («по многочисленным просьбам»). Хочу найти, может, где пропустил чего.

grep [^[:alnum:]] считает русские буквы символами.

grep [а-яА-Я] не работает (т.к. буквы, все-таки, не по алфавиту в таблице - КОИ8-Р у меня).

Как быть?

Eddy_Em
()

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