Friday, September 12, 2008

ABAH

My beloved father, Norhalim Bin Haji Ibrahim, passed away on September 4, 2008 at 5:45 PM.

"May you shelter in the palm of the Creator's hand, and may the last embrace of the mother welcome you home." Al-Fatihah.

Click here to read news from Utusan Malaysia

Wednesday, June 25, 2008

Job Vacancies at Covalent Technology

Covalent Technology is hiring. Our new projects, God willing, will commence in July and August. QUALIFIED candidates ONLY (Non-Malaysians will NOT be entertained) can apply by sending resume / CV to career@covalent-tech.com. Please clearly state the job position that you're applying.

Business Development Executive (Junior)

Responsibilites:
  • To assist in performing and compiling business requirements studies (BRS) of the existing clients - attending meetings and providing follow-ups & feedbacks
  • To assist in generating product documentations and help files
  • To assist in providing training to the existing clients
  • To assist in promoting/marketing of Covalentia, other products and getting new businesses
Requirements:
  • Candidate must possess at least a Bachelor's Degree, Post Graduate Diploma or Professional Degree in any field
  • Required skill(s): Good public relation, communication, critical thinking
  • Preferred skill(s): Knowledge in IT, Software Requirements Study
  • Required language(s): English, Bahasa Malaysia
  • Passionate, positive, creative and innovative
  • Able to work independently and interact well with all level of people
  • Well organized, self-motivated and results oriented
  • At least 1 year(s) of working experience in the related field is required for this position
  • Applicants must be willing to work in Klang Valley
  • Applicants MUST be Malaysian citizens
  • Fresh Graduates / Junior Executives specializing in IT/Computer - Software or equivalent are encouraged to apply
  • Full-Time and Contract position available - 6-month to 1-year Contract (3 months probation)

C# Web Programmer (Junior)

Responsibilities:
  • To assist in project development using Covalentia (www.covalentia.net)
  • To assist in servicing our clients (may be located on-site at clients' places in Klang Valley) and to implement changes in design and coding using Covalentia (www.covalentia.net) and provide technical expertise
  • To develop new products using Covalentia (www.covalentia.net)
Requirements:
  • Candidate must possess at least a Bachelor's Degree, Post Graduate Diploma or Professional Degree in Engineering (Computer/Telecommunication), Computer Science/Information Technology or equivalent
  • Very good knowledge of C# language is a MUST
  • Required skill(s): C#, ASP.NET, RDBMS (MySQL, MSSQL, PostgreSQL, Oracle, IBM DB2)
  • Preferred skill(s): AJAX, VB.NET, Mono, Linux Platform
  • Required language(s): English, Bahasa Malaysia
  • Passionate, positive, creative and innovative
  • At least 1 year(s) of working experience in the related field is required for this position
  • Applicants must be willing to work in Klang Valley
  • Applicants must be willing to learn and use our platform - Covalentia (www.covalentia.net)
  • Applicants MUST be Malaysian citizens
  • Fresh Graduates / Junior Executives specializing in IT/Computer - Software or equivalent are encouraged to apply
  • Full-Time and Contract position available - 6-month to 1-year Contract (3 months probation)
Short-listed candidates will be called for interviews. Should you have any question, feel free to us at career@covalent-tech.com.

Thursday, May 22, 2008

WAR On DAPATism

Today I declare a WAR on DAPAT (www.dapat.com). Three or four months ago, we participated and helped DAPAT to prepare proposals / tender documents for a government project (SMS Gateway & Applications) under MAMPU (www.mampu.gov.my). Then, they won the contract and threw a big party without inviting us. I only knew about this party from one of my advisors. But, we’re cool with it. Then, they excitingly invited us for a meeting to discuss on how they should go about the project – the architecture, implementation, maintenance etc. Well, fine, being a good provider, we provided them with everything. And after all that, finally, they ditched us – telling us (after so many phone calls & SMS went unanswered for two or three days) that the price that we quoted is too expensive. They’re thinking about hiring people and doing it themselves.

If our price were too high (which I do not think so for some 50 customized solutions to be implemented at 50 government agencies), they could at least come back to us and say so, and negotiate. It’s not like the price is fixed for god’s sake. But, no, they are arrogant and they simply forget everything that we’ve done for them. I say, I don’t think they’d manage to successfully complete the tender document without us.

So, I believe that I have the right to declare a war on them, a war on these greedy bastards with UMNO attitudes – seduced us, fucked and impregnated us and then ditched and left us by the road-side. “Hey, you’re good to fuck, but I won’t spend a single cent on you”. Excuse me, even prostitutes get paid. So, next time, I assure you, we’ll act like one. Show us your money before you fuck us. Oh, and please leave the money on the desk immediately after, and not 14 days or 30 days after.

Okay, let’s do the simple math. Let’s say you really want to do it yourself by hiring “more” people. That’s your exact words. Let’s just say, for argument’s sake, you hire 3 programmers – that’s the minimum number you need to finish the job on time. One experienced programmer to lead the team would cost you around RM 6,000 per month. So, plus the EPF etc, let’s just multiply that figure with 125% (25% being the salary burden, claims, medical etc) and you’ll get RM 7,500 per month. The others could be intermediate programmers with 2 to 3-year experience which would cost you around RM 3,000 per month. Again, multiply that figure with 125% and you’ll get RM 3,750 per month per person. So, the cost of two programmers sums up to RM 7,500. Now, the total will be: RM 7,500 + RM 7,500 = RM 15,000 per month. The project duration is 12 months, so we’ll get: RM 15,000 per month x 12 months = RM 180,000.

Bear in mind that this is only a rough estimate. Normally, the cost would be slightly higher, especially if you hire “more” people.

If they come back to us and negotiate for RM 150,000 or so, I would gladly start the development immediately. Oh, I forgot to mention that they have to come up with 50 standard applications (without customizations) by June 24, 2008, which is a month from now.

In any event, I wish them luck and go fuck yourself.

Tuesday, April 29, 2008

Malaysia Today

Last week I had the opportunity to meet the legendary Raja Petra Kamarudin (aka Pete / RPK) of Malaysia-Today.Net at our office in Phileo Damansara. I was so excited that I forgot to give him my business card. I mean, RPK man! I’m one of his many fans, so addicted to his site that sometime I spent more time reading than doing work. I know so many people out there who’d want to meet this man in person but could only see him from afar when he gave out speeches at talks or political events.

Anyways, the objective of this meeting was to figure out how to enhance the site which clocks a few million hits every day and make some money out of it. We realize that not many people would want to advertise in his site due to his outspokenness and anti-government nature. Fear is a factor. But, my partner, Philip Lee still believes that he could somehow make it work, ie. make some money from advertisements, and he already managed to convince certain people. Well, maybe we can pull this off and my job now is to come up with a mock-up. Let’s just see how it goes eh? ;)

