• Питон и ненависть

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

    Во-первых, компилятор не обращает внимания на несуществующие переменные. Если допустить опечатку, то скрипт все равно запуститься, чтобы упасть на середине с ошибкой name "foo" is not defiened.

    Я в курсе, что в Питоне сто способов подсунуть переменную в рантайм минуя обычное присваивание. Скажем, через globals:

    >>> globals()["foo"] = 42
    >>> foo + 1
    43
    

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

    Read more →

  • Дети

    Я согласен с Лебедевым, что детей нужно заводить раньше. Дети это самое важное. То, чем ты занимаешься — нет. Даже если ты второй Стив Джобс или спаситель человечества. Все равно нет.

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

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

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

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

    Мы не раз видели фильмы с таким сюжетом. Родитель не может выстроить отношения с подростком. Ты не уделял мне внимания в детстве! Но я же работал! Обеспечивал семью! Мы хотели твоей заботы, а не денег! Я делал все что мог! Дочь выбегает из комнаты. Да что с ней не так! Папуля морщит лоб и судорожно соображает.

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

    Ребенок — это продолжение тебя, твой контриб в будущее. Но неполный — что-то возьмут, что-то выкинут. Точную копию передать невозможно, и это круто.

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

  • Пять новых прочитанных книг

    В разделе Книжная полка – пять новых книг. Политология, война, алгоритмы, выступления и детская повесть. Описания стали длиннее. Про одну из книг – политологию Шульман – потом напишу отдельно.

  • Зачем и как писать

    Раз в неделю я занимаюсь английским. Обсуждаем с собеседником все подряд — книги, фильмы, политику. В последний раз говорили о пользе записывать мысли. Я веду блог с 2012 года, скромный опыт есть. А препод, оказывается, ведет обычный бумажный дневник, что очень круто. Не знал этого раньше.

    Блог и дневник это разные вещи, но и общее у них есть. Оба помогают структурировать идеи и очистить голову. Дневник — это больше внутреннее, в то время как блог — про внешнее. Но в обоих случаях мы пишем.

    Я считаю, когда мы пишем, то стравливаем ментальное напряжение. Записывать мысли — это как приводить порядок, только на этот раз не дома или на рабочем месте, а в голове.

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

    Если носить в голове одну и те же идею, начинает казаться, что она гениальна. И как следствие, ты сам гениален. Я вижу два недостатка: мысленный застой и высокомерие.

    Read more →

  • Хватит выгорать

    Давно хотел написать пост про выгорания. Не буду ходить вокруг да около.

    Ребята, хватит выгорать. Перестаньте это делать. Не выгорайте.

    Не читайте статей про выгорание. Не пишите сочувствующие комментарии. Это как удобрять сорняки.

    Выгорание стало модным. Все выгорают. Откроешь Твиттер, Хабр, а там — этот устал, другой выгорел, третий, четвертый…

    Хватит уже.

    Достаточно одной громкой статьи, и пожалуйста. Ее читают тысячи молодых людей, и у каждого срабатывает эффект “это про меня”. Это старый, как мир, принцип, когда человек примеряет на себя прочитанное.

    Это было еще в “Трое в лодке”:

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

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

    Счастливым, здоровым человеком вошел я в эту читальню, а вышел из нее разбитым инвалидом.

    Заканчиваешь читать подобную статью, и думаешь: это же обо мне! На работе не прет, поссорился с близкими, устал… черт, Я ЖЕ ВЫГОРЕЛ! Все, как в интернете написано. Чувак, сочувствую! У меня то же самое!

    Где-то в интернете лежит смешной текст. Обычный человек разговаривает со Вселенной. Жалуется на проблемы: тяжело на работе, не понимают родители, разлад с половинкой… Словом, типовой набор, через который проходят все. А Вселенная слушает с гротескным вниманием, кивает, поддакивает.

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

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

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

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

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

    Я работаю с 17 лет, но ни разу не выгорал. Где только ни бывал. На телевидении, в типографии, в газете, в веб-студии, в госконторе, в аутсорсе… Бывало разное: и дико перло, и люто бомбило. Но никогда не было свинцового уныния и желания ныть. Пожаловался раз, выпустил пар — и дальше.

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

    Читаешь кого-то: все, выгорел, больше никогда и на за что. Через месяц — как ни в чем не бывало занимается тем, чем раньше. Чувак, ты просто устал. Отдохни, сделай паузу в два месяца между проектами. Съезди куда, книжки художественные почитай. Перестань кодить по ночам, спи по девять часов, принимай ванны.

    Настроение человека неразрывно связано с тем, что он потребляет, читает, смотрит. Если запереться в темной комнате, включить Нирвану и выкурить пачку сигарет, обязательно покажется, что все тлен. А если сходить в бассейн, съесть апельсин, почитать любимую книжку — то не покажется.

    Теперь по аналогии. Ночью ты задрачиваешь Хаскель, днем вареный пишешь на кровавой Джаве, кофе и сигареты каждые полчаса, под вечер возбуждение и опять ночь перед монитором. Прибавьте сюда опенсорс. Как же тут не устать? Но это усталость, а не выгорание. А причина усталости — отсутствие режима и лень следить за собой.

    Не надо этих постов, что выгорел. Ты отравляешь мозг молодым и неопытным. За очередным постом про выгорание нет ничего, кроме инфантильного нарциссизма, упоения страданием.

    И не стоит чрезмерно себя жалеть. Жизнь — это тоже трудности. Преодолевать усталость и тоску — нормально.

  • Код картинкой

    Раньше я считал, что постить код картинкой это отстой и днище. А теперь наоборот — частенько набрасываю в чат скриншоты с Гитхаба и совершенно не вижу криминала.

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

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

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

    Read more →

  • Не надо таких подарков

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

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

    Это бесит. Почему нельзя выбрать любую? Почему должен выбирать только из говна? Что вы за импотенты такие? Дарить так дарить! Подписался — делай нормально! Это как отвести ребенка в ТЦ на день рождения и сказать — ни в чем себе не отказывай, но сумма в чеке не должна превышать 500 рублей. Родитель-днище.

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

    Стоит заметить, что с материальными подарками дела обстоят лучше. Тот же Тиньков вместе с картой Airlines прислал наборчик путешественника. Плед, носки и маску для сна. Маска особенно зашла, я до сих пор в ней сплю. А вот с цифровыми подарками беда, хотя казалось бы — данные в базе подвигать.

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

  • Девочки

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

    У слова “девочка” есть только одно нормальное значение — человек женского пола до подросткового возраста. Потом идут девушка, женщина, бабушка или старушка. Они — не девочки.

    Вот это, например, девочка:

    Read more →

  • Триал

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

    На картинке выше неудачный триал Final Cut, программы видеомонтажа. Я поставил ее месяц назад и один раз запустил. Потом что-то меня отвлекло, и больше программу я не открывал.

    На праздниках появилось время, сел монтировать видео и снова вспомнил. Думаю, открою, погоняю туда-сюда и, скорее всего, куплю. Но фигушки — неделя триала кончилась. Раньше надо было. Или идешь лесом, или покупаешь кота в мешке.

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

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

    Правильно делать так: триал-программа всегда запускается, но работает с ограничениями. Например, Lightworks, программа промышленного видеомонтажа, без покупки лицензии имеет только одно ограничение — не позволяет сгонять проект в разрешении свыше 720 линий. Производитель ничего не теряет: для любителей программа слишком сложна, для профессионалов разрешения 720 недостаточно. Можно работать месяцами, полностью изучить программу перед покупкой.

    Другой пример — Wing IDE для разработчиков на Python. По истечении триала программа запускается на 10 минут, после чего сама себя завершает. Это тоже норм, потому что остается возможность ее исследовать.

    Редактор Sublime Text время от времени показывает блокирующий алерт. Это не проблема, если запускаешь его раз в месяц. Но сильно раздражает, если используешь его как основной инструмент разработки. Так или иначе, он запускается всегда, и есть возможность подумать.

    Если вы причастны к разработке триал-версии продукта, никогда не поступайте как Final Cut. Нельзя разворачивать пользователя по истечению срока. Пользователь не обязан все бросить и посвятить неделю исключительно вашей программе. У него дела, авралы, дедлайны. Программа должна ограничивать не время работы, а возможности: форматы, расширения, объем файлов. Но запускаться она должна всегда.

  • Реактивный митап

    Провели очередную встречу в клубе Глубокого Рефакторинга. На этот раз вели базары за Реакт и мобильную разработку.

    React через призму функционального программирования, Антон Чикин:

    Мобильная разработка на React Native + ClojureScript, ваш покорный слуга:

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