LINUX.ORG.RU

Сообщения dilmah

 

Как применять абстрактные правила к атрибутам на Скиматроне?

Форум — Development

Если я хочу иметь какое-то общее правило для узлов — например, текст узла должен быть числом с плавающей точкой, то это легко сделать с помощью абстрактных правил:

  <sch:rule abstract="true" id="float-number">
    <sch:assert test="matches(., '^(\+|-)?([0-9]+(\.[0-9]*)?|\.[0-9]+)([Ee](\+|-)?[0-9]+)?|(\+|-)?INF|NaN$')">Element <sch:value-of select="name(.)"/> must be decimal numeral with or without a decimal point, numeral in scientific (exponential) notation, or one of INF, +INF,'-INF or NaN literals</sch:assert>
  </sch:rule>

И далее это правило можно применять к любому узлу:

    <sch:rule context="/*/opioid/content">
      <sch:extends rule="float-number"/>
      <sch:extends rule="be-high"/>
    </sch:rule>

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

Если писать напрямую:

    <sch:rule context="/*/opioid/@content">
      <sch:extends rule="float-number"/>
    </sch:rule>

то это не работает (причина понятна, если посмотреть XSL, в который этот скиматрон компилируется).

 schematron, ,

dilmah
()

«локальная» часть getaddrinfo

Форум — Development

Есть необходимость сделать чисто локальную часть преобразования строки в адрес — то есть те преобразования которые не ведут к сетевым обращениям.

Скажем, у getaddrinfo есть флаг AI_NUMERICHOST — он делает только преобразование численных адресов. Хотелось бы примерно такого же по отношению к /etc/hosts. То есть нужно разрезолвить имя в адрес всеми возможными способами которые не приводят к сетевому трафику.

Для сетевого резолва используется libevent, но к сожалению он (в используемой версии 1.4) не умеет смотреть в /etc/hosts.

dilmah
()

нормальный почтовый клиент для андроида?

Форум — Mobile

для ящиков на google mail я пользуюсь родным клиентом, все устраивает.

Еще есть ящик на рамблере, соответственно нужен IMAP клиент — я пробовал клиент, предустановленный на нексусе и K9 и везде я вижу один и тот же нетерпимый баг: они сортируют письма не по дате получения, а по какой-то дате из хедеров письма (видимо отправления). Это означает, что вновь пришедшее письмо может добавиться (и я это регулярно наблюдаю) не в самый верх, а куда-то между уже просмотренными письмами. Это абсолютно неприемлемое поведение. Есть ли нормальный IMAP клиент, который сортирует по дате получения?

dilmah
()

ликбез по git

Форум — Development

допустим есть два клона (в 2 директориях на одной машине) одного репозитория. В каждом клоне есть свои бранчи. Теперь я хочу смержить бранч в одном клоне с бранчем в другом клоне. Это же должно как-то просто делаться? Как?

dilmah
()

NPF: новый пакетный фильтр в NetBSD

Новости — BSD
Группа BSD

В NetBSD-current появился новый пакетный фильтр npf, написанный с нуля литовцем Миндаугасом Расюкевичиусом (Mindaugas Rasiukevičius). Основные возможности:

  • фильтр разработан с учётом многопроцессорных машин и без использования блокировок для получения масштабируемой производительности — теперь пакетный фильтр не является узким местом на многопроцессорном маршрутизаторе;
  • быстрый поиск по хеш-таблице и красно-чёрному дереву;
  • динамическая фильтрация пакетов (на основе информации о соединениях), преобразование сетевых адресов и портов (NAPT) и шлюзы уровня приложений (ALG);
  • новый «движок» N-Code, написанный по основным принципам BPF: N-Code использует для нахождения соответствия в пакетах основные RISC-подобные инструкции и несколько CISC-подобных инструкций для обычных шаблонов наподобие адресов IPv4;
  • уже знакомые синтаксис конфигурирования и утилиты;
  • модульность и расширяемость: пользователи могут расширить NPF путём загрузки модуля ядра; NPF предоставляет разработчикам API, а правила NPF могут использовать специальный метод для активизации расширения.