On Covalentia, we have to delay the next release, Version 2.6 due to lack of resources. We’re working on our Enterprise Business Solution (EBS) at the moment and also upgrading TD Aziz Valuation Management System (VMS). But, in any event, we’ll try to do it before the end of May 2008.

Oh, by the way, I’ve moved my blog site to cozta.blogspot.com for a very simple reason: Microsoft’s Spaces.Live.com doesn’t allow Google Adsense and I want to make some money from Google Adsense. So, what the heck. It’s your lost Microsoft ;)

Sunday, April 6, 2008

Death Comes To Us All

The person who inspired me is dead. James Oliver Rigney, Jr. (Robert Jordan) left us on September 16, 2007 and I've not been writing since. The Dragon is gone, but life has to go on I suppose. Oh well. To Robert Jordan, "May you shelter in the palm of the Creator's hand, and may the last embrace of the mother welcome you home."

Now, let's get back to business. For the past few months, we, at Covalent Technology, have been struggling to meet deadlines and looking for new contracts:

  • PetroProjek - Enterprise Business Solution (EBS)
    This marks our first entry into oil & gas industry. Originally, we played around with Compiere, ADempiere & OpenBravo and decided to customize one these open-source ERP solutions to meet PetroProjek's requirements. However, after 2 months, we realized that they are full of bugs and unreliable, and since we're no Java experts, we've decided to abandon all of them. We don't want to take any risk and run into trouble later in the development or deployment phase. As a result, we'll be using Covalentia instead to develop PetroProjek's Enterprise Business Solution.

  • Covalentia Version 2.6
    Covalentia Version 2.6 is in progress. We've delayed/postponed the release date due to lack of resources. In addition, we're also waiting for the next release of Mono so that Covalentia can be deployed on Windows & Linux platforms easily without having to change so many things. We've scrapped Gaia and fully utilize Microsoft ASP.NET Ajax instead regardless of whatever platform Covalentia will be running on.

  • TD Aziz VMS Upgrade
    TD Aziz has finally agreed to upgrade its Valuation Management System (VMS) that we developed back in 2004/2005 to our latest platform, Covalentia Version 2.6. We're slowly migrating the entire application and targeting everything to be ready by May 2008.

  • MOCCIS & Cagamodal - Enterprise Loan Management System
    This is another work in progress. The solution is ~70% completed and we're waiting for the clients to execute the User Acceptance Test (UAT) before proceeding to the next phase to refine the existing modules and adding reports and financial modules.

  • Asia Move Machine - ProperTrack.com Portal & Support System
    On behalf of our client, we're pleased to announce the release of ProperTrack.com portal. Feel free to visit and use the services provided.

  • InnoFund
    This is going no where. We've completed our part by successfully reaching 3/5 of the milestones, but the government fails to do their part, which is the most important part - to release the rest of money to us so that we can continue developing Covalentia. It's a terrible thing to stop half way. What if I hired more people assuming that the money would come in? Well, luckily I didn't. So, never believe whatever that the government say. They are just unreliable. May be it's time to change the government. They don't deserve free salary.

