05. Note.1 - History of Konkurs/Fagot training system.




1

Основные достижения в проекте.

Проект начался благодаря инициативы со стороны Министерства Обороны Молдовы в 1994 г. Мне предложили участвовать, я предложил сделать проект на базе нашей компании P&P Service и после того как был реализован весьма представительный видео-анимационный ролик сомнений у представителей МО не осталось.


Main achievements in the project.

The project began thanks to the initiative of the Ministry of Defense of Moldova in 1994. I was offered to participate, I offered to make a project on the basis of our company P&P Service, and after a very representative video-animation clip was realized, the representatives of the Ministry of Defense had no doubts.


Требования к решению включали среди прочего необходимость реализовать учебную и игровую части на компьютерах с производительностью не больше чем у IBM-PC/286, как единственно доступные по бюджету МД РМ. Стандартной конфигурации и памятью до 4 МБайт. (да да - мега, а не гига:)


The requirements for the solution included, among other things, the need to implement the educational and gaming parts on computers with a performance no higher than that of IBM-PC / 286, as the only ones available on the budget of MD RM. Standard configuration and memory up to 4 MB. (yes yes - mega, not giga :)


Анализ доступных решений/игр существовавших тогда на платформе 286 процессора (DOOM. Need for Speed,..) показал, что можно реализовать вполне динамичную игровую часть в 3D графике, но только в VGA (320x240) режиме. В только зарждавшемя тогда SVGA(640x480) режиме хороших примеров не было.


An analysis of the available solutions/games that existed at that time on the 286 processor platform (DOOM. Need for Speed,..) showed that it is possible to implement a quite dynamic game part in 3D graphics, but only in VGA (320x240) mode. There were no good examples in the SVGA(640x480) mode, which was then just emerging.


Однако часть особенностей назначения тренажера исключал возможность применения VGA режима, а именно:

1) Ракета может использоваться в диапазоне дальностей 500 - 4000 метров, что для целей типа танк, на дальности в 4000 метров, в поле видения оптического прибора наведения ракеты на цель, размер цели составлял 3 пикселя по высоте для VGA режима. В основных рабочих диапазонах дальности (3500-:1500)  угловые размеры целей оказывались порядка 4-:-30 пикселей, что оказывалось слишком малым разрешением для узнавания ориентации целей в различных направлениях движения.

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

