Кастанеда

Я сейчас сделаю страшное признание: я не люблю Кастанеду. Не люблю потому что я ему поверил, а он всех нас (ладно — меня) обманул. За его произведениями нет учения, это чистой воды «фантазия на тему».

Начните со статьи Дон Хуан живее всех живых или история одного обмана, потом походите по гуглю.

27 комментариев

Видеокарта приехала

Теперь у меня дома есть горстка сибирской пыли — заботливо упакованная в четыре (!) пакета, пупырчатый полиэтилен и коробку из-под сибирских котлет приехала она на видеокарте Nvidia GeForce3 Ti 200. Дима Смирнов, узнав, что у меня «до сих пор Riva TNT2» подарил мне свою старую карточку. Мне и старой хватало, но теперь я знаю что такое нормальный ClearType — без спецэффекта «мы работаем на XT». Спасибо, Дима!

Кстати, наверное некоторые уже и не знают что такое XT. XT — это машины с процессорами 8086/8088. Вот Pentium (еще до Celeron) считался 80586. Когда я начинал работать лаборантом на ВМК, там в одном классе стояли эти замечательные машины. Было видно как печатаются буквы в «Нортоне».

Оставить комментарий

Моностих

Из статьи «Хайку и Моностихи»:

То разбиение, что так упорно принимается у нас за признак хайку (три строки по 5-7-5 слогов) на  самом деле делается с помощью разделительных слов-пауз. То есть это может быть больше похоже на пунктуацию внутри однострочника, чем на  «стиховое» деление.

В статье цитируется несколько моностихов, мне более всех понравился моностих Александра Смира:

Денег… на лепесток розы

Оставить комментарий

Sort в PHP

Оказывается функция sort в PHP не использует установки локали в PHP4. Косвенно это можно узнать из руководства:

Sorting type flags:

SORT_REGULAR — compare items normally

SORT_NUMERIC — compare items numerically

SORT_STRING — compare items as strings

SORT_LOCALE_STRING — compare items as strings, based on the current locale. Added in PHP 5.0.2

Параметр SORT_LOCALE_STRING появился только в PHP 5.0.2. На мой взгляд, это очень странно. Valshooter рекомендует в этом случае использовать

usort($fruit, 'strcoll');

правда, в том случае, если локаль у вас UTF8 вряд ли сортировка вернёт осмысленные данные.

Оставить комментарий

ЛЮДИ ГОЛОС

Газета "Люди Голос" (21.04КиБ)

Кадр из фильма «Небесный капитан». Судя по фразам, переводили какой-то программой-переводчиком: газета называется «Люди Голос» («Глас народа», должно быть), написали каждое слово с большой буквы, что для русского совершенно не характерно, зато часто используется в английском, да и обрывочные предложения построены явно не носителем русского языка.

Меня это всегда удивляло — неужели из многомиллионного бюджета фильма нельзя выделить потратить сотню баксов на переводчиков (в фильме мелькают передовицы газет различных стран)? Сколько возмёт переводчик за перевод шести строк текста? На программу для перевода они ж потратились, а стоила она, подозреваю, далеко за сотню.

Фразы, которые удаётся различить:

ЛЮДИ ГОЛОС. СОВЕТ. которые присту.. чтобы печататься СССР. … марта. На вопрос, … атмость каждого из этих…

(Гига)нтские Металлические …асы Наций Кражи …шин Угля, Нефти и Урана. (М)ировые Лидеры Двигаются, (что)бы Защитить Запасы. …механические атакуют Россию

Оставить комментарий

Ждать!

Финское чудо — телефон Nokia 6230, руссифицированный, думаю, где-то в пределах России, обладает исконно российским хамством. При включении, если очень быстро открыть адресную книгу, он может сообщить «Ждать, SIM-карта не готова».

Оставить комментарий

Распознавание CAPTCHA MTC

МТС сделал у себя на сайте защиту спама в сервисе отправки SMS. Защита, надо сказать плюшевая — усреднением помехи убираются почти подчистую, дальше распознать цифры очень просто — я пробовал. Удалось добиться стопроцентной вероятности распознавания.

CAPTCHA МТС (1.69КиБ)

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

Кстати, подходящее время вернуться к разговору о защите от спамовых роботов, специализирующихся на форумах, гостевых книгах и т. п. Поводом послужила попытка Helix (aka Ulitka) усовершенствовать предложенные мною методы CAPTHA.

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

Предлагаю, умозрительно, поискать другие способы защиты от роботов, в стороне от методов CAPTCHA. Скажем, некоторые форумы генерируют для каждого пользователя или хоста, заходящего к ним, идентификатор, который может зависеть, от IP и User-agent пользователя. Идентификатор этот заносится в hidden-поле формы и должен присутствовать в данных формы. Как сервер получает эти данные, идентификатор удаляется и генерируется другой. Если по прошествии какого-то времени идентификатор не был использован, он так же удаляется.

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

Как известно, в браузерах есть скриптовые языки. Наиболее распространённым является JavaScript — его понимает максимальное количество современных браузеров. Код на этом языке включается прямо в страницу браузера «как есть», что делает заимствование кода на JavaScript часто минутным делом. Это положение вещей не устраивает некоторых разработчиков, что привело к появлению (обычной для интерпретируемых языков) защиты — программ изменяющих код таким образом, чтобы его было трудно прочитать человеку (такие программы часто называют «obfuscator»).

Обычно такие программы изменяют имена пользовательский функций, процедур и переменных, убирают форматирование и, иногда, модифицируют сам код программы. Даже программисту средней руки вполне по силам создать неплохой obfuscator, делающий над строкой такие преобразования, чтобы JavaScript смог восстановить исходную строку, а написание программы-раскодировщика стало проблемой — ведь можно написать obfuscator, который при двух запусках выдаст разный, сгенерированный случайно (в каких-то пределах) код.

Таким образом, объединение «маркеров», которыми помечаются пользователи и JS-obfuscator’a, возможно, будет хорошим решением проблемы защиты от роботом-спамеров. Проблемы, которые нужно решить — написание хорошего obfuscator для JavaScript и вопрос генерации «маркера» (не забывайте о защиты от flood’a, если «маркер» генерируется при каждом заходе пользователя, злоумышленник может сгенерировать гигантское количество «маркеров»), оставляю на читателя.

Оставить комментарий

С днём рождения, Дима

С днём рождения, Дима (5.42КиБ)

Смирнов утверждает, что его в комментариях никто не поздравил. Дима, чтобы напомнить тебе, вывешиваю скриншот — пару дней, наверное, мой комментарий висел.

Кстати, сразу отмету некоторые теории: дыра была не в регистре, у Димы на одной машине множество всего болтается и заливал я не через FTP.

Оставить комментарий

Эта…

Кстати, в полнолуние со мной ничего не происходит. Просто ничегошеньки!

Время застывает липкой каплей на границе бытия, затвердевая, засахариваясь, каменея, краснея от натуги. Белые кони хрипят, таращат глаза, взвбрыкивают, кричат, спотыкаются и падают. Парки зевают, выпускают из рук мою нить и потягиваются. Идёт дождь.

6 комментариев

Токи пона

С подачи Ильи Бирмана начал изучать язык «toki pona» («токи пона»). За три дня научился говорить простые предложения и понимать почти всё, что мне говорит Илья.

Такие феноменальные результаты (учитывая, что я его и не учил-то толком) проистекают из сути языка. В нём нет падежей, склонений, спряжений, рода и т.п, всего 118 слов, несколько правил. Сложные понятия строятся на основе имеющихся 118 слов…

