Паксоблог

19 листопада 2005

RSS + AJAX + Python + Flickr

Демонстрация работы Nevow's LivePage, используя AJAX

введем в поле тэгированные фото котов с Flickr:
http://flickr.com/services/feeds/photos_public.gne?tags=cats&format=rss_200
Просмотрим НОВЫЕ фото котов со всего мира. Естественно смотреть можно не только котов :).
Фото Киева:
http://www.blogger.com/img/gl.link.gifs/photos_public.gne?tags=kiev&format=rss_200
деревья, и другое:
http://flickr.com/services/feeds/photos_public.gne?tags=assol&format=rss_200

Ох уж эти фолксономии.
...
Функциональность обеспечивается следующим сценарием на Python в связке с LivePage:

class AjaxRSS(livepage.LivePage):


addSlash = True

@livepage.handler(byId('input').value)

def selectFeed(client, feedUrl):
def updateClient(parsedFeed):

if parsedFeed['entries']:
entry = parsedFeed['entries'][0]

parsedFeed['entries'] = parsedFeed['entries'][1:]

client.set("link", T.a(href=entry['link'])[entry['title']])

client.set("content", T.p()[loaders.htmlstr(entry['summary'])])

reactor.callLater(5, updateClient, parsedFeed)
d = getPage(feedUrl)

d.addCallback(parse).addCallback(updateClient)

docFactory = loaders.stan(

T.html[
T.head[livepage.glue],

T.body[
T.p["Enter an RSS url"],
T.div(id="main")[

T.form(id="form", onsubmit=selectFeed)[
T.input(id="input", width="20"),

T.input(type="submit", value="submit")]],

T.div(id="post")[
T.a(id="link"), T.br,

T.p(id="content")]]]
)




подсмотрел в a web journal by andrew r. gross

16 листопада 2005

TeXmacs, Python, GraphViz и другие

Копая в сторону RDF, наткнулся на tmPython - плагин для TeXmacs, который позволяет интерактивно "общаться" с интерпретатором python

В итоге поставил:
  • GNU TeXmacs is a free wysiwyw editing platform with special features for scientists
  • Graphviz - Graph Visualization Software
  • PyX - Python package for the creation of PostScript and PDF files
  • tmPython - the TeXmacs Python plugin
  • pydot - a Python interface to Graphviz's Dot language.
  • pyparsing -- an object-oriented approach to text processing in Python - нужен для pydot
И что же это все позволяет? - можно резонно спросить..
А я отвечу скриншотом(внешне напоминает Maple):


- Отрисовывать графы в python(даже интерактивно), а это, поверьте, не так уж и мало..
Ссылки:
Проекты Ero Carrera(автора tmPython):


Примеры:


#pydasm
import pydasm
# Very silly, nop and some xor's
buffer = '\x90\x31\xc9\x31\xca\x31\xcb'
offset = 0
while offset < len(buffer):
i = pydasm.get_instruction(buffer[offset:], pydasm.MODE_32)
print pydasm.get_instruction_string(i, pydasm.FORMAT_INTEL, 0)
if not i:
break
offset += i.length

#pype
import pype
pe = pype.PE('/path/to/pe_file.exe', fast_load=False)
pe.OPTIONAL_HEADER.AddressOfEntryPoint
for section in pe.sections:
print section.Name


Категории:

03 листопада 2005

kcmshell - оружие тюнинга KDE

Однажды, залезши глубоко в подменю некоторого(уж не помню) приложения KDE, мне авился диалог:

После недолгих манипуляций, выяснилось, что "родителем" диалога является приложение
kcmshell, которое вызвано с аргументом fileshare.
Меня заинтересовало.. админ-напарник подсказал:

$kcmshell --list

почему-то я не заметил этого аргумента в выводе
$kcmshell --help.
в итоге выяснилось(в SuSE 9.3), что:

$kcmshell
Применение: kcmshell [параметры Qt] [параметры KDE] [параметры]module

Утилита запуска модулей настройки KDE

