Thursday, June 19, 2008

Which one would you choose?

This was in an e-mail I received from a friend of mine. I found it interesting- would like to see your answers.


You are driving along in your car on a wild, stormy night, it's raining heavily, when suddenly you pass by a bus stop, and you see three people waiting for a bus:

1. An old lady who looks as if she is about to die.
2. An old friend who once saved your life.
3. The perfect partner you have been dreaming about.

Which one would you choose to offer a ride to, knowing very well that there could only be one passenger in your car?

This is a moral/ethical dilemma that was once actually used as part of a job application.
The candidate who was hired (out of 200 applicants) had no trouble coming up with his answer. Guess what was his answer?

New Blog URL

From today onwards my blog can be accessed via www.codekadiya.net. I wanted to personalize this domain for sometime and finally did it with the introduction of my blog!

I have registered the codekadiya.com domain name as well. You can expect something up there in future. If you have any ideas to have in there, you are always welcome.

Tuesday, June 17, 2008

Download Firefox 3 today!

Firefox 3 Download Day is here!

Make sure you download Mozilla's latest release Firefox 3 on 17th June to make it the most downloaded software in 24 hours! Contribute your favourite web browser to create the Guinness World Record!

Download Day

http://www.spreadfirefox.com/en-US/worldrecord/

"Download Firefox 3 now and enjoy increased security, blinding speed and cool new features that will change the way you use the Web." -spreadfirefox.com

(For Sri Lanka the download day is from 10.30pm of 17th to 10.30pm of 18th June)

Monday, June 16, 2008

My Love PHP!

Before June 2000, I didn't have any idea about what is the Internet or how it looked like. I had used e-mail several times from my aunt's place just to write to my mother who was out of the country around 1998/99. It's a very nice feeling for me when I remember the first day I saw the Internet using the dial-up connection we got for our home computer in year 2000. My mother showed me how to access a website for the first time by browsing Yahoo! one day. She asked me what I want to search about. Since I was very much into Cricket as a youngster, the very first thing which came to my mind was that. I wanted to see what “the thing” referred to as "Internet" contains about Cricket. As she browsed into a Cricket news site, I saw a lot of pictures of Cricketers, their profiles, fixtures, records etc. and I was thrilled!

Since then I started browsing several websites everyday and got a rough idea what Internet is like. But I never got addicted to surfing for hours. However, I fulfilled the desire within the limited period I surfed. The reason for what I am now is the way that I started to look at it. When surfing websites, I always wanted to know HOW they were created and WHO has created them with WHAT purpose!

I’ve been using computers since I was about 6 years of age. I mainly used it to play DOS games, Paint, do PowerPoint presentations etc. I started doing a bit of programming using Visual Basic when I was at the age of 10. Although I knew it was not a big deal when compared to major software developed in the industry, I did produce some pretty interesting pieces of software... (at least for my use :-) )

The introduction to the Internet opened a new door in my life. I don’t clearly remember or recollect how I got to know that the websites are basically done using HTML being a sixth grader in 1999. I say this because I had not gone for any formal learning on HTML at that time. I spent a lot of time creating my own websites after school and on weekends - A website about Sri Lankan Cricket being my first one.

A problem? It's true that I designed all these! Looking good and adequate… (for my eyes of course!) My parents, relatives were happy seeing all these... But how would I make the whole world see what I've created? It's only in my PC? How can they see what is in my PC? I somehow had to find a way to "put" these to the Internet!!!

These were the days Macromedia Flash (currently Adobe Flash) had become very popular in the WWW. I experienced in some of the websites I visited, there were some cool graphical animations and I got attracted to them just like any other kid would have. Somewhere around this time, I got to hear that my school has organized an evening class to teach Flash, conducted by an old boy of our school who had just passed out. Even though I was not a big fan of attending classes, I didn't hesitate to join this one. So for the first time I decided to attend a “computer class”.

