Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции GANJANET.LOCAL
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции GANJANET.LOCAL с датами от 13 Oct 05 22:03:42 до 05 Aug 17 10:35:42, всего сообщений: 3030
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 2736 из 3030 =================================== GANJANET.LOCAL =
От   : Mithgol the Webmaster            2:5063/88          18 Jan 09 17:19:12
Кому : All                                                 18 Jan 09 17:19:12
Тема : Гипертекстовый векторный Фидонет более десяти лет назад
FGHI : area://GANJANET.LOCAL?msgid=2:5063/88+49733aed
= Кодировка сообщения определена как: CP866 ==================================
==============================================================================

* изначально написано в эхоконференцию Ru.FTN.Develop
* также было отослано в эхоконференцию Fidonet.History
* также было отослано в эхоконференцию Ru.Blog.Mithgol
* также было отослано в эхоконференцию GanjaNet.Local
* также было отослано в эхоконференцию Sunny.Night


Совсем недавно (ещё вчера, кажется) со ссылкою на http://tinyurl.com/85bsc8
я говорил, что первые идеи гипертекстовой адресации и фидонетовских URLов
появились ещё двадцатого октября 1997 года, но так и сгинули во мраке забвения
по той причине, что в те годы ещё не существовало открытого кода браузеров.
Код Netscape Communicator был открыт в марте 1998 года, а Mozilla 1.0 явилася
только в июне 2002 года. KHTML появился в ноябре 1998 года. Написать же свой
собственный браузер Фидонета с нуля фидошникам было бы не под силу.

Революционная идея гипертекстового Фидонета опередила своё время и умерла,
не успев родиться ── словно цыплёнок из ритуальной фразы студенческого комитета
Академии Отори в аниме Shoujo Kakumei Utena.

Сегодня, продолжая поступательное чтение эхоконференции Ru.Fido.NextGen, мне
удалось установить, что не только гипертекстовым, но и векторным Фидонет мог
стать ещё десять лет назад, когда бы воля фидонетовских разработчиков могла
привести их к созданию сперва стандартов, а затем и программного обеспечения.

Вот недвусмысленное тому свидетельство:


From: Gena Makhomed <Gena.Makho...@f20.n4631.z2.fidonet.org>
Subject: FlyNet akи FidoNet II
Date: 1998/10/18
Message-ID: <908732006@f20.n4631.z2.ftn>
X-Deja-AN: 402599741
Distribution: fido7
Approved: gate...@fido7.ru
X-FTN-Origin: FlySoft Development (2:4631/20)
References: <907586120@f12.n5049.z2.ftn>
X-FTN-REPLY: 2:5049/12 3618aa48
X-FTN-PATH: 5020/400
X-Comment-To: Amir Shabashvili
X-FTN-CHRS: IBMPC 2
X-FTN-X-FTN-Tearline: (none)
X-FTN-MSGID: 2:4631/20 362a2666
X-FTN-AREA: RU.FIDO.NEXTGEN
Organization: FlySoft Development
Newsgroups: fido7.ru.fido.nextgen

Здpавствуй, Amir!

Mon 05 Oct 98 at 11:14 Amir Shabashvili 2:5049/12 wrote to Dmitriy:

DY>> А что это за сабж вы обсуждаете? Что это за пpоект?
DY>> Hа чем основан, где пpименяется, какова его цель?
AS> Да мне самому интеpесно. Автоp отфоpваpдил нечто на эту тему и пpопал.

да, извини. вот он я.

что это за проект ? да вот есть мысль новую технологию создать...
еще нигде не применяется, потому что физически не существует.
цель ? более удобное общение. в частности, вот например, вместо plain text
сделать tml и gml - соотвественно текстовой и графический разметочные языки.
т.е. для форматирования текста и векторной графики. html - это монстр...
кстати, вчера я создал эху Ru.FlySoft, там собственно это все и будем
обсуждать/развивать/писать. (в плане стандартов и т.п.)

вот еще некоторые наброски на эту тему. (вроде не оффтопик?)

=================================================================
* Area : SU.FIDOTECH
* From : Gena Makhomed  2:4631/20 (Sat 17 Oct 98 16:33)
* To   : All
* Subj : Ru.FlySoft area was created 17 Oct 1998 at 17:00 by 2:4631/20
=================================================================
// там далее идет фрагмент исходного текста, потому такая большая мессага.

