среда, июля 18, 2007

Открытка к Дню торговли



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

четверг, июля 12, 2007

Разговор с пароходом

В промозглую погоду отъезжал с причала. «ВЕШЕМЕД НАПЕТС», — сказал вслед пароход, отразившись в правом зеркале. «Полный напетс», — согласился я.

среда, июля 11, 2007

Reclaim the Streets

Начал срочную работу над проспектом А5 (каталог наружной рекламы) по заказу агентства «Вирго». Первый эскиз обложки.

И Акробата вылечим... всех вылечим.

После обновления системы перестал работать acroread. При запуске из консоли бесконечно выдаёт синтаксическую ошибку. Переустановка не помогла.

В блоге Хавьера Артуро Родригеса нашёл фикс: в шелл-скрипте acroread нужно добавить звёздочку в регулярном выражении, передаваемом sed, после второго блока [0-9], строка 418. Точную строку см. по ссылке, не будем красть лавров.

вторник, июля 10, 2007

Inkscape: SVG — страшная сила!

В рамках работы над оформлением праздника взялся сделать кое-что в Inkscape, да так втянулся, что это уже становится дурной привычкой. Сперва я оценил насколько простой, настолько и роскошный трассировщик, благодаря которому камбоджийский флаг (вы видели там этот чёртов дворец?) занял 15 минут времени. Потом научился делать приличные тени и ореолы и разгадал тайну кернинга, дальше дело пошло. По-прежнему недостаёт мегаинтерактивности Xara, но возможность работать над многометровыми постерами в масштабе 1:1 и беспроблемный экспорт векторов (чего моя Xara LX не делает хронически) это пока что компенсируют.




(самурай — удивительный продукт трассировки оригинала очень даже сомнительного качества).

В Inkscape просто многое не очевидно и кое-что достигается ректально — но ведь познаваемо! И достигаемо!

Кстати, в ходе трудов над этим постером набрёл на интересную инструкцию: как правильно рисовать корейский флаг:

понедельник, июля 09, 2007

Наш вариант "Hello, world!"



Был свободный вечер, чтобы позаниматься «Американкой». Собственная мудрёная защита довела до гипертонического экстаза, пока я не сообразил, что всего-навсего ввожу пароль русскими буковками, а защита... с ней всё нормально.

А вот кому квартирку на Пхукете



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

Блендерные битвы



Будучи озабочен оформлением праздничной сцены (представляющей собой 4-метровый пароход, наклеенный на оргалитовую основу), стал рыться в старых 3D-моделях. Нашёл подходящую, открыл в Blender. И понял, что так жить нельзя: реакция на любое нажатие мышкой задерживалась секунд этак на 20.

С сайта blender.org почерпнул простой скрипт на python, который нужно набрать в Блендере в текстовом редакторе и выполнить, при этом Блендер надо запустить из терминала, чтобы легко читать вывод:

from Blender.BGL import *
print "GL Vendor ", glGetString(GL_VENDOR)
print "GL Renderer ", glGetString(GL_RENDERER)
print "GL Version ", glGetString(GL_VERSION)

Если в ответ появится "Mesa GLX Indirect" и т. д. (как появилось у меня), то это значит, что бедный Блендер работает (вернее, старается, как может) без 3D-ускорения, что, конечно, глюк.

Следующей остановкой был сайт ATI, на котором я как-то уже брал драйвер Radeon для Xfree.org, но так до конца с ним не разобрался (3D было не актуально), да и было эти две смены ядра и один apt-get update-dist назад. Драйвер идёт по типу «в одном флаконе», а флакон весит 51 мегабайт. В документации нарисован графический инсталлятор, который у меня почему-то работал через Curses в консоли, да и бог с ним. Выполнив своё тёмное шаманство, он дописал кое-что в xorg.conf (и это кое-что нуждалось в правке!), после чего Блендер сказал:

GL Vendor ATI Technologies Inc.
GL Renderer ATI RADEON X800 XL
GL Version 2.0.6474 (8.38.6)

