LINUX.ORG.RU

Python


390

21

Всего сообщений: 40

mifa — анализатор формата данных

При анализе данных, вычитываемых системой сбора, на предмет сбоев бывает необходимо просматривать данные глазами слово-за-словом. Ломая неоднократно глаза за этим занятием я решил слепить что-нибудь для его облегчения. Идея для такого инструмента не пришла сама, идея была «нагло спёрта» ;) у анализаторов протоколов (например: http://www.usbee.com/suite.html, http://www.usbee.com/dxpp.html, это не реклама!!!), встраиваемых сейчас даже в некоторые модели цифровых осциллографов. Поделие было названо mifa — MISS format analyzer (МИСС это стандарт на крейтовую электронику, изобретённый лет 20 назад в нашем институте) и стало органичной частью dem (decoding error monitor), приложением для мониторирования работы системы сбора и сбора статистики ошибок декодирования данных (уже презентованное ЛОРовской публике в недалёком прошлом анализ работы системы сбора данных)

mifa написана на питоне, декодинг производится в библиотеке написанной на С. Событие рендерится в виде древовидного списка (QTreeWidget) слов буфера, из которого событие декодируется. Т.е. 4-х байтные слова буфера представлены последовательно (buffer word — слово в hex, offset — смещение слова в буфере) с раскодированной в них информацией и обнаруженными ошибками. При чтении файла с данными можно задать критерий останова например по маске ошибки для каждого модуля (обнаруживается более 50 типов ошибок), слева внизу показано окошко для указания типов ошибок в маске. Справа внизу показано выбранное (мышкой по слову в дереве тыц!) раскодированное слово с номерами и значениями битов, раскодированная в полях слова информация и названия полей. Справа вверху виден кусок таблицы с ранжированными корзинами и ошибками в них (я описывал таблицу в прошлом скриншоте). Остальное, надеюсь, понятно по названиям.

Рендеринг построен на шаблоне проектирования builder. Рендереры, знающие только формат данных, реализованы в виде библиотеки питоновских модулей, за представление (отрисовку с помощью QTreeWidget) отвечает builder, что позволяет менять представление без переделки рендереров. Рендереры создаются во время рендеринга с помощью шаблона factory method (virtual constructor), используя свойство питоновских классов first class object. Весь анализатор занимает около 1500 питоновских строк включая библиотеку из 22 рендереров.

Код предоставлю всем жаждущим по запросу.

 , ,

filin
()

анализ работы системы сбора данных

Как правило системы сбора данных в экспериментах физики высоких энергий изделие штучное, по немалой степени разрабатываемое под каждый эксперимент заново (естественно проверенные переиспользуемые компоненты тоже есть ;) ). Нередко электроника системы сбора не проходит тщательную отладку, эксплуатируется в нестандартных условиях, что приводит к необходимости непрерывного контроля работы электроники.

На скриншоте показано приложение для on/off-line анализа работы системы сбора данных. Отображаются (слева направо, сверху вниз): окно таблиц с суммой ошибок по последнему рану и сбросу ускорителя, окно со списком ошибок в узлах, отсортированный по количеству ошибок, окно с таблицей усреднённой длины данных по каждой корзине электроники ранжированных по месту в каждом событии, окно со всеми ошибками в конкретных узлах, конфигурационное окно с длиной данных и количеству ошибок по каждому узлу.

Длина данных указана в 4-байтных словах. Таблицы генерятся в виде HTML, отображаются с помощью QWebViewer и сбрасываются в файлы, для удалённого просмотра из web-browsers через web-server. Приложение написано на python с использованием PyQt, декодинг и накопление статистики производятся в библиотеках написанных на C, что позволяет «молотить» данные со скоростью C, а отображать с удобством python.

 , ,

filin
()

Просто kde 4.8 просто работа...

Обычный KDE 4.8
Обычный стиль окон Zink
Обычный набор иконок Oxygen Refit Black
Обычная цветовая тема Oxygen Platinum
Обычные обои на рабочий стол для KDE 4.8
Обычный Kate
И наконец совсем обычный классический Pylons в нём.

Обычный человек обычным утром
Обычными ногами в тапки влез,
Затикали обычные минуты…
Обычность съела чудо из чудес.
Обычность съела чудо пробуждения,
Когда его душа, еще во сне,
Пережила повторное рожденье,
Как маленький подснежник по весне.
Душа была так рада пробужденью!
Она хотела петь и ликовать!

Но человек имел в уме решенье:
Душе своей ни в чем не потакать.

 ,

stalkerg
()

переключалка окон для wmii

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

PS ШГ, да

 , ,

dr_lo
()

