вторник, 26 мая 2009 г.

Управление

Не пугайтесь, когда не на месте закат, Судный день - это сказки для старших, Просто землю вращают, куда захотят, Наши сменные роты на марше. Володя. Хоть эпиграф немного не в тему, опишу свое видение слов "управление" и "контроль". Я ничего не скажу про "теорию заговоров", у меня нет мании преследования (ни я, ни меня), и вроде бы других отклонений (по крайне мере соответствующий специалист на мед. осмотре обычно пишет прикольную фразу, типа "припадки отрицает"). Начнем... У Вас наверняка есть мечта/цель: например, жить в загородном коттедже и ездить на какой-либо крутой машине. Вы уверены, что это Ваша мечта/цель? По мне, так это цель производителя машин и строителей. Это все наведено посредством рекламы, телевидения, книг. И какая бы ни была у Вас мечта, есть кто-то другой, кому хочется что бы у Вас это осуществилось (со своими корыстными целями). Жажда денег, власти... Это опять же стремление управлять и быть менее управляемым. Есть ведущие и ведомые. Ведомые отрываются на другом. Среди родственников с расстоянием не более 2 есть парочка таких, которым как только достается пульт от телевизора, ... Есть люди, которые замыкаются на компьютерных играх. Маленькие дети только и делают, что играют (понятно почему ? :) ). Если дальше продолжать по Фрейду, то программирование - та же самая безграничная власть. Захочу, будет так, а могу и вот так. И будет так, как я захочу. Поэтому, большинство не любит проблем, например, с железом. Так как они не контролируют ситуацию, а их контролируют. Из-за этого мне нравится ФП, и я ненавижу побочные действия, глобальные мутабельные структуры.

понедельник, 25 мая 2009 г.

Минимакс

Чем же бить? Ладьею - страшновато, Справа в челюсть - вроде рановато, Неудобно - первая игра. Володя. Сейчас не будет про теорию игр, альфа-бета отсечения и ретроспективный анализ. Будет про рекорды и антирекорды (минимумы и максимумы) некоторых видов программирования. Рассматриваются промышленное программирование против спортивного. Я еще как класс выделяю академическое программирование, но при сравнении почти не встретится. Рекорды спортивного программирования: - количество вложенных циклов = 13. Задачка как раз про теорию игр: на поле 4х4 выколоты 2 клетки. На поле расположено 2 фигурки из тетриса (которые буквой "Г"). За ход обязательно нужно поднять свою фигурку и переместить на новое положение. Проигрывает тот, кто не может сделать хода. Так вот, авторское решение (поляки вроде) содержало 13 (!) вложенных циклов 1..4. 4^13 = одному хорошему числу :) . Хотя, вроде, ретроспективой можно проще. - наибольшая размерность массива(количество измерений) = 5. Задачка была как производная баяна про небоскреб и кидание яиц, только посложнее (вход такой же, число объектов и этажей, оптимизировать надо кое что посложнее). Придумали только лень, где состояние задается кортежом из 5 элементов. Еще и напряги с памятью, пришлось хранить в 5-ти мерном массиве (даже 2 массива, так как еще булевский на "посещение" состояния), на хранение хеша не хватило бы. Как проще, я не знаю. Авторской решение такое же. - Встретилась вот такая конструкция: a[b[c[d[e]]]++] = x; С точностью до \alpha-редукции. Если будете реализовывать суффиксный массив по классической работе Манбера и Майерса, то что-то похожее у Вас встретится. У нас это реализовывал Артем (так как он первый вкурил эту работу), у него получилось a[b[c[d]]++][e] = x; Хотя в одной академической работе и MSU SE коде я встречал первый вариант. Антирекорды промышленного программирования: - в метод передается 29 параметров (почти все long). - класс с 380 + n методов - метод с 80 + n локальными переменными. Если Вы думаете, что это шутка, или в крайнем случае "индийский код", то, увы, это реальность. Сразу вспоминается про отрубание рук за воровство, запрет эвтаназии, мораторий на смертную казнь и УК РФ 105. Хочется всего, и наблюдать, медленно и мучительно... Еще раз, это реальный код одной довольно большой компании ( > 10000 человек). У них в списке заказчиков есть Аэрофлот, Федеральная налоговая служба РФ, Центральный банк Российской Федерации, Visa International. Так что не удивляетесь, если что не так. В том же списке есть и Coca-Cola, MS, Sun. Недолго видимо им осталось. В промышленности последние лет 15 рулит бизнес-логика (как я всегда говорю, бизнес минус логика). Все приложение - это одно большое ЕСЛИ. Правда, заказчик и сам не знает, что ему надо. И все ЕСЛИ поступают на вход динамически. Если бы (опять если) заказчик все знал как ему надо, то это было бы не сложнее простого конечного автомата. Выходит чуть посложнее. Все-таки за автоматным программированием (Шалытовское) в промышленности будущее. В промышленности (из-за отсутствия ясности у заказчика) тестов нет и быть не может. В спорте тесты есть :) . В академическом программировании тестов тоже нет, там уже формальное доказательство. По деньгам - в другом порядке. В промышленности они есть и довольно много, в спорте есть порядка 10 человек в мире, которые смогут жить на призовые (не то что бы у них потребности маленькие, призовых только на 10 человек хватит). У академиков деньги не платят за алгоритмы. Хотя, если Вы решите 3n + 1... Короче, спорт - это что-то среднее между промышленностью и академиками. Академики - это тот же спорт, только раз в полгода и на неделю. Когда муза в голову ударит. У Эрдеша (правда, он чистый математик, не cs) она (муза) сбежать не смогла. Подходя к эпилогу, хочется плюсов из всех классов программирования и отсутствие минусов этих же классов. Где ж такое найти?

