История одной жадности или IQ тест на Хабре

June 27th, 2011

Kindle - Развод на Habrahabr-e.Большей части населения этой планеты читалка электронных книг не нужна. Кстати, не нужна она была раньше и мне, но как раз в пятницу заказал себе Kindle на amazon.com, в свете появления интереса к ряду книжек .. Тем обидней было вчера вечером (через день после покупки) увидеть на Хабре объявление о продаже на ebay-e Kindle 3 3G/WIFI по цене $30 ;)
Еще одна случайность – знакомая Светланы расспрашивала о том, где можно дешево купить читалку.
В нашему случае история закончилась благополучно – нам хватило мозгов понять, что нельзя человеку советовать клевать на эту аферу.. Но, как оказалось, публика на Хабре не сильно отличается и таковой на SE.ру. Итого, более 1к людей попались на этот душевный развод.
Деньги им, наверняка, вернет paypal. Как минимум потому, что аккаунта, на который они переводили деньги, не существует (да, такое возможно в paypal).
Более занимательным является тот факт,что люди были готовы купить всё что угодно, даже ненужный им, наверняка, Kindle с навязчивой рекламой. Такой Киндл стоит чуть больше 100 долларов на самом амазоне, так что, будь желание и необходимость, человек бы мог уже сто раз приобрести себе девайс, но массовая истерия началась как раз тогда, когда кто-то выставил его за 30 долларов, с _бесплатной доставкой из Австралии_ :)
Может быть это чья-то дипломная работа по психологии? :)

Yii CFileCache Performance Issue [Solved] – Проблема с резким ростом нагрузки при использовании CFileCache во фреймворке Yii

June 21st, 2011

Проблема с нагрузкой в модуле CFileCacheИтак, похоже, найдена еще одна супер-тупая недокументированная фича класса CFileCache в моём “любимом” фреймворке Yii. Страницы некоторых “действий” (actions) кешируются целиков в файлах на ФС с помощью CFileCache.
Суть проблемы в том, что, по прошествии суток после начала работы нашего “facebook-проекта” на новом движке, начала по экспоненте расти нагрузка. На решение проблемы было убито более суток… Должен отметить, попутно разобрался с рядом мелочей, которые давно доставляли мне неприятности, в частности, с отсутствием на сервере нормальной системы мониторинга (отсетапил себе nagios).
Так вот, дело в том, что в классе CFileCache есть protected метод flushValues, вызывающий “уборщик мусора” $this->gc(false);
который (какая гениальная идея!) проходится рекурсивно по директориям и удаляет файлы, время действия кеша для которых истекло. Учитывая 10-20 запросов в секунду, которые создает мне googlebot и другие обитатели сети, количество файлов в каждой папке, даже при 3-уровневом файловом кеше, зашкаливает и в этот момент сервер уходит в глубокий коматоз. То, что причина не в mysql, было понятно почти сразу – mysql жрет кучу ресурсов, даже после memcached, но нагрузку основную я ощущал именно на диске, потому как переставали выполняться любые команды, даже такие как date, uptime, не говоря уже о ls и df ;) А mysql-базы находятся на другом диске с raw разделе и в этот момент сам mysql не показывал ни одного нового запроса по show processlist. Стало ясно, что проблема где-то в апаче, а точнее – в софте, так как от предыдущей версии софта, текущая версия отличалась лишь использованием yii… И жесткая нагрузка диска давала намёк на то, что трабла как раз в механизме кеширования. 2й раз полез в исходники CFileCache и обнаружил, упомянутый выше, собрщик мусора с рекурсией. Завтра утром станет понятно, насколько точны мои расчеты и насколько эффективным оказалось решение проблемы.

Yii Framework не работает с БД без PDO

April 16th, 2011

В контексте масштабирования нового сайта на дополнительные 2 сервера столкнулся с очередными проблемами, теперь Yii отказывался работать с mysql без установки PDO.
Просто не забудьте поставить

sudo apt-get install php-pear [если он у вас еще не установлен, конечно]

sudo pecl install pdo
sudo pecl install pdo_mysql

ну и, для сборки, мне еще понадобились хедеры клиента мускула:

sudo apt-get install libmysqlclient15-dev

Всё, правка кронтаба и в путь – выжирать новые мегабиты на webazilla-e.