[debian stable]дома всё же лучше стабильность

дистрибутив debian stable, openbox на основе гнома,но с панелью xfce

набор приложений стандартный, плюс программы для мультипликации:

pencil, kdenlive papagayo, mypaint, synfigstudio и некоторые другие

также есть игры детства

 , , ,

pyometra
()

Реверс-инжиниринг

От нечего делать решил запостить сюда скриншот своей рабочей системы.
Живу я в Gentoo, мой WM - awesome. Очень удобно и быстро, для ноутбука.
Темы самописные. IDA Pro тоже подогнал под цветовую гамму.
Из рабочих иструментов:

irssi: http://ompldr.org/vOTE0Mw
vim: http://ompldr.org/vOTE0NQ
opera : http://ompldr.org/vOTE0OA (просто дикое количество вкладок)
mc: http://ompldr.org/vOTE0aA
evince: http://ompldr.org/vOTE0ZQ (чтение документации - ключ к успеху)
deadbeef: http://ompldr.org/vOTE0Yw (иногда органная музыка, иногда рок, иногда drum`n`bass, сейчас радио promodj)

 , , , ,

XVilka
()

Ъ на ЛОР не ходят

Зачем ходить на ЛОР, если его можно читать, как почтовую рассылку?

Оказывается, Python очень хорошо работает с сообщениями электронной почты из коробки. Потребовалось совсем немного усилий, чтобы информация из форума перелетала в файл формата mbox. Кроме mutt, единственным современным адекватным почтовым клиентом, умеющим работать с юниксовым /var/spool/mail, оказался Claws Mail.

Скрипт, который ходит на ЛОР вместо меня и читает его вместо меня, очень щадящ к серверу. Между запросами, если не считать оверхеда на разбор сообщений и заматывание их в /var/mail, проходит 6 секунд. ЛОР зачитывается от имени анонимуса — под своим юзернеймом есть некоторые проблемы со страницами форума, если их количество на страницу отличается от умолчательного.

После того, как я буду убежден, что косяки в работе скрипта сведены к минимуму, он будет опубликован на github.

Когда меня опять одолеет хандра, я прикручу еще и скрипт, отправляющий сообщения и мимикрирующий под sendmail.

Отличие моего решения от почившего с миром tkLOR в том, что оно более соответствует концепции «Unix way» и не пытается повторять функциональность уже существующего и работающего ПО (почтового клиента, например).

Если Claws принципиально не нравится, и хочется читать ЛОР из Outlook, нужно прикручивать хотя бы POP3-сервер. Мне было, если честно, лень, а немногочисленные косяки Claws можно терпеть.

 

shimon
()

Радиотехника под Linux

Решил полностью отказаться от горизонтальных панелей, а благодаря kernelpanic, который посоветовал удобное расширение, Firefox на данном этапе меня полностью устраивает.

Запущен замечательный Sage, о новых версиях которого неоднократно сообщалось и на ЛОРе. В notebook-ах Sage открыт тестовой пример небольшой библиотеки функций, которых мне не хватало. Библиотека названа libradiosage, сорцы лежат на google code.

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

Окна развернутыми на весь экран не держу, ибо не нужно, и выглядит негармонично с боковыми панелями, то есть либо в режиме окна, либо в полноэкранном режиме, где окно перекроет панели.

 , , ,

omegatype
()

Python RSS Reader [rsstail-like]

Надоело мучиться с rsstail, который не умеет кодировки и вообще достаточно ограничен в возможностях. Решил нарисовать собственный велосипед.
репозиторий на ланчпаде с велосипедом
Сделал на питоне.
Наконец-то смог организовать нотисы новостей так, как всегда хотел.
На скриншоте:
1. Просто запущенный терминал с этой самой программой, показаны опции --help и --version
(help пока не особо красив, в будущем собираюсь украсить)
2. Вызванный по хоткею less с содержимым файла ~/rss.txt, куда софтинка пишет события, через вызываемый отдельно sh-скрипт, который вносится в параметры запуска.
3. Постоянный терминал с запущенной сессией screen, где в данный момент активен таб с RSS, так выглядит сама программа.

dmenu - классная штука, на входе список, на выходе - выбранный элемент. Я загоняю туда все URLs из ~/rss.txt, а при выборе элемента вызывается браузер [uzbl] на входе которого данный урл.

Внизу xmobar, куда я выношу нотисы в виде количества рсс-фидов.
Созданы хоткеи для быстрой очистки файла ~/rss.txt.

В общем я доволен, если кому то интересно, линк на сурцы выше, можете попробовать. Но предупреждаю, код сырой, я его за ночь наваял, красноглазил и все такое, так что, вероятно, там еще куча багов.

 ,

