понедельник, 4 февраля 2013 г.

Переезд на blogspot

Перенес блог на блогспот. Все никак не было времени разгрести тучи битых ссылок, картинок, неактуальных постов. С блогспотом есть некоторые проблемы, и первая из них - он мне не очень по душе после wordpress :-) Но все же, я дам ему испытательный период.

среда, 26 сентября 2012 г.

Получение Google suggests на Perl

Недавно ради смеха написал малюсенький скрипт для консоли на Perl. Суть его заключается в том, что вы можете легко и непринужденно получать саггесты гугла, расширенные как справа, так и слева. Скрипт создан в UNIX-style и прекрасно дружит с другими UNIX командами, что позволяет использовать его как звено в цепочке ваший конвейеров.


#!/usr/bin/perl -w

use JSON;
use LWP::Simple;
use URI::Escape;
binmode(STDOUT, ":utf8");

$url = 'http://clients1.google.com/complete/search?client=hp&hl=en&cp=1&gs_id=e&gl=US&q=';
$json = JSON->new->allow_nonref;

while (<>) {
    chomp;
    $_ = get $url . uri_escape($_) or die "Couldn't get suggests for $_";
    s/\)$//; s/window.google.ac.h\(//;
    $resource = $json->decode($_);
    foreach (@{$resource->[1]}) {
        $_->[0] =~ s/<[\/]?b>//g;
        print "$_->[0]\n";
    }    
}



Скипт называем suggs, делаем ему:
chmod +x ./suggs


Затем, можете вызывать его и получать google suggests прямо в консоли:

twist@twist-pc:~/Desktop/seoproj/semantics$ echo "hello" | ./suggs
hello kitty
hello
hello peter
hello in italian
hellogiggles
hello lyrics
hello in japanese
hello kitty games
hello beautiful
hellototem
twist@twist-pc:~/Desktop/seoproj/semantics$ echo "a hello" | ./suggs
airtel hello tunes
android hello world
arabic hello
aircel hello tunes
animaniacs hello nurse
another word for hello
arduino hello world
asp.net hello world
amazon hello kitty
android hello world example
twist@twist-pc:~/Desktop/seoproj/semantics$


Чем это удобно? Да всем. Например, мы можем добавить в нашу цепочку вызовов еще один скрипт, который назовем alpha, тоже сделав ему "chmod +x alpha":


#!/usr/bin/perl

while (my $line = <>) {
chomp $line;
print "$_ $line\n", "$line $_\n" for a..z;
}


Этот скрипт получает на STDIN строку и на STDOUT посылает эту же строку с полностью перебранным алфавитом и пробелами как слева от слова так и справа. Т.е. если вы хотите получить все саггесты связанные со словом "buy notebook", то смело делайте:

echo "buy notebook" | ./alpha | ./suggs > result_keys.txt
cat result_keys.txt | sort -u > sorted_unique_keywords.txt

echo "buy notebook" пошлет эту строку в команду alpha, которая будет по очереди выплевывать строки "buy notebook a", "a buy notebook", "buy notebook b", "b buy notebook" и т.д., а эти строки, в свою очередь, отправляются в команду suggs, которая достает для каждой из них по 10 подсказок гугла и оператором ">" мы записываем эти саггесты в файл result_keys.txt! Фуф! Затем мы просто отсортировали и почистили дубликаты строк.
Кто кто пользуется Windows, можете выполнять эти команды в Cygwin/Mingw. Ну или же поставить на virtualbox Ubuntu и иногда пользоваться преимуществами консоли :-)

пятница, 27 апреля 2012 г.

Расширение ключевых слов при помощи Suggests

Всем добрый день! Сегодня я расскажу кое что о том, как расширять ключевые слова через suggests поисковых систем. Вообще-то рассказывать тут почти что нечего, кроме пары нюансов.

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

Но у этих подсказок есть несколько нюансов.
1. Подсказки разные для разных регионов и языковых настроек. Поэтому если вы хотите получить подсказки для США, то сначала введите в адресную строку вот такой вот запрос:

https://www.google.com/search?q=test&hl=en&gl=US

Здесь gl=US выставляет USA выдачу, а hl=en говорит о том, что вы ожидаете результаты на английском языке. Теперь можете вводить в гугл слова и получать подсказки. В гугле мы можем получить только такие подсказки, которые начинаются с вашего поискового запроса. И это печально. С одной стороны вы получаете уточняющие запросы, но с другой стороны, вы получаете ТОЛЬКО уточняющие запросы.
Прямой URL для получения подсказок в Google (это не html страница, поэтому ищите в загрузках):

http://clients1.google.com/complete/search?client=hp&hl=en&gl=us&cp=2&gs_id=e&q=test

Но эта проблема решается через Yahoo! В Yahoo вы можете получать оба вида подсказок: уточняющие и широкого соответствия.

http://sugg.us.search.yahoo.net/gossip-us-ura?output=json&nresults=10&droprotated=0&command=hello+world

Параметр droprotated=0 выдает вам общие подсказки - поисковые запросы, содержащие в любом месте ваше начальное слово (у нас это "hello world"). droprotated=1 будет выдавать только уточняющие запросы, так как в гугле.

Вы можете сказать: "а нафига мне саггесты, если есть adwords keyword tool?". Ответ прост - не все слова, имеющиеся в саггестах, показываются в keyword tool гугла. Далеко не все. И если вы работаете с низкочастотками и ищете те из них, которые могут приносить траф, то намного эффективнее искать их через подсказки поисковых систем.

четверг, 26 апреля 2012 г.

Настройка поисковых систем в Google Analytics

Недавно приходилось решать вопрос фильтрации и настройки поисковых систем в Google Analytics. Это обычно делается для того, чтобы видеть в аналитике, что траф приходит не просто из google, а из google.ru, google.com.ua и т.д. Ну и не гуглом единым. Есть довольно много поисковиков, которые могут вас интересовать. Результатом является готовый скриптец, который можно использовать AS IS.

Изначальный код GA на вашей странице похож на нечто вроде этого:


var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-xxxxxx-x']);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();


Так вот, для того, чтобы у вас отслеживались все нужные поисковые системы, вам следует подключить файлик со следующим скриптом:


var SE_DETECTOR = {

_seTemplates : [

// WorldWide
["www.google.", "q"],
["search.yahoo.", "p"],
["www.bing.com", "q"],
["search.aol.com", "q"],
["nova.rambler.ru", "query"],
["yandex.com", "text"],
["www.ask.com", "q"],
["search.lycos.com", "q"],
["search.about.com", "q"],
["www.mamma.com", "q"],
[".voila.fr", "q"],
["www.baidu.com", "wd"],
["www.search.com", "q"],
["search.yam.com", "k"],
["edition.cnn.com", "query"],
["search.naver.com", "query"],
["ricerca.virgilio.it", "qs"],
["szukaj.wp.pl", "szukaj"],
["www.kvasir.no", "q"],
["arama.mynet.com", "q"],

// POST USSR
["go.mail.ru", "q"],
["nigma.ru", "s"],
["yandex.", "text"],
["webalta.ru", "q"],
["aport.ru", "r"],
["meta.ua", "q"],
["search.bigmir.net", "z"],
["search.tut.by", "query"],
["search.ukr.net", "q"],
["search.qip.ru", "query"],
["results.metabot.ru", "st"],
],

// Hostname parser:
_getHostname : function (url) {
var hostname, rx, parts;
var referrer = url || "";
// If user agent specified
if (referrer !== "") {
// Universal URL parsing RegExp [ from http://habrahabr.ru/post/65407/ ]
rx = new RegExp("^(([^:/\\?#]+):)?(//(([^:/\\?#]*)(?::([^/\\?#]*))?))?([^\\?#]*)(\\?([^#]*))?(#(.*))?$");
parts = rx.exec(referrer);
// getting hostname url part or nothing
hostname = parts[5] || "";
} else {
// We have no user agent specified
hostname = "";
}
return hostname;
},

// Search engine detection
getSearchEngine : function (url) {
// Get hostname of referrer
var hostname = this._getHostname(url);
var tplcount = this._seTemplates.length;

for (var i = 0; i < tplcount; i++) {
if (hostname.indexOf(this._seTemplates[i][0]) !== -1) {
return ['_addOrganic', hostname, this._seTemplates[i][1]];
}
}

return "";
},

}



И в ваш скрипт аналитики добавить одну строку. В итоге получаем:

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-xxxxxx-x']);

// Add custom search engines from SE_DETECTOR module
_gaq.push(SE_DETECTOR.getSearchEngine(document.referrer));

_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();


