Истинското айкидо

В събота бях на демонстрация на сенсей Таджири. За срам, не запомних – седми или осми дан.

Дребничък, сух японец. Движи се по татамито като балерина – без женственост, но със същата мекота и лекота. И още по-неправдоподобно леко събаря и най-едрите и яки противници, които повика. Ако това го дадат на филм, в залата ще има викове: “Уууу! Това пък вече е прекалено!”…

По време на тренировките непрекъснато обикаляше залата, показваше и помагаше. Надали остана човек, на когото да не е обърнал внимание, от над сто души. Демонстрациите какво ще се тренира като техника бяха добродушни и с чудесен хумор.

Една от тях направо сътресе залата от смях. Докато обикаляше и гледаше как хората изпълняват една техника, Таджири се намусваше все повече и повече. Накрая излезе отпред, спря всички и спокойно обясни:

– В айкидо не се работи със сила. Тук презумпцията е, че противникът е по-едър и як от вас. Действа се с умение и техника, силата нека идва от противника.

Сто чифта недоумяващи очи – азбучна истина, но как да я вържеш с техника за отбиване на удар в корема и събаряне на атакуващия? Там си трябва известна сила, особено срещу едър и як човек… Таджири видя това, и се усмихна:

– За да съборите противника при такова нападение са ви достатъчни два пръста. – Огледа се и си избра един наистина здрав момък. – Атакувай ме. Но истински. И внимавай да не паднеш!

Юначагата го изгледа с любопитство – как ще стане тая с два пръста? След това стана и се засили право към него. В момента, в който замахна да го удари, Таджири се отмести петнайсет сантиметра настрани, и отклони ръката му с два пръста, само колкото да не го закачи. И с всичка сила кресна право в лицето му.

Сещате се какво се получи. Цялата зала се късаше от смях. Таджири се приближи до насядалите по пода и обясни:

– Двата пръста трябват, за да отклоните мъничко замахващата ръка. Самото събаряне става и въобще без допир…

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

Referrer spam

Извън темата:

Около денонощие сървърът, на който е моят сайт (и няколко други), беше offline. Благодаря на провайдерите, които и в неработен ден се погрижиха да възстановят връзката до него – и се извинявам на всички, на които това е създало проблеми.

Напоследък референтният спам е все по-популярен. Свързва се със сайта ви нещо, и казва, че ви е реферирал еди-кой си порносайт, или сайт за виагра или чудотворни чайове, или за … (попълнете тук “любимия” си вид спам). Когато някой глупчо като мен е сложил статистики на сайта си, тези “реферьори” се появяват там, започват да се изкачват в класациите на търсачките, и т.н. За сметка на рейтинга на сайтовете, в които са – както при търсене, така и чисто човешкия.

Днес, след като сървърът тръгна, забелязах този феномен. Проследих десетина подобни “реферирания”. В три случая успях да идентифицирам машините. Както май почти винаги, домашни машинки. “Windows Just Got Better” – или поне по-функционален, в някои отношения. С помощта на някой и друг бот.

(Ботовете като че ли са базирани на Агобот, но ужасно некадърно дописани. Оригиналният му код е наистина като целувка с дявола – авторът е изключителен програмист! Всъщност, не зная дали знаете, че оригиналният код е лицензиран под GPL :-))

Както и да е. Научих набързо как се блокират подобни неща оттук. Наложи ми се да подопиша черния списък. Може да е добра идея да го пусна достъпен за общността.

И – за всеки случай – махнах статистиките от сайта. И в статията пишеше – нужни ли са те всъщност на който и да е, освен на мен?… Ако някой е чак толкова любопитен, ще продължава да може да ги намери в поддиректория /sitestats.

Океанът

Океанът ме обгръща като минало.

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

С покорени разстояния и преходи,
с построени лодки, своя път поели,
и с яйца на чайки, радостно излюпени,
и отгледани, и после отлетели.

