а что с опросами?
захожу -- висит опрос про видеочипы который уже был когда-то -- это теперь старые опросы оживают? Хм, или я видел этот опрос в неподтвержденных?
захожу -- висит опрос про видеочипы который уже был когда-то -- это теперь старые опросы оживают? Хм, или я видел этот опрос в неподтвержденных?
Есть функция solve которая в 0.001% случаях может зависнуть. Ее
нужно прервать по таймауту.
Пишу:
warn "started solve\n";
my $solution;
eval {
local $SIG{ALRM} = sub { die };
alarm 5;
$solution = solve($lp);
alarm 0;
};
my $is_timeout = $@;
delete_lp($lp);
if ($is_timeout) {
warn "time out\n";
} else
{
warn "sol $solution\n";
if ($solution == $INFEASIBLE)
{
# INCONSISTENCIES DETECTED
return 0;
}
}
Пишет в stderr "started solve" и все, по таймауту не выходит,
висит в 100% CPU. В чем проблема? как решить?В текущей директории генерируется файл со случайным именем и расширением .pm -- в нем модуль, в переменной $var имя модуля. Как сделать use этого модуля и вызывать его функции?
вот думаю вступить в ложу во славу Творца и Законодателя.
В каких ложах состоят братья юниксоиды? Что там происходит? Что скажете о Достопочтенной Ложе Северная Звезда?
Пытаюсь использовать threads. Пока _никаких_ тредов я не порождаю. Все что я делаю -- это вставил в некоторых местах share. В очень ограниченном числе мест. Без этих share/shared все работает как часы.
Так уж получилось что я в некоторых местах закладываюсь на адреса -- то есть на то как стрингифицируется референс -- для последующего использования как индекс хэша.
Отладочная печать показывает, что до и после выполнения абсолютно безобидных строчек. Например таких: if (!defined($some_var))
адреса некоторых объектов _МЕНЯЮТСЯ_. Это происходит постоянно. Сами объекты не меняются.
КАКОГО ХРЕНА??
есть желание проводить некую обработку данных на кластере. В принципе задача может лечь на distcc
У кого нибудь был опыт адаптации distcc к другим задачам? Или может есть какие-то аналоги?
есть всякие проекты типа postgis. Не нашел в FAQ: сколькимерные объекты они поддерживают? Любые или только 2-3-4?
http://forum.ixbt.com/topic.cgi?id=64:1312 Из его трудов, определение свойств ЯП: Косноязычие - плохое построение, непоследовательное, неясная структура, неговорящие имена операторов. Костыль - нарушение базовой идеологии языка, путём латания в ней дыр. Крендель - затруднённый несбалансированный синтаксис при описании конструкций.
нужно распарсить опции, где может быть несколько одинаковых опций: -U aaa -U bbb
Для одинаковых опций нужно получать список [ aaa, bbb ]
Каким модулем, как сделать?
есть 12 мегабайтный файл.
Задача банальная -- отгрепать ^NODE.
С помощью gnu awk:
$ time { cat file | awk '/^NODE/ { print }' > /dev/null; }
real 0m0.929s
user 0m0.900s
sys 0m0.020s
Даже если делать вывод в терминал, все равно это занимает всего 25 реальных секунд!
А теперь великое Тормозилово grep (GNU grep) 2.5.1 из генту:
$ time { cat file | grep '^NODE' > /dev/null; }
real 4m11.329s
user 4m0.123s
sys 0m0.692s
у всех такая петля? 6 m9-cr01-po1.msk.stream-internet.net (195.34.59.53) 16.653 ms 18.176 ms 19.642 ms 7 anc-cr01-te4-2.ff.stream-internet.net (195.34.53.226) 61.901 ms 56.566 ms 62.184 ms 8 de-cix1.rt721-001.retn.net (80.81.192.73) 60.303 ms 63.157 ms 64.182 ms 9 ge100-3.RT741-001.stk.retn.net (81.222.15.105) 59.792 ms 60.362 ms 58.577 ms 10 * * * 11 po1-1000.cerber.citytelecom.ru (217.65.1.246) 62.554 ms 63.774 ms 58.787 ms 12 po1-1000.br1-msk.citytelecom.ru (217.65.1.245) 286.910 ms 404.715 ms 413.324 ms 13 po1-1000.cerber.citytelecom.ru (217.65.1.246) 61.315 ms 60.739 ms 64.846 ms 14 po1-1000.br1-msk.citytelecom.ru (217.65.1.245) 461.855 ms 248.340 ms 268.963 ms 15 po1-1000.cerber.citytelecom.ru (217.65.1.246) 60.161 ms 60.565 ms 58.563 ms 16 po1-1000.br1-msk.citytelecom.ru (217.65.1.245) 130.354 ms 119.446 ms 222.136 ms
есть хэш, что-то вроде:
my %switcher_0 = (
'00FB' => \&node_1,
'0341' => \&node_124,
'0143' => \&node_12846,
"\n" => sub { return },
);
есть код:
sub node_0
{
$parameter[ 5 ] = fetch_parameter( 'ID' );
my $fref = $switcher_0{ $parameter[5] }();
if (defined($fref))
{
&$fref();
}
else
{
&$switcher_0{ "\n" }();
}
}
ругается так:
Global symbol "$switcher_0" requires explicit package name at ruler.pm line 15665.
syntax error at ruler.pm line 15665, near "$switcher_0{ "
syntax error at ruler.pm line 15667, near "}"
15665 это строка &$switcher_0{ "\n" }();
что не так?есть потоковые утилиты -- типа awk -- которые на каждую входную строку могут генерировать выходную.
Есть ли гарантия в стандарте, что если я создам процесс, скажем awk '{ print }' и прилеплю ему на вход/выход пайпы, то если я кину на вход строку (не закрывая пайп), то я получу строку на выходе -- то есть не будет происходить никакой буферизации в пределах нескольких строк??
нужно распарсить выражения вида:
(@9T) & !((! (@6T) & (@3T) & (@4T) | ! (@5T) ))
грубо говоря их нужно привести к чему-то типа КНФ. Неважно -- главное хоть как-то распарсить. Я коенчно могу построить AST, и обработать его как обычно. Но меня не покидает ощущение что на шелле можно сделать какой-то трюк с передачей этого выражения expr или awk, чтобы они распарсили его сами (они же все равно это умеют). Никаких идей?
обычная позиксовская утилита сорт. Смотрим как она работает на линуксе. Вот такой файл: E0_1_0_0_1_0_T E0_1_0_0_1_0T not E0_1_0_0_1_0_T E0_1_0_0_1_0_T terminal @3T Сортируем: $ sort sss E0_1_0_0_1_0_T E0_1_0_0_1_0T not E0_1_0_0_1_0_T E0_1_0_0_1_0_T terminal @3T я не понял логики по которой оно так отсортировалось. Я ожидал такое: E0_1_0_0_1_0_T E0_1_0_0_1_0_T terminal @3T E0_1_0_0_1_0T not E0_1_0_0_1_0_T Это традиции ГНУ/Линукс? Заниматься всякой цветной фигней и неправильно реализовывать базовые вещи? Или это я неправ? У кого есть под рукой нормальный Юникс/БСД? можете проверить как там сортируется такой файл?
читал сейчас http://www.meranetworks.ru/about_us/fast_facts.php
Нижний Новгород, Россия (головной офис компании, центр рабоработки);
есть линуксовая машина, Генту, какое-то ядро из последних. Несколько раз повторялось -- во время тестирования забивался своп полностью апачами. И ядро валилось в панику: Out of memory and no killable processes. Непонятно почему ядро не может убить эти апачи? Судя по топу они находились в состоянии S
пишу первый раз XSD:)
кусок xml должен выглядеть примерно так:
<download_file_list>
<item type='File'>
<attribute name='FileDescription' value='Cool Game' />
<attribute name='Url' value='http://freeciv.org/' />
сейчас для этого пишу специальные типы:
<xs:simpleType name="downloadable_type">
<xs:restriction base="xs:string">
<xs:enumeration value="File" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="file_attr_name_description">
<xs:restriction base="xs:string">
<xs:enumeration value="FileDescription" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="file_attr_name_url">
<xs:restriction base="xs:string">
<xs:enumeration value="URL" />
</xs:restriction>
и потом их использую:
<xs:element name="download_file_list">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="item">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="attribute">
<xs:complexType>
<xs:attribute name="name" type="file_attr_name_description"/>
<xs:attribute name="value" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element minOccurs="1" maxOccurs="1" name="attribute">
<xs:complexType>
<xs:attribute name="name" type="file_attr_name_url"/>
<xs:attribute name="value" type="url_type"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="type" use="required" type="downloadable_type"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
Есть вопросы: можно ли как-то обойтись без создания отдельного типа
file_attr_name_description? то есть как-то прямо написать в том
месте где нужно FileDescription.
Можно ли как-то создать тип name_value который будет матчить любой узел вида:
<attribute name='FileDescription' value='Cool Game' />
и ограничением этого типа получать частные случаи для FileDescription и URL.
вообще любые советы как это упростить приветствуются..Есть такая задача (она кажется на удивление стандартной и общей, у меня к ней сводятся сразу несколько задач, на первый взгляд несвязанных): Есть объекты, которые можно описать вектором параметров. Есть набор правил: Condition1 -> Action1 .............. ConditionN -> ActionN Нужно сгенерировать код который выполнит те Action для которых Condition выполнен. Каждый Condition это булевская комбинация примарных выражений. Примарное выражение это тест из достаточно ограниченного набора типов: например это может быть тест одной переменной на равенство, или меньше-больше Это может быть тест на то матчится ли переменная регэкспом. Это может быть тест на то что линейный функционал от набора переменных больше нуля. Таким образом для примарных выражений очень часто можно автоматически вывести информацию о логическом следовании: например зная значение одного выражения можно узнать значения некоторых других. Более того в случае когда примарные выражения это тест линейного функционала от нескольких переменных, то там можно автоматически вывести отношения следования когда зная значения нескольких выражений можно узнать значения многих других. Разумеется нужно сгенерировать tree-like код, который сможет учитывать зависимости выражений и не будет делать лишние вычисления. Алгоритм который я собираюсь использовать таков: я беру набор всех встречающихся примарных выражений. Дальше я смотрю каждое примарное выражение. Каждое примарное выражение это разделение пространства на две части. Так как примарные выражения имеют фиксированную структуру, то как правило я могу определить совместность набора примарных выражений, таким образом я могу подсчитать L -- кол-во Action'ов не имеющих пересечения с одной части пространства, я смогу подсчитать R -- кол-во Action'ов не имеющих пересечения с другой частью пространства. Еще могут быть Action'ы лежащие и там и там. Дальше я возьму примарное выражение для которого минимально выражение max(L, R). И сгенерирую код который вычислит его и разветвит код на 2 бранча. Далее в каждом бранче я проведу редукцию набора правил с учетом знания значения этого выражения. И повторю процесс для каждого бранча. Теперь вопросы, является ли эта задача стандартной, есть ли у нее имя? Какие другие алгоритмы для ее решения есть? Эта задача кажется ложащейся на Пролог. Умеет ли Пролог ее оптимально решать? Или какие-нибудь другие языки?
| ← предыдущие | следующие → |