Begin.
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. :)
Highschool work: Spiru Haret
using Texas Instruments 9000
- "Cat and mouse" game: Keyboard wrecking chase in several mazes, for two players;
- unnamed math/graphics: small program to allow displaying the graph of a 1-variable function given by the user; it had zoom on both axes and was handling some cases of infinity :);
using Sinclair ZXSpectrum+ and compatibles
- "Invaders" game: Simple and bulky version of the more than known Arcade - my first!;
- "Stylus" authorware: My first stab at Assembly Language (Zilog80, I8080) - user-defined font (an archaic version of TTF :) and basic drawing tools in a descriptive language superset for the Spectrum BASIC; my teacher of Romanian Language in highschool needed a tool for class presentations so I made her one for her;
- "Attack!" game: My first complete Z80 Assembly compilation - scrolling random terrain and a plane bombing targets... I adapted it after a Basic program I found in a magazine, so it's also my first porting job ;)
- "Hermes" game: Combination of BASIC with Assembly code. A quest to find pieces of the "family tree" of the Greek Pantheon. didn't quite finish it -- I ran out of inspiration for the plot and time for development;
- "Abla Español" courseware: part of a team, we put together a foreign language series of computerised class presentations after the plan made by our professor for his Ph.D. examination;
- "Mechanics, Electrodynamics, Heat" courseware: Three Physics highschool courses in my first attempt at interactive database design; in Spectrum Basic;
- "The Path of Dr.Justice" game: Combination of generic fighting (composite
sprites on fixed background) and arcade/quest (one-piece sprites on scrolling background);
- "Lasers in calibration" courseware: Classy presentation for a Physics experiment pioneered by a friend and classmate; the experiment was registered as an invention; (have to look up the references)
- "MonPlot" interface: Was my highschool-leaving diploma Project... mechanics - an X-Y plotter (on paper it had three pens but on the prototype, I was using only one); hardware - an 8-bit parallel interface driving the mechanics; software - an Assembly driver for the hardware and a Logo-like user interface implementing three graphic primitives point, line, circle; never managed to write a script interpreter for it;
- "Functii" courseware: a refined version of one of my TI9000 programs, it added function composition, panning (moving the 'viewing window' up-down or left-right on the two axes) and calculating (displaying too) the first and second derivate functions of the given one; small presentation for a Calculus class, whipped up during a National Computing Camp; I was planning to tie it in the plotter interface; I mistakenly passed a current > 15Amp through the NULL of my computer (I know coz' it managed to burn the fuse for four apartments in my block...)
- Lots of unfinished projects of games and diverse utilities; either I found something better done by others, or I didn't have time for them;
Personal problems shook my reality and I missed the exam for the Computers class in the Romanian Politehnicã. I got employed in the computer staff at the Romanian Building Research Institute (INCERC), the Earthquake Engineering Department.
Work at INCERC
- "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!
):
- "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,
hell, I won't list all of them...
- 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 'I' 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 society model; 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
;
- "PresentaTHOR" authorware: Three-part project: 3D object editor, 3D
object browser and presentation manager; in Pascal; waiting for a port to BC++ (or better);
- "Hi!" graphical file manager: for computers with VGA (mode 19);
in 8086 Assembly; was supposed to implement animated windows and document-oriented file handling. we (the team involved) never finished it;
- 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 :); MFC on Watcom C++ -- eeew, gross!
- "MonADA" PL: dropped; was supposed to be an interpreter for ADA 9X; for
Windows; in BC++.
- "MonDis" BNF semantics interpreter: still in the making
- "MneMonic" experiment: my Senior Project, an experiment in a
semiotic application of a neural net... still in the making...
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 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;
Work at the NBU COGS Department
I was a technical/research assistant in the NBU COGS Research Lab and now I moderate its discussion group.
- Conv-X (the starting point for MoStaCon): a suite of perl data filters for the following experiments:
- Context Effects on Choice in Decision-Making and Context Effects on Evaluation (both supervised by Assist. Prof. Boicho Kokinov),
- Effects of Gender Agreement on Picture Naming (supervised by Assist. Prof. Elena Andonova),
- Norming of Picture Naming (international effort led by Elizabeth Bates of UCSD),
- Lexical Access of Nouns and Lexical Access of Verbs and Adjectives, (both part of a study supervised by Assist. Prof. Elena Andonova),
- Imagery Use in Understanding Idioms Cross-Culturally (leading to the defense of the Master's thesis of Armina Djanian),
- The Role of Gender and Number Markers on Language Processing in Romanian and Bulgarian Monolinguals and Bilinguals (leading to the defense of the Master's thesis of Mugur Badarau),
- Saturation Effects on Lexical Access (supervised by Armina Djanian)
- Word Frequency: small tool for calculating objective word frequency in given (text) files;
End.