Купил Стриду
В самом начале разочаровала: колёса не отсоединялись (магниты слишком сильные), нижняя часть рамы постоянно падала на землю или защемляла пальцы. Думал даже вернуть.
Но со второй поездки (когда настроил высоту седла), начинал понимать, что моё! Он странный, но что-то в нём определённо есть.
Так же было и с первым Макбуком — ждал как на меня хлынут потоки юзабилити, а он оказался просто удобнее винды.
В городе
Несколько дней покатался по городу. Отсутствие передач не напрягает. Крутить педали приходится часто, но крутятся они легко. Если сравнивать по Ранкиперу, получается чуть медленнее обычного Аваланча.
Подвеска жёсткая, какие-либо амортизаторы отсутствуют, так что все неровности чувствуешь жопой. Бордюры проезжать опасно: переднее колесо закидывается легко, а вот когда заднее ударяется о бордюр, велосипед резко снижает скорость, а ты нет — вот тогда эта необычная конструкция и даёт о себе знать.
И о доставке
Я заказывал велосипед с сайта strida.ru доставкой ПЭКом. Первое что я увидел на складе, было это:


Грузчик еле-еле говорил на русском и ни хрена не мог объяснить, почему коробка не параллелепипедной формы. Потом подошёл «старший» и на мой немой вопрос ответил, что груз был сдан в таком виде, о чём свидетельствует наклейка на коробке, и у них есть все фотографии.
Заглянул внутрь: велосипед был целым, расписался в накладной и забрал. Оказывается, каждый велосипед перед отправкой собирают, чтобы проверить на брак, но... не разбирают обратно. А в собранном состоянии, в коробку он помещается только таким образом.
Ребята, мать вашу, ну нельзя так. Хотя бы предупреждать надо.
Лёгкость голода
Не в первый раз уже замечаю интересную вещь: если при появлении чувства голода потерпеть и дождаться, пока оно пропадёт, в теле появляется какая-то непонятная лёгкость и куча энергии.
В таком состоянии и есть хочется меньше. Завтракаешь половиной обычной порции (или не завтракаешь) и до обеда нормально. Работоспособность увеличивается, хочется делать что-то, а не писать заметки в блог тупить в инстаграме. В общем, классное состояние.
Подозреваю, в отсутствии пищи организм мобилизует резервы, чтобы первобытный человек мог успешно охотиться.
Но оставаться в нём сложно. Во время очередного приёма пищи (или даже когда она просто появляется в поле зрения), организм очухивается и требует еды. Важно не поддаваться, съесть немного и убрать всё подальше. Если момент просрать и наесться, то всё — жрать будет хотеться до конца дня. Я обычно себя в таких случаях не сдерживаю, и объедаюсь — так проще на следующий день начать сначала. Возможно даже, что такие срывы необходимы...

Тайтлы
Тайтл сайта — интересная штука. Поисковики обращают на них очень большое внимание, а живой человек видит их только в двух случаях:
- В поисковой выдаче
- Когда ищет нужную вкладку в бразере
В первом случае хочется осмысленной человеческой речи. Задаёшь вопрос — получаешь ответ (разумеется с ключевиками):

Но когда дело доходит до табов, осмысленная речь перестаёт работать. Попробуйте, к примеру, найти тут ресторан «Фарфор»:

Здесь помог бы каталогизированный подход, когда коротко и ясно:

В теории можно менять тайтл джаваскриптом, чтобы в выдаче отображался осмысленный заголовок, а при посещении сайта — навигационный. Но непонятно, как к этому отнесутся сами поисковики.
Другой бег
Где-то год назад я начал готовиться к уфимскому марафону, который должен был пройти в 27 сентября. Хотел не просто пробежать марафон, а пробежать хорошо: за 3 часа 25 минут. Нагрузки были серьёзные, и в в какой-то момент мне просто пришла в голову мысль: «а кому я что пытаюсь доказать, и на хера мне всё это надо?». Так я не пробежал марафон и забросил бег больше чем на полгода.
Сейчас начал бегать в своё удовольствие, так как бег мне действительно нравится. Нравится не сам процесс, а ощущения после пробежки. Отключил в Ранкипере подсказки о темпе, чтобы он меня не подгонял — теперь, если мне бежать не очень хочется, просто бегу медленно, и наплевать. И заметил огромную разницу в ощущении и самочувствие. Раньше, после 10-15 км мне хотелось только лежать и просто не двигаться. Сейчас наоборот, хочется какой-то движухи: покататься на велосипеде, поработать или хотя бы просто почитать книжку.
Ещё заметил важный момент: первый километр-два надо вообще бежать не напрягаясь, даже если бежишь на время. Если сразу в рабочем темпе, то всю пробежку будешь ватный. Если сначала разогреться, потом можно выйти на гораздо более быстрый темп и нагнать всю разницу.

Вот хороший пример: рабочий темп в то время у меня был где-то 5:07. К концу пробежки я бежал уже 4:45
В результате среднее время было меньше 5 минут
Сейчас бегаю каждый день. И хотя часто лень, но удаётся уговорить себя: 5 км — это совсем немного, и никаких ограничений, хотя бы пройди. В результате иногда получаются годные пробежки.
28 мая хочу пробежать полумарафон в Стерлитамаке. Просто пробежать и получить хоть какое-то материальное подтверждение, что я действительно бегаю.
Eatty будет жжечь!
Делаю в Eatty сжигание еды: иначе говоря, физические нагрузки.

Работает всё просто: побегал с каким-нибудь Ранкипером, записал в Eatty сожжённые калории. Они вычитаются из дневной нормы, что даёт лишние граммы еды. Ура!
Превращаем вредную привычку «много жрать» в полезную «много двигаться»
Долго думал, в какой пропорции сжигать БЖУ. При аэробных нагрузках сжигаются в первую очередь углеводы, но не LCHF-диете, на которой сижу сам — там жиры. При анаэробных нагрузках нужно больше белка. В результате использовал пропорции дневной нормы. Хуже от этого не будет: при классической низкожировой диете человек будет есть больше белка и меньше жира — всё как надо.
Что нового в Eatty! 1.1

Помимо главного нововведения — самого удобного калькулятора калорий, в Eatty! 1.1 добавилось ещё много чего.
Выбор диеты
На Сойленте, откуда я брал формулы для калькулятора их шесть: Low Fat, Moderate (Less Fat), Moderate, Zone, Low Carbs, Ketogenic.
Это слишком много, оставил три: низкожировую (№1), среднюю (№3), низкоуглеводную (№5), и добавил любимую LCHF:

Начать сначала
Иногда хочется сменить диету или просто начать жизнь с чистого листа. Теперь это можно.

Календарный вид
Съеденное за предыдущие дни группируется.

Будущие кормёжки
Покормить себя можно в будущем. Такие записи не считаются на главной, но суммируются с общим, помогая планировать.

Теперь и на русском
И самое важное...

Делаем калькулятор калорий
Основной проблемой, с которой столкнулись наверное все пользователи Eatty! был ммм... первый функциональный экран программы:

Никто не понял, что с этим делать и откуда брать дневную норму.
Я изначально сознавал, что нужен какой-то калькулятор, но решил отказаться от него на первом этапе, так как программа из-за отсутствия базы продуктов всё равно подходила только хардкорщикам: кто ещё будет высчитывать количество БЖУ в куриной грудке и грече.
Настало время!
Я провёл короткое исследование. Большинство калькуляторов сложны: надо указывать свой пол, возраст, рост, вес, уровень физической активности, а также цель: похудеть, поправиться или не меняться.
Так выглядит самый приличный калькулятор на сайте Soylent:

Теория
Вначале рассчитывается норма метаболизма — сколько потребляет организм в состоянии покоя. Для мужчин и женщин формулы разные:
М: 10×Вес + 6.25×Рост − 5×Возраст + 5
Ж: 10×Вес + 6.25×Рост − 5×Возраст − 161
В зависимости от физической активности норма умножается на значение от 1,2 до 1,6. После чего уменьшается на 15—25% при похудении, любо увеличивается на то же значение при наборе массы.
Упрощаем
Целых 6 пунктов, попробуем выкинуть половину.
Сначала выкидываем физическую активность. Она не нужна, так как в Eatty! будет сжигание еды (упс, спойлер).
5/6
Разница в росте у людей примерно 15%, можно пренебречь. Гнаться за точностью не имеет смысла: содержание БЖУ в продуктах варьируется, поэтому даже если всё точно взвешивать — погрешности неизбежны.
4/6
Следующее — цель: похудение, набор веса или ничего не менять. Появляется идея, что цель и текущий вес можно заменить одним параметром: желаемым весом. Логика подсказывает, если указать желаемый вес ниже текущего, дневная норма также будет ниже, и ты похудеешь, если выше — то наоборот.
3/6
Остаётся три параметра: пол, возраст и желаемый вес. Отлично!

Хотя нет, не отлично. Убираем всё интерфейсное говно:

Вот теперь отлично!
Всё это, а также много другое, уже доступно в последнем релизе Eatty!

Как мы делали Рокс Пиццу

Стояла задача сделать крутой сайт пиццерии с возможностью покупки онлайн, с акциями и настройкой пицц, а самое главное — с подключением к системе автоматизации ресторанов IIKO.
Сегодня мы его запустили, и хочется немного рассказать, как всё это было.
Но для начала поделюсь, что я осуществил свою давнюю мечту с летающими пиццами и корзиной-коробкой!
Смотрите, красота какая:

При добавлении пиццы текст в кнопке меняется с «Выбрать» на «Ещё одну», а сама карточка подсвечивается.
Выбор ингредиентов
Все пиццы существуют в 2 размерах: 23 и 31 см. Любую можно заказать на толстом или тонком тесте. В каждую можно добавить до 10 дополнительных ингредиентов.

Отсюда пицца тоже красиво улетает в корзину.
Сложно было с IIKO. Размер и тесто там не являются параметрами пиццы, это... Разные пиццы! То есть на каждую пиццу на сайте, в базе IIKO приходится четыре — каждая со своим айдишником. Ингредиенты у каждой пиццы тоже уникальные: поэтому необходимо каждый синхронизировать с тремя ему подобными.
В общем, жопа!
Конструктор акций
На сайте есть много разных акции. Акции со скидками на самовывоз, доставку или на то, и другое вместе. Все акции подразделяются на 2 категории: комбо-наборы (просто набор товаров по определённой цене) и скидка на N-ую пиццу. Для второго варианта пришлось писать целый конструктор:

Пицца по акции не должна быть дороже остальных, поэтому конструктор автоматически их сортирует по цене.
Самое сложное, естественно, под капотом, потому что все акции полностью создаются и хранятся в IIKO, мать её!
Иллюстрации
Единственное, на что не повлияла интеграция с IIKO — эти замечательные иллюстрации:
Про Eatty!
Вкратце расскажу, для чего нужна Eatty, и как она делалась.
Eatty, чтобы есть вовремя!
Я это сам понял только вчера, когда забыл телефон с программой дома. До этого я думал, что она в первую очередь для управления количеством съеденного. Но нет, вчера я полном серьёзе растерялся и не знал, идти есть или нет. Количество еды было неизменным: взятый на работу ланчбокс, но чувство голода хитрая штука — сложно понять, когда ты действительно проголодался, а когда ты просто хочешь пить или даже спать.
Началось всё естественно с проблемы
Все программы для подсчёта съеденных калорий или БЖУ (белков, жиров и углеводов) работают примерно одинаково: ты вводишь свою дневную норму, потом — сколько съел, а они показывают сколько грамм чего тебе осталось до 12 ночи. В полночь всё почему-то обнуляется, и если вдруг ты объелся с вечера, то наутро начинаешь с чистого листа. Неудивительно, что в таких условиях сложно держать среднесуточную норму в норме — рассуждали мы каким-то вечером с моим другом Николаем Сынковским за стаканом виски.

Везде всё одинаково: (дневная норма) − (съеденное) = (осталось).
Внимание вопрос! Если ты съел 45% нормы, а сейчас 3 часа дня, стоит ли есть и как много? Я для себя ответа так и не нашёл и часто сталкивался с ситуацией, что норма исчерпывается к вечеру, а жрать охота.
И первоначальная идея Eatty была в том, чтобы считать БЖУ не за какой-то день, а за последние 24 часа. Но, когда для математических расчётов мне необходимо было вычислить cреднечасовую норму БЖУ, я всё понял:
Какие к чёрту граммы? Почему именно сутки? Нахрена вообще знать, сколько тебе осталось съесть?!
Самый понятный вариант, это показывать как долго тебе хватит, того, что ты только что съел:

Первоначальная версия программы, пока ещё без названия, без персонажей, и в виде веб-приложения.
Мелочь: в соотвествии с принципами МРП (минимально-рабочего продукта) иконка в кнопке «Настроек» заменена буквой S (Settings)
Оцените, насколько понятие времени понятнее человеку, чем граммы и проценты. Через 3 часа кончится белок и надо будет поесть.
Знакомьтесь,
Protty, Fatty и Carby!
Не помню, когда именно я решил, это будет отличная идея: превратить в программу подобие игры, эдакая Томагочификация: следишь уже не за своим питанием, а чтобы твои БЖУ были счастливы. Кормишь их часто и по чуть-чуть — именно так, как надо.

Первый релиз!
Добавил подсказки по граммовке: сколько лучше съесть в данный момент.
Время сделал «абсолютным»: то есть хватит не на 3 часа, а до полудня.
С появлением персонажей переименовал кнопку «Feed yourself» в «Feed», намекая, что заботиться надо уже не о себе.
Результат
Сам я начал пользоваться Eatty два месяца назад, в конце декабря, и за это время я не только не вышел за пределы нормы, но сумел снизить количество жиров на 20% (я на жировой безуглеводной диете, и жиры для меня — основной источник энергии, так что 20% — это действительно результат).
P.S Локализация
Изначально делал программу на английском языке, сейчас хочу перевести в первую очередь на русский. В связи с этим, жду от всех предложений по русскоязычным именам для Protty, Fatty и Carby (это белки, жиры и углеводы).
Воркфлоуи
По рекомендации Быстроновского решил попробовать Воркфлоуи и пришёл в полный восторг!
Сервис прост до гениальности: весь интерфейс состоит из одной-единственной страницы (этот факт сам по себе доставляет отдельный интерфейсный оргазм). Поразительно, насколько надо иметь чистый незамутнённый разум, чтобы придумать такое.
Ребята просто изобрели «кирпич», благодаря которому собрать всё, что угодно:
Задачник

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

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

Можно смотреть с чего всё начиналось (интересно, а редакторы используют git?)
Как мне кажется, в этом сервисе можно делать вообще всё, что угодно. Единственный минус: мобильное приложение — полное говно!