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. :)

Tuesday, March 23, 2010

Silverlight

If you go to Chibi Heroes today, all you see is a framework sample for ASP.NET running on Facebook. Did it give up on it? Heck No! I just took some time off from working on it, is all.

Besides, I am working on a few other projects at the same time. Silverlight projects to be more specific. :)

What is Silverlight? Well, it is Microsoft's response to Flash.

If ASP.NET was Web 2.0, then I guess these "new" technologies are Web 4.0 hahaha. Seriously though, todays web are much more interactive than what we had the past few years. I guess this is what I will be using more often for web development in the future.

So why did I chose Silverlight and not Flash/JavaFX/HTML5? Well, I guess it is due to the fact that I am already proficient in C#....

Well, thats it for now. Be back soon with more info on Silverlight or ChibiHeroes. Will also post about programming stuff in the future.

Saturday, December 19, 2009

DIV versus TABLE

As I was working through Chibi Heroes, one of the testers ask me a question "why did you use tables? That is so dot-com, man. You should use divs. You need to keep up with the semantics web, you know?"

I was taken aback. I smack my forehead yelling "argh! Why didn't I see that coming!"

What am I missing, you ask? Dot-com? Web 2.0? passé a few years back. Now it is semantics web. The new in thing. CSS, semantic web, SEO, accessibility, etc. I'm missing out on the bandwagon again! I am missing out on all the glorious layout CSS can provide me, the way that dot-com companies are missing out on all the pinball machines and free flow soda and pizza lunches. I should go all out on the beautiful semantic accessibility tags (I don't know wtf this means but it sure is important to semantics extremist!) the way that dot-com companies go all out in spending for a penthouse office, golden topped table, and couches that cost $40,000.

Imagine you come up with a website that serves millions of people by using TABLE. Now compare that to a website that semantics extremist created which serves the population of Antartica (130 people hah!), even though it is using the latest SEO techniques, DIVs, blah blah blah.

Dude, wake up. It's not about you, it's the customer, stupid. It's about KISS : Keep It Simple Stupid. Stop, take a breath, and think about it. You are putting up a web page to make money to pay yourself and your workers. You customers don't care if your page is rendered in div or table! All they care is the end result. A web page that display data, images, and buttons to click. Trying to say otherwise is tantamount to idiocracy. :)

You, my TABLE friend, is a winner. You keep doing whatever works for your millions of customer rather than what an ivory tower guy with 130 customer tells you to do, my friend.

Monday, November 30, 2009

Chibi Heroes Part 2

2 Months working on Chibi Heroes, a facebook game, and I am 8 bugs away from Open Beta! So how long is that anyway? Hmm, about a week or so. That means that on the 5th of December Chibi Heroes is open for everyone to beta test it.

Those pesky bugs can be fixed well enough; the main problem that I will face after this is getting people to play it.. as well as pay for it. Well, mainly getting enough people to know and play it. The first part of this problem is marketing.

Next up is monetization. Setting up a paypal business account as well as google adsense to make money seems like a no brainer. I'll be looking into other ways of monetization as soon as I reach this stage.

For now though, on with fixing the bugs! 8 of them no less gah...

*Chibi Heroes is a Facebook game built using ASP.NET. Check it out on Facebook on 5th of December 2009!

3 New Facebook Projects

I started 3 new projects! One is a medieval town building game, another is dark fantasy mythical game, and the last one is a story building game.

The first one is kinda inspired by simcity. Imagine playing simcity on Facebook! Imagine trading goods and services between you and your friends! The more friends you have the more prosperous you become due to increase trade. All this leads to an increase in city size. But wait! What is that in the distance... a tornado is coming this way?! The power plant is overused and the possibility of a meltdown is imminent? Ai Carumba!

Ever read Ravenloft? Imagine choosing an anti-hero from horror movies! Vampires, Werewolves, and Mummies are passé. Now it's all about Flesh Golem, Lich, and Death Knights from beyond! The stronger the dark lord, the bigger the army of darkness, the more mayhem they will inflict on the world!

Have you and you friends ever made up a never-ending story that each keep adding to over a campfire? Now you can play this game online!

Tuesday, November 10, 2009

MySQL limitation...

Well I have been working on ChibiHeroes for a while and the database I'm using is MySQL. I've been abusing the poor little sucker is more likely hah hah hah. I've been doing stuff with it that people will shake their heads and cry if they knew about it.

One of the things that I found out was you cannot set the current date/time aka NOW() as a default for a datetime field! What the heck? Oracle can do it. I have been doing it in PostGres SQL Database for quite a while now. So why can't MySQL do it?

What kind of a limitation is that? So I went back to check their forums/listing/documentations and guess what they recommend. They advise their users to use the timestamp. Huh? What the hell? It is like telling a user to stop driving a Ferrari because the clutch is broken and start driving the Ford Ranger. Gimme a break man! Fix the damn clutch.. err I mean limitation now!

Come on you guys, stop being lazy! This ability has already been used in Oracle and PostGres way back during MySQL 3.51. Numerous updates and improvements later we're still stuck with this limitation?