That's pretty much what I've to say this time around. Later.

Wednesday, August 22, 2007

Covalentia on Mono

We’ve been working around the clock tweaking and replacing components in Covalentia to make it run on Mono and Fedora Core 4. So far, we’ve managed to deploy it using Xsp2 but fail to do so using Mod Mono Apache 2.2 (see figure below – the “localhost” is clearly highlighted to show that we’re not bluffing). The mod_mono_server2.exe doesn’t seem to execute correctly and it fails to even run the simple ASP.NET 2.0 samples. The deadline is September 1, 2007, and we shall release it by then ;)

Tuesday, July 17, 2007

Job Vacancies at Covalent Technology

Yes, that’s right, we’re hiring. We’re looking for junior programmers or fresh graduates and business development/marketing executives to help us enhance Covalentia, service our existing clients and develop new products using Covalentia. But, before I go into the details, let me just inform you how happy I am to finally receive a check from the Government of Malaysia via Ministry of Science, Technology and Innovation (MOSTI). I’d like to thank the people there who’d worked towards the disbursement of this fund even without the official signing and stamping of the grant agreement, especially, Mr. Mohd Yusree Yusof.

Now, I just can’t wait to go to the VW showroom to pay for the down-payment of a new Passat. I’m just kidding :)

So, I need the followings ASAP:

C# Web Developer – Junior Programmer / Fresh Graduate

Requirements
  • Knowledge in object-oriented programming, C#, ASP.Net, Javascript, AJAX, any database
  • Knowledge in Mono is an advantage
  • No experience/certification required – training will be provided
  • Willing to learn and use our platform – Covalentia (www.covalentia.net)
  • Positive, creative and innovative
  • A minimum of Bachelor’s degree in Computer Science/Information Technology
Scope of Work
  • To assist in developing/enhancing Covalentia
  • To assist in servicing Covalent Technology’s clients (may be located from time-to-time on-site at clients’ places) – implement changes in design and coding using Covalentia and provide technical expertise
  • To develop new products using Covalentia
Salary Range: RM 2,000 to RM 3,000
Job Type: 6-month to 1-year Contract (3 months probation)

Business Development/Marketing Executive – Fresh Graduate

Requirements
  • Some knowledge/skills in Information Technology (Software) industry – training will be provided
  • Good public relation & communication and critical thinking skills - able to work independently and interact well with all level of people
  • Well organized, self-motivated and results oriented
  • A minimum of diploma in any disciplines, preferably Information Technology
Scope of Work
  • To assist in compiling business requirement studies of the existing clients – attending meetings and providing follow-ups & feedbacks
  • To assist in compiling product documentations and help files
  • To assist in promoting/marketing of Covalentia, Covalent Technology’s products and getting new businesses
Salary Range: RM 1,700 to RM 2,200 plus commission on any new business
Job Type: 6-month to 1-year Contract (3 months probation)
Interested? Send your CV/Resume to career@covalent-tech.com

Friday, June 29, 2007

Covalentia Version 2.4

Business is as usual. Covalent Technology is back on track, and soon I should be able to see positive numbers on my spread sheets. I don't wanna sound optimistic because I am not (I am known to be very pessimistic, negative and evil), but I believe I may be able to turn this company around as planned. I've pretty much completed the 1st phase of my job here at MOCCIS Trading Sdn Bhd, and payment is so far very good. I'm working on my 2nd phase at the moment which is to revamp their current Loan Management System using Covalentia. It's going to be a pain in the ass, but a valuable pain in the ass, for it marks my first entry into the financial industry. Well, sort of.

