kernel panic in userspace

my own self destruction
  • Blog
  • about
  • articles
    • Virtualbox bridge
    • linux blogging
    • Gentoo on Acer Extensa 5630Z
  • code
    • @unfollowr
    • WordPress
      • WordPress-bbPress syncronization
      • IE Warning
      • PostAds
    • Callisto overlay
    • @listwatcher
  • CV
  • belarusian
  • russian
  • english

gajim and mpd daemon

Dec 28 2008
Мумий Тролль – Проспали
  • belarusian
  • russian

На вікі jabber кліента Gajim ёсьць цэлы набор скрыптоў для выстаўленьня ў якасьці статуса прайграваемай у дадзены момант песьні ў mpd. Ёсьць нават патч у асноўную ветку, толькі ён у мяне не запрацаваў. Па некаторых прычынах мяне не задаволіў ніводзіны варыянт з прапанаваных, так што прыйшлося самаму дапісваць.

Мой варыянт не спрабуе выставіць статус адключаным уліковым запісам (у мяне ёсьць запіс для лякальнай сеткі, якая за 300 км ад мяне), не спрабуе выставіць кожны раз статус на «Online» і ня робіць іншых падобных непатрэбных штук. Назова кампазыцыі аднаўляецца кожныя 10 сэкундаў, што дазваляе ёй заставацца актуальнай і таксама не напружвае працэсар, таму што выклік gajim-remote кожную сэкунду – рэч даволі цяжкая. Код ніжэй

#!/bin/bash

# from http://trac.gajim.org/wiki/GajimAndMpd
# modified by bobrik (http://bobrik.name)

function reset_status_message() {
  gajim-remote change_status `gajim-remote get_status`= ""
}

trap reset_status_message EXIT

while sleep 10
do
  if [ "`mpc | wc -l`" == "1" ] ; then
    CURRENT_TITLE=""
  else
    CURRENT_TITLE="`mpc --format \"[%artist% - %title% [(%album%)]\" | head -n 1`"
  fi

  for i in `gajim-remote list_accounts`; do
    STATUS=`gajim-remote get_status $i`
    if [[ "$CURRENT_TITLE" != "$LAST_TITLE" && $STATUS != "offline" ]]
    then
        if [ -n "$CURRENT_TITLE" ]
        then
          gajim-remote change_status `gajim-remote get_status $i` "♫ $CURRENT_TITLE" $i
        else
          gajim-remote change_status `gajim-remote get_status $i` "" $i
        fi
    fi
  done
  LAST_TITLE="$CURRENT_TITLE"
done

Спампаваць сам па сабе скрыпт магчыма адсюль. Каб не пакутаваць з ручным запуска, у KDE скрыпт магчыма пакласьці ў ~/.kde/Autostart і дадаць біт выкананьня камандай

chmod +x ~/.kde/Autostart/gajim_mod.sh

Пасьля гэтага скрыпт будзе аўтаматычна запускацца пры старце KDE. Для GNOME напэўна таксама павінна быць нешта падобнае, але я пра гэта ня ведаю. Скажыце ў каментах – я дадам.

  • belarusian
  • russian

На вики jabber клиента Gajim есть целый набор скриптов для установки в качестве статуса проигрываемой в данный момент песни в mpd. Есть даже патч в основную ветку, только он у меня не заработал. По определённым причинам меня не устроил ни один вариант из предложенных, так что пришлось самому дописывать.

Мой вариант не пытается установить статус отключенным учётным записям (у меня есть запись для локальной сети, которая за 300 км от меня), не пытается выставить каждый раз статус на «Online» и не делает других подобных непотребных вещей. Название композиции обновляется каждые 10 секунд, что позволяет оставаться ему актуальным, а так же не нагружает процессор, т.к. вызов gajim-remote каждую секунду – вещь довольно тяжкая. Код ниже

#!/bin/bash

# from http://trac.gajim.org/wiki/GajimAndMpd
# modified by bobrik (http://bobrik.name)

function reset_status_message() {
  gajim-remote change_status `gajim-remote get_status`= ""
}

