Проект «Humor.Filtered Online»

 

1. История проекта

Предлагалось создать сервер — представительство известной юмористической конференции ФИДО Humor.Filtered, переведя архивы в sql-базу, из которой по запросу формируются подборки в html. В июне 98 архивы HF были размещены на Корбине, создана конференция для обсуждения проекта HFO.TECH.TALK и организована рассылка по e-mail. В январе 99 из-за «кризиса» проект остановлен. Если Вы захотите продолжить разработку HF Online или адаптировать базу для своих проектов — пишите Координатору.


2. Обсуждение

Костя Бойко написал конвертер «squish/jam -> dbf» e2dbf.zip и echo2dbf.zip . Все поля писем попадут в базу автоматом, а вот текст придётся разгребать ручками. Для этого нужны ведущие, которые правят базу в любом СУБД или on-line.

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

КАКИЕ ПИСЬМА УДАЛЯТЬ:
— офтопики = письма не от ведущих, за очень редким исключением;
— анекдоты — их слишком мало и они все есть на anekdot.ru;
— митьковщину — есть kulichki.rambler.ru/mitki ;
— форварды из «Красной Бурды».

Koctya Boyko 2:5020/37: «Кстати, может, не убирать ничего, а просто ставить специальный признак. Выкинуть только правила и «левые» письма».

Служебные сообщения тоже можно оставить в базе, но не публиковать.

Alex Sadovsky 2:5020/549.26: «Надо будет «склеивать» некоторые рассказы, разнесённые на несколько писем».

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

«To» и «Subject» — не надо, в основном, они неинформативны.
Если нужны — соответствующая строка добавляется ведущим к тексту.

Gena Boriskin 2:5022/31.1:
Так как, согласно фидошной традиции, поле Subj нередко не соответствует
тексту, то, наверное, будет разумней, чтобы ведущий, в случае необходимости, менял его по своему вкусу.

Мне кажется, не за чем — ведущий будет выбирать рубрику из списка. А Subj  либо остается в тексте, если с ним связан, либо вообще стирается.

Alex Sadovsky 2:5020/549.26:
Если заголовок остаётся из оригинального письма, то обычно он нефункционален (не соответствует содержанию письма). Т. е. либо надо озаглавливать письмо самому, получая соответствие тексту, либо, если ставится цель передать «фактуру» фидошного письма, добавить в базу поля Origin и Tearline.

Кстати, надо бы ввести в базе поле, сколько «копий» разными форвардёрами закинуто было в hf, так как это косвенно говорит о качестве письма).

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

Как быть с псевдонимами? Если Dmitry Antonov присутствует только как Grassy, то, скажем, Nacht пишет и под именем Igor Tolokonnikov, и под совмещённым — «Igor Tolokonnikov (Nacht)». С модераторскими псевдонимами, если в тексте письма не содержится RealName?

Как быть если у автора несколько адресов? Хорошо, если это ограничивается добавлением в темплейт письма e-mail, а если письма с разных адресов?

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

Может, стоит добавить в базу поле, в котором указывать информацию, если рассказ был где-либо уже напечатан? Название, номер журнала (книги и издательства. Например, печатались ЛЛео, Экслер, Бочаров, Швырков и др. Это по крайней мере поможет избежать проблем с журналами/издательствами.


3. Структура базы данных

Таблица писем

1. Счётчики/индексы  
2. MSGID  
3. Дата публикации год/месяц/число
4. Дата исходного письма год/месяц/число
5. Эха-дайджест по умолчанию — hf.
Пригодится, если будут создаваться базы по другим дайджестам.
6. Эха исходного письма по умолчанию — Netmail
7. Текст  
8. Публикации в прессе по умолчанию 0

Таблица авторов

1. Счётчики/индексы  
7. ФИО автора  
8. Адрес автора  

Таблица дайджестов

1. Счётчики/индексы  
2. Название дайджеста по умолчанию, hf

Таблица(ы) типов писем

1. Счётчики/индексы
2. Набор РУБРИК
3. Набор ЖАНРОВ
4. Набор ТЕМ

 

РУБРИКИ:

внутрифидошный юмор
сетевой юмор
компьютерный юмор
общечеловеческий юмор

ЖАНРЫ:

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

ТЕМЫ:
Темы, в отличие от рубрик, вводятся по ходу заполнения, как только встречается N писем одной тематики.
Каждое письмо может либо относиться к каким-то темам (например, одновременно «Секс» и «Windows»), либо не относиться ни к какой).

юмор на английском языке
Leo Mironov ведёт архив английского юмора.
Можно разместить архив, убрав всё из hf.

Гейтс и виндовс
OS
программы и программизм
хакеры
законы Мэрфи
секс
кухня
пьянство и алкоголизм
автомобилизм
псевдографика (что с ней делать?)
модеразм
музыка и околомузыкальные дела и вообще — масс медиа
реклама
история
совок
медики (Andrew Babchenko, 2:5020/746.64)
бизнес (Andrew Babchenko, 2:5020/746.64)
образование (Andrew Babchenko, 2:5020/746.64)
ляпы, опечатки, огрехи (Alex Sadovsky, 2:5020/549.26)

понравилось ведущему

Alexey Zelkin, ph@sunbay-software.com:

«К этому можно добавить:
1. анализ статистики сервера на предмет выявления самых читаемых авторов, то есть сделать что-то вроде Top10 :)
2. голосование читателей — их собственная оценка письма (что то подобное вроде сделано на anekdot.ru )
3. Я думаю все-таки не нужно исключать Subj из базы. Иногда возникают ситуации, когда «клиент» помнит сабж, но не помнит всё остальное. То есть идея в том, чтоб оставить сабж, но не для того, чтоб отображать, а для улучшения возможностей поиска в базе.
4. Однотабличная структура — это «малопроизводительный пережиток прошлого», остатки FOX'a, CLIPER'a и т. д. Но не буду вдаваться в теорию. Идея следующая: вместо строчных полей типа DIGEST, AUTHTOR_NAME, должны быть использованы связки (или как их там называют) primary-foreign key. В случае DIGEST'a например всё выглядит так: создаётся таблица DIGEST с полями PKEY и NAME. В неё вставляются данные типа: pkey = 1, name = «hf» etc. После этого в таблице писем создаётся поле DIGEST не строка, а число. И в это поле вставляется не строка «hf», а просто значение 1. И когда программе понадобится значение этого поля (строковое), она просто должна обратится к таблице DIGEST и выбрать row со значением pkey = 1. Как то смутно описал, но надеюсь понятно что я имел ввиду. Этот метод имеет массу преимуществ по сравнению с предложенным тобой. Преимущества в основном заключаются в том, что размер базы будет _значительно_ меньше при том же наполнении, скорость поиска гораздо выше, система становится гораздо меньше зависима от последующих изменений.

Моё видение структуры базы (предварительное):

Таблицы:

Писем (таб. LETTER):

PKEY — primary key, собственно
MSGID — message id
PUBLICATION_DATE — дата публикации
SEND_DATE — дата посылки
DIGEST — дайжест (foreign key для таб. DIGEST)
SOURCE_ECHO — исходная эха (возможно тоже foreign key, в — случае частого повторения одной и той же эхи)
AUTHOR — автор (foregin key для таб. AUTHOR)
SUBJ — тема
TEXT — текст

COMMENT — комментарий (печаталось где-либо etc.)

Дайжестов (таб. DIGEST):

PKEY — primary key
NAME — имя дайжеста

Авторов (таб. AUTHOR):

PKEY — primary key
NAME — ФИО автора
ADDR — адрес (мейл)

В таблицу типов писем я думаю всё-таки нужно добавить и название типа :-)»

 

Koctya Boyko 03 Nov 1998:
в общем, сегодня я засунул в sql все 15 архивов с hfo.kru.to и сделал простейшую мордочку для просмотра — с одной единственной кнопкой «стрелка вправо». Сейчас обеспечиваю возможность просматривать базу не только с моей машины, но и извне. Следующий шаг — классификация имеющихся месаг (+отлов дупов, +редактирование). Это самый трудоёмкий участок — по оптимистичным оценкам от 100-150 человеко-дней и более... Соответственно, нужно порядка 30 волонтёров на эту работу (с тем, чтобы каждому досталось порядка 500 сообщений). Я хочу попробовать реализовать всё через web-интерфейс — кнопки и менюшки на нём делаются несложно. Работать можно как через интернет, так и на локальной машине... Далее, все куски работы собираются воедино и производится завершающая шлифовка — 2-3 человека, 15-20 человеко-дней. После чего я готовлю к передаче базу и инструкции по её установке.
Сейчас в базе — одна таблица msgwin (1251) со следующими полями id — уникальный идентификатор, присваивается сообщению при начальном заносе в базу
fromname — кто отфорвардил
fromaddr
toname — как правило, это all :)
subj
body — текст
kludges — служебная информация

от идеи использовать msgid пришлось отказаться, так как во многих ранних форвардах его нету.
В дальнейшем информация этой таблицы будет использована для построения нескольких таблиц меньшего размера (примерно как предлагает Alexey Zelkin), а сама она останется только как некая «точка опоры», все запросы будут идти к её «потомкам».

Форма запроса на сервере (в порядке бреда :-)

Хочу почитать архив 
целиком и полностью (def)
выбрать по годам и месяцам:
1993 - 1 2 3 4 5 6 7 8 9 10 11 12
1994 - 1 2 3 4 5 6 7 8 9 10 11 12
1995 - 1 2 3 4 5 6 7 8 9 10 11 12
1996 - 1 2 3 4 5 6 7 8 9 10 11 12
1997 - 1 2 3 4 5 6 7 8 9 10 11 12
1998 - 1 2 3 4 5 6 7 8 9 10 11 12
ВЫБОР ПО РУБРИКАМ И ЖАНРАМ
все рубрики... (def)
выбрать рубрики...
общечеловеческий юмор
компьютерный юмор
сетевой юмор
внутрифидошный юмор

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

всё остальное

ВЫБОР ПО ТЕМАМ
все темы (def)
выбрать темы:
юмор на английском языке
Гейтс и виндовс
OS
программы и программизм
хакеры
законы Мэрфи
секс
кухня
пьянство и алкоголизм
автомобилизм
псевдографика
модеразм
музыка
реклама
история
совок
медики
бизнес
образование
ляпы и опечатки

всё остальное

только то, что понравилось ведущим

ВЫБОР ПО АВТОРАМ

На главную страницу