LINUX.ORG.RU

Сообщения BreadFan

 

Negative latency между хостами

Форум — Development

Помогите локализовать проблему пожалуйста. Суть такова:

На хосте 1 процесс берет свой таймстемп через gettimeofday и засылает в сеть по UDP multicast, на хосте 2 процесс получает эти пакеты, берет свой gettimeofday и выводит разницу. Если рейт небольшой, то разница адекватна, но если слать через 10 микросекунд и быстрее, то разница получается отрицательной. регулярно достигает тысяч микросов со знаком минус.

ничего особо не меняется, если на приёмнике получать таймстемп через SO_TIMESTAMP.

правильно ли я понимаю, что ntp можно полностью исключить (т.к. разница становится отрицательной только при больших рейтах)?

куда ещё нужно смотреть?

сиистема - rhel 7.

 ,

BreadFan
()

Teamcity: одна конфигурация для двух SVN бранчей

Форум — Development

Возможно ли настроить конфигурацию Тимсити чтобы та собирала код из двух разных бранчей? Сразу оговорюсь, для SVN.

Зачем это нужно:

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

Что пробовал:

  • завел переменную branch.name для конфигурации, c помощью checkout rules вычекиваю выбранный бренч. Недостатки: не понял как настроить триггер на коммит чтобы он смотрел на нужные бренчи. Запланировать билд тоже нельзя - Тимсити не дает запустить конфигурацию с параметром.
  • думал написать плагин, который триггерил бы билд, но нет прав админа на тимсити сервер.

Git такое вроде бы умеет, но переезд на гит у нас пока только в планах.

 

BreadFan
()

Собственный DSL?

Форум — Development

Привет, ЛОР!

Есть у меня такая задача - есть сишная структура:

struct foo_struct {
  int8_t f8;
  int32_t f32;
  int64_t arr64[10];
};

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

view foo_view {
   name: "My field 1", type: string, from: f8, id: 500
   name: "My field 2", type: int64, from: f8 * f32, id: 900
   name: "Array field %i", type: string[], from: arr64, ids: 1000...   
};

нужно на основе этих данных написать генератор сишного кода, который бы сделал мне такие функции:

int foo_view_get_by_id(struct foo_struct* stct, int id, void* to);

/* foo_view_get_by_name("Array field 8") должен вернуть to_str(arr64[8]) */
int foo_view_get_by_name(struct foo_struct* stct, const char* name, void* to);

сейчас что-то из этого делает наколеночный скрипт на awk, но этот подход давно себя исчерпал. как писать такой генератор? flex + bison + самописный генератор в С или что-то готовое уже есть?

BreadFan
()

SVN: директория из другого репозитория

Форум — Development

Привет!

Есть ли возможность организовать репозиторий вот так?

repo/trunk
\--dir1
\--dir2 - из другого репозитория
\--dir3

Хочу так сделать чтобы при checkout и update repo/trunk эта dir2 была актуальной. Или это грязно, и нужно делать по-другому?

 

BreadFan
()

Собрать стеки со всех нитей процесса

Форум — Development

Привет всем!

Я пытаюсь собрать stack traces для всех нитей процесса при SIGSEGV и прочих неприятностях, но есть 2 проблемы:
1. Функции backtrace получают стек текущей нити, а надо со всех. Есть ли аналогичные функции для этого случая?
2. Пытался взять адреса стеков с помощью pthread_attr_getstack (код здесь) чтобы потом как-нибудь обработать, функция возвращает NULL. Не могу понять почему, все делаю по манам.

Ну и вообще: кто как собирает стеки, не прибегая к коркам?

BreadFan
()

Помогите нарисовать график

Форум — General

Привет!

Есть у меня некоторые данные по некоторым процессам - имя процесса и времена его начала и завершения, например:
proc1 00:40:44,674 00:40:45,688
proc2 00:40:46,140 00:40:46,910
...

хочется нарисовать график по типу такого:
http://img704.imageshack.us/img704/1367/plotv.png

какой инструмент выбрать? чувствую, что gnuplot, но я так и не разобрался как в нем строить линии.

спасибо!

BreadFan
()

DEB с конфигурационными файлами

Форум — Development

Начал разбираться с построением DEB, решив начать с малого - сделать пакет из кастомных конфигов Астериска.

Подправил control и rules, сгенерированные dh_make

Собрал от юзера и рута с помощью:

debuild -i -us -uc

Все собралось, но:

1. файлы в deb лежат относительно текущей директории (./etc вместо /etc)

2. если подменить стандартные пермишены, генерируемые dh_fixperms, lintian начинает жаловаться

Посмотрел как сделали мейнтенеры в Debian, постарался воспроизвести: ситуация не изменилась.

Пожалуйста, пините меня в направлении правильной доки, в которой было более-менее разжевано как правильно класть файлы и чинить пермишены или в сторону минимальных сборочных deb-файлов, по которым человеку, испорченному rpm легко было сориентироваться :)

BreadFan
()

postfix + gmail: Username and Password not accepted

Форум — General

Нутром чую, что тема такая была, но нагуглить по лору не удалось. Проблема вот в чем: есть postfix, через sasl он авторизуется на gmail. проблема в том, что примерно через сутки gmail перестает аутентифицировать postfix до тех пор, пока я не залогинюсь в его вебе, причем при этом он предлагает мне разгадать капчу.

как это можно вылечить?

P.S. Нагуглил совет поставить в main.cf задержки в пару секунд, но ждать сутки чтобы воспроизвести не охота :)

smtp_destination_rate_delay = 2
relay_destination_rate_delay = 2

BreadFan
()

Relocation в Европу. Нужен совет.

Форум — Job

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

BreadFan
()

Greasemonkey: concat

Форум — Web-development

Что-то я совсем ничего не понимаю! Javascript-код для Greasemonkey:

...
var topics;

topics = document.getElementsByClassName('TextTopic');
topics = topics.concat(document.getElementsByTagName('h1'));
...

скрипт не выполняется, в Error console - «topics.concat is not a function». пробовал еще вместо var topics сделать var topics = new Array() - то же результат.

В тоже время в нагугленных мной скриптах этот concat используется вроде как у меня.

Короче, help :) На javascript первый раз в жизни пишу!

BreadFan
()

Инфосистемы Джет

Форум — Talks

Если кто-нибудь работает в Инфосистемах Джет или общался с тамошней HR, не могли бы вы скинуть мне на почту/jabber batrakov@gmail.com какой-либо контакт (желательно e-mail) HR-менеджера Натальи. Больше никаких данных нет, на определителе телефона высветился только номер джетовского телефонного свича :(

Интерес сугубо деловой :)

>>>

BreadFan
()

Вышла версия 3.1 библиотеки Apache POI

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

Вышла версия 3.1-FINAL популярной библиотеки для чтения и записи документов Microsoft Office, таких как Excel, PowerPoint, Visio и Word.

Изменения в этом выпуске:

POI-HSSF - Java API для доступа к документам Microsoft Excel

  • значительные улучшения функциональности вычисления формул;
  • поддержка условного форматирования;
  • поддержка гиперссылок Excel;
  • работа с вложенными (OLE2) документами.
POI-HSLF - Java API для доступа к документам Microsoft PowerPoint
  • поддержка извлечения вложенных звуковых и OLE-файлов;
  • поддержка таблиц;
  • улучшено извлечение текста;
  • слайды PowerPoint теперь можно конвертировать в графические форматы;
  • драйвер Java2D Graphics.
POI-HWPF - Java API для доступа к документам Microsoft Word
  • работа с вложенными (OLE2) документами;
  • поддержка извлечения картинок Office (Escher images) из документов word.
Сайт проекта
Полный список изменений

>>> Анонс в рассылке POI

 , ,

BreadFan
()

Замена символов в С-препроцессоре

Форум — Development

Хочется странного, а именно, замены символов средствами препроцессора.
Зачем это нужно:
- есть библиотека log4c, она позволяет логировать в группы логов, формат которых: группа.подгруппа1.подгруппа2...
- есть макрос INIT_LOG_GROUP(group) cat_ ##group = log4c_category_get("myapp." #group)

проблема в том, что если мы передадим туда INIT_LOG_GROUP(g1.g2), то это развернется в cat_g1.g2 = ..., а переменная cat_g1 с членом g2 у нас, разумеется, не определена

можно ли сделать примерно так?:
INIT_LOG_GROUP(group) cat_ ##TR('.', '_', group) = log4c_category_get("myapp." #group)

код будет работать только под Linux и собираться только gcc, поэтому на переносимость пох.

>>>

BreadFan
()

Про русские маны

Форум — Talks

Зацените точность перевода!

RECV(2)

If from is not NULL, and the underlying protocol provides the source address, this source address is filled in.

Если параметр from не равен NULL, а сокет не является ориентированным на соединения, то адресотправителя в сообщении не заполняется.

man-pages-ru-0.7-8
Fedora Core 3

>>>

BreadFan
()

Добавление правил iptables без libiptc

Форум — Development

Понадобилось тут в своем приложении, код которого ни под каким предлогом распространять нельзя, добавлять и удалять однотипные правила iptables. Добавлять/удалять надо около ~50 правил в секунду, в каждый момент в цепочке где-то около 1500 правил.

Вариантов реализации вроде всего ничего: 1. Писать приложение с libiptc и общаться с ним через какой-нить IPC 2. Патчить iptables чтобы он постоянно висел, отдавать ему правила через какой-нить IPC, патчи по требованию кастомера отдавать 3. Ковырять протокол взаимодействия iptables с netfilter чтобы отдавать ему правила 4. Забить на все и дергать бинарь iptables через popen

Попробовал добавить такое правило iptables'ом, 0.005 секунд, для моей задачи вроде нормально. Какой из пунктов кто посоветует, и каких подводных камней мне ждать?

>>>

BreadFan
()

Автомапинг имен eth? с реальными интерфейсами

Форум — Admin

Возникла проблема: написать скрипт для машины с 6 проводными сетевыми интерфейсами, размещенными на двух разных карточках, так чтобы он однозначно мапил интерфейсы к именам eth?

Вопрос: в каком направлении необходимо двигаться и решаема ли эта задача в принципе? я посмотред man iftab - он может привязывать имена к макам или прерываниям. но так как скрипт должен работать на заранее неизвестной конфигурации, маки нам неизвестны, как распределяются IRQ и как их узнать, кроме как используя костыли типа ifconfig eth0 up && udevinfo -a -p /sys/class/net/eth0 - для меня загадка :)

>>>

BreadFan
()

Eclipse и package explorer

Форум — Development

В еклипсе никак не могу приручить project explorer так, чтобы он генерировал правильное представление пекеджей. он ориентируется на иерархию директорий, а у меня в директориях
src/java/org/apache/poi
и
src/ooxml/org/apache/poi
лежат классы, принадлежащие одному пакету org.apache.poi. Еклипс же считает, что эти классы принадлежат пакетам src.java.org.apache.poi и src.ooxml.org.apache.poi. В качестве решения eclipse предлагает перенести класс в тот пекедж, который объявлен в java-файле, но это мне не подходит, т.к. он переносит и сами файлы, а у меня включена интеграция с SVN и трогать иерархию директорий я не хочу.

подскажите пожалуйста решение поизящнее, в идеале - чтобы он брал названия пекеджей из сырков.

>>>

BreadFan
()

Java: вопрос по лицензированию

Форум — Development

У меня возникла необходимость добавить функциональности в один из классов пакета javax.Swing. Просто унаследоваться от этого класса и переопределить методы не комильфо: нужно обращаться к private членам, добавлять ощутимые куски кода в разные места функция и проч. Я скачал исходники и тупо поправил нужные места в классе. Т.к. я полный нуб в джаве, мои изменения вряд ли примут в Sun, поэтому я решил не париться, а переименовать этот класс и пользоваться им в своей программе. Свои изменения я готов выложить в любой момент, однако код программы открыть никак не могу.

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

>>>

BreadFan
()

Конвертирование между кодировками

Форум — General

Чего-то я туплю. Есть виндовое приложение, которое пишет файлы с русским текстом в некоторой кодировке. Notepad++ говорит, что эта кодировка - ANSI.
Линуксовый file говорит, что это:

$ file file.txt
file.txt: Non-ISO extended-ASCII English text, with LF, NEL line terminators

iconv сконвертить его не может, оция -с дает кучу мусора

$ iconv -f MS-ANSI file.txt
iconv: illegal input sequence at position 1

хочется сконвертить эти файлы в utf-8 для последующей индексации, помогите, пожалуйста!

вот sample файл зааплоадил: http://webfile.ru/1803935

>>>

BreadFan
()

Тру-книги по базам данных

Форум — Development

Решил вот прокачаться в вопросе баз данных, посему ищу какую-нить литературу, которая бы по возможности:
- не корежила бы мозги посредством 4.2 или неактуальной информации
- давала бы наиболее полное представление о реляционной (реляционная алгебра - плюс) и прочих моделях
- большим плюсом будет освещение хитростей и тонкостей SQL, желательно независимо от конкретной СУБД.

заранее спасибо

>>>

BreadFan
()

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