воскресенье, 10 мая 2009 г.

Когда это все смотреть...

Сейчас я *не буду* подробно описывать голливудский ширпотреб, который я изредка смотрю (в среднем раз в 2-3 недели по фильму посматриваю, но почему-то с торрентов успеваю скачать раз в 10 больше, чем просмотреть). 
Обычно смотрю googleTech. 
Кстати, вне зависимости от пола, возраста, религии и уровня зарплаты, рекомендую 2,3,5...infinity. К теории чисел (как я сначала подумал) никакого отношения не имеет. Красотень! 
Посмотрел лекции Лекции на Малом мехмате МГУ &Лекции летней школы "Современная математика". В очереди уже полгода стоит питерцы (судя по всему, тоже очень много вкусного. Очередь начала потихоньку двигаться). Про SICP я уже говорил (ладно хоть успешно досмотрел). 

И вот сегодня наткнулся на продолжение Дубны. Тут часть я уже видел. Но, блин, сабж. Там же 80+n штук. При текущем графике я в состоянии смотреть со скоростью 1 лекция/день. Да и за 2009 год еще накинут. Очередь на 4 месяца уже есть. Лишь бы не найти чего-нибудь еще вкусного :) . 
Дубнинские лекции со своей спецификой: в отличие от всяких БКШ/ЛКШ/ЛМШ, в них нет олимпиадной направленности. Читают люди типа Арнольда, Успенского, Новикова, Матиясевича, и куча других громких фамилий (хотя это доступно для школьников/младшекурсников. На mccme и говорится, что для участников межнара по математике туда можно ехать на халяву, уровень не слишком страшный. По крайне мере даже я, вроде, все понимаю). Питерцы читают по cs направлениям. Там тоже далеко не дети читают. Жаль что в сутках всего 24 ч.[его-то], что из этих 24 приходится еще большую часть времени спать и ходить на работу. Что в у КПК иногда заканчивается батарейка, что в маленьких наушниках через час устают уши, а в больших ушах трудно смотреть лежа на боку на кровати.

воскресенье, 3 мая 2009 г.

Этот замечательный МИФ

