Thursday, May 27, 2010

Web Development

Way back in 2002/2003, when I just started learning web development, I was faced with a dilemma. There was too many choices and tools that I can use. How many? Let me list them:

1. Perl/CGI
2. ASP - VB
3. PHP
4. JSP - Java
5. Python
6. ColdFusion
7. Flash

(Now we have J2EE, Ruby on Rails, Silverlight, and ASP.Net, to add into the mix.)

So what was the problem and what did I eventually chose to use?
1. Too complicated and unwieldy to use.
2. Mildly messy.
3. Extremely messy bloatware. Check out php problems which list all the problems that I encountered back in 2002/2003, WHICH I STILL ENCOUNTER TODAY.
4. Slooooowwwwww.
5. Mildly messy.
6. Extremely rigid, extremely hard to build code library. Plus, ColdFusion is dead. The current ColdFusion incarnation is actually a Java EE application.
7. Slooooowwwwww, actionscript too unwieldy to use.

What did I do? I learned them all. Jack of all trades, master of none. Of course, to be a good developer, you must master something. So after spending a few months working with all of them, I decided to stick with the ones that passes the ACID (atomicity, consistency, isolation, durability) test. This term is usually used for database transaction, but it works here too heh.

I chose to master the mildly messy and slow development languages/tools/environment. Namely ASP on IIS, JSP on Apache-Tomcat, and Python on Zope. 8 Years later, I'm still doing some web development, but now all I'm working on is ASP.net using C#. Next post I will explain why I am using ASP.net/C#, instead of PHP.

Wednesday, May 5, 2010

Simple TCP Client Server

I've been busy the last few weeks working on some web application. Some document management system, hotel management system, bills management system... even a project management system. I took a few days break from working on them to do some simple mental exercise. I wrote a client server program.

A lot of people would incredulously say "taking a break for you means writing a socket based client and server program?! And you wrote the client in C# while the server is written in Python?!!"

The answer is yes, and yes. Don't get me wrong, I'm as sane as any other person. My idea of a REAL break is relaxing on the seashore, under a big canopy, with Bob Marley's "Three Little Birds" playing in the background.

Anyways, here it is, the C# client and the Python based server. These are working copy that can be easily modified to turn the client-server into a chat program, a game, or whatever. Have fun!



And now, time to work on my web-base strategy game. :)