Сайт Романа ПарпалакаБлогКлючевые словаэтот сайт

этот сайт

Cистема рекомендаций на сайте

4 февраля 2023 года, 01:01

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

Пример 1 — антикоррупционный митинг:

Пример 2 — где учиться, на физтехе или физфаке:

Пример 3 — сворачивание кешбека в Бинбанке:

Систему рекомендаций в таком виде сделал Илья Бирман в Эгее — своем движке блогов. В его случае рекомендации к постам формируются на основе тегов. Тогда у меня появилась идея, как можно подбирать рекомендации на основе анализа текстов, без необходимости расставлять теги. Но одно дело — идея, и совсем другое — работающий продукт.

Подбор рекомендаций

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

Я подключил к моему движку сайтов S2 поисковый движок Rose. Вообще-то Rose сам по себе — это выделенный из S2 и доработанный поисковый алгоритм. Раньше он назывался просто Search (соответственно, пакет в репозитории композера — s2/search). Но Илья убедил меня, что библиотеке для поиска, как и любому продукту, нужно нормальное имя, и даже предложил несколько вариантов. Название «Ropsen», содержащее первые буквы из Roman Parpalak Search Engine, как-то не прижилось. Когда часть букв выкинули, и осталось Rose, я согласился.

Вместе с именем в Розе многое поменялось внутри. Я привел в порядок код, чтобы он следовал правилам хорошего тона для библиотек на PHP: с интерфейсами, инверсией зависимостей и прочими вещами, скрытыми за аббревиатурой SOLID. Кроме того, я сделал реализацию хранилища поискового индекса в MySQL (предыдущая реализация была просто в файле).

Поиск в S2 продолжал работать на старой кодовой базе. Мне казалось, что потребуется много времени, чтобы удалить из легаси-кода S2 старый алгоритм поиска и подключить Розу. На практике оказалось, что я сделал это меньше чем за день. Такая скорость вдохновила меня, и я решил замахнуться на рекомендации.

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

Оформление рекомендаций

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

Мне очень понравилось, как выглядят рекомендации у Ильи, и я решил сделать так же. Кроме того, он в своем докладе об автоматическом дизайне рассказал, каким образом работает автоматическая верстка рекомендаций в Эгее. Он подготовил список хорошо сверстанных вариантов и перевел их в некоторый декларативный конфиг с описанием критериев соответствия для каждого элемента верстки (вроде размера и пропорций картинок, длины заголовка и прочего). Дальше для набора рекомендуемых заметок подбирается наиболее подходящий вариант верстки. Обязательно посмотрите видео по ссылке о том, как это всё придумано и работает.

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

Тем не менее, я сделал свой декларативный язык. Описал несколько очевидных вариантов верстки, например для пяти рекомендаций: одна крупная рекомендация слева и четыре поменьше справа.

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

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

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

Еще одно изобретение — отрицательная максимальная длина текста. Она появилась при попытке собрать из картинки и текста блок примерно одинаковой высоты. Скажем, на какое-то место в верстке идеально подходит картинка с относительной высотой (ratio) 0,6 от ширины. Если высота картинки меньше, скажем, 0,2 от ширины, то кроме нее нужно вывести короткое описание для заполнения блока.

Чтобы не плодить разные варианты одной и той же верстки с таким отличием, я придумал характеризовать текст не только минимальной и максимальной длиной, но и дополнительным коэффициентом, на который умножается «нехватка» высоты картинки для определения дополнительной длины текста. А если картинка с высотой 1,0 тоже подходит, то у картинки с высотой 0,6 за счет добавки обязательно появится текст.

Сначала я хотел сделать дополнительный параметр для отсчета нехватки высоты от 0,6, а не от 1,0. Но потом понял, что того же можно добиться отрицательной длиной текста.

Ограничения рекомендаций и планы на будущее

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

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

    1 комментарий

Переезд сайта на parpalak.com