Проблема с OpenSSH – “Protocol major versions differ: 2 vs. 1″

April 16th, 2011

При попытке установить беспарольное соединение между 2-мя серверами на ubuntu (8.04 vs 9.*), выскочила такая ошибка:

Protocol major versions differ: 2 vs. 1
lost connection

и соединение, ясень пень, сразу же разрывается. Что бы все-таки законектиться можно добавить ключ “-1″ на машине отправителе (отправитель – это система на 9й убунте с 5м openssh-ем на борту, получатель – система на 8й убунте с 4.7 openssh), другими словами, можно сделать так:
ssh -1 source_file user@remote:remote_file
но при этом мои rsa ключи, сгенерированные для других серверов, для этой пары не работали.
Начал гуглить и откапал решение. Оказывается, 1ая версия протокола ssh использует другие ключи, а именно rsa1.
Для их генерирования используем команду

ssh-keygen -t rsa1

Ключик получился немного непривычным на вид, но отличия еще в том, что создаются файлы с непривычными названиями:
identity и identity.pub.
По аналогии, точнее, по привычке, перенес identity.pub на сервер-приемник, добавил в конец /home/$user/.ssh/authorized_keys и … получилось!

Надеюсь, по заголовку поста кто-то найдет эту страницу и она ему поможет.

UPDATE:
что бы rsync использовал 1й протокол, все-таки оказалось нужным раскомментировать строку
Protocol 2,1
в /etc/ssh/ssh_config
теперь ssh клиент сам определяет, когда нужно использовать 1ую версию протокола, а когда вторую.

Короче, проехали – работает.

Как отключить updatedb

October 12th, 2010

Очень просто – добавьте в список исключенных директорий (переменная PRUNEPATHS в файле /etc/updatedb.conf) корневую директорию “/”.
Актуально для серверов с большим количеством файлов, в индексации которых нет смысла.

‘Lost connection to MySQL server at ‘reading authorization packet’, system error: 0′

May 18th, 2010

'Lost connection to MySQL server at 'reading authorization packet', system error: 0'Если у вас возникает такая ошибка
'Lost connection to MySQL server at 'reading authorization packet', system error: 0'
при попытке соединиться с mysqld, знайте – проблема с сетью :)
В моём случае суппорт corenetworks.net оказался умнее меня.. Ребята заметили, что последние дни мои 10мб/сек забиты на 100%, с чем и было связано возникновение это ошибки. После подключения сервера в 100мб порту всё решилось.

Hosting.ua: клиенты-идиоты или естественный отбор

March 31st, 2010

Hosting.ua: клиенты-идиоты или естественный отборНа форуме недоразвитых Willy-диотов очередной кипиш, у сеонизаторов накрылся хостинг. Скажу точнее – он физически сгорел… В славном городе Одессе какие-то лохи купили домен hosting.ua и разместили сервера в помещении, где в прошлую пятницу возник пожар такой силы, что расплавились стойки с серверами. Имеется так же множество идиотов, которые мало того, что пользовались этим сервисом, так еще и держали бекапы у этих же даунов. В результате, горе-осенизаторы остались не только без говносайтов, а и без говнобекапов.. Я гнусь от смеха, когда читаю, что чей-то “крупный проект” недоступен уже 4й день и это трагедия.. Блин, Вася из 10ого А, если у тебя крупный проект, че ты не позаботился о том, что бы бекапить БД и сайт хотя бы себе на почте, или, как делают белые люди, просто арендовать под эти нужды сервер на левой площадке. Отличные предложения есть как у hqhost, так и у kiloservers.
Короче – мир без пары сотен говнопроектов стал чище, а толпень осенизаторов лишилась серверной девственности.. Если Вам хочется окунуться в круг 15-летних школьников – велкам ту searchengines.ru

ip2long & long2ip возвращают разные значения под x86-32 и x86-64

February 5th, 2010

ip2long & long2ip возвращают разные значения под x86-32 и x86-64Различия приводят к тому, что одно и то же приложение может просто перестать работать.
В результате, вместо значения 127.0.0.0/22, скрипт вернул значение 127.0.0.0/135271958, что не одно и то же :)
Причины лежат в различиях типов, так как в x64 тип int по умолчанию UNSIGNED.

Как получить инвайт на Хабр? Очень просто!

January 19th, 2010

Как получить инвайт на Хабр?  Очень просто!Эти вопросом я вскользь занимался чуть больше месяца. Где-то спрашивал, где-то Google-ил, где-то думал (и такое бывало)… И вот сегодня, я – счастливый обладатель аккаунта на Хабре.
Во-первых, для чего это нужно? Всё просто. Хабр, это своего рода бизнес-комьюнити. Не просто место для трепа, а еще и среда для поиска и фильтрации информации на IT-тематики. Можно много чего почерпнуть и, более того, продвинуть, прямо или косвенно, свой проект. Одно другому не мешает, бизнес + личный интерес = чумовая смесь..
Вернемся к тому, ради чего Вы, уважаемый читатель, дошли до этих строк.
Ответ на вопрос “как получить инвайт” прост – придумайте что-то интересное и найдите кого-то, кто рискнет опубликовать вашу статью от своего имени.
Как вообще появляется инвайт на Хабре? Если я правильно понял, инвайт дают тому (в частности), кто отметился статьей, попавшей на главную страницу сайта. Таким образом, если Вы пишите статью, хаброчеловек её размещает и она попадает на главную – он получает инвайт и даёт его Вам. Он – получил (дай-то Бог) дополнительную карму, Вы – получили инвайт и (если вас указали в последствии, как автора статьи) тоже приобрели стартовый заряд кармы. В результате – все довольны.
Таким Хабрачеловеком (с большой буквы) оказался Алекс Снэт, который подарил мне инвайт, полученный за размещение моей статьи, под названием 5 крупных проектов и стартапов, провалившихся в 2009-м году благодаря Google. За что ему очень признателен.
Хотите инвайт? Всё просто – пишите статью и ищите того, кто выкроит для Вас минутку и рискнет кармой.

Обзор форумов – СЕ.ру

January 14th, 2010

Обзор форумов - СЕ.руНаболело… Решил я затронуть тему, которой не часто касаются в РУ-нете. Исторически так сложилось, что я 9й год работаю онлайн и большАя часть рабочего времени проходит на различных форумах. Некоторые я посещаю “из интереса”, некоторые нужны “по работе” и так далее. Решил я поделиться своим мнением о самых заметных из них и начать хочу с пресловутого forum.searchengines.ru (он же СЕ.ру).
Про него слышали все, многие видели и очень многие там даже живут.
Это тот форум, на который я захожу в поисках сообщений 2х-3х интересующих меня людей, чьи слова для меня – на вес золота. По ходу дела, могу просмотреть и самые популярные темы. В октябре прошлого года на разделе “Гугл” появилась тема с названием “Бесплатный аудит сайтов: анализ страниц под Google”. Создал её некий Willie, который, к тому моменту, на форуме не провёл и года. Человек, судя по сообщениям, “ни в зуб ногой” в том, о чем о пишет на форуме. Ответы его носят смысловую нагрузку, равную, на мой взгляд, пьяному бреду шамана, прыгающего с бубном под луной. В теме его поддерживает некая “Nadejda”, сообщения которой несут примерно такую же нагрузку.

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

Дело в том, что и другие разделы СЕ.ру носят подобный характер. Я вижу, что это закономерность – форумы, ориентированные на новичков, со временем превращается (без контроля) в мусорный бак, куда несостоявшиеся “оптимизаторы” начинают брызгать слюной. А на этом форуме контроля нет и не предвидится.

(всё сказанное выше – лишь моё ИМХО. меня на этом форуме никто не трогал, я лишь сторонний наблюдатель там с 2003-его года)

Для владельцев англоязычных стартапов

January 7th, 2010

Для владельцев англоязычных стартаповМеня всегда удивляло – почему владельцы стартапов, ориентированных на иноязычную аудиторию, не могут заказать для сайта нормальный перевод текстов?
Люди, которые могут реализовать сложнейшие проекты, обладающие отличной фантазией и умеющие организовать “производственный процесс”, не могут при этом обеспечить свой ресурс нормальными текстами… Представьте себе, вы заходите на русскоязычный сайт и видите интересующий вас, продукт, а описание продукта написано каким-то, прости Господи, “таджиком”. Ну это ж писец :) Вы там что-то купите? У меня, как минимум, буду сомнения на тему “кинут/не кинут”. Ведь если тексты не смогли сделать нормально, то почему я должен быть уверен, что владельца сайта люди “суръезные” :) . Многие считают, что “в СССР была лучшая система образования” и убеждены, что хорошо владеют языком. Иногда так и есть, но в 9 случая из 10 люди никогда не проверяли это не практике. Для бОльшей части населения Родины позвонить в англоязычную службу поддержки и поболтать 3 минуты – это уже барьер непреодолимый..

