Curriculum Vitae
Summary

Nicholas Christopoulos
- Title
- Programmer
/ Analyst - Location
- Athens,
Greece - Birth date
- March,
1971 - E-mail
address - nereus@
freemail.gr
I am writing code for fun. Clear code, small, efficient and elegant is what I like.
Twelve years old, I loved physics,
I had already used screwdrivers in various toys and machines,
and I had talent in sketch too.
Soon I got my first home computer,
a TI-99/4A, a 16 bit micro-computer @ 3 MHz but with weird
hardware.
From that time I found the programming as the most interesting thing in the world.
I realised that I could create anything that I could imagine; of course virtual,
but without cost and hardware parts.
I started with TI BASIC at 1983, TI Extended BASIC, TI Graphics BASIC, continued to
TMS9900
machine language, well a few steps of this since
I had to reload from cassette tape the editor/debugger (5-10 mins) after each crash.
During this time I published my first program for the Greek TI Club,
a game for two players with two dogs that ran depending on how quickly the players pressed the relevant keys.
In 1985 I got an Amstrad CPC6128,
nice machine with its own monochrome monitor, no more TV and FLOPPY DISK DRIVE!.
It was a candy store...
I learned Locomotive BASIC, and later Z80 assembly.
In this time I published my second program for
ΕΠΤΑ journal.
This machine could run CP/M Plus (v3.1), and the older 2.2,
so I learned
TP (Turbo Pascal)
v3.0, and tried Lattice C.
TP3 was runs smoothly and this compiler was produced amazing machine code.
In TP for CP/M, I wrote my firsts linked lists, all kinds, except binary tree.
Of course, dynamic memory allocation has no meaning in 64KB, pointers sizes and fragmentation is not an acceptable cost.
As for Lattice C was unacceptable slow, and produced worst binary code.
Finally at 1988, I got my first PC, an Amstrad PC1512.
In DOS I could run and learn Turbo C and 8086/8088 assembly...
During that age I finished the [technical] high school (ΤΕΛ)
with speciality in electronics.
I was played with several kits, I had even a FM radio transmitter based on EL504 tube.
September of 1988, I moved to Athens and I got a new PC, this time with EGA and colour monitor, 640KB RAM and 20MB HDD.
I studied at ΕΛ.ΚΕ.ΠΑ.,
Programming & System Analysis.
While this school does not offer too much, the teachers did.
They was skilled people with many years of experience.
It was a kind of university for software engineering at this time.
From the first month they put me in the high-level class.
I studied theory on structured programming, data algorithms, OSes, networks, databases and such things.
I learned COBOL and dBase. At home I continued with expert Systems (A.I. of this time).
Finally I finish it the next year with 94/100.
During this years I got my first modem, an Amigo (Hayes compatible) at 1200 BAUDs.
This era internet does not existed, there was several BBSes like Acrobase and WarGames.
The communication with the rest Europe was through FidoNet.
18 yo, with 3 assemblies, Pascal (was rule in this time), C (the successor) and dBase...
a lot of programs like tree with virtual memory implementation, compiler, interpreters,
mouse driver for keyboard-only apps, that i had made just for me...
I had already several job proposals. I preferred to work at LH Λογισμική,
it was required advanced programming level and was in good area close to my home.
1989, BRIEF text editor - loving it even now...
1995, Slackware 2.3 with 1.2.8 Kernel, my primary distro.
Physics, philosophy, history, politics, evolution, science in general,
socialistic and alternative economics,
UNIX, mocking Microsoft programmers and their
Hobbies
supposed
code.
I enjoy to terrorise people with
MFC code and its design.
Experience
Software engineering and development.
- Creating Civil engineering Applications (3D,CAD,CAM,etc)
- Generic Win32 Applications and libraries
- OpenGL related applications and libraries
- Code debugging in several languages
- Algorithm/Code speed and/or memory optimisation
- TCP/IP servers/clients (Linux/Win32)
- Web-site development
- Internal & external database design & development and database client application
- System administrator
Projects
SmallBasic (GPL)
GPL, May 2000
I created and developed the SmallBASIC project,
basically for my new Palm IIIx,
but I designed it to support any platform even ANSI/ASCII terminal (LINE command works with character cells).
SmallBASIC works already on the following platforms:
- PalmOS 3.2+, PalmOS5
- POSIX Unices, BSD, Linux
- drivers for SDL, SVGALib, terminal(ANSI/ASCII), Framebuffer, XWindows, FLTK
- MSDOS, FreeDOS
- native, djgpp
- Win32
- GDI (Borland C/C++), console, SDL/Cygwin, FLTK
- Franklin ebookman
- Helio/VTOS
- Android
- Nokia/Symbian
- Helio/VTOS
SmallBASIC is intended to support the same sorts of applications supported by GW-BASIC and QBASIC on the IBM PC,
with support for drawing Graphic Primitives to the screen, creating sounds, String Manipulation, and
displaying text in various fonts.
SmallBASIC is also intended as a tool for mathematics, with built-in functions for Unit conversion,
Algebra, Matrix math, Trigonometry, Statistics, and for two and three dimensional Equation Graphing.
The amazing with this project is that the Palm has only 32kb code segment. Of course smallbasic uses multi-segments technique. Another trouble is that the PalmOS has no filesystem (it uses databases), but Smallbasic emulates hierarchical file system over the databases. PalmOS serial I/O, TCP/UDP sockets and software capabilities - like memopad and pdoc format - are emulated by using file I/O commands.
Other programming languages for Palm OS that are written in SmallBASIC include Exclamation and Brainfuck.
SmallBASIC articles:
SmallBASIC ver 0.9.x manual (pdf)
wikipedia.org article
mindteq.com
ascii-world
PC Advisor (UK)
Included in Tiny Core Linux: smallbasic-cli.tcz and smallbasic-gui.tcz packages.
After 2004, SmallBASIC supported and continued by Chris Warren-Smith.
ΦΟΙΝΙΞ
LH Logismiki, September 1988
Real-time business management, logistics & financial software package for DOS with or without Novell network. This was really big project and soon was become the third best financial package of the Greek market, used even in ministries. After few years, the project rights was given to another company since K. Tseronis (CEO) was leaved from LH Logismiki.
2 team members: Nicholas Christopoulos, Kyriakos Tseronis.
LHQBLib
LH Logismiki, 1992
Advanced VESA Graphics library for DOS, QB & C. All VESA resolutions was supported and there was assembly driver for each color mode (256,32K,64K,true-color). This library includes and extended/expanded memory manager. Also a lot pages of documentation.
500kb source in assembly x86.
This was impressive since I finished it in 2 months.
Used in FESPA for DOS.
glSid
LH Logismiki, 2008