и стал работать вполне адекватно. Правда, парохода в 8000 пикселов шириной я не получил, т. к. после трёх часов обсчёта в два потока как-то не к месту закончилась память (наверное, зря при этом открыл Gimp, Inkscape, Мозиллу, OpenOffice...), и Блендер тупо рухнул. Поставлю сегодня обсчитываться на ночь.

воскресенье, июля 08, 2007

Xtreme: ещё экстремальнее


(чтобы посмотреть анимированный, надо нажать)

Пока я ломал голову, как бы мне анимировать логотип компании по установке пожарных спринклеров, вышла Xara Xtreme 3.2, и проблема отпала сама собой. Теперь в программу встроен очень простой и очевидный редактор Flash- и GIF-анимации. С Flash я ещё не разбирался (отчасти и из-за изжоги от Flash вообще), но понял, что это вовсе не замена монстру от Macromedia (или кто сейчас там у руля), то есть Масяню в Xara нарисовать не выйдет (и слава богу, хватит с нас уже одной). Что же касается GIF, то это просто мечта: сдублировал кадр, пошевелил объекты, сдублировал ещё... Работа, на которую я отводил полдня, заняла чуть больше часа — это включая чтение хелпа. Единственное, чего очень сильно не хватает — функции onion skin, обязательной, вообще говоря, вещи в 2D-анимации. Отчасти её заменяет режим Overlay, когда предыдущий кадр виден под текущим, но лишь отчасти: что закрыто объектами текущего кадра, то уж закрыто. В общем, дайте нам onion skin на три кадра, и мы будем счастливы!

Хотя и так очень не плохо.

четверг, июля 05, 2007

«ИНЕС»: сайт наполняется



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

Покраска ворот, недорого.

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

понедельник, июня 25, 2007

Компания «ИНЕС»: первый черновик сайта

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



Сайт, как можно видеть, уже работоспособен по адресу www.ines-dv.ru, хотя смотреть там пока нечего.

Снова воспользовался Google Maps и обогатил всемирный разум отметками о расположении салонов-магазинов «ИНЕС» в Находке и Артёме (один). Снимок Владивостока в Google непригоден для применения; но есть ещё сервис maps.primorye.ru, слава богу (хотя и ущербный: работает только в IE, и заставить его найти улицу 50 лет ВЛКСМ в Партизанске я не сумел).

пятница, июня 22, 2007

Microsoft гармонизирует

Осенью цены на русскоязычные продукты нашего ласкового тирана повысятся (для разных продуктов) на 7-30%. Официально — проводится «гармонизация» с европейскими ценами, занятно только, насколько эта гармонизация совпала с закручиванием правовых гаек.

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

О. Генри.


Забавно на этом фоне изменение тона предложений от IT-компаний. Если раньше они присылали свои послания в дружеском, слегка заискивающем тоне, то позавчера пришло письмо, начинавшееся с «Уведомляем Вас, что в настоящее время ужесточается контроль...» и содержащее в постановительной части «Предлагаем Вам связаться... для уточнения условий предоставления лицензий».

Делаем свои выводы:

1. Перевод офиса на Open Source необходимо форсировать, а то ведь скоро и стучать начнут такие IT-партнёры.

2. Кое-что нужно покупать, но, конечно, не у хамов.

четверг, июня 21, 2007

Кислотные пески: Gimp — триумфатор.

Как писал в предыдущем посте, возникла идея использовать старые съёмки для оформления интерьера. Сегодня через час нужно показать товар анфас. Убил два часа вчера и час сегодня, пытаясь получить нечто в Фотошопе с помощью (отличных) фильтров Xero, которые не раз выручали, но — всё чушь.

Демо-варианты, отправленные вчера, делал наскоро в Gimp. Подумал, чем чёрт не шутит... и нате вам: за час сделал в Гимпе три фото различной степени агрессивности и распечатал на фотобумагу А4 и один — на А3 в багет, чтобы получился уж совсем пафосный анфас. Причём размера фоток (А3 @ 300 dpi) Гимп как будто не замечал, вообще не свапил, над фильтрами не задумывался — песня! (gimp-print — отдельная песня).