Вот и все. Отныне и навсегда вы будете видеть в аналитике траф с органики по всем необходимым поисковикам. таким образом, сможете более детально понимать откуда все таки этот траф идет.

четверг, 15 декабря 2011 г.

PylHttp : Простой Python HTTP Client.

Выкладываю свой Python Lightweight HTTP Client на GitHub: https://github.com/twistsm/pylhttp

Он мне достаточно долго служил верой и правдой. Несмотря на то, что его исходники были написаны пару лет назад, когда я осваивал язык Python, и написаны они очень криво, но вот в плане практическом, этот http-клиент меня ни разу не подводил. Использовал его и в спамилках, и в парсерах, и в SEO-сканее сайтов, и для других разнообразных задач. И настолько он был надежен, что мне даже через 2 годе не пришлось его переписать. Я понимаю, что код - гавно, но оно работает без сбоев. Теперь, вот, я решил выложить их в открытый доступ и дать как себе, так и людям, возможность привести код в порядок и пользоваться прекрасным и простым инструментом. Сам, буду периодически обновлять и улучшать исходники по мере возможности и необходимости.

Что поддерживает PylHttp?



- Поддержка протоколов HTTP/HTTPS
- Поддержка GET/POST запросов
- Поддержка редиректов, хранение пути редиректов (откуда и куда), 301,302,404, etc.
- Поддержка авторизаций, cookie. Можем спокойно логиниться и работать в любой социалке/etc.
- Смена User-Agent
- Обработка таймаутов при помощи повторных запросов
- Поддержка HTTP прокси и возможность бегать от разных IP интерфейсов
- Поддержка сжатия GZIP

Целью этого минипроекта является - простейший HTTP-client, одним файлом. Удобный и без заморочек. Желаю успехов в использовании!

воскресенье, 16 октября 2011 г.

Подбираем ключевые слова под MFA

Здраствуйте! Сегодня мы поговорим о подборе ключевых слов и тематики в первую очередь, для ваших MFA сайтов. Кто в танке: MFA - Made for Adsense. На самом деле, это достаточно сложная штука, если делать все самостоятельно. Тут вам нужен и хороший контент, и свой собственный домен, и нормальный региональный хостинг, и полноценное подвижение в гонке за топ 10 гугла. Делать необходимо качественно настолько, чтобы любой ваш сайт мог спокойно пройти ручную проверку. Поэтому достаточно сложно делать все самостоятельно. Даже не то, чтобы сложно - попросту долго и муторно. Но зато вы имеете и и преимущества - ваши труды будут жить и никто их никуда не удалит и не забанит. А это прекрасно.

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

Сразу хочу сказать, что в этой области не бывает так, что сайт вообще ничего не приносит. Тем более, что вы всегда можете свои сайты развивать по ситуации - добавлять контент, ключевики, ориентируясь на google analytics. В любом случает будет выгода. Просто не всегда она такая, какую вы ждете.

Итак, поехали. Отправной точкой для определения тематики может быть что угодно. Именно поэтому это самая сложная и больная часть всей работы. Делать что-то можно только тогда, когда наешь что делаешь. А тут мы еще ничего не знаем :-) Поэтому необходимо как можно быстрее определиться с темой. Посмотрим на Google insights. Я специально выбрал 2011 год, страну США, т.к. мы предполагаем что будем работать именно с ней. Начало есть. Теперь давайте пошерстим по категориям и найдем что угодно что душе близко. Сегодня моей душе близка "Горная и металлургическая промышленность" -> Клоц. В правой колонке я вижу что набирает популярность запрос "scrap metal prices". Ну что ж, прекрасно - опробуем его в Google Keyword Tool. Не забудьте выставить страну USA в keyword tool - это очень важно. Итак, выбрав "широкое соответствие", мы ищем подходящие ключевые слова, по которым можно создать наш сайт. Google Keyword tool - замечательный бесплатный инструмент для подбора ключевых слов. Единственный его минус - он врет. Никто никогда не покажет сколько реально посетителей есть на конкретный ключевик. Но мы можем довольствоваться и этими показателями плюс интуиция. Давайте выберем несколько "годных" ключевиков, у которых Global и Local searches больше 1000. Я выбрал:

scrap metal prices brass 2,400 1,600
scrap metal prices per pound 5,400 4,400
current scrap metal prices 5,400 3,600
aluminum scrap metal prices 9,900 8,100
copper scrap metal prices 6,600 4,400
scrap metal prices iron 9,900 5,400
scrap metal recycling prices 3,600 2,900

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