trap reset_status_message EXIT

while sleep 10
do
  if [ "`mpc | wc -l`" == "1" ] ; then
    CURRENT_TITLE=""
  else
    CURRENT_TITLE="`mpc --format \"[%artist% - %title% [(%album%)]\" | head -n 1`"
  fi

  for i in `gajim-remote list_accounts`; do
    STATUS=`gajim-remote get_status $i`
    if [[ "$CURRENT_TITLE" != "$LAST_TITLE" && $STATUS != "offline" ]]
    then
        if [ -n "$CURRENT_TITLE" ]
        then
          gajim-remote change_status `gajim-remote get_status $i` "♫ $CURRENT_TITLE" $i
        else
          gajim-remote change_status `gajim-remote get_status $i` "" $i
        fi
    fi
  done
  LAST_TITLE="$CURRENT_TITLE"
done

Скачать сам по себе скрипт можно отсюда. Чтобы не мучиться с ручным запуском, в KDE скрипт можно положить в ~/.kde/Autostart и добавить бит исполнения командой

chmod +x ~/.kde/Autostart/gajim_mod.sh

Тогда скрипт будет автоматически запускаться при старте KDE. Для GNOME наверняка должно быть что-нибудь подобное, но я об этом не знаю. Сообщите в комменты – добавлю.

{ Comments : 3 Comments » }
{ Tags: autostart, bash, coding, gajim, gnome, jabber, kde, mpd, script, shell, wiki }

bug story. part 2

Aug 21 2008
Placebo – Song to Say Goodbye
  • belarusian
  • russian

Працягваючы тэму папярэдняга паста.
Баг за паяданьнем працэсару пряўляецца, як выявілася, не адразу. Такім чынам, новыя, некалькі больш лібэральныя, CFLAGS дапамагаюць у вырашэньні гэтай праблемы.
Цяпер застаецца спадзявацца, што будзе выпраўлены і іншы баг, які праяўляецца ў выпадзеньні mpd на заіканьні пасьля доўгага праслухваньня. Ад фармата і часу працы, па маіх назіраньнях, паводзіны не залежаць. Паводзіны аднолькавыя і ў вэрсіі 0.13.1, і ў апошняй з git. Будзем чакаць, пакуль што палёт нармалёвы.

  • belarusian
  • russian

Продолжая тему предыдущего поста.
Баг с поеданием процессора проявляется, как оказалось, не сразу. Таким образом, новые, несколько более либеральные, CFLAGS избавлют от этой проблемы.
Теперь остаётся надеяться, что будет побеждён и другой баг, проявляющийся в выпадании mpd на заикания после долгого прослушивания. От формата и времени работы, по моим наблюдениям, поведение не зависит. Поведение одинаковое и в версии 0.13.1, и в последней из git. Будем ждать, пока что полёт нормальный.

{ Comments : 4 Comments » }
{ Tags: bugs, cflags, fixes, gentoo, git, mpd }

CFLAGS troubles

Aug 21 2008
Placebo – Without You I'm Nothing
  • belarusian
  • russian

Зьмяніў свае CFLAGS і CXXFLAGS з

-march=pentium4 -O2 -pipe -fomit-frame-pointer -mfpmath=sse -mmmx -msse -msse2 -mtune=native -ftracer -fstack-protector

на

-march=pentium4 -O2 -pipe -fomit-frame-pointer -mfpmath=sse -mmmx -msse -msse2 -mtune=native

Цяпер mpd зноў пачаў зьядаць не 30% CPU, а 1-2%. Прырост агромністы, спору няма, АЛЕ. Пры паўторнай перасборцы са старымі CFLAGS праблема не выявіла сябе зноў. Т.б. былі тыя ж 1-2%. Прызнацца, я трошкі зьдзіўлены. Пры перасборцы mplayer нічога моцна не зьмянілася, 1-2% CPU можна сьпісаць на агрэхі ў вымярэньнях.
Ёсьць якія-небудзь ідэі?
p.s.: дарэчы, прыкольна, troubles бяз “t” становяцца roubles (рубель)

  • belarusian
  • russian

