будни

Всю свою карьеру я стеснялся и стыдился того, что не умею профессионально программировать (я начинал админом, так что unix однострочники не в счет). Я говорил, что хочу научиться, покупал книжки, но дальше пары страниц, примеров и вечеров дело не шло.

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

С радостью представляю первую программу, которой пользуются больше 3 человек. Издательский дом «Комитет» запустил публичное API для комментариев на своих сайтах tj.ru, vc.ru и dtf.ru. DTF.ru — сайт про игры и другие развлечения, так что на выходных я запрогал для него бота. Бот отвечает информацией об игре, если взять её имя в квадратные скобки. Спасибо техдиру комитета Илье за хорошее API и помощь в тестировании. Эта история бы не состоялось без Дениса из Комитета и главреда RAWG Сережи. Коллаборация!

Мне не стыдно показать исходный код публично; наверное, потому, что я не профессиональный программист. Код работает, вы можете использовать его как основу для своих ботов. Буду благодарен, если подскажете, что можно сделать лучше (python, github).

Кстати, у RAWG хорошая обвязка API под питон (написанная немецким студентом), так что если хотите поделать что-то с играми — не стесняйтесь.

Да здравствует свобода от внутренних ограничений! Ура.

На Медузе вышла очень крутая статья, перекликающаяся с моей работой в музее ГУЛАГа.

https://meduza.io/feature/2018/03/16/85-let-nazad-na-stroitelstve-belomorkanala-pogibli-desyatki-tysyach-chelovek-teper-on-nikomu-ne-nuzhen-reportazh-meduzy

Я не принимал никакого участия в её создании и вообще узнал о ней с главной, как и все читатели.

Обратите внимание, как красиво встают фотографии в десктопе, как они респонсятся на телефонах, включите видео деда со внуком на снегу в конце статьи. Это выдающийся материал, поданный на мировом уровне. Важно, что это не «спецпроект» с технической точки зрения. Страница собрана в стандартной редакционной админке Медузы, без участия дизайнеров и программистов. 🌟

(есть 2-минутная видео-версия на ютубе)

Репрессии — это для меня личная история. Недавно я ездил в Москву и заходил в музей. На первом этаже выставлены реальные двери камер из десятка ключевых тюрьм России и предметы быта. Двери странно «украшены» тюремщиками, обиты гвоздиками-заклепочками с множеством слоев металла и краски, в них врезаны десятки окошечек с замочками. На втором этаже продолжение экспозиции, но я запомнил только один экспонат. Это экран, на котором имена убитых как титры в фильме. Каждое имя видно всего 3 секунды времени. И только этих подтвержденных имен хватит, чтобы сидеть за экраном неделями.

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

Если вы в Москве — зайдите в музей ГУЛАГа, он очень хороший.

У движка «Валли» сложная судьба.

Три года назад Ярослав Кравченко (он тогда отвечал за фронтенд монитора, админки Медузы) за несколько дней запрограммировал «игру». В ней нужно было угадывать положение точки на картинке (обычно используется географическая карта). Это была одна из первых игр Медузы.

Никто не думал, что движок станет популярен и вообще будет использоваться повторно. Админка была довольно неудобная, но редакция стабильно делала в ней «географические тесты».

Данные хранились в mongo, настроить к ней бекапы мы забыли. В прошлом году сервер с этой базой сломался. Мы потеряли все «географические тесты», сделанные редакцией в течении несколько лет.

Сейчас произошло второе рождение этого движка. Модный react, наша стандартная админка игр на бутстрапе, postgres-база с горячим резервом, даже тепловая карта кликов читателей — всё дышит 2018 годом.

В ролях: Витя Ходак — дизайн, Гоша Девяткин — программирование, Лёша Прилепский — менеджмент, Илья Красильщик и Саша Поливанов — редакционная поддержка.

https://meduza.io/games/gde-samaya-deshevaya-kvartira-v-rossii-a-samyy-vysokiy-dom

Рассказываем, как перезапускали разработку медицинской информационной системы (МИС) для сети клиник «Чайка».

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

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

В этот раз испробовали новый подход: вместо чистого консалтинга, пришли с небольшой собственной командой и своими руками реализовали ключевые элементы новой архитектуры — не рассказали, но показали и внедрили новые идеи.

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

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

В статье хвастаемся тем, что получилось и без утайки делимся, где ошиблись. А ещё внутри супер красивые интерфейсы современной медицинской системы. Инжой!