3D geometry and photo-realistic rendering script language with 3D-viewer. Used as independent application, or static linked library for use within other applications.
- BASIC like syntax.
- All types of steel market construction irons.
- All types of connections between irons.
- Auto calculation of shapes with or without holes.
- 2 Cameras (walk and world).
FePla
LH Logismiki, 2011

4 team members:
Nicholas Christopoulos, Apostolis Tsigkros,
Spyros Livieratos, Vasilis Giannakos.
CONNECTIONS OF STEEL MEMBERS
LH Logismiki, 2009

Everything except the calculations of Civ. Eng.
4 team members:
Nicholas Christopoulos, Apostolis Tsigkros,
John Vlachoyiannis, Dimitris Nellas.
Τεύχος (Report)
LH Logismiki, 1998

Civil engineer report application with:
- Texinfo (Texinfo is the official documentation format of the GNU project) compatible syntax.
- Preprocessor and macro language.
- VB module to extract results to teyxos files (like console).
- Exponentially filters (max depth level = 8).
- Diagrams & other graphics zones.
- Custom drawing zone (HPGL style, more advanced).
- Full mathematical notations (almost same as TeX). Quality is less because of fonts.
- Unlimited upgradable features
(adding new graphics/text objects on pages, hierarchical or not, w/o touching the code). - Editor per type of zone (table, bitmap, text, mathematics, etc).
- Automatic and custom multiple indeces, citing and bibliography...
- Plain dot-matrix printer support (w/o driver).
- Export tables to HTML, CSV and TEKTON.
- Export the whole book in 8bit ASCII text file and LaTeX (no good results in LaTeX, but still you can use your table).
- Works as independent application, embedded application,
static library, dynamic library,
mini-static executable ('erv', shows error messages inside TEKTON), NO OLE. - ~100 pages of documentation written in Teyxos Script and exported in PDF (property of LH Logismiki).

60k lines of C/C++ code.
20 sec loading time for 6000 pages using filters and calculating printer preview too. @2.4GHz PC
Video in English part 1/2
Video in English part 2/2
You can have TeX quality but it will work for 200-400 pages on one-core 3GHz PC without waiting... The manual of Τεύχος is a good example. For the CE's large reports - a few thousands pages - are used mostly fast objects (automatic pre-calculated) and small fonts sizes that reduces the quality.
Promet
LH Logismiki, 1998
Surfaces calculations of Architecture designs
with or without input from TEKTON.
Excel style UI and expressions.
Θερμομόνωση
LH Logismiki, 1997
Design insulation with
or without input from TEKTON.
2 team members: Nicholas Christopoulos, Apostolis Tsigkros.
Τοίχος Αντιστήριξης
LH Logismiki, 1998
2 team members: Nicholas Christopoulos, Apostolis Tsigkros.
Αμοιβές Πολ. Μηχ.
LH Logismiki, 2002
3 team members: Nicholas Christopoulos, Apostolis Tsigkros, John Vlachoyiannis.
LHSQL
LH Logismiki, 2005
Complex Custom Internal Business Database.
Real time, Customers, Keys, Packages, ...
even support call-time recording.
Everything company needed to watch.
Reports in HTML and/or CSV.
A 34 pages pdf analysis included (2004).
May web UI would be better solution (for maintenance), but HTML5 wasnt existed.
BugTrap & App. Releases database subsys
LH Logismiki, 2005
External private database, bug tracking, and version tacking....
Autobackup
LH Logismiki, November 2000
Automatic directory tree backup system.
- Works in background on system 'idle'.
- Takes backup only changed files.
- Stores on network or other disk type device.
- Uses zlib for compression.
arm0nia project
GPL, 2002
Design and development of PM. PM was a module manager that could use anything as files,
or graphics, or pointing devices. With only few lines of code could use anything from
shell script, jpg, palm-pilot, serial i/o, disk i/o, system information, special h/w drivers.
You could read a jpeg and write to .mp3 or printer! with the same code...
Unfortunately it was the only part of the project that was finished...
More: http://arm0nia.sourceforge.net/library/index.php
3 team members: Nicholas Christopoulos, Dimitris Koukorabas, John Vlachoyiannis.
More...
- Dogs (Σκυλοδρομίες), TI Club, 1984
- “Dog running” arcade game (2D). Code printed and shared in paper and cassettes by Greek TI Club. TI Extended BASIC
- Rally, ΕΠΤΑ Journal, 1986
- Rally Game (2D), code printed in the journal. Locomotive BASIC & a bit Z80 Assembly
- Physics Autocalc, Free, 1986
- Solve all College's courses of physics. The program calculates all possible solutions by the given data. Locomotive BASIC
- EGA/VGAFonts (free), LH Logismiki, 1988
- DOS TSR (terminate and stay resident) EGA/VGA Greek fonts for adapters without Greek in their ROM. x86 Assembly
- Demos, Argos, 1990
- Database application for City's services. Clipper
- Church, Argos, 1991
- Database application for Churches. financial, inventory... Clipper
- Graphics for dot-matrix printers, Argos, 1991
- Printing graphics (mostly custom companies logos) on dot-matrix printers. Actually dot-matrix graphics you can do with GWBasic, but there was several failures on heavy works and I was needed to have under control, the controller. x86 Assembly
- Cargo, S&K, 1992
- Database application (Inventory and sales)... Used on ships sales PCs.. Clipper
- Greek fonts for linux console (ELOT 928), GPL, 1995
- Greek fonts for linux console (ELOT 928/ISO8859-7)
- BOARD, LH Logismiki, September 1997
- Automatic message exchange system for local networks. This application was the ‘bulletin board’ of LH's development team. Visual C/C++, Win32 API
- Greek Keyboard for window-maker (X Windows), GPL, 1997
- WindowMaker applet with keyboard "driver"... based on ‘xgrk’ of Spiros Ioannou. C, XF86
- Greek philosophy ‘fortune’ file, GPL, 1998
- Diogenes, Democritus, Heraclitus, Socrates. Data file for the BSD ‘fortune’ and the KDE's ‘amor’.
- Σεισμόπληκτα 99, LH Logismiki, 1999
- Application (according the ministry) to record Seismic problematic buildings, after the big earthquake in Athens at 1999. Two weeks work, plus one for beta test... Visual Basic 4
- Το HTML με απλά λόγια, FDL, September 2003
- Greek guide for HTML; for dummies
- LaTeX for Barbarians, FDL, January 2004
- Greek guide for LaTeX; for dummies LaTeX
More, more...
Several more applications, utilities, libraries, articles, tutorials, ROM coocking, experiments... including cracking articles, checking network security, 3D code & document (DOS/TP4), smart IRC talking bot (diobot6), custom android ROMs (I hate google play services), ...