I'm supposed to release Covalentia Version 2.4. I am already using it to develop three applications. On the contrary, it's probably better not to release it until I find and fix all the bugs. For your information, Covalentia Version 2.3 is quite buggy, and I don't recommend you to download it (say what?). It's a transition between the old version and the new one that supports Oracle, and I didn't have enough time to test it. But, the latest version should be very stable and I will freeze further development of Covalentia after this point so that I can concentrate on tweaking it to run on Mono or Grasshopper framework. The dateline is September 2007.

Now, where the heck is my grant money? The government hasn't got back to me for such a long time, and I wonder if I'm ever gonna get the fund. It's been almost 2 months since I last submitted the agreement to be signed by the Chief Secretary of Ministry of Science, Technology and Innovation and it’s most probably sitting at the very bottom of a very thick stack of documents. Oh well. No hope there. Forget about it.

I will release the latest version soon. I just don’t have enough time to come up with the help files. I'm supposed to meet this one programmer who has a Master of Computer Science from Carnegie Mellon and is gettin' much higher pay than myself. He's my junior, so to speak. And, I'm planning to hire him to help me out. Hmm, does it make any sense to you?

I now realize that I am underpaid. I made some calls and found out that junior programmers out there are making more. Seriously.

Thursday, May 24, 2007

Covalentia Version 2.3: Powered by Oracle

Covalentia may not be as good as other code generators such as Iron Speed etc to have version compatibility, but at least, it’s FREE of charge (since I’ve consumed a lot of other FREE stuffs from the internet, I’d say it’s time to give back to the community). I realize that this is a big issue - whenever Covalentia gets upgraded, migration from the previous version to the latest one is going to be a pain in the ass. But, worry not – we’ll address this issue later on when we come to that stage ;)

I’ve spent tremendous hours trying to include Oracle Database as one of the databases supported by Covalentia. And it ain’t an easy job. Oracle Database has got some limitations compared to other databases such as Microsoft SQL, MySQL and PostgreSQL. Perhaps, this is the reason why it’s faster? No? I have no experience in using Oracle and so I can’t say much about its real performance compared to others. Now, let’s talk about these limitations, and you’ll soon find out why I had to do the changes that I did in the latest release.
  • Renaming SystemTbl table to ConfigurationTbl
    Oracle doesn’t seem to like that name, anything ‘SYSTEM’ is probably a reserved word. So, we have to rename the table to ConfigurationTbl. And while we’re at it, why not remove and add the following items:
    • Remove SystemPath column – put this variable in the web.config file instead and rename it to ApplicationPath.
    • Add a new column – ErrorLogEmail to store the Error Log E-mail address.

  • Renaming of the following tables (and their corresponding primary keys) and stored procedures because Oracle limits the length of identifiers (table name, column name etc) to only 30 characters.
    • UserGroupSubModuleFunctionTypeTbl table to UserGroupSmftTbl
    • UserSubModuleFunctionTypeTbl table to UserSmftTbl
    • DeleteUserGroupSubModuleFunctionTypesByUserGroup stored procedure to DeleteUgsmftByUg
    • DeleteUserSubModuleFunctionTypesByUser stored procedure to DeleteUsmftByU
    • DeleteUserSubModuleFunctionTypesByUserGroup stored procedure to DeleteUsmftByUg

  • Naming convention
    Covalentia uses the following naming convention for tables and columns respectively: TableName and ColumnName
    Oracle (and PostgreSQL), however, doesn’t allow this. Well, not really, you could preserve the case but this will cause some major problems when coding Covalentia as I have to add “TableName”.“ColumnName” here and there (with “) in the SQL queries. So, we have to stick with TABLENAME and COLUMNNAME (all capital case) for Oracle and tablename and columnname (all lower case) for PostgreSQL. As you may already realize that this may cause problems when generating Business Objects, Component and Control classes and User Controls (classes names, variables names and web controls IDs etc).

    MySQL, on the other hand, strictly sets the table names to be lower cases. This, however, doesn’t hurt much as we can manually change them before we generate the Business Objects. The rest, ie. the column names, are fine and work like a charm. If you’re deploying your database server on a Linux machine, don’t forget to set the lower_case_table_names=1 in the my.cnf file under the [mysqld] section.

    We’re going to come up with a solution to this problem in the next release (Covalentia Version 2.3 Reloaded).

So, stay tuned ;)

Friday, May 11, 2007

Moving Forward