Вот только CMYK в нём нет... Но если придётся делить — есть Scribus.



среда, июня 20, 2007

Бухта «Спокойная»

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

В общем, неплохо для четырёх страничек и первых пяти недель.

Camus VSOP: wow, я — глянцевый фотограф! Где мои деньги?

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



Если в нём чуть-чуть убрать лишние отражения, выйдет просто замечательное изображение — хоть в журнал, хоть на стенку!

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



Вчера совершенно неожиданно встал вопрос о продаже всей серии (после обработки и стилизации) для оформления интерьера. Вот поди ж ты...

вторник, июня 19, 2007

HDR — 3: нашёл способ, не получил результата.

Продолжая играться с HDR, вспомнил, что UFRaw — это только во-вторых плагин к Gimp, а во-первых — самостоятельное приложение. Поставил — и очень быстро получил свой RAW-интерьер в виде 16-битного TIFF, что, насколько я понимаю, должно быть настолько же пригодно для использования в Qtpfsgui, насколько и «родной» RAW.

Увы, после перебора всех возможных вариантов tonemapping'а я так и не получил изображения, которое было бы богаче плутонами, чем минимально потроганный в Гимпе RAW:



Лучшее, чего я достиг, было тем же снимком, но в более яркой гамме и перенасыщенным:



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

P. S. Занятно: Джузеппе Рота, автор Qtpfsgui, с которым я по совету умных людей посостоял в переписке по поводу проблем с файлами ORF, написал следующее:

With the latest version of qtpfsgui (1.8.9) there should not be any more need to rename the raw file.
Also, if you have only one raw file, you can (should) open it via the File->Open menu item.
(At any rate, If you have only one raw file, the exif value doesn't play any significant role, in creating the hdr.)

The bad (greenish) result you see is due do the lack of raw functionality (white balance and things like that) of Qtpfsgui (compared to Ufraw, for example). You can see all the supported raw features of Qtpfsgui in the Options panel but, as you said, Ufraw is better at converting raw files.

Here is the text in the "hints and tips" section of the Qtpfsgui documentation (Help -> Documentation):

You can load directly a raw file in qtpfsgui via the "File->Load Hdr..." menu item. Doing so you will be able to tonemap directly this single raw file. This means that there is no need to create different exposures in Ufraw from your raw file.

If you don't like what qtpfsgui does with your raw file, or if you want to process you raw file before loading it in qtpfsgui (white balance, color profile, and so on), you can use Ufraw to tweak the color settings of your raw file, and then save the result as a 16-bits tiff tile.

Just remember to save the result as a 16-bits file, or you'll lose some dynamic range in the process.

То есть я методом тыка и тяжких умственных усилий пришёл к тому, что написано в хэлпе. Недаром говорят, что если что-то никак не получается, прочтите, наконец, мануал! :-)

понедельник, июня 18, 2007

День на хуторе: просто несколько деревенских фото



Фотозарисовки с поездки из лета морского в лето сельское. Небольшой альбом без мангалов, застолий и прочих перекуров — без банального, проще говоря. Для пробы обработал всё это в Gimp, никаких фотошопов. Заодно обнаружил, что собрать псевдо-HDR из триплета в Gimp, увы, нельзя: он просто-напросто не показывает полупрозрачность слоя при его вращении/трансформации, такая мелочь... но точно совместить снятые с руки серии кадров из-за этого невозможно. Несколько снимков, делавшихся с HDR в уме, придётся собрать отдельно — в Фотошопе, конечно.

Впервые целенаправленно снимал отдельные кадры в RAW — и не пожалел.

пятница, июня 15, 2007

HDR — 2: Овца суеты стоит

В комментарии к предыдущей заметке о HDR мне подсказали, что Olympus E-10 умеет-таки снимать в RAW. Мне пришлось хорошенько прошерстить Яndex, чтобы убедиться что это так. Эта опция включается там, где ни один здравый ум не станет её искать: в меню подключения к компьютеру. После этого на индикаторе начинает моргать «TIFF», а на карточку пишутся файлы .orf размером около 7 мегабайт, представляющие собой 10-битный RAW.

