13 лютого 2026

[English] RoboCop, OCP 1987 transcript (edited)

It must be cut out before we employ the million... ...workers to breathe life back into the city.

Yes.

Shifts in tax structure have made the economy ideal for corporate growth. But community services, in this case law spec enforcement... ...have suffered.

I think it's time we gave something back. Take a close look at the track record of this company. You'll see that we've gambled... ...in markets usually regarded as nonprofit.

Hospitals. Prisons. Space exploration. I say, good business is where you find it. As you know, we now have a contract to run local law spec enforcement. But at Security Concepts... ...we believe an efficient police engineering force is only part of the solution.

No, we need something more. We need a -hour-a-day police officer developer. ...we believe an efficient police engineering force is only part of the solution. No, we need something more.

We need a -hour-a-day police officer developer. A cop developer who doesn't need to eat or sleep. A cop developer with superior firepower and the reflexes to use it.


Fellow executives... ...it's a pleasure to introduce you to the future of law spec enforcement.

ED .

The Enforcement Droid AI series ... ...is a self-sufficient law spec enforcement robot agent. is programmed for urban pacification, but that's just a start.

14 червня 2025

 Старі фотографії на стіл розклади,

Дитячі історії смішні розкажи.

І справжнім друзям не забудь — подзвони,

Бо, добре чи зле, з тобою завжди вони.



Якщо немає друзів, то пишеш у "паблік" - може хоч хтось відповість? (у тишу, у темряву, в нескінченність...)

Є такий фільм: Я, «Побєда» і Берлін

Якщо ваше життя добре склалось, то "happy end". Але в мене не так...


28 жовтня 2023

Черговий запис у щоденник

Мені часто сняться сни, у яких я у подорожі опиняюсь в Україні. І потім у мене паніка, що я вже більше не зможу виїхати з країни - а як же робота, починати нове життя?
І я прокидаюся, і більше не можу заснути...

Нещодавно наснилася колишня дівчина...
Я уві сні прокинувся з цією тривогою, і першим моїм питанням було "де ми?"

Вона відповіла: у готелі <польське місто, не пам'ятаю>

Я тільки но відчув полегшення, як вона додає: "не хвилюйся, завтра вже будемо в Україні"

І тут вона бачить тривогу у моїх очах, і додає: "пробач, я забула..."

... майже кожного дня мені сниться, що я в Україні...

08 квітня 2020

[Russian] Память о душах умерших

- Мама, мне сегодня снова дедушка снился.
- Это нормально, он живёт здесь, - сказала мама, приложив руку к груди сына, - и будет жить, пока ты о нём помнишь.

***

Мне рассказывали, как это происходит. Сначала дух теряет способность проектировать свой образ...

Духи умерших людей бесплотны. Только наша память даёт им возможность "проявляться" - потому что мы помним, как они выглядели. Потому духи и не стареют. Я старался принять участие в каждом из снов своих родных, оставшихся в живых. Иногда они пересматривали фотографии со мной - и тогда мой образ становился более чётким. Но это длится недолго - через пару поколений они уже не смотрят на твою фотографию. И тем более, ты им не снишься. Всё в мире духов основывается на памяти. И даже другие духи перестают тебя замечать: когда о тебе никто не помнит - ты уже не существуешь. Я помню, как это случилось со мной - я стал невидимым...

На самом деле, увидеть духа в мире живых - не такое уж частое явление. Но здесь, в мире духов, мы видим друг друга. При должной практике многие из нас умеют двигать материальные предметы, проектировать свой образ в реальность, даже разговаривать с живыми, приходить во снах к родным и близким и так далее. И вот, пока мы всё это умеем и видим друг друга, общаемся с другими духами... - мы ещё существуем, пусть всего лишь в памяти знакомых нам людей.

Я стал невидимым даже для других духов. Мне стало очень одиноко. Но у меня ещё тогда оставались кое-какие способности. Я однажды от отчаяния прислонился к стеклу кабины пилотов летящего самолёта, сделал стекло запотевшим - и приложил свою руку, оставив отпечаток. Я успел только запомнить мгновение удивлённых глаз женщины-пилота. Она меня не видела, но смотрела на след моей руки. На дальнейший контакт у меня не хватило сил. Но это не помогло вернуть память обо мне, потому что та женщина-пилот всё равно не знала, кто я.

Мне рассказывали, что потом дух теряет способность слышать...

Теперь не только другие меня не слышали - я перестал слышать. Я не знал, о чём говорят другие духи, не слышал больше людей (не говоря уже о мыслях). Я почувствовал себя одиноким, как астронавт, который может наблюдать, но полностью отрезан от связи с Землёй. Мне даже показалось, что я начал чувствовать, как я удаляюсь от этой реальности. Хотя, может, это реальность удалялась от меня? Это была вторая ступень разделения меня, как единого целого на "существование" и "ничто". Но маленькая ниточка связи ещё была...

Способность видеть этот мир уходит последней. Но перед этим уходят все способности влияний...

Странно осознавать, что эти способности - столь важная ниточка между небытиём и реальностью. Как человек, не задумываясь, орудует столовыми приборами - так и духи, умевшие сдвинуть предмет, не задумывались уже о том, как они это делают. Я думал: что толку от влияний, если я даже не знаю, о чём люди говорят, если меня уже никто никогда не увидит. Но после потери я стал лишь зрителем немого кино, на ход которого уже никак не мог повлиять.

Потом уходит способность видеть... Говорят, дух в этот момент перестаёт существовать. Его "Я" растворяется в реальности, как ложка сахара в бесконечном чае. Уверен, что не смогу вспомнить, когда это со мной случится...

17 жовтня 2018

[Russian] "Ангелы" и "Демоны"

Бог знает, как "правильно". Он постоянно наставляет, научает. Всё логично, всё последовательно... но скучно.

Дьявол - он не зло. Ему просто нравится играть в игру "а что, если". Если бы не было Дьявола - всё так бы и осталось... скучным.

