пятница, 25 марта 2011 г.

Временные проблемы

Хьюстон...

Проблему 2000 я не заметил, так как персональная машина у меня появилась только летом 2000 года. На "компаньоне" это не было проблемой.

Много ли знает о проблеме 2038 года? Знаковое переполнение int-a. Таки, наверное, это не будет большой проблемой. Успеем везде перейти на int64. Только в музеях будет 32-битная архитектура. Ну, может еще на некоторых старых ядерных станциях.

А вот про проблему 2100 года в википедии пока не нашел. Проблема в том, что большая часть программистов не знает как определяется высокосность в Григорианском календаре. Точнее, не знает, что есть Юлианский календарь, что есть Григорианский календарь, и какой используется во всем мире. С большой вероятностью нас с Вами к этому времени не уже не будет, так что это уже не наша проблемы.

Хуже всего обнаруживать у себя в базе данных записи с часовым поясом (+5:45). Существуют извраты с (+4:51), но их выставить не так тривиально. А вот непальский часовой пояс - это было в реальности.

Так же очень сильно пугает, когда "какие-то гении" хранили дату в базе в тиках. Хотя нужен был лишь год. Из-за них умудрились на*ться с тем, что при передаче с клиента на сервер (с разными часовыми поясами) при десериализации время портилось (это блин, фишка платформы), и согласно констрейнтам на уникальность это все ложилось в две разные записи. А при подъеме в модель поднималась только одна, но в зависимости от положения звезд.

А еще больше пугает проблема президента. В википедии про нее тоже ничего нет. Но я думаю, все догадались. К счастью, это временная проблема. Или проблема 2012, или 2018, или 2024.

четверг, 24 марта 2011 г.

Не кинокритик

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

Заказывать можно только из местных *озонов* - поэтому ничего путного там нет. Армстронг (erlang) полгода в очереди на покупку, из классики только нашелся Майерс, но как-то он не впечатляет. Коллега (уже полгода ушел в другую компанию) по приколу заказал "The Haskell road to logic, maths and programming" (от доступных русскоязычных вариантов/переводов от Р. Душкина я отговорил, ибо видел. Хотя там главка про полиморфизм мне понравилась). Пришлось мне прочитать.

На второй странице есть подряд два предложения:

As a functional programming language, Haskell is a member of the Lisp family. Others family members are Scheme, ML, Occam, Clean.

Нельзя убивать сразу же на второй странице. Ладно, хрен с ним, что haskell отнесен к лиспанутому семейству. Даже хрен с ним, что во втором предложении они настолько круты, что отличают scheme от lisp-а (я тоже смогу отличить). Но какого, б*, они пишут Ocaml с двумя ошибками? После этого пропадает вера в адекватность.

Все таки я пересилил и дочитал до конца. Далее перлов не оказалось.

В итоге оказалось, что книжка никаким боком не про haskell. А про базовые определения из мат. логики и дискретной математики для первого курса. Ну, может и про сам язык, если вы его никогда ранее не видели.

Единственное, что вспомнил/узнал нового, так это что целые числа как классы эквивалентности на паре натуральных.

Единственное, что не понял - это в конце главка про производящие функции. Я их понимаю, максимум на два хода. Только люди с мехмата МГУ их понимаю полноценно. По крайне мере, всех кого я видел, кто понимает в производящих функциях - это с ММ МГУ.

понедельник, 14 марта 2011 г.

! 2\pi

Ребус.
Отгадка: не тупи

пятница, 11 марта 2011 г.

Группа

С неделю назад понял, что мне действительно не хватает. Что объединяет суффиксный массив (как работает классическое BWT я, примерно, в курсе. Как работает динамическое BWT - пока не осилил), какой-нибудь изоморфизм графов, и мои интересы в теории чисел.

Если копнуть чуть глубже - везде упираюсь в отсутствие знаний в теории групп. Минимальный курс алгебры в универе включает определение и пару тривиальных теорем. На один-два шага я и сам могу закопаться. А вот дальше пройти не могу. Пока...