Стоимость вычитки текста носителем языка на getafreelancer.com или на моём любимом elance.com колеблется в диапазоне от 50 долларов до 100 за 5-6 страниц технического текста. При чем предложений по 50-60 долларов будет намного больше, чем по 90-100. Смотрите на отзывы и заказывайте. Неужели на это ни у кого не хватает смекалки?

Как вы решили для себя проблему перевода текстов на своих сайтах?

View Results

Loading ... Loading …

Пофиксил проблемы с SMTP при регистрации на блоге

January 3rd, 2010

Email vs OpenIDТак увлёкся прикручиванием OpenID авторизации к блогу, что не заметил, как smtp сервер перестал отсылать посетителям логин/пароль после регистрации обычным способом (без ОпенАйди).

Спасибо Сергею за своевременное извещение!

Кстати, мне сейчас намного больше нравится авторизация через friendconnect от Гугла. С ней логиниться можно с реквизитами своего Twitter, GMail или Yahoo аккаунта.

Очередной баг в MySQL

December 25th, 2009

Очередной баг в MySQLЕще одну прелестную новость подарил сегодняшний день.
В одной из хранимых процедур, после переезда на новый сервер запрос работал невероятно медленно. Космически медленно. Вместо тысяч insert/replace в секунду – один insert за 2-3 минуты. Начал копаться в show innodb status и обнаружил, что каждое текстовое значение принудительно конвертировалось в utf8
SELECT id INTO @vI FROM project.table1 WHERE project.table1.word = NAME_CONST('vD',_utf8'by word here' COLLATE 'utf8_general_ci') LIMIT 1;
Решить проблему удалось с 1й попытки – в начале процедуры поставил
SET NAMES ‘cp1251′ COLLATE ‘cp1251_general_ci’;
и объявил переменную как
DECLARE vD VARCHAR(67) CHARSET CP1251;
Как потом оказалось – достаточно было лишь объявить переменную.
Не сложно, но почему сама по себе операция сравнения project.table1.word с NAME_CONST(‘vD’,_utf8′by word here’ COLLATE ‘utf8_general_ci’)
занимала столько времени.
Чушь какая-то.

Лучший способ протестировать нагрузку на стартапе?

December 19th, 2009

Лучший способ протестировать нагрузку?На Хабрахабре есть понятие “хабраэффекта”. В 2х словах – после попадания новости на главную, сайт, на которую ведут ссылки с главной, подвергается нашествию посетителей. По некоторым данным, около 50% проектов падает в первый час после попадания на главную Хабра. Но есть и естественный тестер – это Гугл. Новый сайт с очень хорошими беклинками и множеством новых страниц через пару дней-неделю становится объектом атаки злобного GoogleBot-a. Если ваш сайт очередной раз упал, а Analytics утверждает, что траффика на нем нет – посмотрите на логи веб-сервера, возможно – он даст ответ на вопрос, кто же вас “положил” на лопатки.

Кстати, может у кого-нить всё-таки есть инвайт на Хабр? Ну очень нужен..

Фрилансеры – почему так мало нормальных?

December 13th, 2009

