• Как завоевать друзей и оказывать влияние на людей

    cover

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

    Книжка небольшого формата и легко читается. Для меня она стала главным удовольствием этим отпуском.

  • Яндекс.Книга

    Решил вести особый раздел с прочитанными книгами и краткими аннотациями к ним. Начну с того, что первое на полке – Яндекс.Книга.

    cover

    Очень интересная книжка о людях, создавших крупный поисковик. Фактически, интересна первая половина книги – как все происходило на конспиративных квартирах, вырастало из сорняков. Середина тоже норм, но уже не так интересно. Повествования разбавляют беседы с акционерами Янждекса – у них большой разброс в сферах бизнаса, мнениях, каждый интересен по-своему. А заключительное интервью с Аркадием Воложем – вообще кайф.

    Книжка издательства Манн, Иванов и Фербер. За оформление, верстку, гарнитуру – зачет. Красный шнурочек-закладка, белая обложка. Специально заворачивал в полиетилен, чтобы не потерлась в сумке.

    Из минусов:

    • начиная с середины появляются ошибки в заглавных буквах и пунктуации. Торопились?
    • в процессе чтения начинает напрягать система, когда каждая клава именуется запросом. Закос под Яндекс как-то не очень – иные запросы настолько желты и притянуты за уши, что просто стыд. Например, “Зачем Сегалович стал девушкой?” – это о том, как Илья с одноклассниками надели платья, когда поздравляли одноклассниц в школе с 8 Марта. Притягивать сюда смену пола – это пиздец. И подобных примеров хватает.
    • в середине книги активно муссируется тема противостояния Яндекса Гуглу. И начинается лубочно-тошнотворная аппеляция в ВОВ – выстоим, защитим Рассею-матушку. Я сам за отечественные разработки, но читать это место реально противно, пропаганда.
    • автор заявляет, что пишет книгу для тех, кто айти не понимает, но везде пишет имя Гугла латиницей – Google. Как это читать – Гогл, Гугле, Гоогл? Ты же так радеешь за Россию, пиши по-русски, блеадь!

    А в целом – зачет, очень хорошая книга. Главное – вдохновляет после ее прочтения сесть и сделать что-то очень полезное.

  • Типичный мемориал

    Был проездом в Рязани, пересадка три часа. Перекусив с сыном в кафешке, решили походить по городу. Так как времени было мало, наметили близкий ориентир – военный мемориал через площадь.

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

    На территории этого бетонного катка не было ни одной лавочки. Ни одного места, где можно, сука, присесть. Ладно, с сумками на мемориалы не ходят. А как же ваши дорогие ветераны? Вышел 80-летний человек из дому, шел два квартала до мемориала. Где ему теперь сесть, отдохнуть?

    screenshot

    Обогнул мраморную стену, за который росли деревья. Лавочек и там нет. Деревья и асфальтовые дорожки. Ветераны расходятся по домам.

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

    На всех мемориалах ужасно набран текст, есть банальные ошибки верстки. Я программист, а не дизайнер, но и то понимаю. Все набрано капсом, как в Сбербанке. Буквы то слипаются, как огурцы в банке, то расползаются, как тараканы. Иной раз между двумя буквами можно вставить три или четыре других. Вместо тире – дефисы, как будто с клавиатуры набирали.

    screenshot

    Вот посмотрите. Текст набран словно с закрытыми глазами.

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

  • Просто подпиши эту петицию

    petition

    Freedom Jennifer Fichter

  • В чате девушка

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

    Но найдется умник, благородный джентельмен, который скажет, что, ребята, потише, в чате девушка. Остальные, вместо того, чтобы предложить ему покинуть чат, внезапно тоже становятся “джентельменами”. Беседа гаснет, и это как бы норм.

    Интересно, спрашивал ли товарищ ту девушку, оскорбляет ли ее обсуждение размера груди? Почему он решил, что ей не пристало читать наш чат? Он свою жену или подругу так же контролирует – то читай, это не читай?

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

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

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

    Не секрет, что половина аудитории мужских журналов типа Мэнс Хэлс – женщины, а мужчины читают Космо. Сужу в том числе и по себе: в командировке в моем номере была стопа Космополитена, я их выборочно прочитал. Попадаются толковые статьи, их которых можно выудить что-то полезное.

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

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

  • Люблю паттерны

    Паттерн – повторяющийся узор, которым можно покрыть поверхность любой площади. Хорошую подборку можно посмотреть на сайте Лебедева. А еще хорошие паттерны встречаются в жизни:

    zerg rush

  • Недостатки питона

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

    Один из интересных вопросов звучит так – какие в Питоне есть недостатки? Как вы с ними боретесь?

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

    Весьма дурным ответом считаю, что в Питоне нет недостатков. Кандидат расписывается в своей неопытности. Идеального языка программирования нет. Скорее, он только начал работать с Питоном и прибывает в эйфории, когда вместо 15 строчек можно сделать то же одной.

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

    Когда кандидат приводит в пример какую-то слабую особенность Питона, я в первую очередь интересуюсь, в какой ситуации кандидат с ней столкнулся и как разрешил. Часто случается, что тот или иной аргумент взят с Хабра или ЛОРа, то есть не имеет отношения к реальности.

    Ниже привожу потенциальные ответы и свои комментарии к ним. В конце – свою точку зрения на поставленный вопрос.

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

    Далее, ГИЛ – глобальный замок, который не дает исполнятся нескольким тредам одновременно. Опять же, вопрос – какие задачи лучше решаются тредами? В вебе все работает на процессах. Порождение треда на каждый запрос убьет систему в два счета. ОК, в чем разница между тредами и процессами (модули Threading и Multiprocessing)? Без ответов на эти вопросы аргумент не принимается.

    Строки и изменения в третьем Питоне – повсеместный Юникод. Спрашиваю, в чем были проблемы со строками во второй ветке. Как кодируется и декодируется Юникод. Сколько байт тратит UTF-8 на один символ? Какие операции быстрей – на Юникоде или на 8-битных строках? Заметил – тот, кто понимает работу со строками, исправлениям в тройке не рады.

    В процессе ответа кандидат имеет полное право спросить мою точку зрения на недостатки Питона. Отвечаю примерно так.

    Производительность Питона является косвенным недостатком. Столкнуться в вебе с ним практически нереально. В практике у меня был случай, когда утилита на Питоне сильно проигрывала аналогичной утилите на Си. Я пытался распарить лог Энджинкса размером в пять гигабайт. Если ngxtop сделал это за час, то другая утилита (не помню название) – за пять минут. Это тот случай, когда критические участки кода нужно выносить из Питона на Си или использовать другие утилиты.

    Есть у меня претензии к оформлению кода с использованием *args, **kwargs. Сама по себе это классная штука, но некоторые используют достоинства языка себе во вред. Например, функция или конструктор принимают много необязательных параметров. Хорошим тоном будет перечислить их все в сигнатуре со значениями None. Однако, попадаются те, кто просто лепит *args, **kwargs, и внутри тела функции разбарет их вручную. В лучшем случае в докстринге указано, что можно передавать. Это ломает автокомплит, подсказки в редакторах, вынуждает читать код. Короче, выходит проигрыш в усилиях – поленившись один раз, разработчик вынуждает напрягаться других многократно.

    Строки и третий Питон. Моя точка зрения здесь лаконична. Разработчик, который хорошо знает, как устроены кодировки и Юникод, не получит в тройке никаких преимуществ, наоборот – только боль. Очень часто мы работаем с 8-битными строками, сплитим, тримим, делаем замену. Да, по сути это байты, но что с того? На каждый чих переводить байты в Юникод, я считаю, глупо. В тройке потенциальные трудности со стоками спрятали в черный ящик. Оставили начинающих разработчиков в неведении, что происходит под капотом. Незнание кодировок рано или поздно выстрелит в самый неприятный момент.

    Вот примерно таким я вижу ответ на вопрос о недостатках Питона. Согласитесь, из ответа можно получить много информации о кандидате и его опыте.

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

  • Депардье

    facepalm

    Вот дурак этот Депардье. Позорно бежал из страны, в которой, собственно, и сделал карьеру. Бежал, чтобы сохранить бабло. Сам я тоже против прогрессивной шкалы, да и вообще против налогов. Но, блядь, на кой хрен тебе столько денег? Еще больше пузо отращивать? Вложись в новые технологии. Перечисли раковым больным. Инвестируй стартапы. Жертвуй неизлечимым котикам. Да почитай, наконец, чем Билл Гейтц с женой занимаются, они подскажут. Рано или поздно с таким пузом возникнут болячки, и любые деньги станут не в счет. Ну сделай же мир лучше! Вместо этого Депардье едет в Россию, получает паспорт и теперь готов за нее умирать. Занавес.

  • Боремся со ссылками в новом табе

    Прекрасное расширение для Хрома Death To _blank заставляет все ссылки открываться в текущем окне. Это очень классно. Теперь не нужно страдать из-за СЕО-дрочеров и просто дебилов, не желающих отпускать посетителя с сайта. На каждую хитрую жопу есть хер с винтом. В опциях можно указать домены, для которых правило не действует. По умолчанию добавлены Гмейл и еще чей-то почтовик.

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

  • Статичный блог для queryfeed.net

    У Кверифида появился уютный бложек с РСС-лентой. Посты оттуда автоматом транслируются в твиттер и фейсбук проекта.

    Отдельная история о том, как выбирал движок для блога. Ставить на сервер Пых, Апач и Мускуль ой как не хотелось, ведь все это говно придется мониторить. И тут мне вспомнился принцип идеального объекта. Это когда функции объекта есть, а объекта нет. Значит, нужно, чтобы блог был, но не пришлось бы париться с установкой софта и поддержкой. Решение – сделать статичный блог на базе какого-то генератора. Наполнять его и генерить статику на локальной машине, заливать через Гитхаб или scp.

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

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

    Наполнять и сопровождать такой блог оказалось экстремально просто. Ваш блог – это набор файлов и папок. Страницы и посты можно писать на нескольких языках разметок, я предпочитаю обычный Маркдаун – проще и удобней еще ничего не придумали. Шаблоны – это обычный html с вкраплениями управляющих конструкций. Скрипт jekyll генерит из этой папки другую папку, в котором готовый сайт с РСС-лентой. Если нужно поменять дизайн – поправили шаблоны, снова сгенерили.

    Исходники такого блога храним на Гитхабе или еще где. Благодая системе контроля версий разрешается море проблем – сразу есть версионирование страниц, например. Захотели – откатили комит, вернули старую страницу, собрали, залили. С таким блогом может работать сразу группа людей: кто-то написал статью, залил пулл-реквест, прошел ревью, смерджил, залил на сервер. Красота.

    Не нужно заморачиватсья с установкой софта. Настроить правильно, с учетом всех требований безопасности похапэ, Апач и БД – дело нескольких дней. Гуглю по словам “setup php apache mysql”, по ссылкам открываются простыни на 10 экранов вроде этой. Потом в вашем Друпале или Вордпрессе найдут дыру и школие поломает сервер. Статичный блог этих недостатков лишен. Он раздается Энджинксом напрямую с реактивной скоростью, быстрее ничего быть не может.

    Полный констроль за шаблоном и скриптами. В CMS это делается модулями, каждый притормаживает систему. В статичном блоге так: вставил скрипт Гугло-аналитики – пошла аналитика, вставил код комментариев от Disqus – подключились коменты. Все по-быстрому и малой кровью.

    Словом, движком jekyll я люто-бешено доволен, всем советую. Если довести тему и интерфейс до уровня той же Эгеи, получится супер-связка.

    Комментарии из старого блога

    06/04/15 Александр Рянин: Пробовал переехать на Октопрэсс, но не удалось всё правильно установить. Настраивал на Мак ОС.

    Почему выбрали именно Джэкил?

    06/04/15 Иван Гришаев: Потому что в каком-то рейтинге он оказался сверху. Документация очень простая. Еще важно количество комитов в репозитории. Взгляните: https://github.com/jekyll/jekyll – почти 6000 комитов и 500 участников. Ну и на практике все оказалось просто.

    06/04/15 Роман:

    Это когда функции объекта есть, а объекта нет.

    Вордпрессе найдут дыру и школие поломает сервер

    Мне на ум приходит не тризовская, а даосская аналогия: «Как можно убить то, что никогда не было живым?»

    Горячо рекомендую «StaticPress».

    06/04/15 Иван Гришаев: Спасибо, но вряд ли возьмусь за него. По части сложности WP на порядки сожнее Jekyll.

Страница 37 из 51