Even on the very first day of the class I learnt lot of new things and got the basic introduction to Flash and what it can do. I was happy with how things went. But the problem which I described just before was troubling me all the way, even after finishing the class. I really wanted to know the solution from someone quickly. I asked some of the boys in the class (whom I thought was good with computers) how to “put” the website I’ve created to the Internet. No one had an answer! (it seemed they weren’t interested in creating a website but only to browse :-( )

I was considered as a silent child in school. I maintained the same in this computer class as well. I really wanted to ask for the answer to my issue from the old boy who conducted the lecture. But I couldn’t walk up to him even by the end of the class. I saw him leaving the school; I remember how I ran down to ask him how it should be done. He stopped to answer me! This is the turning-point of my life…

Once I got home in the evening, I was in a big hurry to put into practice what he explained. In the process, I disturbed him few times calling him to get more information on the “uploading” process. Now I realize what a good teacher can do. Finally in the night, I managed to upload my very first website to the Internet! I have no words even now to describe how happy I felt – I felt as if I was at the top of the world!

Before the second day of the class (one week after), I had uploaded another website about planet Mars. The lecturer (that old boy) and I became closer since I kept on asking my doubts and he seemed interested in answering all those exactly the way I expected. He acknowledged my work in the class by telling other students to visit my websites as well. Yes, I’m talking about Nazly! (from here onwards I refer to him as my teacher in this post)

Within a very short period of time I got my first Flash based website up and running with the name “Madhawa’s Cyberspace”. This was after seeing my teacher’s Flash website “Nazly’s Cyberzone” which created a big interest on my mind. (now I know that this is an example of a student’s attempt to model a teacher)

Somewhere later in the same year, I wanted to do a larger website which should be useful to many users of the Internet. I was thinking of locals as well as expatriate Sri Lankan community. Then I came up with the idea of doing a community website with the name “KopiKade”. At first it was a HTML site hosted in a free server similar to all my other previously created websites. Even then it got considerable amount of hits and popularity which gave me a lot of pleasure.

So far so good! I got my own websites up in the Internet for about one year now… They were starting to be known by the public. (specially the KopiKade) What’s next? I started to wonder how some of the websites I visited allowed people to create accounts in their websites and later login into the account they create. This idea was constantly lingering in my thoughts.

Not wanting to get everything out of my teacher, I tried to think on my own of a method to make people register in my website. After sometime I realized that HTML had a limited potential to fulfill my need.

I continued to have contacts with my teacher even though the series of classes organized by the school was over. I used to call him and ask whenever I had things to clarify. He never failed to answer any of my questions. Although I talked to him over the phone, I really missed his class. Sometime after he informed me that he will be conducting a class on JavaScript in a private institute. There I was introduced to the world of client-side scripting!

The new class was progressing. I still vividly remember, the first time he introduced writing conditions (IF..Else) with JavaScript. With this it dawned on me that “Yeah! so here is the solution to my user registration problem!”. I was anxious to come home to experiment. I’m sure most of you (computer geeks) may laugh at me when you read this part; I created a HTML form to enter typical fields which are in a registration form (including username and password) and made it to e-mail to me using CGI. I displayed a thank you page saying your account will be activated within 24 hours after submitting this form. (can you imagine where I’m heading to??) The procedure in my head was; I get an email with all the fields with user’s input to my e-mail whenever someone submits a form; I write a condition manually in my login page to authenticate if username and password is entered correctly; I send an email manually using my webmail saying “your account is activated and ready to login!”. Isn’t this smart?!! ;-)

I got several members within the first month out of this attempt; I kept on modifying the login page for each member who registered in my site. But it didn’t take me a long to realize that this might not be the best method of doing – or else this is not how “big” websites do!

