Reborn

And from the ashes the Phoenix rose reborn
  • Начало
  • About

Rock IT

Владимир | 01/05/2012

It’s a pub. it’s a rock pub. They play rock, they play metal and they have games … It’s a good place

Коментари
Няма коментари »
Категории
Разни
RSS коментари RSS коментари
Trackback Trackback

Пернишки разни бисери

Владимир | 11/04/2011

Разговор между перничани:
- Може ли да ми помогнеш за малко?
- Да, кой че биеме!?

Защо извънземните кацат в Радомир?
Защото в Перник много бият!

- Какво е пернишка сурвакница?
- Винкел с пуканки.

Къде настаняват гостите в Перник?
В поликлиниката.
С какво ги лекуват?
С винкелоскопия

-Къде са най-добрите голф играчи?
-В Перник. ‘Щото всички имат голф и всички са играчи

„Пред винкела всички са равни пред Голфа всички са бавни!“
народна мъдрост

Как е на пернишки диалект „готин, по-готин, най-готин“:
„Бог, Чък Норис, Тони Стораро“

Да спориш с перничанин е изкуство … понякога бойно.

Какво е Пернишка романтика? Бой на свещи.

В:Какво прави един перничанин като влезе в София?
О:Три обиколки на околовръстното,за да убие инерцията.

Двама приятели си говорят:
- Мечтая си за ваканцията да отида в Испания, да видя Корида, от биковете да бягам…
- Отиди в Перник на дискотека, бутни някой и бягай.

Пернишка сватба – булката хвърля вместо букет лята джанта …

Пернишко хайку:

Дискотека.
Седнал си ми на местОто.
Винкел.

Що е тва пернишки ужас?
Голф без тунинг

Как се нарича новата магистрала между Перник и Люлин?
Голфстрийм

Магистралата между Перник и Люлин всъщност е Винкелщрасе.

Коментари
18 Коментара »
Категории
Разни
RSS коментари RSS коментари
Trackback Trackback

Каварна

Владимир | 07/16/2011

Металургичен комбинат „Каварна“ набира главотръси и косовъртовци. Заплащане няма ама бирата е вкусна!

Коментари
Няма коментари »
Категории
Разни
RSS коментари RSS коментари
Trackback Trackback

Escherichia coli Escherichia беси

Владимир | 06/06/2011

Escherichia coli Escherichia беси

Коментари
Няма коментари »
Категории
Разни
Tags
fun
RSS коментари RSS коментари
Trackback Trackback

Wonders of the internet and XML-RPC

Владимир | 04/27/2011

Ако не си личи по заглавието ето че открих удобствата на протокола XML-RPC. Хубав и удобен протокол за бързо пипване тук там по вашият блог. Днес това е благодарение на приложението WordPress за Nokia N900. След някой и друг ден ще пиша за впечатления и как се държи

Коментари
Няма коментари »
Категории
Разни
Tags
blogging, n900, nokia, xml-rpc
RSS коментари RSS коментари
Trackback Trackback

Twitter fun

Владимир | 03/31/2011

Q: How to generate a random string?
A: Put a fresh student in front of vi and tell him to quit.

via: https://twitter.com/fR0DDY/status/52746601323696128

Коментари
Няма коментари »
Категории
Разни
Tags
fun, twitter
RSS коментари RSS коментари
Trackback Trackback

Mail for Exchange винаги на линия при USB мрежа с Nokia N900

Владимир | 03/21/2011

Една от хубавите страни на Nokia N900, е че е отворена платформа и можете да правите каквото ви хрумне с него (стига да не се страхувате че може да направите беля).
С тази играчка имате възможност да използвате поща. Поддържаните възможности са доста сериозни. Поддържат се някои доста известни доставчици на услугата (GMail, 3Mail, AOL др.), също така imap, pop3 (включително вариантите защитени със SSL) и Mail for Exchange (MfE). Лично аз съм голям противник на Exchange, но понякога човек просто няма избор (т.е. фирмата задължава). За удобство съм си го закачил на играчката (поради спецификата на работата ми).
За голямо мое неудоволствие се оказа че нямам кой знае колко настройки за честота на обновяване на иформацията. Е не че няма, но не ми бяха удобни.

Като възможности имаме избор между:

  • Винаги на линия
  • Всеки 15/30 мин
  • Всеки 1/4/6/12 часа
  • Ръчно

