Архив за октябрь 2008

НоябрьСентябрь

Адмиралъ (2008)

31 октября 2008 // Хельги

Хабенский — актёр одной роли. Точнее, он везде играет одинаково: со скорбной миной на лице, упрямо, как осёл, идёт вперёд. Так же, как к Завулону Городецкий, идёт к орудию своего корабля его Колчак — с целеустремлённым страданием в глазах.

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

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

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

5/10.

Тэги: кино
Написать комментарий

Никогда не разговаривай с незнакомыми планетами

31 октября 2008 // Хельги

Лингвистической фантастики, кроме рассказа Шекли «Потолкуем малость», я никакой даже вспомнить не могу. В этом отношении рассказ Ины Голдин меня очень порадовал. Хотя, конечно, фантастическое допущение в нём как раз не лингвистическое, и рассказ скорее о боге, чем о языке. Но всё равно приятно.

Тэги: свежие отзывы
Написать комментарий

Хранение изображений в БД

31 октября 2008 // Хельги

Пять лет прошло, и, однако, ничего не изменилось.

Люди делятся на две категории: нормальные и Верующие в Чудесную Мощь Баз Данных. Первые используют базы данных, когда это удобно, вторые — всегда.

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

«Тёплый край» не использует баз данных в первую очередь потому, что когда я начинал его писать, он жил у меня на ноутбуке. Я рассудил, что поднимать тяжеловесные сервисы мне совершенно не надо, и поставил не «Денвер» и не IIS, а маленький лёгкий сервер под названием xitami. И отладочная версия «Индианы», между прочим, до сих пор у меня на ноутбуке именно под xitami и работает.

Между прочим, по этой же причине у меня в «Индиане» нет поддержки mod_rewrite. Зато и требований никаких нет: IIS, xitami, «Апач» — всё сгодится, была бы поддержка CGI.

Так вот, когда Рус говорит: «Когда я начинал писать этот движок, один хороший человек [то есть я — Х.] советовал мне вообще отказаться от MySQL в пользу самописного интерфейса к текстовым файлам», — он, конечно, лукавит. База так база, тем более что вопрос совместимости его мало когда волновал. Но хранить изображения в базе — это уже даже не благородное безумство, а некий способ-делать-всё-через-выхлопную-трубу.

…[Я] недолго заморачивался на способе хранения изображений на сервере, а просто сделал то, что хотел сделать давно: изображения хранятся в базе, а не на ФС.

Весёлые картинки

Если вы поленились сходить по самой первой ссылке, прочитайте прямо так:

When using a normal web server setup, images should be stored as files. That is, store only a file reference in the database. The main reason for this is that a normal web server is much better at caching files than database contents. So it it's much easier to get a fast system if you are using files.

Официальная документация MySQL, «5.2.12 Other Optimisation Tips»

Или, если угодно, из другого источника, по-русски:

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

Оптимальное использование MySQL

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

И первые грабли, на которые наступил Рус, это подтверждают. Если хранить изображения на диске, last-modified сервер отдаст сам.

Кстати, в проекте, над которым я работаю, есть необходимость хранения больших объёмов двоичных данных. И они — невероятно! — хранятся не в базе, а на диске. В виде файлов.

Тэги: indiana, webdev, мета
Комментарии (2)

Хэппи-энд в фильме «Тринадцатый этаж»

29 октября 2008 // Хельги

Есть такой неплохой (на безрыбье) фантастический фильм — «Тринадцатый этаж». Фабула его больше всего похожа на рассказ Лема «Странные ящики профессора Коркорана»: главные герои, создавшие симулятор жизни, выясняют, что их мир сам по себе является симуляцией. Фильм красивый, да и, как я говорил, сейчас так мало кинофантастики, что понравится любая фантастическая лента.

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

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

Редакция от 31 октября 2008
Тэги: кино
Написать комментарий

Места для инвалидов, лиц пожилого возраста и собак

27 октября 2008 // Хельги

/users/helgi/metrodog.jpg
Москва, м. «Преображенская площадь»

Редакция от 6 апреля 2009
Тэги: fun, potd, snapshots, фауна
Написать комментарий

Открытие файла из общей папки по ссылке с веб-страницы

27 октября 2008 // Хельги

Google Desktop Search отображает результаты поиска по дискам компьютера при помощи специального сервера, который обслуживает запросы с интерфейса lo. При этом результаты поиска отображаются в виде веб-страницы, на которой есть ссылки на открытие как найденных файлов, так и папок, в которых они лежат. Ясно, что простой ссылкой вида

<a href="d:\documents\plan.doc">plan.doc</a>

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

Я приспособил эту идею вот для чего. У меня дома есть сервер, на котором, во-первых, лежат разные файлы, а, во-вторых, крутится интранет-сайт. Файлы просто находятся в общей папке (\\serv\share), которая подмонтирована к каждому из компьютеров сети как сетевой диск (S:). Таким образом, к файлу plan.doc, лежащему в папке share\docs, можно обратиться с любого компьютера по адресу S:\docs\plan.doc.