Covalent Technology has just secured a grant (fund) under the Enterprise Innovation Fund Scheme from the Government of Malaysia (Ministry of Science & Technology). We've returned the draft agreement and signed the acceptance letter on May 03, 2007. Now, we're waiting for the official agreement to be released and signed by both parties (that'll take some time or a lot I suppose). The fund which amounts to RM 177,020 (~USD 50k) will help to sustain FREE Covalentia for another year. We've outlined a few things that we want to do:

Objectives
  • To further develop Covalentia to become an open source cross-platform Rapid Application Development Tool for .NET that supports not only web-based application development, but also windows and console applications, and windows and web services
  • To help beginners or junior programmers of local companies and government agencies to quickly produce .NET applications faster and more efficiently to lower development costs and risks
  • To develop Covalentia E-Learning & Certification Program and online interactive support to help ICT students and unemployed graduates to learn and use Covalentia, polish their skills in .NET programming and be market-ready – to produce more highly skilled human capital
Milestones
  • Multi-database Version
    • To redevelop and test Data Access Layer and Object Relational Mapping component to support other major database servers such as PostgreSQL and Oracle servers
    • Target Completion Date: 01 June 2007
  • Cross-platform Version
    • To tweak, compile and run Covalentia on Linux operating system using Mono and Grasshopper Frameworks
    • Target Completion Date: 01 September 2007
  • Multi-project-type Version
    • To develop and test multi-project-type components to support:
      • Web Application (Done)
      • Console Application Template (Done)
      • Windows Service Template (Done)
      • Web Service Template (Done)
      • Windows Application
    • Target Completion Date: 01 December 2007
  • Covalentia E-Learning & Certification Program
    • To finalize contents, release and market Covalentia E-Learning & Certification Program and online interactive support/help
    • Target Completion Date: 01 March 2008
  • Product Documentation, Testing and Benchmarking
    • To finalize product documentation and tutorials, and to run final test and benchmarking on Covalentia
    • Target Completion Date: 01 April 2008

When there's money, there'll be a lot of possibilites. A lot of things could happen. We might end up buying a beamer instead. Just kiddin' :) But, definitely, we're going to require more resources to reach these objectives and milestones. So, if you're interested to join us, do contact us, and we'll see what we can do together ;)


Oh, and preferrably women and married :)

Saturday, April 21, 2007

Setting Up a Linux Box

I spent numerous hours last week trying to recuperate my skills on setting up a Linux machine properly to run a dedicated MySQL Database for our Showcase - list of applications powered by Covalentia. The Mirror Site is now running two separate machines - one application (web server) and one MySQL Database server.

Please refer to my previous entry on how to install MySQL on a Fedora Core 4. After doing all that, I had to tweak a few things to make it work:
  • Configuring MySQL database
    • gedit /etc/my.cnf
  • Add the following line under the [mysqld] section:
    • lower_case_table_names = 1
  • Configure the Replication Slave Section, please refer to my previous entry
  • Save the file
  • Restart the MySQL Server
  • Next, configure the VNC Server so that I can access the server remotely
    • gedit /etc/sysconfig/vncservers
    • Uncomment VNCSERVERS:"1:cozta"
    • Uncomment VNCSERVERARGS:"-geometry 1280x800 -depth 16
    • Save the file
    • gedit /home/cozta/.vnc/xstartup
    • Uncomment unset SESSION_MANAGER
    • Uncomment exec /etc/X11/xinit/xinitrc
    • Save the file
  • Restart VNC Server
    • service vncserver restart

I think that's about it ;)

