Category: еда

Category was added automatically. Read all entries about "еда".

404

ура, покрыл

Я, кажется, покрыл все кейсы для getPath (прямые, кривые двух видов, круги, эллипсы, что-попало-для-дискретизации, fill). В свете этого я понял, что ошибался с моделью для класса path (M - move - это первый глагол для любой формы, которая не вырождается в другие теги (circle)).

Теперь надо понять, как это аккуратно закодить. С линией было всё просто - первая точка, M, дальше линии (L). А вот эллипс задаётся, например, двумя дугами (arc), которые тоже начинаются с M.

В класс "path" я заложил идею, что он сам знает, кто там 'M', а кто 'L'. Это сильно упрощает циклы в остальном коде, которым не надо теперь отдельно обрабатывать первую точку. Но у нас есть 'A' и прочие сложности....

Пожалуй, я оставлю этот принцип. add_line_point надо будет вызывать всегда в начале (для задачи 'M'), даже для дуг и кривых. Первая line_point (я правильно назвал это 'line point'?) становится 'M', остальные превращаются в 'L'.

... Второй вариант: add_line_point -> add_point(type, value), либо набор add_line_point, add_quardatic_point, add_arc_point, add_smooth_quadratic, etc. Первая точка всегда превращается в 'M' вне зависимости от типа.

.. Второй момент: есть места, где мне передают пачку точек. Может быть, я всегда буду принимать в класс список, а если кому-то надо передать одно значение - пусть [] его? Или добавить магии с автоопределением?

Пока что буду переписывать на add_?_points, видимо. Автодетект - вопрос открытый.

Отдельные две боли для меня:
1) Возврат круга как - в принципе, это же проблема getPath, а не Path. Ну будет у меня класс circle. Делать ли там общий класс над ними - вопрос открытый, ибо целиком libsvg я писать не собираюсь. И у меня батхёртит от отсутствия алгебраических типов в питоне. return -> Either(Circle, Path), ну круто же....

2) Кусок кода с определением "старая версия библиотеки". Буду химичить на тестах. Сейчас эта ветка вообще не может работать, потому что я случайно не добавил нужный импорт при переносе из Draft.py в getSVG.py.

UPD: В процессе борьбы за clarity, всё стало просто. Каждый метод называется по спекам (moveto, lineto, elliptical_arc, smooth_quadratic_bezier_curveto), у каждого своя конвенция по аргументам, но все они пишут в общий self.data. Поддерживается суммирование путей. Чуть-чуть сахара - первый lineto конвертируется в moveto автоматически. На выходе из контекстного менеджера проверяется, что есть moveto.

Вот код класса. За вычетом "pass" кусков, я открыт к предложениям.

https://github.com/amarao/FreeCAD/blob/3905d8974186aba43c90f429baa46a3fb8c1ad20/src/Mod/Draft/getSVG.py#L12
404

греческий

Чтобы правильно понять, как греческий звучит для посторннего уха, скажу только одно «Трапеза метафора», что означает «банковский перевод». Постоянный взрыв научной лексики или высокого стиля в бытовой речи.

404

трушный кофе

Вот такую штуку купили:



Полностью ручная - единственные две автоматические вещи - это выключение бойлера по достижению температуры и фиксированная ёмкость под прессом ровно на два шота.

Понятно, что получается не каждый раз, но навык постепенно появляется. А когда получается - оно лучше старбаксового и даже лучше, чем в машине в офисе (которая паром делает).

Эта штука делает не паром, а ручной помпой (рычаг - он самый, сколько атмосфер выжмешь - все твои).

Абсолютный стимпанк, и каждый кусок хрома тут - по делу.

Купили БУшную, с небольшой ржавчиной на поддоне. Новая - 477, взяли за 180 (после торга, в ходе которого сбавили 20 евро).
404

Похудательное

Предварительные наброски/мысли.

