[math]Как строится таблица критических значений критерия Фишера?
Сабж. Готовых таблиц в интернете и справочниках полно, но они все маловаты.
Сабж. Готовых таблиц в интернете и справочниках полно, но они все маловаты.
Пайпы, например, являются. Почему семафоры нет? Они бы сделали ненужным такой маразм как .lock-файлы. Писать и читать в файлы-семафоры бессмысленно, но можно открывать и ждать/обламываться, в том числе и из скриптов.
Выглядеть это должно примерно так:
вызов mksem [--value число] имя...
вызов open(,"w") или в shell [n]<имя блокирует вызов до освобождения семафора
вызов open(,"r") или в shell [n]>имя возвращает ошибку, если семафор занят
вызов close() естественно освобождает семафор.
ИМХО, понятный и полезный интерфейс. Почему так не сделали?
Старая как мир задача: виндузятникам перекодировать имена файлов на ftp в cp1251.
Монтирую так:
[root@battlehummer ~]# ll /srv/ftp/pub/
итого 12
drwxr-xr-x 9 legolegs legolegs 4096 Мар 7 19:54 fedora
drwxr-xr-x 2 root root 48 Мар 8 21:39 music
[root@battlehummer ~]# convmvfs -o allow_other,ocharset=cp1251,direct_io,default_permissions,srcdir=/mnt/big/Music/ /srv/ftp/pub/music
srcdir=/mnt/big/Music
icharset=UTF-8
ocharset=cp1251
[root@battlehummer ~]# ll /srv/ftp/pub/
итого 20
drwxr-xr-x 9 legolegs legolegs 4096 Мар 7 19:54 fedora
drwxr-x--- 109 legolegs users 4096 Янв 31 16:40 music
[root@battlehummer ~]# su -c "ls -l /srv/ftp/pub/" legolegs
итого 20
drwxr-xr-x 9 legolegs legolegs 4096 Мар 7 19:54 fedora
drwxr-x--- 109 legolegs users 4096 Янв 31 16:40 music
[root@battlehummer ~]# su -c "ls -l /srv/ftp/pub/" otheruser
ls: невозможно получить доступ к /srv/ftp/pub/music: Отказано в доступе
итого 12
drwxr-xr-x 9 legolegs legolegs 4096 Мар 7 19:54 fedora
?????????? ? ? ? ? ? music
Как видно, allow_other я указал. Пользователь-владелец директории всё видит, пользователь, входящий в группу users видит вопросики вместо прав доступа.
Что я делаю не так?
Какой способ проверки на переполнение int (а также long int и т.д.) самое труЪ? Кроме откровенно быдлокодерских, пока на ум пришло следующее: 1) Не использовать unsigned и проверять смену знака 2) Проверять флаг переполнения asm'ом
Какой способ используют эксперты ЛОРа? Интересует минимальное падение скорости и переносимость хотябы в рамках x86. Примеры кода с асмрм приветствуются.
Осипов Олег Владиславович
22 года
Знания:
язык C++ (естественно, с шаблонами, наследованием, пониманием что как скомпилируется. Кнута чту)
многопоточность/многопроцеснность (win32 и posix)
STL, boost,Qt, sqlite
Также:
опыт работы с Borland C++ Builder 6 (vcl и winapi)
shell-скриптинг
паковка rpm
html+css+js+php+mysql
Реализовывал численные методы; читал, отлаживал и рефакторил чужой код.
Читаю документацию на английском (например, C++0x working draft)
Быстро обучаюсь.
email: legolegs@ya.ru
веревка достаточной длины чтобы выстрелить себе в ногу
Этот метод не срабатывает в С++, потому что функции конструктора вызываются неявно в качестве части объявления; объявление часто скрывает вызов функции. Если вы пропускаете объявление, то вы пропускаете и вызов конструктора. Например, в следующей программе деструктор для x вызовется, а конструктор нет:
Вследствие этой проблемы лучше всего совсем избегать переходов goto в программах на С++.foo() { if ( некое_условие ) goto выход; некий_класс x; // Конструктор не вызывается. (Оператор goto // перескакивает через него.) // ... выход: // Здесь вызывается деструктор для x при выходе x из // области видимости. }
Предлагаю обменяться опытом по сабжу. Интересует, в первую очередь, создание .fb2
С чтением вопросов практически нет: fbreader и khaalireader отлично работают. В первом даже есть базовая функциональность библиотеки.
Хотелось бы иметь тулзы для конвертирования в правильный формат из неправильных (в т.ч. пакетные/консольные). Существует что-нибудь такое? Стабильность и наличие в репозиториях желательны, но необязательны.
Автор формата и первых утилит для работы с ним - убеждённый вантузятник и копираст, хотелось бы видеть свободные программы, с возможностью писать патчи.
После неудачного перемещения раздела были потеряны нужные файлики. Фото и документы я частично восстановил (что уцелело). Сначала натравил foremost, потом что получилось проверил на открываемость с помощью ImageMagik и antiword соответственно. Осталась кучка файлов, которые осталось рассортировать вручную и вернуть в производственный, так сказать, процесс. А вот с кореловскими файлами сложнее. Конфиг foremost'а я для них написал и что-то оно восстанавливает, но утилиты проверки корректности никакой нет. Открывать каждый файл и визуально определять повреждён он или нет - не улыбается совершенно. Единственная известная утилита uniсonvertor выходит с кодом 0 даже если не смогла сконвертировать файл. Возможно, тут пробегут разработчи sk1 (хотя им на форум я тоже попытаюсь написать). Интересуют конструктивные советы по валидации cdr'ок и восстановлению файлов вообще.
Задолбало, товарищи! за-дол-ба-ло!!! И не знаю что делать.
Вот запустил nexuiz и для пробы выбрал "ultimate" в разделе видео-настроек. (Ну я понимаю, что это была не лучшая идея, но виснуть то зачем?) Спустя пару секунд амарок позаикался, покрякал, завис и позже заткнулся, тем временем мышь шевелилась рывками и тоже встала. numlock переключался с задержкой и тоже перестал реагировать. Всё зависло на хрен. Прямо как в оффтопике. Позор. :(
Такое уже случалось раньше и, судя по признакам, дело в свопинге. В высокопроизводительной многозадачной операционной системе, выполняющейся на двухъядерном процессоре и со свопом на sata-диске со включенным DMA. Смерть от свопинга. Приехали.
Практика показывает, что обычно в своп попадают редко используемые данные, и всё идёт хорошо. Но иногда в свопе оказываются часто используемые данные. Просто потому, что места в ОЗУ для них нет. И начинается бешеный свопинг, подкачка осуществляется не время от времени, а постоянно. Разумеется, это ОЧЕНЬ медленно. Ну пусть бы, раз программа не умеет экономить память - пусть тормозит. Но нэээт! Остальные программы, добросовестные, вообще останавливаются!!! Включая, разумеется, X.org и даже /bin/login! Однажды я просто не смог залогиниться с виртуального терминала, т.к. login слишком долго проверял пароль и отваливался по таймауту! Но я не пойму, ПОЧЕМУ??? Ведь процессор не используется (хотя бы одно ядро то), а для планировщика IO вроде как все равны. Откуда тормоза, блин? Как бороться? Как предотвращать?
Был. Обновился и не стало.
Конкретно: Alpha Centauri (от loki естественно), ja2-stracciatella и даже openttd. Никаких сообщений в stderr. Просто нет звука. При этом в том же quake3 звук есть, ls -R ~ > /dev/dsp как и положено противно шипит и т.п. Как чинить?
Учусь в универе, стараюсь использовать ЛаТеХ при написании отчётов. Столкнулся с проблемой, не пойму как правильно решить.
Определитель Рауса - это такая здоровенная квадратная матрица и надо сначала взять кусочек из левого верхнего угла размером 1х1 элемент и посчитать определитель, затем 2х2, затем 3х3 и т.д. Рисуется это примерно так:
||||11| 12| 13| 14|
||| 21 22| 23| 24|
|| 31 32 33| 34|
| 41 42 43 44|
Вопрос знатокам: как это реализуется фтех?
PS Пробовал комбинировать \multicolumn и \multirow и внутри делать табличку с рамкой - не получается. Ещё есть вариант с \vline - но слева они слипаются в одну линию.
Возникла необходимость сконвертировать много файлов .djvu в "обыкновенный" формат. Пришлось долго думать, в чём, собственно, суть кучи утилит в составе djvulibre. В итоге родился простенький скрипт, делающй из djvuшника директорию со страницами. Пользуйтесь :) Возможности: => Многопоточность (по числу процессоров) => ddjvu в моей сборке любит падать на ровном месте, скрипт запустит его повторно => Конвертация во множество различных форматов (за счёт imagemagick) Проблемы: Очень большие большие изображения обрабатываются в несколько потоков гораздо медленнее из-за нехватки памяти, используйте команду JOBS=1 djvu2any.sh file.djvu чтобы принудительно использовать 1 поток. Программа не прерывается по ctrl+c, надо "добивать" через killall djvu2any.sh ddjvu convert Вообще я не очень в программировании на шелле, наверно много сделал неоптимально. И с английским проблемы, но фиг с ним :) Сам скрипт: #!/bin/sh # This program is free software, released under terms of GNU GPL3 # 2007 (c) Osypov Oleg [ legolegs at yandex ru ] # requires: djvulibre, ImageMagick FNAME=$1 TOFORMAT=$2 if [[ "$FNAME" == "" ]]; then echo "Usage: $0 file [to_format (default: png)]" 1>&2 exit 1 fi if [[ "$TOFORMAT" == "" ]]; then TOFORMAT=png fi DIRNAME=`echo $FNAME | sed "s/\.\w*$//"` if [[ "$DIRNAME" == "$FNAME" || "$DIRNAME" == "" ]]; then DIRNAME=${FNAME}_export fi mkdir $DIRNAME if (! touch $DIRNAME) ; then echo "Cannot use dir \`\`$DIRNAME''" 1>&2 exit 1 fi PAGES=`djvudump $FNAME | grep INFO | wc -l` if (($PAGES < 1)); then echo "0 pages found" 1>&2 exit 1 fi rm $FNAME.log 2> /dev/null if [[ "$JOBS" == "" ]]; then JOBS=`cat /proc/cpuinfo 2> /dev/null | grep "^processor" | wc -l` if (($JOBS < 1)); then JOBS=1 fi fi for j in `seq 1 $JOBS`; do for i in `seq -w $j $JOBS $PAGES`; do OK=true if (! ddjvu -format=ppm -page=$i $FNAME $DIRNAME/$i.ppm ); then echo "ddjvu crush on page $i, retrying..." 1>&2 rm $DIRNAME/$i.ppm 2> /dev/null if (! ddjvu -format=ppm -page=$i $FNAME $DIRNAME/$i.ppm ); then echo "ddjvu crush twice on page $i, logged" 1>&2 echo "$i" >> $FNAME.log OK=false fi fi if ($OK); then convert $DIRNAME/$i.ppm $DIRNAME/$i.$TOFORMAT rm $DIRNAME/$i.ppm fi done & WAITUS="$WAITUS $!" done wait $WAITUS ERRORS=`cat $FNAME.log 2> /dev/null | wc -l` if (($ERRORS > 0)); then echo "$ERRORS pages are not exported, see \`\`$FNAME.log'' for numbers" 1>&2 fi
Придирчиво выбирал себе лазерник, чтоб без гимора завёлся в линуксе. Не угадал :(
KDEшный визард раз из 20 показывает hal:///org/freedesktop/Hal/devices/usb_device_ffffffff_ffffffff_noserial_printe r_noserial (и никогда - "просто USB") но отпечатать тестовую страницу не удалось ни разу. В логах
I [21/Oct/2007:23:18:35 +0400] Started backend /usr/lib/cups/backend/hal (PID 5425) for job 60.
E [21/Oct/2007:23:18:35 +0400] [Job 60] Unable to open device "hal:///org/freedesktop/Hal/devices/usb_device_ffffffff_ffff ffff_noserial_printer_noserial": No such device
Попробовал ситапку с прилагаемого диска - тоже ничего не фурычит :(
Стал копать глубже и заметил, что lsusb часто задумывается и в итоге не видит принтера (флешки и мобильники видятся и работают). Такое ощущение, что проблема в кабеле, но у меня их два разных. Не пойму куда копать.
Должен ли вообще принтер быть виден как /dev/ttyUSB0 ?
Videokarta intel 915, vsio rabotalo poka ne otrubili svet. Teper' vklyuchayu komp i pri zapuske iksov vizhu chiornyj `ekran. Klava/mysh' kak voditsya, ne rabotayut, ctrl+alt+backspace tozhe. Zagruzilsya v 3 runlevel, stal razbitat'sya. V logah nichego osobennogo net:
[root@battlehummer ~]# grep "(WW)" /var/log/Xorg.0.log.old
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(WW) No monitor specified for screen "Screen0".
(WW) The core pointer device wasn't specified explicitly in the layout.
(WW) No FontPath specified. Using compiled-in default.
(WW) intel(0): Register 0x61114 (PORT_HOTPLUG_STAT) changed from 0x00000000 to 0x00000b00
(WW) AIGLX: 3D driver claims to not support visual 0x23
(WW) AIGLX: 3D driver claims to not support visual 0x24
(WW) AIGLX: 3D driver claims to not support visual 0x25
(WW) AIGLX: 3D driver claims to not support visual 0x26
(WW) AIGLX: 3D driver claims to not support visual 0x27
(WW) AIGLX: 3D driver claims to not support visual 0x28
(WW) AIGLX: 3D driver claims to not support visual 0x29
(WW) AIGLX: 3D driver claims to not support visual 0x2a
(WW) AIGLX: 3D driver claims to not support visual 0x2b
(WW) AIGLX: 3D driver claims to not support visual 0x2c
(WW) AIGLX: 3D driver claims to not support visual 0x2d
(WW) AIGLX: 3D driver claims to not support visual 0x2e
(WW) AIGLX: 3D driver claims to not support visual 0x2f
(WW) AIGLX: 3D driver claims to not support visual 0x30
(WW) AIGLX: 3D driver claims to not support visual 0x31
(WW) AIGLX: 3D driver claims to not support visual 0x32
(WW) <default pointer>: No Device specified, looking for one...
[root@battlehummer ~]#
Ne znayu chto delat :( Menyal drajver s intel na i810 i dazhe na vesa. Udalyal konfig voobsche - reakciya odna i tazhe - iksy visnut namertvo. pisal v sosednej konsoli
sleep 60 && killall -9 Xorg ; killall -9 X; killall -9 startx
ne pomogaet. Hotya po power normal'no komp vyklyuchaetsya (no `ekran chiornyj vsyu dorogu)
Pomogite, chto delat'? PS izvinite za translit, pishu iz links, u nego `eto vmesto russkoj raskladki pochemuto.
Сменил материнку на днях и, автоматически, сменил видюху с gf440 на интеловскую интегрянку. Переписал конфиг:
...
Section "Module"
Load "dri"
Load "record"
Load "v4l"
Load "dbe"
#Load "GLcore"
Load "extmod"
Load "glx"
Load "type1"
Load "freetype"
EndSection
Section "ServerFlags"
Option "AIGLX" "true"
EndSection
Section "Device"
Identifier "Videocard0"
Driver "i810"
Option "RenderAccel" "true"
Option "AddARGBGLXVisuals" "True"
Option "DDC" "False"
Option "AllowGLXWithComposite" "true"
Option "XAANoOffscreenPixmaps" "true"
Option "DRI" "true"
EndSection
Section "DRI"
Mode 0666
EndSection
Section "Extensions"
Option "Composite" "Enable"
EndSection
...
Все проги между делом ругаются хз на что:
[legolegs@battlehummer Valve]$ glxgears
libGL warning: 3D driver claims to not support visual 0x5a
5191 frames in 5.0 seconds = 1038.145 FPS
Берил тормозит просто ужос как.
CS1.6 (через вайн 0.9.44) ругается
err:wgl:X11DRV_wglGetProcAddress (wglMakeContextCurrentARB) - not found
err:wgl:X11DRV_wglGetProcAddress (wglGetCurrentReadDCARB) - not found
err:wgl:X11DRV_wglGetProcAddress (wglCreatePbufferARB) - not found
err:wgl:X11DRV_wglGetProcAddress (wglGetPbufferDCARB) - not found
err:wgl:X11DRV_wglGetProcAddress (wglReleasePbufferDCARB) - not found
err:wgl:X11DRV_wglGetProcAddress (wglDestroyPbufferARB) - not found
err:wgl:X11DRV_wglGetProcAddress (wglQueryPbufferARB) - not found
и вылетает в главном меню. Короче опенГЛ есть, да какой-то не такой.
Что можно сделать чтоб
1) берил не тормозил
2) контра не валилась?
PS дистриб федора6, контра самосборная с тюнингованым опенГЛ
раньше, на нвидии, всё работало
Мне тут моч^W детство в голову ударило и я задал себе задачку по физике для 7го класса - обсчитать сабж.
Дано:
ly=9460528404879358.8126 //световой год в метрах
l=4.22*ly //расстояние до цели
g=9.8 //жэ оно и в африке жэ
a=2*g //бум лететь на двух жэ, полпути разгон, потом торможение
m=50*10^6 //звездолёт 50 тыс. тонн (от балды умножил атомную подлодку на 2)
t=2*sqrt(l/a) //общее время в пути, секунд
t/(60*60*24*365) //переведём в годы для наглядности, получилось чуть меньше 3х лет
v=a*t //тут я ради интереса посчитал максимальную скорость и обнаружил, что она втрое больше скорости света. Ну да, 3 года меньше, чем 4.22, я мог бы и раньше заметить.
И как быть? Я не ожидал, что так разгонюсь. Очевидно, формулу надо менять. На какую? И как считать мощность не допру. В школе по физике пять с плюсом было, а сейчас элементарные вещи забыл. Расчитываю, что атомный реактор даст 5 мегаватт, двигатель не знаю какой, предположим фотонный со 100% кпд для простоты.
Может кто поможет?
Опытные одмины, посоветуйте сабж от стульев, ног и т.д.
Те столы, что стоят одной стороной к стене - всё окей, провод даже не видно. Те, который спиной к стене - провод от стены к компу (что под столом). Надо закрыть какой-нибудь кренью типа стального кабель-канала. Есть такие вещи в продаже? Если есть, то как правильно называются и где можно заказать.
ЗЫ вайфай не предлагать, долбить пол - тоже
Этот чортов берил отказывается работать, несмотря на то, что всё, что ему надо установлено и работает. [legolegs@battlehummer ~]$ ps -u legolegs PID TTY TIME CMD 2294 ? 00:00:00 startkde 2335 ? 00:00:00 ssh-agent 2338 ? 00:00:00 dbus-launch 2339 ? 00:00:00 dbus-daemon 2381 ? 00:00:00 gpg-agent 2396 ? 00:00:00 start_kdeinit 2397 ? 00:00:00 kdeinit 2400 ? 00:00:00 dcopserver 2402 ? 00:00:00 klauncher 2404 ? 00:00:02 kded 2409 ? 00:00:00 kwrapper 2411 ? 00:00:00 ksmserver 2414 ? 00:00:02 kdesktop 2416 ? 00:00:06 kicker 2417 ? 00:00:00 kio_media 2418 ? 00:00:00 kio_file 2428 ? 00:00:00 kwikdisk 2431 ? 00:00:01 gxneur 2438 ? 00:00:00 klipper 2439 ? 00:00:00 lineakd 2440 ? 00:00:03 konsole 2443 ? 00:00:00 kalarmd 2447 pts/1 00:00:00 bash 2467 ? 00:00:00 knotify 2512 pts/1 00:00:00 ps [legolegs@battlehummer ~]$ beryl ************************************************************** * Beryl system compatiblity check * ************************************************************** Detected xserver : NVIDIA Checking Display :0.0 ... Checking for XComposite extension : passed (v0.3) Checking for XDamage extension : passed Checking for RandR extension : passed Checking for XSync extension : passed Checking Screen 0 ... Checking for GLX_SGIX_fbconfig : passed Checking for GLX_EXT_texture_from_pixmap : passed Checking for non power of two texture support : passed Checking maximum texture size : passed (2046x2046) Relaunching beryl with __GL_YIELD="NOTHING" ************************************************************** * Beryl system compatiblity check * ************************************************************** Detected xserver : NVIDIA Checking Display :0.0 ... Checking for XComposite extension : passed (v0.3) Checking for XDamage extension : passed Checking for RandR extension : passed Checking for XSync extension : passed Checking Screen 0 ... Checking for GLX_SGIX_fbconfig : passed Checking for GLX_EXT_texture_from_pixmap : passed Checking for non power of two texture support : passed Checking maximum texture size : passed (2046x2046) beryl: Another window manager is already running on screen: 0 beryl: No manageable screens found on display :0.0 [legolegs@battlehummer ~]$ rpm -qa | grep nvidia xorg-x11-drv-nvidia-96xx-1.0.9631-7.lvn6 kmod-nvidia-96xx-1.0.9631-7.2.6.20_1.2962.fc6 [legolegs@battlehummer ~]$ rpm -qa | grep beryl beryl-settings-0.2.0-1.fc6 beryl-core-0.2.0-1.fc6 beryl-plugins-0.2.0-1.fc6 beryl-manager-0.2.0-1.fc6 Дистриб федора 6. Наглость берила не знает границ, т.к. никакого "Another window manager" нет. Специально прибил kwin и проследил, чтобы кдешная прозрачность была отключена. Что делать?
У меня Fedora 6. Некоторые программы иногда начинают жрать память и жрут пока не лопнут. Часто у меня терпение лопается гораздо раньше и я жму резет, ибо прибить такую прогу пока комп интенсивно свопится совершенно невозможно.
Итак, задача: ограничить объём памяти, который может выделить программа, ну, скажем, объёмом ОЗУ.
Птичка мне насвистела, что с помощью limits.conf можно ограничить всё подряд. Нашёл оный файл по адресу /etc/security/limits.conf и прописал в нём
* hard data 262144
* hard rss 262144
Второе, как я понял не совсем то, а что такое первое я точно не знаю, но по смыслу подходит. И ничего не изменилось. Специально накорябал прогу, выделяющую малоком 300 метров и она не спеша, но без помех сделала своё чёрное дело. Так как-же, чёрт возьми, правильно пользоваться этим лимитс.конф?
примечания:
на всякий случай продублировал /etc/security/limits.conf в /etc/limits.conf
заставил прогу выделить 500мб и ждать так 10 минут
никаких действий чтобы "применить" изменённый limits.conf не предпринимал т.к. не нашёл в мани про это ничего.
← назад | следующие → |