пятница, 18 июня 2010 г.

Четверть

Пытался сегодня побаловаться с виртуализацией на старой машинке (ибо кроме mercurial-а там сейчас ничего полезного для меня нету). После ревизии железяк оказалось, что есть только 1 (из 4) рабочий ДВД. Но приложенице настоятельно требует 64-bit CPU, а это опять четверть моего парка, на котором я не готов экспериментировать. Так что эксперименты отложены на непонятное будущее.

Часть парка отдается на донашивание родителям. Если ранее они донашивали одежду, потом перешли на сотовые телефоны, сейчас донашивают машины. Ну не выбрасывать же...

вторник, 15 июня 2010 г.

Что-то среднее

Патологоанатомы утверждают, что слухи о внутренней красоте человека сильно преувеличины.

Д

П

Не существующие люди. Сгенерено при помощи. Имхо, среднее получилось поболее любой части.

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

Ранее мужской эталон красоты был тупо-сильно-прокачен => большее количество мамонтов сможет загасить. Сейчас же тупо-на-фоне-лексуса. Хотя если вы будете брать себе охранника, то выбирайте тупо-сильно-прокачен.

Женские идеалы за историю мало изменились, в основном выражают производящие функции : сиськи-попа грудь-талия-бедра.

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

С программами иногда проще, если есть исходники или можно залезть рефлектором.

Проще всего с конфетами, их не так много, ошибиться сложно и некритично.

ЗЫ. Выяснилось, что резюме 3/4 девушек присылает с фотокарточками, с другой стороны тождественный нуль. Факт.

воскресенье, 30 мая 2010 г.

Не конструктивно

воскресенье, 9 мая 2010 г.

string-и

Ну почему, когда я вбиваю запрос в гугле с подстрокой "string", мне вылазит реклама женского нижнего белья (стринги)?

Я конечно понимаю, что там все тупо. Тупо по подстроке выдается реклама. Но где вы видели суффиксные деревья/массивы из женского белья? Алгоритмы поиска женского белья? У меня абстракции не хватает этого представить...

воскресенье, 2 мая 2010 г.

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

Вы уже задолбали меня цитировать.
Станиславский.

В шоке.

Только что играл в сапер, о чем то задумался. Выскочило окно с рекордом, посмотрел на результат. В шоке. Мои предыдущий на 100 минах был 71 (причем, давно). В этом году несколько раз (около 3) делал 70 + n. Пересчитал количество мин на поле, сходится. В шоке. Написано, что 53. В шоке. Не может быть, не верю.

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

Блин, уметь бы сериализовывать такие ситуации. Кроме как песни Цоя "Группа крови" и отрывков мысли в голове ничего не осталось.

Не верю. Плохо, что я себе не верю. И даже в скорой помощи мне не поверят, а это еще хуже. Сриншот конечно есть, но если никто никому не верит.

В шоке.

среда, 28 апреля 2010 г.

Хитрость

Умный начинает с конца, дурак - с начала, программист - с середины.
Николай Н.

Найдите биекцию с [хитрый, хитро-умный, хитро-жопый]. Такое ощущение, что последний вариант будет с середины.

воскресенье, 11 апреля 2010 г.

Наконец-то

John C. Mitchell, Foundations for Programming Languages.

Как один из двух основных переводчиков, могу сказать "Сабж".

Книжка конечно полезная, но не всем :) . Сейчас НАКОНЕЦ-то смогу нормально по-русски почитать, и всю...

От начала до продаж прошло года 4, причем 80% перевода было сделано за полгода.

воскресенье, 28 марта 2010 г.

Дела и проблемы

Если на вопрос "Как дела?" вам отвечают "Нормально", значит вы не входите с группу доверия этого человека.

Прикольно, но для меня это даже не рефлексивно. Лично я изобрел фразу: "Ты бы еще спросил как у меня дела..."

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

Фразу "Это моя проблема" я произношу довольно часто.

А если в решении проблемы заинтересовано более одного субъекта, то это проблема. Поэтому надо делить до "Это моя проблема"/"Это твоя проблема". Только очень маленький класс проблем будет решен парой качественно (тут проблемы с внимательностью). Все остальное надо делить на эгоистические подзадачи.

вторник, 23 марта 2010 г.

Дерево

Таки реализовал порядковую статистику с поиском минимума на отрезке.
Декартовы деревья (они же дерамиды, они же treap, они же cartesian tree, они же деревья приоритетного поиска (по Вирту)) рулят. Смесь дерева и пирамиды. Дерево - для поиска, свойства кучи - для балансировки (у каждого узла есть дополнительный признак - приоритет, выбирается рандомом - по которому имеется свойства кучи). Вставка/удаление/поиск - как дерево, балансировка - как куча (два тривиальных поворота).

В Б-дереве удаление (точнее, сжатие узлов при удалении) - штука довольно нетривиальная при реализации.

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

На Б-дереве (с плотностью более 2) поиск минимума будет еще не тривиальнее.

Странно, все влезло в 10К. Теперь стоит написать комментарии, вынести минимум в сущность моноида и еще пара моментов. В 15К точно буду.

Update:
Дженерики более второго порядка в современном программировании - зло.
Как же называется коммутативная полугруппа? Моноид - не то, промахнулся я с абстракцией. Абелевы полугруппы? В мое время были только абелевы группы, let it be...
Вынес сущность, на (min, +\inf) все работало, на (+, 0) перестало. Где-то дважды хожу по дереву. Все не тривиальнее и не тривиальнее...

Update2:
забыл я алгебру... это просто коммутативный моноид.

воскресенье, 21 марта 2010 г.