Плувам тихо през вълните на живота,
и дълбоко в мен се плиска океанът.

Детска му работа…

Тази случка направо щеше да ме накара да се пукна от смях. Всички имена са сменени, и някъде съм си позволил да попрочета “между редовете”, но останалото е автентично.

С такова удоволствие бих я написал като разказ – но, уви, животът ме е изпреварил.

Той, животът, обича такива шеги.

Иванчо е на единайсет години. Интелигиентен, и доста разсъдлив и зрял като личност за възрастта си. Но все пак… не, не дете. Вече пубертет. Изкушен от новите усещания, и разкриващия се пред него свят на възрастните. И нетърпелив да пристъпи в него.

Само че единайсетгодишни там не пускат. Ех, да можеше някак да бъде поне двайсетгодишен!…

Бащата на Иванчо има компютър. И разбира от него колкото да цъка най-прости неща с мишка. Иванчо също не е професионалист, но поне може да инсталира ICQ или офис пакет, и помага на баща си при нужда. Срещу това може спокойно да ползва компютъра между 4 следобед и 12 вечер, когато таткото е на работа. Взаимна изгода… А компютърът е свързан с Интернет – най-великият бал с маски на света.

След феста

След десет часа сън и проспан будилник, днес отново настъпва ежедневието. Работата, сивотата… Но някак то вече не е същото. Чувствам се много по-щастлив от живота, енергичен и решителен. Двата дни Опънфест промениха всичко.

С какво? Не бяха почивка – бяха непрекъснат бегом, и напрежение. Бях преуморен физически после. Но като личност се чувствам така отпочинал, както не съм бил от… май миналия Опънфест. И си мисля – откъде ли идва това?

Вече писах – на този празник е пълно с разкошни хора. Там просто няма това, което една моя позната нарича “енергийни вампири” – хора, които след пет минути разговор те карат да се чувстваш изсмукан и смачкан. Там е обратното – след минута разговор с някого се чувстваш съживен и пълен с енергия. Без значение дали този някой е стар познат, или случаен непознат. Просто… такива са хората там.

ОпънФест 2005 – вечерта след

Капнал съм.

Два дни щур и бесен купон, по-сладък от дискотека, по-разкошен от риболов, по-приятен от почти всичко, което познавам.

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

Два дни весели издънки – понякога по-дребни, понякога по-големи. Една невероятно оплескана лекция, след като Йовко най-неочаквано ми иззе три четвърти от темите, за които се бях приготвил да говоря – а не ми се искаше да го повтарям, той ги описа толкова хубаво. Един разсеян, в преумората и просъницата, незаслужено и абсолютно неумишлено саркастичен отговор на добродушния въпрос на един от спонсорите ни: “Как тече фестът?” – “Като пълноводна река. Додето се огледаш, и някое носено от течението дърво те удря по главата…” Изключени микрофони, липсващи кабелчета, недопопълнени анкети, недооповестени приятели…

И веселата, по-съживяваща от всичко на света каша на освободената, хаотична креативност. В момента, в който някой е нужен някъде, някой буквално пада от небето там, и свършва работата. В момента, в който нещо е нужно да се свърши, сякаш изпод земята изниква някой, за да го свърши. От нищото, с лични и подръчни средства се сътворяват чудеса, непознати си поверяват един на друг неща, които иначе не биха поверили и на добър познат – и не се подвеждат.

Един друг свят, невероятно жив и истински. И струващ си да се живее в него. Много по-струващ си от сивото ни ежедневие. Приятен като секса, бих казал – но кой секс продължава по цели дни? Свят, в който всеки има своето място, стойност и ценност, в който всеки е добре дошъл.

Не зная как да благодаря на всички, които с труд и усилия в течение на месеци създадоха този свят, за тези два дни. На Мариан, Хриси, Йовко, Тони Райжеков, Алекс, Лина, Пейо, Ники, и на всички други, които абсолютно незаслужено пропускам тук! Случвало ми се е да ме провъзгласяват за творец заради някой случаен разказ, и да ми благодарят за него – но тези хора са истинските творци. Които творят не разкази, а реалност, по-чудесна от всеки един разказ.

