Short CV of M.T. Verelst

Curriculum Vitae Theo Verelst August 1998

Personal Data

Marinus Theodoor Verelst (Theo)
van Bossestraat 99
1051JW Amsterdam

born: the Hague
marital state: unmarried
sofi nr.: 144723827
drivers license: Yes ('B')

phone (via): 0651910239


pre-university: Zandvliet ongedeeld VWO, Den Haag 1978 - 1984

University: Technical University of Delft Fac. of Electrical Engineering
Master thesis in: Network Theory Section, E. Deprettere, Prof P. Dewilde.

Experience: University: during graduation project and subsequently as University employee with amoung others as purpose a PhD: the design and implementation of a system for rendering complex computer graphics scenes.

Keywords: state of the art computer system design, graphics issues: ray tracing, radiosity, also algorithmically, modeling, graphics model languages, large interactive (in core and on disc, also persistent) databases Nurbs (Rational Cubic Bezier Splines) subdivision based rendering chips and software; run-time scheduled non-regular system design and simulation, also methodology, including process theory, 3D math, including a (new) bounding box estimation for spherical coordinates, concept and implementation of (efficient) distributed rendering system, and hardware system simulation. Graphical user interface for distributed radiosity software, decoupled over (ascii) a network link. Design of messaging protocol between host and (DSP based) accelerator engine, and its (working) distributed workstation (Hewlett Packart and Sun) simulation.

I did the design and implementation of an automated measurement system for measuring the analog line transmission properties of corporate telephone exchange units (PABX), with the dutch telecom company (at that point passing on from being a gouvermental organization PTT to be a independent company KPN), section DWB2 'directorate of corporate telecom systems'

I've set up a private company (2 persons) 'The Source Computing', for teaching Unix/C courses, and writing and starting to commercialize the software packet 'PULS' I wrote, an integrated database maintenance, fast search engine, and real time MIDI interface package for categorizing transfering, and experimenting with DX-7 synthesizer sounds.

I have a lot of experience with design and implementation of electronical digital (computer) circuitry, already before university.

I have major or reasonable knowledge of the following programming languages and environments: C, Unix, objective C, communicatie (sockets, client server), shells, Tcl/Tk, Basics, Lisp, Z80 en 68000 assembly, AVS applications, Khoros, Bones network simulator, C++, Java, (P)Spice.

Lately I've focussed on some long-term interests, and set up the following for that:

An interactive 'block' editor supplied with with tcl/tk functions and blocks

A multithreading environment with a fast, socket-compatible, communication interface between threads and low thread switch latency.

Couplings between various programming environments such as tcl/tk, and C and Java.

3d graphics examples with the 'Mesa' (opengl) environment.

Audio processing frame and examples, including physical modeling and additive synthesis, sample processing , drum track generator and various effects.

A number of digital and electronical designs and circuits, succesfully simulated (latter part of the page) with Microsim (containing PSPICE), including analog synthesizer basic building blocks (see also a synthesizer company aimed cv ).

Prototype (physical) implementation of various circuits: a microprocessor design, a switched filter, a PWM example, a fast DA converter and sample and hold, and some more.

Lately I've been working on (windows95) PC's, with, amoung others, the Cygnus (GNU based) C(++) compiler and UNIX-like environment, before I've worked with trs80, BBC electron, and Atari ST (Z80,6502,68000,all including design and implementation of interface circuitry and added analog and digital hardware), various workstations and mini's, mainly HP (720) and Sun (Sparc).

'pcom', is a tcl/tk tool to connect up two parties for combined mutual file system access and 'talk', that I've done in a few work days, it nicely shows what tcl/tk can be up to.

I've been working with the TMS320C62(7)02 simulator that Texas Instruments recently made available for their evaluation board (200MHz, 1.6 Gflops max, .7 Giga byte /s bus, PCI interface with complete set of DMA functions, will add a few pages), that even allows the counting of clock pulses for critical code segments for pipelines (parallel) code, and has Ansi C.

Motivation for my interest in networking

My interest is based on connection-core to application coverage of distributed processing. I would like to asses how General Purpose network elements function as substrate for Distributed Processing, with both scientific and upcoming general application level multiprocessing in low and medium (price) level distributed systems in mind, such as for graphics, multimedia, multimedia-conferencing, and entertainment software.

small or local scale

Various network types allow more or less efficient distributed processing, but the quest for bandwidth and short delay times remains a challenging one, especially considering the rapid increase in processing power even on relatively cheap PC's, which are often still connected over ethernet.

Even when small ethernet segments are connected with high 'lump sum' (overall) bandwidth the maximum per-node data rate is still at best a little under 1 mega byte per second, which is not too much, compared to AGP bus specs, to mention a current-day standard used for instance in high performance graphics rendering.

Upgrading to higher performance LANS is relatively costly, and will normally not approach real high overall multiprocessing bandwidth. ATM type of links offer significant bandwidth, and do allow fairly fine grained messages to be sent, but are not primarily intended for DP applications, though efficient path and channel setup facilities and flexible, preferably near non-blocking QOS resquest handling could deliver a good DP infrastructure, albeit relatively costly (I think).