Встаёт вопрос, что с ними делать дальше, особенно под Линуксом.

Для чтения RAW есть совершенно роскошный плагин для Gimp — UFRaw, живущий поверх DCRaw. Читает ORF спокойно и даёт очень осмысленные результаты даже в таких трудных условиях, как съёмка в родном офисе, где жёлтые стены поганят всё и вся:



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

Однако RAW интересовал меня как исходный формат для HDR.

Qtpfsgui не читает ORF, увы. Тупое переименование ORF в CRW частично решило проблему: программа не смогла лишь найти в файле требуемые данные EXIF и попросила указать их вручную, причём в EV. За неимением другого выхода я выбрал 0 как среднее значение. Снимок вылез ужасно зелёным, но по динамическому диапазону был явно лучше приведённого выше. Вариантов topemapping'а в программе множество, на одном из них я остановился. По богатству полутонов картинка вышла очень хорошая, но по цвету — безнадёжно зелёная. Частично это удалось компенсировать цветовым балансом и кривыми в Gimp, но сразу признаю, что в плане цвета результат ни к чёрту:



Однако нельзя не признать, что тёмные места оригинального кадра превратились в богатые впечатлениями области, и это здорово.

В общем, 1) Olympus делает RAW; 2) ими можно пользоваться для создания HDR; 3) это дело непростое, и с наскоку тут можно только опозориться. Как и в любом сложном деле, впрочем.

Спасибо Alexander'у за расширение моих познаний о Е-10.

четверг, июня 07, 2007

Сложные графики в PHP: JpGraph

Отдел маркетоложества несколько дней донимал меня добавлением графиков к неким финансовым данным. Решив наконец избавиться от них путём удовлетворения, я обнаружил, что Graph Drawing Class, уже не раз использованный тут и там, недостаточно хорош. Достаточно хорош оказался JpGraph. Чтобы понять разницу в весовых категориях, достаточно сказать, что первый идёт в одном-единственном файле класса, а второй — в дистрибутиве на 4,4М, и инструментов там — на все случаи жизни, ну разве что не лягушек резать.

Поддерживаются все самые жуткие типы графиков — радарные, полярные, малярные, о линиях-столбиках и упоминать неудобно. Рисеут графики на градиентах, фонах и с картинками в опорных точках. Знает о существовании кириллических кодировок и прозрачности. Рисует даже помесячные графики проектов с дедлайнами и майлстоунами. В принципе, рисует что угодно, так как создание графиков — лишь частный случай использования объекта Canvas.

Идёт с подробным мануалом, справочником API и набором примеров. Где-то с час ушло на разбор, и вот уже маркетоложец получил свой график мечты, именно такой, как надо, и даже немножко лучше:



Мощная штука, хотя для быстрых несложных графичков это, конечно, overkill. На такие случаи лучше старый добрый Graph Drawing Class.

вторник, июня 05, 2007

HDR: стоит ли овца суеты

Снимая на выходных деревенские пасторали, держал в голове мысль попробовать наконец HDR, модную нынче (даже слишком, до оскомины) штуку. Для этого снял несколько сцен триплетами с эксповилкой плюс-минус одна треть. По замыслу, совмещение этих снимков специальным волшебным софтом дало бы мне недоступный для обычной съёмки динамический диапазон. Ещё один метод — обработка волшебным софтом RAW-файла с камеры, но увы, Olympus E-10 не записывает RAW, у него на этом месте растёт несжатый TIFF, что уже бессмысленно в плане волшебства.

Коротко скажу, что мои триплеты и не получились, и получились.

Не получилось превратить их в HDR нажатием кнопки. Qtpfsgui под Линуксом создала мне чисто белый результат, а сохранила чисто чёрный. Photomatix сделала нечто ядовито-кислотное. Фотошоповский Merge to HDR, наоборот, выдал картинку радостных тонов свежего цемента. Ни та, ни другой не смогли компенсировать сдвиг кадра между снимками — вместо небольшого перемещения кадров при наложении они пытались их смешать.

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