Таким образом, к январю пользователи NPF получат все те возможности, которые они получают от других пакетных фильтров:

  • повторная сборка пакетов IPv4;
  • двунаправленные NAT и перенаправление портов;
  • поддержка прокси FTP;
  • чистка флагов в заголовке IP;
  • блокировка пакетов ICMP и TCP RST;
  • сохранение и восстановление состояния;
  • журналирование пакетов, настраиваемые правила фильтрации.

Стоит отметить, что в NPF ещё не реализована поддержка IPv6. Автор NPF согласился предоставить техническую поддержку разработчикам, которые будут этим заниматься. Поддержку IPv6 обещают в ближайшем будущем.

>>> Подробности

 , , npf

dilmah
()

Подготовка формулировки целей сертификации BSDP

Новости — BSD
Группа BSD

BSD Certification Group, известная проведением сертификации BSDA (BSD Associate), готовит еще одну сертификацию — BSDP (BSD Professional). На данный момент формулируются цели этой сертификации на wiki.

Вы также можете участвовать в этом процессе, редактируя эту wiki до конца июля.

>>> Подробности

 ,

dilmah
()

багофича с опросом

Форум — Linux-org-ru

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

dilmah
()

BSD Magazine открывает свободный доступ

Новости — BSD
Группа BSD

BSD Magazine (прошлые и будущие выпуски) теперь свободно доступен онлайн http://www.bsdmag.org Журнал появился полтора года назад и пишет на темы вокруг BSD. Язык журнала английский.

>>> Подробности

 , ,

dilmah
()

mmap и странный вывод strace

Форум — Development

В коде делается mmap сразу на весь файл и дальше он читается. Оказалось что в выводе strace это выглядит как mmap на 1 страницу, а дальше серия read размером со страницу. Это такой всегда вывод strace или это особенность конкретной архитектуры/версии ОС?

dilmah
()

продемонстрируйте пожалуйста мощь шаблонов и STL

Форум — Development

есть std::vector< std::pair <std::string, double> > vec;

нужно отсортировать его по числу (double). то есть написать:

std::sort( vec.begin(), vec.end(), XXX );

вот на место XXX нужно поставить компаратор. Написать отдельный тип для этого я и сам смогу, но хотелось бы обойтись без объявлений типов, а просто на место XXX забабахать какое-нибудь хитрое выражение ala bind1st. Можно такое сделать?

dilmah
()

где взять архивы форумов?

Форум — Talks

нужен большой корпус разнообразных русских текстов. Художественная литература и википедия уже есть, хотелось бы раздобыть архивы форумов -- там хорошая лексика близкая к разговорной.. Скачал архив форума talks.guns.ru.

Какие еще большие архивы форумов можно скачать? чтобы сразу в сжатом виде. Архив ЛОРа где-нибудь есть кстати?:)

dilmah
()

План по включению Lua в NetBSD

Новости — BSD
Группа BSD

В результате недельного обсуждения в tech-userlevel@ ряд разработчиков выразил заинтересованность во включении Lua в базовую систему NetBSD, в том числе и в ядро -- для реализации на Lua некоторых запутанных протоколов, в реализации которых легко допустить ошибку.

>>> Подробности

 , , ,

dilmah
()

Баньтство

Форум — Linux-org-ru

посмотрел -- klalafuda, mironov_ivan забанены. Это что за осенняя активизация такая?

dilmah
()

Опрос: распределение задач, стоящих перед системными администраторами BSD

Новости — BSD
Группа BSD

Вслед за младшей сертификацией BSD Associate (которая доступна уже болeе года) готовится сертификация BSD Professional. Для того, чтобы лучше определить какие задачи наиболее важны для экзаменуемых, всем опытным системным администраторам BSD предлагается заполнить опросник: http://surveys.bsdcertification.org/p...

>>> Подробности

 , bsdp, ,

dilmah
()

непропорциональное падение производительности форков

Форум — Development

такая ситуация: есть сервер (2-ядерный), на котором сейчас постоянно
работают 5 процессов полностью жрущих процессор:

Cpu(s): 98.3% us, 1.5% sy, 0.0% ni, 0.0% id, 0.0% wa, 0.2% hi, 0.0% si

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8849 root 25 0 78008 73m 2680 R 50 3.6 18:01.27 OPSTask_clone_r
8876 root 25 0 80044 75m 2404 R 42 3.7 20:12.03 OPSTask_clone_r
8854 root 25 0 80156 75m 2404 R 40 3.7 17:36.53 OPSTask_clone_r
27544 root 25 0 78240 73m 2684 R 32 3.6 17:01.54 OPSTask_clone_r
8922 root 25 0 79232 74m 2404 R 30 3.7 20:33.89 OPSTask_clone_r

логично предположить, что если я на нем запущу свой CPU-bound процесс, то его
производительность будет в 3-4 раза хуже, чем на ненагруженном
сервере. Ну хорошо, сделаем скидку -- допустим в 5 раз.

если процесс обычный, то так и есть. Но у меня шелловский скрипт,
который делает много форков. И его производительность (даже с renice -20)
упала в 20-40 раз по сравнению с ненагруженным сервером.
Это баг линукса? Пофиксили ли его в новых ядрах?

мое ядро: 2.6.20-vs2.2.0

dilmah
()

пацан, мобила есть?

Форум — Linux-org-ru

Уже пару месяцев на ЛОР нельзя авторизироваться ни из оперы мини, ни из UCWeb -- там наворотили что-то слишком сложное. То есть фактически запостить комментарий нельзя.

dilmah
()

зачем HR?

Форум — Talks

Везде где я работал собеседование сразу идет с техническими людьми и менеджерами (все менеджеры компетентны технически). Иногда на собеседовании присутствует и HR, но он всегда в фоне.

Однако есть некоторые компании, в которых первое собеседование проходит лично с HR. Причем это вроде на первый взгляд не макдональдсы (Mail.Ru, mirantis). Более того, в некоторых кругах это, как я понял, считается нормальным. Зачем это делают и как себя вести? Стоит ли разворачиваться и уходить, узнав, что на собеседовании не будет никого кроме HR?

dilmah
()

что будет если в git закоммиттить 2 разных файла с одинаковым хэшем?

Форум — Development

субж.

Понятно, что вероятность этого гораздо меньше, чем вероятность того что у тебя биты на диске перепутаются а чексумма сектора совпадет, но все-таки..

И общий вопрос -- как вы относитесь к коду, который by design имеет ненулевую вероятность некорректного поведения?

dilmah
()

2KRoN73 (простая математика)

Форум — Talks

> А 100-е число Фибоначи также можешь? :)

лови:)

$ echo 0010011 | sed 's/\(.\)/\1@/g' | tr @ \\n | awk -vc='1 0 1' -vm='0 1 1' '{ split(m,a); split(c,b) } $1>0 { $1="(" b[1] "*" a[1] "+" b[2] "*" a[2] ")"; $2="(" b[1] "*" a[2] "+" b[2] "*" a[3] ")"; $3="(" b[2] "*" a[2] "+" b[3] "*" a[3] ")"; c=$0 } { $1="(" a[1] "*" a[1] "+" a[2] "*" a[2] ")"; $2="(" a[1] "+" a[3] ")*" a[2]; $3="(" a[2] "*" a[2] "+" a[3] "*" a[3] ")"; m=$0 } END { split(c,b); print b[2] }' | bc

354224848179261915075

dilmah
()

печальная правда про гнутые утилиты

Форум — Development

# export LC_ALL=C
# cat /var/GFE/tmp/cerrs40.tru | grep exit_group
16886 exit_group(0) = ?
grep: memory exhausted

То же самое awk:

# cat /var/GFE/tmp/cerrs40.txt | awk '/exit_group/'
16886 exit_group(0) = ?
awk: (FILENAME=- FNR=1248) fatal: grow_iop_buffer: iop->buf: can't allocate -2147483646 bytes of memory (Cannot allocate memory)

Файл конечно не маленький:

# ls -lh
/var/GFE/tmp/cerrs40.txt -rw-r--r-- 1 root root 1.3G Jan 25 17:36 /var/GFE/tmp/cerrs40.txt

это текстовый файл -- лог strace

Так какого хрена переполняется память, если это чисто потоковая построчная обработка.
То есть в каждый момент нужна только ОДНА ТЕКУЩАЯ строка.

dilmah
()

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