(Это копия из ролика VHS качества, другого качества нет :(

Кроме того, режим SVGA, имел явные преимущества в целом по качеству картинки и мог считаться, безусловно, более перспективным.


However, some of the features of the simulator's purpose excluded the possibility of using the VGA mode, namely:

1) The missile can be used in the range of 500 - 4000 meters, which for tank-type targets, at a distance of 4000 meters, in the field of view of the optical device for pointing the missile at the target, the target size was 3 pixels in height for VGA mode. In the main operating ranges of the range (3500-: 1500), the angular dimensions of the targets turned out to be on the order of 4-:-30 pixels, which turned out to be too low a resolution for recognizing the orientation of targets in different directions of movement.

2) The large size of a very detailed cursor also turned out to be too clumsy and obscured the field of view visible in the optical device. (This is a VHS quality copy haven’t other quality :(

In addition, the SVGA mode had clear advantages in terms of image quality in general and could certainly be considered more promising.


А в чем проблема использования SVGA? В 4-ре раза большая нагрузка на слабый процессор и отсутствие единого стандарта. (Целый зоопарк адаптеров, для каждого свой набор графических примитивов). Долгое время не удавалось обновлять новый вид местности при движении курсора за подвижной целью и перерисовывать курсор в центре без паразитного эффекта мерцания курсора (см. решение проблемы ниже).


What's wrong with using SVGA? 4 times more load on a weak processor and the lack of a single standard. (A whole zoo of adapters, each with its own set of graphic primitives). For a long time it was not possible to update the new view of the terrain when the cursor moved behind a moving target and redraw the cursor in the center without the parasitic cursor flicker effect (see the solution below).


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



The elimination of cursor flicker and the increase in softness of image redrawing was inadvertently achieved thanks to my experience in developing graphics systems for television. Where I was given a lesson in the great importance of synchronizing various video sources using a frame pulse for solving various problems. And for the simulator, it was possible, due to the timer process, to track all the appearances of the frame pulse of the monitor (the monitor did not have an interruption on the frame pulse) and then synchronize the process of rebuilding the image at the selected moment in time when the frame was standing. Despite the overhead, the result was amazing.


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


The achievement of frame synchronization has had a number of apparent and alleged interesting stories. It was the desire to talk about them that prompted me to write this boring opus, but more on that later, but for now I want to brag about the unique process dispatching system implemented in the simulator.


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


But first, it’s worth admitting that the implementation of this scheme almost cost the failure of the entire project - everything is too complicated, at first it turned out badly, or rather, it didn’t work at all. But in justification, and how could it be without it, it should be mentioned that for a given approach (the number of necessary simultaneously working processes) and strict requirements for the behavior of components in the context of the military purpose of the simulator and the obvious weakness of the processor, whose parameters could not be exceeded, I can say that another scheme would be useless.


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

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

  2. Отслеживать все кадровые импульсы монитора и необходимую фазу для старта перерисовок.

  3. Запускать процесс перерисовок, без остановки регистрации реальных и виртуальных событий

  4. Отслеживание и отрисовка указателя мыши

  5. Диспетчер клавиатурных команд: на конкретных клавишах сидел процесс смены яркости центральной марки курсора (зеленое перекрестие), что использовалось для изменений контрастности в условиях разной освещенности + команда пуска ракеты.

  6. Расчет и подготовка и прорисовка новой фазы, ракурса, масштаба, положение (ФРМП)  движения цели

  7. Расчет новой ФРПМ движения ракеты или анимации взрыва.

  8. В новой версии добавился процесс озвучивания радио эфирного шума (благодаря асинхронной схеме озвучивания аудио потока)

  9. Через программно реализованный микшер реального времени мог проигрываться либо звук запуска/полета/взрыва ракеты или голосовые команды о целеуказании вместе с шумом.


Judge for yourself, it was necessary to monitor interrupts from the keyboard and the timer and organize the dispatching of independent processes through the timer, such as:

  1. Record the tilt vector of a proportional joystick (the joystick modeled well the special stick on a real product) in order to determine the vector (direction and speed) of the terrain movement due to the movement of the terrain sighting area.

  2. Keep track of all frame pulses of the monitor and the necessary phase to start redraws.

  3. Start the process of redrawing, without stopping the registration of real and virtual events

  4. Tracking and rendering the mouse pointer

  5. Keyboard command manager: on specific keys there was a process of changing the brightness of the central mark of the cursor (green crosshair), which was used to change the contrast in different lighting conditions + the rocket launch command.

  6. Calculation and preparation and drawing of a new phase, angle, scale, position (PhASP) of the target movement

  7. Calculation of a new PhASP of rocket movement or explosion animation.

  8. In the new version, the process of voicing the radio air noise has been added (thanks to the asynchronous scheme for voicing the audio stream)

  9. Through a software-implemented real-time mixer, either the sound of a rocket launch / flight / explosion or voice of commands about target designation could be played along with the noise.


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


In the first version, the program crashed from a sideways glance, shaking or draft. However, when I was given, lo and behold, a whole week for debugging and, lo and behold, an independent tester, then in the end he danced with his arms and legs on the computer, but the program did not crash, and almost 30 years of continuous operation of the simulator also speaks of the reliability of the program.


Стоит отметить и другие значимые достижения в проекте:

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

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

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


It is worth noting other significant achievements in the project:

  1. The first in Moldova (and maybe not only) a software player for real video (betacam quality) from a disk (before that, players for clips that were completely loaded into memory worked). What became possible thanks to the unique virtual asynchrony of the exchange with the disk, which, in addition to the already existing resource management processes of the computer, completely replaced those in MS-DOS.

  2. A complex and flexible (easily developed and debugged) markup language for static and dynamic pages (like modern HTML) with the ability to organize interactive user interaction. Through the use of macro assembler extensions, both the description language and the interpreter and page content program could be debugged in the same context at the same time.

  3. The relational database management engine (Informix) built into the simulator for the purpose of registering the plans and achievements of trainees.

2

Первая реальная история вокруг кадровой синхронизации.

Дело в том, что после 2-ой версии тренажера, когда он зазвучал. Я работал в одной коммерческой организации над другим важным для меня проектом в области баз данных, а в это время, наша (моя) команда, вначале “отлупила” меня - типа я тупой, отсталый, медленный, не надежный и короче пошел вон со своим ассемблером. Как оказалось они уже знали что получили карт бланш на новую версию тренажера +Фагот +Польский язык +видео реального качества с диска.


The first real story around frame synchronization.

The fact is that after the 2nd version of the simulator, when it sounded. I was working in a commercial organization on another database project that was important to me, and at this time, our (my) team, at first “beat” me - like I’m dumb, backward, slow, not reliable and, in short, went out with my assembler. As it turned out, they already knew that they had received carte blanche for a new version of the simulator +Fagot +Polish language +real quality video from the disk.


Ну типо - мы пойдем другим путем (надежным). Только Windows, только языки высокого уровня, только стандартные графические библиотеки типа Vesa. Тем более тогда уже появились 386dx процессоры. И нужно только повторить уже работающие программы на новом уровне, тра-та-та коржик с маком.


Well, supposedly - we will go the other way (reliable). Windows only, high level languages only, standard graphics libraries like Vesa only. Moreover, 386dx processors had already appeared then. And you just need to repeat already working programs at a new level, tra-ta-ta biscuit with poppy seeds.


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


But something went wrong, and I guess that (see the next alleged story), in the beginning they were not able to replicate the same dynamics and visual quality of the picture on the new toolkit. If they had condescended to consulting with me, perhaps they would have been helped out by the implementation of software synchronization with a farme pulse, even in the context of the stupid tools they used.


Потом они попытались подсунуть заказчику, совсем тупую схему игровой части - в плане (не 3Д) и без курсоров. И узнали, видимо, все что заказчик про них подумал. Потом они попытались хотя бы отладить плохо работающую программу. Но в условиях лютой ненависти к ассемблеру - 0 шансов. И наконец они взмолились (шучу:) ко мне - типо ну смотри твое детище жаждет переродится в новой ипостаси. И я, в момент завершения “чудовой” программы (аналог систем репликации), вместо того чтобы собирать “пряники”, помчался на крыльях любви, какие обиды когда дитятко плаче.


Then they tried to slip to the customer a completely stupid scheme of the game part - in plan (not 3D) and without cursors. And they learned, apparently, everything that the customer thought about them. Then they tried to at least debug the badly working program. But in conditions of fierce hatred for assembler - 0 chances. And finally they prayed (just kidding:) to me - like, well, look, your brainchild is eager to be reborn in a new incarnation. And I, at the moment of completion of the “wonderful” program (an analogue of replication systems), instead of collecting “carrots”, rushed on the wings of love, what insults when a child cries.


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


Then there was an epic with debugging, a new dispatcher and a graphics library, a new language/interpreter, a player from a disk and much more - work and be happy, but this turned out to be the latest version of our simulator. For reasons and conclusions, see the last story.

3

Первая предполагаемая история вокруг кадровой синхронизации.

Мои интерпретации ниже приведенных фактов требует подтверждения, но аналогии интересны сами по себе - судите сами:

  1. В 2010 году, профессор Корнельского университета компьютерных наук Кен Бирман предложил технологию вертикальной синхронизации VSync, которая предложила геймерам решения различных проблем во время игр и именно проблемы подрыва перестроения кадров. (VSync: History, Origin, and More) - урезанная версия нашей технологии. Без подстройки фазы синхронизации от объема перестроений в кадре для конкретных игр.

  2. В 2012 компания NVidia внедряет свою первую версию технологии G-Sync для адаптеров GeForce-680, которая среди тех же назначений имела технологию адаптации кадровой частоты монитора естественно при использовании аппаратно адаптируемых версий мониторов и адаптеров. Однако до подстройки фазы, похоже, дело дошло в поздних версиях технологий. (GeForce 600 series)

  3. В 2014 компания AMD внедряет свою чисто программную версию адаптации к кадровым импульсам - (FreeSync an adaptive synchronization technology).

  4. В 1996 году наша компания P&P Service презентовала в МО МД 3-версию нашего тренажера с технологией вертикальной адаптивной синхронизацией к кадровому импульсу и среди прочих гостей, одна копия программы была подарена американскому военному послу, присудствовашему на презентации.

Я не на что не намекаю, но 15 лет форы мы бездарно просрали.


The first alleged story is around frame sync.

My interpretation of the facts below requires confirmation, but the analogies are interesting in themselves - judge for yourself:

  1. In 2010, Cornell University computer science professor Ken Birman proposed the VSync technology, which offered gamers solutions to various problems during games, namely the problem of undermining frame rebuilding. (VSync: History, Origin, and More) is a stripped-down version of our technology. Without adjusting the synchronization phase from the amount of rebuilding in the frame for specific games.

  2. In 2012, NVidia introduces its first version of G-Sync technology for GeForce-680 adapters, which, among the same uses, had monitor frame rate adaptation technology naturally when using hardware-adaptive versions of monitors and adapters. However, phase adjustment seems to have come down to later versions of technology. (GeForce 600 series)

  3. In 2014, AMD introduces its purely software version of adaptation to farne pulses - (FreeSync an adaptive synchronization technology).

  4. In 1996, our company P&P Service presented the 3rd version of our simulator with the technology of vertical adaptive synchronization to frame pulse at MO MD and, among other guests, one copy of the program was gifted to the American military ambassador who was present at the presentation.

I'm not hinting at anything, but 15 years of handicap we mediocre pissed off.


4

История последняя и печальная.

К сожалению, как уже было сказано 3-яя версия оказалась последней, почему:

  1. Провальная работа менеджеров как МО так P&P в попытках продать тренажер другим. После успешного участия на выставке вооружений в Польше, возникло ложное ощущения, что вот мол как набросятся все в очередь, между тем пробится на специфический рынок вооружения это не фунт изюма на базаре продать.

  2. МО запустило новый проект тренажера для СТРЕЛЫ, но между P&P и МО появился хитрый перец (Пержу из ТУМ), которой обманом представил наш тренажер потенциальным инвесторам как якобы им руководимый и уговорил их начать новую разработку под его руководством, а он якобы уже с нами договорится. Но условия его никого не впечатлили, они набрали студентов, и по моим сведениям успешно все похерили.

  3. В недрах P&P также не нашлось никого, кто поверил бы в перспективы наработок, например в игровой индустрии. Слишком сложно все и рискованно разрабатывалось и не в последнюю очередь, негативную роль сыграла большая зависимость от одного разработчика. Ну не хотел никто больше тратить свои ресурсы на освоение якобы бесперспективного ассемблера. Впрочем, как показало время они были почти правы. Почему почти? Потуму что, на мой взгляд нет ни одной объективной причины, почему ассемблер не занял доминирующего положения. С помощью макросов он прекрасно развивается до всех современных плюшек высокоуровневых языков, а причины в капризах рынка, как и лучшая на мой взгляд архитектура процессора DEC оказалась в тени унылого говна под названием х86.


The last story and sad.

Unfortunately, as already mentioned, the 3rd version turned out to be the last one, why:

  1. The failed work of managers from MO and P&P in an attempt to sell the simulator to others. After successfully participating in an arms exhibition in Poland, a false feeling arose that they say how everyone will pounce in line, meanwhile, breaking through to a specific arms market is not a pound of raisins to sell in the market.

  2. MO launched a new simulator project for ARROW, but between P&P and MO appeared a cunning pepper (Perju from TUM), who tricked our simulator into potential investors as allegedly led by him and persuaded them to start a new development under his leadership, and he allegedly already agreed with us. But his conditions did not impress anyone, they recruited students, and according to my information, they successfully screwed everything up.

  3. In the depths of P&P, there was also no one who would have believed in the prospects for developments, for example, in the gaming industry. Everything was too complicated and risky to develop, and last but not least, a large dependence on one developer played a negative role. Well, no one wanted to spend their resources on mastering the supposedly unpromising assembler anymore. However, as time has shown, they were almost right. Why almost? Because, in my opinion, there is not a single objective reason why the assembler has not taken a dominant position. With the help of macros, it perfectly develops to all modern high-level languages advantages, and the reasons are the whims of the market, as well as the best DEC processor architecture in my opinion, turned out to be in the shadow of a dull shit called x86.






 04. RA - Предистория : Prehistory


  1. Введение : Introduction


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


Below is a list with a brief description of those of my projects that significantly influenced the origin of the ideas underlying RA:

1983 - Compiler for MP-K580.

1985 - Interpreter for ARPM.

1986 - Compiler for RAPIRA-4.

1989 - Compiler/Linker for graphical processor VRDP.

1991 - Macro Extension to Bit Depth rising for fixed point arithmetic.

1993 - Asynchronous dispatching scheme for Non Linear Video Editing System.

1995 - My most important project - “Konkurs/Fagot - ATGM Training System”.

1995 - My Original version of database replication systems.

2000 - My most unsuccessful project - “Automated translation system for couples: English/Romanian”

2010 - Interpreter for structural integrity description language.

1983

Язык описания систем булевых функций с транслятором для микропроцессора К580. Мне досталась ⅓ часть - синтаксический анализатор. Успел реализовать два варианта (IBM-DOS/PL/1):

  1. Построение дерева разбора на иерархии операторов IF … ELSE

  2. Построение таблиц состояний верных/ошибочных переходов для каждого символа/слова/конструкции.

Естественно вариант (2) мне сильно нравился перспективами построения Мета Транслятора без единого оператора IF. Но отладка таблиц состояний в контексте слабых выразительных средств PL/1 оказалось тем еще трешем.


Boolean function system description language with a translator for the K580 microprocessor. I got ⅓ part - the parser. Managed to implement two options (IBM-DOS/PL/1):

  1. Building a parse tree on a hierarchy of IF … ELSE statements

  2. Construction of tables of states of true/erroneous transitions for each symbol/word/constructions.

Naturally, I really liked option (2) because of the prospects of building a Meta Translator without a single IF statement. But debugging the state tables in the context of PL/1's weak expressives turned out to be a real mess.

1985

Язык описания раскладки и пайки микросхем для автомата АРПМ и генерации управляющей перфоленты (HP/PLOS/Assembler). Опять таблицы состояния, опять треш в условиях невероятно тупой архитектуры процессора, но в результате моментальная реакция на ошибочный ввод и контекстная подсказка.


The language for describing the layout and soldering of microcircuits for the ARPM machine and the generation of a control punched tape (HP/PLOS/Assembler). Again, status tables, again trash in an incredibly stupid processor architecture, but as a result, an instant reaction to an erroneous input and a contextual hint.

1986

Язык описания графических объектов - РАПИРА-4. Компилятор управляющей перфоленты или записи на магнитной ленте для графопостроителя DIGIGRAF. Традиционное дерево разбора на IF..ELSE из-за сложного синтаксиса, включающего описание и вызов библиотечных элементов, условные и операторы циклов, сложные алгебраические выражения. Обратная Польская запись для интерпретации алгебраических выражений, полная схема многоуровневого асинхронного обмена с устройствами. (DEC-DOS/Fortran, Macro Assembler)


The language for describing graphic objects - RAPIRA-4. Control punched tape or recording on magnetic tape compiler for the DIGIGRAF plotter. The traditional parse tree on IF..ELSE due to the complex syntax, including the description and call of library elements, conditional and loop operators, complex algebraic expressions. Reverse Polish notation for the interpretation of algebraic expressions, a complete scheme for multilevel asynchronous communication with devices. (DEC-DOS/Fortran, Macro Assembler)

1989

Язык для векторно-растрового графического процессора (аналог Texas Instruments/DEC-RSTS/MASM). Реализация транслятора на макросах, что помимо прочих плюшек, добавило многомодульность задаром. Первая в Молдове реализация пропорциональных шрифтов, построение множества Мальдеброта в формате 256 цветной картинки из палитры 16 млн, с динамической анимацией смены палитры. (Система субтитрирования для МД-ТВ)


Language for vector-raster graphics processor (similar to Texas Instruments/DEC-RSTS/MASM). The implementation of the translator on macroses, which, among other goodies, added multi modularity for free. The first implementation of proportional fonts in Moldova, the construction of the Maldebrot set in the format of 256 color images from a palette of 16 million, with dynamic animation of changing the palette. (Subtitling system for MD-TV)

1991

Язык динамически расширяемого битового разрешения переменных для арифметики с фиксированной точкой. (х86/MS-DOS/Quick-C, MASM) Видимо один из первых заглянул в глубины множества Мандельброта на уровне 8 х 16 = 128 битового представления переменных, но ничего нового там не увидевшего :)


Language of dynamically expanded bit resolution of variables for fixed-point arithmetic. (x86/MS-DOS/Quick-C, MASM) Apparently one of the first to look into the depths of the Mandelbrot set at the level of 8 x 16 = 128 bit representation of variables, but did not see anything new there :)