viator
()

Потоковое радио + Rhythmbox + Conky

Сбацал маленький скриптик, который показывает в коньках разную информацию из ритмбокса плюс выкачивает обложку для текущей песни из инета если ее нет. Отличие от многочисленных скриптов такого рода то, что делает оно это не только для песен на винте, но и для потоков, у которых есть параметр stream-song-title. Скрипт разбирает этот параметр если может, лезет на ластфм за названием альбома и за обложкой. Обложки кешируются и не выкачиваются во второй раз, если песня крутится в ротации). Еще скрипт умеет выдавать конькам по ключам разную информацию, которую может извлечь из dbus-овского объекта org.gnome.Rhythmbox.Shell, пока я прикрутил только название песни, банды и альбома. Если обложки нет — показывается стандартная картинка, побочным эффектом оказалось то, что скрипту можно скормить картинку для потока, когда тот передает, например, рекламу и не передает названия песни и группы.

Такая вот поделка получилась по тихой грусти. Под ритмбоксом на скриншотах два дополнительных состояния — обложка не нашлась и реклама (пока я сделал две картинки для кивских РадиоРокс и ХитФМ — каналы, которые я слушаю чаще всего)

 , , ,

Ingwar
()

Десктоп моего недобука

Унылый и почти дефолтный гном 10.04 убунты за исключением измененной нижней панельки(AWN). Оказывается, заниматься активным кодингом можно и на 10" дисплеях недобуков без особых неудобств. главное, подобрать свой стиль.

начала доставать нижняя панель, может посоветуете чего? легкого, ненавязчивого и в этом стиле? docky и cairo dock не предлогать :)

http://s52.radikal.ru/i137/1008/d8/eac9ea9eca99.png

http://s57.radikal.ru/i155/1008/f3/9536eaeafa8c.png

 , , , , , ,

Odin
()

Qtile, dzen2 и прочее красноглазие :)

Представляю вниманию ЛОРовцев моё рабочее место, каким оно стало после трагически полетевшей системы.

WM - Qtile, git-снапшот (0.1 не работает). С целыми двумя моими коммитатми - виджетом часов (и соответственно починенным хуком mainloop_tick), а также поддержка нескольких растягивающихся виджетов в bar-е. Вот добавлю трей, Xft, переведу на XCB, допилю поддержку floating windows - и разрабу будет не стыдно патч послать. Кроме того, за кадром незримо витает xcompmgr.

Вверху слева и справа - два питон-скрипта, кормящие информацию dzen2. Слева индикатор звука альсы, справа - xmms2.

Всё (почти) повешено на биндинги. Alt+w,r,i,m (web, work, install, misc) - рабочие места. Super+w,e,a,z,x (webbrowser, emailreader, Abraca, terminal, XChat) - проги. XF86Audio* - управление плеером. Для всего остального есть mastercardGmrun, повешенный на Alt+p.

Минус - я привык окна переключать на Alt+j, и на всех остальных компах путаюсь.

