Radu Luchian(ov): Portfolio:
Programming

Begin.

This page is (still) organized to present my projects in chronological order by the institution with which I was affiliated while working on them and then by the platform they were intended to work on:
Spiru Haret, INCERC, AUBG, NBU. Work I currently do at Carleton is on my current projects page.

Intro blurb

I never had a great relationship with my Dad, with him being away most of the time and all, but he did teach me two very important rules of life:

But how do you deal with the immensity of knowledge necessary to be even a passable programmer? Currently, I tried databases and knowledge bases, and expert systems, I even designed my very own cognitive architecture (all listed below), and I'm still miles away from real computer-human interfacing. Something that would allow me to use the right tool for the right job without having to depend on thousand-dollars worth of software.

Here you can find mostly software projects which I either finished or abandoned. For projects still on the drawing board, please see my list of current ones. My other portfolios available now are: Generic and Cognitive Science. Or you may want to see why I consider programming a worthwhile pastime.
I'm trying to make this list comprehensive, so don't laugh if you see some little feat presented here. smile I'll also be bringing some of these on-line as archives or more detailed descriptions, as time allows; If you want to see (or get) any of them, please see this page.

If you want me to modify one of these for your use or develop something new, see this page.

Spiru Haret High

using Texas Instruments 9000

using Sinclair ZXSpectrum+ and compatibles

Work at INCERC