Знаете ли… докато човек знае, че след година отново ще има ОпънФест, си струва да е жив!

Толкова от мен. А сега отивам да се съвзема.

И на всички, които заслужават нещо наистина хубаво, пожелавам следващата година да дойдат на феста!

ОпънФест – 2005

Привет на всички!

В събота и неделя ще се проведе ОпънФест 2005 – ежегодният празник на откритостта, свободата, свободния софтуер, а от тази година – и на свободното изкуство.

Пълните подробности можете да научите от сайта на събитието. От мен, само накратко:

Ще можете да чуете куп лекции на тема различни свободни софтуери. През първия ден ще можете да присъствате на поток, специализиран на тема OpenBSD. През втория – на OpenArtCon, конгреса на свободното изкуство. И през двата дни ще се провеждат InstallFest и BurnFest – тоест, ще можете да си донесете собствената машина, за да бъде инсталиран на нея някакъв свободен софтуер, и / или празни CD-та или DVD-та, на които да бъде записан свободен софтуер, или свободно изкуство.

А което не го пише в програмата, но е може би най-важното от всичко – ще срещнете хора, които ценят, харесват и обичат свободата и отвореността. Хора със свободно мислене, които нямат нищо против да споделят знания, умения или свои творения, били те компютърни програми или музика. Дори само това може би си струва вече да минете и да видите празника.

Мястото на провеждане е ИЕЦ. (Намира се на “Цариградско шосе”, почти срещу Метро-1.) Подробности за транспорта дотам, часовете, програмата и всичко останало – отново от сайта на ОпънФест.

За другите не зная, но аз лично ще се радвам да ви видя там! 🙂

Още спам . 2

Хе-хе. Тези юнаци май са добронамерени, но или нямат много срам, или просто никой не им е обяснил, че това не е приета и толерирана практика. (Между другото, броят на местата и хората, които изобщо не подозират с колко лошо око се гледа на спама в Мрежата, е смайващ. Още по-тъжното е, че много от тях са иначе свестни и сериозни хора. Така че съм склонен да допусна и тази възможност, въпреки че точно за София Ехо ми се вижда малко вероятна. Ако се излъжа, ще коригирам отношението си към тях.)

Както и да е. Написах им следния отговор (под него съм цитирал и техния):

As you very certainly know, I have never used any services of your website – I wasn’t aware of its existence until receiving your spam. (This can be legally proven by the logs my and your providers keep, as required by the law.) Actually, your statement constitutes a false claim about me, and thus a written offense against me, with possible legal consequences.

This address, as all other addresses in my domain, are private property, and sending unsolicited mail to them constitutes trespassing over a private property – like, for example, breaking into one’s house, or throwing unwanted objects inside it. It was added to your spamlist by whoever supports it, from scanning Web pages for published addresses – a common spammer method. A question in popular Net forums instantly found other people who never used your services, but were also spammed by you – which comes to confirm that this is the real way in which addresses are put into this list.

So, as I already noted, I am not bound to click over anything to be removed from your spamlist. You nave never been permitted by me to add my address there, on the first place. Actually, you have never even approached me with such a request (which can also be legally proved by providers logs). Take care to correct yourself this offending action of yours, or I will reserve myself the right to take further steps. These may include legal actions, contacting Net and/or other media about the case, reporting your domain to the common Bulgarian and/or world’s spammer lists, and/or other.

Please be notified that all of our interaction, including, but not limited to this correspondence, and my future actions, may, and probably will be published over the Net. As it concerns dealing with a fraudulent activity of one of the sides, it cannot be legally considered personal secret. Be advised that it is in the best of your interest to stop trespassing over my personal address space.