When reflecting I feel the frustration (it’s difficult to explain the exact feeling in words) I had was the main reason for me to switch to a server-side scripting language. I got to know about these when I asked my teacher about my new problem. First I learnt bit of ASP but I never liked it much for unknown reason. My teacher wasn’t so interested in it either. He told me there is a much better powerful language and introduced me to PHP. He taught me the basics of PHP. I always practiced and did something new before the next class and my teacher was so pleased with my effort and what I produced. He always used to appreciate my work.

I realized that PHP is the true solution for all my web problems. I got to know PHP could communicate with databases so that I can store my website’s member data and process them dynamically instead of modifying the pages manually each time user signs up. I found out that PHP can send e-mails through the script itself so that I don’t have to send activation e-mail from my webmail account. I simply fell in love with PHP since then…

One of the first things I did after being a bit familiar with PHP was to redo my website “KopiKade”. (this site is still online as www.kopikade.lk . I didn’t find time to update/maintain it during the past few years.) This is the personal website which I have put most of my efforts while developing my programming knowledge and skills during the early days.

PHP came into my rescue when I faced a desperate situation with my mother going to U.K to continue with her PhD. I hated when she called me over the phone as I felt so sad. I coded a chat room for her and me as I preferred to chat with her instead of telephoning. (hehe.. I did not know about chat messenger software)

I also joined Codewalkers.com when I was 15. I loved to look for questions related to PHP/MySQL and JavaScript day & night. This is where my codename was established as “CodeKadiya” to many who posted questions in the forum from all over the world. The administrators of the website appointed me as a Super User which added to my thrill. I reached the status “Codewalker Guru” and the Top Poster of the forum within a short period of time. I sometimes feel I was better then! :-)

I’ve been working with PHP for over 6 years now in various projects. I feel it has all what I need – it can make your life easy & fun – it’s amazing how it makes complex things simple!

I also must say that I’m highly influenced by my teacher, Nazly Ahmed. Not only he supported me all the way through with coding, he also made sure that I joined the company for which he is working, the very next day after finishing my Advanced Level exams on June 2006. We became closer and became colleagues. However, he is same then and now – the good old teacher!

I’m extremely grateful to my parents for letting me pursue with what I was interested. They always did – I’m sure they will in the future too… I was free and trusted; I was allowed to live in my dreams and gave all the support to realize them. I feel so lucky!

You must be wondering why I had to write all these in my blog. By writing this I don’t mean that I have come a long way nor I have done a lot to the world. It’s just that I’m satisfied with what I have achieved so far – being in a field which I always had my interests. I’m not really sure who will flourish reading this long post; but if you’re a starter in coding, a parent, a teacher or someone related to somebody like me, I hope you had something to gain out of this! Make sure you write me what you feel…

Tuesday, June 10, 2008

Can I blog?

Blogs were not anywhere in my list of top interests for all this time even though I've been following few of my friend's interesting blogs. It's not that I'm a person who's not into writing. Actually, it is something I love to do. Probably, the reason is not having much time to concentrate on posting my genuine thoughts with the recent tight schedules. Also I didn't want to stop it half-way just like I've done for most of the things in my life in the past.

However, I thought I must get something up here with the hope of keeping it live at least to an extent. I will write here whatever comes to my mind.. It can vary according to my mood: me thinking aloud, my perspectives of things/happenings, my past/recent/future activities, Internet technologies, new findings, experiments, talents, music/entertainment, cricket, humour etc. ( of course - no politics!)

Hope you guys will be reading my blog when you find some free time! You should let me see your comments too to encourage me to keep posting.. :-)

oDesk Certificates

oDesk Certified HTML 4.01 Designer
oDesk Certified XHTML 1.0 Designer
oDesk Certified CSS 2.0 Designer
oDesk Certified PHP4 Developer
oDesk Certified PHP5 Developer
oDesk Certified Advanced Php Developer
oDesk Certified JavaScript 1.3 Programmer
oDesk Certified AJAX Developer
oDesk Certified Macromedia Flash 8 Designer
oDesk Certified English (Sentence Structure) Expert