28 сентября 2021 года, 10:18

На выходных перевел этот сайт с домена written.ru на parpalak.com. Я затеял этот переезд не только из-за красоты домена, которая не особо-то и нужна в современном интернете победивших соцсетей, а скорее из-за изменений в российском интернете.


Домен второго уровня я решил зарегистрировать в 2006 году. Рассматривал разные варианты. Домен parpalak.ru оказался занятым. По данным whois его зарегистрировал некий Орест Парпалак. Никакого сайта на этом домене не было, домен использовался для почты. Домен roma.ru тоже оказался занятым. Сейчас по нему открывается сообщение, что домен не продается. А вот раньше там была даже фотография, возможно того самого Ромы.

В итоге я зарегистрировал written.ru. Идею взял у Ромы Воронежского с его сайтами narisoval.ru и napisal.ru, просто перевел слово «написал» на английский.

В 2017 году я обнаружил, что домен parpalak.ru освободился, и зарегистрировал его. Через некоторое время зарегистрировал и parpalak.com, на случай если захочу сделать англоязычный сайт. Кстати, с последним доменом произошла интересная история. Я прописал у регистратора ns-серверы своего хостинга (ns1.linode.com), а в хостинге домен не добавил. Какой-то хитрый пользователь этого хостинга обнаружил это и добавил домен parpalak.com к себе. После чего у меня уже не получилось его добавить. К счастью, никакого контента на сайте по A-записям не оказалось. Я написал в поддержку и проблема была сразу же решена.


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

Я решил оставить российские домены у российских регистраторов и принять соответствующие риски. Остальные домены перенес к регистратору NameSilo. Ссылка реферальная: если решите воспользоваться рекомендацией, получу немного денег. Вроде бы у них самые дешевые домены: домен .com чуть дешевле 10 долларов. Кроме покупки можно переносить имеющиеся домены. Для переноса нужно получить у текущего регистратора код авторизации (примерно так же я переносил домены от Ру-центра к Бегету). Причем NameSilo позаботился, чтобы клиенты из-за переноса ничего не теряли: сам перенос стоит чуть дешевле годовой стоимости домена, а к текущему сроку регистрации добавляется год.

В итоге я перенес от российских регистраторов домены редактора математических текстов Upmath, головоломки Арнольда и s2cms.com. Для черновиков физика зарегистрировал новый домен susy.page вместо susy.written.ru. Киноблог и сайт программы с игрой «Жизнь» остались на своих доменах kinoblog.su и life.written.ru, мне их не жалко.

Последним шагом, как и написал в самом начале, сделал основным доменом parpalak.com вместо written.ru. Этим шагом решается и проблема почты. Дело в том, что почтовым сервисом для written.ru я настроил в 2010 году яндексовскую почту для домена, которая перенаправляет все входящие на гугловскую почту. С этим я ничего делать не буду. Просто сделаю основным почтовый ящик на другом домене.


После переезда обнаружилась только одна небольшая проблема — feedly заново показал последние посты. Скорее всего из-за изменения УРЛов, так как они использовались как идентификаторы записей:

<guid isPermaLink="true">https://parpalak.com/blog/2021/09/12/smart_vote</guid>

При этом feedly проигнорировал поле pubDate и показал записи как свежие. Можно было избежать этой проблемы, если специально для RSS запоминать адреса записей. Но я не думаю, что хоть кто-либо когда-либо озаботился и запрограммировал такую фичу.

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

Серебристые облака — 5

20 июля 2021 года, 23:37

Сегодня были хорошие условия для наблюдения серебристых облаков.

Кстати, а сегодня-то у этого сайта день рождения, 16 лет :)

    Оставить комментарий
Смотрите также:  Серебристые облака — 4 · Серебристые облака — 3 · Серебристые облака — 2 · Серебристые облака

Сайту 10 лет

20 июля 2015 года, 22:40