1993

Сложная схема асинхронного управления устройствами включая видеоадаптера и видеомагнитофона. Первая в Молдове система цифрового нелинейного видео монтажа для P&P Service. (x86/MS-DOS/Quick-C, MASM)


A complex scheme for asynchronous control of devices, including a video adapter and a video recorder. The first digital non-linear video editing system in Moldova for P&P Service. (x86/MS-DOS/Quick-C, MASM)

1995

Самый важный для меня проект - “Тренажер для оператора управления противотанковыми ракетами типа Конкурс/Фагот для Министерства Обороны Молдовы”. Проект настолько сложный и поучительный, что решил описать его подробнее см. документ “Note.1: History of Konkurs/Fagot training system”. Не обошлось без нового транслятора для языка описания учебных тем включающего интерактивное взаимодействие пользователя с видео/анимационными графическими схемами управления устройством. Первый в Молдове плеер видеоклипов реального качества с диска, т.е потенциально большой длительности. (x86/MS-DOS/Quick-C, MASM)


The most important project for me - “A simulator for the operator of control of anti-tank missiles of the Konkurs/Fagot type for the Ministry of Defense of Moldova”. The project is so complex and instructive that I decided to describe it in more detail in the document “Note.1: History of Konkurs/Fagot training system”. Not without a new translator for the language of description of educational topics, including interactive user interaction with video / animation graphic schemes for controlling the device. The first player in Moldova for video clips of real quality from a disc, that is, potentially long duration. (x86/MS-DOS/Quick-C, MASM)