Maybe dedicated (closed) local networks with limited wire span width could be appropriate, say a PCI based straightforward DMA packet switch configuration. It would be a challenge to consider and look into such questions, in a top level networking environment.

The general form to make such facilities available at session, presentation, and application layer is added challenge especially considering that even though TCP packet handling is not too far from DMA type of interconnect (except for preferred high level only, course grained reliability / error detection facilities), the common 'socket' interface has several shortcomings in that respect, even though the read/write functions passing iov structures could be used advantageously.

Large scale, consumer orientation

The main development to be expected in networking is the increase of the number of connections in homes and small offices, and their increased quality. Analog modems have reached their limits at 56k6 bit per second, and it may be expected that many people will want more bandwidth in due time, for instance for multimedia (video, high quality audio) applications.

There lies a main technological and management challenge to give many consumers this possibility for a fair price, with sufficient flexibility, and with an interesting growth path, ranging from the choice of carrier and good use of the existing one's to the application of (tcp/ip ?) to a Residential BroadBand network that will continue to very rapidly increase in size and required bandwidth.


Specificatie opzet eigen bedrijf activiteiten, research, ervaring 1996 – heden


1996 –1998

· synthesizer electronica en microcomputer ontwerp en prototypering.

· verscheidene electronica ontwerpen en computer simulaties en web paginas

· Ontwerp en implementatie van verscheidene packages:

een blok gewijze editor voor ontwerpen en runnen van netwerk structuur gebaseerde applicaties

- Pcom

een communicatie module à la aol or 'talk' met ingebouwde ftp server/client voor uitwisselen van berichtjes en files en remote script uitvoer tussen twee computers, met graphische interface

- 3D graphics rendering programma prototype een op Mesa (OpenGL) gebaseerde applicatie voor het renderen en interactief manipuleren van 3D voorstellingen, met real time inter-applicatie message interface

- Drumit

een sample processing en (synthetische + sample) drum track applicatie met command line interface voor batch processing. Er is een koppeling met Bwise met een grafisch block voor interactief programmeren van drum tracks, die dan door de sample processor kunnen word gerendered tot wav file


Synthese van additief (sinus) gebaseerde golfvormen




1998 –1999

· Temporary jobs at call centre and for windows installation support

· Werk bij een gallery om digitale foto’s te maken van schilderijen, die te bewerken, in

hoge kwaliteit af te drukken, en in een database beschikbaar te maken en op web sites

te presenteren,

· Andere, niet direct computer gerelateerde activiteiten zoals het prototyperen en

onwikkelen van audio systeem componenten

· Veel werk met Photoshop techniek en quantitatieve hoge productie van digitale camera

photo’s en bewerkingen, opzet en uitbreiding van verschillende web sites, opzet en

prototype picture database met webserver gebaseerde data invoer en presentatie

mogelijkheid voor middelgrote doel schilderijen database (tot ca 20.000 werken)

· De server is direct geschikt voor maar niet beschikbaar op het internet, en bevat

automatische zeer compacte en hoge kwaliteit jpeg conversie module (in C), de

database zelf is geschreven in tcl(/tk), gebruik makend van eenvoudige, voor gebruikers

zelf te onderhouden file structuur en formaten, die automatisch in webpagina formaat

worden geconverteerd

· Vanuit bestaande en eigen digitaliseringen zijn vele foto’s en bewerkingen en artwork

voorstellingen in hoge kwaliteit afgedrukt en gedrukt, onder andere advertenties, een

boek, en een paar glossy flyers (QuarkExpress)

· Enkele werkende JAVA experimentele programma’s, geschikt als basis voor

toekomstige applicaties, waar onder netwerk client/server applets,