Да удобно е но, но не взима под внимание на каква мрежа сме закачени. Ако сме закачени на Wi-Fi подходяща е проверка на 30 мин (за да пестим батерия), ако сме на GPRS е подходяща проверка на 1 час (за да пестим трафик), но ако пък сме закачени посредством USB мрежа не ни притеснява нищо от това така че защо да не сме винаги на линия.

За наше щастие както казах и по горе това е отворена платформа и няма защо да се бъгясваме ами може да си го допишем (ако знаем как). Оказва се че модификацията която искаме хич не е тежка (даже доста лека бих казал).

Инфраструктурна информация

Устройството използва gconf за съхраняване на настройките си а gconf е доста гъвкав и всички необходими инструменти за неговата манипулации са на лице.
За да променим настройка в gconf ни е необходимо да знаем една доста малка част от командите/възможностите му.

/home/user # gconftool-2 --help-client
Usage:
  gconftool-2 [OPTION...] - Tool to manipulate a GConf configuration

Client options
  -s, --set                                      Set a key to a value and sync. Use with --type.
  -g, --get                                      Print the value of a key to standard output.
  -u, --unset                                    Unset the keys on the command line

/home/user # gconftool-2 --help-key-type
Usage:
  gconftool-2 [OPTION...] - Tool to manipulate a GConf configuration

Key type options
  -t, --type=int|bool|float|string|list|pair     Specify the type of the value being set, or the type of the value a schema describes. Unique abbreviations OK.
  -T, --get-type                                 Print the data type of a key to standard output.

Забележка: Изхода от командите е поорязан малко

План за действие

За да изпълним нашата задача ще създадем малък скрипт който да се изпълнява при включване в режим PC Suite, който да променя режима на синхронизация на винаги на линия. Скриптът ни ще запазва старите стойности за да може при изключване да ги възстановим.
Съответно ще напишем и скрипт който при изключване ще възстановява старите стойности.
Ще се възползване от предишаната статия за модулно изпълнение на скриптове при включване/изключване на PC Suite режима.

Скрипт за промяна на режима на синхронизация при включване на PC Suite

Създаваме си нов скрипт в директорията /etc/pcsuite/enable чиято цел е да промени настройките на нашите ActiveSync пощенски кутии (Exchange/Gmail) на винаги на линия.

01-set-activesync-allways-online.sh

# Set peak schedule to Always online on USB networking (PC Suite enable)

LOCAL_AS_ACCOUNTS=`gconftool-2 --all-dirs /apps/activesync`

for ACC in $LOCAL_AS_ACCOUNTS ; do
	# get original sync time (PEAK)
	mkdir -p /tmp/$ACC
	touch /tmp/$ACC/peak_schedule
	gconftool-2 -g $ACC/schedule/peak_schedule > /tmp/$ACC/peak_schedule
	gconftool-2 -g $ACC/schedule/current_schedule > /tmp/$ACC/current_schedule
	# Now set schedule to online
	gconftool-2 -s --type=int $ACC/schedule/peak_schedule -- 0
	gconftool-2 -s --type=int $ACC/schedule/current_schedule -- 0
	# Inc the change counter
	COUNTER=`gconftool-2 -g $ACC/params_change_id`
	#echo "COUNTER=$COUNTER" >> /tmp/counter
	#echo $(($COUNTER+1)) >> /tmp/counter
	gconftool-2 -s --type=int $ACC/params_change_id -- $(($COUNTER+1))
done

На 3ти ред получваме списък със всичките наши ActiveSync кутии/акаунти. След това за всяка една от тях създаваме уникално място в което да съхраним оригиналната настройка и я запазваме (gconftool-2 -g …). И накрая настройваме променливата peak_schedule на 0 което се превеждакато винаги на линия. Допълнително след малко опити и грешки се установи че трябва също така да настроим и променливата current_schedule, както и да увеличим брояча на промените в конфигурацията. Без тези две настройки поведението на клиента не е особенно надеждно.

Скрипт за промяна на режима на синхронизация при изключване на PC Suite

Спирането на PC Suite режима реално е изваждането на USB кабела.
Създаваме си нов скрипт в директорията /etc/pcsuite/disable чиято цел е да промени настройките на нашите ActiveSync пощенски кутии (Exchange/Gmail) на оригиналните които сме запомнили при включването в PC Suite режим.

98-restore-activesync-schedule.sh

# Set peak schedule to Always online on USB networking (PC Suite enable)

LOCAL_AS_ACCOUNTS=`gconftool-2 --all-dirs /apps/activesync`