Для чистоты эксперимента я воспроизвёл этот процесс расширения диапазона (в своём понимании) вручную, пользуясь лишь наложением слоёв, кривыми цветопередачи и нечёткими масками.

Исходный триплет:



Результат:



Это, натурально, модный HDR, только без волшебства и по техникам эксповилок/маскирования, досконально разобранным ещё в журнале «Советское фото» в 80-е. Полное изображение весит больше 4М, его можно стянуть из соответствующего моего фотоальбома.

Вторая сцена тоже есть в фотоальбоме, но здесь я привожу его в комплекте с тем, что мне удалось получить HDR-модулем Фотошопа:



Угадайте с трёх попыток, где чьё :-) На самом деле, вариант Фотошопа мне местами нравится больше моего ручного (богаче тени на крыше дома, насыщеннее трава в бликах), но это мои мелкие (и поправимые) просчёты в наложении снимков. Но в этой сцене есть три вещи, которые Фотошоп не может понять: а) что зелень — это зелень, и насколько зелена она должна быть в этой освещённости и при этом настроении; б) что самое важное — это дом, его оттенки, трещинки в брусе; в) что между первым и вторым кадром объектив съехал влево, а на третьем — слегка вверх и немножко повернулся по часовой, и нужно эти кадры СОВМЕСТИТЬ, а не смешать (отчего автоматический вариант и проигрывает в резкости) :-) Но тут, по крайней мере, есть какое-то поле работы для программистов.

Резюмируя: а) HDR как техника хоть идеологически и не ново, но иногда хорошо и уместно; б) HDR — не панацея от плохой съёмки; и в) как обычно, лучше всего это делать осмысленно и своими руками, а волшебную связку цифровой мыльницы и краденого Фотоматикса отдадим на растерзание любителям в плохом смысле этого слова.

вторник, мая 29, 2007

Пожарные спринклеры

Первый набросок по сайту канадской компании, занимающейся дизайном спринклерных систем. Не всё понятно по тексту (фраза про shop drawing design вызывает особенные вопросы), но это просто «рыба» для сверки основного решения дизайна с заказчиком.



Всё пока нарисовано в Xara Xtreme. Логотип с загадочным устройством (может, таков ты и есть, спринклер?) предстоит анимировать.

Второй вариант, перекрашенный в фирменную серую гамму. Голубой, конечно, веселее, но серое с красным — более изысканное сочетание, в конце концов.

У ваших работ всегда есть хозяин, просто вы с ним ещё не знакомы

Приятель только что из суда, говорит: «Давай напьёмся». Сегодняшним решением суда карта Находки, которую он сделал, принадлежит Роскартографии.

В начале девяностых Административный комитет СЭЗ «Находка» купил за границей подробный спутниковый снимок города и выдал ему для изготовления карты. В 1994-м годы карта вышла в свет и несколько раз переиздавалась. В 2007 году на горизонте возникает Роскартография с экспертизой, по результатам которой он просто срисовал их карту. Экспертизу делала... сама Роскартография, ибо больше никто не имеет права. Делала по своей карте 1998 года издания, и даже это никого не смутило — хотя в нашем времени, текущем из прошлого в будущее, 1994 год случился раньше 1998-го, и по результатам экспертизы это Роскартография срисовала его карту.

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

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

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

Ещё хороший аргумент: «Один человек не может сделать то, над чем у нас работают сорок». Зная наверняка, что этот-то человек её и сделал, могу предположить, что из тех сорока 39 получают зарплату задаром. Надо же эту ораву содержать, а на что? Вот на такие доходы, видимо.

Он сам, конечно, отчасти виноват, что, сумев добиться второго слушания (на первом у Роскартографии как-то дело не пошло), не подготовился к нему серьёзно. Не нашёл умного человека, способного аргументированно разнести их залипушные экспертизы. Не получил бумажек на свои источники. Решил, видимо, что если он по сути прав, то бояться ему нечего :-) В суде прав не тот, кто прав, а у кого есть бумажка, что он прав, даже если он её сам написал, такие дела.

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