В окошке слева - проект, который не работает:(. В окошке справа - дока по библиотеке, которую я использую. На самом деле она тут в роли декорации и не нужна.

Да, и в Qtile можно динамично менять количество стеков, не то что в этом вашем xmonad!

 , , , ,

Pythonist
()

Ubuntu 10.4, emacs и Ko

Убунта, гном и емакс!

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

Так вот: экран слева Емакс занимает, упираясь в панельку Cairo Doc'а с апплетом для банши, которая сверху рапортует о переключении песни всплывающим notify, который перекрывает часть сообщений из твитера, которые подгружает Pino, который закрывает глаз красотки Юки, что на экране, который почти весь закрыт Емаксом...

Так же в самом верху можно увидеть Global-menu-applet, который подхватил начальное меню от emacs'а, но насамом деле меню выключено в конфиге, поэтому видно его вообще не должно быть. Алсо, цветовая схема в емаксе аналогична теме на лоре :)

 , pino, ,

Zubchick
()

Математический KDE

На днях внимание любопытная программа Cantor - названная в честь немецкого математика Георга Фердинанда Людвига Филиппа Кантора - она пытается я объединить в себе функционал нескольких других математических пакетов (sage, Maxima, R, KAlgebra) и предоставляет собственный формат worksheet-ов. Я использую ее в связке с Sage - очень подкупает подсветка синтаксиса python. К сожаелнию, по сравнению с web-интерфейсом sage Cantor-у есть на чем работать. (Кстати, никто не знает как организовать подсветку синтаксиса внутри текстового поля в Firefox?)

На заднем плане Firefox с темой Oxygen KDE (Firefox Theme), расширением PlasmaNotify и стилем Google Web Search, KDE SC 4.4 style (через Stylish) - с таким набором Firefox прекрасно вписывается в KDE.

Композитные эффекты работают замечательно на свободных дровах (ATI Radeon HD2600XT).

В остальном

  • Дистрибутив ArchLinux
  • Шрифты Veranda
  • Декорация окон - движок «Aurorae Theme Engine» с темой «my-glowglass-lite-black»
  • Стиль в workspace - «Silicon»

 , ,

omegatype
()

Приятный и простой KDE4 (Red Style)

Вот почти рабочая обстановка (плеер и ФМ обычно на других раб. столах).
Тема виджетов это кастомайзеная QtCurve.
Тема окон это то, что делали для демонстрации Табов в КДЕ.
Иконки - Tango.
Обои - http://mjv-art.org/jvwall/view_post/74557?lang=ru
На скрине пишу CMS на базе Pylons, пока только скелет готов. Причём отказался от NetBeans с которого начал в сторону Kate. Для Kate с трудом но смог найти поддержку подсветки mako шаблонов.

Хотел приблизить чем то КДЕ к любимому FluxBox и строгим GTK прогам.

ЗЫ да и системный монитор без декораций... как оказалось это практичнее чем виджеты Plasma которые у меня устраивают сильный memory leak .

 , , , , , , ,

stalkerg
()

Глюк с Screenlets?

Не бакланить за иконку screenlets-daemon в трее. Мне удобно так управлять, если надо. За шрифт в терминале можете не говориь. Мне он нравится.

Система Ubuntu 9.10 i386. Терминал - rxvt-unicode. Тема GTK - QDark. Иконки QDark.

Установил недавно screenlets. Виджеты RingSensors, CircleSensors криво криво отрисовывают надписи внутри. Возможно изза того что использую Window Manager Openbox?

 , , ,

Doctor_Drive
()

Awesome, Uzbl, Python, DeaDBeeF

Открыл для себя замечательный браузер uzbl, очень юниксвейный. Долго хотел чего-то полегче firefox'a, но всякие midori и т.п., хоть и нравились, не устраивали отсутствием возможности сделать всё как в vimperator'e. Тут же можно. Браузер пока сыроват, но за более чем месяц использования нареканий не вызывает.

Плеер - DeaDBeeF, который тут уже наверное все знают. Несказанно рад его появлению. До этого ни один плеер не устраивал, хоть фубар пускай под вайн (хотя юзал всё же xmms2). Еще бы допилили в нем настройку цветов прогрессбара/громкости и пару фич по мелочи...

Давно уже на awesome. Раньше использовал тему zenburn в цветовом оформлении, но стало казаться слишком светлым. Сделал чуть потемнее. По сравнению с предыдущим скрином также заменил текст в виджетах на иконки, добавил еще несколько полезных виджитов и убрал ненужные.

В виме - небольшой скрипт на питоне, делающий вряд ли кому-то здесь нужную операцию. Питон НУЖЕН. Скрипт тоже нужен, мне лично.

И да, на один экран вывел окна скриншота ради. Обычно одно приложение - один тэг (прописано в rc.lua) и maximized.

 , , , ,

Psych218
()

Yet Another Python Shell

Quasi - еще одна оболочка для пайтона, но со свистелкой в виде поддержки «непитоновских» команд, таких как команды ОС, запросы MySQLdb и др. Кто там хотел замену башу? ))

В остальном - почти дефолтные KDE4

p.s. На фото вовсе не wfrr

 , quasi

fluorite
()

Пишу между делом прогу для ведения бюджета предприятия

Вот от нечего делать автоматизирую кусок документооборота предприятия. Программа позволяет создавать планы бюджетов на месяц и неделю, отслеживает счета, приходы, оплаты нал/безнал дабы заказавший позицию не терзал понапрасну телефон. Ведётся также учёт склада предприятия и склада отдела. Пишу всё на Python(PyQt, Sqlalchemy, Elixir), БД - Postgresql, отчёты html+javascript. Как допилю до вменяемого состояния выложу, авось кому ещё пригодится.

PS. Ш наверное Г, но я не фанат.

PS2. Пишу в Eclipse3.5 + PyDev 1.5, на компе Ubuntu 9.10 beta 64bit. Eclipse правда 32 ибо 64 это просто не функционален.

 , ,

LestorN
()

pylor

в связи со смерть tklor`а дописал своего клиентика на питоне
скачать можно так:
hg clone http://code.tabed.org/pylor/19 pylor
зависимости: python-gtk2,python-gtkhtml2,python-mechanize,python-beautifulsoup

 , ,

pawnhearts
()