(examples:, met geteste inter-

connectiviteit met tcl en C gebaseerde netwerk modules

· Experimentele (operationele) automatisch naar mpeg (3) converterende audio file

webserver, en web interface for text gebaseerde audio sequencer op basis van

een netwerk voorbereide versie van Drumit

· Simulaties voor zeer snelle TI Digital Signal Processor, met Texas Instruments DSP

development environment, o.a. voor ‘string simulator’ core code.

· Also, packages:

Physical modeling simulator, een simulator voor de geluidsgolven in een (bijvoorbeeld guitaar) snaar, met audio uitvoer mogelijkheid en koppeling voor interactieve graphische interface, gedurende simulatie

Yet another Java Application, a java prototype applet met mogelijke toepassing in

lijn met Bwise, voor interactieve grafische blokken en draden in een netwerk





2000 – heden

· Geluids synthese research en ontwikkeling van een audio (muziek) synthesizer

systeem en software (Uitgebreide pagina betreffende de vorige, werkende



· Installatie en gebruik van verschillende geluid en muziek en low-level programming

gerelateerde PC en microprocessor paketten (compilers / assemblers, utilities, low

level graphische bibliotheken)

· Installatie en gebruik van muziek paketten op verschillende systemen, w.o. Steinberg

Cubase met plug-ins, en CSOUND. Voor CSOUND heb ik een interface gemaakt om

een module voor het converteren en renderen van geluiden uit een 10.000 geluiden

grote DX7 sound database, die afgespeeld kunnen worden via mijn eigen

microcomputer / synthesizer systeem.

· gebaseerd op GNU C en enige assembly een rudimentaire graphische interface voor

een prototype 3D rendering package zonder de noodzaak voor enige software

bibliotheek zoals OpenGl of Mesa, dus self-contained, en met 3D window interactie

mogelijkheid (Paar voorbeelden:

· Onderzoek naar en meerdere implementaties van analoge filter simulaties in digitale

vorm, en simulatie van het signaalpad van analoge klassieke synthesizer systemen,

en onderzoek naar de toepassing hiervan voor uiteenlopende geluidsparameter

instellingen, met audio testing via het microprocessor systeem, gekoppeld aan een

PC printer poort via een DMA interface.

· Een matrix inversie programma (mathematisch, zoals in C als in tcl)

· Ervaring opgedaan met Pearl (voor CGI scripts) en met Javascript als

interactieve web-pagina taal (voorbeelden basis pearl

log-script:, en een interactieve

javascript applicatie:

· Doorontwikkeling van verschillende programma’s en enkele nieuwe

Een additieve synthese programma onder DOS, om mijn synthesizer prototype

aan te sturen met grafische sample mixer interface en golfvorm display

voor een cursus over geluidsynthese theorie, interactief aangestuurd

vanuit JavaScript (2.0) menu’s in html frames (Wave Laboratory pagina


Bevat een digital audio filter simulatie en veel mathematische

stuursignaal voorbeelden die real time zichbaar gemaakt kunnen worden,

en fourier getransformeerd, voor golfvorm onderzoek (netscape 4.5+)




Is getest als deel van een webserver met ingebouwde tcl CGI’s, die opgebouwd kunnen worden als Bwise graphische voorstellingen, en real time de server activiteiten simuleren in het Bwise canvas. Zo kunnen bijvoorbeeld database en web page generator blokken aan elkaar worden gekoppeld en direct via intra of internet beschikbaar gemaakt worden via een efficiënte, en compacte web server.

Ook zijn er verschillende ontwikkel gereedschappen beschikbaar, en is Bwise in voortgang om als volledige menu en graphisch gestuurde applicatie beschikbaar te maken.

Met een recente Cygnus versie (2.1+) een unix achtige ontwikkel ongeving en commandline gebaseerde shell en GNU C compiler, welke ook compileert en assembleert met Pentium instructies heb ik een applicatie gebaseerd op Direct-X (6.0+) gecompileerd, en van enige aanpassingen voorzien, als voorbereiding op een mogelijke Direct-X versie van de string en analoge synthesizer simulatie programma’s.


Andere aktiviteiten

Gedurende de hele periode ben ik onderzoek gedaan in niet-computer georiënteerde terreinen, niet op een officiële positie.

Een voorbeeld van een applicatie is een griekse / hebreewse editor, gescheven in

Tcl/Tk (voorbeeld scherm

Deze editor is gebruikt als deel van de opzet van vertaal hulp applicatie, waarin als

Proxy server en web page parser ingezette tcl web server automatisch griekse woorden in een web lexicon kan opzoeken en bij elkaar in een pagina kan formatteren.

In bijna alle gevallen ben ik zelfstandig werkzaam geweest in de zin van de inhoudelijke ontwikkeling.


Talen en ontwikkelomgevingen

bwise en pcom, de (image) database en web server connectie zijn

geschreven in tcl/tk

Drumit, PMS en de 3D grafische applicatie zijn geschreven in C,

unix/linux compatible, voornamelijk under de GNU C compiler,

op verschillende systemen:

DELL, Novell, pentium 100-266

versch. PC clones pentiums rond 100 MHz, 16 Mb)

hoofdzakelijk onder windows 95, ook windows 98,

gedurende de installatie job ook enkele zaken onder Windows NT en

een complete LINUX (redhat, ik meen 6.0 of 6.1) installatie

op een compaq, met een webserver voor zowel C als tcl gebaseerde

CGI's, alleen als (volledig functionele en betrouwbare) test.

Veel image processing, webpagina en database in tcl ontwikkeling heeft

zowel op PC's als MacIntoshes (hoofdz. G3's, 128M, CD burner,

epson stylus color printer, uitwisseling mets zips) plaatsgevonden.

Ontwikkelomgevingen: mijn eigen in tcl/tk procedure bibliotheek, RHIDE en CYGNUS (cygwin), een gnu compiler (386 en pentium, met cygnus library voor UNIX type internet sockets boven WINSOCK) gebaseerde unix-like omgeving voor windows 95/98, Linux, Java JDK 1.0 en JDK 1.1 distributie onder dos en de Cygnus shell (BASH + unix utilities), Javascript (2.0) Netscape 4.5 en (program) text editors.

Enkele recente Bwise images: