Выбор веб-сервера
Вопрос к уважаемой публике: имеется
Tux —
X15 —
ZeroWait — решение, которое было выбрано. Характеристики устойчивости, защищённости и скорости неизвестны, но с задачей справляется. Два недостатка — почти полная неизвестность (а значит и неизвестная степень безопасности) и очень слабая документированность.
8sender
Написал программу (2.65Кб), позволяющую отправлять вложения в формате bolk quoted printable. На PHP. Вкратце напомню — это формат, который, в отличие от остальных форматов вложений (quoted printable, UUE, Base64), минимально увеличивает размер файла. Основные почтовые клиенты его понимают.
Утилита
php 8sender.php mail@example.com bolk@example.net big.tiffОпционально первым параметром можно указать адрес вашего SMTP, он должен быть первым после ключа -t. Если его не указать, программа попытается самостоятельно определить MX получателя. Для работы под Windows желателен PHP 4.3.0 и выше.
php 8sender.php -t smtp.example.com mail@example.com bolk@example.net big.tiffПосле запуска программа покажет диалог
Бандер.лог
Помнится, компания «Мастерхост» проводила акцию — любой её клиент мог зарегистрировать домен всего за два у.е. Жаль, что я тогда не догадался зарегистрировать домен bander.ru — мог бы теперь показывать всем файл логов
Парадокса нет
Приснился сон, подробностей не помню, только эпизод — я подошёл к столу, на котором лежат карточки, я взял одну из них в руки и увидел надпись «на другой стороне написана истина». С трепетом — сейчас мне откроется истина, я перевернул карточку и увидел… надпись «на другой стороне написана истина».
[LJ2ME] Клиент для сотового
Платный аккаунт
bolk.exler.ru
Новый FAR
И, кстати, говоря, на специальном
Paqar
Совершенно случайно наткнулся на экспериментальный компрессор Paqar (автор — Matt Mahoney), занявший первое место на MaximumCompression.com и MailCom.com. Действительно — сжимает куда лучше любого другого упаковщика, из тех, которые я видел, но… расходуем огромное количество памяти и временных ресурсов. Например, на максимальном уровне упаковки, paqar вполне способен выделить полтора гигабайта памяти на упаковку
Кстати, второе место на MaximumCompression.com занимает отечественный архиватор «Durilca» (Dirty Useless Really ILlusory Compressor/Archiver, автор — Dmitry Shkarin), который работает намного шустрее.
Wireless Village
Есть такой протокол — Wireless Village. Пока о его существовании знает очень мало народу, но, со временем, думаю, он преобретёт известность и популярность. Дело в том, что это протокол для обмена сообщениями через интернет, который поддерживается новыми моделями телефонов фирм Nokia, Motorola и SonyErricsson. Это
Главное достоинство этого протокола, то, что клиент для его поддержки встроен в телефон и работает «фоном» — вы можете разговаривать, писать SMS, играть или читать книгу, а в это время ваш телефон будет виден в онлайне и сигнализировать в случае получения сообщения. Протокол разделён на два уровня —
Так Yamigo — единственный пока сервер, предоставляющий возможность воспользоваться данным протоколом, предлагает возможность общения с сетями AIM/ICQ (к сожалению, пока без поддержки русского), MSN и Yahoo. На данный момент протокол поддерживают следующие модели: Nokia 3220, 6220, 6820, 6230, 5140, 6810, 7200, 7610, Motorola V500, V600, Sony Ericsson T637, T630, F500i, K500i, K700i, Z1010, T206, P910i. Если вашего телефона нет в списке — обратитесь к руководству. Появляются новые модели, может быть ваш телефон всё же поддерживает эту функцию.
Наверное, в скором времени появятся приложения и мидлеты, поддерживающие данный протокол, что, конечно, не так удобно, но позволяет использовать практически любой телефон с поддержкой сокетов в J2ME.
Фотоэксперимент
В последнее время меня и Саида очень привлекает специфика старых фотографий — освещение, зерно, помятость, передача деталей и так далее. Саид решил попробовать стилизовать фото под старину. То, что на фотографии — один из экспериментов. Это я, сфотографированный вчера, помолодевший лет на 10 и постаревший почти на век.