for ACC in $LOCAL_AS_ACCOUNTS ; do
	# get original sync time (PEAK)
	LOCAL_ORIG_TIME=`cat /tmp/$ACC/peak_schedule`
	if [ "x$LOCAL_ORIG_TIME" == "x" ] ; then
		LOCAL_ORIG_TIME=60
	fi
	LOCAL_ORIG_CURR_SCHED=`cat /tmp/$ACC/current_schedule`
	if [ "x$LOCAL_ORIG_CURR_SCHED" == "x" ] ; then
		LOCAL_ORIG_CURR_SCHED=60
	fi
	# Now set original schedule
	gconftool-2 -s --type=int $ACC/schedule/peak_schedule -- $LOCAL_ORIG_TIME
	gconftool-2 -s --type=int $ACC/schedule/current_schedule -- $LOCAL_ORIG_CURR_SCHED
	# Inc the change counter
	COUNTER=`gconftool-2 -g $ACC/params_change_id`
	#echo "COUNTER=$COUNTER" >> /tmp/counter
	#echo $(($COUNTER+1)) >> /tmp/counter
	gconftool-2 -s --type=int $ACC/params_change_id -- $(($COUNTER+1))
	# And cleanup the crap
	rm -rf /tmp/$ACC
done

Тук по същият начин получаваме списък с акаунти и за всеки един от тях възстановяваме старите стойности. Ако по някаква случайност нямаме стара стойност избираме среден вариант със стойност от 1 час. И най-накрая разчистваме записаната настройка. Разбира се не трябва да забравяме да променим и брояча за промени на стойностите.

Заключение

Е с малко работа/играчка успяхме да обучим пощенският ни клиент да преминава автоматично в режим Винаги на Линия когато използваме USB мрежа (благодарение на PC Suite режима). По този начин ще сте винаги информирани какво се случва с вашата поща (а дали това е желателно си е чисто ваш проблем :P)

История:

  • Първа версия: 21.03.2011
  • Допълнителни променливи: 26.04.2011
Коментари
Няма коментари »
Категории
Статии
Tags
MfE, n900, nokia, pcsuite
RSS коментари RSS коментари
Trackback Trackback

Модулна система за действия в PC Suite режим при Nokia N900

Владимир | 03/20/2011

Както знаете а може би не знаете аз съм горд собственик на Nokia N900 и даже съм понаписал няколко статии за това устройство. Една от първите причини да си закупя тази играчка беше, че е нещо доста повече от телефон. По-скоро се класира като таблет който даже има и телефон в него. Първата сериозна модификация която му направих беше да го науча да използва USB за интернет което си е голяма благинка. Хем играчката има интернет, хем се и зарежда :).
Както съм описал в статията налага се да се попипне тук там за да може да се вдигне мрежов интерфейс на се осигурят рутинг и други дреболийки.
С оглед на бъдещето реших да модифицирам две парчета от решението, за да може в бъдеще по-лесно и по-логически да добавям нови функционалности.

Идеята

Всички знаем че монолитните парчета код не че пречат, но са трудни за управление и търсене на проблеми. Ако си изградим модулна система за изпълняване на парчета код ще имаме по лесен начин за добавяне/премахване на функционалност и като следствие от това по-лесно управление на устройството.
Днес ще модифицираме кода в /usr/sbin/pcsuite-enable.sh и /usr/sbin/pcsuite-disable.sh за да може да изпълнява множество скриптове.
Идеята за реализацията идва от начина по който стандартните командни обвивки в Linux зареждат променливи при стартиране.

Реализация – pcsuite-enable.sh

В оригиналната статия имаме следното парче код

При избиране на PC-Suite mode от менюто при включване се изпълнява скрипта /usr/sbin/pcsuite-enable.sh. За да активираме автоматично интерфейса трябва да добавим в края му необходимите ни команди. Намерете секцията:

kill -USR1 $SYNCD_PID
logger "$0: sent SIGUSR1 to syncd"

exit 0

и я заменете с:

kill -USR1 $SYNCD_PID
logger "$0: sent SIGUSR1 to syncd"
ifup usb0
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
echo "nameserver 8.8.4.4" >> /etc/resolv.conf

exit 0

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

Новият ни код изглежда по следният начин

## Modular actions on PCSuite Enable
if [ -d /etc/pcsuite/enable ]; then
  for i in /etc/pcsuite/enable/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi
## Modular actions end

exit 0

Какво прави това парче код

Проверява дали съществува директория /etc/pcsuite/enable и за всеки файл в нея който има разширение *.sh ако може да бъде прочетен го включва в скрипта.