And NO, we don't host gold or moolah on any of our server. So, if you're a hacker, DO NOT try to hack them because you're not gonna get anythin'. Go play someplace else (or with somethin' else or with yourself) :)

Saturday, April 14, 2007

Installing Firefox 2 on Fedora Core 4

Well, before I forget, I better jot down everythin' that I did today for future reference :)

Fedora Core 4 comes with Firefox 1.0.5 or lesser, I can't remember. You could upgrade this to Firefox 1.0.8 using yum install firefox, but apparently, this version doesn't support my new Covalentia Showcase page which I just uploaded. It just hanged and so I decided to install the latest version of Firefox Version 2.0.0.3. Unfortunately, it doesn't have an RPM which would definitely make my life easier. And the installation instruction at Firefox totally sucks, ie. there is NO instruction. Well, I couldn't find any.
  • Download firefox-2.0.0.3.tar.gz from www.firefox.com
  • Execute the followings:
    • mv firefox-2.0.0.3.tar.gz /usr/local
    • cd /usr/local
    • tar xzf firefox-2.0.0.3.tar.gz
    • mv /usr/bin/firefox /usr/bin/firefox1
    • ln -s /usr/local/firefox/firefox /usr/bin/firefox
  • Download compat-libstdc++-33-3.2.3-47.fc4.i386.rpm
  • Execute the followings:
    • rpm -i compat-libstdc++-33-3.2.3-47.fc4.i386.rpm
  • Finally, close all your Firefox browsers and start a new one

And we're done!

Saturday, April 7, 2007

Installing MySQL 5.0 on Fedora Core 4

By default, I’m a Windows user. The last time I used Linux or Unix platform heavily was back then in Cornell, around 10 years or so ago. I have lost my touch and limited skills, and I think it’s time to hone them.

The goal is to run MySQL 5.0 and PostgreSQL on Fedora Core 4 so that I can do various testing and development works, such as replication (I don’t have enough machines to do clustering and so that has to wait) and perhaps start on my Mono project.

The first thing to do was to Google on ‘how to install fedora core 4’ and ‘how to install mysql 5 on fedora core 4’. Well, I didn’t really like what I saw – a lot of people complained about plenty of problems. But, surprisingly, it didn’t take me too long to successfully get the box up and running. Or may be I was just lucky, heh.

  • Pentium 4 1.4GHz
  • 256MB of RAM
  • 40G Hard Drive
  • Boot to Fedora Core 4 DVD and install using the graphical interface
  • Skip the Media Check
  • Select the Server installation
  • Disable the Firewall and SELinux
  • Add the followings in the Packages:
    • Gnome – IMHO Gnome is much better than KDE, but some other people think otherwise. It’s totally up to you
    • Graphical Internet
    • FTP
    • MySQL Database
    • Development Tools
  • Click through to complete the installation
  • Create a default user
  • Login to the box using root
  • Open up Firefox and download the followings:
  • Remove the existing MySQL 4.1:
    • yum remove '*mysql*'
  • Install MySQL 5.0 Server & Client:
    • rpm –i MySQL-server-community-5.0.37-0.rhel4.i386.rpm
    • rpm –i MySQL-client-community-5.0.37-0.rhel4.i386.rpm
  • Start, Stop & Restart MySQL Server, and create a root password:
    • /etc/init.d/mysql start | stop | restart
    • mysqladmin –u root password ‘’
  • Login to MySQL Client:
    • mysql –u root –p
    • Enter your root password
    • mysql> drop database test;
    • mysql> quit;
  • Install MySQL GUI Tools (Administrator & Browser):
    • rpm –i ptt-beta2.i386.rpm
    • rpm –i j2re-1.4.2-11.2.el4.rf.i586.rpm
    • rpm -i MySQL-shared-compat-5.0.37-0.rhel4.i386.rpm
    • tar –zxf mysql-gui-tools-5.0r11-rhel4-i386.tar.gz
    • rpm –ivh mysql-gui-tools-5.0r11-1rhel4.i386.rpm
    • rpm –ivh mysql-administrator-5.0r11-1rhel4.i386.rpm
    • rpm –ivh mysql-query-browser-5.0r11-1rhel4.i386.rpm
  • Finally, run your MySQL Administrator (from Start Menu -> Programming -> MySQL Administrator) and enter your login information:
    • Server hostname: localhost
    • Username: root
    • Password:

And we're DONE!

At the moment, I have this box running as a Slave server (READ only) for the Covalentia.2.2 (Enterprise Edition) Live Demo at our Mirror Site at covalentia.dyndns.org. Feel free to check it out ;)

Thursday, April 5, 2007

Covalentia Version 2.2 Enterprise Edition

One my clients complained the other day that their application using Covalentia with MySQL database has become a lil bit slower than usual as the data grows in size. So, I thought I should come up with a version that supports Master & Slaves (MySQL Replication) servers. The idea is to execute the CREATE, UPDATE and DELETE functions on the Master database server, and READ on one of the Slave machines. In addition, I will have to move the Reporting Service to another machine which will Read from another Slave machine. This way I can minimize the load on the current application and database servers.

And apparently, it didn't take me too long to do this:

  • Changed the web.config file to add the following connection string for the Slave database server:
    <add key="SlaveConnectionString" value="server=localhost; UID=<slave_user>; Password=<slave_password>; Database=covalentia_v22; Max Pool Size=500"/>
  • Opened up the /DataAccess/Objects.cs file
  • Looked for GetObject & GetObjects regions
  • Looked for methods under these two regions that do not have "string connectionString" parameter - these methods load the connection string from the web.config file
  • Added the following codes:
    if (System.Configuration.ConfigurationManager.AppSettings["SlaveConnectionString"] != null)
    {
    return whatever - edited to System.Configuration.ConfigurationManager.AppSettings["SlaveConnectionString"]
    }
    else
    {
    return whatever - no change
    }

    There should be 4 methods in total.
  • Compiled