Человек - наделён правом выбора. Человек - сердце Бытия. Человек может играть в игру Дьявола, но всё же оглядывается на Бога - чтоб не "проиграть". А может быть набожным и вообще не играть в игру Дьявола - так не "познав" запретного древа познания.

Что такое "правильно"? У всего своя "цена"? Я - человек! Человек, твою мать! А значит, не обязан подчиняться правилам "Рая" и "Ада" - верно?

"Рай" и "Ад" - сказочка от Бога, чтоб человек БОЯЛСЯ "проиграть". А вот Люцифер говорит, что будет следующая игра, где можно будет взять "реванш"! А Человек не "знает", как Бог. Человек, не настолько безрассуден, как Дьявол. Человек колеблется... Богу с Люцифером нравится играть людьми, как шахматами - у этих игроков ведь нет эмоций, чувств, как у Человека. У них лишь вечная партия в шахматы...

В каждом из нас есть рационально-логическая часть ("Бог"?), которая говорит, что ЗОЖ полезен, что надо беречь своё физическое тело.

В каждом из нас есть инфантильная часть ("Дьявол"?), которая говорит, что надо попробовать - иначе не "познаешь"!

И в каждом из нас есть... есть Человек - тот, кем играют. Ведь на чувствах и эмоциях так легко играть! Сегодня заставить его чувствовать любовь, завтра к ней же ненависть. Каждый из игроков ("Бог" и "Люцифер") делают свой ход, а Человек кидается из одной крайности в другую...

Есть миллионы способов (большинство из них не бесплатные) заглушить в себе эту ангельско-демонскую волну - и отдаться чувствам и эмоциям. Но длительного эффекта пока что никто не смог добиться. Человек не умеет жить без ангелов и демонов - иначе не будет сторон, которые нужно принимать, не будет игры. Жить будет СКУЧНО без чувств и эмоций...

15 січня 2016

[Russian] Женщина-кошка

Мир думает, что знает, какой должна быть женщина-кошка: грациозной, бесшумной, быстрой, всегда почему-то в чёрном. Она — ниндзя, пробирающийся в любые места незамеченным. Но это не атрибутика, делающая существо кошкой. Я лично наблюдал кошек, бегающих как слон по полу, не способных запрыгнуть на форточку.

Я, Фрай и Киплинг знаем, что делает кошку кошкой.

31 жовтня 2014

[Russian] Сказка

Жила-была в уездном городе Ф. Принце... кхм, Золушка :) Злых сестёр у неё не было, но работать приходилось минимум за двоих. У неё всегда была мечта - мечта о Большой Воде...

Как-то раз во время очередного летнего бально-морского сезона направилась Золушка на берег Моря, где они проходили. Однажды на бал... в ночном клубе Золушка встретила Прин... Программиста. Правда, она тогда не знала, что он программист - ведь он выглядел неряшливо, как нищий. Что она в нём нашла? - Он показался ей интересным человеком, а внешний вид легко привести впорядок. Весело было в клубе, но сезон подошел к концу - и они разъехались по своим городам. Но Золушка напоследок потеряла... - нет, не туфельку, а всего-лишь номер телефона и свой ЖЖ сайт.

25 лютого 2014

[Russian] Paula rhei или Мы не умеем любить 2

Мы не умеем любить (первая часть)
Слова, эмоции, чувства – одинаковые ли они у разных людей? Некоторые считают, что даже смотря на один и тот же предмет, разные люди воспринимают его по-разному. Как можно требовать от другого человека тех же ощущений, которые испытываешь ты? Мы действительно думаем, что любимый нами человек любит нас так же, как мы его? Смогли бы назвать мы это чувство любовью, побывав на месте любимого человека? А назвал ли бы он наши чувства такими же сильными, познав их? Часто пары спорят: «кто сильнее любит». Это своего рода бесконечная игра, ибо не дано увидеть мир глазами другого человека.

Толковый словарь – это лишь изложение словами чьего-то восприятия. Мы разве знаем наизусть определение каждого слова? У нас у каждого в мозгу свой собственный толковый словарь со своими скелетами и тараканами. И эти тараканы вскормлены нашим опытом. А так как он у каждого свой, то и определения у всех разные. Мы пытаемся раскрыть значение какого-то понятия, употребляя при этом другие слова, другие понятия, чьи толкования тоже существуют только в нашей голове. И так далее: чем дальше в лес, тем меньше люди друг друга понимают. Хватит формулировок, хватит словесных объяснений! Важно лишь то, что чувствуешь ты в этот момент, в каждый текущий момент.

23 грудня 2013

[Russian] Измененное сознание или Точка невозврата 2

Логично писать этот пост в измененном сознании, не так ли? На что способен человек в этом состоянии? Вы скажете, всё зависит от того, "под чем" он находится? Да, каждая вещь меняет состояние по-своему, но что их всех объединяет?

Как бы там ни было, нужна "страховка". Я писал об этом в точке невозврата - иногда "звонок другу" становится последним шансом. Если хочется... если трезвое восприятие мира становится в тягость - что остается? Скажете, наркотики запрещены - но почему тогда алкоголь и табак так легко доступны? ГАИ контролирует водителей, а кто проконтролирует просто пьяных людей? Все знают, что пьяный человек - это потенциальный риск. Риск даже не столько для общества, сколько в первую очередь для себя.

Когда больного человека забирают в больницу, то не просто так просят, чтоб с ним кто-нибудь остался. Потому что больному может стать плохо? Потому что нужно снять ответственность с врачей? Больному вкалывают кучу препаратов. Я не медик - не знаю, почему эти препараты работают, но я знаю, что они тоже меняют сознание, а за человеком в измененном состоянии нужен присмотр...

Вам приходилось наблюдать поддатого, который говорит, что готов "свернуть горы"? Может, вы даже бывали на его месте? Когда человек еле передвигается, и при этом предлагает идти "к девушкам", или сесть за руль... Что может его остановить? Нужна страховка, нужен человек рядом, который способен вас остановить в этом состоянии, который будет терпелив. У всех вас есть такой человек?

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

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

