Fahim Farook
Fahim Farook




Programming Projects




Programming Projects

Software Projects for Clients/Employers

SocialCharm - PHP, mySQL, Joomla

Doing ongoing maintenance and optimization work on the Joomla 1.x site for the client. I modified an existing template to make it cross-browser compatible and also created a suite of extensions (modules, components, and plugins/bots) to provide various functionality. In several instances, took existing extensions and overhauled them completely to provide the exact functionality that the client required. Also did some Google Analytics and Website Optimization work on the site.

LiveRocket - PHP, mySQL, Joomla

This Joomla 1.5 site was developed to meet the specific needs of the client. The client had specific a specific look and functionality in mind and I modified an existing template and created several custom extensions (modules and components) to provide the functionality that the client wanted. I also customized existing modules to extend their functionality to meet the client's requirements.

Brad Montgomery - PHP, mySQL, WordPress

I've worked on several WordPress sites for Brad including bradmontgomery.com and bradlaughs.com. For the latter site, I created the template, coded several additional plugins to provide functionality that the client required, and did some site/data maintenance work as well. For the former, I've tweaked the template, which was originally created by a different group of develoeprs, and added in functionality. I continue to do maintenance work for the client on an ongoing basis.

Red Ferret Journal - PHP, mySQL, WordPress

This is a heavy traffic WordPress site. I've done maintenance and optimization on the site from time to time and have also created several custom plugins and a widget to be used on the site. Some of the plugins were customizations of existing plugins to provide additional/specific functionality.

SEO Service Directory - PHP, mySQL, WordPress

A directory of SEO experts in the UK with the ability for site users to submit their own listings and to comment on existing listings. Each submission has to be validated by the original submitter (via e-mail) and then approved by the site admin. Included customization of site's WordPress theme to work with the directory functionality and seamless integration of the application with the WordPress site.

Application and Course Management System - PHP, mySQL, AJAX

A custom PHP/AJAX application utilizing a mySQL backend to handle the applications and course components for a university. The system allows for multiple users from geographically diverse locations to work collaboratively on entering, vetting, and approving student applications as well as course contents.

Agent/Publishers Database - PHP, mySQL

An online agents and publishers directory for use by writers. A registered user can add new agent/publisher listings or leave comments for an existing listing. The directory has gone through several iterations coded using Flex, AJAX, and finally, straight PHP and mySQL.

Writing Counter - PHP, mySQL

An online writing counter to be used by writers to track progress on a writing project. A registered user can add as many writing projects as they want, track the progress for each project individually, and then have a dynamically generated progress bar for each of those projects that they can display on their site, blog, e-mail signature, or even forum signature.

Graphic Designer - PHP

An improved version of the Text Designer (mentioned below) which creates a graphical design based on an uploaded image and five lines of specified text, along with the formatting for that text. The application displays a preview image for the final design which is generated on the fly. Upon user approval, the final result is e-mailed to the site owner as a submitted order with the uploaded image and the final design included as attachments.

Text Designer - PHP

A PHP-based web application that allows a user to input several lines of text, each with its own font, font size, and background and foreground colour. The script generates a real-time preview for the entered text based on those settings. The application allows the user to customize the text to his liking and then e-mails it to the site owner for printing t-shirts.

CSVReader - ASP.NET, C#

A custom ASP.NET component that reads a CSV file and allows the user to access individual column values by column name or optionally (as an extension) a system to match columns in the CSV file to customized column names and to retrieve data using these custom column names.

Harvester - Delphi

A custom Delphi application which allows the user to browse to a particular site/page and to extract specific highlighted information and write it to a CSV file.

Cassette Library - C#, Oracle

An archival system created to keep track of the edited and raw footage available at YA*TV - a television production company. This library system uses Oracle 9i as the backend and has a web-based frontend created using C# under Visual Studio .NET.

PAYE Filer - C#

A payroll data conversion utility written in C# which takes direct-debit information from an Excel spreadsheet and creates a text file to be used by a local bank for their customized payroll processing system. Uses XML data storage to maintain information such as branch codes.

RICC - Vantive, Java, Oracle

