• Благотворительность

    Тема урока – благотворительность. Из разговора Мэтью, учителем английского:

    – М: Предположим, ты перевел Википедии 10 долларов. На что потратят эти деньги?

    – Я: Ну, хостинг, разработка движка, то, се…

    – М: Вовсе нет. Википедия не заинтересована в твоей десятке. Для них это ничто, пыль. Разговоры в духе “если бы каждый дал по доллару” – популизм.

    – Я: И на что же тогда?

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

    – Я: Как это?

    – М: Есть люди, которые… ну, немного социопаты, но при этом очень богаты. Сотрудники Википедии пытаются донести до них мысль, что пожертвование возвысит их в глазах общества, сделает чище и добрее, даст смысл жизни и все такое. Даже отпустит грехи, как бы дико не звучало. На это уходит масса сил: нужно изучить психологический портрет богача, правильно составить текст, нажать на больные точки… И это работает. На раскрутку может понадобиться год, но бабла придет до отвала. А весь этот год нужно платить оператору, чтобы он не ушел. Так что твои 5, 10 или даже 100 долларов спустят на почтовые рассылки и телефонные звонки. И так везде, не только в Википедии.


    Учитывая, что Мэтт занимался благотворительностью со студенческих лет, ни минуты не сомневаюсь в его правоте. А уж как меня задрали спамом сотрудники Википедии после того, как я перевел им 100 рублей!

    Благотворительность – такой же бизнес, только немного с другим подходом.

  • Пятнадцатая встреча

    Забыл своевременно выложить видосы с прошедшей встречи. Александр, один из докладчиков, просил пока не публиковать его выступление. Так что на этот раз видео одно, зато какое!

    Евгений Рыжков отвечает на самые разные вопросы. Без слайдов, все внимание на аудиторию. Как всегда, с юмором, тонко и интересно.

    Сегодня вечером – шестнадцатая встреча. Хотите выступить – пишите в личку, чат Телеграма или создайте ишью в нашем Гитхабе.

  • Что почитать №16

    Думали, что я забыл?

  • Кавычки

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

    Например:

    message1 = "Object 'foo' does not exist."
    message2 = 'Object "foo" does not exist.'
    

    гораздо удобней, чем

    message3 = "Object \"foo\" does not exist."
    

    Возникает холивар, какие кавычки использовать по умолчанию?

    Правильный ответ – двойные.

    Объяснение этому простое: если двойные кавычки работают почти во всех языках, то одинарные – только в некоторых. Согласно Сишному синтаксису, одинарными кавычками обозначается символ (Char), а не строка. Навскидку назову Си, Плюсы, Джаву, Кложу.

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

    './/div[@id="foo"]'
    

    без проблем сработает в Джаваскрипте и Питоне, но не в Джаве или Кложе. Поэтому правильней записать его так:

    ".//div[@id='foo']"
    

    Логично же предположить, что твои селекторы или разметку могут задействовать в другом языке. Поэтому делайте сразу правильно.

    Запомните – двойные.

  • Красавица и Чудовище

    Сходил на сабж (без детей). Буду краток.

    Плюсы:

    • Классическая добрая история со счастливым концом.

    • Качество эффектов запредельное.

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

    Минусы:

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

    • Сцены между песнями скомканы и переданы кое-как. Диалоги порой нелепы, из фраз делают совсем не те выводы.

    • Сами песни по манере исполнения напоминают цыганские романсы: сначала медленно, быстрей, быстрей, БЫСТРО, ГРОМКО, АААААААА!!! Заканчивается все оргией с костюмами, блеском, буйством красок и грохотом труб. В какой-то момент казалось, что меня порвет как тряпку. Из зала вышел контуженный.

    • Если выбросить песни, сюжет получается чрезмерно линейный и банальный. Главные персонажи шаблонны. Считаю, можно было добавить больше неоднозначности в характеры и сюжет.

    Нейтральное:

    • Гомосятина есть, но исключительно в виде шуток или намеков. Физического контакта между мужиками тоже нет. Ребенок до подросткового возраста вообще ничего не поймет.

    • Толерастия зашкаливает: каждый второй персонаж негр. Это во Франции-то 17 века?! Да еще при королевском дворе?

    • Любителей ЛГБТ и толерастов опять нае… обманули: персонаж-гей – клоун, трус и вообще не влияет на сюжет. Негры играют слуг. Все ключевые герои по-прежнему белые и гетеросексуальные.

    • В Гермионе Эмме Уотсон ничего особого нет, но, видимо, роль банальная.

    Вывыды:

    • годное семейное кино,

    • детей не берите. Но не из-за гомосятины, а слишком агрессивных песен.

  • Что почитать №15

    Вот:

  • Спать

    Чтобы чувствовать себя хорошо и быть продуктивным, нужно высыпаться. Проводить во сне 8 часов, как советуют врачи. Ложиться рано, между 10 и 11 вечера. Вставать тоже рано, часов в 7. Избегать компьютера и мобильного перед сном.

    Тогда все будет хорошо.

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

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

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

    Хроническое недосыпание имеет очень неприятный эффект – становишься раздражительным. Начинает бесить все: не проходят тесты, тупит редактор, очередь на кассе, сын разлил воду. Это накапливается постепенно, поэтому не замечаешь, что проблема в тебе. Кажется, что все плохо, а ты один Д’Артаньян.

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

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

    Во-вторых, нигде не написано, что оба спали так мало всю жизнь. Допускаю, что Цезарь не спал в походах, а Да Винчи – в моменты творчества. В 20 лет я сам мог не спать сутки. Но рано или поздно организм потребует свое.

    Контроль сна требует воли. Статьи с Лайфхакера не помогут.

  • Что почитать №14

    Сегодня в номере:

    • Traits and Mixins Are Not OOP

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

    • Если бы люди были резиновыми

      Плющат резиновых людей, у них мученические гримасы.

    • Порно

      Не мог не поделиться, очень хорошо написано.

  • Алгоритмы

    В интернете новый мем: оказывается, алгоритмы не нужны. Все началось с того, что некий DHH, создатель Рельс, выступил с каминг-аутом:

    tweet1

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

    tweet2

    Попадаются лиды из Гугла:

    tweet3

    Полная подборка перлов по ссылке.

    На Хабрахабре вышла скандальная статья “Программисты не могут написать алгоритмы без помощи”. Автор, начитавшись твитов, аппелирует к тому, что спрашивать алгоритмы на собеседованиях не нужно.

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

    Теперь более подробно.

    Не всегда в нашем мире бывает так, что если что-то написано, то именно это имеется в виду. В случае с DHH, создателем Рельс, очевидна вся постановка этого наглого заявления. Предположим, он действительно забыл алгорим пузырька. И решил написать твит. Для этого нужно открыть сайт или мобильное приложение, ввести текст, несколько раз опечаться, исправить и, наконец, спустить опус в сеть.

    За это время можно было бы перейти с первой ссылки в Википедию и прочитать алгоритм. Он там очень ясно описан, даже гифка есть с наглядной анимацией. Но вместо этого DHH пишет твит.

    Люди поступают так по простой причине. В какой-то момент им хочется показать себя со слабой стороны. Вызывать умиление и сочувствие. Это называется “быть не в порядке”. Феномен очень подробно описан у Джима Кемпа, прочтите обязательно.

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

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

    Может, этот лид и забыл сортировку пузырьком, зато у него в голове каскадная нейронная сеть из текущего проекта и полное понимание того, в каком состоянии она пребывает в каждый момент времени.

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

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

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

    Начитавшись подобных заявлений, джуниоры начнут открыто отказываться от фундаментальных знаний. Станут дерзить на собеседованиях – зачем вы это спрашиваете, разве в вашем проекте это есть?

    Уважаемый DHH должен был подумать, что он – ключевая фигура в мире Руби и Рельс. И прежде чем делать столь громкие заявление, предположить, как это скажется на сообществе.

    Забавно, что мысль “алгоритмы не нужны” прозвучала из уст именно Глав-Рубиста. Создателя продукта для программистов с минимальными требованиями к квалификации. Именно благодаря рельсам в индустрию ворвались люди, которые до этого овообще не имели опыта с ай-ти. Которые возомнили себя рок-звездами Кремниевой долины, раз твой стартапчик завелся после серии копипаст со Стека. Рельсы стали ПХП второго порядка.

    Почему-то ни Рич Хикки, ни Гвидо ван Россум, ни Линус Торвальдс, ни Джо Армстронг подобного не заявляли. И я не нашел их высказываний в этом апофеозе бреда.

    Кто здесь пишет на Руби? Ребят, вам не стыдно, что ваше первое лицо заявляет подобное?

    Не знать чего-то не стыдно. Стыдно хвастаться незнанием и превращать его в фарс.

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

    Я знал человека, который на собеседованиях спрашивал алгоритмы, а его коллеги – нет. Он теперь архитектор, один их нескольких на огромную фирму. Картинка с Киселевым: “совпадение? не думаю!”

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

    Так что не надейтесь на расслабон. Работать и работать.

  • Что почитать №13

    Предлагаю к прочтению:

Страница 25 из 53