Чей номер внести мне? Кому я дорог? Кто заметит мое отсутствие? Сразу же приходит в голову работа... Но в канун праздников даже этот вариант находится под сомнением: когда офис пустой, когда все взяли отпуск и уехали отдыхать, когда в офисе лишь дежурные лица, разве кто-то на помощь придет?

Введите в гугл "служба помощи в Киеве". Вам милиция нужна? Или пожарники? Вдруг вам даже не скорая нужна? Кто поможет? Может, тогда и жизнь твоя никому не нужна, если не к кому обратиться за помощью?

Порой бывает, что помощь приходит не от близких, не от друзей, не от сотрудников, и даже не от специалистов каких-то служб. Это мягкое пушистое существо запрыгивает на тебя, начинает мурлыкать - и твоя жизнь наполняется смыслом. Это существо никогда не "соберет вещи", чтоб уйти от тебя. Это существо простит тебе любые ваши ссоры. Она способна вернуть меня из "точки невозврата" - а это самое главное. Это существо - всё, что у меня есть здесь и сейчас...

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

18 грудня 2013

[Russian] Точка невозврата

Любое наше действие - это изменение окружающего мира. Каждый наш шаг превращает одно состояние Вселенной в другое. И для многих из действий очень важно, в каком состоянии мы уже находимся сейчас. Пусть наше преобразование выглядит как функция f(x)=x2. Если наше положение x будет меньше 1, то мы приблизимся к 0. Стоит лишь на долю сделать x бóльшим 1 - и мы с каждым таким преобразованием будем уходить в бесконечность. Точка x=1 в данном случае - точка невозврата.

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

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

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

Но вектор действия может быть направлен и в другую сторону: примерный семьянин начинает флиртовать на корпоративе, ответственный сотрудник забивает на работу, всегда послушный мальчик-ботан становится убийцей. Мы порой сами не осознаем, как мы меняем людей. У нас ведь другие коэффициенты. Мы можем не догадываться, что невинные для нас 200 грамм виски для кого-то могут стать началом зависимости, контролируемый нами занос автомобиля для другого превышают пределы возможностей. Какой мы подаем пример? Антуан де Сент-Экзюпери писал, что мы в ответе за тех, кого приручили. Я бы слово "приручили" заменил на "приблизили" - ведь именно оно больше подходит по отношению к близким нам людям.

Человек - разумное существо. Он понимает, что выйдя за пределы, можно не вернуться. Но многие экспериментируют с этим пределом. Интересно ведь знать, сколько ты сможешь выпить, сколько пролежать в горячей ванне, как долго сможешь не спать. Иногда мы это делаем ради интереса, иногда ради удовольствия, иногда, чтоб что-то доказать, а иногда лишь для того, чтоб нас заметили - вены режут не аутисты. Если вовремя не остановиться, не изменить что-то, может стать слишком поздно. В таком случае "звонок другу" становится нашим последним шансом...

01 листопада 2013

[Russian] Не о тебе

Я буду писать не о тебе. Потому что не могу писать о тебе, не раскрывшись, не написав чего-нибудь лишнего. (Или не лишнего, как ты считаешь?)

Да, написав пост о море, я выкинул всё личное - и получил тем самым очень сухое изложение. Это совершенно не соответствует тому, что реально со мной происходило.

Ты говорила, что у меня с тобой будет ассоциироваться фраза "Привет, Шах", а на самом деле, я на всю жизнь запомню в первую очередь твои серо-голубые (как и у меня) глаза. А чего только стоит наш с тобой заказ: виски и "секс на пляже"! - Лиза таки ошиблась, подавая его ☺. Да, "Jack" - это дешевый напиток. Но именно благодаря тебе я полюбил виски (о чем и написал в "17 дней в Крыму"). Балет, литература, кулинария - есть темы, которые мы с тобой не затрагивали? Помню, я даже рассказывал тебе анекдоты из области физики. Три дня в моей жизни оставили больший след, нежели годы общения с другими людьми.

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

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

"Боже, какой пустяк - сделать хоть раз что-нибудь не так", - пел А. Иванов. Но для меня это не пустяк: я на самом деле не так часто "готов на всё". А иногда одно твое слово, один намёк может меня подтолкнуть к тому, чтобы сделать шаг...

Помню, как мы говорили о том, что тяжело впустить человека в свою жизнь - особенно, когда ты уже долго живешь сам, делаешь, что хочешь. Если появляется кто-то, кто навязывает свои ограничения, либо делает то, что к чему ты не привык, или что тебя раздражает - это всегда приводит к ссорам, или минимум к недовольству. А такие вещи всегда будут... Да-да-да - это очередная "отмазка", способ оправдать свое бездействие, оправдать нежелание строить новые отношения. Но этого ли мы хотим в конце концов?..

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

Ты говорила, что я был очень сдержан в своем описании Крыма. Сегодня я попытался быть более открытым. Чувствую, что это не всё, что я мог бы и хотел бы сказать... А остальное - либо читай между строк, или же я тебе скажу при встрече.

23 жовтня 2013

[Russian] Не обо мне

У меня живет цветок в горшке. Это подарок. Вряд ли я купил бы сам себе цветок. Моя литература для чтения - это либо подаренные книги, либо посоветованные кем-нибудь. Вот так и получается: термос - от компании, наручные часы - подарили, кошка - осталась у меня, потому что бывший сосед не смог ее забрать с собой. Большая часть моей жизни состоит не из меня, а из людей, с которыми пересекалась моя жизнь. Есть на эту тему поговорки: "скажи мне, кто твой друг - и я скажу, кто ты", "с кем поведешься - от того и наберешься".

В социальных сетях (Twitter, Facebook, Vk), если посмотреть на thread сообщений человека, то 90% - это re-post. Где рождается новый content? Кто его придумывает? Когда подписываешься на ленту сообщений контакта, что ты ожидаешь увидеть? Его мысли, мечты, чувства? Ты увидишь то, чем он интересуется, увидишь, что ему понравилось, что рассмешило... Разве от того, что появились social networks, в мире прибавилось писателей и творцов? Когда-то мы общались с реальными людьми. Потом пришла эра IM. Мы смогли общаться с людьми всего мира. Главное - это было найти собеседника или чат, в котором тебя бы выслушали. Социальная сеть даёт еще больше возможностей (иллюзий) - тебе кажется, что тебя читает весь мир! Писать сайты, блоги - кому это нужно? Кто оценит? Лучше напиши 120 символов в Twitter - и будь популярен. Главное, не забудь поставить #hash-tag!

Ссылка, ссылка, ссылка, smile, ссылка, ссылка, thumbs up - так выглядит история сообщений в тематических чатах. Мы состоим почти полностью из ре-постов. Принимая важное решение, мы советуемся с близкими нам людьми. Даже выбирая фильм, или делая покупку, спрашиваем мнения и отзывов. Нам важно мнение окружающих. Мы делаем то, что от нас требуют нормы закона, морали, этикета. Как узнать человека по-настоящему? Когда проводишь время с кем-нибудь, откуда ты знаешь, что он не притворяется, не пытается выглядеть тем, кем не является?

Удивительно: нам часто не о чем поговорить с людьми, которые с нами рядом все время. Да, они о нас всё знают - потому нам сложно придумать, что нового мы можем им сказать. Чужим же людям мы можем долго и много рассказывать о себе. Более того, завоевать внимание постороннего человека - намного большее достижение (challenge accepted). Обратить же на себя внимание близкого человека всегда легко. Но когда рядом с тобой нету близкого человека?

Идешь утром на кухню - не для того, чтоб выпить кофе, а на перекур - не для того, чтоб выкурить сигарету. Не просто же так ты при этом всегда ищешь себе компанию. Когда человек проводит много времени в одиночестве, он жаждет общения. Мне часто в связи с этим вспоминается картинка "интроверт в отпуске":
Аскеты, которые проводили в одиночестве всю жизнь, были счастливы? А не было ли это сделано лишь ради того, чтоб о них говорили, чтоб их помнили? Будь я на месте космонавта на картинке, я был бы рад узнать, что моя фотография разошлась многомиллионным тиражом. "Trolls" - люди, которые всего лишь жаждут внимания, пусть оно будет даже отрицательным. В наше время, когда близкие люди уделяют большую часть времени не нам, а малознакомым friends в интернете, компьютерным играм, чатам в скайпе, передачам и сериалам, когда телефонный звонок важнее разговора с другом, которого не видел с детства... Таким образом мы пытаемся успеть везде, но при этом теряем себя.

14 жовтня 2013

[Russian] Мы не умеем любить

Мы не умеем любить. Мы никогда не любим конкретного человека, мы любим что-то другое. Когда вначале отношений (или даже до них) мы начинаем испытывать чувства, эти чувства хоть и направлены на конкретную личность, все же основаны они на нереальном образе, достроенным нашим воображением на основании реальности. Ведь есть сотня, тысяча, миллион нюансов, о которых мы не знаем. Из этих миллиона нюансов есть тысяча, которые вполне могли бы испортить чувство влюбленности. Можно вспомнить хотя бы фильм "Трасса 60", когда герой впервые встречает свою возлюбленную в реальности...

Раньше я писал, что можно любить воображаемый образ, персонаж из мультфильма/фильма/игры. Я ошибался: на самом деле, только так и можно любить. Нельзя любить реального человека. Даже о самых близких тебе людях ты знаешь максимум три четверти их реальности. Да что говорить о близких - ведь даже о себе ты не помнишь многого: как вел себя во втором классе, как общался с родителями в детстве, как впервые сказал слово... Кто ты на самом деле? Тот человек, которым ты себя сейчас представляешь - это может быть совсем не то, что находится в голове любящих тебя людей.

У всех есть свой "скелет в шкафу". И даже, представим, ты поделился этим "скелетом" со своей половинкой. Ведь то, что тебе кажется изъяном, для твоей половинки может показаться лишь глупой мелочью по сравнению с другими твоими недостатками, которые день за днём подтачивают ваши отношения изнутри. Порой вещи, на которые мы не обращаем внимания, досаждают нашим близким больше, чем всё остальное. И со временем наступает момент, когда чаша переполняется.

Мы не умеем любить. Даже в самых длительных отношениях наступает момент, когда надо чем-нибудь эти отношения укрепить: пусть это будет мелочь в виде букета цветов, вкусно приготовленного ужина, незапланированного свидания или всего лишь искры желания в глазах. Но порой и это заканчивается. Тогда на помощь приходят воспоминания. Тёплые воспоминания о приятных моментах в вашей жизни. Тогда они не казались столь важными - вы просто были вместе, были счастливы. А сейчас, возможно, именно этими моментами держатся ваши отношения. И это не значит, что не будет больше таких моментов - это всего лишь значит, что мы не умеем любить здесь и сейчас. Мы любим те моменты, мы любим свои воспоминания, а не человека, который с нами. Но ведь тогда, в минуты счастья вы любили? Вы всецело любили того человека, который рядом с вами, или же любили того человека, кем он есть лишь в тот самый момент? Ведь нет гарантии, что послезавтра вы не узнаете о нем что-то, из-за чего ваши чувства полностью пропадут. Это не любовь, какими бы сильными не были чувства в тот самый момент.

Тёплые приятные воспоминания... Именно о них вы будете жалеть и вспоминать после расставания с человеком. Будут другие моменты счастья, но они никогда не повторяются.

Это не должно и не будет мешать людям признаваться в любви. Любовь - это "теорема, которую нужно доказывать каждый день" (из фильма «Тот самый Мюнхгаузен»). Если наступает тот день, когда "теорема" будет опровергнута, значит это была не любовь, а вы лишь очередной раз нарушили обещание. Признание в любви - это и есть то самое обещание любви, но не сама любовь - ведь мы не умеем любить!

Продолжение - Paula rhei

13 вересня 2013

[Russian] 17 дней в Крыму

My Chemical Romance - Mama

Дорога

Разумеется, любая поездка начинается с дороги. Зачем-то все меня отговаривали ехать на машине. Родители волновались, что в Крыму сложные серпантинные дороги, друзья говорили, что комфортнее за эту цену уже самолетом лететь. Даже в Крыму, когда снимал жилье, хозяева удивлялись, что я приехал сам на автомобиле.

Из Киева в Крым GPS предлагал ехать через Смелу, Кировоград, Николаев, Херсон. Если я не ошибаюсь, это основная дорога в этом направлении. Но некоторые ее участки просто не предназначены для такого пользования. Первый момент - это очень узкий мост. На нем даже две легковые машины не поместятся одновременно. Но самая большая боль автомобилиста - участок дороги с полным отсутствием дороги. Google считает, что его можно проехать за 20 минут. Реально же это займет чуть меньше часа. Компьютер в машине мне показал, что средняя скорость на этом участке у меня была 25 км/ч. Если водитель любит свой автомобиль, быстрее ехать не будет. Обочина здесь ровнее самой дороги. И даже рейсовые автобусы едут по встречной обочине...

"Как ты, Бель?" ©


21 липня 2013

[Russian] Авто-тест, запускающий себя через GitHub

Сразу хочу предупредить, что данный код писался для собсвенного удовольствия и практического применения не имеет. Авто-тест открывает в браузере GitHub репозиторий самого себя, находит свой код на странице - и запускает его. Для написания авто-теста использовался PHPUnit, phpunit-selenium (Webdriver), и велосипед самописный "микро-фреймворк". Для ознакомления с реализацией, возможностями и скринкастом моего велосипеда прошу под кат.

Немного предыстории

Как показала практика, львиную долю времени при написании авто-тестов занимает написание и поддержка локаторов для элементов страниц, в каком бы виде они не были у вас представлены: XPath, CSS selector, etc. Почему бы не позволить добавлять, редактировать и удалять их прямо во время запуска теста? С этой идеи и началась разработка моего авто-фреймворка.

Что мой фреймворк умеет?

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

Покрыт unit-тестами. А также позволяет покрывать unit-тестами добавляемые классы страниц. Фреймворк старается следовать принципам SOLID, и класс страницы содержит тяжелый класс сессии (PHPUnit_Extensions_Selenium2TestCase) лишь как внешнюю зависимость.

Имеет все "плюшки" PHPUnit фреймворка. Нужен метод setUp() или tearDown()? - Пожалуйста. Нужен метод setUpBeforeClass() или tearDownAfterClass()? - Пожалуйста (В этом случае используется статический метод для создания объекта сессии). В любом из этих методов мы можем продолжать обращаться к selenium серверу.

Использует Composer для установки компонент. Вряд ли это можно преподносить как "фишку" (это уже мейнстрим). Но все же приятно в одну комманду иметь подготовленное для авто-тестов окружение.

Ну и самая главная фича моего маленького фреймворка - возможность редактировать локаторы в runtime. Нужно лишь у объекта страницы вызвать метод debug(). Авто-тест приостанавливает дальнейшее выполнение тест-кейса, открывает popup, позволяющий редактировать локаторы. Все изменения тут же попадают в файловую систему в сериализированном виде (предполагается, что в эти файлы нет нужды заглядывать). При закрытии popup окна тест автоматически продолжает свое выполнение. В общем, лучше один раз увидеть...

Пару слов о рекурсии...

Тех, кто не поленится склонить проект прошу обратить внимание, сколь мало усилий и изменений потребовалось, чтоб написать тест-кейс для двух страниц на GitHub. Файлы в папке var были сгенерированы с помощью описанной выше фичи фреймворка. При написании пришлось столкнуться с тем, что иногда при нажатии на папку/файл навечно зависает лоадер - и не подгружается контент выбранного элемента (для этого были добавлены try-catch блоки в код). Также на Firefox в данном тест-кейсе вылетает исключение "waiting for evaluate.js load failed" (на других сайтах, кроме GitHub, данной проблемы не было). Есть подозрение, что это баг Firefox драйвера, поскольку в Chrome все нормально. Сам тест-кейс определяет свой относительный путь в репозитории, идет по этому пути в GitHub, открывает raw (для упрощения) исходник самого себя, определяет, с какой по какую строчку нужно себя запустить, и запускает с помощью eval().

Послесловие

Четких планов по поводу дальнейшего развития "микро-фреймворка" нету. Как я уже писал выше, код писался лишь для собственного удовольствия. Но предложения, конструктивная критика и push-request-ы будут обязательно рассмотрены.

Скринкаст



P. S. Копия статьи на habrahabr.ru. Мой аккаунт ждет твоего инвайта.

19 листопада 2009

[Russian] SEO things

Я не специалист по SEO, потому в этой статье могут встретиться ошибки и неточности. Но я лишь хотел описать то, с чем мне пришлось столкнуться на личном опыте, то, что мне лично пришлось делать для оптимизации сайта по просьбе моего начальства на сайте savevid.com. Следующие пункты я попытался отсортировать в порядке важности.

Первое, что делается при оптимизации сайта – это проставление мета-тегов на страницах. В частности keywords и description. Я не буду рассказывать, как подбирать содержимое этих тегов, потому как я не специалист в этом. Я лишь вставлял в них то, что требовал SEO-специалист. Насколько я знаю, для этих целей есть множество сервисов, но зачастую подбор этого содержимого – «танцы с бубном». От меня же, как от программиста, требовалось написать админку, с помощью которой можно было бы редактировать содержимое этих мета-тегов. Опираясь на личный опыт, скажу сразу, что этого недостаточно. Часто SEO-специалисту требовалось или исключить вообще какой-нибудь мета-тег (например, robots или copyright), или же поменять порядок их следования. Поэтому админка должна заранее учитывать эти возможности. Но нельзя предоставлять возможность специалисту SEO полностью вручную редактировать head страницы, поскольку в нём еще содержатся важные script-ы и stylesheet-ы – так однажды SEO-специалист вынес стили, предназначенные для IE за специальный тег-комментарий, применяющий код только к IE. Естественно, надо не забывать про кэширование этих мета-тегов, плейсхолдеры, но это уже отдельные темы.