Теперь собственно задача. Я хочу иметь возможность поставить с интранет-сайта (доступ к которому есть только изнутри сети) ссылку на этот документ.

Я написал небольшой сценарий на питоне. Этот сценарий запускает сервер (применён BaseHTTPServer) на порту 8080, каковой сервер отвечает на пришедшие запросы, открывая при помощи функции startfile() папку, имя которой было передано в строке запроса:

def browse(path):
    folder = normpath(unquote(path).decode('utf-8'))
    startfile(folder)

Этот сценарий был добавлен в автозагрузку на всех компьютерах сети. Теперь для создания ссылки на share\docs\plan.doc можно использовать такой код:

<a href="http://localhost:8080/s:/docs/plan.doc">plan.doc</a>

Некоторые детали, такие как проверку реферера для защиты от посторонних ссылок, я опустил для краткости.

Редакция от 18 мая 2010
Тэги: python, webdev
Написать комментарий

Оставлен нежелательным потыркам

23 октября 2008 // Хельги

В метро висит реклама: «Устал от нежелательных звонков?»

Удивительно нелепое смешение сдержанно-официального и неформального стилей.

* * *

В «Мире фантастики» рекламируют игру «Left 4 Dead». Ну да, я понимаю, гики-геймеры практически билингвальны и всё такое; но такой лакомый кусочек, как каламбур в названии, можно было бы и перевести! «Оставлен мёртвым» хотя бы.

* * *

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

Вторая фраза — «скошные потырки». На мой слух звучит как какой-нибудь экзотический диалектизм. Что это такое на самом деле — не скажу.

Тэги: fun, жизнь, работа
Написать комментарий

Фиксированная ширина, по центру

21 октября 2008 // Хельги

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

#content { position: absolute; left: 50%; margin-left: -350px; width: 700px }

А вот зачем Рус внутри всё верстает таблицей — ума не приложу.

Редакция от 22 октября 2008
Тэги: webdev
Комментарии (3)

Пиксель

20 октября 2008 // Хельги

dormouse/piglet-front
dormouse/piglet-2

Дата рождения — 14 октября 2008 г. При рождении весил 100 граммов, сейчас — 150. Обещает стать текселем.

Редакция от 21 октября 2008
Тэги: snapshots, свинство
Написать комментарий

Ещё не закончен перевод «Системы мира»

20 октября 2008 // Хельги

Ещё не закончен перевод «Системы мира», а я, начитавшись журнала Е. М. Доброхотовой-Майковой, уже твёрдо решил после выхода третьей части «Барочного цикла» спокойно перечитать весь цикл о Енохе Рооте, начиная с «Криптономикона».

Тэги: Стивенсон, книги
Написать комментарий

Дата вашей смерти

20 октября 2008 // Хельги

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

Тэги: жизнь
Написать комментарий

Собачья жизнь, по Конраду Лоренцу

17 октября 2008 // Хельги

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

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

Тэги: жизнь
Написать комментарий

Эко и Стивенсон

13 октября 2008 // Хельги

Мне пришло в голову, что Нил Стивенсон очень похож на Умберто Эко. Эко наслаждается литературной игрой в своих книгах и вообще всячески обыгрывает самые разные гуманитарные источники. Стивенсон в «Барочном цикле» так же обходится с историей становления современной науки.

Редакция от 13 октября 2010
Тэги: Стивенсон, книги
Написать комментарий

Молодой виноват в очках

13 октября 2008 // Хельги

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

— Вы крайняя?

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

Е. М. Доброхотова-Майкова (kdm17@lj)

Редакция от 16 октября 2008
Тэги: fun, цитаты
Написать комментарий

ВАЗ-2103 «Жигули», IST (Китай)

13 октября 2008 // Хельги

helgi/43rd/160

Модель №160 выглядит прекрасно, в особенности если сравнивать ей с ВАЗ-2106 от «Карарамы». Несмотря на такие огрехи, как искажённая линия молдинга и отсутствие подштамповки под «запаску», «ИСТ» сделал свою «тройку» намного более правдоподобной внешне.

Теперь у меня есть полная коллекция базовых моделей ВАЗа первого и второго поколений: с 2101 до -07.

helgi/43rd/160-1 helgi/43rd/160-2 helgi/43rd/160-3

Модель приобретена 20 сентября в магазине «Зенит».

Редакция от 12 октября 2009
Тэги: 1/43, places, фото
Написать комментарий

Весёлая корова

12 октября 2008 // Хельги

/users/helgi/vache_qui_rit.jpg

Интересно, не приходится ли животина с упаковки тостерного сыра «La vache qui rit» родственницей бешеной коровке?

