c.v.

Abdullah Daud
Software Developer
Malaysian
mailto:chelah@bootbox.net
mailto:chelah67@hotmail.com
mailto:chelah_kl@yahoo.com
http://chelah.cara-cerna.com

Philosophy

I believe software is a necessity just like water to human life. The problem is at the refinery plant. We cannot consume unclear water so too unclear software. Today, software is still like a muddy water. You need to spend enough at the refinery plant to get clear software. Unfortunately only privileged organizations have the capacity to refine software. It is a very delicate process. Try yourself to remove mud from water. One way is to wait for the mud to subside which may take a very long time. The software process is almost similar. Hence waiting is not free in software development.

Projects Overview

I started my software development carrier as a Research Assistant in Universiti Teknologi Malaysia in 1989. Actually I was not really an 'assistant' since I conducted my own R&D on a proprietary database to best store Quranic text for fast retrieval. I was also doing an Arabic wordprocessor in MS-DOS, which had multiple 'windows' (not Microsoft Windows) that I designed myself. After departing from the university I got involved in various small businesses in IT. Once in a while I let myself get hired. My projects involved political analysis system, power load forecast system, document management system, geographical information system, oil & gas reporting system, telecommunication switch load testing system, printed circuit board testing system, pharmaceutical testing system, door access system, short messaging service (SMS) premium gateway, and vehicle tracking system.

Skill and Knowledge

I've spent the majority of my programming time during the last 20 years with programming in C++. I code with object orientation. Mostly I'm programming on Microsoft Windows platforms. I incline towards server-side programming. Thus, I'm very familiar with Windows internal architecture. My interest is in communication programming such as networking, device interfacing and short messaging service (SMS). My focus is more on function rather than data. Once in a while I do SQL. For the last 2 years I was programming with C# and vb.net. Currently I'm programming in PHP for my free contribution to Drupal http://drupal.org/project/dript. I give away a Lisp interpreter which I program using PHP for the Drupal project.

Programming Languages

C/C++/C#
I have more than 15 years experience with C/C++/C# (with the exception of C# the youngest language). I like these languages very much. Other than assembler a computer only need C. Infact most of the compilers and interpreters (including C itself) are built using C. C++ makes larger software more manageable through object orientation. C# adds more primary facilities for programmers.
LISP
I don't really program with LISP but I developed few LISP interpreters with C++, C# and PHP. LISP falls on its own class. I envy this language. Most of my projects don't require me to use LISP due to the nature of the language that takes it far away from the hardware. Mostly I do system programming that insist on speed. I'm porting LISP into Drupal an open source web-based content management platform built using PHP, HTML, CSS and MySQL.
PHP
This is not a well-formed language. Some even assume PHP a toy programming language. But most web designers who are not hardcore programmers use PHP. There are numerous web-based content management systems (CMS) that are built using PHP. Arrogant aside, the systems they build are eye catching and very useful. I use PHP because of Drupal. I've created a LISP interpreter using PHP.
VB.net
In .net platform any programming language looks the same. Many programmers argue that VB.net is not similar to VB. I hate VB because of its begin-end clause. Otherwise VB.net is compatible to C#. I had a few months intensive programming with VB.net. I used to advice whoever is looking for a VB.net programmer should advertise for a C# instead.
ASP.net
A great platform to create web pages without coding directly with HTML and CSS. I have some experience using ASP.net.
Java
If people don't hate Microsoft they will be programming with VB.net, C# or C++. Java claims portability. So does C++. And so does .net with Mono. I've created a typing tutor applet with early Java. And works with numerous servlets together with Apache Tomcat. I have a knowledge in Jakarta Strut on its MVC paradigm (or three-tiers or multi-tiers). I used NetBean and Eclipse. I wonder how do Java programmers survive the struggle of desktop performance. I know some good Java programmers that prefer Notepad to any Java IDE. Compare to native desktop application any Java application is slower in term of loading and execution. Too many times my Java IDE or downloaded applets hung. Perhaps Java is only good for server side applications. But then for server side I prefer .Net.
8051
I once engrossed in digital electronics. Thus I programmed in Intel 8051 assembler.

Databases

I work with relational database (rdb) since 1990. Rdb and SQL are contemporary storage paradigm. However I do develop and use a number of proprietary databases for special applications. For rdb I have used numerous early packages which I don't have to mention since technically they are quite the same.