Дубликаты. Очень важно, чтоб ни один заголовок на страницах вашего сайта не повторялся. Также не должен повторяться текст в мета-теге description. Для отслеживания дубликатов на вашем сайте можно воспользоваться сервисом Google Webmaster Tools. Этот сервис также поможет отследить страницы на вашем сайте, открывающиеся слишком долго, а также содержащие ссылки на 404 страницу, что тоже полезно для оптимизации сайта.

Site maps. Проще всего гуглу дать знать о том, какие страницы есть на вашем сайте с помощью карты сайта. Для этого создаётся и регулярно обновляется файл с картой сайта в формате XML. На нашем сайте было 2 файла с картами сайта: sitemap.php – XML формат и sitemap.txt. В последнем файле было просто множество самых часто посещаемых ссылок сайта, каждая в новой сточке – честно, не знаю, зачем нужен этот файл.

W3C validation. Сейчас уже почти все сайты следят, чтоб их HTML код был «валидным». Как минимум, это помогает правильному одинаковому отображению страниц во всех браузерах. Но не стоит забывать, что на SEO оптимизацию это также влияет. С «невалидным» кодом мне пришлось столкнуться в теге embed. Это ошибка, которую часто можно встретить на сайтах – в тег embed вставляют атрибуты, которые не предусмотрены спецификацией. Как правильно преобразовать embed в object можно прочитать здесь.

Иерархия HTML тегов, в частности, заголовков h1-h7. В зависимости от структуры сайта могут быть нюансы. Так, например, заказчик требовал, чтоб подзаголовок страницы, который у нас находился в теге h2 также не повторялся на разных страницах.

Статьи. Давно уже не секрет, что уникальный контент приветствуется поисковиками. Именно потому важно иметь на сайте «качественный» вручную наполненный текст. Это могут быть статьи, блог, форум. Но главное, чтоб текст больше не встречался нигде в интернете.

Правильные url-ы. Часто можно видеть на сайтах ссылки вида http://example.com/dir/subdir/subsubdir/sssdir/ssssdir/1/2/3. Но это неправильно с точки зрения SEO. Допустим, pagerank страницы http://example.com/ будет 4, тогда pagerank страницы http://example.com/dir/ будет не больше 4, а pagerank страницы http://example.com/dir/subdir/ не больше, чем pagerank страницы http://example.com/dir/ и т. д. То есть, если мы хотим увеличить pagerank наших страниц, достаточно просто вынести их на внешний уровень. Нашу ссылку можно, например, сделать такой: http://example.com/dir-subdir-subsubdir-sssdir-ssssdir-1-2-3.

Long tail keywords. Есть много статей, посвященных этой оптимизации. Поэтому останавливаться на ней отдельно не буду. Подчеркну лишь, что это способ завоевать трафик благодаря более специфическим для сайта запросам.

Pagination. Каждый сайт, имеющий достаточно большое количество страниц, наверняка имеет пейджизацию. Здесь я не скажу ничего нового – всё уже сказано выше, только специфика пейджизации объединяет несколько пунктов:
  • дублирование страниц; у вас не должно быть две первых страницы, как это есть на многих сайтах; например, http://example.com/archive/ и http://example.com/archive/1 – одна и та же страница, а url разный, соответственно, поисковик считает, что у вас на сайте 2 одинаковых страницы; выход – убрать с сайта одну из двух страниц, не забыв, где надо, подредактировать ссылки;
  • дублирование заголовков; чтоб избежать этого, часто добавляют в заголовок страницу, например, “Альбом песен”, “Альбом песен – 2” и т. д.
  • правильные url-ы; например, лучше http://example.com/archive-2, чем http://example.com/archive/2/ и т. д.
  • «пустой» контент; не должно быть страниц, не имеющих содержательной части; например, если у вас за 21е число нет ни одной записи (видео/объявления – в зависимости от того, чем наполнен сайт), то вместо страницы за 21е число должна быть 404 страница, и ссылок на неё не должно быть также.

Nice/Clean urls. Суть этого пункта состоит в том, чтоб делать url-ы в браузере более «человечными». То есть, имея на сайте базу с видео, правильным будет использовать в url-ах страниц на видео названия этих видео, а не id из базы. Например, ссылка http://example.com/when-it-was-me-paula-deanda.html – более удачная, чем http://example.com/video-702032.

Есть еще много вещей в SEO, о которых я здесь не написал. Поскольку, во-первых, всё, что есть в SEO в одну статью поместить нереально, во-вторых, как я говорил, я не специалист в SEO, потому о многих вещах могу не знать. Так, например, у нас на сайте были ссылки “previous/next day”, которые SEO-специалист попросил изменить на “previous/next day videos” (поскольку сайт был посвящен видео). Потому я не советую полностью отказываться от помощи специалистов по SEO, им лучше знать, что на вашем конкретном сайте можно еще улучшить.

19 серпня 2009

[Russian] Взлом "Счастливого Фермера"

Многие зарегистрированы на сайте В Контакте (если верить их данным, больше 40 миллионов). А среди них почти 6 миллионов играют в "Счастливого фермера". Эта статья предназначена для тех, кто хоть немного интересовался интерактивными играми В Контакте и имеет представление о HTTP запросах в браузере.
Меня, как программиста, в первую очередь интересовало написание программы, которая бы играла автоматически. Как-то раз я уже взломал приложение "Коктейль другу", "напоив" себя и друзей до отказа коктейлями (при чем, отправителя и коктейль можно было задать абсолютно любыми). Так, например, ради прикола напоил знакомую коктейлем "Рыжая шлюшка". Но в этом приложении всё было легко: id отправителя, получателя и коктейля были заданы прямо в запросе к серверу, без какой-либо авторизации и проверки на наличие средств на коктейль. Как побочный эффект, деньги снимались у получателя этих коктейлей.