A customized customer care system developed for ACN - a US telecommunications reseller with operations in over eight countries - and based on the Vantive Telcocare system (now PeopleSoft CRM). I helped develop the customized portions of the system and later helped enhance it by adding a Java object framework to it so as to facilitate further development using Java as the development environment instead of Vantive. The backend for the system used Oracle 8.x under a *NIX environment.

ACNDB - FoxPro

An existing database system written in FoxPro to maintain customer and rep information used by ACN . I helped maintain and enhance the system while also providing management information such as one-time reports based on queries.

Cassette Database - FoxPro

A Visual FoxPro database to monitor video cassettes used for production purposes at Young Asia Television (YA*TV), a television production house.

YA*TV Website - HTML

Involvement in the development of the Young Asia Television website, mostly relating to deciding on content, layout, and the technologies to be used rather than the actual implementation aspects.

Container Management System - FoxPro

A FoxPro (DOS) system to keep track of incoming and outgoing container traffic for Clou Container Depot.

StockPro - FoxPro

A stock brokering package written in FoxPro for DOS that was installed at five leading stock brokering firms. I did on-site debugging of code, handled the various clients, and acted as the overall product manager for the application.

Payroll System - FoxPro

Conversion of an existing system written in Clipper to FoxPro for DOS and subsequent maintenance of the system.

Costing and Sales Analysis - FoxPro

A database system written in FoxPro for DOS as per client specifications.

Customized Software - Clipper, DBaseIII+, FoxPro, FoxBase

Several customized applications such as payroll, general ledger, inventory control, accounts receivable, and accounts payable, etc. written using various flavours of xBase languages such as Clipper, DBase, FoxBase, and FoxPro.

Non-Software Projects

Helped optimize load on a large vBulletin-based forum (over 20,000) users. Later, when the site was moved to a dedicated server, handled the migration of all data; configured the new server; installed Apache, PHP, mySQL, and various security applications; and acted as the server administrator.

The Red Ferret Journal

Assisted with the troubleshooting of a large WordPress-based blog and site (over a million hits a month). Coded various plugins and widgets for WordPress to assist with the site maintenance. Also helped set up a dedicated server for the site; installed Apache, PHP, mySQL, various security scripts, and helped optimize the configuration of the server.

Monthly Systems Maintenance

Did monthly maintenance of all their computers and LAN for AED, a USAID -funded organization in Sri Lanka. I updated their anti-malware definitions, checked computer security, ensured that all updates were installed, and also cleaned out a hacked server (when I first took over) from their system and ensured that proper security measures were in place to prevent that from happening again.

IT Operations Manager

Handled the IT operations for Info-Share, a non-governmental organization engaged in facilitating the on-going peace process in Sri Lanka. I oversaw the selection, purchasing, and installation of all the IT equipment including computers, routers, LAN, and dedicated Internet access.

Network Installation - Novell Netware

Installed a Novell 3.12 network at Wijeya Newspaper Ltd., a major newspaper publishing house in Sri Lanka.

Opensource/Group Projects
LiteStep - C/C++

An open source project to develop an alternative Windows interface that would replace Explorer. I worked as part of the development team in my spare time coding in C and C++ and at one point in time was the entire development team, carrying out coding, debugging, and decisions on the future of the project.

DarkStep - C/C++, ATL, COM

An alternative shell for the Windows platform that replaces Explorer and allows users to customize their user interface. DarkStep was an offshoot of my work done on LiteStep and coded in my spare time in Visual C++ using technologies such as ATL, COM, and ActiveScripting.

QBoard - PHP, MySQL

A stand-alone tagboard for use on a website created originally as a SourceForge project. I contributed code to the project and enhanced the installer for the application as well as added certain tweaks which made stand-alone installation much easier.

Tagboard - PHP

A heavily modified version of QBoard that's a stand-alone tagboard for use on a website.

MovableType - WordPress Import Script - PHP

A script to allow easy migration of a WordPress blog over to MovableType retaining the original author, posts, comments, categories, tags, etc.

MovableType - Categories to Tags - PHP

