Редизайн

Кратенько по последним событиям на сайте. Постоянные читатели не могли не заметить некоторый редизайн сайта. Сразу отвечу на вопросы, которые могли бы возникнуть. Нет, старые тексты не появятся на сайте — в моём понимании цель этого сайта изменилась. Да, через некоторые время я верну возможность комментирования сообщений. Пока же, внизу каждой страницы есть email для связи, если есть какие-то пожелания или вопросы — с удовольствием отвечу.

Электропочта: bolk@hitv.ru
ICQ#: 2993333

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

Завтра шёл

«Казанский портал» пишет:

В ближайшие дни фильм идет в кинотеатрах Омут, Сувар

Кажется, в японском не различается будущее и настоящее время. Теперь и в русском будет не различается.

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

Танец на цыпочках

Когда слышу название одной из песен группы «Чайф» «Танец на цыпочках» всё время представляются шаманские пляски на куриных тушках. Ничего не могу с собой поделать. А песня хорошая. Очень.

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

Беее

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

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

Ошиблись

Мой последний разговор по телефону… Звонок, я беру трубку.

— Алло.
— Фариду Фархатовну можно?
— (недоумённо) Нет.
— А когда она подойдёт?
— Она сюда не подходит.
— Как не подходит?
— Вот так.
— А телефон её можно?
— Я не знаю её телефона.

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

«0%»

Цитата из книги «0%» Франка Рюзе.

(..) сможете ли вы стать серийным убийцей? Это тест в виде загадки: «Женщина пришла на похороны своей матери, встретила там одного мужчину и безумно влюбилась в него с первого взгляда. У женщины есть сестра, которую она неделю спустя убивает. Почему она это сделала?» (..) по мнению психиатора, потенциальный серийный убийца даст правильный ответ: потому что женщина надеется встретить этого мужчину на похоронах сестры.

Не быть мне серийным убийцей. Слава богам.

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

POLICIЯ

Смотрю мультфильм про человека-паука. Что интересно — на этот раз действие происходит в России.

Паук, в образе Питера Паркера заходит со своим знакомым в милицию. Надпись на здании — POLICIЯ. Сотрудник этот самой полисии — Борис Пушкин. Через некоторое время Паук вляпывается в неприятности. «Не зашвырнуть ли этого остряка в Сибирь» — шутит один из злодеев, избивающий Паука. «Да тут рукой подать» — отвечает второй. Ага. Сибирь от Москвы — рукой подать. За Садовым кольцом.

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

Купи воздух

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

Некоторое время назад я понял, что уже покупаю чистую воду у «C*c*-C*l*» и прочих «злобным капиталистов» и от души посмеялся, вспоминая рассказ. А сегодня я получил спам с заголовком «КУПИ ВОЗДУХ! ПОКА ДЁШЕВО!». Предлагают купить немецкие балончики «Gox», содержащие кислород. Первый звоночек. И если «пока дёшево», значит подорожает. Начинать потихоньку запасаться воздухом?

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

Чтение книг с телефона

Microreader на экране SL45i (8.88КиБ)

Достаточно скептически относился к чтению книг с сотового телефона, но лучше один раз увидеть, чем сто раз скептически отнестись. Одним словом, приобрёл я замечательный полупрозрачный USB-Bluetooth адаптер BT4202C (890 рублей, «Александр ЛТД» на К. Маркса) и закачал в свой Siemens S55 «Заводной апельсин» (Энтони Берджесс).

Господа! Читать с экрана сотового телефона (даже такого небольшого экрана как у S55) довольно удобно — телефон маленький, хорошо и привычно лежит в руке, при необходимости его можно убрать в карман (или куда вы там его убираете обычно), у него есть подстветка. Правда, листать приходится довольно энергично — экранчик маленький, но это не кажется недостатком — со временем приобретается известный автоматизм.

Из всех программ-читалок особенно рекомендую Microreader. Хорошая программа, жаль поддерживает довольно скромный ряд моделей. Кстати говоря, существует модифицированная версия программы — Microreader +. Планирую попробовать. Из интересных возможностей в ней — новые, более мелкие шрифты и улучшенное форматирование (абзацы, переносы в словах).

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

Недокументированная debug_zval_dump

Кстати, одна из недокументированных функций PHP:

void debug_zval_dump(mixed var) Dumps a string representation of an internal zend value to output

Например, «debug_zval_dump(true)» выдаёт: «bool(true) refcount(1)»

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

Вложенные запросы в MySQL

В интернете есть слухи о вложенных запросах в MySQL 3.xx. Кто-нибудь может подтвердить или опровергнуть? Вообще, мне верится достаточно легко. Вполне может быть, что разрабочики MySQL, как это у них обычно водится, решили приделать очередной костыль. Но передумали.

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

Почистил S55

«Расширил» память на своём S55 — удалил файл graphcach из папки Cache. Файл занимает примерно 120Кб и используется для кеширования графики мидлетов. Чтобы файл не создавался заново на его месте нужно создать папку с тем же именем. Я сейчас задумываюсь о том, что раз я начинаю втягиваться в чтение книг на телефоне, неплохо было бы подыскать что-то с бОльшим экраном и размером диска, чем S55.

Вообще говоря, есть патч, позволяющий увеличить размер диска до 1.88Мб, но, к сожалению, программа для пропатчивания телефона не увидела мой телефон через BT-адаптер. Видимо, всё-таки, нужен интерфейсный шнур, а у меня его нет.

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

«Языки программирования через сто лет»

Статья «Языки программирования через сто лет» Пола Грэма.

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

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

Да что там! Я помню как мы с братом мучались от безделья, думая — что бы нам ещё такого написать. Брали утилиты и переписывали их на Ассемблере, пытаясь сделать меньше, быстрее, функциональнее. Сейчас я больше в языках ценю скорость разрабоки, а не скорость работы. По-видимому, тенденция будет сохраняться — языки, позволяющие быстро решить задачу, будут для меня всегда ценнее, чем языка, позволяющие решить задачу быстро.

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

«Spadla z oblakov»

Задумался вдруг — что за фильм-то был про эту инопланетянку? Нашёл. Фильм чешский. «Spadla z oblakov» («Упавшая с неба», у нас фильм шёл под названием «Приключение в каникулы»). Отчётливо помню, что девочка (её играла некая Зузана Правняньска) эта умело управлялась с гравитацией, «ела» «консервы» (в них были заключены знания, ррраз — и знаешь испанский) и умела множить предметы.

Фильм этот я любил куда больше, чем «про Селезнёву» — «Гостья из будущего», а вот упоминаний о нём я почему-то не встречал. Наверное, показывали его довольно давно и мало кто его помнит. Хорошо, что его не повторяют — нарисованные поверх плёнки спецэффекты, бенгальские огни позади головы, полёты явно подвешенных на воооот такущих тросах предметов и прочее, думаю, сейчас мне основательно подпортят впечатление. Пусть уж остаётся всё как есть.

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

Электроник

Того кто слева узнали? Да? Нет? Недавно же повторяли. Электроник. Ну или Сыроежкин, я их не различаю. А того, кто справа?

Слева — молодой человек с светлыми волосами в белой футболке на фоне природы, справа — взрослый мужчина в тёмном костюме и галстуке, смотрящий в камеру.
Эл

Торсуев Владимир Юрьевич — Советник заместителя губернатора Красноярского края, заместитель директора краевого унитарного предприятия «Центр транспортной логистики» и… исполнитель роли Электроника (фильм «Приключения Электроника»). Недавно Newslab’овцы взяли у него коротенькое интервью. Забавно. Обычно не задумываешься куда деваются Электроники, Марии-Мирабеллы, Мио, Селезнёвы, Майки и прочие герои фильмов советского детства. Кстати, инопланетянку Майку кто-нибудь помнит? Один из моих любимых фильмов был.

Тип

Пытался понять к какому типу (eng) я отношусь. Признаки распределились примерно поровну (если вычеркнуть те, в которых я сомневаюсь, например, я не помню учился ли я читать по фонемам или по целым словам). Кстати говоря, (там есть такой признак — «enjoys algebra and chemistry» or «enjoys geometry and physics») я любил алгебру, химию и физику. Причём, алгебру полюбил очень поздно, а физику примерно тогда же — разлюбил. Последнее было связано со сменой преподавателя с хорошего на совершенно невнятного.

Я тут ещё вспомнил, что ближе к окончанию школы стал «can write quickly and neatly»,а после того как пошёл учиться дальше постепенно стал «much better at keyboarding than handwriting».

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

Евроамериканец

Услышал от американца (внимание): «евроамериканец» («Euro-American»). Этакое смешение всей европейцев в кучу (немец ведь всё ещё отличается от француза, правда?), а потом применение к ним принципа политкорректности. Надо уж, либо называть людей, франко-, немцо-, австроамериканец и так далее, либо называть их всех американцами (кстати, к товарищам неграм тоже относится — у них такие же национальности как у всех остальных).