However, before I could proceed with the testing, I needed a Slave database server. Luckily, I still have my old-and-underutilized iASUS notebook which I primarily use to back-up my files. And so, I installed MySQL Server 5.0 on this machine and set it up as a Slave as follows:

Slave (old notebook - Windows XP Professional):

  • Opened up the my.ini file
  • Added the following:
    log-error
    master-host=
    master-user=
    master-password=
    server-id=2
    replicate-do-db=covalentia_v22
    relay-log=-relay-bin

Master (my current notebook - Windows XP Professional):

  • Opened up the my.ini file
  • Added the following:
    log-error
    log-bin=
    server-id=1
  • Opened up MySQL Command Line, entered and executed the following command:
    mysql>grant all privileges on *.* to ''@'%' identified by '' with grant option;

  • Restarted the MySQL Master database server
  • Restarted the MySQL Slave database server

And that should be it. Done! Oh not quite. I needed to test it to see that this setup's really working. And the simplest test was to logon to Covalentia and browse to Administration Module --> Log Management --> User Log, and hit the Search button. I could see the latest log entry and, thus, the READing from my Slave server was successful.

I shall be a good slave and upload this latest version ASAP ;)

Saturday, March 31, 2007

Back in Business

Covalent Technology is back in business. My goal is to turn this company around – solve the financial crisis that has long haunted my Excel spread sheet – before the end of this year, before I move on to another venture.

Our Covalentia Community Portal is back, newly hosted at VPSLand.com. Like I mentioned previously, the price that they’re charging is relatively cheap and they provide excellent support and fast response. I’d recommend this company to anyone who wants to try out Virtual Private Server. But if you just need a simple ASP.NET hosting, well, you can come to us. It’s not FREE, but it’s so cheap that it becomes negligible or relatively FREE ;) Contact us at support@covalentia.net (we have a new e-mail now, it's no longer support@covalent-tech.com).

On the MOCCIS Trading project, I managed to sort all the problems out. In fact, I’ve learned a lot about IBM DB2 and I might consider putting it in the next release of Covalentia. NOT!

And finally, my Enterprise Innovation Fund (EIF) from the Ministry of Science, Technology & Innovative Malaysia, has been approved. It took them 5 months to evaluate and I don’t know how long they’ll take to disburse the money. 6 months perhaps? I asked for RM 250K (~USD 71K) but the total amount approved is only RM 177,020.00 (~USD 50K). I’m not sure how they came up with that figure, on what basis etc. But why not just round it to, say, RM 177K or 178K? Oh well, in any event, I’m just glad and I hope that the fund WILL be disbursed. This money will be used to buy me a lot of lunches and dinners that I’ve skipped. And the rest will be used to further develop FREE Covalentia. I’d say, may be, 10% of the total amount. Hmm that should be more than enough eh?

Oh, and if you guys would like to donate, to add up to this amount (help me fill my belly with food and more food), DO NOT hesitate :)

Saturday, March 24, 2007

New Hosting For Covalentia.Net Community Portal

We are in the process of moving the contents of our lame server to a real hosting provider, from BolehLand to VPSLand.com. The previous provider wasn't real, our server was hosted under a FREE plan not available anywhere else in the world :) Unfortunately, some network guy in the company which happens to be the largest ISP provider in Malaysia, audited the network and detected our unused-and-not-supposed-to-be-there network and decided to close it down.
Fudge.

Oh well, in any event, this migration process will take awhile, perhaps a week or so. I've never used a Virtual Private Server before, and I think that it's kinda cool. So, why not try it out. And the price isn't that expensive (I can still afford it, well, may be I have to skip a few breakfasts and lunches in a month, that'll do) at USD 38 per month, equivalent to approximately RM 136.80 per month.

Donation anybody? Help us out so that we can continue to provide FREE Covalentia. Stay tuned ;)

Wednesday, March 21, 2007

To Err is Human

To really fuck it up, you need a computer :)

Well, we got a new job at MOCCIS Trading (Malay Officers Cooperative Credit And Investment Society). But, it's not the kinda job I had in mind. The previous developer, Meridian Diversified, which provided a Java solution for day-to-day operation at MOCCIS decided to pull out two weeks ago and refused to hand over the source codes properly. However, the biggest problem isn't the source codes, but the complex month-end back-end reporting services executed via scripts which sat on one of their workstations. And the workstation was taken away.

