Skip navigation

Category Archives: programming

I just tried out Ruby on Rails today and I must say it’s pretty fun. I didn’t really have a go at scaffolding because it was deprecated at version 2.0 and I don’t like messing with deprecated things.

That made things a little harder for me to get started but I have a few simple forms that allows me to save stuff to a MySQL database, which is okay. Ruby seems pretty straightforward, reminds me a little bit of the brief stint I had at Python last year. The syntax takes a little getting used to, but that’s the easiest part of learning a new language. The thing I had most trouble getting wrapped around my thick head was the block, but even that is beginning to seem straightforward now.

A suprising thing was that I found it difficult to find up-to-date tutorials for Ruby on Rails, although there’s enough on Ruby. When I was learning CakePHP I seemed to have a lot more information. I miss the CakePHP Cookbook. With Ruby on Rails it seems like I need to do a lot more digging around on the net. I thought it would have been the opposite.

One thing I really like about Ruby on Rails (or more specifically, Ruby), is the solid OO model. While PHP has some OOP support, Ruby has a pure OO model – even numbers are objects. In a language such as PHP or even Java, numbers are so called “primitives”. In fact, even the irb (Interactive ruby) itself is an object. In fact, classes are also objects. Pretty much everything is an object (though I’m sure there are exceptions). The question is – does having a solid object-oriented model really help that much when developing web applications? It does seem to lead to cleaner code – with PHP you have to mess with and manipulate massive arrays instead of just interacting with an object – however I don’t see a huge advantage in having an OO model this solid for a web application. OOP is almost a necessity for custom-built and highly complex systems, but the focus on OO is not a huge issue in a web framework, generally speaking. There really isn’t that much freedom within a domain specific framework to exercise the full extent of the power of OO.

Will I keep using Ruby on Rails. Yeah, of course! I’m always interested in learning new things and building new stuff. Remember, I’m always building new websites/webapps. At times I will make extremely slow or no progress due to other commitments and life and stuff, but expect to see new apps being launched from this blog in the coming months.

P.S I have not left CakePHP. I will continue to use it as well. Both are excellent frameworks. CakePHP I like particularly because of the massive amount of information available on PHP. That is one significant advantage.


Still going here 🙂

So pretty much most of the coding is done and now the problem is attracting visitors:

  • I’m thinking of using Adwords but don’t know how effective it will be or how much I can spend.
  • I’ll try to place posters around my local Universities (there’s around 4 or 5 at least)
  • On the front page of the website I’ll put the most recently joined user profiles.
  • I’ll need to re-engineer the elevator pitch a bit.
  • As for the color theme, I WILL change it if I get many complaints about it, otherwise I’ll probably waste too much time changing the color theme. Yeah, CSS and logo-redesign is a pain 🙂 especially when there’s so much else to do.

I think the 3rd point is incredibly important but so are the others.

I just spent the last many hours fixing bugs. I can’t imagine how many there are …
Gee I’m so stressed out with hardly any sleep AND I need to go have a meeting later today for a stupid University project. I’ve been threatened of being kicked out of the subject for not contributing enough to the project. BS. Why do I not give a shit about University anymore? And I don’t respond well to threats.

But before I have that meeting I need to go to my sister’s birthday lunch thing. I’m getting ulcers in my mouth >.<

So far nobody has joined the site yet … even though I sent out 50 or so invitations.

Ahhhhh this is sad.

Okay, this is the unofficial “pre-beta” launch of The website is still pretty unstable but is open to everyone (who is reading this post), for testing. If you are interested in testing the website go to:

The /penpal is required for now. You will be able to access directly when the testing period is over.

Depending on whether there are serious security breaches during this testing period, the website’s database may be reset after a few days before the “official” launch. If all goes well then nothing will be reset (hopefully this is the case).

Also, there are parts of the website that are obviously missing or incomplete. I’m keenly aware of this 🙂 However if you find any bugs please comment here. Any feedback welcome. Thank you!

Here’s a tiny peek at the website that will be launched in the next 24 hours.

Finally I think the pagination is all done. Now I just need to fix a few things, then the website should be online sometime in the next few hours 24 hours.


pagination! yes this is how it appears on the site

Yeah I’m still alive, and still working on the pagination. It is a pain in the ass. Let’s see if it can be done within the next 2 hours. I’ll post in another 2 hours from now.

UPDATE: Oh guess what? I’m using a code example in the Wrox book Beginning PHP, Apache, MySQL Web Development. It is also the very book that I dissed in a previous post for having tons of spaghetti code examples. The prodigal’s son returns. But, I payed for the book and still think the examples are very spaghetti-ish, so … exactly. I’ll have to refactor this code later … can’t do it now because of time constraints.

UPDATE: No the pagination isn’t done yet. By the way look at this site.

SCREWED! Hahah. Heh. Yeah.

Here is a quick summary of the progress towards launch day (scheduled for the 28th Australian Eastern). The local time is currently 5:05AM on the 26th July 2008.

The concept is simple. The website is a language exchange profiles site. In other words, a penpal site.

The name and domain name of the website will be released on launch day.