Съответно за да възстановим старата функционалност в директорията /etc/pcsuite/enable създаваме 2 файла

/etc/pcsuite/enable # ls -l
-rw-r–r– 1 root root 160 Mar 20 12:07 00-bring-usb-network-up.sh
-rw-r–r– 1 root root 103 Mar 20 12:17 99-invoke-syncd.sh

Със следното съдържание
00-bring-usb-network-up.sh

# Bring up USB networking so device can leech net from PC

ifup usb0
echo "nameserver 8.8.8.8" > /etc/resolv.conf
echo "nameserver 8.8.4.4" >> /etc/resolv.conf

99-invoke-syncd.sh

# Restore removed func from pcsuite-enable.sh
kill -USR1 $SYNCD_PID
logger "$0: sent SIGUSR1 to syncd"

Избрали сме да използване цифрови префикси за по лесно подреждане на модификациите. Може да се окаже че някоя модификация изисква други модификации да са свършили преди нея и по този начин най-лесно постигаме това.

Реализация – pcsuite-disable.sh

В оригиналната статия имаме следното парче код

При изваждане на USB кабела автоматично се изпълнява скрипта /usr/sbin/pcsuite-disable.sh където и ще добавим нашите инструкции за автоматично спиране на интерфейса.
Намерете секцията:

logger "$0: do nothing to pass USB certs"

exit 0

и я заменете с:

logger "$0: do nothing to pass USB certs"
ifdown usb0
echo "nameserver 127.0.0.1" > /etc/resolv.conf

exit 0

Това парче ще модифицираме по аналогичен начин

logger "$0: do nothing to pass USB certs"

## Modular actions on PCSuite Disable
if [ -d /etc/pcsuite/disable ]; then
  for i in /etc/pcsuite/disable/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi
## Modular actions end

exit 0

Какво прави това парче код

Проверява дали съществува директория /etc/pcsuite/disable и за всеки файл в нея който има разширение *.sh ако може да бъде прочетен го включва в скрипта.

Съответно за да възстанивим старата функционалност създаваме файла 99-bring-usb-network-down.sh със следното съдържание
99-bring-usb-network-down.sh

# Bring down and cleanup USB networking

ifdown usb0
echo "nameserver 127.0.0.1" > /etc/resolv.conf

В заключение

По този прост начин си сътворихме система за модулно, и до известна степен със зависимости изпълнение на модификации. Освен това получихме лесен начин за управление на модификациите. АКо нещо не нии трябва просто го махнете от директорията или го преименувайте примерно на *.sh.inactive
Е надявам се да ви е било полезно

Коментари
2 Коментара »
Категории
Статии
Tags
modularity, n900, nokia, pcsuite
RSS коментари RSS коментари
Trackback Trackback

БББ смята да прави Христо Стоичков консул в Барселона

Владимир | 03/03/2011

Че политическите елементи в текущите окръзи са … „странни“ за да сме културни си го знаехме, но последното двайсе от БББ не го очаквах. Според Sportal смятат да правя Ицето почетен консул в барселона. Че не е истински консул ясно ама че е публична личност пак ясно … Ама ицето … стига бе хора та той едва скълъпва две приказки …

Коментари
2 Коментара »
Категории
Разни
Tags
omfg, ббб, идиотия, ицето, футбол
RSS коментари RSS коментари
Trackback Trackback

Край на debian-volatile

Владимир | 02/16/2011

Е от вчера вече официално няма debian volatile хранилища (но пък вече има squeeze-updates). Ще кажете какво по дяволите е това … ами това са хранилища за пакети в които влиза често обновяван софтуер. От сорта на tzdata, clamav и други дреболии.

Официалното съобщение: http://www.debian.org/News/2011/20110215

Приниципно аз карам на stable (а не на codename-а (squeeze)) и това ми докара малко бели на главата в процеса на ъпгрейд. Но за това друг път.

Коментари
Няма коментари »
Категории
Разни
Tags
debian, squeeze, stable
RSS коментари RSS коментари
Trackback Trackback

« Previous Entries

Разни Лични

  • БирБлог
  • На море
  • Шумилницата

Blogroll

  • Summerborn

Етикети

bash Code debian dhcp dhcpd dns dnsmasq encryption firewall fun gnupg installation iproute iptables jabber linux lqlqlq management memdisk mrtg n900 netboot new nokia Norton ntp pcsuite php ping port reborn router routing rsync secure shaper simple soho squid ssh tftp web webserver Конкурс сигурност
rss RSS коментари valid xhtml 1.1 get firefox