Maya Control


Project name: "ISIS on web" searching interface
Year / Duration: 1999 / 1 month
Client company: UNESCO - CEPES www.cepes.ro
Role / Team size: Analyst Programmer
Technologies: NT 4.0 Srv, IIS 4, ActivePerl for ISAPI, CGI, HTML, JavaScript.
Description:

A special note about this project: it represents my entry point in the world of Perl programming.
The Micro CDS-ISIS database was created by UNESCO HQ and can be found in many public libraries however it's using Pascal and it was designed only for MS-DOS, single user access.

“ISIS on web” provided a simple way to browse and search the regional Eastern Europe ISIS database.
It exported the data from ISIS in .csv format, then imported it into an Access Database using Perl. The Access database was used subsequently as backend for a simple web search page.



Project name: Re-designing the Data Processor application
Year / Duration: 2000 / 6 month
Client company: AssertaHome, UK (subsequently PropertyFinder and curently Zoopla) www.zoopla.co.uk
Role / Team size: Analyst Programmer and server administrator / 1
Technologies: Sun Solaris 2.7, Oracle 8.1.6, ImageMagik, Perl 5.6.0, DBD::Oracle, Net::FTP, Net::Telnet, etc.
Description:

The application performed the following functions:

The most important gain of the re-designed program was the reduction of the running time from 20 hrs per day to an average of 2 hrs.



Project name: Universal Internet Server (UIS™)
Year / Duration: 2002 / 6 month
Client company: DC Software ltd.
Role / Team size: Analyst Programmer / 2
Technologies: Full life cycle development. FreeBSD, Web site development, HTML, Perl (Template toolkit, XML, CGI).
Description:

Building-up a product line consisting in off-the-shelf, ready to use Internet servers. The UIS 1xxx series was conceived as a pre-configured box covering every networking need of a small to medium, non IT oriented company: Internet connection, web hosting, email access, security, file exchange, database access, etc.
The dynamic configuration was done entirely via web and is assuming most common situations as to limit the number of parameters that should be modified by the non-specialist user.



Project name: Webmin interface for RAV Antivirus for Linux Mail servers
Year / Duration: 2002 / 2 month
Client company: GeCAD www.ravantivirus.com/
Role / Team size: Analyst Programmer / 1
Technologies: Perl (CGI, templates, text processing), HTML, Webmin, Apache.
Description:

GeCAD produced the best antivirus program for *nix e-mail servers. In order to ease the administration of this product I was contracted to build a web interface to update the text config file. While the webconfig was designed to integrate as a module in Webmin universal configuration tool, it could be also used as a stand alone interface under any webserver on *nix, like Apache.
The company offered my webconfig interface free of charge to their licensed users and received lots of appreciation emails from sys admins.
The whole RAV solution was sold to Micro$oft in 2004 and subsequently buried by the giant, as RAV was the only serious email server antivirus at the time.



Project name: @mail - PGP encryption/decryption
Year / Duration: 2002 / 1 month
Client company: Calacode, Australia www.calacode.com
Role / Team size: Perl Developer / 1
Technologies: Perl/mod_perl (file manipulation libraries), GnuPG, SQL, @mail, etc.
Description:

This US/Australian company produces a full-featured webmail interface, @mail, that is entirely based on Perl.
@mail needed to allow users to encrypt/decrypt emails using PGP.
My module allows the admin to generate PGP keys for the users, allows users to store public keys in their @mail addressbook and subsequently to encrypt/decrypt/sign messages.
Instead of using existing PerlGnuPG modules, I prefered to create my own interface from scratch, for speed and stability reasons.



Project name: @mail RADIUS
Year / Duration: 2002 / 1 month
Client company: Calacode, Australia www.calacode.com
Role / Team size: Perl Developer / 1
Technologies: Perl/mod_perl, @mail, RADIUS, SQL, etc.
Description:

This US/Australian company produces a full-featured webmail interface, @mail, that is entirely based on Perl.
@mail needed to be customized for easier integration in ISPs dial-in environment. My module adds the posibility to authenticate webmail users on a RADIUS server, with minimum intervention over @mail core code.



Project name: “Digital Sender”
Year / Duration: 2004 / 1 month
Client company: UNDP www.undp.ro
Role / Team size: Architect, Developer / 1
Technologies: Perl 5.8.0, ImageMagick, SMTP perl modules, Perlex, service creation in W2k.
Description:

Since the main scanning target of our users is the PDF format, I built this program that automatically connects to a Xerox scanner repository, gets the tiff file resulted after scanning, converts it to pdf and sends the pdf to the appropriate user by email.
As little as it may sound the progam saved ~$2,000 for a digital sender, or $200 per user for an unstable scan-to-pdf solution (e.g. PaperPort).



Project name: Email archiver
Year / Duration: 2004 / 1 month
Client company: UNDP www.undp.ro
Role / Team size: Architect, Developer / 1
Technologies: Perl, MIME, PHP, Apache, MySQL, DHTML, qmail
Description:

Due to the high volume of emails sent by the organisation's information center my users started to reach the limit of their .pst Inbox (2GB for Outlook 2000 at the time).
This program received all informational emails through a special POP3 account, splits them in MIME entities (e.g. body and attchments), loads the headers in a MySQL database and deposits the attachments in a special directory structure. The PHP frontend allows then easy consultation of the old emails and search on date and/or subject/body keywords.
This intranet application saved lots of network bandwidth when backing-up user emails since the ~1 GB of emails were since then located on the intranet server.



Project name: Contacts & Events CRM
Year / Duration: 2004 / 3 month
Client company: UNDP www.undp.ro
Role / Team size: Architect, Developer / 1
Technologies: Perl, LDAP, PHP, Apache, MySQL, (D)HTML
Description:

Recognizing the need for a corporate global contacts database I built this MySQL based front-end interface for managing corporation's contacts.
The staff members were authenticated using the existing LDAP server and are empowered with the regular features like: add/modify/delete categories/companies/people/events as well as invite(associate) people to events.
The end result was to generate flexible data selections on various criteria, ready to use in MS Word “mail merge” tasks.
This intranet application reduced dramatically the time needed for generating printed invitations for corporate events (e.g. UN Day), from ~2 month to few days.



Project name: Dutch Foreign Investment Agency portal
Year / Duration: 2005 / 1 year
Client company: Sendrata www.sendrata.nl
Role / Team size: Perl Developer / 1
Technologies: Perl, CGI, DBI, MySQL, HTML, etc.
Description:

Adding tons of functionality to a complex governmental extranet developed by this Dutch company.



Project name: Custom CRM for translation company
Year / Duration: 2006 / 3 month
Client company: Creative Translations www.romanian-translations.org
Role / Team size: Solution architect, Developer / 1
Technologies: Perl, CGI, DBI, MySQL, HTML, JavaScript, etc.
Description:

Custom built CRM having as a base the Contacts & Events CRM created for UNDP. Particularities for this translation company included creating modules for:
- contracting translators capabilities, fees, availability and scoring
- clients (companies and individuals) looking for translation services
- translation jobs - associating the documents to be translated WITH translator(s) having the required language ability AND an in-house project manager AND the client.



Project name: Securing the 2007 and 2008 Romanian national elections
Year / Duration: 2007, 2008 / 3 x 1 month
Client company: Net Consulting, Romania www.netconsulting.ro
Role / Team size: Perl Developer / 2
Technologies: Perl, GnuPg, Windows, PKI, etc.
Description:

Assuring data integrity and privacy during polling data transmission from the regional level (42 counties) to the capital city for 3 national elections. The solution used GnuPG encryption/decryption and electronic signing each sent archive.



Project name: HP OpenView Service Desk web client
Year / Duration: 2007, 2008 / 2 x 4 month
Client company: CEC Bank, Raiffeisen www.netconsulting.ro
Role / Team size: Perl Developer / 3
Technologies: Perl, Apache, Solaris, Oracle, HTML, Kerberos, SSO, etc.
Description:

Web application to directly access HP OpenView ServiceDesk database (Oracle backend and Microsoft SQL backend), offering a thin web client, with a potentially unlimited number of users, as opposed to the fat (heavily licenced) official HP client.
Variations of this interface have been implemented later on in other major banks.
The project included making Apache on *nix authenticate users transparently (Single Sign On) to a Windows 2003 ActiveDirectory using Kerberos.



Project name: Private pensions data processing
Year / Duration: 2008 / 6 month
Client company: Net Consulting, Romania www.netconsulting.ro
Role / Team size: Developer / 4
Technologies: Perl, Apache, Windows 2003 srv, Postgresql, HTML, Kofax, etc.
Description:

Set of intranet applications able to support the hired human validators to bulk process the private pension application forms received in a 4 month governmental program. Net Consulting was offering this service for 3 major players on the private pension market (including Interamerican), totaling 300,000 applicants at the end of the program (February 2008)
The applications included a web based error reporting system (per applicant), automatic OCRed & ICRed metadata & image processing, automatic data transfer and daily reporting to each of the 3 HQs.



Project name: AEA's CRM
Year / Duration: 2009 / 4 month
Client company: AEA Mediu Consulting, subsidiary of AEAT UK www.aeat.co.uk
Role / Team size: Architect, Developer / 1
Technologies: PHP, Apache, Windows2003, PostgresSQL, D(HTML), etc.
Description:

Bespoke intranet based CRM comprising modules for managing companies, contacts, projects and contracts. The core is pretty much the same as the one for Creative Translations and UNDP, however it was rewritten in PHP, changed to Postgres as backend database, and added specific functionalities (projects & contracts module).



Project name: “Waste Arising Welsh Group" survey site
Year / Duration: 2009 / 2 month
Client company: AEAT UK www.aeat.co.uk
Role / Team size: Developer / 3
Technologies: PHP, Zend Framework, Apache, Solaris, MySQL, D(HTML), etc.
Description:

A 2 month project to create a Zend Framework based internet site to collect survey data for Waste Arising Welsh Assembly Group. The application was collecting data for year 2008. ( www.urbanmines.org.uk/?i=1565 )



Project name: Green Products Procurement webapp
Year / Duration: 2009 / 2 month
Client company: Romanian Environment Ministry www.mmediu.ro
Role / Team size: Architect, Developer / 1
Technologies: PHP, Apache, MySQL, D(HTML), etc.
Description:

A government endorsed project that resulted in a website that allows the public to search for green products in Romania, and an administrative area that allows collecting/entering data from merchants about commercialized “green” products. ( http://www.achizitiiecologice.ro/ )



Project name: HP OpenView Availability Reporting
Year / Duration: 2010 / 3 month
Client company: ASSECO SEE (for Raiffeisen Bank) www.asseco.com
Role / Team size: Architect, Developer / 2
Technologies: PHP, Perl, Apache, Solaris, Oracle, HTML, GD, etc.
Description:

Web interface to directly access HP OpenView Operations database (Oracle backend), and extract reporting data to be presented in a tabular, as well as graphical (piecharts), manner.
There were 2 major modules: first allows the authenticated users effectively visualize the availability of device classes (ATM, routers, etc) in a specified time period, the second module runs a scheduled report each month and sends the results to interested email groups.

Worth mentioning that to prevent code duplication as much as possible, the second module it's in fact acting as a client for the first one.

The project included making Apache on *nix authenticate users transparently (Single Sign On) to a Windows 2003 ActiveDirectory.



Project name: HP OpenView Universal Grapher
Year / Duration: 2010 / 3 month
Client company: ASSECO SEE (for Raiffeisen Bank) www.asseco.com
Role / Team size: Architect, Developer / 2
Technologies: Perl, Apache, Solaris, Oracle, HTML, GnuPlot, etc.
Description:

Web interface that access directly the HP OpenView database (Oracle) and extracts the counters data collected from various devices in the bank's network, to be presented in a graphical manner.
Due to the request of representing data as single line on the chart, multiple line and even box&whiskers for standard deviation, I have chosen GNUPlot for the graphical processing.
Due to the lack of support for GNUPlot in perl (after researching existing CPAN modules) I chose to use GNUPlot directly piped into the scripts.



Project name: MayaScan KFX
Year / Duration: 2010 / 3 month
Client company: Own product www.maya-control.ro
Role / Team size: Architect, Developer / 1
Technologies: Perl, Tk, SOAP, Webservices, etc
Description:

Standalone Windows application designed to access and control any TWAIN document scanner, allow few operations on the scanned images and finally send the images to the Kofax server through its publicly exposed webservices interface.
The product is supposed to fill-in the need for a light client for Kofax (http://www.kofax.com) and was launched on the market in April 2010.



Project name: ASSECO Barcode printer
Year / Duration: 2010 / 1 month
Client company: ASSECO SEE (for ING Romania) Asseco SEE
Role / Team size: Architect, Developer / 1
Technologies: Serial communications, Zebra ZPL II, Perl, ActiveState PerlApp, NSIS installer
Description:

ING bought a Zebra S4M label printer to create barcodes for easier indexing their scanned documents.

They needed a custom Windows application that allows printing arbitrary unique ranges of auto incremented id numbers, for each of the branches. The application allows users to configure branch names and codes the respective name together with the unique id in the barcode. It also stores the last id printed for each branch (between runs), hence it avoids overlapping id ranges per branch.

The app was launched in 2010 for Windows XP and repacked for Windows 7 in 2014, as ING upgraded their workstations.



Project name: MayaBike
Year / Duration: 2010 / 3 month
Client company: Green Revolution www.greenrevolution.ro
Role / Team size: Architect, Developer / 1
Technologies: Hardware (testing for features), Perl, PHP, serial connections, Windows API & Services, etc.
Description:

In this project, the task was to make the existing national-wide iVelo bike renting system leave the paper-form age and enter the digital age.
For this, at each rental point, I architected an IT solution capable to scan users’ IDs, ocr data, take their photo/signature and validate them against the server. The bikes are assigned to users and tracked using barcodes and also a complete inventory tracking and reporting systems are in place.
The project included hours of technical discussions with the hardware suppliers (Honeywell for barcode readers, Fujitsu for scanners, Transym for OCR, etc), testing their functionality and designing a complete solution at rental point, as well as HQ level, to track the bike inventory on the move.

On the programming side, I have developed Windows modules and services capable to read on demand data from the devices (using ActivePerl), along with the usual web application based on Perl and PHP.

Unfortunately, the project was closed in January 2011, due to insufficient provisioned funding.



Project name: Recolamp's CRM
Year / Duration: 2011 / 2 month
Client company: Recolamp www.recolamp.ro
Role / Team size: Architect, Developer / 1
Technologies: PHP, Apache, Linux Debian, PostgresSQL, D(HTML), etc.
Description:

Bespoke intranet based CRM, comprising modules for managing companies, contacts and mail-merges for events. The product is an adaptation of the AEA Mediu Consulting CRM, however it was ported to linux Debian and to MySQL.



Project name: HP Service Manager interface
Year / Duration: 2011 / 2 month
Client company: CEC Bank www.cec.ro
Role / Team size: Architect, Developer / 3
Technologies: Perl, Apache, Solaris, Oracle, HTML, Web Services, HP Service Manager, etc.
Description:

Porting the web interface built & deployed starting 2007 to directly access the new HP Service Manager and using MSSQL instead of Oracle backend, offering a thin over-the-web client as opposed to the fat (heavily licensed) official client. Variations of this interface have been implemented in 3 major banks.



Project name: HP Service Manager data feeder
Year / Duration: 2011 / 1 month
Client company: ING Bank www.ing.ro
Role / Team size: Architect, Developer / 1
Technologies: Perl, XML, POP3, Windows 2003 server, HP Service Manager, etc.
Description:

The ING Bank monitoring team had configured all their business critical IT&C equipment to send status update emails. My application read the emails from a POP3 account, parses the email content looking for keywords, reformats the incidents and assigns importance and urgency flags (according to the provided rules) and exports them in a .csv format, to be imported in the infrastructure monitoring system (HP OpenView).

The really innovating idea of the script was to use XML to describe the conditions each email must meet (strings to be searched in email's subject/body/from) and the corresponding actions to be taken for each (fields to be filled-in the re-formatted .csv).
This way, the client can add new conditions and/or alter the existent ones, without any intervention from me.
The complete XML "dictionary" was part of the project deliverables.



Project name: Recolamp's new LAN
Year / Duration: 2011 / 2 month
Client company: Recolamp www.recolamp.ro
Role / Team size: Network architect, project manager, implementer / 2
Technologies: Network cabling, buying/configuring active equipments, configuring routers, etc.
Description:

As one of the companies I have in care (as ICT Manager) moved from a flat to a 3 levels building, they needed to have all the building wired, connected to the internet and offering network services.
The project consisted in planning the network topology in order to place the network users and shared services (printers, scanners, faxes) in an optimum manner.
In the end, it was about structured cabling 3 levels, connecting & configuring 3 switches (one per floor), 2 servers, 3 routers, 2 internet connections (optical fiber connection & adsl modem), 3 network printers, 2 network scanners, phones for the 15 users, etc.



Project name: Skoosh’s CRM module
Year / Duration: 2011 / 2 month
Client company: Skoosh www.skoosh.com
Role / Team size: Perl Developer / 1
Technologies: Perl, mod_perl, MVC framework, html, YUI, mysql, svn, CentOS, etc.
Description:

This small company has a good share of the online hotel booking market, especially in the UK.
Their bespoke, mod_perl based, CRM needed a module for dealing with affiliates. The project included the initial database import of organisations data from excel files.



Project name: Skoosh’s new email server
Year / Duration: 2012 / 2 month
Client company: Skoosh www.skoosh.com
Role / Team size: Systems developer / Administrator
Technologies: Ubuntu, Postfix, Dovecot, DBmail, apache, php, Roundcube, openssl, etc
Description:

This small company has a good share of the online hotel booking market, especially in the UK.
In this project I have been given the task to design and implement an email solution for company's Reservations Dept, that has a number of agents that should access the same pool of emails. The final aim was to integrate this email system into their CRM, i.e. to be able to track email conversations per each client.

After a thorough research, I chose, installed and configured postfix for SMTP server, DBMail as IMAP server (perfect for future integration as it keeps all emails in mysql) and Roundcube as webmail client.



Project name: Recolamp's new LAN (revisited)
Year / Duration: 2012 / 2 weeks
Client company: Recolamp www.recolamp.ro
Role / Team size: Network architect, project manager, implementer / 1
Technologies: Network cabling, configuring active equipment (switches, routers), PABX, internet connections, etc.
Description:

As one of the companies I have in care (as ICT Manager) moved (again) from a 3 levels building to a 1 level office, they requested minimum downtime in terms of internet connection, network services & telephony.

The project consisted in planning the network topology, setting up VPN, managing the internet and telephony suppliers and supervising the installations. In the end, it summed up to connecting & configuring 2 switches, 1 server, 2 routers, 1 internet connections (adsl modem), 3 network printers, 2 network scanners, a PABX and phones for the 15 users.



Project name: Recolamp’s websites moving
Year / Duration: 2012 / 3 month
Client company: Recolamp www.recolamp.ro
Role / Team size: Web developer / administrator
Technologies: Concrete 5, MailChimp, Piwigo, perl, php, html, etc.
Description:

This company that I have in my care for years (as their ICT Manager) asked me to take over all their multilingual websites: www.recolamp.ro, www.borderlight.org, www.coltverde.ro, cvsm.coltverde.ro, www.omuletiiverzi.ro.
The sites used different CMSs (Drupal, Joomla, and custom solutions) and were hosted at different providers.

The work involved converting all websited to one unified CMS (Concrete5) and moving them to one hosting provider. Two of the sites use a MySQL database for managing the subscribers & collection points, and I have created few scripts to consolidate the data sets from various sources, before adding them to the database.



Project name: Methexis' inventory on web
Year / Duration: 2013 / 2 month
Client company: Methexis www.methexis.ro
Role / Team size: Architect, Developer / 1
Technologies: Perl, PHP, SQL, FireBird, MySQL, html, etc.
Description:

This electrical accessories chain store, uses an inventory application with a Firebird SQL back-end.
As they wanted to have their inventory on the web, I have designed a data export application in Perl (packaged as .exe) that extracts all the information about products, stocks and images from FireBird and uploads them to their website.
A second php module on the website allows importing the data in their website's MySQL backend whilst a 3rd php module allows browsing through the three levels of categories and subcategories and searching for products on their main website.



Project name: Google ranking improving bot
Year / Duration: 2013 / 1 month
Client company: Recolamp www.recolamp.ro
Role / Team size: Architect, Developer / 1
Technologies: SEO, Perl, Mechanize, Tor, PHP, etc.
Description:

This company was in a campaign to improve its web presence and SERP placement. The first stage of this project was to optimize their website for google and the second stage was to increase the website traffic.

For the second stage this bot was built, in 2 versions: one that runs from a linux server and uses TOR nodes, random user agents and random delays between clicks to simulate real queries from real people.
A second version of the application was packed as an windows executable (Tk). This windows version doesn't use the TOR network and connects to a server to centralize log its activity.



Project name: Methexis' lightning rod dimensioning
Year / Duration: 2013 / 1 month
Client company: Methexis www.paratrasnete-online.ro
Role / Team size: Developer / 1
Technologies: PHP, GD, trigonometry, html, etc.
Description:

This small electrical accessories chain store requested an online application to allow its potential clients to choose a proper lightning rod for their buildings. The application takes as input the building general dimensions and the chosen PDA and plots the building contour lines and the protected area. This way, the client can visualize the efficiency and the protection radius offered by the chosen PDA.



Project name: SkooshKarma AidVertiser
Year / Duration: 2013 / 1 week
Client company: Skoosh www.aidvertiser.com
Role / Team size: Systems Administrator / 1
Technologies: Digital Ocean, Ubuntu, Apache, PHP, MySQL, PhpMyAdmin, postfix, dns setting, etc.
Description:

Skoosh is a smaller player in online hotel booking, but with a good share of the market, especially in the UK. They're in process of extending their services to the charities, by offering hotel bookings to the charity users and having a part of the profit redirected to the charity chosen by the user.

My task was to setup their new server, for which I have chosen Digital Ocean with an Ubuntu droplet toggether with the needed technologies for developing their new sites.



Project name: WordPress and Blogger.com blogs setup
Year / Duration: 2014 / 1 month
Client company: Individual clients www.maya-control.ro
Role / Team size: Blogger administrator
Technologies: WordPress, modules, PHP, Blogger.com, modules, themes
Description:

Setting up and configuring themes and plug-ins for few clients amongst them www.livingtennis.ro (hosted WordPress installation) and the high traffic www.regimuldeseurilor.ro (hosted at blogger.com). The setup included tweaking themes to the customer's liking and cloaking the blogging platform behind the domain name.



Project name: Waste collection campaign website
Year / Duration: 2014 / 2 weeks
Client company: Recolamp campanie2014.recolamp.ro
Role / Team size: Architect, Developer / 1
Technologies: Concrete5, JQuery, MySQL, ammap, cron
Description:

This site was created for a 6 month recycling campaign. On the front-end I used Concrete5 and a map from Ammap.com, whilst on the admin side, I have used a JQuery form (with autocomplete) to allow entering participants uniquely and indicate their workflow status. The JQuery form is in process of becoming a side product (will be presented in the "Own Products" section).



Project name: OpenCart upgrade
Year / Duration: 2014 / 2 weeks
Client company: Mii De Margele (through elance.com) www.miidemargele.ro
Role / Team size: Systems Administrator / 1
Technologies: OpenCart 1.4.9, OpenCart 1.5.6, MySQL, sysadmin, DNS.
Description:

This is my first elance project and brought me my first 5 stars/100% client satisfaction review.

The project was about converting a OpenCart installation from the old 1.4.9 version, to the latest 1.5.6 together with thousands of products this site has.
The project involved creating multiple OpenCart installations, to test the upgrade before doing it on the live server.



Project name: Postfix emails filtering
Year / Duration: 2014 / 1 week
Client company: Finn Levinsen ApS (Denmark) www.finnlevinsen.com
Role / Team size: Perl Developer / 1
Technologies: Perl, MIME::Parser, Postfix, Mail::Dir, CentOS.
Description:

This small app is run as a cron job and reads the emails received by postfix and added in Linux account's mailbox (maildir format). The script parses the email and if the subject field contains a number and the email has an attachment, the attachment is saved into a directory structure in a subdirectory created with that number.

This brought my second 100%/5 stars review on elance.



Project name: Craig's list type, email anonymizer
Year / Duration: 2014 / 2 weeks
Client company: iCloud Network (USA) www.icloudnetwork.net
Role / Team size: Perl Developer / 1
Technologies: Perl, Mail::Internet, Postfix filtering, MySQL, Ubuntu
Description:

The client's request was initially to develop an IMAP client run by a cron job, that should parse all emails found in multiple IMAP accounts and change their from/to addresses. My proposed solution however, was to have another email server in the email chain for his domain, and have all emails filtered and actions took accordingly.

The end product is a Postifx email filtering server that converts the FROM address into an anonymous one before relaying the email to the final user and then does the same when the user replies. This way, the users can have an email exchange in anonymity, using anon-23121@domain.com cloaking addresses (identical with Craig's List email anonymization feature).
For this, a MySQL table is used to hold all clear email - anonymous email pairs for direct and reverse resolving.

This project brought me my 3rd 100%/5 stars rating on elance.



Project name: PDF to XLS converter
Year / Duration: 2014 / 2 weeks
Client company: A property management company (USA) Not Known
Role / Team size: Perl Developer / 1
Technologies: Perl, PHP, Apache, Linux
Description:

The client wanted initially to perform OCR on PDFs containing many pages with data tables.

I have convinced the client that OCR is not so reliable and, due to the fact that all PDFs were computer generating, it would make much more sense to perform text parsing on the PDFs' textual content.

The proposal was well received and the first PDF format containing 30-40 pages of tables with 14 columns of tenants' data is now converting perfectly into XLS format using a simple, file upload, web interface.

This client has raised my elance rating to 4 jobs out of 4 with 100% client satisfaction.



Project name: CPU/MEM Monitoring data to LCD display.
Year / Duration: 2014 / 1 week
Client company: Private person Private person
Role / Team size: C/Perl Developer / 1
Technologies: Perl, C, Linux serial ports, iLO LCD, CentOS linix
Description:

This private client had a Ibase FWA8208 headless server and an iLO LCD screen attached to the serial port and needed to have CPU and memory info displayed & refreshed on the LCD, cyclically. The end program is a combination of perl for extracting information from the CentOS linux and C command line apps to display data on the serial LCD.

This client was the 5th elance project evaluated as 5 stars/100% client satisfaction.



Project name: WordPress custom searching
Year / Duration: 2014 / 2 weeks
Client company: Soccer Drills Illustrated (USA) www.soccerdrillsillustrated.com
Role / Team size: PHP/WordPress Developer
Technologies: PHP, WordPress, MySQL, HTML
Description:

This project started as a MySQL database integration in the existent WordPress website but it changed on course into creating a custom searches in WordPress. The search form includes 3 pop-up select boxes filled-up with tags from certain categories of tags, and returns a limited number of posts containing soccer drills, in random order, as a teaser for the visitor to see what they have access to when using the paid version of the site.

This is the 6th client that granted me 5 stars and 100% client satisfaction on elance.



Project name: Enterprise Mail Gateway (EMG) plugins and API
Year / Duration: 2014 / 3 month
Client company: Velo Solutions (Canada) www.velosolutions.com
Role / Team size: Architect, Developer / 1
Technologies: Perl, EMG SMS gateway, MySQL, Redhat/Centos sysadmin
Description:

This company operates a SMS hub based on EMG (Enterprise Messaging Gateway) and had the need to improve its functionality by creating custom Perl plugins.

The end result was a number of perl plugins that analyse the best route for the SMSs, load balance the routes and check billing information in the database before accepting the SMS to be delivered.



Project name: Amazon EC2 on demand parallel processing
Year / Duration: 2014 / 1 month
Client company: Citalytics, USA www.citalytics.com
Role / Team size: Architect, Developer / 1
Technologies: Amazon AWS EC2 & API, Perl, PHP
Description:

This client runs lengthy processing scripts on large amounts of internet data on a daily basis. They have chosen my bid on elance.com, to improve efficiency by concurrent running of multiple processes.

The result was an AMI machine template and a perl script that is able to automatically launch a new server instance in Amazon EC2, upload the processing scripts to it, launch processing, collect results and destroy the server instance.

This way, the client got unlimited processing power on demand, with lower usage costs.



Project name: Complex stock inventory application
Year / Duration: 2014 / 5 month - on going
Client company: Confidential - Australia www.elance.com
Role / Team size: Architect, Developer / 1
Technologies: PHP, MySQL, Ubuntu, Apache, JQuery
Description:

This Australian client had the need of creating a stock management application for its large electronic stock.

First stage of the project aimed the creation of the application with only one stock room, to track inventory movement by using barcode scanning.

In the second stage of the project, the application was extended to accommodate stock moves amongst multiple countrywide locations, having support for user authentication and roles, as well as permissions per location.

The application provides also an excellent reporting system including: current stock, stock take, stock in/out per period, stock MRR, etc.

The next development cycle will add features like batch verifying (for long distance moves), global reports for managers and non-scanable items management.



Project name: VeloSolutions' move to cloud
Year / Duration: 2014,2015 / 3 month
Client company: Velo Solutions (Canada) www.velosolutions.com
Role / Team size: Architect, SysAdmin / 1
Technologies: OpenStack cloud setup, Redhat/Centos sysadmin, IPSec tuneling, EMG SMS gateway, MariaDB (including replication)
Description:

This company operates a SMS hub based on EMG (Enterprise Messaging Gateway). Due to numerous hardware problems with their physical setup, I persuade them to move into a more reliable/scalable environment, in the cloud.

The project involved a thorough analysis of their current setup, dimensioning the new configuration (based on their current load figures) and selecting the best Canadian cloud provider (5 tried) to fulfil the requirements and keep the costs at minimum.

From the technical point of view, the project implied setting up OpenStack custom networking (nova and neutron CLIs) installing multiple CentOS and windows servers in the cloud, setting up EMG, MariaDB (with replication), OpenSwan IPSec & Firewall, etc.



Project name: ZenDesk API integration
Year / Duration: 2015 / 1 month
Client company: Confidential - France www.elance.com
Role / Team size: Developer / 1
Technologies: Amazon AWS, PHP, ZenDesk API, Google Calendar API
Description:

For this returning client I have created few PHP scripts that use ZenDesk's and Google Calendar API:

- an importer script that allows bulk creating new tickets in ZenDesk from a given .csv file
- a tagger field creation script, that adds thousands of values from a .csv file into a dropdown
- a field updater for modifying values of fields into an existing ZenDesk ticket.
- a html/php Google Calendar API interface, that converts POST requests into Google Calendar events in multiple calendars

This client brought me the 8th five star review on elance.



Project name: Virus Bulletin's website revamping
Year / Duration: 2015 / 6 month
Client company: Virus Bulletin Ltd. www.virusbulletin.com
Role / Team size: Developer, Sysadmin / 1
Technologies: Concrete5, Perl, Php, MySQL, Bootstrap, CentOS
Description:

Virus Bulletin hired me for revamping their 20+ years old website ( https://old.virusbtn.com/ )

I have chosen Concrete5 as CMS for the new website and Bootstrap as responsive theme. In the process, I had to import a massive base of articles and blog posts (about 5000) that meant creating import scripts (Perl + PHP) and using Concrete5's API.

I was also in charge with server's full dimensioning and set-up, and still have in my care its maintenance and disaster recovery plan.



Project name: Virus Bulletin's testing results management interface
Year / Duration: 2015 / 6 month
Client company: Virus Bulletin Ltd. www.virusbulletin.com
Role / Team size: Developer, Sysadmin / 1
Technologies: CodeIgniter, Php, Perl, Concrete5, MySQL, CentOS
Description:

Virus Bulletin hired me for revamping their 20+ years old website ( https://old.virusbtn.com/ )

A big part of VB online presence is testing antivirus and antispam (and soon web) products, therefore a testing data management system deemed necessary.

I have chosen to build from scratch a custom solution to accommodate the specifics of the VB testing processes and to allow full & secure management of testing data.

The main part of the project consisted in creating an interface for uploading and managing test data, built upon CodeIgniter MVC. Importing years of testing results into the new system was done using perl scripts.
Finally, presenting test results on the main website in an intuitive structured and searchable manner, was accomplished using php single page integrations in Concrete5.

I was also in charge with server's full dimensioning and set-up, and still have in my care its maintenance and disaster recovery plan.



Project name: Virus Bulletin's conference photos website
Year / Duration: 2016 / 2 month
Client company: Virus Bulletin Ltd. photos.virusbulletin.com
Role / Team size: Developer, Sysadmin / 1
Technologies: ZenPhoto, Perl, Php, JPEG tools
Description:

Virus Bulletin hired me for revamping their 20+ years old website.

In the process, I have decided to remove all conference photos from the old site and have them imported in a photo dedicated sub-domain. I have chosen a purpose built image gallery solution (Zen Photo) for this and, due to the high volume of photos, I had to create the importing scripts (that did also image resizing and jpeg metatags modifications).

I was also in charge with server's full dimensioning and set-up, and still have in my care its maintenance and disaster recovery plan.



Project name: Virus Bulletin's extranet
Year / Duration: 2016 / 6 month
Client company: Virus Bulletin Ltd. extranet.virusbulletin.com
Role / Team size: Developer, Sysadmin / 1
Technologies: Php, UserCake, MySQL, Bootstrap, SagePay, CentOS
Description:

Virus Bulletin hired me for revamping their 20+ years old website ( https://old.virusbtn.com/ )

In the process, it became clear that external users interactions deserve a separate site so, the extranet started to exist initially to allow collection of proposals for the conference but then, more and more functionality was added to it.

Right now, the extranet is a roles based secure site that allows:

I was also in charge with server's full dimensioning and set-up, and still have in my care its maintenance and disaster recovery plan.