Вы, если что, осторожнее с картами. Роскартография большая и хочет кушать :-)

P.S. Как вы думаете, если я положу этот снимок хотя бы в Xara и всего лишь аккуратно обрисую: а) каков будет коэффициент совпадения по экспертизе Роскартографии? б) кому будет принадлежать право на ваш рисунок — вам? Гуглу? Ещё варианты?.. в) сколько вам будет стоить такое творчество, опять-таки по расценкам Роскартографии? Особенно если вы не предоставите им его на предмет изъятия сведений, содержащих государственную тайну?

P.P.S. О государственной тайне. Вот вам навскидку объект ПВО с зенитно-ракетными комплексами, один из которых в боевом положении — он на страже синего неба над нашим городом. Это район бухты Тунгус. Но — тсс-с! Это всё страшная тайна!

понедельник, мая 28, 2007

Канцелярский юмор: объяснительная

Сегодня начал день с письменных объяснений своей трудовой нерадивости.

Офис-менеджеру ******* офиса
*************** ********** *. *.
********* *. *.

объяснительная записка.

24.05 я получил задание изготовить поздравление нашему сотруднику ****** *. *. по случаю дня именин. С выполнением этого задания у меня возникли объективные трудности, а именно:

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

2. В дни, когда всё прогрессивное человечество Восточного (а частично и Западного, но они больше кривляются) полушария лихорадочно готовится к встрече светлого праздника Буддха-Джайанти, дня рождения Будды нашего Гаутамы, попытка придать какой-то масштаб факту рождения пусть и хорошего в целом, но всё-таки обычного человека показалась мне абсурдной в своей тщете.

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

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

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

29.05.07
подпись

Ознакомился и полностью согласен, именинник ______________________

воскресенье, мая 27, 2007

Проект «Палеодеревня» — набор открыток

Комплект из (пока что) девяти открыток, показывающий все эпохи «Палеодеревни», от палеолита до средневековья. Предполагался десяток открыток, но так как они формата 1/3 А4, для безотходной печати нужно делать либо 9, либо 12. На обороте будут тексты, комментирующие фото.

Набросок обложки публиковался ранее.










пятница, мая 25, 2007

Вести с фронта: Вход... в никуда

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

На фасаде чата написано «седьмой год» — после напряжённого мозгового icq-штурма мы с Мао решили, что старая «Американка» была открыта «лет шесть назад, не меньше» — большей точности достичь не удалось.

Планировал всю графику делать в SVG, но обнаружил, что мой собственный Firefox не понимает SVG без плагина (пользуюсь дома полторашкой, версия 2 уже всё умеет). Жаль, но SVG ещё недостаточно повсеместный формат для графики. А XXI век на дворе...

среда, мая 23, 2007

Вести в фронта: Американка NG

Чтобы не дать самому себе заложить проект под сукно, веду ежедневный дневник работы над сабжем.

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

Американка NG будет выдерживать разумный компромисс между удобством, простотой и безопасностью.

1. Удобство — неиспользование HTTPS (оглядываясь на мобильные платформы и прочие облегченные клиенты; и помня, что услуга HTTPS не всегда под рукой).

2. Простота — реализация минимальным объёмом кода с сохранением максимума наработок старой «Американки» (хорошо себя показавших).

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

Система безопасности Американки NG делится на два этапа: безопасный вход в чат (этого не было вообще) и безопасная работа с ним (это было, но больше не отвечает реалиям).

Взамен простой, как ситцевое исподнее, отправки логина-пароля открытым текстом, вход в чат выглядит (не сегодняшний день) так:

Человек открывает страницу входа. С ней передаётся хэшированный MD5 ключ для логина. По нажатию кнопочки входа браузер посредством Javascript: а) прибавляет ключ к паролю; б) снова хэширует полученный текст по MD5; в) обнуляет текстовый пароль; 4) передаёт логин и хэш на сервер. Зная начальный ключ и ожидаемый пароль, сервер заново создаёт ожидаемый хэш пароля и сравнивает его с полученным. Текстовый пароль, таким образом, не передаётся, а перехваченный «человеком посередине» хэш нельзя будет использовать для повторного логина: начальный ключ логина не будет совпадать.

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

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

