- Кот, теперь ты не единственный кот-программист. Мы взяли джуниора тебе в помошники.
- Вот это новость. И каков он, джуниор?
- Она черно-белая, короткошерстная, очень способная. Зовут Марфа.
- Хоть бы взяли меня поучаствовать в собеседовании. Всегда все без меня решаете.
- Кот, джуниора нужно обучать. Придумай ей учебное задание.
- 99 Problems in OCaml.
- Гм, это не совсем то, что я ожидал.
- Ну тогда пусть читает SICP.
- А если она и правда это прочитает? Код-ревью ты сам будешь проводить.
- Ну ладно, ладно, тогда Learn You Some Erlang for great good!
- Марфе нужны новые наушники, она перегрызла провод у старых.
- Купите ей десяток.
- И новыя мышь тоже ...
- Блин. Купите беспроводную.
- Кот, смотри -- с эндофунктором мне все понятно, а какие еще полезные для разработчика функторы могут быть?
- Какой у тебя объем данных в базе на проде?
- Э?
- Не о том ты думешь, не о том.
- Распределенный веб-фреймворк.
- Кот, что ты там говоришь?
- Представь себе, Django, распределенная, в кластере.
- Твоя безумная идея, Тихон, граничит с гениальностью.
- Это не моя безумная идея, это идея сообщества Elixir/Phoenix.
- Что это ты пишешь?
- Функцию, которая генерирует матрицу 4х4 из 4х списков.
- Вставь проверку, что все списки одинаковой длины.
- Тихон, ты зануда.
- Иногда статической типизации не хватает, нужно еще кот-ревью.
- Смотри, Марфа, вот дата в формате ISO 8601. Как ты будет ее валидировать?
- Регулярку нагуглю.
- Напишешь?
- Уже нагуглила. Готово.
- 31 ноября.
- Невалидно.
- 29 февраля 2016 года.
- Валидно.
- 29 февраля 2017 года.
- Невалидно.
- Какой маньяк писал эту регулярку?
- Кот, скажи, как управлять котами?
- Никак.
- Ладно.
...
- А что это ты тут делаешь, возле холодильника?
- Управляю котом.
- Арчлинукс -- самый лучший линукс!
- О, Марфа явилась с откровениями. На тебе ноут, ставь Арчлинукс. А ты, Тихон, что думаешь?
- Убунту отвратительна, но все остальное еще хуже.
...
- Что, Марфа?
- Дай мне загрузочную флэшку с Убунту.
- Я знаю, как синхронизировать данные в распределенной системе.
- Что, Марфа, ты занялась распределенными системами?
- Да, и у меня есть CAT-теорема.
- Ага, и о чем там?
- Нужен бесконечно быстрый кот, который будет переносить данные между узлами за нулевое время.
- И где ты возьмешь такого кота?
- Ну я сама могла бы заняться в свободное время.
- Хорошо, только не ночью, и чтобы без бесконечно громкого шума.
- Тихон, как прошёл митап котов-программистов?
- Прекрасно. Сперва один толстый кот читал доклад про применение Machine Learning при изготовлении консерв. Потом в окно влетел воробей, и все бросились ловить воробья. Докладчик бросился первым. Отлично провели время.
- Марфа, что это ты строишь из лего?
- Датацентр.
- Ага. А что это за башня посреди датацентра?
- Это вертикально масштабирующийся сервер.
- Как дела, Тихон?
- Да вот, потратил вчера 5 часов на попытку реализовать одну интересную идею.
- И как, не зря потратил?
- Да, не зря. Понял, что так делать не нужно.
- Тихон, а почему картинки котов мы храним в PostgreSQL, а восторженные комментарии к картинкам храним в MongoDB?
- Понимаешь, Марфа, картинки котов очень важны, и их нужно хранить надежно. А восторженных комментариев много, и их не жалко. Если несколько сотен тысяч потеряются, то никто этого даже не заметит.
- Как дела, Тихон?
- Да вот, анализирую SQL-запрос, что-то индекс не используется.
- А давай сделаем много индексов, на каждую колонку?
- А давай, Марфа, мы тебя каждый день купать будем, а не раз в полгода?