Сменил свои CFLAGS и CXXFLAGS с

-march=pentium4 -O2 -pipe -fomit-frame-pointer -mfpmath=sse -mmmx -msse -msse2 -mtune=native -ftracer -fstack-protector

на

-march=pentium4 -O2 -pipe -fomit-frame-pointer -mfpmath=sse -mmmx -msse -msse2 -mtune=native

Теперь mpd снова начал пожирать не 30% CPU, а 1-2%. Прирост огромный, спору нет, НО. При повторной сборке со старыми CFLAGS проблема не выявила себя снова. Т.е. были те же 1-2%. Признаться честно, я несколько удивлён. При пересборке mplayer ничего сильно не изменилась, 1-2% CPU можно списать на погрешность измерений.
Есть какие-нибудь соображения?
p.s.: кстати, прикольно: troubles без “t” становятся roubles (рубль)

{ Comments : No Comments » }
{ Tags: cflags, cxxflags, gcc, gentoo, mpd, mplayer, optimization, roubles }

ncmpc, nmpcpp & ncmpc-tradiaz

Aug 18 2008
Radiohead – Weird Fishes/Arpeggi

Я не люблю пользоваться “тяжёлыми”, нагромождёнными ненужным функционалом плеерами. А ещё я не люблю пользоваться медленными и написанными на python и gtk+ плеерами. Потому что они пожирают память и процессорное время, а я, увы, не обладаю огомным объёмом оперативной памяти в ноутбуке. Её там всего-ничего 512 Мб. Поэтому для уменьшения поедания системных ресурсов тем, от чего я отказаться не могу (а именно от музыки) я пользуюсь довольно лёгким и не перегруженным mpd. Сегодняшний обзор я посвящу лёгким front-end`ам для него, написанным на ncurses. Три плеера, много картинок, поехали!
Read the rest of this entry »

{ Comments : 34 Comments » }
{ Tags: gentoo, images, links, linux, mpc, mpd, music, ncmpc, ncmpc-tradiaz, ncmpcpp, ncurses, players, reviews, use flags }

RSS antisocial feeling

  • i am freaking bicycle
  • с третьей минуты мне очень. детство
  • не спрашивайте
  • banksystreetart: Banksy / Simon Munnery fuck yeah shit
  • это вам не по полу валяться в истерике

Tags

bash belarus blog blogs bugs coding concerts download friends fun gentoo google images internet javascript kde language life links linux livejournal me money music overlays perl photos php plugins portage projects rss school shell social social networks ssh studying tests twitter ubuntu univer vkontakte wifi wordpress

links

  • asocial feeling
  • Callisto overlay
  • daThumbs
  • last.fm
  • twitter
  • Vkontakte
  • ~idioteque

Recent Comments

  • saper on antialiased fonts in netbeans (java apps in common)
  • edward on IE Warning
  • Vigoran on WordPress-bbPress syncronization
  • Nikos on WordPress-bbPress syncronization
  • Maxno on free licenses
  • achmad on IE Warning
  • bobrik on bbPress terms filtering & hacks
  • Сергей М. on bbPress terms filtering & hacks
  • Samad Khan on WordPress-bbPress syncronization
  • bobrik on WordPress-bbPress syncronization

Archives

  • July 2010 (1)
  • June 2010 (1)
  • April 2010 (2)
  • January 2010 (1)
  • November 2009 (2)
  • October 2009 (5)
  • September 2009 (2)
  • August 2009 (2)
  • July 2009 (3)
  • June 2009 (1)
  • April 2009 (2)
  • March 2009 (1)
  • February 2009 (1)
  • January 2009 (2)
  • December 2008 (12)
  • November 2008 (17)
  • October 2008 (20)
  • September 2008 (13)
  • August 2008 (25)
  • July 2008 (18)
  • June 2008 (15)
  • May 2008 (7)
  • March 2008 (1)
  • February 2008 (9)
  • January 2008 (11)
  • December 2007 (24)
  • November 2007 (27)
  • October 2007 (21)

Meta

  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org

Creative Commons License rss comments rss valid xhtml