Роджер — сумеречная зона
Без приключений не обошлось — меня ближе к часу ночи начал клеить некто Марат, впрочем, охрана быстро разрешила конфликт в половой несовместимости — Марату пришлось уйти, а я остался за стойкой с чашкой великолепного зеленого чая с жасмином.
Ограниченно свободен
Вот они, заветные слова, предмет страданий большинства лиц мужского пола в этой стране! Поздравьте меня. Никто никогда не узнает в какое количество нервных клеток они обошлись мне в этот раз. Тепличный буржуин за пятнадцать секунд умер бы от стресса, если бы узнал, где ему придется жить два года, будь он гражданином нашей страны, без этого документа на руках. Французский легион показался бы ему курортом, с морем, солнцем, мягким песком и прекрасными девушками.
У меня на душе легкий праздник, куча лома и разноцветные пузыри. Всех поздравляю с Днем налогового инспектора, а комарам желаю смерти. До свидания!
Зарезервировано.
Специальный пост
Baguk aka pH, отсканировал специально для тебя. :) Чтоб ты знал — это этикетка с бутылки от пены для ванны фирмы «Help». :) Этикетку могу подарить — вставишь в бейджик. ;)
Онанизм
Онанизм (мастурбация, рукоблудие, от имени Онана, сына Иуды: Бытие 38,9), совокупность приемов для вызова сладострастного возбуждения и удовлетворения полового чувства посредством механического истечения семенной жидкости, весьма распространенная в юношеск. возрасте болезненная привычка, особенно среди воспитанников закрытых учебн. заведений. Частые половые возбуждения у юных онанистов ведут к физическому истощению, нервным расстройствам (неврастении и проч.), упадку умственной энергии и моральному угнетению.
Забыли упомянуть волосы на ладонях. :) И вот интересно — а что болезненного в этой «привычке»?
Завтрак наркомана
Уже третий день я пугаю своим видом прохожих — в прозрачном
Три дня назад в лучшей больнице города меня осмотрел светило соответствующей науки и сообщил мне, что мой позвоночник выглядит как угодно, но только не так, как должен он выглядеть в нормальном состоянии. Более всего он ему напомнил лестницу. И вот эта вся вкуснятина, которую вы видите на фото будет вколота мне в течении двух недель вперемешку с массажем, костоправством и прочими интересными вещами, которые будут составлять мою
Если я выживу, то обязательно поделюсь своими ощущениями со всеми желающими. :)
Ужасы семейной жизни
К вопросу о том, что делает семейная жизнь с людьми. На фото справа — муж моей подруги Севрюгиной. Слева — он же, но до того счастливого времени, когда его желудок смог познать прекрасную стряпню его супруги. Кстати, говорят семейные мужчины живут на несколько лет дольше. Видимо, холостые умирают он недоедания. Не доедают они то, что им удается приготовить — яичницу и подгорелую кашу.
Возвращение
Прямо из офиса съездили на Голубое. Искупался четыре раза, хочу еще. Это невыносимо,.. в понедельник обещали +35.
Формат XBM, Star Wars, LOOSE
Добрый день! Мы продолжим.
Многие, наверное, уже видели 5K Wolfstein, написанный на JavaScript. Явление, само по себе, весьма любопытное, но меня оно интересует с несколько иной точки зрения — в программе использована графика в формате XBM.
Формат, при всех своих недостатках
Формат XBM является частью X Window System, хорошо знакомой юниксоидам. Внешне внутренность такого файла выглядит, как программа на C и имеет вот такой вот формат:
#define имя_width количество_пикселей_по_горизонтали
#define имя_height количество_пикселей_по_вертикали
static unsigned char имя_bits[] = {
последовательность_чисел
}Какое значение имеет поле имя в браузере, я не знаю, скорее всего никакого, думаю его можно оставить пустым — ничего от этого не меняется. Для того, чтобы лучше себе представить, как выглядят внутренности картинки в этом формате позволю себе небольшой пример. Если загрузить эту картинку в браузер вы увидите несколько
#define _width 16
#define _height 16
static unsigned char _bits[] = {
0xff, 0xff, 0x01, 0x80, 0xfd, 0xbf, 0x05, 0xa0, 0xf5, 0xaf, 0x15, 0xa8,
0xd5, 0xab, 0x55, 0xaa, 0x55, 0xaa, 0xd5, 0xab, 0x15, 0xa8, 0xf5, 0xaf,
0x05, 0xa0, 0xfd, 0xbf, 0x01, 0x80, 0xff, 0xff}Значение выражения последовательность_чисел я, думаю, понятно — это перечисленные через запятую байты матрицы, каждый бит которых определяет цвет соответствующей точки. Мои эксперименты показали, что графику этого типа понимает широкий набор браузеров. Я проводил тесты под Opera 6.04, Microsoft Internet Explorer 6.0, Mozilla 1.01b, Netscape Navigator 4.79 и Netscape Navigator 7.0 — все они без проблем показали эту картинку.
Как я уже упоминал, генерацию графики этого типа под некоторыми браузерами можно поручить клиентским скриптам. Под Windows c этой задачей справляются IE 5, 6 и Mozilla, под Mac — Netscape 4.77 и выше, под Unix — Mozilla. По поводу остальных браузеров и платформ мне ничего не известно.
Метод выглядит несколько странно и заключается в записи содержимого файла в переменную с последующим вызовом в теге <IMG> через метод javascript:
<script>
image_var = '#define _width 16\n#define _height 16\nstatic unsigned char _bits[] = { 0xff, 0xff, 0x01, 0x80, 0xfd, 0xbf, 0x05, 0xa0, 0xf5, 0xaf, 0x15, 0xa8, 0xd5, 0xab, 0x55, 0xaa, 0x55, 0xaa, 0xd5, 0xab, 0x15, 0xa8, 0xf5, 0xaf, 0x05, 0xa0, 0xfd, 0xbf, 0x01, 0x80, 0xff, 0xff}'
</script>
<img src='javascript:image_var' width="32" height="32" />С GIF, JPEG и BMP такой фокус, к сожалению, не проходит — думаю, во всем виноват символ с кодом 0, который в изобилии встречается в файлах этих форматов.
В блуждании по страницам в Сети нашел прекрасный ресурс — Русская Энциклопедия «Звездных войн». С её помощью можно не только досконально изучить флору, фауну, персонажей, типы дроидов и прочее, но и узнать, например, как несладко приходилось актеру, игравшему Чубакка.
Кстати, при прочтении этого труда у меня возникло стойкое ощущение, что к созданию фильма приложили руку
Кстати, если верить «Энциклопедии…» процессор дроида серии R1 (судя по всему — Intellex IV) выполняет 10000 операций в секунду, «Энциклопедия…» называет его «высококлассным». Видимо в 1977 году эта цифра казалось просто невероятной.
Увидел этот фокус на канале «Discovery» в передаче про проституток, перерыл весь Интернет и нашел его описание. Мне он показался весьма забавным и очень простым в исполнении, сейчас научу вас его показывать. Так как результат все равно представляет интерес только тем, кто знает английский, то и описание я переводить не буду, тем более, что оно немного неприличное. :)
Фокус нужно показывать на калькуляторе, одновременно рассказывая: «so, there was 1 girl, who was 16, and got 69ed 3 times. (11669×3) What was she? 35007».
Показываем, что получилось на табло вверх ногами: «LOOSE».
Для желающих попытать свои силы в придумывании собственного фокуса с калькулятором, даю ссылку на ресурс The Definitive Calculator Dictionary, где вы сможете найти все численные значения, которые соответствуют
По поводу «фокуса» с почтовым клиентом «TheBAT!», опубликованного в прошлом номере. От читателя Вадима Колонцова поступила интересная теория, которая, хотя бы намекает на то, почему «TheBAT!» может себя так странно вести.
Скорее всего, дело во включенном антиалисинге шрифтов (отсюда и «замыленность»). Но антиалиасятся только векторные шрифты; часть же шрифтов в Windows до сих пор растровая.
По-моему, Sans Serif как раз присутствует в двух вариантах: векторном и растровом. Вероятно, в зависимости от кодировки выбирается тот или иной шрифт (уж не знаю, почему).
Может написать разработчикам? :) И, кстати, неужели и в Windows XP сохранились еще растровые шрифты?
И, напоследок, картинка от digitalk.
Пишите!
Хорошее начало обычного дня
Наконец, минут через 15, остановилась «Нива» с двумя пьяными дядечками внутри. Пока они подъезжали, я успел оценить их способность ездить по прямой и подумал, что ничем, особо, я не рискую. Но вот когда я полусонный увидел, как они подрезали на повороте «десятку», у меня шевельнулась мысль — в ту ли машину я сел. :)
Дома у меня хватило сил постирать себе пару футболок, после чего я грохнулся на кровать и, забыв почистить зубы, уснул. А утром меня ждал пляж Голубого озера, песни группы «Хорошее настроение» на Баумана и многое многое другое.
О том, кто выше
Не понимаю таких людей. Они считают Бога глупым, жестоким и мстительным? Неужели Бог в его могуществе и всеведении, как они его представляют, не разберется для чего была произнесена фраза и тут же покарает человека, который всего лишь отвечал на вопросы в
У
ЖЖ от 2002-07-10 17:28:00
На двери второго этажа здания, где находится наш офис висит бумажка с надписью «Уважаемые арендаторы». Всякий, входящий в дверь второго этажа теперь знает, что на этаже этом сидят арендаторы уважаемые. На других этажах такой бумажки нет.
Для суперсерьезных людей поясню. :) У бумажки этой была вторая часть, которая крепилась к первой скотчем, но
Первые котята моей кошки. Фотоальбом
Чуть более месяца назад у моей кошки Бруснички родились два котенка. Первый на несколько часов раньше второго. Поскольку характер их обнаружить еще было трудно, были они названы просто и незатейливо, в порядке появления — Раз и Два.
Через некоторое время стало абсолютно ясно, что каждый из них обладает своей собственной линией поведения, если не сказать больше — жизненным кредо. К тому времени я уже не различал кто из них Раз, поэтому срочно их переименовал.
Магеллан. Магеллан худой и маленький, трудный подросток. Мать не слушает, ничего не боится. Первым выбрался из коробки, первым вышел из комнаты, первым без подсказок стал есть и пить из блюдца. Любит спать, где ему вздумается, за что бывает наказан матерью. Полностью самостоятелен и самодостаточен. От матери никак не зависит. Назван в честь знаменитого португальского мореплавателя.
Крылов. Крылов толстенький мамин сынок. Есть отказывается, пьет только мамино молоко. Всюду бегает за матерью, спит рядом с ней. Кошка его любит — охотно кормит, нежно вылизывает, наказывает редко. Если он вдруг
Пакет для печати шрифтом CPI в XBM
Тема генерации картинок в формате XBM меня не отпускает. :) Вдоволь набаловавшись с генерацией буковок на бумаге в клеточку с последующим переносом их на экран, я решил сделать скрипт, который бы сей скорбный труд облегчил. Проще говоря, я решил сделать движок на PHP, который позволял производить печать в XBM произвольных символов шрифта.
Если вы читали предыдущую заметку на эту тему, то знаете, что XBM, сам по себе, формат очень простой и запрограммировать печать в него — дело нехитрое. Проблему составил поиск описания хотя бы одного формата шрифтов из их богатого разнообразия.
Большие надежды я возлагал на FON и формат шрифтов Palm, но не найдя описания ни того, ни другого, плюнул на все и воспользовался тем, что было под рукой — описанием формата CPI.
CPI — формат, придуманный в Microsoft для хранения шрифтов в ОС
Формат CPI нехитрый, хотя из скудного описания такой вывод сделать никак нельзя. Мне пришлось провести несколько экспериментов, чтобы выяснить что же он
Вкратце. Файл состоит из заголовка и нескольких секций — так называемых кодовых таблиц. Напомню, формат был придуман, когда старались экономить каждый байт и об Unicode еще не задумывались. В каждом шрифте одной кодовой таблицы хранится копия таблицы ASCII, где
Кодовая таблица имеет свой номер. Например, русскому шрифту в
Задержавшись пару раз после работы, я сделал небольшой пакет XBM+CPI, который позволяет печатать в формат XBM шрифтами CPI. Кроме этого, он позволяет накладывать на шрифты некоторые запрограммированные эффекты и использовать их комбинации.
Что интересно. Я обнаружил, что под IE картинка
На скриншоте показано несколько эффектов и пара их комбинаций.
Экран, показанный на скриншоте выше, полностью доступен по ссылке «Some examples» из основного меню пакета.
Следующая утилита пакета — CPI viewer (доступна по соответствующей ссылке).
Она позволяет просмотреть внутренности файлов со шрифтами (некоторые из файлов, которые мне удалось найти, лежат в каталоге cpi).
В частности, показывает номер каждой кодовой страницы и номер шрифта внутри её — эти данные пригодятся при использовании пакета в своих программных продуктах.
В ветке Windows NT используется свой формат шрифтов с заголовком яFONT.NT. Описания его мне найти не удалось, но экспериментально я установил, что отличаются они лишними
Видимо, существенного влияния на использование шрифта эти байты не оказывают.
Надо сказать, что у пакета есть некоторые ограничения, избавляться от которых я не стал, так как не вижу в этом особого смысла. Например, ширина символа выравнивается по восьмерке — символ шириной 9 символов будет печататься так же, как символ с шириной 16 символов. Далее, могут быть использованы только шрифты, предназначенные для устройства display — как использовать шрифты для принтера я не знаю и не понимаю зачем это может быть нужно в данной ситуации.
Посмотреть, как реагирует библиотека на изменения параметров можно на первом экране. Чтобы немедленно увидеть ее в действии нужно выбрать файл шрифта, вписать
Теперь, что касается программирования. Для использования в своих проектах подключать нужно файл xbm_cpi.inc. Внутри находится
- Создается экземпляр класса с указанием из какого файла брать шрифт, номером по порядку кодовой страницы и номером шрифта, которые будут использоваться.
- Проверяется числовое содержимое свойства error. Если там не ноль, значит произошла ошибка. Текстовое ее описание доступно в свойстве errmsg.
- Вызывается метод printstr с указанием строки, которая будет напечатана, во втором параметре — через запятую имена эффектов, которые будут применены, в порядке применения. Массив имен эффектов, доступных для использования, возвращает метод AvailEffects(). Метод printstr вызывает печать содержимого картинки в выходной поток. Если требуется вывести картинку в файл, используйте функции буферизации или перепишите класс под свои задачи.
- Вызывается метод close, без параметров. Он закрывает открытый ранее файл шрифта.
Методы, имена которых начинаются с символа подчеркивания, считаются приватными. Использование их вне класса не рекомендуется.
Скачать весь пакет можно у меня. Файлы упакованы архиватором RAR, для распаковки требуется RAR версии 2.90 или выше.
Добавление от 19 июля: в связи с многочисленными жалобами на «битость» файла выкладываю тот же пакет, упакованный ZIPом.
Пишите!
Не возжелай
Никто не в состоянии предугадать все последствия исполнения своих желаний. Никто не знает, чем обернется исполнение любого из них. Ко всему прочему, желания мгновенно не исполняются и, может статься, к моменту его исполнения ты уже забудешь о нем и будешь абсолютно не готов к тому, что оно, вот, наконец, исполнилось.
Возможно, ничего страшного в этом не будет, но, может быть, его исполнение не принесет тебе ничего, кроме боли и осознания, как же ты был глуп в то злосчастное мгновение, когда его загадывал. А посему, будьте осторожны со своими желаниями. Особенно, если они имеют тенденцию исполняться.
Ваше имя плохо пахнет…
Пытался сегодня, шутки ради, просмотреть данные лжепользователя (вы уж извините) «гамно». Движку LJ имя не понравилось — сказал «Плохое имя пользователя»… Да уж, чего тут хорошего?
Тема недели
Кстати, горячую давно выключили, вчера у меня пропадал свет, очередь за газом.. У нас точно никакой войны нет? Может за Казанью кольцом стоят танки, прессу не пускают, а нам ничего не рассказывают, дабы не создавать панику? :) Я даже больше скажу! Может Россия уже давно в руинах, по телеку показывают старые перемонтированные записи, а Казань — последний город, который выжил?..
Мстя моя страшна…
Ручная сбыча мечт
Копирайтеры
Мы с
Слоган: НАДКУСИ И СОСИ!
Путешествие
Как бы
Привет!!!Даже не знаю, что на него теперь ответить… :)
Совсем тебя работой загрузили? Чего не пишешь?
Внедренная графика, наглые спаммеры, Checker.ru
Всем привет!
Спасибо Бывшему Постмастеру за поздравление с рождением котят. :) Постмастер, тебе код для ЖЖ все еще нужен или уже нет?
Продолжая тему всего необычного использования графики в браузерах, всего того что выходит за рамки обычных представлений об этой области, хотелось бы привести письмо Alexey Melchakov:
Про xbm ты хорошо написал, но в html4 есть возможность вставлять в страницы inline objects без всякого использования джаваскрипта, делается это так:
<object data="data:base64,R0lGODlhEAAQAIAAAAAAAP///ywAAAAAEAAQAAACKoSPacHtvpQK8T1AsZY0d3x9mlhtX3eaI7h665G2oZpNtNWoEuLh1g4sAAA7" type="image/gif"></object>
или даже без base64, квотируя небезопасные символы с помощью %xx в хексе.
<object data="data:,GIF89a%10%00%10%00%80%00%00%00%00%00%FF%FF%FF%2C%00%00%00%00%10%00%10%00%00%02%2A%84%8Fi%C1%ED%BE%94%0A%F1%3D%40%B1%964w%7C%7D%9AXm_w%9A%23%B8z%EB%91%B6%A1%9AM%B4%D5%A8%12%E2%E1%D6%0E%2C%00%00%3B"
type="image/gif"></object>простой и замечательный метод с одним единственным недостатком, работает
это только в мозилле (и netscape7, соответственно). IE, даже шестой
версии, подобную конструкцию игнорирует, отказываясь понимать data url
scheme начисто. вот вам и полная поддержка html4. а так удобно бы было.
Действительно, HTML 4 позволяет делать подобное, но я совершенно не ожидал, что существует браузер, который реализует эту возможность в таком ключе.
Вообще, IE еще
Спамеры совершенно обнаглели. :) Пользуясь доверчивостью пользователей, они пополняют базу данных адресов
Received: by сервер (mbox djrabbit)
(with Cubic Circle's cucipop (v1.31 1998/05/13) Mon Jul 15 11:19:17 2002)
X-From_: nospam@mail.com Mon Jul 15 11:13:22 2002
Return-Path: <nospam@mail.com>
Received: from psdr3.k12.co.us by <сервер> (8.11.3/Unet) with SMTP
id g6F7DJo25754 for <ящик>;
Mon, 15 Jul 2002 11:13:22 +0400 (MSD)
Message-Id: <ID письма>@<сервер>
Received: from QRJATYDI
([206.170.162.10])
by psdr3.k12.co.us; Sun, 14 Jul 2002 23:43:29 -0600
From: "nospam@mail.com"
To:
Subject: Удалите E-Mail
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2600.0000
Date: Mon, 15 Jul 2002 0:49:50 +0300
Mime-Version: 1.0
Content-Type: text/plain; charset="KOI8-R"
http://www.nospam.ru/nospam.htmlПо ссылке в теле письма находится страничка, где пользователю предлагается ввести свой
В интернете существует великое множество сайтов, предоставляющих пользователю сервис для перевода фраз с одного языка на другой. В большинстве своем они ограничиваются направлениями
В такой ситуации выручит сайт фирмы «Prima Vista», где расположены 1000 различных словарей и энциклопедий, включая древние языки и такую, для нас, экзотику, как персидский или идиш. Сайт содержит ссылки на другие сайты в интернете, предоставляющие сервис перевода.
Когда мне потребовался ирландский словарь я искал его именно на этом сайте. В общем, сайт я однозначно рекомендую занести в закладки — пригодится.
Недавно в интернете открылся очень интересный, с моей точки, зрения ресурс.
Называется он Checker.RU (проверяющий, контролер). Смысл проекта заключается в периодических хаотичных проверках разнообразных сервисов, качество предоставляемых услуг которых может проконтролировать рядовой потребитель.
Качество обслуживания, исполнение фирмами своих обещаний — все это тщательным образом описывается в статьях и помещается на сайт. Ведущий проекта, Руслан Курепин уже описал свои впечатления о Western Union, МТС, SpyLog, Точка.Ру, Мастерхост, MegaShop, Sly.ru, Сбарро, ТрансПицца, Служба 77, Чашка,
Руслан обращается ко всем жителям рунета за помощью в пополнении сайта контентом. Правда, у меня ощущение, что такой подход может разрушить идею сайта — ведь никогда не знаешь, напишет доброволец правду или он является сотрудником фирмы о качестве сервиса которой пишет.
Не прощаюсь. Удачных выходных! Пишите!
Бог устал нас любить? Ну извините!
Прикол длился две недели, после чего Он видимо решил, что шутка себя исчерпала. Но я целых две недели убеждал расстроеных продавщиц, что брать сдачу пятаками я уже привык и извинятся за это им не надо. :)