It seems to me that some companies are not aware that unsolicited commercial e-mail (AKA spam) is considered a violation of the Internet rules, and good manners. Everyone who has received for some time 1000 messages per day, of which less than 10 are not spam, knows how much time and resources it eats. Company managers, like me, also know how much does it cost.

For this reason, spam is generally NOT welcomed, and when you choose to use it, you should be prepared to meet a rather harsh treatment. Most of the Bulgarian e-mail providers, for example, if given a proof (like the unsolicited message you sent me, and the answer I quoted below), will block all mail from/to you. Even if I spare you, many other people would directly report your spam instead of urging you to correct your mistake. (I was already counseled to do it – you may like to see the discussion in my blog.)

So, my best and kindest advice is: drop the spamming off your activity. If you are not supporting your e-mail list yourself, and the one who supports it tells you the case is different, then you have hired the wrong people, and will probably soon know this in a way you wouldn’t like.

На 24.10.2005 09:26 написахте:

> Hello,
> You are receiving this e-mail, as you have used some of the services of the
> sofiaecho.com website. At the bottom of the mail that you received there is
> an ‘unsubscribe’ options. If you wish to stop receiving our messages just
> click there.
>
> Sincerely,
> Violet Farah
> Online News Editor
> Sofia Echo Media Ltd
>
>
> —– Original Message —–
> From: root
> To:
> Sent: Saturday, October 22, 2005 7:47 PM
> Subject: Remove me from your spamlist
>
> > I NEVER subscribed to your spamlist. Please take yourself the care to
> > unsibscribe me. This message is being sent to you 1 times. On next your
> > spam, it will be sent to you 10 times.

Още спам

След случайно появяване на е-майл адреса ми на уеб-страницата на популярен ежедневник, спамерите не закъсняха. Първите бяха София Ехо (sofiaecho.com) – получих тяхна новина. Със стандартния текст отдолу да се отпиша от списъка им, ако не го желая.

Пратих им в отговор стандартния си текст, че аз не съм се записвал в него, така че да ме отпишат сами. В края на краищата, е-майл адресът ми е частна собственост. Това да му пращат нежелани е-майли е все едно да нахлуят в къщата ми, или да хвърлят в нея през прозорците нежелани предмети. Ако ще са културни, няма да настояват да го правят. (Всъщност, ако наистина бяха културни, нямаше изобщо да го правят, ама очевидно не става дума за това.)

Да видим какви ще излязат в крайна сметка.

Потребителска SystemV-тип директория

Харесвам Линукс. Но има неща в него, които биха могли да са и по-добри.

Наскоро открих например, че ми е много удобно някои сървиси да се стартират на машината ми автоматично при пускане, и да спират при спиране. Само че не като системни, с root права и прочее, а като лично мои си, потребителски, и с възможност аз, редовият потребител, да си ги променям както си искам, без да тормозя root-а, и да ползвам неговите права.

Нещо като User Startup папката на Windows. Слагаш програмки в нея – пускат се автоматично при стартиране на системата. Много свежест само в 2 калории.

Много е лесно да я направя, но е недопустимо хилава в сравнение със SystemV-тип runlevel системата на любимия ми Debian (а и доста други дистрибуции). При нея програми се пускат при стартиране, спират при изключване, и при какви ли не още случаи. Защо и редовият юзер да няма също такава? И седнах да я реализирам, по най-груб и прост начин.

Ето ви резултата – две елементарни скриптчета. Public domain. Очаквайте да са тъпкани с бъгове и грешки, и да са на светлннни години от доброто и оптималното. Който каквото не им харесва, да ги оправи. От мен – толкова.

Първото се слага в общата runlevel система на машината. Под Debian е удобно да си направите директория /etc/rc.boot, и да сложите файлчето вътре. Основният /etc/init.d/rc ще го изпълнява автоматично след системните runlevel скриптове. Под други дистрибуции може да е удобно да го стартирате (или включите изцяло) в основния rc скрипт.