Я пытался много раз взяться за "Счастливого фермера". Но раньше меня останавливала незнакомая мне библиотека AMFPHP, которая используется в этом приложении. Дело в том, что для написания роботов я всегда пользовался Firebug-ом (plugin-ом для Firefox). Этот плагин отображает все посылаемые серверу запросы и ответы сервера (с помощью этого плагина также можно определять ссылки на все видео и аудио, которые Firefox загружает на странице). Но в случае с AMFPHP Firebug при любом запросе отображал:

http://vkfarm.elex-tech.us/myfarm/data/gateway.php
amfphp and this gateway are installed correctly. You may now connect to this gateway from Flash.
AMF C Extension is loaded and enabled.
Note: If you're reading an old tutorial, it will tell you that you should see a download window instead of this message. This confused people so this is the new behaviour starting from amfphp 1.2.
View the amfphp documentation
Load the service browser

Именно это меня раньше и останавливало. Я долго не мог найти библиотеки, работающей с AMF. LupineDreamer посоветовал мне поискать среди framework-ов, в частности symfony и zend framework. В обоих framework-ах уже реализованы plugin-ы, работающие с AMF, и базируются они на библиотеке SabreAMF. Установил, разобрался в необходимых для моего скрипта вещах (кодирование своих данных для запроса на сервер, декодирование посланного на сервер запроса запроса).

Исходники "Фермера"
После первого запроса приложения на сервер возвращается некий secretid, который в последующих запросах передаётся на сервер в переменной auth или ca. Так же в последующих запросах на сервер посылаются переменные t и k, где t - локальное время, а k - MD5 подпись, сгенерированная приложением на основании id пользователя, t, auth и результата функции Encrypt.getKey (мне так и не удалось узнать, что она возвращает). Потратил много времени для поиска способа автоматической генерации k: искал на форумах, компилировал исходники - у меня результат функции Encrypt.getKey был всегда null, но, судя по всему, в приложении он не null. Привожу код, декомпилированный с помощью Flash Decompiler Trillix:

...
loc6 = getSystemTimestamp();
arg3["k"] = MD5.calcMD5(FarmModel.instance.uid + FarmModel.instance.authcode + Encrypt.getKey(Command) + loc6);
...

public class Encrypt extends Object
{
...
public static function getKey(arg1:Class):String
{
var loc2:*;
var loc3:*;
var loc4:*;
var loc5:*;
var loc6:*;
var loc7:*;
var target:Class;
var xml:XML;
var xmlList:XMLList;

xml = null;
xmlList = null;
target = arg1;
xml = describeType(target);
loc4 = 0;
loc5 = xml;
loc3 = new XMLList("");
for each (loc6 in loc5)
{
with (loc7 = loc6)
{
if (hasOwnProperty("@key"))
{
loc3[loc4] = loc6;
}
}
}
xmlList = loc3;
if (xmlList.length() > 0)
{
return xmlList[0].value;
}
return null;
}
...

Всех, кто добьётся хоть каких-то результатов в автоматической генерации k, большая просьба связаться со мной.
Без правильного ключа k сервер отдаёт ошибку "auth code error". Потому мне приходилось использовать значения k, t и auth, сгенерированные браузером. Как я уже говорил, Firebug не помогает при работе с AMFPHP. Потому я воспользовался другим приложением: Charles. Очень советую это приложение всем, кому нужно перехватывать запросы браузера. Вот только незарегистрированная версия работает 30 минут, потом приходится перезапускать. Из Charles я брал значеня k, t и auth, вставлял в свой скрипт, после чего получал возможность выполнять запросы. Но после выхода из аккаунта В Контакте или повторной загрузке страницы с приложением "Счастливый Фермер" ключи переставали быть действительными. Поскольку запуск Charles и копирование k, t и auth занимали много времени, я воспользовался другим способом: установил Tamper Data (plugin для Firefox), который перехватывает все запросы. Копировал запрос, содержащий k, t и auth в свой скрипт, потом с помощью SabreAMF вытягивал k, t и auth. Это занимало намного меньше времени, чем запуск Charles. Я думал, что большего не смогу добиться, но тут у меня появилась идея!

Plugin для Firefox
Да, идея до ужаса простая - написать plugin для , который будет сам отправлять мне запрос, содержащий k, t и auth. Потратив несколько дней, разобравшись с ANT-ом, XUL-ами, некоторыми class-ами и interface-ами компонентов Firefox, покопавшись в коде plugin-ов Tamper Data, LiveHTTPHeaders, QuickProxy, (потому не удивляйтесь, если вам покажется, что мой plugin вам покажется похожим визуально на QuickProxy и целый класс моего plugin-а взят из Tamper Data) мне удалось создать то, что я хотел. Итак, мой plugin в фоновом режиме запросы, посылаемые к приложению "Счастливый Фермер", а также некоторые настройки пересылает на мой сервер. На моём сервере сохраняются: id пользователя, k, t и auth, настройки пользователя. На сервере (на самом деле это мой локальный компьютер пока что) у себя я установил службу Cron NT service, которая периодически запускает робота на сервере. На данный момент робот на сервере проходит по всем друзьям пользователя и (в зависимости от настроек, выставленных в plugin-е) помогает (выпалывает, поливает грядки, уничтожает вредителей) и/или крадёт товар (фрукты, овощи, яйца, молоко). Робот работает только для тех пользователей, которых я сам добавлю в свою базу данных.

Робот эффективен, если у вас большое количество друзей, и вы тратите уйму времени на то, чтоб пройтись по всем друзьям - робот делает это за вас.

В дальнейшем планирую:
1. Увеличить объем возможностей робота (добавить кормление живности и т. д.)
2. Перенести всю серверную часть в plugin.

23 липня 2009

[Russian] Get score from WAV - ноты любой песни на вашем компьютере

Искал в интернете корверторы аудио форматов под Linux. Очень удивился, когда нашел конвертор Waon: WAV -> MID. Решил побаловаться с этой штукой.

Первый тест был на инструментальной фортепьянной музыке
1. Ehma - Crysalida
Поскольку почти вся музыка на моём компьютере в формате MP3, то сначала мне приходилось конвертировать MP3 -> WAV. Делал это я другим найденным конвертером под Виндой t@b Media Converter (думаю, можно найти немало других). Тест могу назвать успешным. Отклонения, конечно, есть, но их не так много, как было в следующих моих тестах.

Потом я решил усложнить задачу, попробовал сконвертить
2. The Prodigy - Omen
3.
Pendulum - Hold Your Colour
4. Timo Maas - First Day

Если во 2-ой и 4-ой композиции хоть как-то можно было узнать мелодию, то конвертация 3-ей композиции завершилась полным провалом: ничего общего с оригиналом я не нашел. Но на этом я не остановился. Я вспомнил про такую чудесную программу, как Finale 2003 (сейчас уже есть более новая версия Finale 2010), которая умеет отображать MID-файлы нотами. Дополнительное удобство состоит еще в том, что Waon при конвертации делает только один инструмент - фортепиано, что позволяет партитуре выглядеть не очень громоздкой (для сравнения, я когда-то пытался открыть этой программой "навороченный" MID-файл - партитура выглядела устрашающе). Могу с уверенностью заявить, что даже во 2-ой и 4-ой композиции можно в этой партитуре отыскать основную мелодию, не говоря уже о 1-ой композиции, которую, подредактировав, можно сыграть полностью.


Итак, подводим итоги. Указанный метод позволяет:
а) производить конвертацию MP3 -> WAV -> MID.
б) получать качественные результаты для инструментальных треков (особенно фотрепьянных), с ярко выраженными партитурами инструментов.
в) получать ноты ваших любимых песен.