Хотя, возможно, они называют так людей по принадлежности к материку («австралиамериканцы» и «японоамериканцы» бывают, не знаете?), тогда русского, наверное, должны называть ласкающим слух «евроамериканцем» (сильна в нас петровская тяга к Европе), но, подозреваю, для американцев мы больше азиаты. «Азиамериканец». Нравится?

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

Back to Skool

Вспомнился «Спектрум». Для тех, кто не знает — был такой компьютер, который пользовался бешеной популярностью в нашей стране в 90-е годы прошлого века. 48Кб памяти, тактовая частота что-то около 3.5МГц, процессор Zilog Z80 один цвет фона и тона на квадрат 8x8 из 16-ти (кажется) возможных.

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

Back To Skool (25.35КиБ)

От одной из тех игр у меня остался эффект незавершённого действия (кажется, это называется «гештальт»). Игра была довольно простая и где-то даже глуповатая, но на одном из этапов зависала. Я до сих пор иногда её вспоминаю и думаю — что же там было дальше. Игра называлась «Back to Skool» («Назад в школу»), выпускала её фирма Microsphere. Для желающих поиграть — можно скачать в Интернете, там же можно найти небольшую инструкцию, учтите — вам потребуется эмулятор «Спектрума». Мне играть не хочется — не смогу насладиться, а убить столько времени только для того, чтобы посмотреть чем это закончится, мне не хочется. Если кто-нибудь её пройдёт, расскажите мне, пожалуйста, чем там дело кончится.

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

Нюансы qmail

Совет из недавно приобретённого мной опыта настройки Qmail+SMTP-AUTH+Vpopmail+MySQL:

Если в логах Qmail на попытку отправить письмо вы видите ошибку

«Sorry,_I_wasn’t_able_to_establish_an_SMTP_connection._(#4.4.1)»

посмотрите — нет ли у вас файла «outgoungip» в controls qmail. Если есть, то скорее всего там стоит 127.0.0.1. Поменяйте его на внешний IP-адрес вашего сервера.

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

WebMoney за Beeline

Оказывается, есть возможность производить оплату услуг сотового оператора Beeline при помощи WebMoney. Комиссия — 6%. Многовато, но если есть WM, но нет желания куда-то ехать их обналичивать — приятно иметь дополнительную возможность потратить их с толком. А за сотовую связь платить «я и так буду» (как сказали в одной рекламе). Кстати, будьте внимательны — если оплата идёт с Z-кошелька, сумму всё равно надо указывать в рублях.

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

Попробовал Microreader+

Попробовал Microreader+. Напоминаю — это программа для чтения книг с экрана сотового телефона. Доволен. Попробовал новые возможности. Остановился на Small Font и Book Format. Текста на экране помещается существенно больше. Единственный недостаток — Microreader+ основан на старой версии Microreader — имена файлов приходится набирать на клавиатуре, вместо выбора из списка как в новой версии. Придётся смириться. Новые возможности версии с плюсом ценнее.

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

Калгон

При всём своём отвращении к рекламе… Сегодня открыл фильтр стиральной машины и увидел на нём камешек, явно — накипь, отвалившаяся из-за тряски. Прикинул толщину слоя — обеспокоился. Накипь, вообще-то, штука для нагревательного элемента неприятная — кто-то мне объяснял, что теплопроводность у неё плохая, отвод тепла происходит неэффективно, элемент перегревается и, со временем, перегорает. В общем, думаю покупать «Calgon». С таким слоем накипи нужно что-то делать.

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

Мбвана Пушкин

Гениальная работа akuaku — Мбвана Пушкин. Поставил себе на рабочий стол. Одна из причин, по которой я люблю ходить на skill.ru — это возможность выбирать картинку для рабочего стола, исходя из собственного настроения.

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

Total Eclipse

Total Eclipse (5.50КиБ)

В прошлый раз я опять вспоминал Spectrum. За мной это водится. Что ж — это был мой первый компьютер, на котором я начал серьёзно и много программировать.

В прошлый раз я упомянул 3D-бродилки, которые делались под этот компьютер. Их было несколько — Castle Master, The Crypt, Driller и Total Eclipse. На скриншоте именно последняя. Разрешения тогда были поскромнее и то, что у меня выглядит небольшой картинкой, размером с визитку, тогда было миром, полным тайн и загадок.

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

Сейчас меня удивляет как могла работать игра с 3D-графикой на компьютере с памятью в 48Кб и частотой процессора в два или три с половиной мегагерца. А тогда, я помню, меня удивляло, что Doom не идёт на 80286, а Prince II занимает пять мегабайт (или семь, не помню точно).

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

Новости астрологии

Цитата из «Новостей астрологии» написанных Леониодом Кагановым для передачи «Раз в неделю» (ТВ6, 1995 год), выделение моё:

Здравствуйте. В эфире новости астрологии. Сегодня у нас в гостях представитель партии астрального возрождения Жора Волкович Владимирский. Жора Волкович, расскажите пожалуйста о программе вашей партии.

— Россия должна возродиться! Программа у нас простая и правильная! Каждому стрельцу — по тельцу! Каждым весам — по близнецам! Каждой рыбе — по водолею! ██████ ████ — по ███████! А каждому овну-демократу — по скорпиону в штаны!

███, тебе ведь понятно почему я это выделил, да?

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

Как отчистить стиральную машину

Подсказали (спасибо Алексею Васильеву) как отчистить стиральную машину от накипи без «Calgon».

Три-четыре пакета лимонной кислоты вместо порошка и запускаешь машинку на двойное полоскание. Через полгода — повторить. И никаких калгонов :) Мне в свое время такой совет дал мужик, долгое время торгующий/чинящий стиральные машинки. Работает

Поможет ли это моей, заросшей накипью, машине? Не растворит ли это чего-то лишнего, например, какие-нибудь резиновые прокладки или что-там-в-Electrolux-может раствориться? Сэкономить на Calgon’e и рискнуть? Не будет ли это экономией на стиральной машине?

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

Язык жестов

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

Дом (7.42КиБ)

Изучение этого языка, помимо удовлетворения этой абстрактной и не до конца понятной мне потребности, принесёт, как я ожидаю, и некоторую практическую пользу, если я, конечно, научу разговаривать на нём кого-то ещё:

  • Я смогу сказать что-то в толпе, практически не беспокоясь, что поймёт кто-то ещё.
  • Я смогу сказать что-то на приличном расстоянии и мне не придётся кричать, распугивая прохожих.
  • Я смогу общаться с людьми — глухими и немыми, с которыми я раньше общаться не мог.
  • Я удовлетворю свою очередную абстрактную и не до конца понятную потребность.
    Сегодня сделал первый шаг к реализации этой потребности — купил в магазине «Ozon» словарь языка жестов. Буду ждать с нетерпением прибытия курьера.

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

«Суггестивная онтология»

Начал вчера читать книгу «Суггестивная онтология» Сергея Иванова.

В предлагаемом Вам эссе показана немного другая сторона _рассмотрения_ данного вопроса. Это — вполне реальные примеры поведения советского ребенка в конце 70-х, начале 80-х годов. Сейчас такого уже нет. Генофонд нации выродился сразу в две стороны, но об этом отдельный разговор как-нибудь потом. И те у кого сея возрастная категория приходится на Богдана Титомира, или «Гражданскую Оборону» — могут смело потереть предлагаемый Вашему вниманию файл.

Советский ребёнок в конце 70-х, начале 80-х — это как раз моё поколение. Правда, оно у меня ассоциируется, в основном, с пионерскими лагерями — жизнью, которая прошла мимо меня. Жизнью, про которую мне интересно слушать или, вот как в этом случае, читать. Наверное, хорошо, что я там не побывал — прекрасно осознаю, что на одно Приключение приходились бесконечные часы скучнейшего времяпрепровождения. А поскольку об этих самых часах никто не рассказывает (зачем? это ведь скучно), то пионерский лагерь для меня — Земля Наполненная Приключениями.

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

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

«Хорги»

Ох, неожиданно нашёл книгу, поразившую меня в детстве — «Хорги» Елены Грушко. Обязательно надо будет перечитать, хотя бы для того, чтобы проверить ощущения.

Стон ещё тяжелее, ещё горше прежнего вздыбил Шаман-камень, и вот медленно, но неостановимо эта миллионнолетняя глыба обмякла, расслоилась: рассыпалась в прах. Нутро земли взревело, заглушая гром сызнова творящегося Хаоса: треск сломанных деревьев, грохот дробящихся скал, рёв взбесившейся реки, вой всего живого, почуявшего последний, смертный миг.

Из глубокой раны, отверзшейся там, где только что величаво высился Шаман-камень, ударил огненный фонтан, и пламя разлилось по морщинам земли, сглаживая их и очищая от грязи, что накопилась в течение лет, веков, тысячелетий. Рыдания земли не смолкали. Чудилось, она корчится в родовых муках, выпуская погибель свою из собственного чрева.

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