Вы техдир и хотите поделиться похожей историей? — заходите в чатик @ctodailychat.

Хотите ускорить свою команду разработки или просто запустить новый продукт? — пишите мне в личку @samatg, мы ищем клиентов!

Разработали сложный микросервис уведомлений для крупной строительной компании.

На картинке — общая архитектура сервиса.

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

Хотите запустить новый продукт с нуля или сервис внутри существующей архитектуры? Пишите в личку @samatg! Мы берем новых клиентов.

Мы в RAWG получили первые 2 миллиона долларов в криптовалюте (pre-sale, если вы понимаете, о чем речь). Впереди ICO (продажа криптовалюты) на 8 миллионов долларов. Это деньги, на которые мы построим лучший сайт про игры в интернете.

Ещё пару месяцев назад при словах «криптовалюта и ICO», я думал «кидалово и зашквар». Понимаю, почему у многих такие же ассоциации.

Мы не планируем уехать с этими 10 миллионами в закат. Я надеюсь, это очевидно любому, кто знает меня лично. Но вкладываются в нас не только мои знакомые.

Как нам доказать инвесторам (тысячам людей), что мы делаем всё, что от нас зависит, чтобы построить крутой продукт и успешный бизнес? Раскрыть карты, показать, как и что мы делаем, куда тратим деньги. Радикальная честность и открытость — вот _ультимативный_ ответ грязи и обману, окружающему криптовалюты.

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

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

Продолжение следует, stay tuned.

https://token.rawg.io

P.S. Ну, чуваки, которые говорили мне лично «чё-то не достаточно амбициозно звучит, сайт про игры»? Я сам не ожидал такого крутого захода от нашего со-основателя Гаджи Махтиева. Теперь уверен, что сделал правильную ставку.

Давно не писал, две недели решительно не хотел ничего делать. Хочется свалить всё на пневмонию (не коронавирусную), на самом деле просто устал. Продолбал несколько лидов-клиентов. Раньше бы стыдился, но это тема для отдельного поста.

Между тем, происходит куча всего интересного. В мире пандемия (вот классная визуализация и хорошее видео про неё), а у нас в iGooods рекорд за рекордом. Если раньше в пике было по 70 запросов в секунду, то теперь — больше 400. Каждое выступление Путина — +20% посещаемости.

Чтобы выдерживать такие нагрузки, нужно оптимизировать код и увеличивать объем железа. Серверы масштабируются горизонтально и вертикально. Горизонтально — это когда ставишь рядом со старым сервером ещё один, такой же новый, и они делят нагрузку. Это идеальная схема, так мы сейчас регулярно добавляем серверы приложений. К сожалению, базу данных мы горизонтально масштабировать не умеем — для того, чтобы поставить в параллель два сервера БД, нужна специальная магия, запрогать которую мы не успели.

После последнего выступления Путина мы поняли, что скоро уткнемся в гигабитную сетевую карту на сервере БД (раньше я такого не видел и да, нам нужно переписать эти долбаные запросы). Спасибо огромное селектелу — пошли навстречу и мгновенно собрали кастомный сервер с 10гигабитным интерфейсом. Вот теперь сижу жду, когда ребята потушат на пару минут сайт и переключат базу данных на новую машину. Это — вертикальное масштабирование.

Спокойной ночи! 🌛

Только что опубликовали новое мобильное приложение в AppStore. Сделали его наши веб-разработчики на кросс-платформенной технологии CapacitorJS, так что не потребовалась отдельная команда мобильной разработки, сэкономили месяцы и миллионы рублей.

Два месяца переписывались с Apple по поводу in-app purchases и прочих коммерческих моментов. В результате всё решилось одним коротким звонком с Купертино. По телефону нам на хорошем русском объяснили, что «правила AppStore — это направляющие принципы, каждую ситуацию не распишешь формально, конкретно вам нужно сделать 1, 2, 3». Не стесняйтесь пользоваться опцией заказа звонка!

Интересно, что ни единого вопроса про Capacitor у Apple не было, хотя некоторые люди нас очень пугали, что любые веб-технологии — это сразу бан. Правда, наши фронтендеры собрали полноценное мобильное приложение — с оффлайном, входом через Apple ID и прочим, чего у сайтов обычно нет.

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

Такой кайф, когда единая команда отвечает за продукт на всех платформах! Нет этого: «веб уже запрогал, андроид сделал не совсем как нужно, но сойдёт, а iOS-команда пока занята, ждём...»

Ура!

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