Фрилансеры - почему так мало нормальных?Мне обычно везло с фрилансерами… Ну да, именно везло. Удавалось отсеять идиотов и процент брака, кидков и т.д. был минимален. Всю серверную часть привык делать сам. В конце-концов, может специалист я и хреновый, но есть 9 лет практики и, в том числе, какой-никакой опыт работы high load проектами. Писать серверную часть самому, во-первых, безопасно, во-вторых – удобно. Любой баг правится со скоростью, пропорциональной моим навыкам, а не навыкам непонятно кого + время на поиск этого самого “непонятно кого” + вероятность того, что “непонятно кто” занят или просто положил на меню болт. Ну да ладно, это лирика. Но шарить во всём – невозможно. Дизайн, флеш, сложная вёрстка, proofreading текстов – всё отдаю и всегда отдавал фрилансерам. Так вот…
Столкнулся недавно с одним горе-человеком [Владимир Кравченко, icq 325816102, ник vovchik33, skype unclejoe33, тел. 80988135494, аккаунты на free-lance.ru: vovchik33 (уже заблокирован, без моей помощи) и unclejoe33 (уже 2 отрицательных отзыва), судя по Гуглу - программист-аспирант из Севастополя (Ассистент кафедры информатики и прикладной математики, Криворожский государственный педагогический университет] Заказал проект (флеш/flex), сроки были задержаны в 3 раза, но все же в результате проект был сдан. Если в 2х словах – как специалист – цены ему нет. Идеи предлагал хорошие, код пишем грамотно. Во многом из-за этого заказал ему еще 2 проекта и перевел предоплату в надежде на то, что “лучше сбить сроки в 3 раза, но получить качественный продукт”.
В общем, спец он хороший, но как человек – треш :( . Еще никто мне больше 15 раз не врал, что работа кипит и “завтра покажу”. Общался и голосом и в аське – слов дофига, результата – ноль. Заканчивается тем, что работы нет, предоплаты нет. Уверял, что денег нет совсем, ни онлайн ни нала, что бы вернуть предоплату.
После того, как мною был оставлен ему на фрилансе негативный отзыв, Владимир начал меня шантажировать:
Но если вы считаете, что вправе оставить мне негативный отзыв потенциально нанеся мне финансовый ущерб (потеря некоторых заказов по причине наличия вашего негативного отзыва), то я буду считать, что вправе оставить себе предоплату как плату за проделанную мной работу (обсуждение и изучение деталей проекта, поиск путей решения, начало разработки модулей которые должны были стать частью проекта).
Отлично, то есть за 2 месяца не показать никаких результатов – он вправе. За 2 месяца полтора десятка раз соврать – он вправе. Пообещать отдать деньги, если не справится с работой до позапрошлого понедельник – он вправе. Не отдать деньги – он вправе. А я, значит, отзыв ему не могу оставить? :) Супер!
Я все еще удивляюсь, откуда берутся такие добло%бы.. Ну раз повезло, что мозги есть – надо ж этим пользоваться. Как же можно до такого возраста дожить и позволять себе кидать заказчиков на авансы. Трепать языком как помелом. Обещать одно, делать другое… Ну разве это жизнь, что бы потом дети такое читали про тебя онлайн. Писец какой-то. Обидно и жаль.

ps: деньги человек отдал, но такого ЧМО я уже давно не встречал. Разве что крендель-кидала под ником Psyanim (Склепов Вадим, icq 408528369 ) с того же фриланса, но это уже совсем другая история…

dbForge Studio – мой выбор. И пару слов о MySQL

December 9th, 2009

dbForge Studio - мой выбор :)В новом проекте всё завязано на базе. Очень большие объемы информации нуждаются в тщательной проектировке и отладке. Впервые возникла необходимость в средстве визуальной проектировки БД. Выбор сделал в пользу dbForge Studio и, думаю, оказался прав. Софт писали люди, которые определенно им будут пользуются сами. Очень качественный продукт, всё продумано, стандартная привязка клавиш. Никаких сюрпризов – сел и начал работать. Руки сами знаю, что и где спрятано. Что особенно понравилось, так это отладка хранимых процедур, да и само создание процедур реализовано очень удобно. Короче – супер!

Часть 2 или “программист растёт вместе с объемами его баз данных”.
Когда объем записей увеличивается в 10 тысяч раз – программисту приходится расти и самому. Уже давно не позиционирую себя как программера, но все-таки всю серверную часть пишу самостоятельно из соображений дальнейшей поддержки софта, да и вообще – это удобно, безопасно и держит в тонусе. Продвинулся за последние 2 недели в вопросах кодировок (особенно китайских GBK, big5)..
Обнаружил не очень-то хорошо документированную необходимость указывать у формальных параметров хранимой процедуры CHARSET UTF8 после, к примеру, VARCHAR(255), иначе в базу данные попадают, проходя через процедуру, в виде знаков вопроса. Вроде всё, движемся дальше…

memcached (как прослойка между php и MySQL) для чайников

November 22nd, 2009

memcached (как прослойка между php и MySQL) для чайниковСегодня большой день, я прикрутил, в конце концов, нормальное и близкое к “продакшн” решение для кеширования между php и DB (mysql). Выбор мой пал на memcached (http://danga.com/memcached/). Система эта была разработана для ЖЖ, но теперь используется и на ряде других проектов, в том числе на LiveJournal, Wikipedia, Flickr, Bebo, Twitter, Typepad, Yellowbot, Youtube, Digg, Wordpress, Craigslist, Mixi и тысячах других к нашему проекту Free Ringtones. Нагрузка там, к счастью, имеет обыкновение расти и вот – теперь мне удалось её значительно снизить путем манипуляций, которые заняли не более 3-х часов. Подсказки для начинающий таковы – если вы хотите хранить данные, вытащенные из базы, рекомендую для этого использовать методы, аналогичные getAll в Pear::DB, что бы не пришлось запихивать в кеш результаты запроса построчно. Изначально продумайте возможность распределения запросов на несколько memcached серверов.
Создайте массив $MEMCACHE_SERVERS с айпи адресами серверов
и добавляйте их все в цикле

foreach($MEMCACHE_SERVERS as $server){
$memcache->addServer ( $server );
}

Так же, могу посоветовать ознакомиться с отличным видео, где Андрей Смирнов описывает “на пальцах” основные достоинства библиотеки.

А вот и мои результаты за первые пару минут. Зелёный столбик – это попадания в кеш. Бежевый – это запросы к БД.
     Hits         &          Misses
Зелёный столбик - это попадания в кеш. Бежевый - это запросы к БД.
Как видите – за 10-15 минут я уберёг БД почти от тысячи лишних запросов. Это при том, что для этого проекта использовался еще 1 уровень кеширования, на уровне сохранения готовых страниц в ФС.

Все-таки нашелся Caffeine на 209.85.225.103

November 21st, 2009

Все-таки нашелся Caffeine на 209.85.225.103
Ну, что.. Всем, кто хочет потестить выдачу Google после пресловутого апдейта, корректируйте следующий линк

http://209.85.225.103/search?hl=en&q=red+widgets&start=0&sa=N

Доказано, что по этому адресу находится самая настоящая Caffeine выдача.

Вышла Chrome OS

November 20th, 2009

Вышла Chrome OSНу вот мы и дождались :)
Еще один крупный игрок на рынке или пацент умрёт еще до реанимации?

Исходные коды доступны здесь build.chromium.org/buildbot/archives/chromium.r32502.tgz
Образ для VMware:
thepiratebay.org/torrent/5170843
chromeos-images.s3.amazonaws.com/chromeos-image-999.999.32309.211410-a1.vmdk.bz2

Вот здесь можно ознакомиться с презентационным видео:

А вот еще одно обучающее видео с титрами на испанском :)

Давайте устроим голосование – как вы оцениваете шансы новой ОС от Google на ощутимую (допустим, 5%) долю рынка OS для ПК/ноутбуков к началу 2012ого года?

Шансы Chrome OS заполучить 5% рынка ПК/Laptop ОС к началу 2012 года

View Results

Loading ... Loading …

Славяне – это диагноз? Или “мамо, чому я – хохол?”

November 19th, 2009

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

Мне он очень не нравился весь отбор, но ведь Блохин – не лучше. А если взять иностранца – через 2 года получится как сейчас у России и придется опять начинать всё с нуля. Иностранцу позора не простят, на него проще собак спустить. А сейчас, хоть какая-то команда есть.. и курс был неплохой, молодых много, впервые на каждой позиции есть выбор.
Если так подумать – почему просрали грекам? Имхо, из-за отсутствия опыта у защиты/полузащиты (не считая Тимощука).
Кобин, Хачериди, Михалик – лажали всю игру. Имхо, когда гол забивали греки, держать нападающего должен был, горячо всеми любимый, Хачик. Вот с Англией хорошо откатали, а с греками – не повезло… Молодые – на 3 важных матча их не хватило.. Кто знает, может бы Чигринский отстоял бы лучше.

А на счет России мне не ясно – почему играют полуживые легионеры или игроки середняков… Почему на поле никого из Рубина не было? Спартачи где? Может вам тренера Рубина поставить? Ну, татарина того… Ну, он хоть игры не показывает, но результат даёт, а Гус игроков выпускает не тех, кто играет хорошо, а то пи%деть гаразд, типа Аршавина и Павлюченко