Монета Волжской Булгарии

Монета Волжской Булгарии. Сейчас это государство называется Республикой Татарстан (Россия). На территории этого государства, в столице Татарстана — Казани, я сейчас живу.

Монета (13.49КиБ)

Историческая справка:

В начале Х в. в Среднем Поволжье и Прикамье, на северо-востоке Европы, на основе консолидации угроязычных и тюркоязычных племен возникло развитое в экономическом отношении государство Волжская Булгария. Расположенное в середине Волжского торгового пути, в месте слияния двух самых больших рек Восточной Европы — Волги и Камы, оно явилось не только транзитным перевалочным центром, но и активным экспортером собственных товаров.

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

Монеты с картинки у меня нет и, нашедши её в лавке антиквариата, покупать её я бы не стал. Но на картинке душу она мне греет.

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

Иосиф Бродский. Одиночество

Когда теряет равновесие
твое сознание усталое,
когда ступеньки этой лестницы
уходят из под ног,
как палуба,
когда плюет на человечество
твое ночное одиночество, —

ты можешь
размышлять о вечности
и сомневаться в непорочности
идей, гипотез, восприятия
произведения искусства,
и — кстати — самого зачатия
Мадонной сына Иисуса.

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

Да. Лучше поклонятся данности
с убогими ее мерилами,
которые потом до крайности,
послужат для тебя перилами
(хотя и не особо чистыми),
удерживающими в равновесии
твои хромающие истины
на этой выщербленной лестнице.

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

Bluejacking

Цитата из статьи о Bluejacking/BlueChalking:

Теперь у владельцев мобильников появилась новая забава: bluejacking. BlueJacking предполагает отсылку анонимных текстовых сообщений другим пользователям мобильных телефонов через Bluetooth. Bluetooth работает в радиусе 10 метров, телефоны, оборудованные им, могут искать другие телефоны через него, которые могли бы принять сообщения. Фанаты мобильных телефонов занимаются bluejacking-ом уже несколько месяцев, и сейчас он, похоже, начинает распространяться.

Весьма забавно — общение через Bluetooth. Принцип прост до безобразия. Многие телефоны позволяют пересылать контакты (так называемые vCard) разными способами — через IrDA, SMS (EMS) и (если в телефоне есть необходимое оборудование) Bluetooth. Создаётся новая запись в контакт-листе, где вместо имени вводится ваше сообщение, и этот контакт отсылается через Bluetooth.

Есть и программы — например, Buzzone, позволяющие общаться через PDA и ноутбуки с поддержкой Bluetooth. Что интересно — платная «профессиональная» версия Buzzone позволяет обмениваться сообщениями, используя промежуточные устройства, использующие ту же программу. Я давно ожидал появления чего-то похожего, только с радиусом действия побольше.

Есть и альтернативные, бесплатные программы, например — btChat + Bluez, GAIM и так далее. Уже есть Bluetooth FireWall для PDA, в общем, забава набирает обороты. Появились программы и для мобильных телефонов — например, FreeJack. К сожалению, на моём Siemens S55 это приложение не запустилось — нет необходимого API.

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

Порядок

Цитата с сайта AdMe (выделение моё):

Отлично, давно пора!» — считает большинство респондентов. «Пивная реклама просто достала» — за это «проголосовали» почти 50 процентов опрошенных. На порядок меньше — около 30 процентов наших читателей — считают, что «как пиво пили, так и будут пить, и реклама здесь совершенно ни причем». (К слову сказать, в Германии, где существуют серьезные ограничения на рекламу пива, объемы потребления янтарного напитка превышают российские).

Многие считают фразу «на порядок меньше (больше)» эквивалентом «намного меньше (больше)», тогда как в реальности она имеет вполне самостоятельное конкретное значение. Точное определение дать не берусь, но в числе 321 численное значение каждой цифры соответствует её порядку.

То есть число 500 на порядок больше числа 30 и на два порядка — числа 7. Числа же 50 и 30 имеют равный порядок. К изменению смысла этой фразы (как это произошло со словом «практически», которое стало эквивалентом «почти что») я отношусь отрицательно, поскольку она для меня информационна, а замены язык не предлагает.

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

Бесполезные факты

Бесполезное, но интересное с сайта «Интересные числа»:

При умножении числа 142857 на числа от 1 до 6 получается произведение, записанное теми же цифрами, переставленными в циклическом порядке:

142857 x 1 = 142857; 142857 x 2 = 285714; 142857 x 3 = 428571; 142857 x 4 = 571428; 142857 x 5 = 714285; 142857 x 6 = 857142.

Оттуда же:

А вот просто красивый пример на умножение:

111111111 x 111111111 = 12345678987654321

Впрочем, подобных примеров довольно много и они не менее красивы:

12345679 x 9 = 111111111 12345679 x 8 = 98765432

Мне интересно, кто это всё подбирал?

В этой фразе двадцать восемь букв.

Это предложение содержит двенадцать слов, двадцать шесть слогов и семьдесят три буквы.

Кстати, на сайте не обошли вниманием и число Пи. В какой-то статье я читал, что в этом числе можно теоретически встретить любую, сколь угодно длинную, последовательность цифр. Например, в первом миллионе (zip, 575Кб) я с лёгкостью нашёл домашний телефон Булата Каримова. Чем это интересно? Теоретически таким образом можно указывать любую информацию, которую хотелось бы выложить в открытый доступ, но сделать это, не прибегая к уловкам, почему-либо нельзя.

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

Естественно, всё упирается в вычислительную мощность — нужная комбинация может оказаться так далеко, что чтобы достать её за обозримое время, придётся задействовать всю вычислительную мощность планеты. Но, пока в полном соответствии с законом Мура число транзисторов в кристалле, а вместе с ними и вычислительная мощность, неуклонно растут, возможно, лет через 10-20 такой способ представления информации удивлять не будет.

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

У комсомольцев своя правда

Из «Комсомольской правды»:

Программисту важно уметь разрабатывать приложения Microsoft. NET (MCAD) и знать один из языков программирования — С++, C# или Java — базовые знания по ним дают в вузах. Системный администратор должен уметь обслуживать компьютерные сети, а для этого получить сертификат Microsoft по Windows Server 2003.

Студентам-«лирикам» тоже не стоит отчаиваться: есть программы, которые рассчитаны на тех, кто с <компом> не дружит, но очень хочет. Для начала стоит освоить базовый уровень компьютерной грамотности (офисные программы, Интернет и Web-технологии) — это довольно просто.

Так мы узнали, что языка программирования всего три, системные администраторы — это те, кто имеют сертификат Microsoft по Windows 2003, а Интернет и Web-технологии — это довольно просто.

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

Видео в мультфильмы

Статья от Microsoft, A Slice of Time and Space (eng), рассказывающая о технологии, позволяющей переводить видео в мультфильмы. Если не знаете английского, всё равно сходите по ссылке — хотя бы что бы посмотреть картинки или небольшой фильм (14Мб).

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

Пересняли «Через тернии к звездам»

Помните такой фильм «Через тернии к звёздам»? «Астра», Нийя, Туранчокс, планета Десса, биомасса? Цитата из статьи в NetCity:

Завершается работа по возвращению в прокат известного советского фантастического фильма Ричарда Викторова «Через тернии к звездам». Режиссер новой версии — сын Викторова, Николай — собирается выпустить картину в системе Dolby digital с качественным звуком, обновленным цветом и динамичным монтажом.

Статья датируется 2001-м годом, новая версия вышла в том же году. Отзывы можно почитать на форумах, цитирую:

Качество картинки отменное, кое-что компьютерами даже дорисовали в плане спецэффектов, но кое-что и повыбрасывали, как объяснили, из-за плохо сохранившегося оригинала. Что интересно, так это что к переозвучке привлекли частично оригинальных актеров (Ледогоровы, Федоров), но в большинстве у персонажей новые голоса. Так вот, самое главное, о музыке — частично она осталость той же, практически оригинальный вариант Алексея Рыбникова, но вот финал и некоторые эпизоды практически полностью переписаны Дмитрием Рыбниковым, сыном. Я не скажу, что стало хуже, может быть, даже на уровне, просто надо привыкнуть, но мне кажется, что пропала какое-то старое чувство, которое возникало при просмотре оригинальной версии. Может быть из-за того, что убрали «звук сигнала, вызывающего Нийю», может еще по какой-то причине, но все же что-то ушло, хотя качество картинки — супер!

Надо же — пропустил. Надо будет наверстать, пересмотреть. Нечасто у нас переделывают классику отечественной фантастики, подозреваю какая это трудоёмкая работа.

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

Необычное оружие

Federal Bureau Of Investigation Guide To Concealable Weapons. 2003 (PDF, 2.2Мб) — ножи в ключах от квартир, расчёсках, пряжках ремней, крестиках, брелках, ручках, зонтах, помадах и так далее, пластиковые лезвия, не видимые для ренгеновских лучей. Очень занимательно, если будете открывать, обратите внимание на размер — более двух мегабайт.