I just signed up to Media Temple Dedicated Virtual hosting (dv), and I’m paying by the month because I can’t afford to pay upfront for a whole year. I did say I was going to sign up to the Grid (gs) plan, but giving it A LOT OF thought, I decided I’d just go straight to Media Temple’s Dedicated-Virtual (dv) plan for $50USD a month. The web application is custom built in PHP using the CakePHP framework, and it’s a user profile website – that combination seemed very unsuitable for the Grid plan due to guesstimated resource usage (it’s very difficult to actually estimate). What’s more, bugs are to be expected in the coding and it’s not unlikely that the web application will be a resource eater until the bugs are addressed. If I were on the Grid and started eating up resources it could qualify as resource abuse. However if I ran a blog or a personal website, I’d host it on the Grid, definately. More information on hosting later. I am currently familizaring myself with the (dv) control panel. It looks clean and beautiful.

I’m a newbie in marketing so I’ve been rather unprepared the whole way long. I have been researching Google Adwords as well as guerilla marketing methods. The idea is to clearly project to others what the website is about and inject passion into it. That should be no problem because I’m already passionate about language learning (currently learning German). Deutsch zu schreiben und sprechen gefaellt mir schwer aber ich lerne gerne 😉

Obviously there are many other penpal sites out there. One thing that I did not research when deciding to develop the penpal site was how many there are already on the market! Unfortunately, I only figured this out just a month or two ago. It’s going to be near impossible to compete (I believe), but having put hundreds of hours (maybe over 1000), it would be a huge waste not to try anyway.

Also, I’ve had to change the focus of the website several times in the past month, in order to differentiate against other penpal sites. Will it be enough? Only time will tell.

I know I’m being rather vague, but that’s deliberate 🙂 You’ll see the website on launch day.

Graphic design was done (and is still being done) in Adobe Illustrator, Photoshop and Fireworks. I previously finished the logo but now I need to change it again because of a last minute change website name!

The site is pretty simple looking (and also simple in general).

Due to limited resources (there’s only 1 person on the project, me) the website is very simple and is not feature packed. I think I’ve covered all the basic features, though.

There are many bugs I still have to fix, and a few features to put in! So I better get to it!

As always, more info coming…

Okay, so the title’s a bit provocative and documentation for mission-critical software such as those used in aviation and powerplants must be better documented. But generally, I think web developers enjoy the highest standards of documentation in the software industry, with game developers “enjoying” the worst.

From my own limted experiences so far, web development frameworks have the most understandable, most friendly and most thorough documentation in the software development industry. You think I’m biased because I am a web developer.

Not so. My university education has not been about web development at all, instead focusing on games development, which is primarly done in C++ and other languages and frameworks geared towards game development. My experience with the documentation in the games development world has been a nightmare. My first bad experience was with the Unreal documentation. I spent 2 semesters working with Unreal and seriously I hope never to use it ever again. Ever. Actually during those 2 semesters I was playing with PHP and neglecting my Uni work a little. Later, I came to use open source physics engines. If Unreal was bad using the documentation for these engines was a trip through hell and back and to hell again. What annoys is highly incomplete documentation, but also partly pieces of example code completely taken out of context therefore, useless. Despite my majoring in games development it’s highly unlikely I’ll pursue that as a career, in part because of crappy documentation but largely because of the impossible-to-enter industry.

In contrast, look at the documentation for CakePHP, django, symfony, codeignitor and Ruby on Rails. I think it’s just a breath of fresh air!

The opinions presented in the post was based on my own limited experiences so far, and so may not be representative of reality. If you disagree (or agree), please post a comment. Change my opinion if you will.

I posted about choosing a webhost a few days ago and listed some webhosts that I was considering to use. MediaTemple wasn’t one of them, but I’m pretty sure I will go with Media Temple’s Grid (gs) plan for $20 a month. This is their lowest-end plan.

Yes, I have heard that lots of people had a lot of problems with Media Temple’s Grid hosting plan – downtime, slowness, the whole lot.  So why am I considering Media Temple’s (gs) plan? One reason is that I really like their higher end dedicated virtual (dv) plans a lot and MT doesn’t seem to have any problems with them. So, should the site become successful and draws significant traffic, I want to migrate from the (gs) plan to their much more reliable (dv) plan anyway. I think it’s MUCH easier to migrate a site within a hosting company than between hosting companies.

Second reason – MT’s site looks awesome. Yes I have heard the mantra, “Don’t judge a book by its cover”, but the awesomeness of MT’s site seems to point to their passion and commitment to what they do. I can judge companies for their up-time, support, pricing, technology etc, but I believe that passion, above all, is what’s most important. And MT shows it. So I’m pretty sure I’ll be hosting with them.

The third reason – MT’s worst problems with the Grid was back in 2006 and 2007. It appears the Grid has stabilized a lot more since.

The fourth reason – Notable companies such as Adobe and Starbucks have dealt with/are doing business with MT. This probably isn’t a really good reason, but still it gives me some confidence 🙂

The fifth reason – MT has a AA rating from the Better Business Bureau.

The sixth reason (and probably the biggest one) – Intuition!