
2008-12-31
Поздравляю всех читателей с новым годом!
Классику слушать здесь: http://www.youtube.com/watch?v=7qCRQqOz63s.

2008-12-29
Сам писи!
2008-12-24
SFO
2008-12-12
Google chrome & native client
Ко всеобщему удивлению, Chome вышел из беты. Все были готовы, что бета будет длиться вечно, как у gmail. Но, понятно, что компо-продАвцы не хотят пред-устанавливать бету на enterprise, а потому пришлось срочно зарелизить. Хотя качество вполне достойно первой версии. RSS, autofill, extensions (включая adblock), native linux and mac versions обещаны.
Не слишком заметно произошло появление ещё одного любопытного проекта: native client. Как я понял из анонса, это addon, дающий возможность запускать native code, т.е. программу в машинных кодах из браузера. Все сразу закричали ActiveX и были в корне неправы. В данном случае native code не сможет сделать ничего плохого, в отличие от Active-X, который может всё, из за предварительной верификации кода. Статический анализ кода - вещь популярная (см. например Midori), но готовых решений я пока не видел. Предполагается, что код не будет иметь возможности обращаться к платформе, но сможет работать с предоставленными ему интерфейсами браузера. Поэтому он будет независим от операционной системы, а зависим только от вида процессора.
С точки зрения Web-а, это примерно как адобовский flash, только, возможно, быстрее (хотя сравнимо, я полагаю, с будущей 10 версией, если там LLVM). Но реальный смысл появляется, если рассмотреть браузер как платформу. Если запустить браузер поверх некоего мини-ядра, получается полная платформа, которая может запускать приложения, причём работающие с нормальной скоростью. Вот вам и Google OS.
Второй смысл этой штуки - это серверные приложение в "облаке". Сейчас у них поддерживаются только Python и Ruby, а с этой штукой добавляется куча нормальных компилируемых языков. Изолированный код легко перемещать и копировать в облаке.
Почему мне всё это понравилось? Во первых, потому, что я всегда считал, что модель безопасности должна исходить из ограничения того, что может сделать компонент кода, а не абстрактного "юзера". Я доверяю себе, как "юзеру", но я не доверяю конкретному компоненту кода. А сейчас код, откуда бы он не появился, автоматически может сделать всё, что может сделать "юзер". Во вторых, это может привести к появлению бинарного выполняемого формата, который имеет чётко описанный внешний интерфейс, и в то же время независим от операционной системы. Что давно, уже лет двадцать, ждёт всё прогрессивное человечество.
По поводу статического анализа, это непросто в современной архитектуре, где данные и программы перемешаны в памяти. В байт-коде это значительно проще, но хорошие оптимизирующие компиляторы байт-кода, во первых сложны, во вторых, медленны и не защищены от ошибок. Многие, в результате, предпочитают проверять сгенерированный код, особенно если в него добавить некоторые подсказки, (интересующиеся могут погуглить "typed assembler"). Анализатор дизассемблирует код и проверяет все инструкции восстанавливая логику программы, проверяя типы всех операндов, допустимые смещения и т.д. Любой код, который может сделать что-то не то, не будет допущен до выполнения. А сделать можно многое, например, изменить адрес возврата из стека, что выглядит в точности как целочисленное присваивание локальной переменной. Анализатор должен определить не выполняя программы, что по этому смещению нет переменной, а расположен адрес возврата. И многое другое.
2008-12-09
Немного об истории и литературе.
Считается, что в древности литературы не было. Дорого по камню лирические отступления высекать. Потому суровые летописцы тщательно высунув язык выводили, что "пятого года произошёл великий мор, а шестого года царь отобедав преставился и на престол взошёл его старший сын, который в тот же месяц повелел собрать войско и отправился воевать соседей" и т.д. и т.п. Ну какая же это литература? А такая! Такая она, первая литература!
Рассказ в жанре fiction, устный и от первого лица, появился задолго до письменности. Подозреваю, что ещё первобытный человек рассказывал, в грудь себя бия, как он один на один мамонта побеждал. И познав письменность, вряд ли стал он вдруг правдивым и ничего не приврал, и ни приукрасил, не приписал себе или своему властителю чужие подвиги, и не переписал на местный лад услышанные от проезжих купцов сюжеты.
Слово письменное написано для читателя. А слово для читателя есть литература. Книжка с историями о веках прошедших для развлечения и наставления.
А потом гадают откуда берутся повторы, почему столько совпадений в хрониках и кто был чьим оригиналом. Да сам летописец небось не знал кто был чьим оригиналом, это просто сюжеты кочуют из одной страны в другую.
Хотите пример? Вот армянская народная сказка. Вот марийская сказка. Вот сказка Вятской губернии. Вот книжка японских сказок. А вот чешские и словацкие. Последних двух не читал, но судя по названиям очень подозреваю.
2008-12-08
Рекомендую.
Не могу не порекламировать текст Эльдара. Вся серия очень неплоха, а часть 4 просто замечательна.
technet link, то же на eldar.com.
2008-12-07
Об истории, хронологии, литературе и психологии познания. Обо всём, короче.
Процесс понимания всегда многоступенчатый. Впервые услышав некую мысль, нам кажется, что мы её поняли, что там сложного, сто раз слышали подобное. На самом деле мы её не поняли, а просто классифицировали по первичным признакам. Типа, например "А, это конспираси", или "А, опять зелёные человечки", или "А, это у автора старческий маразм". Так любые сомнения в правдивости версии взрыва башен будут классифицированы, как паранойя и конспираси, сомнения в правильности истории как "Опять Фоменко", а сомнения в текущей идеологии как промытость чужой пропагандой.
У многих система классификации так сильна, что дальше с этой мыслью ничего уже не сделать. Мысль сразу классифицируется в двоичной системе понятий как бредовая, и потому бесполезная, и все дальнейшие рассуждения на эту тему будут отражаться на дальних подступах.
Однако у некоторых особей инстинкт любопытства берёт верх над инстинктами секса и карьеры и мысль застревает в сознании. Всё ещё классифицируемая как бредовая, она тем не менее вызывает некие фоновые сравнения, каждый раз хоть и подтверждающие её бредовость, но с некоей погрешностью, которая накапливаясь со временем, вдруг однажды переворачивает представления вверх ногами, а точнее, с головы на ноги. Всё становится ясным и понятным, хотя и по прежнему невероятным, но как бы уже почти на равных с традиционной точкой зрения, вызывая постоянные сомнения. Для окружающих это может выглядеть как отъезд крыши, но, впрочем, они с самого начала знали, что с этим товарищем что-то не так, его всегда интересовали вещи дурацкие, типа устройства мира, и не имеющие отношения к главному в жизни - карьере и благополучию.
Так вот, чтобы понять нечто по настоящему требуется несколько таких шагов, его надо прочувствовать. Это особое состояние, когда вдруг становятся понятны логические связи, когда это проникает куда-то в глубь сознания, вызывая дрожь понимания и ощущение правильности.
Сколько раз, например, я слышал, что внутри каждого человека сидит зверь, и всегда считал это игрой слов, но только недавно (позор!) прочувствовал, насколько это правильно и точно. У некоторых зверь почти весь снаружи, человеческое сознание используется им только для коммуникаций, но у других - наоборот, сознание доминирует и зверь сидит внутри него как в клетке и страдает. Не надо загонять его глубже, подружитесь с ним, выгуливайте, играйте, ласкайте, угощайте и он не будет вас мучить и создавать вам проблемы.
Э... хотел об истории... Нельзя давать несколько мыслей в одном сообщении. Оставлю её до завтра.
2008-12-03
Прошлогодний San Francisco
Subscribe to:
Posts (Atom)