Расчёска и помада с лезвием (8.08КиБ)

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

Мультфильм

Переключал с канала на канал, остановился на мультфильме, который смотрел когда-то в детстве. Там двоечник, Коля Сорокин, попадает в своё домашнее задание. Он попадает во всякие передряги, поскольку неверно решил задачи из домашнего задания. Там есть ситуация, когда Коля сидит в поезде, а диспетчер вокзала объявляет:

Если задача решена правильно, то оба поезда встретятся в пункте Ц в одно и то же время

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

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

Сон

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

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

Провал парадигмы

Вышла в русском переводе статья «Объектная парадигма провалилась». Открытое письмо Ричарда П. Гэбриэла от 6 ноября 2002г. Комментировать не буду.

Что это такое вообще — провал парадигмы программирования? Парадигма терпит неудачу, когда содержащийся в ней посыл утрачивает адекватность, или когда приверженцы парадигмы продолжают держаться её вопреки здравому смыслу. Причиной утраты адекватности являются сильно изменившиеся требования, предъявляемые к программному обеспечению в XXI веке, и так называемые усовершенствования в ОО, перечеркнувшие его первоначальные преимущества. Одержимость ООП переросла в продвижение частного решения в качестве панацеи от всех проблем, связанных с программным обеспечением, превратившись в идеологическое оружие, целью которого была промывка мозгов людям на улицах.

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

Удушье

Читаю «Удушье» Чака Паланика. Резкая, очень натуралистическая книга. Цитировать можно через строку.

Одна женщина пишет, что она начала молитвенную цепочку за меня. Очередная афера. Духовная пирамида. Как будто можно закорешиться с Богом. Как будто можно навешать Ему лапши.

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

GIF в GD

Веб-разработчикам должно быть интересно: некоторое время назад вышла новая версия GD — 2.0.28. Главная особенность новой версии — поддержка формата GIF (чтение и запись).

Как известно, поддержка GIF была удалена из GD ещё в версии 1.6 в связи с тем, что алгоритм LZW, используемый в GIF оказался патентованным. После истечения срока действия патента, GD снова поддерживает GIF.

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

Обновление Microreader++

Решил узнать у автора Microreader++ (альтернативная версия Microreader — программа для чтения текстов с телефона), когда же выйдет новая, основанная на Microreader 1.2, версия этого прекрасного продукта. Вот что он мне ответил:

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

Жду с нетерпением выхода новой версии.

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

Баварская ССР

Узнал от Саида, что существовала недолгое, правда, время Баварская ССР. Цитата из БСЭ:

(..) образовалась 13 апреля 1919 в Баварии в условиях общего революционного подъёма в Германии, развернувшегося под влиянием Великой Октябрьской социалистической революции в России; существовала до 1 мая 1919. Ещё 7 апреля 1919 «независимые социал-демократы» во главе с Э. Толлером провозгласили в Баварии Советскую республику, рассчитывая таким образом приостановить углубление развернувшегося в Баварии революционного движения (забастовки, демонстрации под лозунгом передачи власти Советам), вызванного в известной мере недовольством масс политикой правых социал-демократических лидеров, пришедших к власти после Ноябрьской революции 1918. Провозглашенная «независимцами» республика была советской только номинально.

Мне стало интересно — не было ли ещё каких-то республик, о существовании которых я не подозреваю. Оказалось, была ещё Венгерская советская республика. Цитата из БСЭ:

Венгерская советская республика 1919 (ВСР), государство диктатуры пролетариата в Венгрии, существовавшее с 21 марта по 1 августа 1919. Его создание явилось следствием революционного подъёма, вызванного усилением политического и экономического гнёта в Венгрии в период 1-й мировой войны и влиянием Великой Октябрьской социалистической революции. Правительство буржуазных либерально-радикальных партий и социал-демократических, пришедшее к власти 31 октября 1918 в результате победы буржуазно-демократической революции, оказалось неспособным решить стоявшие перед ним задачи.

Не найдя также выхода из внешнеполитического кризиса, вызванного очередным нажимом со стороны Антанты, правительство вышло в отставку, предложив всю полноту власти лидерам социал-демократической партии. Последние, не решаясь в обстановке острого революционного кризиса сформировать правительство без участия коммунистов, пошли на переговоры с находившимися в тюрьме (с 21 февраля 1919) руководителями компартии Венгрии (КПВ). Произошло объединение (21 марта) обеих партий в Социалистическую партию Венгрии на условиях признания принципа диктатуры пролетариата.

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

Детские рисунки на рабочий стол

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

Гном (9.18КиБ)

И настроение повышает — чувствуется свобода от «взрослых» законов изобразительного исскуства и щенячий оптимизм. Если чувствуете то же самое — добро пожаловать в галерею детского рисунка на сайте «Ладушки».

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

Численность

Цитата с сайта TatStat:

По данным Всероссийской переписи населения, проведенной по состоянию на 9 октября 2002 года, численность постоянного населения Республики Татарстан составила 3779 тыс. человек

Я всегда думал, что Татарстан куда более густонаселён. Ну, скажем, миллионов 6-8. Оказалось в два раза меньше. Причём, из этих 3779 тысяч, 1200 — это город Казань. Совсем маленькая республика. Даже в Питере живёт 4 млн. 670 тыс. человек, не говоря уже о Москве, численность которой по данным переписи 2002 года составила 10 млн. 358 тыс. человек.

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

Да согласись же наконец: я не упряма!

Одностишья — то за что я люблю поэта Владимира Вишневского. Несколько избранных:

Ты мне роди, а я перезвоню!..

Все больше людей нашу тайну хранит…

Любимая, да ты и собеседник?!.

Желанная моя, скорей бы утро!..

Любви моей не опошляй согласьем…

Забудь о прошлом, наживем другое…

Да согласись же наконец: я не упряма!

Он улыбался искренне, цинично.

Попробуй суп, не бойся, есть лекарства!

Пора мириться, завтра день зарплаты…

На завтра у меня истерика и шопинг.

Как робок он… сопротивляться сложно…

Не каждый свитер неразрывно связан…

Нет, так мы целей гнусных не достигнем.

Я повторяю свой вопрос: — Ура?…

Что ж, будь по-твоему: снег белый и холодный.

Последнее отдельно выделяю. По-моему, гениально.

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

Телефон для военкомата

В Москве появилась «служба отказа»:

Если у вас на улице, в метро, в баре неприятный вам человек выпрашивает телефон, оставьте ему или ей этот: т. (095) 728-89-80

Я проверил, если позвонить по этому номеру автоответчик жизнерадостным мужским голосом сообщит: «Здравствуйте! Вас приветствует Московская служба отказа. Человек, оставивший Вам этот номер, не хочет с Вами общаться. До свидания!»

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

О'апи

Окапи (19.23КиБ)

Новые виды животных открывают во множестве каждый год, но в 999 случаях из тысячи это — мелочь: пауки, лягушки, летучие мыши, очень редко — небольшие птицы. Обнаружить крупное животное практически невозможно. В июне 1901 году было описано новое животное — окапи. Обитают окапи в Демократической Республике Конго (кстати, на сегодняшний день их осталось всего около 30 тысяч), по окрасу похожи на зебру и являются родственниками жирафов.

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

Вообще, история открытия окапи очень интересна — журналист и путешественник Генри Мортон Стэнли в 1890 году в книге «In Darkest Africa» описал, в частности, свою встречу с пигмеями племени бамбути. Его удивило, что пигмеи совершенно равнодушно отнеслись к лошадям, на которых приехали путешественники, заявив, что они прекрасно знают этих животных и называют их «атти». Зоологи знают: лошади, ослы, зебры в джунглях не живут. Так что этот абзац в книге кто-то прочитал равнодушно, а кто-то — высмеял.

К счастью, нашёлся один пытливый исследователь — сэр Гарри Джонсон. Попав, волею судеб, в Конго, он предпринял попытки найти загадочного «атти». Вскоре он понял, что Стэнли говорил о животном, которое туземцы называют «о’апи». Само животное Джонсону встретить не удалось, но из поездки в Конго он привёз два куска полосатых шкуры окапи. Куски были отправлены в Лондонское зоологическое общество, где доктор Филипп Склатер произвёл сравнительный анализ и выяснил, что ни одной из известных науке зебр они не соответствуют.

Доктор осторожно подошёл в вопросу и назвал новое животное «Equus (?) johnstoni» — «зебра Джонстона». Именно со знаком вопроса после «Equus» («лошадь») — копыт никто не видел, мало ли, что зверь похож на лошадь. Меж тем сэру Джонсону из Конго прислали целую шкуру и два черепа «о’апи».