Одну достойную книжку (Ноден, Китте) я дочитал до первого барьера. Первые страниц 100 зашли хорошо, но затем я споткнулся на фразе "так как здесь инволютивный автоморфизм, то ...".

вторник, 8 марта 2011 г.

Нигилизм

Если вы в 20 и 50 лет одинаково смотрите на мир, значит вы потеряли 30 лет.
Мухамед Али.

По крайней мере, за последние пять лет я изменился. В лучшую или худшую сторону - решать не вам, и тем более не мне. И не надо решать, в какую сторону, просто внутренне изменился. Проблема в том, что (если немного воспользоваться мат. логикой), то из эпиграфа и предыдущей фразы не следует, что я не потерял 5 лет. Да и кто сказал, что эпиграф верен?

Не понимаю традиций. То что писать плевать против ветра не стоит, и пихать в розетку пальцы - это я понимаю. А вот все остальное, что не относится к жизнеобеспечению мне уже понять сложно.

-Почему в новый год обязательно должно быть шампанское? То что Сталин в 1930-х попробовал и ему понравилось, не значит что это должно сказываться на мне. И вообще, отношение к алкоголю изменилось, ибо не понимаю.

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

И так далее. Почему-то по традиции перестали жечь ведьм на кострах...

Сильно убивают "фразы для поддержания разговора". Встречаю знакомого в магазине: "О-о-о, что ты тут делаешь?". Симметричный вопрос! "Как дела?" ****, ну нам же обоим неинтересно, как у меня дела. За последний год на этот вопрос я в трех случаях заржал. В остальных случаях (за исключением конечного числа случаев) я отвечаю "ты еще меня о погоде спроси". В остальных неизлечимых случаях я отвечаю на американский манер "хорошо". А за фразу "что новенького?" пора бы уже наносить тяжкие телесные.

Все праздники с некоторого момента меня стали угнетать. Салатно-алкогольные мероприятия = пустая трата времени и туалетной бумаги. Лучше бы праздники плюсовались к свободному времени, которое я мог бы сам расходовать. А то неожиданно у вас появляется куча родственников, непонятные телефонные звонки, к тому же есть люди, которые не умеют пользоваться смс-рассылками - и вам в течение часа приходит 3 одинаковые смс-ки "с новым годом".

Из всех публичных источников удалил информацию о дате рождения. Теперь по смс меня поздравляет только "альфа-банк". Чтоб на вас самолет упал. Как можно удалить информацию, когда у меня новый год?

воскресенье, 6 марта 2011 г.

Об интеллекте

Воображение сильнее знания.
Альберт Э.

Попытка что-то написать про ум/интеллект...

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

Предположим, что некто:
- круто играет в шахматы/шашки/фифа 2010/го.
- помнит число \pi до 100 тыс. знаков.
- умножает 20-ти значные числа в уме.
- отрастил бороду как у Вассермана, надел очки как у Вассермана, его показывают по телеящику.
- собирает кубик Рубика в среднем за 10 секунд.
- понимает в рекурсивной логике, написал книжки "принцесса и тигр" и "как же называется эта книга?"
- проходит тест на iq за \epsilon время и набирает космическое число баллов.

Обладает ли он интеллектом?

Половину пунктов можно смело выбросить, ибо это просто память. Без памяти, конечно, очень плохо. Она необходима, но не достаточна. Нужна еще какая хрень изюминка.

Вторую половину можно тоже просто выкинуть, ибо прокачать определенный параметр не составляет труда. Даже несколько параметров.

Машина круче человека играет в шахматы, считает миллиарды знаков \pi, круче Вассермана играет в "Свою игру" (jeopardy) (только с бородой некоторые трудности), и все остальное из перечисленного делает быстрее и качественнее человека. Но считается менее интеллектуальной, чем человек.

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

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

А найти статью в википедии и дурак сможет...