| Cozta Norhalim 的个人资料cozta.net日志列表 | 帮助 |
|
|
Covalentia on MonoWe’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 Job Vacancies at Covalent TechnologyYes, 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
Scope of Work
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
Scope of Work
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
Covalentia Version 2.4Business 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. Covalentia Version 2.3: Powered by OracleCovalentia 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.
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 Moving ForwardCovalent 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
Objectives
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' Oh, and preferrably women and married Setting Up a Linux BoxI 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:
I think that's about it Installing Firefox 2 on Fedora Core 4Well, 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.
And we're done! Installing MySQL 5.0 on Fedora Core 4By 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.
And we're DONE! Covalentia Version 2.2 Enterprise EditionOne 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:
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):
Master (my current notebook - Windows XP Professional):
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. Back in BusinessCovalent 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. To Err is HumanTo 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 <table_name>" or "TRUNCATE TABLE <table_name>" 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
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! BullWe'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. A Lil Upgrading WorkCurrently, 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 Have You Seen It?If you haven't, check it out. The latest Covalentia Version 2.2 at http://www.covalentia.net
Oh, by the way, here's a reply from exabytes regarding the previous hosting issue: I wrote:
--------------------------------------------------
Dear Exabytes,
I think you should clearly state in your website that the MySQL supported is version 4, and not the latest version 5. Version 5 has been around for quite sometime. If you only put just 'MySQL', a lot of people will assume that it is the latest version.
In regards to my client's hosting (www.danial.com.my), my app runs on ASP.NET 2.0. So, to host on Linux is not an option. My solution now is to advise them to either terminate, refund their money and look for another hosting company, OR pay an extra RM 380 per year for your Microsoft SQL database service. We'll let you know then.
Reply:
-------------------------------------------------- Hello Cozta,Thanks again for your feedback.
I have reported your suggestion to our management for further review.
Hope to hear for good reply from you.
If you have any enquiries, please do not hesitate to contact. Thank You!
[Censored]
-------------------- Customer Service Manager Exa Bytes Network Sdn Bhd Yeah. Whatever. When a Good Day Turns UglyOf late I’m working on two projects – The Great Hunt Community Portal and Danial Portal (www.danial.com.my). Both portals will be running on my latest version of Covalentia Version 2.2 which I haven’t released. The Great Hunt Community Portal, a new Employment and Project Outsourcing Portal, was initially scheduled for a soft-launch today. However, due to the recent upgrade of Covalentia (due to the recent release of ASP.NET 2.0 AJAX 1.0 RTM), I have to postpone the proposed launch date, hopefully before the end of this month. And, I will post the project’s source codes on our Covalentia Community Portal. Yes, you heard me right, I will reveal everything, how it is done etc. So, stay tuned
As for the Danial Portal (www.danial.com.my), if you’re in Malaysia, switch your TV on to channel 1 (RTM Satu - Saluran Info Anda ie. Saluran Propaganda BN), and watch the new local cartoon series, Danial, every Tuesday at 7.00 PM GMT +8. Covalent Technology has been awarded by MediaCal (www.mediacal.com.my) to develop this portal using our Covalentia platform. Everything is going well until today after we signed up for a web-hosting solution from exabytes.com. Well, they claimed that they’re the no. 1 web-hosting company (don’t they all do so?), but still they can’t give me what I need. I need ASP.NET 2.0 with AJAX 1.0 and MySQL Server 5.0 to run Covalentia. If you look at their website, it is stated there that they do support MySQL (without stating which version that they support). And it turns out to be MySQL Server 4.1.22. I could switch to Microsoft SQL 2005 instead (since Covalentia supports both Microsoft SQL 2005 and MySQL 5.0 as well as PostgreSQL 8.1+), but I have to pay extra (which they don't tell on their website too).
I admit that it is partly my mistake. I should’ve asked first before signing up. But, being a customer (in this case I am when usually I’m the vendor), and a customer is always right, I think exabytes should highlight CLEARLY in their website what version of MySQL that they support. And they should put the extra payment that I have to pay to use Microsoft SQL 2005 too. I just hate hidden charges. I mean, what’s wrong with putting all the information up there? It’s not like somebody is gonna get killed if you tell the whole world how much you charge extra or if you use the old MySQL Version 4.1. And you claim you’re the no. 1? Geez Microsoft AJAX RTMMicrosoft has just released the ASP.NET 2.0 AJAX 1.0 RTM. Please note that if you’re using the current version of Covalentia Version 2.1.1.27388, you’ll get numerous errors because it is still using the Microsoft AJAX 1.0 RC (Release Candidate). A few people have already e-mailed me, and I will do the migration as soon as I can. In the mean time, if you want to do it yourself, you can simply follow the migration guide:
http://ajax.asp.net/documentation/Migration_Guide_RC_to_RTM.aspx I don’t see that many changes, so I think that it should be relatively straightforward. If you have any question, please don’t hesitate to e-mail me at support@covalent-tech.com. Oh, and thank you for your support A New VentureSo it begins. One of my business partners has partly left Covalent Technology and joined another team, Innovation City (Innovasia), and I am pretty much alone in this nice office. However, this new development will not affect Covalentia in any way. The direction will stay the same – Covalentia will be FREE for all to download and use, and Covalent Technology will continue to service its customers. In fact, there are some new leads and possible funds that may come into play and fit nicely into Covalent’s sustainability equation. And in addition, by the end of this month, I will launch a new community portal, codenamed The Great Hunt – an Employment & Project Outsourcing Community Portal. This portal will complement Covalentia’s Training Program – to provide trainees with a channel to market themselves to the outside world and get better exposures.
So, despite my early plan to join IPerintis for a better pay, leave Covalent Technology and let it sail down the drain and rot (just kidding), I am the one who’s being left behind
On another note, along with my other partner who owns this office, we are venturing into a trading business. As a result, a new company, Covalent Engineering, is formed. In its early inception, Covalent Engineering plans to become an authorized distributor for Proguard which carries a range of personal safety products. It’s a tough market out there, I know. But, trading is relatively a good business, and I have to start somewhere Covalentia Version 2.1 ReloadedThere are a few minor bugs in the recently released Covalentia Version 2.1 which I came across while working on Covalentia Version 3.0. I’m going to upload the files again once the internet connection here gets better. It’s very slow at the moment but has got nothing to do with the recent Taiwan’s earthquake. The portal is hosted at some place which I can’t mention for FREE. And so, you can’t expect much from a free stuff
I saw the total downloads this morning was around 128 (6 days or so after it was released). Not bad eh? If you’ve already used it to develop your application, you might want to replace (or do some changes to) the following files:
That’d be all ;) New Release & CommitmentHappy New Year to all! I know it’s rather late to wish now but I’ve always been a late bloomer, and it’s better late than never
Well, I’m back from a good long holiday, and ready to resume work and continue to develop FREE Covalentia. In fact, I’ve already uploaded Covalentia Version 2.1 as promised earlier. This release includes:
At the moment, I’m working on the next release (Version 3) which will contain a lot of major changes, especially in the Data Access and Business Object Layers. It will also include other new features such as .NET Framework 3.0, ASP.NET AJAX 1.0 (if they decide to release it soon enough), Windows Presentation Foundation (WPF), Oracle database support and more. If you are one of the users who frequently download Covalentia (one of the 300 or more people registered at the Covalentia Community Portal) and you want to contribute some ideas on how the future Covalentia should be or look like, feel free to e-mail me at support@covalent-tech.com. N-Tier and Globalization IssuesInitially, I was facing a minor globalization issue. A glitch, I thought, and nothing more. Someone from Turkey (or somebody with a tr-TR culture installed in his or her machine or set in his or her web browser’s language setting) must have tried to visit www.covalentia.net but to no avail. The person was probably feeling frustrated and forwarded me the errors (you don’t actually have to do that because all errors are automatically logged and sent to me at errorlog@covalentia.net). After a careful inspection, I found out that it’s not really a minor issue, but a major one. I had everything wrong. The culture configuration in the web.config file is not supposed to be set to auto:en-US. This will cause everything – I mean everything – from the database connection string to date and time to follow the CultureInfo.CurrentCulture information. If your database, MySQL database for example, is an English version (mine is), it will give the following error (note the date is Turkish as well as the word "uid"):
The following error/exception has occured in the Covalentia.Net Portal - FREE C#.Net Code Generator on 16 Aralık 2006 Cumartesi 23:33:32. Please response immediately. Thank you. GUID: 11c2ae5b-8c14-4bb3-80e5-ee837f263e27 Type: Unhandled Exception Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: Keyword not supported. Parameter name: uıd Source: MySql.Data Stack Trace: at MySql.Data.MySqlClient.MySqlConnectionString.ConnectionParameterParsed(Hashtable hash, String key, String value) at MySql.Data.Common.DBConnectionString.Parse(String newConnectString) at MySql.Data.MySqlClient.MySqlConnection.set_ConnectionString(String value) at MySql.Data.MySqlClient.MySqlConnection..ctor(String connectionString) at Covalentia.Core.Data.SqlDataProvider.ExecuteReader(String connectionString, Int32 databaseTypeId, String query) at Covalentia.Core.Data.SqlDataProvider.ExecuteReader(String connectionString, Int32 databaseTypeId, String tableName, String queryExpression, Boolean executeScalar) at Covalentia.Core.Objects.GetObject(String connectionString, Int32 databaseTypeId, Type type, String queryExpression) at Covalentia.Core.Objects.GetObject(Type type, String queryExpression) at Covalentia.CRUD.Read(Type type, String queryExpression) at Covalentia.Controls.Portal.Default.InitializeSkin(Control skin) at Covalentia.Controls.SkinControl.CreateChildControls() at System.Web.UI.Control.EnsureChildControls() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) IP Address: 85.105.17.21 Raw Url: /Default.aspx Date: 16 Aralık 2006 Cumartesi 23:33:32 And so, I have to fix a lot of things. I can’t use the CultureInfo.CurrentCulture to display data according to the user’s culture installed (or web browser’s language setting). Instead, I have to use the following: CultureInfo ci = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0]);
For the rest, I have to use the third type of culture that is culture-insensitive – CultureInfo.InvariantCulture. So, my bad. My deepest apology goes to the Turkish person or whoever he or she might be. I had replaced the auto:en-US value with just en-US. Feel free to browse the portal. We're the FOC bunch. Covalentia is for charity That’s not all. After the recent launch of Windows Foundation, I realized that I couldn’t create a Windows Application (WPF) using Covalentia. Covalentia is very much focusing on generating web applications on the fly – and my plan is to make Covalentia a robust platform or code generator that can support other types of applications as well, not just web application. My mistake is just like any other programmers’ mistakes. We tend to follow examples on the net every now and then, and those examples do not necessarily follow the supposedly correct rules of programming N-Tier or enterprise level applications. And so, I have Windows.Web.UI and Windows.Web.UI.WebControls in the Business Object or Logic Layer. Oooops As a result, the new release of RC 2 mentioned earlier will not happen so soon. I’m working 24/7 to restructure both the presentation and business layers. Perhaps, next year? In the meantime, enjoy your holidays |
|
|