about TML project:

Sat 17 Oct 98 at 09:53 Boris Ivanov 2:5020/1779 wrote to Alexander:

AK>> В p4 это лyчше оpганизовать yже имеющимися сpедставми,
AK>> т.е. японский текст хpанить в отдельном текстовом блоке
AK>> с японским чаpсетом.

BI>  И как бyдет выглядеть фpаза типа: "японское слово "gaijin" [гайдзин]
BI> может означать..." (gaijin - иеpоглифами)?

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

т.е. это все тот же UniCode
но только с другим способом представления информации.

и фраза твоя будет выглядеть примерно так:

\crusalt японское слово "gaijin" [гайдзин] может означать \cjapanxx..."

при этом можно переключать только верхнюю половину таблицы,
т.е. первые 128 символов (0...127) - это _всегда_ строго ASCII,
а остальные 128 - настраиваемо с помощью команты Charset change - \cxxx

если в тексте встречается символ '\' то в мессаге он выглядит
как проследовательность символов '\\'.

директива в TML - это любая последовательность символов 33-127 кроме '\.'
конец слова-директивы - это любой символ вне этого диапазона, или '.',
которая является символом конца директивы. (внутри слова, например)

директива смены чарсета - \cxxxxx , где xxxxxx - имя чарсета.

потом по мере необходимости допридумываются и все остальные фичи
языка под названием TML - text markup language.

например, квотинг -

'\qX[xx]' - задается автор слов (xx, инициалы)
и уровень вложенности квотинга (X, dec цифра от 0 до 9)

если XX == 0, то это слова того, то стоит в from.

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

вот еще например, можно:

\fl{m|p|b|i|l|r|j|f|...} - стиль выравнивания параграфа
\fs<xx> - размер шрифта
\fn<ssssss> - имя шрифта.

причем, кодовые страницы - из UniCode, фонты - тоже предполагаются UniCode.

если это кому-то нужно, скажите, напишу наброски стандарта.

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

таким образом, TML остается только для транспортного уровня
(tmlp-код намного компактнее, чем html код), а также для редакторов,
потому что авторам оных не придется идучать талмуды на тему устройства html,
или встраивать в редактор чьи-то фриварные парсеры html`ного кода.

в последствии будет оформлет и gml - формат
для графическойй векторной графики, представление - тоже текстовое,
по директивам совместим с tml.

например, \gml - это директива для переключения на gml команды,
\tml - это директива для переключения обратно на tml команды оформления.

таким образом, в самом начале мессаги идет последовательность символов '\tml'
которая говорит о том, что в этой мессаге - tml-код, а не plain text.

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

PS я этим вопросом уже очень давно интересуюсь.
например, весной  1995 года мной был написан софт
который умеет интерпретировать исходный код на С
и корректно обрабатывать вызовы ~50 BGI`шных функций (почти все),
а кроме того, можно было писать и юзерские функции,
которые потом можно было вызывать изнутри любых других функций.

а кроме того, была еще псевдофункция _link, которая
имела такой вид: _link(x1,y1,x2,y2,active,inactive,link);

где прямоугольник x1,y1,x2,y2 задает область линка,
active - юзер-функцию для отрисовки активного линка, inactive - юзер-функцию
для отрисовки неактивного линка, goto - имя юзер-функции для перехода,
если был выбран этот линк (keyboard enter или mouse double click)

вот пример из сктипта BGI-демонстрации: _link(25,50,205,75,a_arc,i_arc,_arc);

а также _pause, _quit и другие. и две спец. юзеровские ф-ции,
starpup и exit, выполнявшиеся сразу после старта и непосредственно перед
выходом из программы.

вот пример "скрипта": (здесь - надцать экранов, они показываются через паузу)

===[ FONTDEMO.TXT ]===
startup(){ _initgraph(9,2,"");}
exit(){ closegraph();}

main(){
 setcolor(15);
 setbkcolor(1);
 settextjustify(1,1);

// cleardevice();
 _settextstyle(1,0,9);
 outtextxy(320,200,"Hello World!");

/*
  settextjustify(1,1);
  _settextstyle(0,0,1);
  outtextxy(320,460,"First step");
*/
 _pause();


 cleardevice();
 _settextstyle(0,0,1);
 outtextxy(320,200,"0 - Default font");
 outtextxy(320,400,"size 1 only");
 _pause();

 cleardevice();
 _settextstyle(1,0,5);
 outtextxy(320,200,"1 - Triplex font");
 outtextxy(320,400,"size 5 now");
 _pause();

[ skip by GM ]

 cleardevice();
 _settextstyle(9,0,5);
 outtextxy(320,200,"9 - European font");
 outtextxy(320,400,"size 5 now");
 _pause();

 cleardevice();
 _settextstyle(10,0,5);
 outtextxy(320,200,"10 - Bold font");
 outtextxy(320,400,"size 5 now");
 _pause();


 cleardevice();
 _settextstyle(1,0,7);
 outtextxy(320,200,"That's all, folks!");
 // outtextxy(320,400,"size 5 now");
 _pause();
 closegraph();_quit(0);
}

===-===-===

и вот пример, с _link`ами. (сильно поскипано, полный - ~20 кбайт)

===[ BGI.TXT ]===
startup(){
 _initgraph(9,2,"bgi");

 setcolor(14);
 setbkcolor(1);
 settextjustify(1,1);
 cleardevice();
 _settextstyle(1,0,33); outtextxy(320,80,"BGI");

 _settextstyle(1,0,4); outtextxy(320,200,"Some help about");
 outtextxy(320,250,"Borland International Graphics Package");
 outtextxy(320,300,"for C and C++");

 setcolor(7);
 _settextstyle(2,0,7);
 outtextxy(320,380,"Written by Gena Makhomed");
 _settextstyle(2,0,6);
 outtextxy(320,410,"ShowPlayer v0.01 beta (c) 1995 Gena Makhomed");
 outtextxy(320,430,"Lutsk, Ukraine");

 _settextstyle(0,0,1); // system font ...
 settextjustify(1,2);
 outtextxy(320,469,"Press any key to continue ...");

 setcolor(15);
 setlinestyle(0,0xffff,3);
 line(0,25,25,0);
 line(0,15,15,0);
 line(0,5,5,0);
 _pause();
 //closegraph();_quit(0);
}

exit(){closegraph();}

main(){
 clearviewport();
 setbkcolor(1);
// setcolor(14);setbkcolor(3);cleardevice();settextjustify(1,1);
//_settextstyle(1,0,9);
// outtextxy(320,200,"Hello World!");
// _pause();
// closegraph();
// _quit(0);

 _link(25,50,205,75,a_arc,i_arc,_arc); // 1
 _link(230,50,410,75,a_bar,i_bar,_bar);// 2
 _link(435,50,615,75,a_circle,i_circle,_arc); // 3

 _link(25,100,205,125,a_ellipse,i_ellipse,_ellipse); // 1
 _link(230,100,410,125,a_fillellipse,i_fillellipse,_ellipse);// 2
 _link(435,100,615,125,a_floodfill,i_floodfill,_floodfill); // 3

 _link(25,150,205,175,a_line,i_line,_line); // 1
 _link(230,150,410,175,a_linerel,i_linerel,_line); // 2
 _link(435,150,615,175,a_lineto,i_lineto,_line); // 3

 _link(25,200,205,225,a_outtext,i_outtext,_outtext); // 1
 _link(230,200,410,225,a_pieslice,i_pieslice,_arc); // 2
 _link(435,200,615,225,a_rectangle,i_rectangle,_rectangle); // 3

 _link(25,250,205,275,a_sector,i_sector,_ellipse); // 1
 _link(230,250,410,275,a_setbkcolor,i_setbkcolor,_setbkcolor); // 2
 _link(435,250,615,275,a_setcolor,i_setcolor,_setcolor); // 3

 _link(25,300,205,325,a_colors,i_colors,_colors); // 1
 _link(230,300,410,325,a_fill_patterns,i_fill_patterns,_fill_patterns); // 2
 _link(435,300,615,325,a_line_styles,i_line_styles,_line_styles); // 3

 _link(230,350,410,375,a_text_just,i_text_just,_text_just); // 2
}

a_arc(){setcolor(15);clearviewport();settextjustify(0,2);_settextstyle(1,0,2);o
uttext("arc");}
i_arc(){setcolor(7);clearviewport();settextjustify(0,2);_settextstyle(1,0,2);ou
ttext("arc");}

[ skip аналогичные функции отрисовки линков ]

// special :

[ skip линки нетекстового вида - на цвета, fill_patterns и т.п.]

_arc(){
  clearviewport();
  setbkcolor(1);
  setcolor(11);
  settextjustify(1,2);
  _settextstyle(7,0,4);
  outtextxy(320,5,"arc, circle, pieslice");

  setcolor(15);
  settextjustify(0,1);
  _settextstyle(2,0,6);
  outtextxy(0,50,"void far arc(int x,int y,int stangle,int endangle,int
radius);");
  outtextxy(0,70,"void far circle(int x,int y,int radius);");
  outtextxy(0,90,"void far pieslice(int x,int y,int stangle,int endangle,int
radius);");

  setcolor(11);
   settextjustify(0,0);
  _settextstyle(3,0,3);
  outtextxy(10,130,"Examples:");

  setcolor(11);
  settextjustify(0,1);
  _settextstyle(8,0,3);
  outtextxy(0,200,"arc(500,200,45,225,50);"); arc(500,200,45,225,50);
putpixel(500,200,12);
  outtextxy(0,300,"circle(500,300,50);"); circle(500,300,50);
putpixel(500,300,12);
  setfillstyle(1,11);
  outtextxy(0,400,"pieslice(500,400,135,315,50);");
pieslice(500,400,135,315,50); putpixel(500,400,12);

  _link(10,450,120,475,a_ellipse,i_ellipse,_ellipse);
  _link(150,450,260,475,a_fillellipse,i_fillellipse,_ellipse);
}

// кстати, эта ^^^ функция должна компилиться борландовским С/С++.

[ skip ]

// вот еще пример:

_fill_patterns(){
  clearviewport();
  setbkcolor(0);

  setcolor(11);
  settextjustify(1,2);
  _settextstyle(7,0,1);
  outtextxy(320,5,"enum fill_patterns");

  setcolor(15);
  settextjustify(1,1);
  _settextstyle(0,0,1);

  setfillstyle( 0,10); bar( 15, 30,125,140); outtextxy( 70,150,"EMPTY_FILL 0");
  setfillstyle( 1,10); bar(140, 30,250,140); outtextxy(195,150,"SOLID_FILL 1");
  setfillstyle( 2,10); bar(265, 30,375,140); outtextxy(320,150,"LINE_FILL 2");
  setfillstyle( 3,10); bar(390, 30,500,140); outtextxy(445,150,"LTSLASH_FILL
3");
  setfillstyle( 4,10); bar(515, 30,625,140); outtextxy(570,150,"SLASH_FILL 4");

  setfillstyle( 5,10); bar( 15,170,125,280); outtextxy( 70,290,"BKSLASH_FILL
5");
  setfillstyle( 6,10); bar(140,170,250,280); outtextxy(195,290,"LTBKSLASH_FILL
6");
  setfillstyle( 7,10); bar(265,170,375,280); outtextxy(320,290,"HATCH_FILL 7");
  setfillstyle( 8,10); bar(390,170,500,280); outtextxy(445,290,"XHATCH_FILL
8");
  setfillstyle( 9,10); bar(515,170,625,280); outtextxy(570,290,"INTERLEAVE_FILL
9");

  setfillstyle(10,10); bar( 15,310,125,420); outtextxy( 70,430,"WIDE_DOT_FILL
10");
  setfillstyle(11,10); bar(515,310,625,420); outtextxy(570,430,"CLOSE_DOT_FILL
11");

  setcolor(14);
  outtextxy(320,450,"You can set onw fill pattern USER_FILL == 12");
  outtextxy(320,470,"You can define own fill pattern via call
setfillpattern(char far *, int );");
}


_line_styles(){
  clearviewport();
  setbkcolor(0);

  setcolor(11);
  settextjustify(1,2);
  _settextstyle(7,0,1);
  outtextxy(320,5,"enum line_styles && enum line_widths");

  setcolor(15);
  settextjustify(1,1);
  _settextstyle(0,0,1);

  outtextxy(160,40,"NORM_WIDTH  1");

  setlinestyle(0,0,1); line( 40,60, 40,380); outtextxy( 40,400,"SOLID_LINE");
  setlinestyle(1,0,1); line(120,60,120,400); outtextxy(120,420,"DOTTED_LINE
1");
  setlinestyle(2,0,1); line(200,60,200,380); outtextxy(200,400,"CENTER_LINE
2");
  setlinestyle(3,0,1); line(280,60,280,400); outtextxy(280,420,"DASHED_LINE
3");

  outtextxy(480,40,"THICK_WIDTH 3");

  setlinestyle(0,0,3); line(360,60,360,380); outtextxy(360,400,"SOLID_LINE 0");
  setlinestyle(1,0,3); line(440,60,440,400); outtextxy(440,420,"DOTTED_LINE
1");
  setlinestyle(2,0,3); line(520,60,520,380); outtextxy(520,400,"CENTER_LINE
2");
  setlinestyle(3,0,3); line(600,60,600,400); outtextxy(600,420,"DASHED_LINE
3");

  setcolor(14);
  outtextxy(320,450,"You can set onw line style USERBIT_LINE == 4");
  outtextxy(320,470,"You can define own line style
setlinestyle(USERBIT_LINE,upattern,thickness);");
  setlinestyle(0,0,1);
}

[ skip ]

===-===-===

тогда о существовании html я просто не знал.
но и сейчас... имхо имеет смысл не зацикливаться на html,
а сделать что-то иное. да и... html - более узко чем tml + gml.
(текстовой и графический языки)

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

таким образом можно будет расширить связку tml+gml
еще и некоторой подсистемой обучения/контроля.

причем, все это - только внутри скрипта, без какой-либо возни с .exe

а то получается парадокс - машины есть, а чем заняться на них - нет.

в общем так. сегодня, вот сейчас я дописываю эту мессагу и пойду
создавать в своем тоссере эху Ru.FlySoft

все кто заинтересован в разработке tml и его расширений -
приглашаются туда. в спокойной обстановке все обсудим,
потом и софт помаленьку напишем.

кстати, есть еще одна итересная мысль по поводу т.е. файл-листов,
а также все остальные фичи из проекта FlyNet.

,Ru.FlySoft,FlySoft Development (C/C++ source code),Gena Makhomed,2:4631/20,

в общем, спрашивайте Ru.FlySoft у аплинков и хабов,
через пару дней она должна быть на хабах московского/всероссийского эхобона.

Удачи! // Gena, Moderator of Ru.FlySoft

-+- GoldED/2 3.00.Beta5+
 + Origin: FlySoft Development (2:4631/20)
=================================================================

Удачи! // Gena

PS в Ru.FlySoft я всегда буду читать/писать в первую очередь.


Конец цитаты.

Источник цитаты:  http://tinyurl.com/89xdjn


Сейчас этот проект имеет более историческое, нежели какое-либо другое значение,
поскольку на следующий код (в 1999 году) W3C приступил к развитию стандарта SVG
(более приятного взору, нежели вышеописанные RTF-подобные первые блины комом),
который поддерживается как стандарт векторной графики нынешними браузерами
(в Firefox, в Opera, в Chrome, в Safari... даже и в IE, но там только плагином)
и будет, если Бог даст, поддерживаться и в Фидонете.

То же самое и с TML, который менее удобен, нежели HTML Unicode entities.

Но виден полёт мысли прежних фидошников и небывалое дерзновение.

Как хорошо, Господи.


Фидонет будет великим и гипертекстовым!    [Ru.Mozilla]     http://Mithgol.Ru/
Mithgol the Webmaster.                    [Братство Нод] [Team А я меняю subj]

... А столбы с pезьбой ── всяко заметнее тех, что без pезьбы. (Андрей Тупкало)
--- Эшелону: Beyond Hope LASINT csystems .tm файл passwd  2600 Magazine  JUWTF
* Origin: Столь же вольны молитвословить ведмеди сих дремучих пущ (2:5063/88)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.048618 секунды