А потом началось самое интересное... Наполеон. Речь пойдет не о стиральном порошке, а о серии "МИФ" Роберта Асприна. Хочется сообщить (правда, не понятно кому и зачем, но все равно хочется), что я таки прочитал ее (серию), что переведены на русский. 16 книжек. Теоретически, есть еще две, но они пока на импортном. Увы, серия уже не продолжится, уже примерно год как Асприн не присутствует в этом мире. Хоть МИФ и принадлежит к фэнтези, но это не "Кольцо" или "Гарри Поттер" (эти две я точно читать не буду). Это что-то на уровне "Кибериады" Лема ("Иона Тихого" отнесем просто к фантастике), или маленькой серии Стругацких ("Понедельник", "Сказка о тройке", "Сказка о тройке - 2"). А вот Вы знаете, что есть "Сказка о тройке-2"? Я совсем недавно узнал. Оказывается, это их цензура не пускала, они порефакторили так, что получилось самостоятельное произведение (по их словам). Если у Вас хорошая память, или Вы будете читать их сразу последовательно, то заметите ну очень большое сходство. Так что отложите на пару лет вторую часть. В чем фишка Асприна? Только ради эпиграфов к каждой главе... это стоит почитать. На питерских контестах в openCup к каждой задаче стояли те самые эпиграфы (видимо, Лопатин тоже фанат Асприна). Я из-за них и начал его читать. Втянулся :) . Хотя в одной книжке эпиграфов не оказалось, и еще две другие книжки как-то выпали из общей серии (никакие получились, у автора перерыв был). Все равно рекомендую. Философии, конечно, поменьше чем у Лема и Стругацких, но юмор на уровне. И еще немного противоречия. За последний год я не прочитал ни одной бумажной художественной книги. Ключевые слова "бумажная" и "художественная". Хотя я сегодня заказал одну бумажную, но не художественную. Всю художественную я читаю на соньке (Sony PRS-505), а не художественные - экранка/бумага. Опять же приведу пример, как я читал две страницы по теории чисел порядка 40 минут. Точнее прочитать то можно и за две, но нормально переварить это я смог в 20 раз медленнее. Так как в книжке порядка 700 страниц... она так до сих пор на полке и стоит, страниц 20 наверное прочитал. С художественными все быстрее, на соньке это менее 1 мин/стр. Правда, я теперь слабо представляю, сколько это в настоящих бумажных страницах.

суббота, 25 апреля 2009 г.

Быстрее, выше, сильнее...

Тренируются ли профессиональные саперы в игру "Сапер"?
Купил очередную мышь (у предыдущей сдохло колесо). Привыкал в сапере, результаты сразу на +20%. Прошла неделя, привык, результаты восстановились. 
Мат. ожидание = 90+n (на среднем и малом поле все скучно и неинтересно, поэтому результатов не помню). Личный абсолютный рекорд = 71(лет пять, наверно, назад. Всего в жизни 70+n делал раз десять. Тогда мышь еще с шариком была). Со 80+n прохожу примерно в 5%. Как можно сделать 46(абсолютный зарегистрированный рекорд)? Тут, правда, ограничения в интерфейсе мозг-мышка, а не в монитор-глаз-мозг. От двух до семи все считать умеют, а вот точно 300..500 кликов в минуту делать уже сложнее. 
Есть одна прикольная модификация сапера - Crazy Minesweeper. Там мины разной "разрывной силы": от 1 до 3. Поэтому считать надо уже уметь не до 8, а до 24 :) Ну, по- крайне до 12 иногда приходится. Когда ее впервые увидел, то мозг вынесло. Стандартные шаблоны из простого сапера не работают, иногда приходится думать. Жаль, что она немного платная, на максимальном размере не дает. 
Личный рекорд на среднем поле (16х16) = 48.91 сек (91 - это сотые доли секунды, там время до сотых измеряется). Хотя там рекорд на сайте вообще в 25 сек. Там же есть модификации на нестандартном замещении (не совсем уж многогранники Вороного, но отличается от квадратного). Честно, не играл.
Когда остается совсем немного, то есть немного пародоксальная вешь. Иногда лучше вскрывать ту ячейку, где вероятность нарваться больше, чем в других. Но в случае успеха это даст какую-то информацию. Например, если осталось три невскрытых (в один ряд) и одна мина. Вскрывать центральную бессмысленно. Только этот пример для равных вероятностей(придумайте пример самостоятельно. Я знаю такой, только тут рисовать придется).
В общем, моторика рук и никакого мошеничества. Интересно, есть вот геймерские мыши... 
ЗЫ. 0 < n < 10

вторник, 21 апреля 2009 г.

Сломали индукцию

