вести из секретных лабораторий
а тем временем, в секретных лабораториях НТЦ Метротек полным ходом идёт тестирование очередного мега-дивайса. следите за новостями. …→
а тем временем, в секретных лабораториях НТЦ Метротек полным ходом идёт тестирование очередного мега-дивайса. следите за новостями. …→
Наконец вышел новый релиз 0.0.6-43 для Беркут-ETX rev.D (тот, у которого 10G и 1G на борту).
Основные изменения:
Файл прошивки можно скачать тут
каждому устройству, которое мы разрабатываем и производим, нужно руководство пользователя. инструкции по эксплуатации — это неотъемлемая часть сложного продукта, хотя существует мнение, что пользователи инструкций не читают. раньше в коробку с прибором мы вкладывали довольно толстую книжку, иногда не одну. теперь вместо книжки — компакт-диск, на который записаны pdf-файлы.
как это ни странно, для вёрстки документов мы не используем ни Word, ни QuarkXpress, ни Adobe FrameMaker. возможно, читатель нашего блога знаком с заметками Кати Саковской об особенностях и инструментах для создания руководств пользователя. они посвящены системе компьютерной вёрстки LaTeX, которая помогает нам сделать элегантные и, надеюсь, удобные для чтения документы. впрочем, рекламные материалы тоже удобно создавать в LaTeX’е.
итак, почему для создания инструкций по эксплуатации мы используем LaTeX?
во-первых, формат исходных файлов. он текстовый. да-да, обычный текст, или plain text, как говорят англоязычные товарищи. это значит, что нет проблем с редактированием и с системами контроля версий (svn). кроме того, легко находить и управлять измененими при помощи стандартных инструментов (diff).
во-вторых, автор текста в первую очередь думает о содержании, а не о том, как будет выглядеть страница.
в-третьих, LaTeX легко преобразовать в html для чтения прямо на сайте. но увы, такую возможность мы почему-то не используем, надо это исправить.
ну, и последнее: красивые документы в формате postscript, которые легко вывести на печать и pdf-файлы, удобные для чтения с экрана компьютера.
btw, рекомендую полезную статью «Учите детей Groff’у»» про то, как и зачем отделять содержание текста от внешнего вида. правда, на английском. но есть похожая заметка на русском: «О вреде дружественных интерфейсов».
рекомендую к прочтению.
На наш сайт в раздел Руководства по эксплуатации добавлены новые версии
руководств для приборов Беркут-ET и Беркут-ETX. И вот почему: по словам пользователей, в предыдущих релизах отсутствовал очень важный раздел, посвящённый обновлению ПО. Из-за этого некоторые читатели были уверены, что добавить фичу/исправление невозможно.
На самом деле, раздел не отсутствовал, а просто прятался в главе «Удалённое управление».
Теперь обновлению версий ПО посвящена отдельная глава и найти её совсем несложно. Скачать руководства можно здесь здесь (Беркут-ET, версия 3.0.0-0) и здесь (Беркут-ETX, версия 4.0.0-0).
вот и я добрался до блога. поделиться маленькой программистской радостью :)
буквально на днях столкнулся с задачей — надо было быстро определить, подключена карта (ну или модуль) к прибору или нет. «быстро» значит без особых задержек между появлением/пропаданием карты и фактом обработки этого события.
для этих целей схемотехники завели GPIO pin на процессор. и первая реализация задачи была очень примитивной: опросом раз в 1 секунду читался файл /sys/class/gpio/gpio58/value. если в файле 1, то карта не подключена, а если 0 — подключена. инверсная логика, чтобы жизнь мёдом не казалась :)
да, совсем забыл сказать, что мы используем GPIO SYSFS. это такой интерфейс: из user-space виден файл, который можно писать и читать, а с другой — физическая ножка процессора. более подробно тут
а порадовало то, что pin, настроенный на вход, можно использовать как прерывание и при этом не залезать в kernel space! и вот как. в каталоге, соответствующем аппаратному GPIO (например /sys/class/gpio/gpio58/) лежит файл edge. этот файл позволяет настроить обработку прерывания: falling (по спаду сигнала), rising (по фронту), both (и по спаду, и по фронту). запись в этот файл none выключает обработчик.
я записал в этот файл «both», т.к. меня интересовало и подключение, и отключение.
дальше, используя системный вызов poll(), можно дождаться прерывания и прочитать значение из файла value.
то есть фактически реализуется блокирующее чтение.
механизм подробно описан в том же help’e
вполне рабочий пример кода есть тут
а я просто могу зафиксировать, что это действительно работает :)
да, нужно упомянуть, что у нас используется ядро 2.6.35-9
наконец-то! пилотные версии разработок и небольшие опытные партии мы теперь собираем с помощью робота. время выпуска первых образцов новых приборов сократилось до одного-двух дней с момента получения печатных плат. казалось бы, мелочь, но для нас это серьёзный шаг вперёд.
вот, например, как робот устанавливает компоненты на плату проекта STeameR:
плату x10 собрали в корпус. работает! с чем всех причастных и поздравляю!
пусть это пока пилот, но никто, кроме нас, это не сделал.
Набор пакетов calendar позволяет создавать различные виды календарей (на год, месяц, неделю), а также расписания, графики работы и т.д. Если в используемом дистрибутиве LaTeX нет данного пакета, его можно скачать и установить.
По умолчания для составления календаря применяется английский язык. Для использования русского языка необходимо в файл dates.cfg, который находится в каталоге calendar, вручную добавить перевод дней недели и месяцев.
Рассмотрим, …→
довольно часто у операторов связи возникает потребность в оперативной диагностике трактов. например, когда хочется найти «левый» трафик в магистрали.
с низкими скоростями передачи проблем нет: настроил порт на mirror, подключил компьютер с wireshar’ком, настроил фильтрацию — и вперёд, analyze this. но, когда дело касается 10G ethernet, ситуация кардинально меняется. казалось бы, можно подключить мощный компьютер с 10-гигабитной картой и задача решена.
не тут-то было. для двух направлений (приём и передача) нужно уже два десятигигабитных интерфейса и, к тому же, выясняется, что даже самый мощный процессор не в состоянии отфильтровать из потока с нагрузкой 90% нужные пакеты без потерь.
по этому поводу мы решили выпустить новый прибор — Беркут-MX. небольшая коробочка умеет обрабатывать два потока 10-гигабитного трафика одновременно, отбирать пакеты по нужным параметрам и перенаправлять их в гигабитный интерфейс для неспешного анализа тем же wireshark’ом.
впрочем, только фильтрацией возможности устройства не ограничиваются.
подробная информация будет на нашем сайте на следующей неделе, а пока можно почитать небольшую брошюру.
update: на фотографии к этой записи и в буклете показан вариант компоновки прибора в 19″ стойку: в одном корпусе размещены четыре модуля, каждый из которых обрабатывает два 10-гигабитных потока (суммарно — восемь).
Нашла недавно интересную статью Стива Колда, который некоторое время работал техническим писателем в Rational systems и GW Associates. Вот английский вариант статьи, а вот перевод на русский язык.
От себя хочу добавить то, что заметила уже давно: если действия, которые требуется совершить пользователю, являются неочевидными, а их перечисление
занимает несколько страниц текста с поясняющими скриншотами, картинками и схемами, то через пару релизов ПО интерфейс упрощается и описывать его
становится одно удовольствие.
Я согласна с автором статьи: документация не должна покрывать недостатки ПО. Но иногда случается так, что необходимо срочно выпустить промежуточный релиз, и руководство, естественно, должно ему соответствовать. Тогда от описания возможных непростых взаимодействий пользователя и системы никуда не деться.
В этом, на мой взгляд, и состоит задача технического писателя: несмотря на наличие сложных алгоритмов так составить описание, чтобы оно было понятным, информативным и полезным для пользователя.