Employment History
- Developed (and partly designed) a complex distributed client-server application. (C++)
- Designed and developed management software for a hairdresser salon. (C++)
- Developed (and partly designed) Linux-based software for computing the Nash Equilibria of extremely large data sets of several GBs in size, and employing several complicated game theory concepts. (C++)
- Designed and developed software for a Law firm for recording and managing voice notes and transcripts. (C++)
- Designed and developed a solution for advanced chart visualization of data utilising the Processing.js library. (Javascript)
- Modified and extended JomSocial installation. (PHP, Javascript)
- Modelled data and designed a relational database according to requirements and needs identified. (MySQL)
- Developed several online billing reports for a leading freelancing online portal according to specifications provided. (Javascript)
- Developed auto-backup solution of sensitive data. (PHP, Javascript, Bash shell scripting)
- Modified and extended an Ajax FileBrowser installation. (PHP, Javascript)
- Developed several interactive Web 2.0-compliant forms. (PHP, Javascript)
- Developed web application utilising Google Maps API for the visualisation of speed cameras and accidents. (Javascript)
- Developed a custom slider jQuery UI component. (Javascript)
- Modification and extension of existing WebCalendar installation. (PHP, Javascript)
- Custom Twitter search API integration to existing set of web pages. (Javascript)
- Developed component to allow for users of a website to refer a friends. (PHP, Javascript)
- Others.
- This was a position at a small family-run construction company.
- Maintained and upgraded a messy, poorly designed and buggy enterprise application developed in-house by a former employer. This consisted of redesigning the database in MySQL and migrating data; designing and coding most of the application in full compliance with OO principles in C++, using MFC and ATL.
- Provided technical support to the company's employees.
- Advised and oversaw the upgrade of the company's hardware and software.
- Studied Software Development at Bolton University. Developed a number of applications during this time as part of the course curriculum, some of which include:
- an emulator for the G1 machine capable of running and debugging G1 programs in machine code or G1 assembly. First version was developed in C sported a CLI interface and later developed a fully GUI-based one in C++ and utilising the MFC. G1 assembly instruction set was designed by myself and inspired on x86 assembly. This assignment scored 100%, the first time in the University's computing department in over 5 years.
- a number of web-applications: a personality profiler in ASP/Vbscript, using a Ms-Access database; a somewhat complicated flight booking system for an imaginary airline company in PHP and using a MySQL database; others.
- Held several non-qualified part-time positions.
- Participated in the development of a nation-wide integrated management system for a Portuguese car rental company comprised of numerous components/modules in C++, using MFC, ATL and an Oracle database.
- Worked alongside a team of web designers to develop a new website for the company. Developed website from scratch and designed a new database. It was a full blown dynamic e-commerce website where visitors could enquire, place orders, and customers could even submit bug reports about software products owned, and more; something rarely seen in 2000/1.
- Eventually became lead developer of the company's core product, a behemoth integrated management software application in C++, utilizing the MFC and ATL technologies and an Oracle database, for small and medium companies, which was constantly in development according to a well defined roadmap.
- Developed and co-developed many small commercial custom applications.
- Designed and developed a few tools used in-house.
- Worked on the company's main software product, an integrated management software application in Clipper for small companies.
- Upgraded a legacy Clipper application, developing a number of additional modules at the request of a customer, which also involved upgrading the dBase database.
- Charged with developing a few small stand-alone Clipper applications on my own.
- Later on participated in migrating the company's main software product to Windows. The application was written in C++ and used a SQL Server database.
Education
Was forced to suspend my course due to a sudden death in my family but am expecting to resume studies next Academic Year on a part-time basis taking evening lessons, hoping to finish by June next year. I have only three modules left to do, which include my final year's project. My course average grade so far is higher than 70% (First Class.)
The self-taught path
I have been learning programming languages and techniques since the age of 9 on a self-taught basis. The very first programming language I learned was BASIC in different flavours – ATARI X800 BASIC, GWBASIC, Basica, Quick Basic, Turbo Basic. Started by developing mathematics-related programs such as simple 2d chart plotters, find common divisor and other simple programs.
About three years later I learned Clipper – Summer '87 and then 5.x – and in time developed a few serious, well structured projects with real world use, described further below. Shortly after, I learned C and 80386 Assembly and played with the languages mostly to learn new concepts like 386 Protected Mode, TSR programs, Interrupt hooking, low level hardware access/manipulation and other little talked about concepts at the time. When Windows finally became a true OS ('95, Chicago) I then embraced it and abandoned DOS for good. Went on to learn C++ and STL, several Win APIs , MFC and ATL, and in time other technologies.
Some of the projects I developed in my teenage years worth mentioning include:
- DOS application to manage a charity-run day care centre in Clipper and C, which was in use for years until it was finally replaced by a Windows-based application sometime in the late '90s, the latter not authored by myself.
- two DOS applications in Clipper and C to manage my family's media and book libraries, which years later I fully rewrote in C++ using a Oracle database connected through ODBC, and ran on Windows 95.
- a 2d Tetris and a Pacman inspired games in ANSI C and Assembler, with a VESA VGA (320x200x8 bit) GUI front end sporting a point & click mouse interface uncommon at the time, for DOS. These were very challenging projects from a technical perspective since I had to code several APIs, which nowadays developers take for granted, such as: low level mouse, keyboard, timer, and VESA graphics support, and others.
At the moment I am considering learning C# and the .NET framework since there seems to be significant market interest.