Современность

HTC Hero очень современный телефон.

Вставив и достав наушники, он почему-то считает что уши еще есть, и поэтому при звонке голос собеседника отправляется в /dev/null (ну, или в /dev/куда_не_надо). Стоимость двух fake-звонков в Мск составляет двухмесячный бюджет моих звонков, не то что дорого, просто я звоню мало. Помог только перегруз телефона, да и потом я решил звонить с городского.

воскресенье, 14 марта 2010 г.

В первый раз

Сегодня впервые смог оттянуть свояка в невке. Понравилось.

Недавно за пять минут (ибо Haskell) реализовал "почти Рабина-Миллера". Не совсем классический, тупо рандомом выбираю числа и проверяю малую теорему Ферма. Начал тестировать. На двух числах, которые я был уверен что они Кармайкловы (561 как минимальное, и Рамануджан) тест выдает что составные. Что бы разобраться "что за фигня" потребовалось больше времени, чем на написание. Оказывается, все правильно. Казалось бы, что такой тест должен пропускать все Кармайкловы числа, но мы очень часто случайно выбираем число не взаимно простое с числом (561 вообще делится на 3, 11,17; 1729 на 7,13,19). Хотя из определения Кармайкловости "казалось" что должно быть "Кармайкловым".

Сейчас сижу и реализовываю Б-дерево. Вставка/замена/доступ работает, удаление пока в отладке. Найти нормальную реализацию сбалансированного дерева почему-то для меня в 2010 году еще составляет нетривиальную задачу, что проще самому написать.

Нашел несколько реализаций красно-черных и других, но там код "вонючий". Если есть приватная филда с именем "tempNode", которая инициализируется в одном методе, а используется в другом - то код для меня "вонючий". В другой реализации кода порядка 130 Кб - что-то много нетривиального, видимо. А мне не надо просто дерево, мне надо динамическую статистику (понятие из Кормена), то есть удаление/добавление/индексный_доступ за log(n), и еще расширив потребуется поиск минимума на отрезке то же за log(n).

Хотя недавно видел на Haskell реализацию красно-черного - там все повороты красиво описаны в 5-ти строках. Я же решил писать Б-дерево, так как оно интуитивно понятно (нет никаких странных поворотов), правда с удалением не совсем все тривиально.

Резюмируя, все что вы делаете в первый раз может сильно отличаться от того, что у вас было в голове всю предыдущую жизнь.

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

n-юродность

Я долгое время не мог понять родственные отношения с n-юродностью, n >= 3. "Троюродная сестра" или "двоюродный дядя" - эти абстракции не помещались у меня в голове. Двоюродные братья/сестры у меня есть, дяди/тети тоже имеются, а всех кто дальше я причисляю к дальним родственникам.

Таки въехал. Оказывается все просто. Берем две вершины. Ищем lca. n = min(r(lca, v_1), r(lca, v_2)). \ldots Дедушка/дядя/брат/племянник/внук /ldots определяется простой разницей: r(lca, v_1) - r(lca, v_2), где r(i, j) - расстояние между прямыми потомками, не симметрично; lca - по определению :) .

Объективно пол определяется по записи в свидетельстве о рождении. Хотя я знаю нескольких физиологически-мальчиков с головами девочек, и несколько физиологически-девочек с головами мальчиков. Так что пол для меня вещь субъективная.

пятница, 5 февраля 2010 г.

Сон, время, убийство

Время не любит, когда его убивают.
Л. Кэрролл

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

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

Единственное, когда я допускаю убийство времени - убийство на вокзале. За все прочие убийства времени надо преследовать по закону (УК, ибо нефиг). У меня алиби, точнее отмаз :) .

Таки я стал обладателем андроида. HTC Hero. Теперь хочется портировать нечто чистое с длинной арифметикой, ибо nix-оподобное, с-шный компилятор где-то есть в сети. Только не знаю, насколько дойдут руки. Даже сделал одну запись в твиттер-е (и понял, что это не мое - сжимать мысль до 140 символов).

понедельник, 18 января 2010 г.

Шахматы

Шахматы - это когда ты большую часть своих знакомых узнаешь по затылку.

суббота, 2 января 2010 г.

Почти математические фильмы

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

С математиками почему-то сложнее. С большой вероятностью вы видели "A Beautiful Mind" ("Игры разума"). Про алкоголика-шизофреника Д. Нэша, которому в итоге дали нобеля по экономике (как говорит Хохряков мл.: "зато все ленинские премии наши").

Причем сценаристы не смогли проконсультироваться у самих математиков по поводу понятия "равновесие по Нэшу". В фильме фигня какая-то.

Фон Нейман когда узнал от Нэша о его результатах, сказал что это "тривиальное следствие из теоремы о неподвижной точке".

Но как фильм - по деньгам вложились - получилось съедобно.

Следующее что можно отнести к "почти математическим фильмам" - "Мёбиус". Аргентинский, малобюджетный, больше социально-философский, чем математический. Больше ничего не скажу, ищите на торрентах.

И это пожалуй все. Можно найти "математически фильмы" (тонны лекций по всем направлениям). К "почти математическим фильмам" они не относятся.

Недавно наткнулся на документальные фильмы. http://www.zalafilms.com/. На торрентах и ютубах местами есть. Полностью пока нашел только про Erdös (из-за четвертой буквы религия мне не позволяет писать Эрдоша). Мой ломанный нагло-американский синтаксический анализатор все съел.

Прикольно, что голос Матиясевича уже распознаю вслепую (это уже в другом фильме :) ). Причем раньше я его слышал только по-русски.