Сегодня моему сайту исполнилось 10 лет. Я регулярно писал праздничные тексты шесть лет подряд. Затем перестал считать этот повод значительным. Но круглая дата всё меняет, правда? :)

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

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

Экскурсия в Дубну, после которой я перешел на дубненскую кафедру. Защита диплома. Появление интереса к политике и умение отличать ее от клоунады. Первый митинг. Ночь в аэропорту. Неудобные десятирублевые монеты.

При этом не обязательно всё выставлять напоказ. Мысль, вырванная из контекста, может быть ценной сама по себе. И только автор знает, как она возникла и с чем связана.

За это время сайт (как и я!) становился всё лучше и лучше. В последней версии дизайна я собрал ссылки на самые стоящие материалы на главной странице.

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

    1 комментарий

Новый дизайн

27 апреля 2015 года, 00:25

Обновил дизайн сайта и переделал главную страницу.

Корни предыдущего дизайна росли из 2006 года. За это время веб сильно изменился. Сегодня одноколоночный макет с крупным шрифтом — очевидный выбор.

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

Если увидите, что что-то не работает, сообщите, пожалуйста.

Куплю сайт

19 сентября 2012 года, 21:35

Пришло сообщение:

Добрый день! Заинтересован в покупке вашего сайта WRITTEN.RU. Готов предложить вам за него 4000 рублей. Если вам интересно мое предложение свяжитесь со мной по e-mail buywebsite056@mail.ru

Прям как в прошлый раз. И откуда берутся такие люди?

    4 комментария
Смотрите также:  Сколько стоит киноблог?

Сайту шесть лет

20 июля 2011 года, 21:20

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

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

Кстати, наверняка среди читателей этого блога есть те, с которыми я не знаком и которые не написали ни одного комментария. Давайте знакомиться! Напишите что-нибудь в комментариях к этой заметке :)

    5 комментариев
Смотрите также:  Сайту пять лет · written.ru четыре года · С трехлетием, written.ru! · У сайта день рождения · Сайту written.ru — год

парпалак.рф

22 декабря 2010 года, 22:12

У меня завалялось некоторое количество электронных денег, и я на них зарегистрировал домен парпалак.рф. Это не значит, что я изменил свое мнение по поводу доменов .рф. Однако вдруг в будущем придумается какое-нибудь полезное применение. А пока сделал редирект.

Добавлено: полезное применение не придумал и в рамках частичного ухода от российских доменов продлевать не стал.

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

Про Linode, written.ru и S2

19 сентября 2010 года, 23:25

Давно я не писал о хостинге. Не писал, потому что с хостингом у меня до недавнего времени ничего не менялось.

Зимой я решил опубликовать код движка S2 и стал подыскивать репозиторий для исходников. SourceForge, как и другие похожие сервисы для проектов с открытым кодом, имеет в лицензионном соглашении какое-то жуткое условие (если верить переводу в Википедии):

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

Мне это не понравилось, и я решил заказать виртуальный сервер, поднять на нем репозиторий subversion и со временем перенести на этот сервер все свои сайты.

Примерно в это же время Иван Сагалаев написал о переезде на VPS-хостинг Linode и дал ему положительную характеристику.

Я заказал самый дешевый вариант. Виртуальный сервер с жестким диском 16 гигабайт, 384 мегабайтами оперативной памяти и месячным трафиком в 200 гигабайт стоил 20 долларов в месяц. Летом, в честь дня рождения Linode, увеличили количество оперативной памяти до 512 мегабайт. Для моих целей такого сервера более чем достаточно.

Приведу свой реферальный код: 8c0e35f89f3d4065678d05cdb156f494d9e8d4c3. Если вы укажете его при регистрации и станете клиентом Linode, мне перепадет копеечка в благодарность за рекомендацию :)