Пожалуй, подробно рассказывать о языке я не буду. Если интересно, загляните в «Википедию». За эти три дня я убедился в двух вещах: на токи пона можно сказать всё; и ещё, что куда более интересно — некоторые вещи говорить не нужно. Последний принцип — один из основопологающих принципов toki pona. В оригинале он звучит несколько спорно: «если вы что-то не можете сказать на toki pona, то вам это не нужно».

Как не странно, принцип работает. На самом деле, просто-напросто, после перевода на toki pona понимаешь, что говорить это не нужно. Никаких чудес тут нет — в естественных языках очень много синонимов и способов выражения эмоций, тогда как в toki pona и слов-то немного, а способ выражения эмоций один — специальное слово-модификатор «а». Таким образом, прежде чем сказать фразу, приходится сначала понять что хочется сказать на базовом уровне. И, вполне может оказаться, что фраза ничего не означает.

Вышесказанное отлично иллюстрирует следующая небольшая история. Я спросил у Ильи как в toki pona выражают понятие «неделя». Оказалось, что понятия такого нет. Сказать мне его очень хотелось, поэтому я подумал, а что, собственно, такое неделя, почему в ней семь дней и откуда это пошло́? Вспомнить нетрудно — это семь дней сотворения мира. Таким образом, мы с Ильёй изобрели «неделю» — «tenpo pi pali ali» или «время, за которое было сотворено всё». Возможно, это слово скоро войдёт в официальный словарь сложных понятий toki pona.

Ещё небольшой пример. Предположим, ваш собеседник в аське давно не подаёт признаков жизни. Один из вопросов, который люди задают в этом случае является эмоциональное «ты где?». Попытавшись сказать это на toki pona, вы быстро обнаруживаете, что сконструировали что-то похожее на «ты находишься сейчас где?» («sina lon seme?») и быстро понимаете, что спросить хотели совершенно не это. Разобравшись в себе, вы понимаете, что от собеседника вам нужно следующее: чтобы он вам ответил. Поэтому вы говорите просто «o toki» («говори»).

Оставить комментарий

Скажи спасибо, сволочь!

Фраза из руководства по MySQL (вариант руководства на русском):

Благодаря этому удобному синтаксису, в сервере MySQL не поддерживается оператор ANSI SQL || для конкатенации строк: вместо него используется функция CONCAT().

«Благодаря… не поддерживается»? Не вижу причин благодарить.

Оставить комментарий

Записки из будущего

Тут недавно повторяли замечательный фильм «Назад в будущее» и я вспомнил, что знаю какие ощущения испытывают гости из будущего. Через несколько месяцев после того как я посмотрел «Шрек-2» я увидел анонсы его будущего показа в кинотеатрах. Когда я говорил кому-нибудь, что уже смотрел «Шрек-2», то чувствовал себя, натурально, пророком — окружающие относились эквивалентно.

Оставить комментарий

No…

Придумалось на слоган (первые четыре предложения) одного Card Reader’a, лежащего в коробке у нас в офисе:

No cables. No software. No drivers. No battery. Just a box.

Оставить комментарий

Ловля на живца

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

There would, of course, be no job interview.

(«А там, конечно, было вовсе не собеседование для приёма на работу»).

Оставить комментарий

Политически правильный

Примечание редакции к термину «политическая корректность» из книги Дугласа Рашкоффа «Медиавирус»:

Понятие «politicaly correct» — «политически правильный» — было занесено в американский словарь левыми интеллектуалами в качестве полушутки — как комментарий на партийные чистки в СССР, проходившие именно под лозунгом борьбы с «политически неправильным поведением». Термин упрочился в левой академической среде в конце шестидесятых, когда критически настроенные к власти гуманитарии принялись пересматривать американскую историю. Согласно новой концепции, в  прошлом белые гетеросексуальные мужчины только и Делали, что насиловали женщин, уничтожали окружающую среду и подвергали истреблению индейцев. Такой взгляд на историю считался среди либералов «политически правильным, политически корректным»

Оставить комментарий

Новый вид спама.

Я изобрёл новый вид спама:

Здравствуйте, вас приветствует центр американского английского. Пожалуйста, разошлите это сообщение всем вашим друзьям! Наши телефоны…

7 комментариев

Что будет…

Задумался на досуге об одной вещи — кажется, время научило меня относительно бережно относится к вещам. Не то, чтобы я протирал ботинки тряпочкой каждый раз, но вот, например, посуду я никогда бить не буду — жалко, потом придётся покупать. В детстве я довольно часто придумывал и воплощал совершенно дикие эксперименты. Родители, видевшие лишь последствия тех, что кончились настолько печально, что я не смог скрыть последствия (а в этом я был очень изобретательным), всё удивлялись как я не сжёг или не взорвал квартиру. Или, скажем, не испортил всю посуду — от резких перепадов температур посуда, бывало, лопалась.

Впрочем, последнее частично объясняется тем, что пытливый ум — тоже ум. Со временем, я, конечно, стал более осторожно обходиться с реактивами и открытым огнём (я не говорил, что мне очень нравилась химия в своё время?), позже — с паяльником и расплавленным оловом, но настоящий перелом наступил тогда, когда я поехал учиться в Казань. Предоставленный сам себе, я быстро понял, что если что-то порвётся или сломается, то никто не расстроится — просто придётся это купить. При ограниченности собственного бюджета, это мощная причина для пересмотра отношения к собственным вещам.

К чему я это. Меня и сейчас посещают мысли подобного рода — «что будет, если…», но в жизнь я их воплощаю очень редко — точнее реализация перешла из области вещественного в те области, где сломанное восстановить очень просто, была бы копия. А задумался я об этом всём, когда, засасывая пылесосом немного просыпавшийся стиральный порошок, я подумал — а что будет, если сунуть шланг пылесоса в пакет с пятью килограммами стирального порошка? Ни у кого нет старого пылесоса и пяти килограмов условно ненужного стирального порошка?

Оставить комментарий

Бревно в своём глазу

Добирался вчера на «моторе» как это называется. Водитель активно комментировал ситуацию вокруг, жизнь над ним смеялась. Например, он возмутился тем, что в соседней машине человек говорил по сотовому — «неужели», говорил водитель, «нельзя свернуть на обочину и поговорить?». Через две минуты ему кто-то позвонил. Свернуть на обочину он даже не попытался. Через десять минут, громко реагируя («куда торопятся, мудачьё?») на аварию у светофора он чуть не въехал в бок какой-то иномарке. Как некоторые люди искусно дифференцируют правила «как нужно делать» для себя и того, что их окружает. Синдром бога, я бы сказал — я никому не подконтролен, а вы делайте вот так.

Оставить комментарий

Медиавирус

После 60 ящиков ламината, которые мы перетаскали втроём в мою новую квартиру с Саидом и Павлом (спасибо, парни!) мы решили унять зверский голод в «Макдоналдсе» и я, в качестве пищи духовной, начал рассказывать кое-то из почерпнутого в книге Дугласа Рашкоффа «Медиавирус», а именно — один из приёмов изготовления медиавирусов.

Вкратце, рецепт прост — берётся два несовместимых слова и скармливается медиа. В итоге, человек, который слышит или читает полученное словосочетание останавливает на нём своё внимание и начинает задумываться по поводу. В книге часто приводится, в качестве примера, медиавирус «умные наркотики». Опуская тот факт, что кампания «умных наркотиков» включала в себя ряд других нетривиальных ходов, словосочетание действительно удерживает внимание и заставляет задуматься над тем, что же такое — эти «умные наркотики».

В качестве примера я попытался синтезировать какое-нибудь словосочетание и придумал «трубочное пиво». Саид тут же «придумал» технологию «каппилярной перегонки, сохраняющей вкусовые качества пива». В рекламном ролике должен быть видеоряд с трудками, по которому красиво (с пузырьками) течёт жидкость янтарного цвета.

Оставить комментарий

← сюда туда →