Category: еда

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

nyaload

На пиццу

На слух фразы "приглашаю вас на пиццу" и "приглашаю вас напиться" легко перепутать.
nyaload

расшифровка кодов ОКВЭД

Взял список запрещенных к импорту продуктов ( http://government.ru/media/files/41d4f8e16a0f70d2537c.pdf )
написал скриптик, который вытащил расшифровку кодов ОКВЭД
Я на всякий случай закупил пять килограмм моего любимого Ольтермани 17, хранится он полгода.


ТН ВЭД 0201 - Мясо крупного рогатого скота, свежее или охлажденное
ТН ВЭД 0202 - Мясо крупного рогатого скота, замороженное
Collapse )
"ТН ВЭД 2106909809" ( прочие пищевые продукты ) пугает неизвестностью.
nyaload

(no subject)

После написания 300-строчной программы на своём кривом диалекте схемы, я понял, что мне не нравятся:

1) car ( http://en.wikipedia.org/wiki/CAR_and_CDR )
2) cdr
3) cons
4) скобки
5) циклы на tail-рекурсии
6) рекурсия через (λx.x x)
7) протаскивание state (заполнение map-таблицы) через три вложенных fold.
8) реализация массивов через односвязный список
9) реализация массивов через дерево (не реализовал)


Без синтаксического сахара, позволяющем писать на immutable functional языках "примерно как на императивных" - вообще не жизнь.
nyaload

ICFP

Пока успехи скромные, только написал компилятор из своего недо-scheme в их asm, и посчитал на нём факториал
(
    (let 
        (circle (ff f n (f f n)))
        (fact (ff f n (if (== 0 n) 1 (* n (f f (- n 1))))))
        (n 5)
        (circle fact n)
    )
)

ff arg1 arg2 .. argN (тело) — определяет lambda-функцию
(let (x value) code) — синтаксический сахар для ((ff x code) value)
nyaload

Слишком толстая обработка ошибок.

Написал програмку, которая колбасит большой текстовый файл на гигабайт.
Была в ней вот такая простая функция для обработки ошибок:
void error(const char *msg) {
    fprintf(stderr, "%s\n", msg);
    exit(1);
}
_Winnie C++ Colorizer
В некий момент времени заменил я её на
void error(const std::string &msg) {
    fprintf(stderr, "%s\n", msg.c_str());
    exit(1);
}
_Winnie C++ Colorizer
Ну, что бы удобней было писать error("can't open file '" + filename + "'").
Время работы программы ухудшилось c 15 секунд до 20 секунд. Хотя функция ни разу не вызывается, одно лишь наличие конструктора std::string в плотных циклах снизило быстродействие на треть.

Страшно подумать, ведь наверное повсеместный throw std::runtime_error("error description") ещё хуже.
nyaload

(no subject)

Очевидно, из магазинов надо убрать сахар. Он вызывает привыкание, доставляет удовольствие, вреден при злоупотреблении.

Причем это не просто вкусовая привычка, это простая физиологическая реакция, глюкоза в крови = удовольствие и легкое опъянение для мозга ( http://cybersecurity.ru/prognoz/109510.html или гугль ).

Мне сложно пройти мимо печенек на кухне, не кинув пару в рот, иногда неосознанно.

Так же надо запретить воздух, им можно надышаться до забавных глюков.( http://ru.wikipedia.org/wiki/Холотропное_дыхание ).

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

проверка пересечения: сведение к меньшим размерностям

Для объектов A и B со связной границей утверждение "А пересекается с B" эквивалентно "границы А и B пересекаются || A вложен в B || B вложен в А"

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

А и B должны быть со связной границей ( это ограничение самое важное при прикладном применении ). А так же замкнутыми, непустыми, и должны существовать точки вне A и B ( A|B не должно покрывать целиком всё пространство ).

Для полосок на торе, шайб-колец в 2d, отрезков на одномерной прямой, утверждение не сработает, так как их граница не связна.
Условие что есть точки вне A и B тоже необходимо, иначе можно привести антипример A={(x,y)|x2+y2 <= 2}, B={(x,y)|x2+y2 >= 1} или арбуз упакованный в два презерватива.

Кстати, теорему придумал сам, но наверное тоже баян, так как учебников по топологии не читал.
nyaload

«....ааа что, вы и есть за меня будете?! - Ага!!»

Игрушка на http://godville.net укрепила меня во мнении, что борьба с ботами - это от слабости геймдизайна. Зачем игрокам писать ботов, если конфеты интересней есть самому?

PS. фраза заголовка - из «Вовка в тридевятом царстве», можно на ютубе глянуть, если прошло мимо детства.
nyaload

Попадание точки в многоугольник. Количество заныриваний не равно количеству выныриваний.

Есть точка O, есть многоугольник A[n] на плоскости. Надо выяснить, попадает ли точка в многоугольник.

Основа алгоритма описывается очень просто: давайте возмём бесконечный горизонтальный луч из точки направо. Если луч пересекает границу четное число раз (в том числе 0 раз) , то точка вне многоугольника. Если нечетное число раз - то внутри.



Затем программист пытается обработать хитрые случаи: луч проходит через вершину многоугольника, сторона многоугольника совпадает с лучом. В коде возникают какие-то if, какие-то EPSILON..., молитвы о том, что редкие случаи когда две точки на расстоянии EPSILON но луч между ними - не существуют, насильно изгонясь из сознания Collapse )

Смотри ещё: • Угол между двумя векторами
Смотри ещё: • Пересечение двух отрезков
nyaload

злой сок

Меня бесит "Сок Добрый". Который рекурсивен: содержание сока в соке 50% (остальное - вода, сахар, лимонная кислота).
Я его не покупаю, но его любят закупать на корпоративы/тусовки в силу дешевизны и двухлитровости.