А рекомендаций Linode действительно заслуживает: есть возможность простой смены тарифного плана; переездов между дата-центрами; размещения серверов в Лондоне (меньше время ответа, чем для серверов в США); покупки дополнительного места на диске, или оперативной памяти, или трафика, или даже регулярных бекапов. Единственный потенциальный недостаток — англоязычная поддержка, но это можно потерпеть.

Со временем я установил и настроил практически все нужные программы. Единственное, с чем не справился — с настройкой почтового сервера. Если быть точным, я повторил инструкцию по настройке SMTP и POP/IMAP серверов с виртуальными почтовыми ящиками, и они даже заработали. Но у меня не хватило терпения, чтобы прикрутить к этому делу хоть какой-нибудь веб-интерфейс (у почты же должен быть веб-интерфейс!).

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

Мне ничего не оставалось, кроме как сдаться Гуглу — настроить пересылку всех писем на ящик на gmail.com.

Предыдущей ночью настал момент истины. На старом хостинге заканчивается оплаченный период, и я перенес written.ru на свой сервер. Скопировал файлы и содержимое базы данных, переделал .htaccess в конфигурацию nginx, обновил конфигурацию exim, настроил DNS-записи, прописал адреса новых ns-серверов. За два часа сайт заработал на новом месте.

Вообще-то, у меня были большие планы — поднять сайт на самой последней версии S2. Дело в том, что почти год назад я скопировал код сайта (это был еще SiteX 0.91), переименовал в S2 и начал доводить до ума. Cайт остался на старой версии, с небольшими багами и без новых вкусных плюшек. В итоге я не успел доделать некоторые специфичные для written.ru вещи, которые не нужны в S2. Пришлось переносить старый код.

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

Сайт на новом месте себя чувствует очень хорошо. Включил отображение времени работы скриптов в нижней части страницы. Оно редко превышает 10 миллисекунд. Это говорит о том, что и хостинг хороший, и движок хороший :)

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

    25 комментариев

Сайту пять лет

20 июля 2010 года, 21:56

Сегодня у written.ru день рождения. Ему исполнилось пять лет.

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

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

Предаваться рефлексии я не хочу. Замечу лишь, что формат сайта кажется мне немного устаревшим. Об этом же свидетельствует и то, что на RSS этого блога подписалось больше людей, чем на RSS остального сайта.

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

С днем рождения!

    1 комментарий
Смотрите также:  Сайту шесть лет · written.ru четыре года · С трехлетием, written.ru! · У сайта день рождения · Сайту written.ru — год

written.ru четыре года

20 июля 2009 года, 16:14

«Сегодня written.ru исполнилось четыре года!» Из зала доносятся бурные рукоплескания и крики «Ура!»

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

    Оставить комментарий
Смотрите также:  Сайту шесть лет · Сайту пять лет · С трехлетием, written.ru! · У сайта день рождения · Сайту written.ru — год

Веб 2.0

5 марта 2009 года, 20:53

Вот, веб 2.0 докатился до gismeteo.ru. Правда, лучше не стало (потому что веб 2.0).

Как-то written.ru назвали сайтом в стиле веб 2.0. На вопрос «Почему?» был ответ «Ну, тут [на сайте — Р.П.] всё просто. В шапке четыре иконки». Уже давно о вебе 2.0 все говорят, но никто не знает точно, что это такое. Ответ про четыре иконки в шапке еще раз это подтверждает.

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

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

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

Монитор образца 2008 годаНаконец, в прошлом году я задумался и об иконках. Решил, что за хорошие иконки я готов отдать N рублей. Поинтересовался, сколько стоят услуги известной команды, занимающейся проектированием визуальных интерфейсов. Оказалось, что M рублей, причем M существенно больше N. Подумал, что за M рублей я и сам могу нарисовать иконки. Почитал статьи, поразглядывал подробнее разные готовые иконки и нарисовал свои. Вышло лучше, чем было.

Такие дела. А вы говорите, веб 2.0…

    2 комментария

С трехлетием, written.ru!

20 июля 2008 года, 16:57

Да, это так. Как быстро летит время! Три года назад written.ru появился на просторах Интернета. Написал по этому поводу праздничную заметку номер 75.

Поздравления можно оставлять в комментариях.

    1 комментарий
Смотрите также:  Сайту шесть лет · Сайту пять лет · written.ru четыре года · У сайта день рождения · Сайту written.ru — год

Киноблог

11 июня 2008 года, 14:33

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

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

Комментарии в блоге

9 декабря 2007 года, 02:16

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

Я закончил (пока) работу над движком SiteX и системой редактирования (aka CMS). Одно из усовершенствований — более-менее нормальная работа с комментариями в блоге. Одновременно с разработкой я сделал некоторые выводы о самих комментариях, оставленных посетителями.

Статистика из CMS

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

Впрочем, ничего удивительного в этом нет. Когда-то я написал, что Блог = Информационная Свалка. Примерно так я его и вел, противопоставляя блогу остальные статьи на сайте. Более-менее приличные вещи перекочевали или еще перекочуют на сайт.

Единственное, что останется в блоге, кроме мусора, это рефлексия по поводу written.ru. Ясно, что рефлексия должна оставаться внешней по отношению к объекту рефлексии. Иначе помимо рефлексии на written.ru может попасть рефлексия по поводу рефлексии над written.ru, рефлексия рефлексии рефлексии и т. д.

Комментарии на сайте отличаются в положительную сторону от комментариев в блоге. Что посеешь, то и пожнешь, да. Безусловным лидером по количеству комментариев является статья Законы мира. Наверно, самый теплый комментарий оставил Валерий Иванович.

Непонятно, зачем я делал подсветку толковых комментариев в блоге. Непонятно, зачем там сделана подписка на комментарии. Там же подписываться не на что. Непонятно, зачем вообще в блоге комментарии. Отключить их надо :)

    2 комментария

OpenID

7 декабря 2007 года, 17:40

Сделать авторизацию в комментариях с использованием OpenID, что ли?

Надо подумать, что делать с уже имеющимися комментариями. Можно, в принципе, сделать выбор — вводить e-mail, как сейчас, или OpenID.

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

Еже***

3 октября 2007 года, 18:05

Что-то в последнее время обстоятельства складываются так, что статьи на written.ru вместо заявленной когда-то еженедельности стали появляться где-то раз в месяц. А блог переехал на еженедельное обновление.

Летом сначала была сессия. Потом я возился с движком и CMS, так что вроде как было не до написания статей. Да и другие дела тоже были.

Теперь, осенью, мне приходится каждую неделю ездить на занятия из Долгопрудного в Дубну и обратно. Половину недели живу в одном городе, половину — в другом. Компьютер остался в Долгопрудном.

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

Эх… Времени мало остается… Я посмотрел несколько фильмов, впечатления о которых вроде как нужно записать сюда. Но, почему-то, не хочется.

А еще я хотел движок блога подправить…

Похоже, в отпуск нужно уходить.

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

Защита от спама

21 августа 2007 года, 02:00

О, сегодня пришел первый спаммерский комментарий после внедрения новой системы защиты. Один посторонний комментарий за полгода — очень неплохо :) Правда, в данном случае, как следует из логов (прогрузились CSS, JS, картинки), он был сделан не тупым спаммерским ботом, а полноценным браузером. Новая хитроумная система, обходящая любую защиту? На этот раз, к счастью, всё в порядке. Путь от запроса в Гугле к странице с комментариями мог проделать только человек.

Добавлено: появился еще один комментарий. Почерк такой же. Удалил оба. На этот раз пришли по запросу с Яндекса.

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

У сайта день рождения

20 июля 2007 года, 17:50

Сегодня у сайта written.ru день рождения. Ровно два года назад я закачал на сервер набор HTML-файлов и картинок (именно это и представлял с самого начала сайт). Потом был PHP, выбор хостинга, домен, новый дизайн, движок блога.

В течение трех недель я написал новый движок (и систему редактирования) с рабочим названием SiteX, о котором я думал и который планировал написать последние полгода. Теперь сайт работает на базе данных, у него есть система редактирования с удобным веб-интерфейсом. Также я обновил дизайн, исправив ошибки в предыдущем варианте.

Как это обычно случается, я реализовал не всё, что хотел. Иначе чем бы я занимался дальше? ;)

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

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

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

    1 комментарий
Смотрите также:  Сайту шесть лет · Сайту пять лет · written.ru четыре года · С трехлетием, written.ru! · Сайту written.ru — год

Пара слов о комментариях

14 июня 2007 года, 01:08

По мотивам обсуждения предыдущей записи.

Для начала рекомендуется прочитать одноименную статью Димы Смирнова. Там всё изложено, как всегда, верно. Вот, например:

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

У меня на сайте некоторые личности оставляли отзывы и комментарии, скажем так, совсем неадекватные. Не так много, правда. Но удалять их — занятие не из приятных. Очевидно, что вводить регистрацию посетителей на этом сайте смысла нет. Поэтому я принял решение, согласно которому, оставляя комментарий, посетитель должен указать свой e-mail.

В блоге ввод e-mail'а обязателен уже месяца три, на остальном сайте подобная функциональность будет реализована в новом движке (планируется через месяц-два).

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

Да, пока всё работает не очень гладко. Например, в письмах вместо кавычек рассылаются «непонятные» комбинации символов. Но со временем (в указанные сроки) всё исправится. В частности, введенное имя и e-mail будет запоминаться в cookies и автоматически проставляться в поля ввода при последующих заходах на сайт.

А пока, пожалуйста, указывайте правильный e-mail в комментариях.

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

Опять об авторских проектах и блогах

20 января 2007 года, 16:58

Первоначально я задумывал written.ru как авторский проект, на котором будут истории и размышления. Тогда всё выглядело как набор файлов html, редактируемых во FrontPage. Достаточно быстро я сообразил, что это не есть хорошо. Через полгода статьи перекочевали в отдельные почти текстовые файлы, дизайн ушел в шаблоны, и всем этим управляет PHP-скрипт. Одновременно я пришел к тому, что для разнообразия и оживления на сайте неплохо бы сделать «ежедневные заметки» — блог. Еще через полгода я сделал нынешний дизайн, изменил структуру (распределение материалов по рубрикам).

Прошло еще полгода. К этому времени стало ясно, что трудно провести границу между блогом и остальной частью сайта в том плане, что не всегда однозначно можно сказать, где следует расположить тот или иной материал. Кроме того, записей в блоге накопилось достаточно много, и он начинает «перевешивать» на сайте. Иногда у меня появляются мысли перенести все статьи в блог и оставить только его (особенно после того, как я в блоге сделал систему редактирования). Независимо от этих соображений (а может и зависимо) у меня назрело желание переписать движок для сайта с использованием MySQL. С нуля. Ну или почти с нуля. С нормальной системой редактирования. Фактически, CMS, но узкоспециализированную.

Возможные решения:

1. Изменить модель хранения и доступа к информации. Сейчас это отдельно статьи на сайте и записи в блоге. Предлагается для рассмотрения вариант knowledge base. Зачем это надо? Такая система хранения записей в отличие от уже надоевших блогов не распространена. Можно постараться и сделать CMS доступной для распространения. Нужно продумать, как те материалы (в том числе из блога), что есть сейчас, впишутся в рамки knowledge base.

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

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

Структура сайта (распределение статей по разделам) сейчас достаточно наглядна, трудностей у пользователей не возникает. Они также знакомы с блогами. А «knowledge base» может вызвать у новых посетителей затруднения.