1. Похудание - строгая противоположность подвигу. Чем больше подвига в решении похудеть, тем менее ощутимым будет результат. Пищевая инерция у человека очень большая, и любой подвиг будет снесён привычкой.
2. Люди делятся на тех, кому худеть не надо (и кто легко сбавляет пару лишних кг), на тех, кто пытался и сумел, на тех, кто пытался и не сумел, и на тех, кто не пытался. Первые две категории за пределами рассмотрения. Фокус - на третьей, и чуть-чуть на четвёртой.
3. Похудание в масштабах десятков килограммов сильно отличается от "разгрузочных дней", ибо с лёгкостью абсорбирует любые резкие телодвижения.
4. При том, что задача "похудеть" часто выглядит невыполнимой, очень часто она спотыкается на мелкие бытовые мелочи, исправление которых не создаёт дискомфорта, но на проценты, а то и на десятки процентов облегчает похудание.
5. Чем более "в лоб" идёт процесс, тем он более болезенный и тем менее он успешный. Поиск компромиссов между собствеными ощущениями и балансом - примерно две трети от общего успеха.
6. Создание фреймворка для мониторинга - одна из базовых составляющих. Мониторига два: ежедневное взвешивание в одно и то же время (утром после сортира), и трекинг калорий. Оба процесса должны быть лишены judging power, то есть в процессе записи веса не должно быть радости "о, похудел" или "ой, набрал вес". Просто пишем. С едой так же. Просто пишем, без восторгов и огорчений. Это очень важно, потому что разделение "измерения" и "анализа" позволяет сохранить "измерение" в моменты "да ну его всё нафиг". Но сохранённое позволяет в моменты просветления посмотреть на результаты измерений и подумать об оптимизации. Малые шаги, которые из большой невозможной по высоте преграды делают длинную лестницу с ступеньками.
7. Недоедание так же плохо как и переедание. Голод своё возьмёт, а вот сколько при этом будет съедено - никто сказать не может. Куда лучше худеть с полным брюхом, чем с растущим раздражением и желанием сожрать хоть чего-нибудь.
8. Calories tracking позволяет исключать из еды невкусное и калорийное. То есть вместо того, чтобы исключать всё калорийное (включая вкусное) и переходить на траву с травяным соусом, лучше исключить для начала всё невкусное и калорийное. Часто оказывается так, что некоторые виды junk food'а и невкусные, и ужасные по калориям. Их исключение - ещё пара десятков процентов успехов. То есть вместо выбора "вкусно/невкусно", много калорий - всего лишь ещё один (но не главный) аргумент. У среней руки "заводских печенюшек" с каким-либо "шоколадом" или "кремом" калорийность такая же, как у роскошного торта. Но если вы съели кусок вкуснющего торта, вы съели вкуснющего торта и вроде бы ок, а если вы съели никакие "chocolate biscuits", то в сознании не зафиксировалось никакой ачивки по вкусному. Так что - меньше джанкфуда из пакетов и больше вкусных тортиков. Сам процесс трекинга надо описывать отдельно, ибо в общепите фиг вам, а не calories.
9. Для того, чтобы начать худеть, надо не бросать есть, а начинать есть. То есть легендарная мечта: "чтобы ещё такого съесть, чтобы похудеть". Даю первичное: вне зависимости от всего остального (включая calories tracking) каждый день - штуки три фруктов и порция салата (помидоры+огурцы-style). Даже если из-за этого будет переедание. То есть фрукты и салат обязательно - остальное по желанию. Если днём не съели - значит, давиться и жрать салатик на ночь. Салатик без сметаны и майонезика, разумеется.
10. Джанкфуд в фастфуде может быть приведён в человеческое состояние отказом от некоторых ингридиентов. Например, если в "цезарь" не лить соуса, то это засчитывается за "салатик" из предыдущего пункта. Не смотря на сухари и т.д. То же касается рыбы (butter sauce на рыбе имеет больше калорий, чем рыба под ним). Некоторые вещи невозможно исправить (french fries), зато если их заменить на mashed potatio, оно становится вполне в формате. Даже в макдонадсе можно позавтракать на 300ккал и пообедать на 600. Хотя это будет очень голодно. Опять же, никаких french fries. Осторожно с пастами. Макароны в них - не самое большое зло.
11. Сахар. Сахар. Сахар. Самое сложное. Во-первых, ищем сорт кофе, который будет хорош без сахара. Я для себя нашёл cyprus coffe, он же turkish coffe. Кто-то пробует эспрессо и живёт с ним. В чае - хороший чай можно и нужно без сахара. Из соков - tomatoe juice, ибо почти анлим (44ккал на стакан). Когда сосвсем жизнь замучила, хорошо работает смесь из аспатама, стевии, сахара и кокаина. Смешать аспатам (1 пакетик) с стевией (1 пакетик) и половину (четверть?) чайной ложки сахара. Добавить в напиток. Оно же без сахара слишком чётко понятно, что "пустое" и тело быстро научивается различать обманку. Мёд, к сожалению, идёт как сахар. Ничего более "low calories" в нём нету. Пробовать разные чайные настои без сахара же - внезапно, для меня peppermint infusion оказался очень хорошим компромиссом.
12. Яблоки на рабочем месте. Всегда. Отлично заменяют собой любые "вкусняшки" с кухни.