MSSQL Server
High performance database. Well supported by Microsoft. Use by many big organizations. And it is not free.
PostgreSQL
A important database for open source Geographical Information System (GIS).
MySQL
Most open source projects support MySQL.
NHibernate
SQL independant wrapper for various SQL servers on .Net platform.

Web Application Framework

Drupal
Drupal is a content management platform which is also a web application framework. Drupal is my primary choice. I contribute a LISP interpreter and a Malay translation to Drupal. My personal website http://chelah.cara-cerna.com is built using Drupal. And so my other websites.
DotNetNuke
DotNetNuke is a web application framework based on Microsoft .Net platform and Microsoft SQL Server. DotNetNuke is my first web application framework after earlier research. Due to its relying on Microsoft SQL Server DotNetNuke requires huge memory and resource. Hosting a DotNetNuke website is not cheap.

Software Development Tools

Requirement
UML - Use Case
Design
UML - Various
IDE
Microsoft Visual Studio
Borland C++ Builder
Eclipse
NetBean
Maguma Open Studio
Unit Test
NUnit
Web Servers
IIS
Apache
Jakarta Tomcat
Source Control
Microsoft SourceSafe
CVS
Gateways
Premium SMS Gateway
Payment Gateway

Experience

2006-2007
Volunteer - Contribute a LISP interpreter and a Malay translation for Drupal a content management platform.
2006-2007
Freelance - Developed AduFly a complaint management system via SMS. It is used by Majlis Bandaraya Ipoh.
2005-2006
Senior Software Developer - Advanced Businesslink (M) Sdn Bhd. The main project was an intranet web-based reporting system on oil and gas production for Petronas.
2004-2005
Freelance - Developed Mobile Phone SMS Applications
2002-2004
Software Director - Exhibit Marketing Consultants Sdn Bhd (EMCSB). The continuation from the earlier company Exhibit Marketing Consultants (EMC)
1998-2002
Software Development Chief - Exhibit Marketing Consultants (EMC). The main project was a Geographical Information System (GIS) and a Document Management System (DMS) for Cyberjaya City Command Center the cybercity of Malaysia.
1997-1998
Freelance - Developed a Door Access System
1997
General Manager - SSMAT Software Sdn Bhd. The main project was a Load Forecast System for Tenaga Nasional the main power company of Malaysia. Another project is a Drawing Management System that manages AutoCAD drawings.
1996-1997
Technical Manager - Planning Research Consultants Sdn Bhd. Mainly a political system.
1996
Freelance - Developed the operating system for a Telephone Switching Load Test Equipment.
1993-1996
MIS Executive - KUB-Fujitsu Telecommunication Sdn Bhd. This company manufacture telecommunication switch for Telekom Malaysia. I developed a semi-automatic printed circuit board testing system using HPIB/GPIB interfacing protocols to various electronic test equipments. I also developed a customized reporting utility that extract data directly from the large Fetex-150 switch, which uses real time hierarchical database system. I've gone through an intensive study on the machine. A Fetex-150 installation can connect up to 20,000 telephone lines that go to houses and offices. Usually an installation requires an office by itself.
1992-1993
Software Engineer - Eugenix Automation Sdn. Bhd.
1989-1992
Research Assistant - Institut Sains Komputer, Universiti Teknologi Malaysia. CD-ROM was the in thing at that time. The research was to produce content for the perceived very large storage of CD-ROM. They decided to pack the knowledge on Islam from the Quran and its translations to the verses of prophet Muhammad with the validity check on the traces of the keepers down to the prophet himself.
1987-1989
Running my own small handicraft business.
1983-1984
Volunteer - Tought BASIC at my school computer club.

Education

1995
Certificate in Operation and Maintenance for Fujitsu FETEX-150 Telecommunication Switching System.
Certificate in Software Poject Management & Control
1994
Certificate in Solaris 1.x System Administrator
Certificate in Solaris 1.x Open Windows for User
1991
Problem Solving and Decision Making Workshop
1985-1987
Incomplete. Electrical Engineering (Electronics) - Freshman and Sophomore at Texas International Education Consortium, Preparatory College, Institute Teknologi MARA, Malaysia.
1985
Test of English as a Foreign Language (Total score 527)
Six-month Intensive English Course.
1984
Gred 1 - Sijil Pelajaran Malaysia
1982
Leadership and Awareness workshop