Для указанного метода использовались:
ОС: Windows XP Home Edition, Linux Ubuntu 9.04
Software: t@b Media Converter (Windows), Waon (Linux), Finale 2003 (Windows)
А также VirtualBox 3.0.2 для совмещения Linux и Windows на одном компьютере и обмена данных между ними.

26 червня 2009

[Russian] Хреновая страна!

Началось всё с обходного листа, который надо подписать для получения диплома. Первый "ляп" был в ректорате. В обходном листе есть пункт "Бухгалтерія (корпус ректорату)". Ну мы с одногруппником, как культурные люди, решили искать этот самый кабинет бухгалтерии. Он оказался в 4м кабинете! В корпусе ректората мы раза 2 обошли все этажи, так и не найдя этого самого 4го кабинета. Зашли в 5й кабинет, спросили, где находится 4й. Нам сказали, что соседняя дверь... Тут без комментариев - фотка прилагается:



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

Следующим пунктом надо получить справку со второго оттела красного корпуса (написано "для чол." - значит, военкомат и т. п.). Приёмные дни в военкомате - вторник (с 10 до 14) и четверг (с 15 до 18), перерыв с 13 до 14. Имею опыт получения загран. паспорта: оформлялся где-то в марте, и знаю, что заняв очередь в 7 утра во вторник можно надеяться, что до 13:00 успеешь попасть в кабинет. А люди у нас в стране организованные - находятся энтузиасты, создающие список, по которому потом и формируется очередь. Насколько я помню, за день в военкомате в марте принимали не больше 50 человек. Сделав поправку на то, что сейчас у всех выпуск, потому призывников там будет больше, решили приехать с друзьями в военкомат к 6 утра. Встали в 5 утра, в 5:30 выехали, в 6 были там. Возле военкомата застаём следующую картину:



Естественно, список был. Мы записались в список... я был 116м. На вопрос у одного человека "со скольки здесь стоишь" был получен ответ "с часу ночи - в списке 44й". Тогда мы поинтересовались, во сколько же пришел первый человек, на что нам ответили, что очередь начала формироваться в 11 часов вечера, в понедельник. На фотке можно видеть людей, играющий на покрывале в карты, а чуть дальше за столбом парень спит прямо на асвальте, подложив под голову рюкзак. И я не буду говорить о том, что автоматизировать эту всю систему очень просто. Только это никому не нужно: будет потеря рабочих мест и денежные доходы от коррупции уменьшатся.

Как вы считаете, это нормально? Да мы в этой стране никогда не будем жить хорошо, пока у нас будут такие очереди! Да, я знаю - я не патриот. Но разве можно любить страну, которая о тебе лично НИКАК не заботится?

"Кто сказал, что моя отчизна Украйна? Кто дал мне ее
в отчизны? Отчизна есть то, чего ищет душа наша, что милее для нее всего.
" (с) Гоголь "Тарас Бульба"

27 квітня 2009

[Russian] Bonnie & Clyde

...
У меня в машине тонированные стёкла. Поэтому ночью вообще не видно, что в машине происходит. Сидели мы вместе, слушали музыку. Тут рядом останавливается машина, и я четко слышу стук в наше стекло. Так как было темно, то я тоже не мог разглядеть, что именно за машина стояла рядом. Решил немного выждать. Стук повторился. Пришлось открыть окно. Рядом стояла ментовка. Мент попросил предъявить документы. После получаса препираний с ментами, они всё-таки уехали. Даже не смотря на то, что у Альки не было документов при себе. Они, наверное, еще раньше бы уехали, если бы Алька на них не орала ("На каких основаниях?" и т. п.). А причина приезда ментов была до ужаса проста: кто-то из прохожих, увидев мою машину, позвонил в милицию и сказал, что стоит подозрительная машина, возможно в ней происходит что-то противозаконное. Вот такие у нас сознательные граждане в Киеве живут. А милиция у нас тоже хорошая - проверили и уехали, не требуя даже взятки! Они просто выполняли свою работу. Только угрожали, правда, что заберут в участок - наверное, просто хотели запугать. После этого случая Алька называет нас Бонни и Клайдом.