A script that allows those who've been faking tags using categories on MovableType (especially for tag clouds) to convert all those category selections into genuine tags under MovableType 3.3+. This was a single-run script that, when run, will create tags for all categories under a given blog and then will take all entries under that blog and for every entry, add tags for the assigned categories.

WordPress - WPBlacklist - PHP

The WPBlacklist plugin for WordPress allows a user to ensure that all comments posted to their WordPress blog are matched against an internal blacklist. This blacklist can be updated against a central blacklist maintained by Jay Allen for MovableType users. The user can specify what action is to be taken for any comments which match the blacklist - whether to hold the comment for moderation (default action) or to delete the comment based on which type of information triggered the blacklist.

WordPress - MovableType Import - PHP

A script to allow easy migration of a MovableType blog over to WordPress. While WordPress has an internal script to do the same job, it does not import over the original authors of posts - instead, it assigns all posts to the default admin user. This script creates all users from the MovableType blog over in WordPress and assigns the posts to the correct author. It also handles the proper transfer of all post comments, categories, and tags.

WordPress - B2 Evolution Import - PHP

This script allows you to migrate a B2Evolution -based blog over to WordPress easily.

Word Macro - VBA Script

A Word 2007 macro to check the currently open document for adverbs, passive words, overly used words, clichés, and misused words, then highlights them in different colours. The word lists for each of the above categories and the colours used to highlight for each category can be customized. Useful for writers.

Freeware Applications Developed by Me
Amanuensis - Delphi

Amanuensis is a word processor written specially for writers. It provides a full-blown word processor with spellchecker and thesaurus as well as a way for a writer to keep track of their research, characters, locations, and all other information related to their manuscript in one file.

Blog - Delphi

A web logging application which allows the user to update frequently updated sites without having to use an HTML editor or an FTP utility. It keeps a copy of all entries on the user's hard disk. Can be used as a stand-alone blog publishing program to publish to HTML pages on a site, or can be used with any  blogging platform with support for an XMLRPC interface such as WordPress, MovableType, Blogger, and B2.

BOB - Delphi

Beast of Burden - mass FTP software which allows the user to upload the same file to multiple FTP sites in one go.

Cee - Delphi

Cee is for cookie, a fortune cookie application which works within Blog and shows quotes on the user's blog. It can also be used to auto-generate e-mail signature tags.

DNote - Delphi

A Personal Information Manager and note taking utility for storing (and quickly retrieving) all sorts of information. Each note containing information can be tagged with specific keywords so that a specific note can be found easily.

Loafer - Delphi

A project time-tracking utility for software consultants, programmers, and small business owners. Allows tracking multiple tasks for multiple projects, keeping track of the money owed for each project based on multiple billing rates (and currencies) for each task. Even supports keeping track of payments made.

MailCoder - Delphi

A tiny app to HTML encode e-mail addresses to be displayed on websites so as to stop spammer bots from harvesting e-mail addresses.

Nailer - Delphi

A utility to create thumbnails of images and upload both the thumbnail and original to a webserver via FTP, in batches.

PlotCraft - Delphi

A utility for writers to keep track of all the different story/character/world ideas they have. The utility allows categorization of ideas so as to allow the user to find a record easily.

RenX - Delphi

An Explorer extension to rename multiple files easily. You can replace part of the filename, change the extension, or modify the filename in various ways.

Schemer - Delphi

A visual colour scheme generator to create a CSS file that can be used with web pages. It generates CSS for certain web page elements.

Scope - Delphi, C++, WTL

A multi-tabbed browser shell which allows the user to use both the Internet Explorer and Mozilla (gecko) engines side-by-side. Originally written in C++ using WTL and later ported to Delphi. A user can browse the same page side-by-side in both IE and Mozilla in the same application.

Snipper - Delphi

A web snippets utility for taking bits from multiple sites (for instance just the comic strip from your favourite web comics) and combine those bits into one single page for easy viewing. It can allow a user to bypass annoying web ads or get a summarized view of their favourite sites in one go.

WriteTrack - Delphi

A submission tracking utility, for writers, to keep track of agents/publishers, projects and submissions made to each agent/publisher.