28
Mar
10

b9b0

так, набиваем линков: http://b9kos.com/b9b0/user/mack

05
Jan
10

праздник на носу

15 января вселенная празднует день домж-пакета. ура.

04
May
09

Gajim2Pidgin (history) logs converter

По неизвестной причине у меня начал вылетать Pidgin при подключении к jabber-серверу, диагноз ему я не смог поставить и пересел на Gajim. Есть некоторые нарекания в сторону последнего, да, наверное, я просто привык к старичку, что раньше звался Gaim’ом.

Основное из моих желаний — это перенос логов из одного клиента в лругой, готовых решения я не нашёл. На сайте Gajim есть только один вариант: http://trac.gajim.org/wiki/Gajim2Gaim (свой вариант я там тоже подложил, как кукушка)), который по какой-то причине не перевариваривает кириллицу. За это я его переписал по-своему и на Perl’e. Хотя, мне это и не нужно, я нуждаюсь в обратном вариане, который я тоже постараюсь реализовать в скором будущем, а пока что вот моя маленькая работа: http://uds.mack.googlepages.com/gajim2pidgin.pl.

upd: надо же http://github.com/alexeyten/pidgin2gajim/commits/.

14
Apr
08

Без меня

«Сейчас на сайте нет зарегистрированных пользователей — это ты.»

11
Apr
08

Составной primary key

Сейчас сессии в базе разделяются на типы путём добавления префикса к идентификатору, это было сделано для индивидуализации записей, т. к. записей разного типа, но с одним ид, может быть несколько. Возможно, внести небольшие изменения в базу, добавив ещё один столбец с типом (как некогда уже было, кстати). И объявить составной primary key из ид сессии и её типа.

03
Apr
08

RSS cache

Сделал честный кэш для рсс-френдленты. Свой для каждого канала. Ура, лень сдаётся)

02
Apr
08

izopanchrom.ru

Ах, да как же забыл? В другом месте накричал, а тут нет. Сайтов на ipx стало в Интеренете два раза в меньше. А-а-а-а.

02
Apr
08

Таймауты

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

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

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

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

SQL: Так как тип сессии обозначает её префикс, специальная колонка для типа была упразднена.

16
Mar
08

rss в другую кучу

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

ALTER TABLE `mack_ipx_entries` CHANGE `type` `type` ENUM( 'page', 'news', 'event', 'comment', 'file', 'rss' ) CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL DEFAULT 'comment'

05
Mar
08

Циклические стили

Организовал сегодня обработку нескольких стилей для повторяющихся элементов типа таблиц. Можно указать в html-шаблоне несколько id, разделив их запятыми. Например, <div id=”black,silver,white”>, при показе эти стили будут чередоваться, т. е. при наличии нескольких элементов с таким стилем мы получим:

<div id="black">
<div id="silver">
<div id="white">
<div id="black">




Follow

Get every new post delivered to your Inbox.