1995

Система поддержки ведения распределенных баз данных. (Win-95/VBasic, MS.Access). Всего через год в Access-96 появилось собственное встроенное решение - поддержка репликаций, мне часто так не везло:). Мое решение оказалось гораздо эффективнее по критериям скорости, памяти, перспективности, но менее эффективно по критерию гибкости применения. В решении от MS используются традиционный подход добавления к каждой записи таблиц БД глобального ID (GUID), а в моем подходе, используется дополнительные таблицы описания рангов всех связей БД и процедура синхронизации различных реплик БД производится в обратном порядке рангов объектов БД. Т.о. в моем решение, необходимо до описывать БД и часто включать спец решения для всех “не строго реляционных отношений”, но хорошо что, число типов тупостей в схемах БД невелико:) Это решение стало важным этапом в зарождении идей легших в основу RA.


Support system for maintaining distributed databases. (Win-95/VBasic, MS.Access). Just a year later, Access-96 introduced its own built-in solution - replication support, I was often so unlucky :). But my solution turned out to be much more efficient in terms of speed, memory, prospects, but less efficient in terms of application flexibility. The solution from MS uses the traditional approach of adding a global ID (GUID) to each record of the database tables, and in my approach, additional tables describing the ranks of all database links are used and the synchronization procedure for various database replicas is performed in the reverse order of the ranks of the database objects. That. in my solution, it is necessary to describe the database before and often include special solutions for all “not strictly relational references”, but it’s good that the number of types of stupidity in database schemas is small :) This decision was an important step in the engendering of the ideas that formed the basis of RA.

2000

Система автоматического перевода для пары: Английский/Румынский. Остановлен на уровне 33% готовности. Тот случай, когда ошибки оказались полезными в развитии идей. Мало вразумительные попытки описания грамматик натуральных языков развились до идеи универсальной структуры описания как натуральных так формальных языков.


Automated translation system for couples: English/Romanian. Stopped at 33% readiness. The case when mistakes were useful in the development of ideas. Little intelligible attempts to describe the grammars of natural languages have developed to the idea of a universal structure for describing both natural and formal languages.

2010

Очередной интерпретатор для весьма перспективного языка описания структурной целостности основанного на идеях сигнатуринга - “Восстановление сложных файлов типа видео/MPEG путем описание целостности структуры многочисленных сигнатур типовых элементов (конкретные пакеты байт для различных типовых элементов видео форматов данных)”. Реально работающая утилита для форматов m2t и mxf/P2/Panasonic. “Структурный сигнатуринг” - претендует (в моем воображении) на описание систем безопасности, авто логирования и детектирования типовых поведений и реакций живых и формальных систем.


Another interpreter for a very promising structural integrity description language based on the ideas of signature - “Recovery of complex video/MPEG type files by describing the structure integrity of multiple generic element signatures (specific byte packets for different generic video data format elements)”. A really working utility for m2t and mxf/P2/Panasonic formats. “Structural Signature” - claims (in my imagination) to describe security systems, auto-logging and detection of typical behaviors and reactions of living and formal systems.