
In the beginningMy affair with computers started back in 1975, when I took a course in computer science. I was 16 and intrigued. In those days, in order to run a program, one had to go down to the basement in a university building, punch each code line on a separate card, wait in line with the carefully ordered packet of cards, and ultimately hand it over to the operator at the window who, in his own good time, fed it to a huge and noisy machine. The waiting went on, sometimes for hours, until finally the output came back - a continuous, neatly folded, wide paper. The printout usually started with a banner page displaying one's name in very big letters, followed by a page of cryptic job event notes, ending with a page notifying 'Error'. A special pass drew me into the inner circle, as it granted me entry to the terminals lab. I was 17 and thrilled. I could try new ideas and see the results immediately, all printed in green capital letters on a gray 24x80 screen. I found an obscure document listing the terminal control codes, and discovered how to access other terminals in the room. At that age I could not resist the temptation: I would sometimes sit in the back row and send meticulously designed sequences to one of the other terminals just to see the guy sitting over there jump in surprise. Career
A few examples:
UI designs that span from the very limited IBM 3270 terminals with their text-only 80x24 dual-intensity green characters, through the older personal computers, like Apple II and the first DOS based PCs, to contemporary web and Windows based environments like MS-Windows and X11
A few examples:
One such protocol included a custom implementation of TCP over UDP to enable the creation of the BackWeb patented polite agent; another protocol allowed the remote execution of commands in a distributed compilation system involving Unix and DOS machines; yet another used TLI to connect the parts of a distributed database.
This object oriented database was created to be the backbone of a distributed backup system, using a subscribe/notify mechanism to implement an efficient blackboard architecture.
These animations were the innovative BackWeb infoflashes,
inspired by Jim Henson's 6.5 second spot commercials and
by Sergio Aragones' marginals in MAD magazine.
One of which was a driver for an innovative voice/fax/data modem by National Semiconductor.
Mostly variants of LZW, which I used to reduce database size and communication times.
Modems, terminals, switches, pointing devices, microphones, telephones, fax machines, cameras, cassette tape recorders, sensors...
A few examples:
From proper general-purpose programming languages, such as C++, Java, C, Pascal, Fortran, APL, Python, Prolog, Cobol, Snobol, Lisp, PL/I, Basic, several assembly languages, Javascript, Tcl, Ruby, OpenScript, to smaller special-purpose languages like HTML, CSS, SQL, bash, Toolbook ActionScript, Actor, LEX, YACC, Awk.
Object oriented design, design patterns, logic programming, functional programming, procedural languages, aggressive programming...
'Technologies' is a very broad term which includes HTML, CSS, DHTML, XML, J2EE, JSP, COM, DCOM, ActiveX, SQL, ASP and STL, as well as phrases like streaming media, N-tier architecture and many others. A few years later I moved on to more serious work. I was 23 and heading for a fascinating enjoyable career. I built whole applications, designed user interfaces, infrastructure libraries, communication protocols, created one of the world's first object oriented databases, pioneered the very first miniature desktop animations, coded device drivers and compression algorithms, interfaced an assortment of hardware devices, designed and implemented large distributed systems, learned and used dozens of programming languages and methodologies, and mastered numerous technologies. Homeware
Prior to the days of the web, I used tools like listserv, ftp and UUCP. My connection to the university Unix computer was made over a 300 baud modem, and later on over a "high speed" 1200 baud modem. Back then, it was incredible to realize that one could exchange notes and files with people living in Australia, Norway and Canada just as if they were next door neighbours.
Cthugha, a.k.a. "scope on acid", was the world's first music visualization software. A similar idea appeared later in WinAmp and in Microsoft Media Player. In my spare time I explored the world's networks. Toward the end of the DOS era I came across, really liked and made a small contribution to Cthugha.
The BBC model B computer was a real gem. Both its hardware architecture and its fast Basic variant interpreter were logical, systematic, well documented, free of design errors and a true example of conformance with the Law of Least Astonishment. I still have it and it is just as good as new.
Several examples (I couldn't possibly list them all):
I spent countless hours with a Commodore VIC-20, BBC model B, TRS-80 and Apple II, writing programs in Basic and assembly language.
With a soldering iron and a small pile of components I interfaced my home PC to the front door, the telephone (the PC made a different sound depending on who was calling), a cassette tape recorder, my 8 mm movie camera...
I created my first 3D computer animation by connecting my BBC-B to the tv and to the 8 mm movie camera. The computer repeatedly drew a frame on the tv and instructed the camera to picture it. I left the entire setup to work overnight and in the morning the film was ready. I also enjoyed spending time on one of my favorite hobbies, electronics, which helped me create some animations.
Computer viruses had been described in the scientific literature long before they became a reality. I followed closely the appearance of the first PC viruses and network worms and the arms race that followed.
A Mandrake Linux server running Apache and Postfix, plus several Windows 98 and Windows XP client machines. The Internet brought along exciting challenges: new application types accompanied by new security threats. I set up my own heterogeneous network at home, where I apply what I've learned about security, networking and administration.
HTML, DHTML, CSS and XML; Flash and streaming media; graphic file formats like GIF, JPEG and PNG; HTTP 1.0 and 1.1; PHP, JSP, ASP, SSI, CGI, and more. The concepts of web sites and web applications presented me with yet another area of interest. I readily utilize the available technologies and languages to develop sites and applications.
I have a rich experience with the obscure features of Photoshop, the secrets of font designing and the power of Macromedia Flash and Director. I have studied the details, strengths and weaknesses of multimedia file formats and mastered diverse tools to convert and edit sounds and videos. On the artistic side, I enjoy creating and editing images, sounds and videos.
Examples:
An ongoing interest of mine is manipulating real-world data. I learned DSP and image processing and wrote a few programs. Change of modeAround the year 2000 the idea of changing direction began to settle in. I was 40ish and getting younger. I went back to studying mathematics, and worked on a few projects of my own. One of them was bitFormatiom Consulting, which I started in 2004.
|