Про яблоки отдельный разговор. Не слушайте тех, кто говорит, что раз худеть, так обязательно жрать grenny smith и морщиться от процесса поедания больше, чем от голода. Любые яблоки хороши. Любые фрукты (может быть, кроме бананов) хороши, если они используются вместо печенюшки. Напомню: три фрукта в день минимум, плюс, надо всегда иметь минимум три разновидности фруктов в доме. То есть не "ну да, я в принципе ем, но что-то мне не нравится как эти мандарины выглядят, да и ну нафиг его", а чтобы всегда было. Всегда.

Если жрать хочется во внеурочное время - сначала фрукт, потом 20 минут пауза, потом, если хочется - что хочется то и едим. Чаще всего уже не хочется, либо ещё фрукт и довольно. А это требует иметь фрукты, да?
13. Магазинная дисциплина. Самый главный враг похудания - это жмотистость "надо съесть, а то пропадёт". Основные блюда на ближайшие дни должны быть расписаны и закупаться по плану. Среди свободных покупок в стиле "понравилось" - только фрукты, и, может быть, сырая рыба.

Типа так. Дописывать буду по мере формулирования.
404

Соевый рассол

Самая забавная штука, которую я делал. Обычная куриная грудка режется на куски и кладётся в раствор соевого соуса в воде. В этом состоянии она оставляется минимум на несколько часов, а в спокойном режиме - на несколько дней (что снимает вопрос "портится в холодильнике").

Из рассола появляются ужасного тёмного цвета куски непонятного мяса (внешне что-то среднее между плохой говядиной и печенью), которые на грилле становятся по цвету как сожжёные насмерть.

При этом на выходе имеем очень мягкое сочное мясо с которого не вытек сок (спасибо brine, то есть солевому раствору), которое готовится буквально за несколько минут. Несколько куриных грудок лежат в холодильнике (в рассоле) на правах колбасы. Вынул, 5 минут, и оно готово. По своему виду намекающее "я куча трансжиров и холестерина, посыпанная углеводами, и обжаренная в канцерогенах вкусно-вкусно". А внутри практически диетическое блюдо из куриной грудки и соли, даже без масла.

Сейчас я экспериментирую с формой нарезки и концентрацией соевого соуса (пока что на мой вкус слишком солоновато), а так же с добавлением бальзамического уксуса и лимона. Вероятнее всего, соевый соус можно заменить на обычный рассол, но с соевым соусом оно мясо пропитывает и даёт неожиданный цвет. Надо будет на ничего не подозревающих коллегах попробовать - угадают мясо или нет.

(да, я в курсе, что половина подопытных это прочитает).
404

Сушка телефона после морской воды

Телефон ожил, но будет коррозия или нет узнаем через пару недель.

Вводные данные: полное погружение в морскую воду работающего Note3, время погружения порядка 30с, до момента, когда зависает плеер (то есть вода проникает вовнутрь). После этого начинаются процедуры. Пишу с комментариями "зачем", потому что предыдущий пост вызвал значительное непонимание.

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

1) Обсушить бумажными полотенцами, разобрать, обсушить ещё раз. Цель: уменьшить количество солёной воды настолько, насколько можно.
2) Промыть обычной водой. Обычной - потому что дистиллированной мало. Если дистиллированной много, промывать только ей. Цель: растворить солёную воду несолёной, то есть уменьшить концентрацию соли. Именно потому надо промывать обильно, а не "попрыскать" или "чуть-чуть полить". Надо реально отмочить телефон, чтобы все щели, где была морская вода, достаточно побыли в воде несолёной. Поскольку обычной воды много, я сначала просто залил в мисочке водой (полностью), а потом вообще промывал под проточной.
3) Промыть дистиллированной воде. У меня её было мало, так что хватило только на одну ванну. Зато там я его подержал ещё сколько-то, и ещё с перекладыванием в другой контейнер, поливал сверху (на плату). Цель: продолжить уменьшение солёности.
4) 96% спирт. Его у меня было тоже мало, так что хватило тоже на одну ванночку, плюс полоскания при переливании в другую. Цель: уменьшение количества воды и солей на поверхностях внутри. Вода растворяется в спирте, причём, если мне память не изменяет, это экзотермическая реакция (то есть обратно уже никак без специальной помощи). Вместе с водой растворяются и соли. Поскольку это последняя ванна, она самая долгая и тщательная.

Помимо основной платы промывается крышка, верхняя половина корпуса и т.д., включая сим-карту и батарейку. Спирт слегка растворяет надписи на пластиковых деталях, но не до конца.

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

После того, как всё, что можно было промакнуть, устройство продувается тёплым феном. Это делается не в надежде "высушить", а в надежде, что сильный ветер сдует/выдует ещё чуть-чуть капель (опять же, минус соли).

После этого идёт уже сушка. Сушка не уменьшает число соли внутри (то есть что осталось - будет разъедать проводники и контакты), но удаляет влагу. Сухая соль малоактивна, так что главная проблема - это "соль + вода".

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

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

В сухой (очень сухой - сушите феном) контейнер насыпается тонкий слой субстанции, кладётся завёрнутый телефон, сверху ещё субстанции, всё это ставится на источник тепла (батарея, электрическая плита в режиме "меньше 1"). Первый час-два температуру лучше контролировать - она должна быть выносима рукой в течение 5-10 секунду после прикосновения). Наверное, можно больше, но у меня нет данных об этом, так что остаёмся в безопасном интервале. Конструкция оставляется часов на 10-20-30 (сколько вытерпите). Туда же подпихиваются завёрнутыми другие части телефона.

После сушки аккуратно извлекаете завёрнутый телефон, отряхиваете, разворачиваете, собираете.

Наверное, процесс был бы более эффективным в присутствии деионизированной воды для промывки плат и безводном спирте, но и в более бытовом варианте оно сработало.
404

(no subject)

Утопил телефон. Не в тупом толчке, а в благородном Средиземном море. Как бы от этого легче, и солёность меньше. Батарейку я выдрал через 5-7 секунд, но к этому моменту плеер успел издать приятный для уха продавца телефонов специфичный звук окончания работы в результате зацикливания dma-буффера.

Разобрал, вымыл в воде обычной (эм, жаль, не было чем снять как я поливаю из чайника свой телефон), вымыл в воде для "ironing" (дистилированная вода без выкрутасов), моя коронная надежда: вымочил 10 минут в этиловом спирте (96%), обсушил салфетками, пассировал, мелко порезал, положил в салфеточки, засыпал рисом с сахаром, оставлю на ночь на плите (1). Внезапный плюс электрической плиты - она может держать примерно 50-70 градусов, включаясь буквально на пару секунд раз в пару минут.

Завтра к вечеру посмотрим, что будет, когда я "это" включу.
404

Построение на проекции

Поворот куба на 45° в условиях перспективной проекции.

Дан куб в одноточечной перспективе:




Задача - сверху него нарисовать куб такого же размера (с учётом проекции), но повёрнутый на 45°, одной из граней к зрителю. Основная проблема - в этой проекции мы не можем нарисовать круг - он превратится в довольно извращённый эллипс.

Сначала мы построим нижнюю сторону куба, то есть "квадрат под углом в 45°.

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

Collapse )



Остаётся дорисовать оставшиеся грани и выключить слои с подсказками.



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

P.S. Да, я понимаю, что тут много халтуры - но я не научился в mypaint точно попадать в место начала линии. Там какие-то глюки и флуктуация +/-2 пиксела (ваком? mypaint?).
404

контурный рисунок

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

А вот именно рисунок, как его привыкли считать, контурным ч/б - это совершенно другое дело. Контуров нет в оригинале и их невозможно получить даже если очень пристально смотреть на объект.

Контур всегда противоестественный. Он не похож на то, что видно (кроме клинических случаев рисования чего-то в профиль), потому что человек осознаёт форму объекта в 3D, а рисовать надо его странную проекцию в 2D, причём даже не проекцию, а контур этой проекции. И где объект начинается, а где заканчивается? (Я про линии, которые проходят за пределами внешнего контура). Ну, допустим, они проходят по периметру и по ярким цветовым перепадам. И только? Нет. Более того, иногда цветовой перепад лучше проигнорировать и нарисовать почти невидимую грань. Да, грани рисовать надо - даже если их почти не видно или не видно вообще.

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

Потому есть всякие сайты "как рисовать глаза/руки/ноги/половые органы". Потому что это сайты с блюпринтами, где можно подсмотреть, какой графической абстрацией передаётся тот или иной объект. Просто так придумать самому бывает очень сложно.

Я два дня над этой грёбанной ступнёй мучался, разглядывал её с зубочисткой вместо дальномера, и так бы дальше и мучался, если бы не сделал вот такое чудо из палочки для шашлыков, пяти зубочисток, ниток и термоклея:



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

С момента, когда я эту фигню нарисовал, всё окружающее стало просто и понятно - главный объект есть, остальное "из него вытекает".