using Sinclair ZXSpectrum+ and compatibles

  • "Deviz" database: for the use of our Dept.; it was calculating the internal cost of a project starting from materials, man-hours required, and other parameters, or the other way around, from a given cost, computing man-hours necessary; During the weekends I was translating cartoons from English and French for the Romanian Television.

    using PDP11

    So, working on other peoples' projects, I left mine on the waiting list in their folders. But I had enough to do. I'll list two of the small tricks I put together to ease my work; they were sort of a user-interface creation system on an enhanced (DIGITAL) PDP11 clone, the Romanian CORAL4020 (multitasking, tapes, text terminals, ay-ay! smile):

  • "Draw" design: small routine for VDT52 graphic terminals; I was using the escape sequences to combine text and graphics in 'help' screens for different programs;
  • VMS task automation - a series of shell routines which would run a series of programs in the order decided by the user, while passing the results from one task to the other;

    using IBM-PC compatibles

    Then, when the Dept. got a couple of PCs, I zoomed back to the PC World which I had met briefly in highschool. There I was hacking translations into Romanian of existing programs with PCTools' disk editor, on a poor clone of IBM XT, and also learning a third implementation of Basic.

  • "BacList" database: Limited GWBasic database system for my ex- high school; it computed, sorted and enlisted the bacalaureat grades; first time I had to learn a printer 'language'

  • While working at INCERC, I started learning AutoCAD from computer magazines; then used it for precision drawings, for digitizing and cataloging existing drawings and building plans; made custom menus and a small and handy blocks library... etc; wrote a small LISP program to export digitized seismic data;
  • I had to learn, teach others and fix the problems that appeared in different versions of: SAP, CASE, WordPerfect, WordStar, Windows, Excel, Word, MathCAD, and more...
  • As I mentioned, we were using an accurate Digitizer for many of our tasks; the most important task was digitizing seismic data; before I found AutoCad, I had to use some Assembly, FORTRAN and Pascal for programming the digitizer through the serial port of the PC;
  • There was a chain of mathematic functions to be applied to the digitized data, selected and ordered differently, depending on what results the researchers expected; since my code was reading the data from the digitizer, I had to do the low level of the program chain; I left for AUBG before finishing a user interface for that program chain.

    From here on, my 'career' moved together with me at the American University in Bulgaria (AUBG).

    Work at AUBG

  • "MonEd" editor: full-screen text editor, parts �Ronald Salley (my professor, who furnished a handy unit; my first COS Project @AUBG; in Pascal;
  • "Books" and "Things" databases: I keep improving these, to help myself, Mom and hopefully my wife to keep track of household... er... things... and my many collections; developed first in Approach, then ported to FileMaker;
  • "Poll?" database: VERY simple database (in Pascal) which I wrote to help me sort through the (80 x 50 = 4000) answers to a SOCiology poll;
  • "JMC Stat" database: the most complex database I worked with until Z Big Dig Database (see below); for statistical analysis of four daily newspapers, two weekly magazines, radio and TV during four weeks, every entry cross-referenced by three students; collects the data, in coded form and exports it in 'chunks' manageable by Excel∧co; still in Pascal;
  • "Mince'Em" courseware: From MINority SIMulation. Expert system shell, applied to monitoring the evolution of a computer model of a society; first in Pascal, then in Arity Prolog;
  • "Battled Ships" game: Adaptation for SCO Unix' cshell of the age-old 'sink-the-ship' game, for player vs. computer or player vs. player; funny, on every operating system I worked, I started with a game implementation smile;
  • "PresentaTHOR" authorware: Three-part project: 3D object editor, 3D object browser and presentation manager; in Pascal; was waiting for a port to BorlandC++ (or better);
  • "Hi!" graphical file manager: inspired by Windows2 for computers with VGA (mode 19); in 8086 Assembly; these days you'd call it an augmented window+desktop manager; was supposed to implement animated windows and document-oriented file handling. The team I was involved in for it never finished it, we bit more than we could chew at the time;
  • Switch: a small trains-routing system featuring Windows OOP and a graph-traversal algorythm (my version of traveling salesman's path - I foolishly thought I could improve it smile; MicrosoftFoundationClasses on Watcom's C++ -- eeew, gross!
  • "MonADA" PL: dropped; was supposed to be an interpreter for ADA 9X; for Windows; in BorlandC++.
  • MonDis: BNF semantics interpreter to automate complex recursive descriptions of syntax and actions (one of the predecessors of MneMonic, HYMNS and the planned Na2FoLa - see current projects)
  • MneMonic experiment: my BA Senior Project, an experiment in a semiotic application of a neural net... still in the making - see current projects
    About these three "still in the making" projects: I was planning to finish them before leaving AUBG, but the schedule I got into for that summer made that prospect impossible... I'll need to take a couple of months off (or years, maybe when I retire) to do them -- If I'll have the oportunity. For now the two of them I'm interested in are on my current projects page.

    using MACintosh(es)

    I paid with lots of 'what-ifs' (including crapping my BA in Computer Science and a large 'chunk of freedom') for some access to hardware from the US, for learning the MacOS from System 5 to MacOS 8 and developing the projects listed here, but I've also been payed for my time, so these projects are (c)1993-1999 SESC@AUBG and will not be available here for download. If you're interested in any of them, contact Mark Stefanovich. And I also learned that friendship can be misused as a manipulating device: making people happy to do someone else's work.

  • "Z Big Dig Database": A HUGE database, dangerously evolving towards an expert system for Field Archaeology of the Bronze Age; or for any period for the matter! I started developing version 1 in Microsoft Access and then ported it (version 2) for ACI's 4D for MACintosh; version 3 was an aborted attampt at coding it in perl and JavaScript; version 4 is available cross-platform through the FileMaker 4 DBMS from Claris.
  • "In the Memory of J.H.Gaul" DTP: (this is not quite 'programming project', but with all the applications I worked with -- and now I know these applications inside and out -- it's worth to be listed here) the layout of a collection of articles on Balkan Archaeology; including handling images (grayscale, retouched, manually streamlined, drawn from scratch, etc, etc), cross-platform document de-Babilonizing (job for which I got paid and mentioned somewhere deep in the interestingly-spelled Foreword);
  • Chuka Pres MMPresentation: a (lenghty) presentation of the different facets of the archaeological excavation at which I spent all my AUBG summers;

    Internet

  • WebDesign lists my web-oriented work;
  • an FTP client and a WWW server (really, there are better tools around for these tasks; I had in mind some other projects for the course in Networking, but the professors disagreed, so I did my least.);
  • A couple of perl CGI utils for automating data entry for an utopic Information System for the AUBG: homePage maker and CV maker;
  • HYMNSa>: a modular Web Design tool, written in JavaScript and perl; that is, if you have a ISAPI-compatible web server (I use link outXitami: it's FREE), you can use any web browser as a web area editor; I abandoned this in favor of implementing it in MonDoc.

    Work at the NBU COGS Department

    I was a technical/research assistant in the NBU link outCOGS Research Lab and now I moderate its link outdiscussion group.

  • Conv-X (the starting point for MoStaCon): a suite of perl data filters for the following experiments:
  • MoStaCon: an interface to experiment design, data formatting and statistics - the implementation of the current topic of my Master's Thesis; version alpha 0.20 is the current version, and its engine, MonDoc is about to be completely rewritten. That means still usable only in view mode smile
  • Mail2Txt: small hack-of-a-script to convert HTML form output to readable email messages;
  • Word Frequency: small tool for calculating objective word frequency in given (text) files;

    End.