Общие параметры:
--help Показать справку о параметрах
--help-qt Показать специфические параметры Qt
--help-kde Показать специфические параметры KDE
--help-all Показать все параметры
--author Показать сведения об авторе
-v, --version Показать сведения о версии
--license Показать сведения о лицензии
-- Конец параметров

Параметры:
--list Показать все доступные модули

Аргументы:
module Модуль настройки, который требуется открыть
--lang Задать язык
--embed Встроить модуль с кнопками в окно с идентификатором
--embed-proxy Встроить модуль без кнопок в окно с идентификатором
--silent Не показывать главное окно

$kcmshell --list
Доступны следующие модули:
dsl - Описание отсутствует
fax - Описание отсутствует
isdn - Описание отсутствует
modem - Описание отсутствует
lan - Описание отсутствует
answering_machine - Описание отсутствует
remote - Описание отсутствует
dhcp-server - Описание отсутствует
dns - Описание отсутствует
dns-server - Описание отсутствует
host - Описание отсутствует
http-server - Описание отсутствует
kerberos - Описание отсутствует
ldap - Описание отсутствует
mail - Описание отсутствует
inetd - Описание отсутствует
nfs - Описание отсутствует
nfs_server - Описание отсутствует
nis - Описание отсутствует
nis_server - Описание отсутствует
ntp-client - Описание отсутствует
samba-client - Описание отсутствует
samba-server - Описание отсутствует
tftp-server - Описание отсутствует
proxy - Описание отсутствует
routing - Описание отсутствует
groups - Описание отсутствует
users - Описание отсутствует
firewall - Описание отсутствует
security - Описание отсутствует
bluetooth - Описание отсутствует
cdrom - Описание отсутствует
controller - Описание отсутствует
x11 - Описание отсутствует
hwinfo - Описание отсутствует
idedma - Описание отсутствует
irda - Описание отсутствует
mouse - Описание отсутствует
printer - Описание отсутствует
scanner - Описание отсутствует
tv - Описание отсутствует
joystick - Описание отсутствует
sound - Описание отсутствует
sw_source - Описание отсутствует
sw_single - Описание отсутствует
xen-dirinstall - Описание отсутствует
dirinstall - Описание отсутствует
checkmedia - Описание отсутствует
update - Описание отсутствует
cd_update - Описание отсутствует
online_update - Описание отсутствует
bootloader - Описание отсутствует
bootfloppy - Описание отсутствует
timezone - Описание отсутствует
keyboard - Описание отсутствует
yast-language - Описание отсутствует
lvm_config - Описание отсутствует
profile-manager - Описание отсутствует
runlevel - Описание отсутствует
restore - Описание отсутствует
powertweak - Описание отсутствует
disk - Описание отсутствует
sysconfig - Описание отсутствует
backup - Описание отсутствует
vendor - Описание отсутствует
support - Описание отсутствует
power-management - Описание отсутствует
bootmsg - Описание отсутствует
messages - Описание отсутствует
autoyast - Описание отсутствует
kwalletconfig - Настройка бумажника KDE
privacy - Модуль kcontrol, очищающий
нежелательные следы, оставленные пользователем в операционной системе
crypto - Настройка SSL, управление
сертификатами и другими параметрами криптования
kcm_useraccount - Сведения о пользователе, такие как пароль, имя и e-mail
kwindecoration - Настройка внешнего вида заголовков окон
kcmlaunch - Выбор типа отклика приложений при запуске
icons - Настройка значков KDE
kthememanager - Менеджер глобальных визуальных тем KDE
style - Стиль и облик элементов KDE
background - Настройка фона рабочего стола
screensaver - Настройка хранителя экрана
colors - Настройка цветов
fonts - Настройка шрифтов
ksplashthememgr - Менеджер тем экрана-заставки
audiocd - Настройка протокола AudioCD
arts - Настройка звуковой системы
kcmnotify - Настройка системных уведомлений
bell - Настройка системного звукового сигнала
kcmperformance - Настройка параметров,
которые могут повлиять на быстродействие KDE
kcmvim - Настройка компонента vim
componentchooser - Выбор основных компонентов разнообразных служб
kcmsmserver - Настройка менеджера сеансов
filetypes - Настройка привязки файлов
spellchecking - Настройка проверки орфографии
kresources - Настройка ресурсов KDE
kcmkded - Настройка системных служб
filebrowser - Настройка режима менеджера файлов
obex - OBEX device configuration tool
joystick - joystick - модуль kcontrol
для проверки джойстика
display - Настройка дисплея
keyboard - Настройка клавиатуры
mouse - Настройка мыши
kcmlirc - Настройка удалённого управления приложениями
kamera - Настройка камеры
krandrtray - Аплет панели для изменения размера
и ориентации экранов X.
desktop - Настройка количества виртуальных рабочих столов
kcmkicker - Описание отсутствует
kwinrules - Настройка особых параметров окна
panel - Настройка выравнивания панели
kcmtaskbar - Настройки панели задач
desktopbehavior - Настройка поведения рабочего стола
kwinoptions - Настройка поведения браузера
kresources - Настройка ресурсов KDE
khotkeys - Настройка комбинаций клавиш
keys - Настройка привязок клавиш
keyboard_layout - Раскладка клавиатуры
kcmaccess - Специальные возможности для людей
с физическими недостатками
language - Настройки языка, даты и времени
для вашего региона
kcm_btpaired - Manage paired Bluetooth devices
cookies - Настройка cookies
khtml_java_js - Настройка поведения Java и JavaScript
kcmhistory - Настройка боковой панели журнала
useragent - Настройка идентификации Konqueror
cache - Настройка кэша
khtml_plugins - Настройка плагинов браузера
khtml_behavior - Настройка поведения браузера
kcmcgi - Настройка CGI KIO slave
ebrowsing - Сокращения, используемые при просмотре Веб
kcmcss - Настройка стилей CSS,
используемых при отображении веб-страниц
khtml_fonts - Настройка шрифтов веб-страниц
kcmdonkey - Настройка интеграции MLDonkey
kcmsambaconf - KcmSambaConf - Модуль Центра
управления для настройки сервера Samba
lanbrowser - Настройка lisa, reslisa и ioslaves
kcm_kdnssd - Настройка обнаружения сервисов
kcmkrfb - Параметры общего рабочего стола
proxy - Настройка серверов прокси
netpref - Общие свойства сети, такие как значения таймаутов
kcm_kbluetoothd - Manage Bluetooth Services offered to others.
fileshare - Включить или выключить общий доступ к файлам
kdm - Настройка менеджера входа в систему (KDM)
thinkpad - Настройка интерфейса KDE для
специальных клавиш ноутбука IBM Thinkpad
kvaio - Настройка интерфейса KDE для
драйвера программируемого контроллера прерываний Sony
desktoppath - Пути к важным файлам
kcmfontinst - Установка и просмотр шрифтов
laptop - Аккумулятор ноутбука
kmenuedit - Описание отсутствует


Вот это находка, натравил гугль, - негусто..
Но и так информации немало. Многое(но не все) доступно через "Центр Управления KDE".
Не вызывает сомнений, что "Утилита запуска модулей настройки KDE" будет полезна в повседневной работе (в моей точно :).

А теперь применим bash completion, о котором я упоминал ранее.
Итак, даем команду:

$complete -W "`kcmshell --list|cut -d" " -f1|sed -e '1d'|xargs`" kcmshell


и теперь по нажатию TAB в аргументах этой замечательной утилиты получаем допустимые значения(суть - настраиваемые подсистемы). Многие настройки требуют привелегий root.



Категории:

02 листопада 2005

Запуск rdesktop без X сервера

The OpenNET Project: Текст новости

Вышел патч для rdesktop
(удаленный рабочий стол, Unix клиент для Windows NT/2000/2003 Terminal
Server), позволяющий запускать последний без X сервера. Для
графического вывода используется быстрая библиотека svgalib.

Здорово!