И вот в июне 1901 года доктор Склатер, которому была передана посылка, описал новый вид животного — Okapia johnstoni. Животное оказалось родственником элладотерию, жившему миллионы лет назад и жирафу.

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

Милан, милан Кундера

Придумал себе забаву — берётся и переписывается фамилиями (реже — именами) писателей и поэтов (список можно взять на Lib.Ru), имена и фамилии должны начинаться с тех же букв (а в идеале — быть похожими), что и заменяемые слова. Получается что-то вроде этого:

  • Кундера, — скалдин Маркиш, войнович в коркия, — я полевой в подольский севелу. Её зощенко Битов. Войнович орлов. — И Маркиш полевой на щедрина, коваль смуул в кассиле. — Эренбург орловский подольский, — скалдин Кундера. — Пелевин михне, полянская, визбор эренбург булгаков, и эренбург, и эренбург… Джин — васильев вайс Кундера — Я чапек не зингер! Вельш и я пришвин титов подольский. Луис в миуре подольский… — Куднера визбор из каплера брехт свирский и приставкин егор Маркишу: — Тендряков ты смоллет свирский скалдину Битов. Я всеволод скалдиным севелам, хоуленс морис севел зощенко Алленами и они устинов левитов… — Как, всеволод севел зощенко Алленами? — успенский Крупин. — Даль, всю тындряков! — отеро Кундера. — Ну чапек ж туохи, я думбадзе, можаев приставкин к пьецух. — Севела, милан, милан Кундера за свирский! — скалдин Маркиш. — Мне булгаков так пристли свирский Битов.

Узнали? Нет? «Милан, милан Кундера»? Отрывок из «Малыш и Карлсон». В общем-то, полный бред получается, но забава мне нравится.

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

Как повалить PHP

Статья «Top 10 ways to crash PHP». Язык — английский, но примеры, которые там приведены, поймёт любой PHP-программист. Кстати, первый из них я приводил на старой версии сайта. Интересно, все ли способы работают в PHP 5.

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

Пупок Хичкока

По интернету ходит куча текстов озаглавленных как «а вы знаете что» и «интересные факты». Я уже несколько раз сталкивался с неточностями в этих текстах и стал очень недоверчиво относиться к таким «фактам», о которых они говорят. Прочитав в одном таком списке, что у Альфреда Хичкока не было пупка, я решил поинтересоваться у Google — что такое случилось с пупком Хичкока, почему его не было. И нашёл следующее на одной из страниц посвящённых писателю:

Did Hitchcock have a belly button? Believe it or not but I get this question all the time. Answer: Hitchcock being a mamal had to be born with a belly button, its just how it is for us mamals. Apparently Hitchcock had several opperations in the belly area leading his doctors to sow up the bb, but I have never read this from a credible printed source. I suspect its an bizarre urban legend.

Переведу (ошибочно написанные слова я перевёл с грамматическим ошибками):

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

Другая проблема с этими фактами — они постоянно устаревают. Скажем, тот факт, что «два самых высоких показателя IQ, когда-либо зафиксированных на Земле, принадлежат женщинам» устарел буквально в прошлом году, когда рекорд на самый высокий IQ, принадлежавший Marilyn vos Savant (коэффициент IQ — 228) побил Sho Yano — двенадцатилетний мальчик из Америки. Его IQ так высок, что его не удалось измерить — тесты не раcсчитаны на такие высокие показатели.

И, кстати, по поводу факта «латинской буквы W в латинском алфавите нет»…  В латинском алфавите, созданном (по легенде) в восьмом веке до нашей эры из греческого, была всего 21 буква. Но алфавит эволюционировал. Менялся порядок букв, некоторые буквы пропадали (греческая «зета»), некоторые появлялись, иногда даже буквы меняли значение (латинская «Р» поначалу читалась как русская, точнее греческая).

Где-то в районе средних веков в латинском алфавите появляются строчные («маленькие») буквы и буква «W». Кстати, немного не по теме, но любопытно — в России система прописных и строчных букв, по данным БСЭ, была введена лишь в 18 веке, Петром I.

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

Повестка

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

Решил поделиться с кем-нибудь эмоциями, которые меня одолели, когда я прочитал слово «повестка». Принёс эту бумажку Саиду. Посмотрел, как сжались костяшки его пальцев, когда он разглядел То Самое Слово, успокоил. Посмеялись.

Повестка (29.62КиБ)

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

Асечка

Словарная статья из словаря Даля:

АСЕЧКА, аська ж. перм. шапка без ушей, с круглым верхом.

Оказывается, вполне себе русское слово.

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

LANG

«Его пример — другим наука». Господа, если при попытки инсталляции модуля для Perl, вы встретите сообщение вида «Makefile:85: *** missing separator. Stop.», не отчаивайтесь, а посмотрите значение переменной LANG. Её значение должно быть «en_US». Скорее всего у вас там «UTF8», измените его на «en_US» (обычно «export LANG en_US») и попробуйте установить модуль ещё раз.

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

Что отвалится после SP2

Документ от Microsoft «Programs that may behave differently in Windows XP Service Pack 2» («Программы, которые, возможно, будут работать иначе в Windows XP после установки SP2). По-русски говоря, что у вас может не заработать после установки SP2 для Windows XP. Много игр, в списке есть Corel Draw 9, Diet KaZaa и KaZaa, DivxPlayer, Adobe PageMaker, AOL IM, AutoCAD 2004, Cute FTP 5.0, ICQ Pro, WinRoute, Live Journal Semagic, Outlook, некоторые компоненты MS Office, Visual Studio и многое другое.

У меня есть подозрение, что всё дело во встроенном в Windows XP firewall, который несколько расширил свои функции в SP2. В списке есть почти все наиболее известные программы для работы с Сетью — firewall, прокси, IM, FTP-клиенты и прочее, а остальные программы, скорее всего, просто пытаются проверить нет ли в Сети новых версий или предлагают какие-то другие возможности для работы или развлечения в интернете.

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

Латрас

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

Чаще всего удобнее (диктуя по телефону, да и просто удобно) сказать пользователю именно русское слово, объяснив, что набирать его нужно в русской раскладке. В связи с этим, хочется придумать этому приёму, раз уж он набрал такую популярность, какое-то короткое название.

Я предлагаю в качестве оного слово «латрас» (латинская раскладка). Т. е. типичная передача пароля будет звучать так: «набирай в латрасе — „расторопша“». Как вам?

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

Механическая развёртка

Знаете как устроен кинескоп современных телевизоров? Вкратце — электронный луч, при помощи специальной отклоняющей системы, пробегает все точки экрана и заставляет светиться покрытие экрана. Делает он это так быстро, что экран не успевает погаснуть полностью и лишь немного мерцает.

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

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

1999. Роман в стиле техно

Один из рисунков Цоя (29.51КиБ)

Цитата из книги Ильи Стогоffa «1999. Роман в стиле техно»:

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

Я прочитал пока только треть книги, треть эта посвящена советскому андеграунду — Гребенщиков, первый советский панк Свинья, Цой, АССА, Африка, Курёхин и так далее. На иллюстрации — один из рисунков Виктора Цоя.

Кстати, книгу читаю запоем. Настоятельно рекомендую.

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

«Человек, который принял свою жену за шляпу»

Стал задумываться о том, что нужно, видимо, делать какой-то перерыв между книгами. Или читать что-то нейтральное. Как знать, может «Встанвь перед Христом и убей любовь» Стюарта Хоума не показалась мне такой бездарной, если бы я не прочёл её сразу после книги «Удушье» Чака Паланика, а «Омон Ра» Пелевина не казалась бы пресной после «1999. Роман в стиле техно» Ильи Стогоffa.

Решил сделать паузу, сменить плоскость. Читаю замечательнейшую книгу Оливера Сакса «Человек, который принял свою жену за шляпу». Настоятельно рекомендую, очень интересная и познавательная книга.

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

Анна Ахматова

Господь немилостив к жнецам и садоводам.
Звеня, косые падают дожди
И, прежде небо отражавшим, водам
Пестрят широкие плащи.
В подводном царстве и луга и нивы,
А струи вольные поют, поют,
На взбухших ветках лопаются сливы,
И травы легшие гниют.
И сквозь густую водяную сетку
Я вижу милое твое лицо,
Притихший парк, китайскую беседку
И дома круглое крыльцо.

Осень 1915
Царское Село

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

Точность — вежливость технарей

Кстати, почитайте статью «Слово живое и мертвое: От „Маленького принца“ до „Корабля дураков“» Норы Галь.

Интересно как в интернете распространено мнение, что попытка уточнить термины, которые использует собеседник и выяснить что же он имеют ввиду присущи лишь «технарям и программистам» и рассматривается чуть ли не как бесполезное явление. «Это потому что ты технарь» — со смешком замечают оппоненты.

Позвольте! Разве желание правильно понять собеседника — черта необходимая только «технарям»? Мне кажется, она должна быть присуща всем людям. Да и люди некоторых «гуманитарных» профессий постоянно занимаются этим — пытаются понять других людей правильно. Юристы, врачи, менеджеры, руководители предприятий, главы правительств, переводчики и так далее.