Hmm. So, Covalent was called in to solve these problems by performing some miracles. Reverse engineering in less than 15 days? Yeah right. Whatever source codes that they left were not documented. The codes really suck. And, I freakin' don't understand their naming convention. Some LF_SHIT, SF_SHIT, what the heck is LF? SF? The connection strings and schema names were hardcoded which have to be changed and recompiled every single month. And guess what, they're still using Corba, and IBM DB2! Oh geez, it couldn't get any worse. Tell me, how do you truncate a table in IBM DB2? You can do it easily in MS SQL, MySQL and PostgreSQL. Just one sql statement "TRUNCATE " or "TRUNCATE TABLE " would do. Oh wait, IBM DB2 doesn't support this. We have to drop and re-create the table or load it with an empty fuckin' dummy file. IBM DB2 costs around RM 50K, and it can't even do a simple truncate function. Fuckin' hell.Do you know how much this Meridian Diversified which apparently doesn't even have a website charged MOCCIS Trading? RM 50K a month since 2004, just to execute some silly back-end services that they refused to automate. And the development work? I heard a fuckin' RM 3 Million for such a lowsy java solution (with hardcoded connection strings, fuckin' stupid developer) using IBM DB2.

And how much would Covalent charge? Well, we're going to charge 'em, let's see, hmm... RM 15K a month for performing miracles, and redeveloping the whole thing using ASP.NET. Cheap eh? Yeah, we are cheap mofos ;)

If anyone of you out there thinks that I haven't done enough community or national service, well, think again!

Wednesday, March 14, 2007

Bull

We're in the news - Software giant to help local ISVs.

First of all, The Star spelled the company's name wrongly. It's supposed to be Covalent Technology Sdn Bhd, not Covalent Technologies. And, secondly, we're not a public listed company (Berhad).

What help? The only thing that I got was one free lunch with that Microsoft Malaysia Managing Director and that Boyd guy at some lowsy restaurant. That's about it. And I had to listen to all the entrepreneurship bull plans which will never materialize for an hour or so. And let's not go into MDeC. I will not waste my breaths on this super bull organization. The way I see it is that we're the one who's helping them to come up with some bull events and programs (which some other people make a lot of money) and to show the rest of the world, and their bosses that they're doing something to help (bull) the ICT industries in Malaysia.

So, who's helping who? You're not helping entrepreneurs. How can you tell entrepreneurs what to do when you're not successful entrepreneurs yourselves? You rely on the government, and get paid every bull month.

Stop this bull, and find us some real jobs.

Monday, March 5, 2007

Mr IP Address 66.249.65.171

The upgrading work for Covalentia Portal is pretty much done. However, if you encounter any error or missing links, please do not hesitate to e-mail me at support@covalent-tech.com. I plan to add more features, but that can wait. I still have other things to work on, especially the Danial Portal (a local cartoon series in Malaysia, please tune in to RTM 1 every Tuesday at 7:00 PM GMT +8).

Now, I received a lot of errors from this guy, Mr. IP Address 66.249.65.171. If you do a look-up here, you'll find that he's from Alma, Michigan. And I can't seem to reproduce these errors. The portal is working absolutely fine on my laptop. So, what could go wrong? What exactly is going on here? What version of IE or Firefox is Mr. IP Address 66.249.65.171 is using? My outlook is clogged with e-mails (error log) because Mr. IP Address 66.249.65.171 doesn't seem to wanna stop browsing Covalentia.Net Portal over and over again (man, he must love this site so much), even as we speak. Well, I don't mean to be rude (no pun intended), but for the love of Mother of Ganja, could you please tell us what you really are doing oh dear Mr. IP Address 66.249.65.171 so that I could fix these errors? Sometimes, the IP Address changes to something else like 65.55.209.141, 65.55.209.140, 65.55.209.133, 65.55.209.134, 60.51.164.249, 207.46.98.74 and so on. Anybody?

But, if you're a web crawler, hmm, well then just forget about it :)

Saturday, February 24, 2007

A Lil Upgrading Work

Currently, I’m busy upgrading our Covalentia.Net Portal. I receive quite a number of minor errors everyday (it’s now running on the old version 2.0), and I’d like to stop all these annoying e-mails immediately. On the Danial Portal, I’m still waiting for the designer team to give me the front-end so that I can do the integration part which shall take a lot of my time.

I’ve nothing else to tell. Well, not really. I'm working on another project, but it has got nothing to do with IT.

It's hmm.. a secret ;)