Один из вариантов — сделать «блогообразный knowledge base». К некоторым (или всем) ключевым словам можно сделать описание, которое и будет «основным темообразующим документом» в случае необходимости, затем можно разместить ссылки на статьи или даже разделы, имеющие те же ключевые слова, а после выводить записи.

Еще добавлено:

…контент, который востребован и не теряет актуальности со временем (или теряет, но не так быстро, как, например, новости)…

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

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

Новогоднее…

27 декабря 2006 года, 20:41

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

Старый год уходит. Можно, наверно, подводить итоги. Что там было в поздравлении год назад?

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

Внутреннюю структуру поменял. Новые возможности добавил. Содержание совершенствовал. Постарался и приложил усилия. Кому интересно, что же я сделал, почитайте. В общем, намеченные перспективы были реализованы. Конечно, по ходу работы возникли новые идеи. Но об этом — в следующий раз.

Что касается всего остального, сказать однозначно нельзя. В чем-то уходящий год был хорош. В чем-то нет. Кое-что зависело от меня, многое — нет. Что будет дальше, как всегда, не известно. Будем надеяться на лучшее, желать хорошего и избегать ужасного.

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

404

17 декабря 2006 года, 01:24

Однажды, когда мы делали какую-то лабораторную работу, я увидел установку к работе 404. Это было потрясающе! Видно, она не использовалась, и отдельные ее части были накрыты пакетами. Я сразу понял, что мне нужно ее сфотографировать, и эту фотографию поместить на страницу 404 ошибки. Что я и сделал. Можете посмотреть (думаю, не надо объяснять, как вызвать эту ошибку? :) ).

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

Пойти, постучаться, что ли, в 404 комнату? Интересно, они в ответ говорят «Not Found»? ;)

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

Хостинг для блога

15 октября 2006 года, 19:39

У компании «Зенон Н.С.П.» недавно появился новый тарифный план — «блог». Его стоимость — 72 доллара в год. Она явно не обоснована и завышена. Мой сайт целиком обходится мне в 30 долларов в год, из которых 20 — доменное имя. Разумеется, для этого нужно найти нормальный хостинг, который обладает необходимыми и качественными характеристиками по разумной цене.

И еще немного на тему хостинга. Зашел сегодня из любопытства на e2e.ru посмотреть, как он поживает. А там вот что написано:

Также, ставим всех существующих пользователей в известность, что ВСЕ поддомены в зоне .e2e.ru забанены поисковой системой Яндекс.

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

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

Сайту written.ru — год

20 июля 2006 года, 11:46

Сегодня у сайта written.ru день рождения. Год назад он появился на просторах Интернета. Сейчас самое подходящее время для того, чтобы взглянуть в прошлое и подвести некоторые итоги.

38 статей и 38 записей в блоге. Много это или мало? Я отдаю себе отчет в том, что это очень мало. За год можно было написать гораздо больше. Но, с другой стороны, за такую деятельность я не получаю ни копейки. Я делаю это исключительно ради удовольствия. Когда есть настроение, я пишу. Когда нет времени, приходится оставлять сайт до лучших времен. Но, все-таки, 38 заметок в год — это ниже заявленной частоты (по заметке в неделю). В среднем, новая статья появлялась раз в 9,6 дней.

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

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

Стоит упомянуть Научный калейдоскоп. Хоть он и обновляется не так часто, как хотелось, его создание было оправданным. Многие интересуются, как же поделить эту чертову окружность на пять частей. Ответы на этот и другие вопросы находятся в Научном калейдоскопе. Туда же переехали статьи по игре «Жизнь».

Недавно у сайта появился новый дизайн, он обзавелся доменным именем второго уровня — written.ru.

Год — это большой срок для подобных авторских проектов. Но бросать работу над сайтом я пока не намерен. У меня еще есть идеи, которые стоит реализовать. Да и новые идеи, думаю, не за горами.

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

    1 комментарий