Тестирование веб-серверов
Прислали ссылку на тестирование различных
Итак. Лучше всех справился
Тест nginx
Тестировал сегодня nginx. Отключил все ненужные модули (кстати, если будете компилировать
Так или иначе, 0W лидирует по скорости и обладает более пригодным для моих задач возможностями. Но и nginx очень хорош, думаю, если будет развиваться, может стать достойным конкурентом остальным решениям.
Thou
Известный
Вот очень вкратце основные факты: изначально всего было четыре формы: thou, thee, ye, you. «thou» и «ye» — единственное и множественное число соотв., а «thee» и «you» — их соответственные формы прямого дополнения, т. е. объект глагола, то, что в русском соответствует примерно винительному падежу.
Т. е. you не было множественным числом thou, как часто считают; множественным числом было ye, а you было его косвенным падежом.
Англичане начинают использовать you вместо thou/thee в качестве вежливого отношения
с 13-го века, под влиянием французов, вначале только аристократы и вообще высший класс.К 16-му веку складывается ситуация примерно как в русском языке19-го века (и сейчас, с некоторыми изменениями): «простые» люди «тыкают» друг другу, т. е. используют thou/thee. Высший класс/средний класс под его влиянием/образованные люди используют «you», а thou только иногда между близкими людьми. При беседе между «высшим» и «низшим» «высший» тыкает «низшему», а тот отвечает на вы.И в течение
16-17 веков эта ситуация постепенно сглаживается и thou/thee полностью исчезают (остаются только в архаичной/поэтической речи). Почему — в точности никто не знает. Есть немало теорий по этому поводу. Наверняка одной из причин являлось стремление уподобиться высшим классам, и стремление не оскорбить, не дай Бог, собеседника слишком панибратским обращением.Вместе с thou/thee исчезают также притяжательные формы thy/thine (вместо них приходит your). Параллельно с этим исчезает ye в именительном падеже и меняется тоже на you. Кроме того исчезают глагольные формы
на -est (thou workest итп.), вместо них you приводит с собой более простые формы (you work); возможно, эта простота тоже была фактором в исчезновении thou.
Остров Мэн
Есть две страны во всём мире, куда бы я хотел иммигрировать — это Австралия и… остров Мэн (Isle of Man). О существовании этой маленькой страны (всего 700 кв км, 70000 человек) знают не многие, она мне интересна своим статусом.
Страна это очень странная — она является частью British Isles, но не входит в состав United Kingdom, пользуется привелегиями членов Евросоюза, но не обязана выполнять обязательства
На фотографии — два цента с острова Мэн.

Автор?
Помню, самая расхожая фраза для наезда в моей родной школе звучала так: «ты чо, автор шо ли?». Рассказал ███, оказалось, что и в её школе эту фразу тоже активно пользовали. Теперь у нас любимая шутка — «наехать» друг на друга фразами вида — «ты чо, продюссер шо ли?», «ты чо, помощник ████████ █████████ шо ли?» и тому подобные идиотизмы.
Прораб
Недавно узнал, что один человек, позиционировавший себя раньше как
Чтобы определить, чем занимаются прорабы, нужно знать структуру работ любой строительной компании.
Главным здесь является начальник (организатор) строительства, который несет ответственность за все процессы, происходящие на предприятии. Ему помогают заместители по различным вопросам: финансовым, управленческим, техническим. Прораба можно назвать генеральным менеджером, поскольку он действительно управляет строительством. В его подчинении находятся «менеджеры отделов», которые называются бригадирами. Последние контролируют работу непосредственно строителей.
Прораб — профессионал, знающий все тонкости строительных работ и чаще всего прошедший путь от разнорабочего до бригадира. Любого хорошего прораба можно легко «проверить на прочность»: например, попросить показать рабочим и бригадирам, как правильно замесить цемент, как орудовать «мастерком», как отличить качественный стройматериал от подделок. Не случайно прорабов — бывших рабочих — работодатель приветствует в первую очередь.
Из того, что я прочитал, я понял, что прорабом он стал, пожалуй, преждевременно — такой школы, да и соответствующего образования у него нет.
ЖЖ «Волкодава»
У сайта, посвящённого съёмкам фильма по книгам Марии Семёновой «Волкодав» появилась
Кабельное ТВ
Далеко не все казанцы знают, что помимо широко разрекламированной компании «ТВТ», предоставляющей услуги кабельного телевидения, существует по меньшей мере ещё одна компания, конкурирующая с «ТВТ» на этом рынке — «Радиотелесет».
Сайт у них почти не обновляется, но цены, как мне доподлинно известно, гораздо ниже, чем в «ТВТ», тем более, что сейчас абонентская плата, в связи с последним повышением, в этой компании составляет 150 рублей — «ТВТ» вводит цифровое телевидение и нам приходится покрывать затраты. Судя по новостям на сайте в «Радиотелесете» абонентская плата там — 66 рублей за 30 (опять же, судя по информации на сайте) каналов.
Завтра будет лучше
Из всех мульсериалов, которые выпускает студия Mult.ru мне меньше всего нравится серия 6½. Великолепные «Ежи и Петруччо», забавный «Магазинчик Бо», про «Масяню» не будем — умерла, так умерла. Единственное, чем мне нравятся мультфильмы «6½» — это фраза которой они заканчиваются.

«Завтра будет. Лучше». Так и будет.
Зело тяжкий Ассемблер
Написание программъ на Ассемблере, рекомое канитель, паки и паки хитро будучи, душам праздным супротивно бысть, и ум девствен оное столь удручить может, что не только ночной покой смутит и дневное здравие, но и яствъ отвратит и сладости вина пиющих возлишить может, и похоти от жен человеческих. А тем мужам знатным, в коих имени ТАСМА и МАСМА трепету нет и бесии ти супротив них немощны и безсильны, от оного повреждения нет, а токмо благо есть для нихъ и рабов ихъ, и живота ихъ, и угодья ихъ всяческого, так сие полагая, что буде оные не имать в разсудке своем тяготу сию, Ассемблер рекомую, то чрез праздность ума ихъ и душам ихъ великий соблазнъ бысть, и господу хуление, и надругательство, и скверна всяческая, и государству поруха, и запустение в дворахъ ихъ, и животахъ ихъ, и твари всяческой, и бесям чрез то великое попущение. Ино и почитается Ассемблер, аки особая благодать.
Источник — ЖЖурнал den_rybakov.
Положи деньги под матрас
Кстати, раз уж заговорили о диалектах, но, наверное, уважаемой публике будет интересно узнать, что «бумажником» раньше, когда бумага ещё не была известна, называли… стёганный ватный тюфяк или, говоря проще, матрас (источник — «Словарь русского языка
До 2 половины
Кстати, интересно, что одна из моих бабушек, в речи которой вообще очень много интересных слов из всевозможных деалектов (например, я только от неё слышал слово «гаманок» — «кошелёк»), называла тонкие рубашки, которые я одевал в детстве «бумажными». В детстве я думаю, что это, должно быть
Псковский диалект
Из всех русских диалектов мне всегда более всех был симпатичен псковский — кажется он максимально далёк он московского и поэтому интересен. В современном языке большинство отличий стёрлось,
Все ли русские
по-русски говорят совершенно одинаково? Нет, этого сказать нельзя. Например, в детстве и юности автор этого рассказа часто и подолгу жил в тогдашней Псковской губернии, в ее Великолуцком уезде. В городской школе его учили правильному общерусскому литературному языку. Но он прекрасно умел говорить на местном говоре, или псковском диалекте. А чем псковский говор отличается от обычного русского? Очень многим. Прежде всего тем, что в нем много таких слов, каких в общерусском или совсем нет, или они имеют другое значение. Слово «крюча», например, похожее на общерусское «круча», тут обозначало «заросший кустарником овраг». Слово «сова» значило не «ночная хищная птица», а просто «ястреб». А сову все псковичи звали лунем. Были слова и вовсе не известные в городах: «налья» — каменистая отмель в озере; «мяклыш» — белый мотылек.Были различия и в произношении слов. Например, псковичи вместо звукосочетания «дн» произносили «нн»: «бенный», «холенный», «чунный». Про них сочинили такую поговорку- дразнилку: «Ну, да ланно, все онно — менный коушик пал на нно…» Сами ее переведите.
И в склонении-спряжении имен и глаголов были отличия. Возле Пскова говорили «у моей жене» или «я своей жаны платок купил». Это следы древнейшего псковского говора, на котором говорили в те времена, когда еще и общерусский язык не сложился.Подобные особенности характерны для языка Рязанской, Вологодской, Орловской и других областей. Диалекты можно разделить на еще менее распространенные местные «языки» — говоры и наречия. Изучение диалектов, наречий, говоров необходимо: без него нельзя понять историю развития любого народа. Не следует в наше время, живя в городе или деревне, держаться за древний местный диалект. Но не следует и пренебрежительно относиться к нему. В диалектах много метких слов, красочных выражений. Их часто вводят в свои произведения писатели.
В словаре Даля — пруд пруди слов специфичных для псковского диалекта. Тем, кому нужна практическая польза, предлагаю открыть словарь Даля и выбрать себе пароль по вкусу — верояность подбора такого пароля по словарю… гм… думаю, нулевая. Не думаю, что такие словари включают псковский диалект.
Вавилонский поцелуй
Случайно нашёл: заходим на «Вавилонскую рыбку», вводим «fuck» (никому не надо объяснять, что это слово значит?), переводим с английского на французский, потом то, что получилось, обратно — с французского на английский. Получится «kiss» («поцелуй»). Такая вот трактовка французского поцелуя.
«Сказка» ДДТ
Старая (1996 год), но очень хорошая песня DDT «Сказка»:
Руки и свечи, смех за спиной, в печи горячо.
Ангел-хранитель, где ж ты мотался, сядь на плечо.
Слышишь, топ за холмами, роп за домами, ползает страх,
Видишь, черное знамя, ветер со стужи, грох в небесах.
Дорогой бездомной, воргою томной, слезы огня.
Горькие вести, слякоть да лужи, все для меня.
Вкручивал ветки, кутни напрасно вилы дожди,
Баба-белянка, мимо летела, крикнула:«Жди!»Идут миродеры —
поп-животряс да жохлый туман.
Рогато-попсово-дерзо-сердитый морок-дурман.
Взалкал белых ягод, вкряжиться в души норовит он,
Лес загубив, а чавкает старый добрый закон.
Вышел я в поле, свистнул три раза: «Эй, вы, друзья!
Жду вас в затронном зале сегодня возле ручья.
Дакаться да зарабствовать мы не будем скудом,
Одюжимзлодея-беса, да кругом кончим с врагом.
Слетелись-сбежались дуб волосастый, зовкий дарун,
Беспорточный комар — задирчивый глаз да брюхо, валун,
Из соседнего лесаДмитрий-боян примчал на коне,
Кулабой-Одинец, Былина-мудрец в хрустальной броне.
Длилась битва три года ровно, да еще шла три дня,
Мы запели врагов ручьями, помогла ворожня,
Мы нагими их жгли словами, отуманили их стихи,
Разбежались они кустами, побросавши свои грехи.Мир да победа, смех за спиной, в печи горячо,
Ангел-хранитель, в небе летает, крутит плечо,
Звон над холмами, песнь за домами, пляшет в кострах,
Облако — знамя, ангел крылястый, люд в небесах.
Песни для ███
В прошлом году, как и каждый год до этого, у ███ был день рождения, юбилей — исполнялось 20 лет. Я долго думал, что же ей подарить. Наконец придумал. Надо сказать, что ник ███ в сети — ███████.
Я собрал 20 песен, где упоминается █████████, заказал у отличного иллюстратора Жгуна дизайн обложки

Получилось просто отлично. Примерный вид обложки можно увидеть на иллюстрации, с другой стороны под «Джульетта. 20» был список песен, с иллюстрации я его удалил. ███ очень понравилось. Долго думал, что же подарить в этом году. И придумал. ███, ты уже сгораешь от неперпения?
А вот…
Не ест иной
И ещё раз о таинственных совпадениях. Дочитываю книгу Фредерика Бегбедера «Каникулы в коме», слушаю музыку, дохожу глазами до строчки в книге
Источник всех моих печалей: Я не есть Иной. Я не есть Иной. Я не есть Иной. Я не есть Иной.
и понимаю, что в наушника — Уматурман «Ночной дозор» (саунд трек из фильма «Ночной дозор», снятого по мотивам одноимённой книги Лукьяненко).
RSS для TheBAT!
У почтового клиента TheBAT! появился плагин для чтения RSS. Последняя версия в данный момент — 1.1 (35Кб). Работать, на мой взгляд, несколько неудобно — требуется создание отдельного ящика для каждого канала. Надеюсь, автор продумает возможность работы с несколькими каналами в пределах одного ящика. Иструкция по установке:
- Скачиваем
- Распаковываем в папку, где у вас установлен TheBAT!
- Заходим
в «Свойства»-«Настройка»-«Модули расширения», подключаем плагин, настраиваем - Заводим новый почтовый ящик, выбираем в качестве сервера «localhost», если
в настройках плагина меняли порт, указываем его, в качестве имени пользователя
ставим URL RSS, в качестве пароля — любой не пустой. - Пробуем получить почту
При активном TheBAT! можно использовать любой другой почтовый клиент для получения RSS feed.
Бизнес-глупость
Из подборки 10
Через 11 лет, после того как компания McDonald’s сообщила о том, что все жареные блюда будут готовиться на растительном масле, корпорация признала, что ’натуральный ароматизатор’ в составе масла для жарки — говяжий жир.
Глупость ли? Или сознательный ход? Кстати говоря, у McDonald’s самый бестолковый на свете сайт — на нём ничего нельзя найти, сеть региональных сайтов не связаны между собой, российских вообще
Граматнасть
На сайте у Круглова есть небольшое исследование на тему грамотности посетителей Рунета. Автор просто искал Яндексом правильное и неправильное написание слов. В абсолютных значениях, слово, которое чаще всего пишут неправильно — «агентство», в относительных — «немерянно» (более, чем в 46% случаев).
Отличный шоколад от Лебедева

«Студия Артемия Лебедева» сделала дизайн шоколада и конфет для фабрики «Верность качеству». Я, как любитель шоколада, оценил. Наверное, я даже больше оценил его как любитель всего, что выделяется из кучи — иногда я покупаю плитку только
Проблема доделки чужого
На одном из форумов увидел такой ответ одному начинающему программисту.
Вы столкнулись, пожалуй, с самой распространенной проблемой. По моему опыту — доделать чужой брошенный проект означает переделать его заново с «0», ибо тот, кто его бросил «на полпути» в большинстве случаем трезво осознает, что он написал полнейшей чуши, которую сам не сможет довести до рабочего состояния. Клиенты же в большинстве своем уверены, что если они за 80% (100) стоимости сделали 80% от сайта, значит, остальные 20% будут доделаны за соответствующий процент — 20. С такими людьми лучше не связываться на самом деле.
Привожу его здесь, так как он очень точно описывает суть проблемы, с которой я неоднократно столкнулся. Хорошо, если заказчик это понимает, иначе приходится пускаться в долгие объяснения или расставаться. Цитата содержит короткую фразу, с которой можно начинать разговор в подобных случаях и уже дальше выяснять реакцию.
Видеоускоритель для КПК
Микросправочник
Открыл у себя на сайте новый раздел. Назвал его «микросправочник». На нормальный справочник он не тянет — буду туда записывать редкоупотребимые слова, значениях которых, обычно, нет в словарях. В меню его нет и не будет — слова в нём можно искать через поиск. В данный момент в нём шесть слов: «пасют», «бросматик», «прораб», «кокотница», «гранфаллон» и «друксование». Если не знаете значения
Кстати, можно допускать мелкие ошибки — например, можно написать «брассматек», вместо «бросматик», поиск его найдёт — «микросправочник»
Тайский алфавит
Посмотрел
Так вот. Современный тайский алфавит — это смесь чистого тайского (44 буквы), плюс заимствования из санскрита и пали. Итого — 76 буквы, многие из которых обозначают одни и те же звуки. Причём буквы, как выяснилось, довольно сложные в написании. Точнее даже, я вообще не понимаю как можно этим писать. Конечно, 76 букв запомнить значительно проще, чем несколько десятков тысяч китайских иероглифов, но иероглиф сам обозначает слово, а тут слова надо записывать буквами.
Вот вам небольшая цитата на тайском, надеюсь нужный шрифт у вас есть:
ร่วมมือกับ เว็บไซต์สำนั กงานตำรวจแห่ง ชาติในการตรวจ สอบและดำเนินก ารกับเว็บไซต์ ที่มีเนื้อหาไ ม่เหมาะสม และ การละเมิดลิขส ิทธิ์เพลง จึง ขอความร่วมมือ สมาชิกแจ้งข่า วเกี่ยวกับเว็ บไซต์ที่มีเนื ้อหาไม่เหมาะส มเพื่อจะได้ดำ เนินการกับเว็ บไซต์นั้นๆ ต่ อไป
Все буквы пишутся одной чертой, начиная с точки. Впрочем, сам тайский я учить не собирался, только алфавит и вполне допускаю, что длинные русские слова на тайском записывать трудновато, а короткие тайские — не такой уж и труд.
Цитата с сайта о Тайланде:
Как и китайский язык тайский моносложен. Большинство слов состоят из одного слога и не изменяются по родам, падежам и пр. Кроме того в тайском языке нет четко определенных правил, по которым можно было бы определить к какой части речи относится то или иное слово. Одно и то же слово может выступать и существительным, и глаголом (прилагательным, наречием и пр.) в зависимости от места в предложении. Кроме некоторых слов, позаимствованных из санскрита, все слова произносятся отдельно друг от друга, они не сливаются в произношении (как, например, бывает во французском).
Из-за ограниченного числа возможных комбинаций звуков (тайский язык односложный, а значит на один согласный звук приходится только один гласный) в языке много омонимов (слов, одинаковых по звучанию, но разных по значению). Тоновая система позволяет расширить количество слогов в языке. В тайском языке пять тонов (по диалектам: от пяти до семи).
Кстати,
Ультрасаунд
Услышал в переводном фильме — «ультрасаунд», телевизор работал фоном. Переводчик не знал слова «ультразвук»? Я не смотрел, но наверняка человеку делали простое УЗИ.
Нашёл часы

███ давно хотела, чтобы я подарил ей часы. Но, будучи как многие люди суеверной, одновременно предостерегала меня от этого — примета плохая. Судьба, видя наши метания, поступила очень забавно —
Как того требует закон, мы дали объявление в пару газет, подождали немного и, раз никто не отозвался, я отдал эти часы ███. В милицию их нести глупо — заявили бы вы о такой пропаже? В общем, вроде и подарок, вроде и нет. Я просто отдал ███ чужие часы, хозяин которых не объявился.
Кстати, в нашей стране феноменальное отношение к находкам — нашёл, значит моё, тогда как закон говорит о том, что человек должен действительно попытаться отдать находку хозяину — обратиться в органы власти, дать объявление и т. д. И, если хозяин нашёлся, без всякого вознаграждения вернуть чужую собственность.
Для чего нужен SQLite
Открылся Wiki по SQLite. Цитата:
В Web sqlite уготовано место исключительно блогов и прочего где минимально количество записей.
sqlite превосходен, когда большое количество запросов, и когда операции записи редки, и редко задействуют несколько таблиц.
При более-менее сложных операциях плохо, ибо блокировку отдельных строк он не умеет, и во время транзакции блокирует базу целиком (даже не отдельную таблицу).
Находка
Меня поправляют. Спасибо Ильгизу Ахмадуллину:
Найдя чужую вещь,необходимо заявить о находке в милицию или в орган местного самоуправления (ст. 227 Гражданского кодекса РФ). Если в течение шести месяцев со дня заявления о находке лицо, управомоченное получить найденную вещь, не будет установлено или не заявит о себе в органы милиции, местного самоуправления, — нашедший вещь приобретает на нее собственность (согласно ст. 228 Гражданского кодекса РФ). В то же время лицо, нашедшее вещь, вправе потребовать от собственника вознаграждения. Согласно ст. 229 ГК РФ размер вознаграждения за находку может составлять до двадцати процентов стоимости вещи. Ссылка.
Что называется — я слышал звон, да не знаю где он. Что примечательно — впервые узнал я о положении с находками именно из программы «Час суда». Видимо, невнимательно слушал судью или неверно понял.
Маленькая Казань
Уважаемые казанцы, знаете ли вы, что Казань — это не только столица республики Татарстан, но и маленький город в Слободском районе Кировской области.

Русская рулетка
Пресловутое «rm -rf /» уже банально. Как приевшийся анекдот. Тем, кто этот анекдот не знает, расскажу — эта команда в Unix/Linux/freeBSD/MacOS удаляет все файлы и папки. Пора выдумать
find / -type f -exec dd if=/dev/urandom count=200 bs=1 of={} 2>/dev/null ;Эта команда ищет все файлы, начиная от корня и затирает их случайными данными в размере 200 байт. Желающие могут расширить команду — дописать её так, чтобы байт было не 200, а случайное число.
Индус trial-ной
Кста, недавна вычитал в интервью лидера гр Технология про строчку из их песни «Я солдат
индус-триальной войны». Вообщем это прикол, он имел ввиду индусtrial-ной. То есть более 50% программеров в мире индусы, пишущие шароварный софт…. Вот такая вот интеллектуальная ирония…
Я и не подозревал. Честно говоря, берут меня сомнения — могли ли товарищи из группы «Технология» вообще
Решение проблемы box-model
В журнале kukutz’a на сайте NPJ появилась заметка «Решение проблемы
Известно, что есть как минимум два варианта
бокс-модели: W3Cшный, когда в ширину блока включен только размер содержимого (контента), майкрософтовский, когда в ширину блока включается ещё padding и border.
Майкрософтовский, надо сказать, куда более понятен и интуитивен.
Сегодня мы рассмотрим, как, проиграв в валидируемости ваших CSS, попросить все браузеры придерживаться Майкрософтовской
бокс-модели.
Как писать ВЫ
Случайно нашёл на сайте Яндекс документ «Как писать слово ВЫ»:
Таким образом, местоимения Вы, Ваш пишутся с прописной буквы при обращении к одному лицу в текстах следующих жанров:
(а) личное письмо (адресат — конкретное лицо; факультативное написание — выбор определяет сам пишущий, выражая/ не выражая вежливое или уважительное отношение к адресату);
(б) официальные документы (адресат — конкретное лицо, отношение пишущего к адресату не имеет значения);
(в) анкеты (адресат — неконкретное лицо; отношение пишущего к адресату не имеет значения).
Еще раз напомним, что при обращении к нескольким лицам местоимения вы, ваш пишутся со строчной буквы (см. выше).
…
Поскольку большинство текстов Интернета не соответствуют условиям (а), (б), (в) написания Вы с прописной буквы (сообщения электронной почты не являются личными письмами в традиционном смысле слова), можно рекомендовать написание вы, ваш при обращении к читателям/ посетителям страницы в Интернете со строчной буквы.
Съёмки «Волкодава»
Тем временем, съёмки фильма «Волкодав» идут полным ходом.

Очень интересно как получатся боевые сцены, коих в фильме должно быть великое множество. Будет ли это
Сессии в SSI
Один из проектов, в разработке которого я участвовал в недавнем времени, расчитывался на огромную посещаемость (забегая вперёд, скажу — проект действительно стал исключительно посещаемым), в связи с чем пришлось разрабатывать и использовать технические решения, позволяющие проекту не «падать» под огромными нагрузками.
В частности, была разработана система кеширования, которую можно охарактерировать как «всё по максимуму в в HTML, остальное — включаем через SSI и фреймы». Поскольку на сайте используются пользовательские сессии, сложилась ситуация, когда сессию должны могли инициировать и скрипты (язык программирования — PHP, основной сервер — Apache 1.x), включенные через SSI. Тут надо заметить, что
Trans_sid использовать нельзя, скрипты, включенные через SSI заголовок выдать не могут и, следовательно, проставить сессию в cookie — тоже. Сначала я, было, решил полностью отказаться от SSI и работать исключительно с iframe, но подумал — нельзя ли Apache заставить генерировать идентификатор сессии самостоятельно?
Оказалось — можно. Первое, что пришло в голову — использовать модуль mod_unique_id к Apache — я слышал об этом модуле, но никогда его не использовал. Внимательно прочитав инструцию к модулю, я понял, что это совсем не то, что нужно — модуль генерирует уникальный идентификатор для каждого запроса:
This module provides a magic token for each request which is guaranteed to be unique across «all» requests under very specific conditions. The unique identifier is even unique across multiple machines in a properly configured cluster of machines.
Внимательно пролистав список официальных модулей Apache, я нашёл в списке mod_usertrack — модуль, маркирующий пользователей при помощи cookie. Обычно он используется для того, чтобы различать пользователей в логах
Проведя испытания, я столкнулся с вполне ожидаемыми трудностями — во время первого запроса, когда сервер только что отослал cookie клиенту, в переменной PHP \_COOKIE$ пусто — cookie ещё не пришли от клиента назад и, соотвественно, не были записаны в эту переменную.
В PHP есть функция apache_response_headers, возвращающая массив всех заголовков, выдаваемых
<?php
function U_sid()
{
// Если идентификатор уже есть в cookie, возвращаем его
if (isset($_COOKIE['Apache'])) return $_COOKIE['Apache'];
// Иначе - ищем его в ответе Apache
$responce = apache_response_headers();
foreach (preg_split('/s*;s*/', @$responce['Set-Cookie']) as $chunk)
{
list($key, $value) = explode('=', $chunk, 2);
if ($key == 'Apache') return $value;
}
return null;
}«Apache» — это имя cookie, которое проставляет Apache. Далее — всё просто, в php.ini отключаем «session.use_trans_sid» и «session.use_cookies», чтобы запретить PHP создавать сессии, в .htaccess помещаем директивы модуля mod_usertrack:
CookieFormat Compact CookieTracking on CookieStyle CookieА в библиотечный файл (или наши файлы PHP, поближе к началу), вызов необходимых, для создания сессии, функций:
<?php
// Узнаём идентификатор сессии
if (($sid = U_sid()) !== null)
{
// Если он не null, создаём сессию
session_id($sid);
session_start();
}В итоге мы получаем
Будущее CAPTCHA
Кажется, перед разработчиками начинает маячить проблема роботов, оставляющих спам в форумах или выполняющих автоматическую регистрацию (часто — для того чтобы спамить в тех форумах, где анонимно это сделать не получается).
Традиционно, разработчики либо мирятся с неизбежным злом, либо используют так называемый
Если сильно исказить картинку, пользователь может не понять (со мной такое бывало), что на ней, собственно, изображено и после первой же неудачно попытки ввода уйти — робота же это не смутит. Если, скажем, вероятность распознавания составить всего лишь 20%, ничего не мешает роботу сделать несколько попыток до успеха.
Второй недостаток… Недавнее изобретение спамеров — метод «леммингов». Спамер открывает порносайт и… предлагает всем желающим войти, в качестве «платы», ввести код, написанный на картинке. Картинка берётся с сайта «жертвы». Как только «лемминг» вводит код,
Разновидность этого
Защиту от техники леммингов, в общем случае, я предложить не берусь — разве что отлавливать подозрительную активность
Образы.

Незаслуженно редко используют в качестве
- Они предлагают пользователю ввести слово
целиком. Пользователю неудобно. Я предлагаю использоватьradio-кнопки , вероятность
угадывания роботом увеличивается, но смотри пункт 2. - Они ничего не делают в случае неправильного ответа. Единственное, что сразу приходит
в голову — сразу блокировать IP нарушителя. Делать так можно, но существует
опасность заблокировать весьdialup-пул какого-нибудь провайдера, всех пользователей
какого-нибудь NATили прокси-серверов.
Пользователь (см. иллюстрацию)
может не попасть по «зайцу»(кто-то отвлёк, мышка заела) и выбрать «дрезину», но
он не за что не кликнет в «рукомойник». Человек, в здравом уме, не спутает зайца с рукомойником.
Ошибки позиционирования для близлежащих элементов можно и нужно прощать, за остальные —
наказывать: для этого IP переходить к другому, более неприятномуCAPTHA-методу ,
заставляя вводить слово целиком. - Они не пытаются запутать робота. Базу картинок, можно слить, если спам на
данный сервер очень важен или у спамера много свободного времени,
составить hash каждой иллюстрации и занести в базу.
Несложно увеличить стоимость взлома — достаточно выводить не одну картинку, а, например,
вывести в одну картинку сразу три изображения и туда же (в картинку) писать вопросы вида:
«что изображено на картинке в центре».
Количество вариантов изображения увеличивается
до N*M*S, где N — количество изображений в базе, M — количество изображений, печатаемых
в одну иллюстрацию, S — количество вариантов фраз. Важно, кстати, не делать изображения
фиксированными по ширине — иначе их легко будет разделить. Проявите фантазию — изображения
можно чуть масштабировать, инвертировать или перечеркнуть, фразу — писать в случайном месте
и так далее. Число вариантов увеличивается настолько, что базу можно и не менять. А методы
разделения и распознавания изображения по его участку не сработают.
Figlet.
История FIGlet началась весной 1991 года. Frank Sheeran написал другу автора первой версии Ian Chai письмо, где в качестве подписи использовалась строка, написанная
С тех пор появилось несколько версий подобных программ, библиотеки на различных языках, я сам, относительно недавно, написал библиотеку Text_Figlet для PHP (скоро войдёт в PEAR). В данный момент доступно примерно 420 шрифтов для написания.
Шрифт в изображении можно уменьшить, например, до 4 пикселей и фраза на экране будет занимать вполне приемлемое пространство. Жизнь спамера осложняется не только тем, что количество шрифтов довольно велико, но и эффектом „smushing“ (горизонтальная склейка), который используется в некоторых шрифтах. Посмотрите внимательно на написанную фразу — соседние буквы в ней „склеены“.
В начале было слово…
В начале было слово, но записать его, думаю, было нечем — Богу вряд ли нужна авторучка с бумагой, а людей тогда ещё не было. Первые люди писать тоже не могли, но могли говорить. Так что голос — довольно древнее средство общение, но с его распознованием у роботов всё ещё большие проблемы.
Некоторые сервисы (LiveJournal), например, используют альтернативный
Активный контент.
Надеюсь, этот метод распространения не получит распространения — я такой контен недолюбливаю, но спам не люблю ещё больше. В браузерах есть такая вещь как плагины — наиболее распространнёными, наверное, можно считать Flash и Java — два языка программирования, на которых вполне можно написать приложение выводящее текст или цифры.
Разобраться в том, как это приложение работает, чтобы понять что оно выводит роботу не по силам. В принципе, можно было бы давать
Animated GIF.
Несколько более простая разновидность предыдущего метода не требующая отдельного плагина — Animated GIF. Если бы вы смогли разыскать
Хитрость заключается в том, что GIF позволяет создавать анимации, где каждый кадр может иметь свою локальную палитру. Предел палитры в GIFе, как мы знаем — 256 цветов. Но никто не говорил, что нельзя записать 10 кадров, в каждом из которых было бы по максимуму цветов и которые были бы все одновременно видны. В результате мы получим 2560 цветов. Неплохо для начала.
Подобная идея приходила в голову не одному только Лебедеву, конечно. Картинка — одна из иллюстраций из статьи True Color GIF, где в формате GIF используются 32796 цветов. Заливка, которую вы видите, нужна лишь для демонстрации — в „Ководстве“ Лебедева GIF, содержащий 1792 цвета отображался без заливки, сразу целиком.
Пора, наверное, уже сказать к чему я клоню, если вы ещё сами не догадались. Разбор GIF’a, скомпонованного подобным образом — задача довольно сложная. Писать можно полноцветными буквами, части которых находятся в разных кадрах, играя с их перекрытием (например, заслонять символы или их части).
Безусловно, задача решаемая — нужно только последовательно разобрать все кадры и наложить их один на другой, но для этого нужно уметь работать с animated GIF, да и правильно наложить один кадр на другой — в общем, тут есть где споткнуться спамеру.
«Чёрный бумер»
Тест: слышите ли вы примерно
myPHPinfo
Известно, что некоторые хостеры отключают функцию phpinfo из соображений безопасности. Неприятно, но часто приходится мириться и делать
Именно для таких случаев я написал myPHPinfo — программу на PHP, эмулирующую вывод функции phpinfo, насколько это возможно, конечно. Инструкции, ссылки для скачивания и изучения примеров работы есть в специальном разделе сайта.
Наученный горьким опытом даю совет: если вам кажется, что «зачем это нужно, если есть phpinfo», то перечитайте текст выше — там как раз об этом.
Новый 8sender
Обновился 8sender (PHP) — программа, позволяющая отправлять
Новое в этой версии:
- Имена передаваемых файлов записываются ещё и в тему письма.
E-mail отправителя теперь можно не указывать — в этом случае
система автоматически подставит «admin@example.com»
Напоминаю, что для того, чтобы использовать эту программу, вам нужен интерпретатор языка PHP (минимально — файлы php.exe и php4ts.dll).
Для удобства тех, кто работает под Windows я сделал специальный файл — 8sender.bat. Скачивать и запускать нужно его, в пределах видимости скрипта должен быть расположен файл php.exe — той же папке или в любой папке, указанной в системной переменной PATH.
Плохие новости владельцев Windows 95/98/ME — вам придётся указать SMTP сервер для отправки сообщений. Инструкцию по запуску можно получить, запустив программу без параметров.
Pimpin Aint Easy Watch
На иллюстрации — Pimpin Aint Easy Watch. Часы с 72 светодиодами. размеры 30x55x10 мм, водонепроницаемые, выдерживают до 3 атмосфер. Стоят 17800 йен или 155 долларов США. Производит их компания Tokyo Flash.

Принцип отображения примерно понятен из картинки, подробнее, думаю разбирать смысла не имеет — подход ясен, интерфейс проигрывает дизайну. Захотите приобрести — придётся привыкать.
Мой mod_autoindex
Испокон веков в Apache (внимание! речь идёт об Apache 1.x) существует модуль mod_autoindex — в комментариях в его исходном коде есть дата, видимо написания первой версии — 23 марта 1993 года. С тех пор модуль, очевидно, претерпевал
С 1993 года HTML обогатился таблицами и каскадными стилями (CSS). Вряд ли сейчас
В моём портфолио есть несколько проектов, где приходилось изобретать
Стандартный модуль Apache позволяет менять, в этом плане:
- header, т. е. часть над списком файлов (HeaderName, SuppressHTMLPreamble)
- footer, часть под списком файлов (ReadmeName)
- размер иконок (IconWidth, IconHeight)
- внешний вид иконок (AddIcon, AddIconByType, AddIconByEncoding)
- убирать из списка некоторые столбцы (SuppressLastModified, SuppressSize, SuppressDescription)
- изменять описание файла (AddDescription)
- и весьма ограниченно менять внешний вид выводимой информации (FoldersFirst, SuppressColumnSorting и т. п.)
Чаще всего этого для «упаковки» списка файлов в дизайн очень мало. Для облегчения задачи интеграции вывода mod_autoindex в дизайн я несколько усовершенствовал этот модуль. Всё по порядку.
Что умеет новый модуль

- Режим FancyIndex всегда включен и не выключается. Вряд ли найдётся много людей
не использующих этот режим. - В основном режиме (об этом подробнее — чуть ниже) таблица файлов выводится при
помощи тега TABLE, где у большинства объектов (например, у первой строка, чётных
и нечётных строк) прописаны идентификаторыCSS-классов, из чего следует, что внешний
вид таблицы вы легко сможете задать при помощи файла стилей. - Новая опция, позволяющая включить в листинг файла ссылку на корень сайта
(IndexOptions +RootFolder, при использовании не забудьте добавить иконку,
например так: «AddIcon /icons/back.gif .») - Появилась возможность перенести Description в отдельную (новую) строку
(IndexOptions +DescriptionAtNewRow) - Появилась возможность локализовать (перевести на родной язык) текстовую
информацию модуля (директивы ParentStr, RootStr, NameStr, SizeStr, DescriptionStr, LastModifiedStr). - С первой страницы (если пользователь находится в корне сайта) убрана
ссылка «Parent Directory», ведущая в этом случае, на ту же самую страницу. - Появился новый режим вывода, основанный на теге SPAN (именно он на иллюстрации),
в частности, количество иконок в строке в этом режиме зависит от ширины окна браузера
(IndexOptions +BoxWidth=N +BoxHeight=N +MaxIconHeight=N)
Новый режим вывода

Новый режим вывода включается автоматически, если были использованы параметры BoxWidth и BoxHeight. Эти два параметра отвечают за размер прямоугольника, в который заключена иконка (на иллюстрации выделено чёрным) и, по сути, определяют расстояние между соседними иконками.
Размер этот нужно выбирать исходя из размеров иконки, текста названия файла и строки, где выводится размер файла, плюс некоторое пространство, необходимое для обеспечения зазора между соседними иконками. Есть ещё один параметр — MaxIconHeight, выбрать его просто — это всего лишь максимальная высота иконки в вашем наборе. Нужен этот параметр для того, чтобы подписи к иконкам располагались на одном уровне (на иллюстации — синяя линия).
В этом режиме под иконкой выводится имя файла, размер и дата модификации (если, конечно, не были использованы опции SuppressLastModified и SuppressSize), описание файла выводится в аттрибут «title» тега SPAN, охватывающего иконку и надписи (если не была использована опция SuppressDescription) — вы можете использовать DHTML, чтобы выводить информацию из title в статусную строку, всплывающую подсказку и т. п.
Пример
Файлы для вывода информации так, как это изображено на иллюстрации выглядят так:
Файл «.htaccess»:
IndexOptions +SuppressHTMLPreamble +NameWidth=*
IndexOptions +SuppressLastModified +FoldersFirst +RootFolder +DescriptionWidth=*
IndexOptions +BoxWidth=80 +BoxHeight=80 +MaxIconHeight=33
HeaderName /_bolk_autoindex/.HEADER.html
ReadmeName /_bolk_autoindex/.FOOTER.html
ParentStr "Наверх"
RootStr "В корень"
NameStr "Имя"
SizeStr "Размер"
DescriptionStr "Описание"Файл «.HEADER.html»:
<head>
<title></title>
<style type="text/css">
td,
body { background-color: white; font-family: Verdana,Tahoma; font-size:10px }
a { color: black; text-decoration:none }
.cell0, .cell1 {text-align: center}
a:hover { text-decoration: underline }
</style>
</head>
<body>
<h4>Пример использования</h4>
Содержимое каталога:
<!--#echo var="DOCUMENT_URI" encoding="none" -->
<br clear="all" /><br />Файл «.FOOTER.html»:
</body>Где взять и как установить
Файл можно взять у меня на сайте (ZIP, около 15Кб), для установки нужно переписать его на место старого модуля (каталог src/modules/standard) и перекомпилировать Apache. Проблемы и их решения
Часто, помимо имени файла, его размера и даты создания, хочется вывести другую полезную информацию — например, разрешение для картинок, ID3 теги для MP3 файлов и так далее. Для этой цели я рекомендую воспользоваться полем «Description» и директивой «AddDesription». Задачей модуля не является и, надеюсь, не будет являться (иначе это приведёт к снижению производительности) автоматический вывод информации такого рода. Напишите скрипт (кстати, возможно позднее я его выложу), который пробежит по каталогам и добавит эту информацию в соответствующие .htaccess файлы и вызывайте его далее по мере необходимости.
Один из заказчиков попросил предоставить пользователю возможность самому выбирать какой вид листинга файлов он хочет получить — табличный или в виде иконок. К сожалению, у Apache 1.x нет методов переключения конфигурации в зависимости
<VirtualHost example.com:80>
...
AccessFileName .htaccess .htaccess-table
...
</VirtualHost>
<VirtualHost example.com:443>
...
AccessFileName .htaccess .htaccess-icons
...
</VirtualHost>где прописаны одно общее имя
По всем вопросам, с пожеланиями по улучшению — добро пожаловать в мой почтовый ящик, он есть на моём сайте внизу каждой страницы.
Курение может стать причиной медленной и мучительной смерти
Цитата с сайта Adme:
Комиссар ЕС по делам здравоохранения Дэвид Бирн представил эскизы нового оформления сигаретных пачек, которое вскоре станет обязательным для всех производителей табака для европейцев. Всего предлагается использовать 42 фотографии, иллюстрирующих вредное воздействие курения на человека.
Надпись на иллюстрации — «Курение может стать причиной медленной и мучительной смерти». Загляните на сайт — там ещё несколько картинок.