Железо дешевле людей

May 22, 2017

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

Отпуск

May 5, 2017

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

Постмодерн

May 4, 2017

Вчера нашел шикарный глюк. Докер локально каким-то образом накопил рассинхронизацию времени. То есть на компьютере у меня было уже 3 мая 15:42, а в контейнере докера оставалось еще второе мая. Сайт https://rubygems.org вчера обновил SSL-сертификат, поэтому для докера из прошлого сертификат был еще не валидный и я не смог собрать докер-образ локально, так как гемы не брались!

Примерно так это выглядело:

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

PostgreSQL

May 3, 2017

А, чуть не забыл. JSON в постгрес использовать не нужно, только JSONB. Также, технически, тип string из рейлс, который char, что-то там 256, точно такой же как text. В реализации между ними разницы никакой нет. Но я бы все таки оставлял string, чтобы особо ретивые пользователи не вгоняли слишком большие строки. 256 символов это разумное ограничение в имене, адресе и тд. Критичные базы гурманы делают с репликой и еще одной репликой с отставанием на 30 минут например. При креше главной базы будет полчаса времени чайку попить и подумать. Вроде все.

Деплой по мержу

May 2, 2017

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

Все мы ошибаемся, кто не путал команды гита, пусть первый сделает пуш с форсом. Сегодня, если кто-то погорячится и сломает мастер, он пишет в канал: "пацаны, мастер сломан, не катите ничего, фиксим". И спокойно его правит. Во время выкатки, которая делается вручную, в чатик приходит ссылка на github.com/compare и есть 1-2 минуты, чтобы отменить выкатку если катится какое-то палево, также написав в чатик: "@here неведомая дичь, фризим выкатки, думаем".

Теперь допустим выкатки по комитам в мастер. Мне кажется если случайно что-то смержишь в мастер - бомбить будет также, как у кота Тома, когда он попадает в темную комнату, где куча взведенных мышеловок. git merge, git push, ой, *** (экспресивное междометие), git revert HEAD-+=, git push - в очереди билда уже два комита, а гнилой уже почти выкатился. Чатик, пацаны, хелп, говно. Стоп комиты, ыыы, мама, забери меня к себе, я не хочу быть больше программистом.

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

Последний день с Passanger

April 28, 2017

Покупал тут книжку на литрес (Сферу кстати) и вспомнил пассенджер, был, а может быть и есть, такой апп-сервер для рейлс.

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

Последний сеанс работы с пассенджером прошел аналогично: gem install passenger, ой как быстро он поставился! вау, круто-круто! passenger run и он деловито начал качать и компилировать nginx. Прямо настоящий nginx. Свалился где-то в середине с ошибкой и давай до свидания, больше мы с ним не встречались.

Частые выкатки

April 27, 2017

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

Docker Moby

April 26, 2017

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

Сфера

April 25, 2017

По рекомендации из комментов начал читать книгу "Сфера" - полный восторг. Нежное хипстерское счастье, коммуникации и улыбки. Правда, если рейтинг меньше 95 из 100, могут и чпокнуть. В первый раз аккуратно, а дальше как пойдет.

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

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

Что же так ужаснуло ее в презентации Гаса? Поди пойми. Только ли внезапность? Прицельная точность алгоритмов? Допустим. Однако они были не совершенно точны – может, в этом проблема? В том, что матрицу предпочтений выдают за твою суть, за тебя целиком? Может, и правда дело в этом. Как будто зеркало, но битое, кривое.

UPDATE: пост написал в воскресенье, сегодня книгу дочитал. После вот той цитаты, там начался самый треш и конец хороший, добрый. Книга очень клевая! Прозрачности вам, коллеги. Гы.

Познакомьтесь со знаменитым охранником из Колумбии

April 24, 2017

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

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

Наверное эти 5 языков просто - C++, Java, Python, Rust и JavaScript. Сидит Эдилсон сейчас в кампусе каком-нибудь, кодит тихонько и в ус не дует.