Интересно ещё и другое — что этим людям позволяет считать меня «технарём»? Многие из них не умеют построить предложение сложнее «гы, сынок! lol!», в жизни не прочли ни одной книги, помимо тех, что были обязательными в программах школы и ВУЗа, да что я говорю? Большой вопрос — кого вообще считать «гуманитарием», а кого «технарём»? Это два полюса или возможны смешения? Как их различать?

По тому какой ВУЗ закончил человек? Что вы скажете о писателе Викторе Пелевине, который закончил Литературный институте и Московский энергетический? А об известным многим Диме Смирнове, который закончил факультет журналистики в НГУ и теперь, в частности, занимается технической и идеологической проработкой сайтов и игр? Примеров, среди моих друзей, масса — историки и географы, занимающиеся программированием, поэты-физики и художники-математики.

Моё мнение — если и разделять людей на эти два лагеря, то по образованию, а не по тому, кто какой ВУЗ заканчивал. А образование человек получает не только в ВУЗе. Кроме того, по моему мнению, разделение людей на два лагеря — слишком грубое. Есть люди, хорошо чувствующие себя в обоих лагерях, есть те, которых нельзя отнести ни к одному лагерю — не заслужили.

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

Когда же выйдет?

Волкодав (18.03КиБ)

На фотографии — исполнитель роли Волкодава в одноимённом фильме по роману Марии Семёновой, съёмки которого сейчас проходят в Cловакии. То, что я вижу на фотографиях мне пока очень нравится. Посмотрим, что будет дальше.

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

РФ

Цитата с сайта «Справочная служба русского языка»:

Вопрос № 144463

Вопрос: В каких случаях допустимо замена слов «Российская Федерация» на буквенное обозначение «РФ»?

Хаблов Александр Викторович

Ответ справочной службы русского языка Употребление сокращения РФ нежелательно, т. к. согласно Конституции нашего государства наша страна имеет два названия — Российская Федерация и Россия. РФ — канцелярит (должны заметить, очень мерзкий).

Не знал, точнее даже не задумывался над этим.

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

Нам нужно новое Солнце

Новые солнечные батареи от «Sharp»:

Японская компания Sharp объявила о том, что ее инженерами был разработан новый вид солнечных батарей, эффективность которых значительно превосходит все предыдущие типы подобных устройств. Как сообщает английский интернет-ресурс The Inquirer, новые батареи способны вырабатывать вдвое больше энергии, чем самые производительные из существующих моделей, и стоят при этом намного меньше. В Сети говорят, что прототип солнечной батареи нового типа, имеющий секторную структуру и занимающий 170 см в длину и 30 см в ширину имеет эффективную мощность более 150 Вт.

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

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

Аквариум. Мама, я не могу больше пить.

Мама, я не могу больше пить…
Мама, я не могу больше пить!
Мама, вылей всё, что стоит на столе —
Я не могу больше пить.
На мне железный аркан,
Я крещусь, когда я вижу стакан,
Я не в силах поддерживать этот обман —
Мама, я не могу больше пить!
Патриоты скажут — я дал слабину,
Практически продал родную страну,
Им легко,.. а я иду ко дну,
Я гляжу как истончается нить.
Я не валял дурака,
Тридцать пять лет — от звонка до звонка,
Но мне не вытравить из себя чужака.
Мама, я не могу больше пить!
Мама, я не могу больше пить!
Мама, я не могу больше пить!
Мама, позвони всем моим друзьям, скажи им — я не могу больше пить.
На мне железный аркан,
Я крещусь, когда я вижу стакан,
Я не в силах поддерживать этот обман —
Мама, я не могу больше пить!
Скажи моим братьям, что теперь я большой,
Скажи сестре, что я болен душой,
Я мог бы быть обычным человеком, но я упустил эту роль.
Зашёл в бесконечный лес,
Гляжу вверх, но я не вижу небес,
Скажи в церкви, что во всех дверях стоит бес — демон Алкоголь!
Мама, я не могу больше пить…
Мама, я не могу больше пить!
Мама, вылей всё, что стоит на столе —
Я не могу больше пить.
На мне железный аркан,
Я крещусь, когда я вижу стакан,
Я не в силах поддерживать этот обман —
Мама, я не могу больше пить!

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

Мобильное ТВ

Трансляция первого канала (5.39КиБ)

Гм. Такого я не ожидал. Оператор «Мегафон-Москва» предлагает новую услугу — мобильное телевидение. Вещание проходит через мобильный интернет в формате Real Video. От телефона требуется наличие проигрывателя Real One Player и подключения к интернету.

Пока доступ есть к четырём каналам — РБК-ТВ (деловые новости), Рамблер-ТВ (научно-популярные и развлекательные программы) и музыкальные каналы Муз-ТВ и Neo-TV. Количество каналов будет рости.

Интересно, у нас в Казани общение через мобильный интернет по аське представляет некоторую проблему — скорости очень маленькие. Неужели в Москве полосы пропускания хватает для телевещания?

Есть желающие поделиться впечатлениями об использовании этой услуги?

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

Цитатник Dirty

Я уже говорил о цитатнике Dirty.ru? Скажу ещё раз. Это цитаты из комментариев к сообщениям на блоге Dirty. Те, которые мне понравились больше всего, я процитировал:

Verhe: Все такие православные, когда праздник!

alex_and_r: За него любого порвем, как сосиску. Бог ты мой! Ведь чтобы порвать как сосиску, нужно знать, КАК рвется сосиска…

DalllaS: Библия была написана теми же людьми, которые утверждали, что земля плоская, Kitishe.

Rucha: Брежнев — это хорошая литература. Приличные люди писали.

kaizer: А как называют человека, который ненавидит украинцев? jovan: Леонид Кучма?

jed: говорят, что если томату три раза сказать «семантика!», он сходит с ума.

sandesh: Может начнуть выпускать коммиксы, от майкрософфт dl2kq: Комиксы от мелкософта и так регулярно выпускают. Называются Windows.

Digal: Вода натуральная. Состав: экстракт воды, натуральный или идентинтичный натуральному ароматизатор, усилитель вкуса(Exxx), разжижитель(Exxx), усилитель прозрачности(Exxx), консервант.

Jazzuit: — Превет! — Добрый день. — Пака! — До свидания.

omant: для хорошей философии достаточно и одного бита.

MegaRule: Если долго нюхать лампочку… Она перестаёт пахнуть!

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