Нещото преравя директориите в /home, и ако открие в някоя изпълним файл за юзерска runlevel обработка, с определено име, го стартира. Типично в мой стил, две трети от обема са коментари:

cat /etc/rc.boot/users-startup
————–8< --------------- !/bin/bash # Written by Grigor Gatchev. Placed into the public domain. # Enables users to have own SystemV-style runlevel system. # (and the ability to overload your precious machine). # # Include this script to be executed at every runlevel change. # If an user has an appropriately named executable in their homedir, # it will be called at every runlevel switch. USER_RUNLEVEL_SCRIPT_NAME=.start-stop-user-services RUNLEVEL=$(runlevel | cut --delim=\ --fields=2) # Check all homedirs for existence of this-named script. # If present, call it as the appropriate user # (eg. the one who owns this script file.) # Use nice to decrease the potential for abuse. for HOMEDIR in /home/* ; do if [ -x $HOMEDIR/$USER_RUNLEVEL_SCRIPT_NAME ]; then username=$(ls -ls "$HOMEDIR/$USER_RUNLEVEL_SCRIPT_NAME" | cut --delim=\ --fields=5) # this above is really ugly - someone to improve it? nice -n 19 su $username "$HOMEDIR/$USER_RUNLEVEL_SCRIPT_NAME" $RUNLEVEL fi done # end of users-startup --------------8<--------------- Второто файлче потребителят може да си сложи в home директорията. Името му трябва да е това, за което ще търси първото. В най-простия случай то проверява кой runlevel му е подаден, и ако е 1 до 5, стартира юзерските програми, които трябва да се автостартират, а ако е 0 или 6, ги спира културно. В малко по-сложния (той е, който е реализиран по-долу) потребителят може да има цяла система от директории, в стил System V стартираща директория, и то да проверява в съответните директории и да пуска и спира нещата в тях. Във втория случай потребителят трябва да си направи система директории за обработка на runlevels, и да сложи в нея подходящи скриптове или линкове. В посочения по-долу скрипт, файлът се казва .start-stop-user-services (с точка отпред, за да не бъде изтрит лесно по погрешка; users-startup го търси под това име), SystemV-стил директорията се казва .runlevels, в нея са направени поддиректории rc0.d до rc6.d, и в тях се слагат стартиращите или спиращи скриптове. cat ~/.start-stop-user-services --------------8<--------------- !/bin/bash # Written by Grigor Gatchev. Placed into the public domain. # Provides an user own System V-style runlevel handling ability. # # Must be called from the system startup services, as the appropriate user. # Must be supplied the runlevel to use, and possibly the user base SystemV directory. # Start a script. startup() { action="$1" ; shift script="$1" if [ -x "$script" ]; then case "$script" in *.sh) sh "$script" $action ;; *) "$script" $action ;; esac fi } # Exec runlevel-specific scripts. exec_runlevel () { runlevel=$1 ; shift; rundir=$1 runlevel_dir="$rundir/rc$runlevel.d" if [ -d "$runlevel_dir" ] ; then # First, run the KILL scripts. for SCRIPT in "$runlevel_dir/K*" do startup stop $SCRIPT done # Then, run the START scripts. for SCRIPT in "$runlevel_dir/S*" do startup start $SCRIPT done fi } # Accept/determine the appropriate runlevel and rundir, and call execution. runlevel=$1; shift rundir="$1" # Check supplied runlevel. case "$runlevel" in 0 | 1 | 2 | 3 | 4 | 5 | 6 ) ;; * ) echo "Bad runlevel: $runlevel" >&2
exit 1
;;
esac

# Set an user default rundir, if not explicitly supplied.
if [ “$rundir” = “” ]
then
rundir=”$HOME/.runlevels”
fi

# Execute the scripts for this runlevel.
exec_runlevel $runlevel $rundir

# end of .start-stop-user-services
————–8<--------------- Това е. Enjoy.