Четыре монаха медитировали в монастыре. Вдруг флаг на крыше начал колыхаться на ветру. Младший монах вышел из медитации и сказал: – Флаг колышется. Более опытный монах сказал: – Ветер колышется. Третий монах, практикующий более 20 лет, сказал: – Ум колышется. Четвертый, старший монах крикнул: – Языки колышутся!
Есть точка O, есть многоугольник A[n] на плоскости. Надо выяснить, попадает ли точка в многоугольник.
Основа алгоритма описывается очень просто: давайте возмём бесконечный горизонтальный луч из точки направо. Если луч пересекает границу четное число раз (в том числе 0 раз) , то точка вне многоугольника. Если нечетное число раз - то внутри.
Затем программист пытается обработать хитрые случаи: луч проходит через вершину многоугольника, сторона многоугольника совпадает с лучом. В коде возникают какие-то if, какие-то EPSILON..., молитвы о том, что редкие случаи когда две точки на расстоянии EPSILON но луч между ними - не существуют, насильно изгонясь из сознания ( Collapse )
Бог объективно существует так же, как существует любой естественный язык или истерика по поводу гриппа или нового айфона. У разных культур - разные боги, это как бы намёк.
Механизм в который погружены правила работы нашей вселенной - это наверное не то, что обычно люди понимают под Богом, уж вряд ли "по образу и подобию".
Агностики, вы можете сказать, что вы имеете ввиду под Богом, существование которого нельзя доказать или опровергнуть? А то можно создать по агностицизму на каждую такую штуковину, которую невозможно проверить, чем же один культурный феномен лучше другого.
Человеческий разум может породить слишком много странных вещей, неужели по поводу каждой надо разумно сомневаться "ну, может быть и есть, но проверить мы не можем".
Шодан вот тут зажигает про open source, почему это хорошо, и как бессмысленен closed source. Без религии, чисто с практической точки зрения. Заодно проезжается по закрытым драйверам от NVidia и dx-runtime.
Сегодня же я, наоборот хочу похвалить NVidia за предоставленные исходники её Texture Tools. Лезть в математику сжатия текстур мне не понадобилось, но возможность подсмотреть в исходники - очень помогло узнать, как именно воспринимаются опции командной строки. Так же это помогло исправить неработающую конверсию в 32-битный rgba-dds, опять же там надо было просто исправить две строчки в простом коде установки параметров.
Вспомнились библиотеки от Nintendo для Wii, где отсутствие исходников библиотеки увеличило время нахождения причины ошибки с нескоких минут до одного дня разглядывания чужого PowerPC ассемблера.
Лучшая позиция в будущей мировой войне – стать островком стабильности, страной вооруженного до зубов нейтралитета
На земле весь род людской Чтит один кумир священный - Тот царит над всей вселенной, Тот кумир – телец златой. В угожденьи богу злата Край на край встаёт войной, И людская кровь рекой По клинку течёт булата. Люди гибнут за металл! Люди гибнут за металл!..
строго говоря, не compile-time, но, как всегда, молимся на оптимизатор.
Правда, для широкого применения не очень удобно. Нахрен надо, не очень знаю :P Гораздо чаще хочется со строками в compile-time работать... А их компилятор уже не соптимизирует, как
inline float f()
.
updated: интересно, STATIC_ASSERT можно тут сделать?
Когда я был маленький я молился о велосипеде, но потом я понял, что Бог работает не так. Я украл велосипед и начал молиться о прощении. vianeteraser (c)bandures