Из других контуров будущего чата просматриваются:

1) Юникод. Это будет первый мой веб-проект (стыд, стыд) сделанный изначально и целиком в UTF-8. Долой разброд и шатание в русском языке.

2) Не по-вебчатовски насыщенный чат. Благодаря тому, что в Американке NG не будут вновь и вновь передаваться страницы реплик (а только новые из них), сэкономленный трафик можно пустить на аватары в списке пользователей, а пожалуй — и в самом тексте чата.

3) Сохраняется милая сердцам ветеранов цветовая гамма старой «Американки», но, скорее всего, будут предусмотрены переключаемые в реальном времени скины.

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

вторник, мая 22, 2007

Американка-чат Reloaded

Йессс!

Идея реанимировать «Американку» периодически озаряла умы моих приятелей... озаряла-озаряла, да и озарила наконец. Servac, экс-модератор старой «Американки», решил пожертвовать для этого дела хостинг и трафик (благо всё копеечное).

Я раскопал архивные скрипты и с уважением ощупал их, как старое, но грозное оружие.

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

Походив с этими мыслями с неделю (а быстрее и кошки не родятся), я пришёл к выводу, что «Американку» надо переписать с использованием AJAX и DHTML посредством вездесущей баблиотеки Prototype. Потребляемый ею трафик сократится на порядок благодаря тому, что обновления будут передаваться штучно, как в IRC. Удобство возрастёт на столько же. Взять лучшее от IRC, веб-форумов и старой «Американки».

Осталось, как обычно, только сесть да сделать. Вот он, момент зачатия «Американки NG»:

четверг, мая 10, 2007

ДДД: «Палеодеревня» — набросок обложки для открыток

А4, складываемый втрое, белое отрезается. Выкладываю повёрнутый так и эдак, чтобы было удобнее смотреть. MSG 2 orakul: фота хороша, но я только сейчас обратил внимание на её размеры — надо оригинал, если он имеется. 800 пикселов на такой формат не тянет никак.

ДДД: «Палеодеревня» — рисунок на компакт-диск

Было попрошено сообразить на диск домик или шалашик... Но я подумал, что домиков-шалашиков и внутри будет достаточно, на фотках. А сам диск удивительно похож на древнюю китайскую монету, которых ещё боооольшое количество лежит в окрестном грунте. Поэтому использовать монету соответствующего возраста для рисунка на CD мне показалось логичным. Как вариант:

понедельник, мая 07, 2007

ДДД: База отдыха «Бухта Спокойная» — сайт

Простой и быстрый сайт-«визитка» для базы летнего отдыха. На эту работу я отвёл два дня, реальное время составило около 7 часов, из которых больше половины ушла на проработку внешнего оформления. Программирования был бы ноль, но я решил сделать динамический фотоальбом из директории со снимками, так что на одной странице PHP всё-таки использован (а моя библиотека самописных скриптов пополнилась zero-effort-pluggable фотоальбомом, что хорошо сочетается с давно написанным обработчиком загрузок JPEG).

Для этого сайта я впервые использовал Google Maps, всё оказалось просто и красиво.

Сайт опубликован по адресу www.tazgou.ru



Заодно выяснил для себя наиболее симпатичный хостинг на сегодня — это www.hostfabrica.ru.

среда, мая 02, 2007

ДДД: План «Палеодеревни»

Для готовящейся подборки открыток «Палеодеревни» рисуется план на обложку. Примерно такой. Да простит меня управление картографии, с которым я этот план не согласовал и нарисовал его без лицензии (это маразм, но не шутка: коллега под судом).



Кстати, и сам манер работы в Кореле с сегодняшнего дня у меня немножко поменялся, суть вот в чём:



Надоело перезагружаться по пять раз на дню :-)

Поиск по этому блогу