Сегодня был финал по спорту. Конечно же, поздравляем ИТМО! Вот именно они и сломали (позитивно) индукцию. В 1999, 2001, 03, 05, 07 команда ИТМО занимала третье место, в этом году взяли абсолют. 
Как это обычно происходит у физиков (и программистов тоже бывает), пытаются чуть модифицировать правило. Так как третье место заняли Бурундучки, то легко предложить следующую индукцию: в нечетные года команда из Питера занимает третье место :) . Ждем 2011...
За последние 10 лет абсолют был у России (6 раз), Китай && Польша (по 2 раза). В школьном IOI страны примерно тоже, пропорции немного другие. Хоть в этом году и было 100 команд (в прошлом 80+n), но почему-то на NEERC досталось только 11 мест (это еще при условии, что в прошлом у нас тоже был абсолют, там 12 мест было). Приехали украинцы и украли место. (причем, фактически, у ИжГТУ. Надо сейчас им мстить: отправить Питер + Петрозаводск в NWERC, Москва + Саратов + еще кого-нибудь в SERC. Мест на 5-6 больше станет :) ). 
Причем опять на замороженной таблице есть порядка 10 команд, которые не могут сдать даже самой халявы. Причем половина из штатов. А у них 22 места. Сейчас всей южной америке тоже мест 20 дают. Когда я участвовал, мы стабильно (или погранично) могли бы пройти в финал с любого полуфинала из США, южной америки, Австралии и Океании. Хотя наш уровень = 30 + n на NEERC. Со всей южной америки тогда было 3 места. Как-то глупо по численности делить места.

вторник, 14 апреля 2009 г.

Кстати...

Опять про Рамануджана.
13*133 :), причем дважды :) . 
Сам он тогда не видел, что :1729: = 19. 19 развернуть в 91.  19*91 = 1729. 
:a: = сумма цифр числа
За исключением тривиальной 1, есть всего 3 таких хитрых(кроме Рамануджана, еще 2). 

пятница, 10 апреля 2009 г.

\lambda и мэйнстрим

\lambda и мэйнстрим
Хочется высказаться на счет текущего состояние ФП и то, что понимается мейнстримом (скорее всего все выпады пойдут в сторону ms).
Для кого предазначено это сообщение? Если вы лично знакомы с Д. Скоттом, Per Martin-Lof (не знаю как правильно по-русски), ну, или хотя бы Ф. Вадлером; вас не пугает импредикативный полиморфизм(хотя я уже забыл что это :), но созвучно с синхрофазатроном); между словами морфизм и монада вы найдете что-то более общее чем общая первая буква "м", и что все тот же морфизм не имеет ничего общего со всякими *-измами (капитализм, марксизм, ...) ... - дальше вы можете не читать, все равно ничего нового вы здесь не узнаете.
Начнем с определений и операций. 
Определение можно прочитать в любой книжке по \lambda-исчислению. :) Что понимается под \lambda-ой в ms я лично не знаю, хотя в msResearch есть несколько вменяемых людей, кто смог бы им объяснить.
Имееется понятие нормальной формы, редукции. \lambda-выражение можно редуцировать, до тех пор, пока не придем к нормальной форме (выражение, которые уже нельзя редуцировать). Например, 4 - это нормальная форма. f - "обычно" тоже (просто функция), а f 4  - можно вычислять.
Есть две "вспомогательные" редукции: \alpha, \mu (если не ошибаюсь). Первая - переименование свободных переменных, вторая - если функции равны, то и равны их значения, вычисленные на одних аргументах.
Основная - \beta-редукция. Просто подстановка (ну, или чуть сложнее, из-за коллизии переменных).
Есть еще оператор неподвижной точки, для целей рекурсии. Иначе бы все было бы плоско. Так же имеются несколько примитивов (типа, if, равенства, арифметики).
В с#(3) с "\lambda-ой" можно сделать только одну вещь - откомпилировать в delegate. :) А у него тоже не слишком много свободы, его можно только вычислить (invoke). По смыслу, делегат - замыкание (closure). Изменив свободную переменную в определении делегата, мы тем самым изменим следующий invoke.
В ФП, как всем известно, функции являются объектами первого уровня. То есть их можно *нормально* использовать: создавать, передавать как аргумент и прочее.  Там это очень удобно и красиво. При наличия таких простых вещей как карринг, вывод типов все становится (опять же) очень лаконично. Примеры тут.
А ms хочет ввести понятие "\lambda" уже в С/++(2010). :) . Осенизаторскую машину ложкой меда не исправить. F# - получился как породия на ocaml, но все-равно императивный. Какие-то попытки добавить в некоторые фенечки к C# все равно ни к чему позитивному не приведут. Был бы смысл разделить императивный код и *точно ФП код* (хотя бы просто атрибутами), но side-effect всегда можно получить, ибо рефлексия. C-шный const отказались делать в шарпе, так как, типа, всегда можно низкоуровнево (*void) хоть куда в памяти записать. Msil && .net по определению процедурно-объектны (настоящее ООП, имхо в акторной модели, тот же Smalltalk, но это отдельный флейм). Даже тот делегат выбивается из общей картины. Жабовские анонимные классы, взамен делегатам, и то как-то в теме (полагаю, преследовали одну цель). 
В современном ФП (да какое оно там современное? та же Miranda, *ML,  пред- и пост- haskell-ные - конец 80, начало 90-хх) никакие дженерики, препроцессоры, никакие проблемы с типами (понятие cast-exception просто отсутствует, ибо негде), никакой мутабельности, все строго по теории. Просто думать надо по-другому.
Что я тут хотел сказать... Теперь уже и не знаю: слишком много хочется хочется сказать, только что-то не связно (без цели) получается. Переубеждать кого-то в споре ФП vs. императивщина - это банальщина. Что в мейнстриме ФП не будет пока еще лет 10 - это точно. Что уже лет 10 есть довольно вкусные экземляры ФП. Что современные реализации ФП довольно далеки от теории (в реализациях еще копать и копать), но там *такие* абстракции, что программистам оно и не надо (и не снилось) (те же \lambda-кубы, и высших размерностей :) ).  Что когда ms говорит, что это ФП и все будет рулез, то продолжайте жевать свой гамбургер и запевайте кака-колой.