Agraf: Я тоже делаю КРАСИВЫЕ сайты. А хочется делать НУЖНЫЕ :(

sad: Сальные шуточки некошерны.

Dexter: Пахнут товарищи. Господа моются.

zip: А как называются люди, которые одинаково плохо владеют обеими руками? theyulia: Доярки?

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

Проблема с c-client

Bug #29783 IMAP module problem.

Хозяйке на заметку: если под Linux RedHat у вас не собрался PHP с IMAP c-client, соберите его с модулем OpenSSL (ключ -​-open-ssl). Должно помочь. Удивляет то обстоятельство, что разработчики PHP явно знают как о существовании проблемы, так и методе её решения. Почему бы не написать об этом хоть где-нибудь?

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

Хардлинки в WinXP

Я очень часто начинаю разрабатывать проект под Windows и заканчиваю — под Linux или freeBSD. Конечно, даже на уровне PHP, между этими группами операционных систем есть существенные различия. Обычно, они легко преодолеваются. В последнем проекте мне более всего не хватало функции link.

Поэкспериментировав с w32api и ffi, я понял, что этот путь — тупиковый. Побродив по поисковикам, я выяснил, что простейший выход — использовать в качестве заглушки утилиту fsutil из Windows XP. У неё есть параметр «hardlink create», позволяющий создавать ссылки.

if (PHP_OS == 'WINNT' && file_exists($_ENV['windir'].'\system32\fsutil.exe'))
{
    function link($target, $link)
    {
        $cmd = $_ENV['windir'].'\system32\fsutil.exe hardlink create';
        exec ($cmd.' "'.$link.'" "'.$target, $out, $ret);

        return !$ret;
    }
}

В случае, если вы будете использовать эту функцию в проекте, будьте осторожны — это всего лишь заглушка. Во-первых, одна ссылка создаётся примерно за 0.6 — 1сек, во-вторых, в ней нет проверки на наличие специальных символов в переменных $target и $link — если там попадётся кавычка, возникнет опасность внедрения вредоносного кода.

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

WinAPI и PHP

Так случилось, что в PHP существует три модуля расширения — два для PHP4 и один для PHP5, позволяющих обращаться к Windows API. Способы их вызова различны, плюс ко всему, положение усугубляется тем, что модули расширения имеют одинаковые имена, документация есть только по первому из них, тогда как в комплект PHP включается второй.

Ниже — результат моей потребности выяснить как же это всё работает. Прежде всего стоит заметить, что w32api не работает с mod_php, если старая версия вызывает ошибку при попытке повторного вызова в то же child, то новая вызывает ошибку сразу. В режиме CGI и с PHP5 я таких экспериментов не проводил.

Итак, ниже — реализация функции link (hard link) для Windows NT. Под CLI пример работает как с PHP5, так и с PHP4. Конечно, для того, чтобы пример заработал, нужна файловая система, поддерживающая hard links. Под моей NTFS5 (Windows XP) ссылки ставятся.

// Written by Evgeny Stepanischev (aka BOLK)
if (PHP_OS == 'WINNT') {
    // Модуль расширения FFI для PHP5
    if (extension_loaded('ffi') || intval(PHP_VERSION) >= 5 && @dl('php_ffi.dll')) {
        function link($target, $link) {
            $api = & new ffi("[lib='kernel32.dll'] int " . "CreateHardLinkA( char *link, char *target, long *attr);");
            return (bool)$api->CreateHardLinkA($link, $target, NULL);
        }
    } else
    // Модуль расширения w32API для PHP4
    if (extension_loaded('w32api') || @dl('php_w32api.dll')) {
        // Старая версия модуля
        if (function_exists('w32api_register_function')) {
            if (!function_exists('CreateHardLinkA')) {
                @w32api_register_function('kernel32.dll', 'CreateHardLinkA', 'bool');
            }
            if (function_exists('CreateHardLinkA')) {
                function link($target, $link) {
                    return CreateHardLinkA($link, $target, NULL);
                }
            }
        } else {
            // Новая (примерно с версии PHP 4.3.0)
            function link($target, $link) {
                $api = & new win32;
                $api->registerfunction("bool CreateHardLinkA" . "(string &link, string &target) From kernel32.dll");
                return $api->CreateHardLinkA($link, $target);
            }
        }
    }
}

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

Screenshot send

Появился замечательный плагин к IM Miranda — Screenshot Send. Мне его очень не хватало. Жаль, что сейчас из-за NAT я не могу им воспользоваться.

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

Send Screenshot (17.97КиБ)

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

Андрей Макаревич. Памяти Бродского

Снег замел пороги и дороги,
Снег ложится и не надо слов,
А по телевизору «Итоги»,
На экране — бравый Киселев.
Он привычный гость в любой квартире,
И хотите вы того, иль нет,
Вам расскажут, что творится в мире,
И уж, перво-наперво, в стране.
Что народ, уставший от обманов,
Демократам завтра скажет «нет»
И народу мил теперь Зюганов,
И его партейный комитет.
И что Ельцин посетил студентов,
Добиваясь только одного:
Чтобы выбирая президента
Помнили студенты про него.
И что Явлинский лаялся с Гайдаром,
Явной беспринципностью греша,
И что сказал об этом в кулуарах
Жириновский — добрая душа.
И параграф, в обсужденьи коего,
Снова встал парламент на дыбы,
И рабочий путь Егора Строева,
Человека непростой судьбы.
И парад закончив идиотский,
Складывая папки, не спеша,
На прощанье фраза:
Умер Бродский, сердце, похоронят в США.

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

Шифрованные SMS

Какое-то время назад я рассуждал о том, что неплохо было бы написать Java-приложение для сотовых телефонов, позволяющее обмениваться шифрованными SMS. Во многих телефонах есть API для работы с SMS, значит и проблем особых возникнуть не должно. Оказывается, такое приложение есть — SecureSMS.

When installed on 2 phones, it allows you to encrypt and send (and then receive and decrypt) SMS messages so that they are not readable by any party in transit, including the GSM operator. The SecureMessenger consists of common API, two implementations of the API so far (for Siemens M50 and SL45i), common UI and localization utility (currently only English-language resources file exists, easily translatable to any language)

В данный момент поддерживаются Siemens SL45i/M50/S55 (и, наверное, более новые) и Nokia 60-й серии.

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

Патч к IMP/Horde

Если при работе с webmail IMP/Horde у вас выдаются ошибки в функции imap_fetchbody, попробуйте применить мой патч. Порядок применения:

  • Разместить в папке lib, с названием, например, bolkpatch.php.
  • В файлах lib/IMP.php и view.php после блока строк require_once надо ставить строку
    require_once IMP_BASE . ’/lib/bolkpatch.php’;
  • Заменить в этих двух файлах все вызовы imap_fetchbody на imap_fetchbody2.
  • Установить модуль PEAR Mail_Mime (pear install Mail_Mime)
// IMP patch. Written by Evgeny Stepanischev
function imap_fetchbody2(&$imap_stream, $msg_number, $part_number, $options = NULL)
{
    $params = array(&$imap_stream, &$msg_number, &$part_number);
    if ($options !== NULL)
    $params[] = &$options;

    $str = @call_user_func_array('imap_fetchbody', $params);

    if ($str == '' || $str === FALSE)
    {
        array_splice($params, 2, 1);

        $mail = @call_user_func_array('imap_fetchheader', $params).
                @call_user_func_array('imap_body', $params);

        require_once 'Mail/mimeDecode.php';

        $decoder =& new Mail_mimeDecode($mail);
        $structure = (array) $decoder->decode(array('include_bodies' => true));

        return isset($structure['parts'][$part_number-1]) ?
                $structure['parts'][$part_number-1]->body :
                $structure['body'];
    }

    return $str;
}

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

Блогами забытый

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

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

Держимордия

Держимордия (12.16КиБ)

Фото с сайта Regnum.ru. Грузинские компьютерщики развлекаются — принесли компьютеры, проекторы и по ночам пишут на российском посольстве различные надписи, отражающие их мнение о политике России в Грузии.

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

Мобильный SSH

Кстати, занимаясь поиском интересных мидлетов, наткнулся на Floyd Telnet & SSH midlet и muTelnet midlet. Забавная штука. В принципе, через это можно выполнить какие-нибудь несложные действия — перезагрузить машину, обновить Apache и т. п.

Незамениная штука для приходящих администраторов. Впрочем, с PDA это делать, конечно, куда проще и удобнее, чем с сотового телефона.

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

Алисы в закулисье

Рекомендую взглянуть на работку «Закулисье» с сайта SkillRu. Очень хорошая игра на контрастах заставляется забыть, что работа не постановочная — где-то балерины действительно проходят на сцену по таким коридорам.

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

Nokia 6230

Серебристый мобильный телефон Nokia с экраном, на котором изображены две руки, готовые к рукопожатию, и логотип NOKIA под ними.
Nokia 6230

У меня скоро день рождения. Это уже становится моей доброй традицией — дарить себе на день рождения сотовые телефоны. В прошлом году это был Siemens S55. В этом году я раскошелился на Nokia 6230. Основные характеристики:

  • Стандарт: GSM 900/1800/1900
  • Дисплей: цветной, 128x128, TFT 65535 цветов
  • Аккумулятор: Li-Ion 850 mAh, BL-5C.
  • Максимальное время разговора: 3ч
  • Максимальное время ожидания: 300ч
  • Размеры: 103x44x20
  • Вес: 97 грамм
  • Java (MIDP2), на сайтах написано, что максимальный размер приложения — 128Кб, но у меня работают и по 230Кб.
  • Органайзер: часы, будильник, калькулятор, секундомер, календарь и т. п.
  • Мультимедиа: FM-радио (stereo), MP3/AAC-проигрыватель, проигрыватель видео 3gp, камера с возможностью
    записи видео.
  • Интернет: GPRS, WAP 2.0 (xHTML)
  • Графические форматы: JPEG, GIF, WBMP, PNG.
  • Передача данных: SMS, MMS, IrDA, Bluetooth, встроенный модем, HSCSD, EDGE (4+1, 3+2),
    скорость до 238,6Кб/сек, email, SMS-чат, Wireless Village чат.
  • Звук: MIDI и SP-MIDI, 30(?) голосов.
  • Память: 8Мб в телефоне, 32Мб на MutiMedia Card (MMC).
  • И так далее.

Общие ощущения. Nokia, по-видимому, это — классика. И как всякая классика к новому тянется неохотно. В Siemens многое очень хорошо продумано, в Nokia — многих чисто интерфейсных вещей нехватает или они недоработаны. Простой пример: в Siemens, если в SMS содержится номер телефона я могу его очень просто выделить прямо во время прочтения и позвонить по нему.

Есть и очень неприятные сюрпризы. Например, в Siemens нет ограничений на размер мидлета. В Nokia — есть. Думаю, у этой модели он составляет 256Кб. Оказалось ещё, что в Siemens имеется своё нестандартное J2ME API для доступа к файловой системе. Что позволяет тому же Microreader читать книги прямо с диска, а не из внутренностей мидлета. В мире J2ME разработано File Connect API (кажется так). Но это относительно новый стандарт и моя модель его не поддерживает.

Вообще, телефон крайне простой, чувствуется забота о пользователе, которую можно выразить словами «как бы пользователь чего не натворил». Меня это радует мало. Но! При всех недостатках, я получил: хороший телефон, плохенький, но фотоаппарат, FM-радио и MP3-плеер. Последняя возможность оказалась решающим аргументом в пользу покупки — всегда хотел иметь MP3-плеер. Я даже раскошелился на 256Mb MMC. Я покупал Samsung с гарантией в 3 года, она мне обошлась в 1067 рублей. Если интересно, покупал я в компании «Теко компьютер» на ул. Космонавтов, 28.

Кстати говоря, есть такая программа как Nokia Multimedia Converter. Ссылку давать не буду — в интернете ищется очень легко. Она позволяет сконвертировать видеофайл в формат 3gp, принятый в этом телефоне. Известный фильм «Герой» сконвертировался в 58Мб видео. Т. е. на своей карточке я могу носить небольшую фильмотеку.

Как водится, есть недостаток: встроенный видеоплеер не умеет перематывать или хотя бы проматывать фильмы. Мне кажется, что сам формат не позволяет производить перемотку — например, в нём могут отсутствовать опорные кадры, но промотку-то можно было сделать.

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

Ещё из приятного — скорость загрузки мидлетов (а значит и книг) значительно выше. Значительно. Кстати, для чтения книг на Nokia рекомендую FreeBookReader от Tequilacat. Из всех, что я попробовал (штук 5-6) этот мне понравится больше всех. Продуманнее, больше возможностей, активно развивается. Будете ставить — обязательно скачайте shell. Он позволяет подготавливать текст книги без упаковки вручную.

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

Замкнутый круг

Статья «Обзор рынка интернет-провайдеров РТ». От комментариев каждого из экспертов, в конечном итоге, осталась одна строчка. В том числе и от моего осталось следующее:

Получается замкнутый круг — объём внутреннего трафика невелик, поскольку очень мало интересных ресурсов; а ресурсов не хватает, потому что потенциальная аудитория очень мала.

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

Стих

Когда-то я это уже цитировал, но не могу удержать, чтобы не процитировать ещё раз. Единственный удачный стёб над лирикой, который я когда-либо видел.

Все было: лужа на крыльце,
Знакомый профиль мусорного бака
И у забора писала собака
С задумчивой улыбкой на лице.

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

Устранение потерь при кодировании почтовых аттачей в base64

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

Прошло время, текст в электронных письмах давно уже не только английский, а стандарты кодирования текстовых файлов до сих пор используют только латинские буквы (плюс цифры и некоторые символы, такие как плюс, миную, слеш и так далее). Мне пришло в голову — а что если попробовать кодировать файлы всем полем допустимых символов. Сейчас, когда появились письма на UTF-8, допустимыми символами являются все, за исключением символов с кодами 0x00 (из-за того, что почти всё ПО написано на C/C++, где этот символ является признаком конца строки), 0x0A и 0x0D (это символы перевода строки, не хотелось бы, чтобы какой-нибудь умный клиент в бинарном файле добавил к 0x0D символ 0x0A — по стандарту в письмах перевод строки обозначается парой этих символов и, обычно, если встречается только один из них, почтовые клиенты или MTA добавляют и второй).

Из всех вариантов кодирования, а их три (Base64, UUencode и quoted-printable) для моих целей подошёл только quoted-printable. Идея его очень проста — все недопустимые символы (и «равно») преобразуются в последовательность из трёх символов: символ «равно» и шестнадцатиричный код символа. Поскольку «допустимых» символов традиционно очень мало, то метод не слишком экономичен.

Я же задался целью проверить, что же будет, если попробовать передать файл, где поле допустимых символов расширено до максимума. Сразу скажу — эксперимент удался. Можено эксперементально внедрять новый формат кодирования писем. Назовём его Bolk Quoted-Printable. Ладно, ладно, будем скромнее. 8bit Quoted-Printable.

Я написал небольшую программу на PHP, которая в качестве параметра использует имя файла, который нужно закодировать, а на выход выдаёт этот файл в формате понятном почтовому клиенту. Таким образом, если её запустить как «php -q 8qp.php somegif.gif > somename.eml» и открыть получившийся файл вашим почтовым клиентом, внутри вы должны увидеть свою картинку.

<?php
    // Example 1. 8qp.php
    // Written by Evgeny Stepanischev aka BOLK
    $bound = 'BOLKNOTE.RU';

    $mime = getimagesize($argv[1]);
    $mime = $mime['mime'];

    $str = file_get_contents($argv[1]);
    $len = filesize($argv[1]);

    echo <<<HEADER
Content-Type: multipart/mixed;
        boundary="----{$bound}"

------{$bound}
Content-Type: $mime; name="{$argv[1]}"
Content-Disposition: attachment; filename="{$argv[1]}"
Content-Transfer-Encoding: quoted-printable


HEADER;

    $np = array (0, 10, 13, 61);

    for ($i = 0; $i<$len; $i++)
    {
        $code = ord($str{$i});

        echo in_array($code, $np) ?
        '='.strtoupper(str_pad(dechex($code), 2, '0', STR_PAD_LEFT)):
        $str{$i};
    }

    echo "rn------{$bound}--";

Для эксперимента я выбрал наугад две картинки. JPEG и GIF. И вот что получилось в итоге. «TheBAT!» — это наименование моего почтового клиента.

Случайный GIF: исходный размер — 33590, мой quoted-printable — 36300, base64 encode — 46034, TheBAT! UUencode — 47052, TheBAT! Quoted-printable — 80576.

Случайный JPEG: исходный размер — 28144, мой quoted-printable — 29656, base64 encode — 38570, TheBAT! UUencode — 39429, TheBAT! Quoted-printable — 65663.

В случае QP-кодирования моим методом, размер файла, как видно по результатам двух экспериментов, увеличился совсем ненамного — 4-8%. Если для теста взять текстовый файл, то прирост будет едва заметен, если вообще будет, надо только переводы строки для текстовых файлов не кодировать, а пускать как есть.

Эксперименты на первом же попавшемся Sendmail показали, что, во-первых, типичный MX стремиться разбить строку по размеру своего буфера (у моей жертвы этот размер оказался равен приблизительно двум килобайтам) — но это легко устранимо, достаточно делать это за него и, что более неприятно, «умница» sendmail перекодирует письмо так как считает нужным — в традиционный quoted-printable.

Последняя беда поставила меня в тупик. Правда, ненадолго. Вспомнив, что большинство клиентов умеют открывать письма в формате EML я решил пойти на хитрость — прикрепить моё письмо как аттачмент другого, замаскировав моё письмо под обычный текст — Sendmail вряд ли проверяет аттачи глубже одного вхождения. А чтобы письмо максимально адекватно воспринималось почтовым клиентом, я дал ему disposition inline и убрал из него все служебные поля. Попробовал отправить — получилось. В TheBat видно только лишнее пустое поле — беда небольшая.

<?php
    // Example 2. 8qp_next.php
    // Written by Evgeny Stepanischev aka BOLK

    $bound  = '3D1E1C92aaBF00D';
    $bound2 = '3D1E1C92xxBF00D';

    $mime = getimagesize($argv[1]);
    $mime = $mime['mime'];

    $str = file_get_contents($argv[1]);
    $len = filesize($argv[1]);

    echo <<<HEADER
From: <mailbox@sample.com>
To: mailbox@sample.com
From: mailbox@sample.com
Content-Type: multipart/mixed;
 boundary="----------{$bound2}"

------------{$bound2}
Content-Type: message/rfc822; name="1.eml"; charset=utf-8
Content-Disposition: inline; name="1.eml"
Content-Transfer-Encoding: 8bit

Content-Transfer-Encoding: 8bit
Content-Type: multipart/mixed;
        boundary="----{$bound}"

------{$bound}
Content-Type: $mime; name="{$argv[1]}"; charset=utf-8
Content-Disposition: attachment; filename="{$argv[1]}"
Content-Transfer-Encoding: quoted-printable


HEADER;

    $np = array (0, 10, 13, 61);

    for ($i = 0; $i<$len; $i++)
    {
        $code = ord($str{$i});

        echo in_array($code, $np) ?
        '='.strtoupper(str_pad(dechex($code), 2, '0', STR_PAD_LEFT)):
        $str{$i};

        if ($i && ($i % 512) == 0) echo "=rn";
    }

    echo "rn------{$bound}--",
    "rn------------{$bound2}--";

Полный размер письма после такой двойной «упаковки» увеличивается незначительно. Кстати говоря, Opera 7.0 с таким письмом не справилась. Возможно, в силу старости — текущая версия этого пакета — 7.61b. Для интереса я отправил письмо на мои ящики на серверах Mail.ru и Gmail.com. Оба сервера вполне достойно справились с задачей, единственно, что Gmail не принимал письмо, пока я не указал charset как UTF-8.

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

← сюда туда →