Тэги: fun
Написать комментарий

Трекбол и трекпойнт

12 октября 2008 // Хельги

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

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

Тэги: hardware, ненависть
Написать комментарий

Музыка на мобильниках — 2

12 октября 2008 // Хельги

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

Живи я лет сорок назад, я бы, наверное, ненавидел транзисторы.

Тэги: self
Написать комментарий

А что, если первый не сработает?

11 октября 2008 // Хельги

Внимание программистов, мегафункция:

function Return()
        {
            return;
        }

http://community.livejournal.com/programmers_fun/53170.html

В нашем продакшн-коде, помню, как-то раз мне встретилось следующее:

public void DoSomething()
{
    // много кода

    return;
    return;
}

Тоже дао.

Тэги: wtf, программирование, работа
Написать комментарий

Зайцы не пройдут!

10 октября 2008 // Хельги

/users/helgi/stowaway.jpg
Москва, м. «Улица Подбельского»

Редакция от 6 апреля 2009
Тэги: fun, potd, snapshots, фауна
Комментарии (1)

Сетевой дневник, регулярно пополняемый записями

8 октября 2008 // Хельги

Мне однозначно нравится тенденция избегать слова «блог». Личный дневник Руса, составляющий всё наполнение его сайта ruz.kz, соответствовал бы этой тенденции, если бы не предательский заголовок страницы («Блог v 1.0 alpha»).

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

В обсуждении на «Ы-Вижне», которое затеял Рус, отдельные несознательные граждане критикуют дизайн его сайта. Вероятно, под дизайном они понимают красивую шапку и прочие графические излишества. Я же скажу, что с визуальной точки зрения сайт смотрится хорошо, и только неровные поля требуют некоторой обработки напильником.

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

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

Ну и, разумеется, автору надо помнить, что журнал — это не движок, а содержание. Интересное содержание.

Подписаться на RSS можно здесь.

Тэги: мета, ссылки
Комментарии (1)

Bookmarklet = ?

8 октября 2008 // Хельги

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

Узус («Google»):

  • букмарклет (7370);
  • закладурка (588);
  • закладограмма (2).

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

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

Тэги: software, английский, русский, трудности перевода
Написать комментарий

Ещё одна причина вести журнал

7 октября 2008 // Хельги

Райан Гинстром, переводчик c японского на английский, пишет о профессиональном самосовершенствовании в заметке «Becoming a better translator»:

Я много читаю на своём целевом языке. Я обращаю внимание на хороший слог и стараюсь разбираться, чем он хорош.

Кроме того, я пишу. Именно поэтому я завёл этот блог — я хотел заставить себя писать по-английски естественно, не чувствуя поводка японского оригинала.

Тэги: мета, ссылки, трудности перевода
Написать комментарий

Алгорифмы и Тюринг

7 октября 2008 // Хельги

— Почему написано «алгорифм» вместо «алгоритм»? VoofT 15:58, 15 января 2008 (UTC)
— Устоявшееся словосочетание для этого термина. Тем более такое произношение было некогда употребительно. infovarius 19:56, 16 марта 2008 (UTC)

Обсуждение:Нормальный алгорифм // Википедия

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

Марков-то, конечно, мог говорить «алгорифм». Но вот нам сейчас ломать узус (8 млн результатов в «Гугле» по запросу «алгоритм», и только 3 тыс — по «алгорифму») нет смысла. Тем более что за т/ф никакой греческой теты не стоит.

Впрочем, о складе ума людей, повторяющих вслед за Марковым написание «алгорифм», можно судить по следующей цитате:

Почему надо знать, что такое машина Тюринга, что такое нормальный алгорифм Маркова. Алгорифм — так писал автор — Андрей Андреевич Марков, который считал, что правила чтения иностранных слов должны быть единообразны. Если мы пишем арифметика, а не аритметика, то правильное написание — алгорифм. […] Должен признать, что чаще всего в русской литературе применяется другое написание фамилии Turing — Тьюринг. Но оно как-то режет глаз. Никто ведь не пишет о династии Тьюдоров, но пишут о династии Тюдоров.

http://www.ieee.ru/turing.shtml

А русскоязычной Википедией рулят не самые подходящие на эту роль люди, это известный факт.

Редакция от 12 августа 2009
Тэги: wikipedia, ненависть, русский
Написать комментарий

«Корбина» и «Тёплый край»

2 октября 2008 // Хельги

Я начинаю по-настоящему злиться на «Корбину». У меня и раньше не доходили пакеты до yvision.kz, но на этой неделе дома перестал открываться мой собственный «Тёплый край»! DNS тут ни при чём, доменное имя ресолвится.

В итоге пришлось найти прокси.

Будем писать в техподдержку.

Тэги: жизнь, ненависть
Написать комментарий

НоябрьСентябрь