Смотрите также:  Сайту шесть лет · Сайту пять лет · written.ru четыре года · С трехлетием, written.ru! · У сайта день рождения

Новый дизайн

29 июня 2006 года, 00:12

Нельзя не заметить, что сайт претерпел некоторые изменения. Это связано с тем, что я расту :). Увеличивается багаж знаний, меняется точка зрения. Стали очевидными недостатки тех идей, которые еще вчера казались хорошими. И пусть меня ругают некоторые, якобы новый дизайн выполнен так, как делают все. Это не так. Я в будущем вернусь к обсуждению этой точки зрения.

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

В оформлении страниц использование графики сведено к минимуму. Все декоративные изыскания реализованы в верхней части страницы. Даже в случае неприязни посетителем этих изысканий, при чтении страница прокручивается, верхняя часть исчезает и взору предстает почти текстовый дизайн (почти потому, что остается служебная графика в виде небольшого количества иконок). Общий объем декоративной и служебной графики — 20 килобайт.

Страницы занимают всю доступную ширину окна. Как известно, невозможно сверстать макет, который будет одинаково хорошо смотреться в окнах разных размеров. Главная задача (которую я старался решить) — добиться читаемости и на мониторах 640*480, и на 1600*1200.

Структуру информации — разбиение материалов по рубрикам — пришлось изменить. 12 ссылок на разделы в шапке (против 6 нынешних) — это перебор. Или, вот еще, отдельный раздел «Лирика», содержащий 2 стихотворения… На самом деле, мне было лень рисовать 12 иконок, да и придумывать для каждой из 12 категорий уникальную иконку — весьма трудное занятие. Это и побудило реализовать назревшую потребность. Идея ЧПУ, которой я стараюсь следовать, идея постоянства URL и система удобной рубрикации вступают в конфликт, следствие которого — такие изменения структуры сайта.

К навигационным инструментам добавился еще один — ключевые слова, дополняющий систему рубрик.

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

Страницы сверстаны с использованием стандарта XHTML 1.0 и CSS. Больная тема — поддержка стандартов современными браузерами. Постоянно приходится балансировать между стандартами и подгонкой под конкретный браузер. Конечно, больше всего «капризничает» Internet Explorer, на эту тему исписано огромное количество виртуальной макулатуры. Рассказ о необычных методах борьбы с IE, использованных мной, останется на потом.

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

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

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

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

Регистрация домена второго уровня

26 апреля 2006 года, 21:12

Вчера я зарегистрировал домен второго уровня WRITTEN.RU. Пока он по независящим от меня техническим причинам не работает, но в скором времени это исправится.

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

Поскольку для регистрации домена в зоне .RU (на себя, а не на нечестного регистратора!) необходимо заключение договора в письменной форме, вариант с «РегТайм» для меня отпал.

Тогда я, долго не раздумывая, решил воспользоваться услугами самого главного регистратора, компании RU-CENTER. Правда, предоставление DNS-серверов, без которых домен работать не будет, у них стоит по 5 долларов на первичный и вторичный в год (РегТайм при регистрации домена дает их бесплатно). Поэтому я заказал только регистрацию домена. Процедура достаточно простая, все подробно написано на сайте. Заполняете анкету (онлайн). Скачиваете текст договора и распечатываете в двух экземплярах. Оплатить услуги можно разными способами. Поскольку заключать договор надо в письменной форме, а удобнее всего это сделать в офисе RU-CENTER, то и платить удобнее всего в кассу в офисе. Заказываете услуги (я заказал только регистрацию домена) и распечатываете счет. С этими бумагами я поехал в офис. Весь процесс занял 10 минут, а еще через 10 минут заказ на регистрацию домена был исполнен.

Четко и быстро. Не возникло никаких дополнительных вопросов и проблем. Мне нравится, когда работают профессионалы. Остается приятное впечатление от их деятельности.

    Оставить комментарий
Поделиться
Записи