понедельник, 6 апреля 2009 г.

Бег иноходца

Я на десять тыщ рванул, как на пятьсот, -
и спекся.
Володя.
Сегодня (неожидано) проснулся и пошел бегать. Попытки осуществить это были и раньше, но они заканчивались на фазе выключения будильника.
Первоначально хотел пробежать трешку без остановки, после первого круга - решил что два вполне сойдет. Как Вы, наверное, уже догадались, непрерывно пробежал только километр. Если не учитывать плохие погодные условия (утренний снег и скользский поворот. Центробежной вынесло 2 раза), то график примерно в 2 раза хуше школьного :).
В итоге пробежал $2 - \epsilon$, прошел пешком 0.5. Не сдох.
Если я у вас (зачем-то ?) займу кучу денег, то знайте (опять же зачем-то, держите за спиной камень или огнестрельное).
Не то, что бы к чемпионату мира готовлюсь. Но хотелось бы, что когда придет кто-нибудь с капюшоном или с косой, быть здоровым и желательно не молодым.
Я впервые не был иноходцем,
Я стремился выиграть, как все!
Опять Володя.

четверг, 2 апреля 2009 г.

Смысл?

-Есть ли жизнь после смерти?
-Если ее и там нет, то это уже наглость!
Сейчас меня торкнет на небольшую философию. 
Есть первичные понятия, и есть сущности выражаемые посредством определений. Первичные понятия, такие как точка, прямая, множества, как известно, определений не имеют и иметь не могут (не будем смотреть на всяких Цермело с Френкелем. Так же не будем упоминать понятие алгоритм, хотя в школе нам поддиктовку что-то определяли :) С возрастом наивность ушла). 
А вот есть ли у понятия "жизнь" определение? Или это первичное понятие? Конечно в медицине или у юриков что-то есть. В какой-нибудь астрофизике, наверное, тоже. Среди лысо-бородатых классиков(то ли Ленин, то ли Маркс) есть такое, как "способ существования белковых тел". Вроде бы ничего так определение, а вот Вы можете напротив своей жизни поставить "способ существования"? или медицинское "биологические процессы"? Вот и я о том же... Так что отнесем к первичным понятиям.
Продолжая пьянку. У всех есть мечта, фантазии, желания(если этого нет, то тут понятие жизнь не применимо). Далее идет понятие цели. Цель - это не мечта, к цели идут. Ее ставять, достигают(или не достигают), ставят новую. А к мечте не идут, она летает. И ждут когда же она упадет. Цель уже есть не у всех. 
А еще дальше идет понятие смысла. Определения точно не дам. Но это не первое и не второе. Это не просто не достижимая(слабо) цель, это нечто нематериальное. И это не виртуальные мечты. Если мечты могут менять чуть ли не каждый день, цели более долговечны (от месяца до десятилетий), то смысл, если он все-таки появляется, статичен. 
Иногда, он приходит. Иногда и мудрость со старотью приходит. Чаще всего старость приходит одна. Смысл не летает, его не ставят и не достигают. 
Если с примером целей (хорошо, если это не мечты) для среднестатистического человека все просто: квартира, машина, жена/муж/любовник/дети, работа. То с примером смысла придется пасануть. Он точно есть не у всех. Даже не могу сказать, есть ли он у меня. Или у кого-то другого. Последние года два иногда думал над этом. Кажется, что есть (доказать не могу :) ), даже два. Как я уже сказал, что это философия. Поэтому четких определений и строгих доказательств не будет. В слух оглашать не буду, ибо личное. А может и нет его? Как узнать?
Абстракции четвертого уровня очень редки. Более четвертого порядка в жизни вообще не встречаются. Есть ли что-то более крутое, чем смысл? Три сущности вроде обозначил. Можно конечно что-то низкоуровневое выдвинуть, тогда смысл станет четвертого порядка. Но, видимо, не стоит. 
Кстати, можно попытаться определить философскую статью. В ней число вопросительных знаков довольно много, и это не интервью. А ответов и знаков факториала вообще нет. И это не задачник по физике(там обычно ответы есть).
Короче, если у Вас есть конструктивные мысли(отличные от моих) по всему этому, то всегда готов выслушать при личной встрече. Хотя и не употребляю (и зло- тоже).

Числа, множества и отношение

Настоящий математик при обращении к своей ... (нет, не половинке, она должна быть целой. В крайнем случае, иррациональной, но никак не 1/2) будет использовать слово "единственная". Следовательно, множество настоящих математиков, обладающих гаремом, пусто. update[26.04.09] Все-таки рациональные люди лучше иррациональных (про числа отношение лучше не определено). Так что допускается и множество рациональных чисел, за исключение 1/2. Комплексные числа и квантерионы, как и люди, тоже бывают, но нас не интересуют. Действительные интереснее, что какие-то мнимые части рассматривать.

суббота, 28 марта 2009 г.

Куки && наследование

На днях в магазине в разделе "печенюшки" увидели довольно странный товар. Геометрическая топология изоморфна тору, в просторечии баранка/сушка. Размеры такие же. Но состоит из пряника. 
Первая мысль, сразу же произнесенная - "Не от того отнаследовались" :) .

вторник, 24 марта 2009 г.

777 vs. 1729

Когда в коде вам временно надо поставить некоторую числовую константу(что бы потом найти и заменить), что вы используете? Лично я ставлю Рамануджана :) . Ибо считаю его самым (как теперь принято говорить) "гикнутым".
Когда меня сегодня спросили, где твои 777? Я сначала начал возражать, что три семерки - ничего красивого, что в Рамануджане сила... Но секунд через 10 дошла красота. Оказывается 777 = 3 * 7 * 37. Три на семь на (три и семь слитно) равно три семерки! Опять же, избитая фраза, что раньше я этого не видел. 
Насяльника обычно ставит 666. Он не сатанист, у него номер телефона так заканчивается. Хотя, все может быть. 

воскресенье, 15 марта 2009 г.

\tau && Экономика

В далеком созвездии Тау-Кита,
Все стало для нас непонятно...
Володя
Наконец-то лично увидел использование "золотого сечения" в экономике. Потребовалось в БД (зачем именно в БД в двух словах не расскажешь, но реально потребовалось) реализовать IRR(ака Внутренняя ставка доходности: есть разнонапревленные платежи, при каком уровне инфляции суммарно придем к 0). 
Реализовали, начали тестить. Первый прошел, далее очевидный (Irr(-x, x) = 0) возвращает (как уже можно догадаться) \tau - 1 (0,618... по знакам до 9 сходится :) ). (Оказалось, что при тривиальном синтаксисе PL, прочитать из курсора на PL/Sql числа уже надо использовать нетривиальные синтаксические конструкции. Зафетчили еще последюнюю запись, Irr(-x, x, x)). Был приятно удивлен результатом.
А то во всяких рынках, начинают строить всякие уровни Фибоначчи, волны имени Какого-То-Там, и утверждать, что если (не) пробъем уровень, то будет (\pi, зве)здец. Ну, или наоборот. Причем надо обязательно использовать какую-то магическую константу, типа "золотого сечений". Хотя само понятие пробоя уровня рынком определяется не строго(+- лапоть), на глазок, да и сам индикатор может не сроботать, типа не сработало :) . Автор индикатора первоначально вообще использовал дроби на 1/8. 1.618 примерно 1.625 = 13/8 (хотя 13, 8 - тот же Фибоначчи, ух ты!). Но с магической константой это точно должно работать.
С Irr все по честному. Никакой магии. Хоть и экономику в последнее время пытаются причислить к лже-наукам (астрология, хиромантия), но в ней есть некоторые строгие моменты.
ЗЫ. Про связь Фибоначчи и \tau знаю класса с 5-го. Если взять пятиугольник (а еще лучше додекаэдр. Проверял.), взять любые два расстояния, то в их отношении навернака есть что-то золотое.
ЗЫ^2. Только на прошлой неделе заметил, что в прогнозе погоды используется следующая шкала силы ветра в м/с: 1-2, 2-3, 3-5, 5-8, 8-13, и более. Вообще не замечал.

вторник, 10 марта 2009 г.

SICP

Наконец-то досмотрел SICP ("Структура и интерпретация компьютерных программ", Абелсьсон, Сассман, тут). Смотрел с КПК начиная июля 2008 г. :) Хоть там всего 20 лекций, порядка 20 Гб, и опять же 20 часов... Со всякими перерывами на просмотр GoogleTech, чтение на Соньке, но вчера-таки досмотрел. 
Понравилось: 
  • построение "лени" на основе потоков. Хотя "чистая" haskell-ьная лень приятнее, так как она есть очевидная теоретическая левая (ленивая) редукционная стратегия. Но зато тут в два действия при помощи \lambda-ы легко ее моделируем. ООП-шные проксяки курят.
  • в универе вам конечно же рассказывали про проблему остановки (halting problem). Но в большинстве случаев (как мне кажется) рассказывают только, что это неразрешимая проблема (то есть не может существовать алгоритма, который ...). По крайне мере мне только это и рассказали. Возможно, у меня дома есть пара книжек, где это рассматривается подробно, но почему-то доказательство я увидел только в этих лекциях. Это докательство (в 3 предложения) почему-то в универе не показывают.
  • Не скушно рассказывают. Для объяснения side-эффектов, могут взять перочинный ножик, и соскребсти часть ногтя, показывая что "я примерно такой же, но все таки в другом состоянии". Могут запустить в аудиторию мелом, что бы показать непрерывность/дискретность (баян про аххилеса и черепаху, но на практике :) ). И другие, оживляющие лекции, действия.
Единственное, что не понравилось - в 2..3 лекциях разбирались с устройством/моделированием регистровых машин. Имхо, не понял зачем. 
Как реализация, Scheme по мне лучше Lisp (тут как две одинаковые модели отечественного автопрома - отличаются только расположением бордочка в салоне). Для меня чаще всего является преимущество в использовании readline(автодополнение по tab) библиотеки под *nix. Из-за этого я считаю что postresql лучше mysql :) (возможность расширения собственными типами, функциями не в счет). Тут возникает противоречение, ибо common-lisp скомпилен с readline, для собственных сексуальных извращений я предпочитаю cl.
Короче, если вы не боитесь лишних скобочек, то рекомендую.