Мы сложим вместе следующие вещи:
1. Сколько сайтов в выдаче регионального поисковика! с точным вхождениев нашего кейворда. Вводим в гугл "keyword" в кавычках!
2. Сколько сайтов содержит наш ключевик в тайтле. Вводим в гугл intitle:"keyword"
3. Сколько сайтов содержат ключевик в урле. Вводим в гугл inurl:"keyword"
4. На сколько сайтов ссылаются с анкором нашего ключевика. Вводим в гугл inanchor:"keyword"

Пузомерки сайта, как то ТИЦ или PR я опускаю, т.к. не особо верю, что они играют большую роль в ранжировании низкочастотных запросов. В ВЧ и так понятно, что если сайт с PR7, то на него ссылаются дофига других сайтов. А в НЧ такого практически не бывает. Всмысле никто не тратит кучу денег, чтобы вывести НЧ запрос, т.к. это совсем не рентабельно. На этом мы и играем.

Итак, оценим scrap metal prices brass
1. Точное вхождение: 25.000
2. В тайтлах: 2,030
3. В урлах: 54 :-)
4. В анкорах: 25000

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

понедельник, 12 сентября 2011 г.

Управление проектами и мотивация сотрудников

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

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

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

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

1. Полная прозрачность.
2. Взаимное доверие.
3. Взаимная выгода.
4. Регулярные положительные перемены.
5. Чувство важности каждого сотрудника.
6. Общая цель и путь.

Полная прозрачность: каждый сотрудник может узнать абсолютно все, что знает любой другой сотрудник компании. Кто сколько получает, у кого какая ответственность, сколько он получить денег, если прогуляет 5 дней и сходит 6 раз на обед по 3 часа, у кого когда день рождения, почему кого-то уволили, сколько попросил денег "тот парень", который приходил на собеседование и т.п. и т.д.

Неужели вы думаете, что я не знаю кто сколько получает? Неужели вы думаете, что я не вижу кто сколько и как делает? Неужели вы думаете что можно скрыть то, что кто-то послал вас на*** и за что? Все все знают, но хотели бы чтобы вы с ними поделились своим обоснованным мнением, объяснили почему так или иначе.

Взаимное доверие: Начальство должно доверять своим работникам. Работники должны доверять своему начальству.

Если вы не доверяете своим сейлам и прослушиваете их звонки, продавайте клиентам сами! Если вы не доверяете своим разработчикам, пишите код сами! Если вы не доверяете работнику - увольте его сразу! В думаете я не знаю всех логинов, паролей? Не имею доступа ко всем базам данных? Думаете я не знаю как вы зарабатываете деньги? Конечно знаю :-) Так как мне можно не доверять?

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

Если вам не выгодно сотрудничать - разрывайте договор. Если вы не можете предоставить выгодные условия сотрудникам - не нанимайте их - все равно уйдут к вашим более умелым конкурентам.

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

Если вам лень что-то менять - убейте себя. Это самое лучшее, что вы можете сделать в этом случае.

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

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

Общая цель и путь: тут вообще все сложно. Зачастую компании работают непосредственно для заработка денег. Т.е. их цель - бабло. Путь - зарабатывать бабло так то и так то :-) Мы не будем их осуждать - чем не цель и не путь? Так вот, если вся команда целиком не будет разделять, понимать, принимать эту цель и путь, то ни о каком успехе не может быть и речи.

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

Конечно, по каждому пункту можно говорить долго. Да и у каждого, все таки свое видение. Если хотите обсудить свое, велкам в комментарии. Я могу только высказать свое мнение по поводу поведения в компаниях, которым наплевать на все вышеизложенное:

1. Если вам не дают прозрачности, то и не делайте прозрачным свой труд. Все должно быть по-честному.
2. Если вам не доверяют, то ни в коем случае не доверяйте и им. Для вас это доверие обернется разочарованием.
3. Если вам не выгодно, найдите выгоду. Она всегда есть, но не всегда на поверхности.
4. Если у вас нет перемен, сделайте их сами! Купите на работу килограмм яблок и раздайте детям :-)
5. Если вас не слушают, не говорите с ними. Работайте для себя.
6. Если вы не знаете куда и как идет компания, идите своей дорогой. Работайте, получайте опыт и идите дальше.

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