uzyn.com rhythimic codes

Archive of March 2007


A Little Story On Ping.sg

After Nexus2007, one of my projects, Ping.sg, has got some attention by the local technology and blogger community. There have been a lot of discussions and blog posts that are comparing Ping.sg to Tomorrow.sg, some positive, some not quite. Well, it’s natural to be comparing these 2 sites as currently both of them are probably the biggest blog aggregators in Singapore.

I’m not going to comment on that as enough comments have been thrown around, but I would like to tell a little story on how Ping.sg came about and why I am building it.

The idea to build Ping.sg started when I was bored one night more than 2 years ago and I wanted to read some general blogs by Singapore bloggers. At that time, Tomorrow.sg has already been up and has been functioning pretty well. But as a bored student, I wanted to read something more leisurely and probably more to my interest. So I thought of starting a ping service for Singapore bloggers. I wanted to have a group feature, so that bloggers can create their own interest groups and follow each other’s blogs more easily. At that time, I wanted to find NUS students’ blogs to read, but I couldn’t find any blog directory that is close to that. Even if there is a categorized Singapore blog directory, there is no way I could’ve known which one has just been recently updated.

Thus the Ping.sg project started a few months later, with myself alone doing the coding, in PHP and Javascript (AJAX), doing the designing, XHTML + CSS, and coming up with the name and logo. I did an alpha version of Ping.sg on vanilla PHP with an AJAX-enhanced homepage so that users wouldn’t need to keep refreshing to see the latest entries. At that time I was using trackback or manual entry (filling in form) for entries submissions as it was easier and more straight-forward on my part. The engine wouldn’t need to visit users’ blogs to grab the latest entries. Early users of Ping.sg would still remember the use of trackback and manual form (which was known as PingIt!) to ‘ping’ at that time. I didn’t launch the alpha version as I hadn’t done the user model (registration, login, etc).

Later on as the code gets more and more complicated, and at that time I have also just learned the use of a PHP web framework known as CakePHP by building an application for a client on it. I decided to rebuild the whole thing on CakePHP as CakePHP makes projects more managable. So I went on and rebuilt the whole thing, from the ground up, and managed to get most of it working after about 2 weeks of hard work and constant encouragement from my girlfriend. Even though the basic functions of the site was already working, including the AJAX live page, the main feature which I wanted to build Ping.sg for, ie. the group feature, hasn’t been done. Nonetheless, I decided to launch Ping.sg on July 4th 2006 with basic features and simple design and vowed that I would continue to develop it as it grows.

Cobaltpaladin is a friend of mine and I told him about it. He liked the idea and he submitted it to tomorrow.sg, hoping that the project to get noticed. It was featured on tomorrow.sg and it did get some early adopters. Most of the early adopters liked the idea of the project and some decided to blog about it (links to the early blogs). Bernard even decided to interview me on SGEntrepreneurs about this.

After that the site just grows steadily. About a month into the launch, I redesigned the logo a little into what it looks like today. Coded the AJAX shoutbox so users could interact a little bit (previously there was no way users could say hi to each other). Created the ideas section so users could suggest some features they would like for Ping.sg. Coded XML-RPC server to enhance userability so that Ping.sg engine would automatically visit users’ blogs upon updates notification.

A few months later, I grew bored of my initial design and decided to get Veron to design for Ping.sg. With the complete redesign, and after a few weeks of testing of the XML-RPC server, I decided it’s time to get it out of beta and call it v1.00. I paid Veron using my own money for her design and later self-coded XHTML + CSS and also did most of the extra features that I wanted to package with v1. Unfortunately, even though I wanted to also include the ‘group’ feature along with v1, I couldn’t get it done on time as too much time was spent on recoding the template than actual logical programming.

Most members liked the new look and some of them came up with the idea to have a launch party-cum-meetup session. Hence, we had our first meetup. It was fun as we finally put the usernames to faces. Ping.sg continues to grow after that. Thanks to the users’ support. I would normally try to help them as much as I could if they had any problems, fix any discovered bugs, and try to implement new features on my free time.

Until today I still enjoy improving the site from time to time, rolling out new features when it’s ready and then announcing it on Ping.sg Official Blog. And I’m doing this along with my undergraduate studies and freelance work as a web developer. I’m doing this not that I feel that tomorrow.sg needs to be improved, nor is it flawed. I confessed that I read tomorrow.sg everyday and in fact I also have another project which also relies on editors, Gratisvibes.com. I started Ping.sg simply for my love of technology, my love of creating things, my love for innovation, and also for myself to kill time by reading newly-updated blogs when I’m lazy.

There you go, a little story on how Ping.sg came about. I’m sure the long time users of Ping.sg would have known all these as a lot of them actually grew with the site. For all the comparisons that people are making with Tomorrow.sg, I don’t actually care so much. I like Tomorrow.sg for filtering out the noise and I will continue to read them. I also like Ping.sg for the absense of filter and for the speed of it. It’s amazing how often I get bored in a day. Now with Ping.sg, I could just hit F5 on the homepage and get new stuff to waste time on almost every 5 minutes.

I will continue to build Ping.sg. My to-do list for this project is still pretty long, and no prize for guessing what’s the next feature that I’m building.

My project ideas list has also been constantly expanding. I did lost one of my notebooks that I write my ideas on a few years back. To the person finding it, have fun building them. Since then I already have made another list of ideas which I hope I could find time to build some of them again. Ping.sg was one of them on the list, so was the TODAY feed.

I just love to make things.

March 27th, 2007 / Trackback

PHP-GTK or GTK+?

I have lost count on the times, over the last few days, that I have switched between PHP-GTK and GTK+ (in C) to program my GUI on. I started with PHP-GTK initially, thinking that I could program it easily with minimal glitches for my experience in PHP but I was wrong. Well, the basic GTK libraries are working fine on PHP-GTK, but when I wanted to embed mplayer onto my PHP-GTK app, I realised that GtkSocket isn’t working on the Windows PHP-GTK builds that are available from the official PHP-GTK site.

Spent the last few days getting help on #php-gtk, and finally got to meet the programmer who are devoting her (yes, it’s a she. And she is also a mother!) free time to build Callicore, a framework for PHP-GTK 2. Got her to help me to build a Windows PHP-GTK that she’s still working on but has the one of the features that I needed, GtkSocket , which at this time is still unavailable in the official stable release. Thanks to her help, now I have PHP-GTK working fine.

During the time when I was struggling to get PHP-GTK running fine, I had also explored GTK+ and also got it up and running on my Windows laptop. I could now write GTK+ applications in either PHP-GTK (the PHP API for GTK+) or the actual GTK+ (in C) and it’s quite a tough decision for me to pick one.

PHP-GTK (Pros):
- I am experienced in PHP.
- It doesn’t need compiling, thus saving a lot of development time.

PHP-GTK (Cons):
- PHP-GTK (with GTK+ 2.x) itself is still very unstable, I might end up spending a lot of time debugging my app which could in fact be the core’s fault.
- While PHP-GTK application could be cross-platform in nature, but due to unavailability of stable PHP-GTK 2 yet, I would have to compile my own PHP-GTK for other OSes, just like Elizabeth did for Windows.

GTK+ (Pros):
- It is stable.
- The stable libraries are easily obtainable for all major OSes.

GTK+ (Cons):
- Even though C/C++ is sort of like my second language, I am still much more efficient in PHP. I deal with PHP almost daily, it’s natural that I am the most efficient with it.
- I might take a longer time to develop a GTK+ app in C as compared to the time taken in developing it in PHP-GTK. Time is an important factor as I am running out of time soon. A lot of project deadlines coming up in these few weeks.

Still deciding which one to use…

Anyways, I would like to express my utmost gratitude to the open source community. I have picked up most of my skills and knowledge in CS with the help of the active and helpful members of the open source community. Active members in #cakephp, #ubuntu, #gtk+ and #php-gtk have helped me a lot so far. Amazingly, more often than not, the helpful people in these IRC channels are the chief developers of the respective projects. I would like to thank them for not just producing great softwares at totally no cost (both as in beer and as in speech), most of them do not hesitate at all to share their knowledge with those who seek them. They are truly the heroes of technology.

March 19th, 2007 / Trackback

Everytime You Mention Two-Point-Oh…God Kills A Kitten

Everytime You Mention

It’s a lazy Saturday 2.0 afternoon. I’ve just woke up from my state of the art Sleep 2.0 about 2 hours ago and am feeling kind of hungry. I guess it is time for some Lunch 2.0.

Enough of all those 2.0 shit already ok? Web is web, there’s no Web 2.0. Business is business, there’s no Business 2.0. And so are most of the things in this world. Since when do we version-ize everything?

Let’s count how many kittens are being killed during Nexus 2007 which will be taking place in Singapore next week. Who’s with me? I think I’m going to bring a counter to count the number of kittens being killed in that 1 event alone. Oh. and don’t start with “3.0″, I’m sure God is going to wipe out the whole population of a species with a mention of that word.

“I’m in the mood tonight. Let’s have some Sex 2.0 and make a Baby 2.0″.

Damn, don’t you hate buzzwords?

- Image adapted from “Every time you masturbate… God kills a kitten” Wikipedia entry.

March 17th, 2007 / Trackback

Goodbye Stargate SG-1

Stargate SG-1 Season 10 Cast

The final episode of Stargate SG-1 has just aired on SkyOne (UK) a couple of hours ago.

If you haven’t already known, Stargate SG-1 has been showing for 10 years and is currently the longest running sci-fi television series in the USA. It’s kind of sad to see a series that have been with me since I was just a kid ends. I practically grew up with Stargate SG-1. I have been following the series religiously since I was about 14 or 15. I am currently 24 and so much has changed, but Stargate SG-1 has always been with me since I was in secondary school until now.

Even though the producers have promised 2 straight-to-DVD movies after this to end the storyline, 2 full length movies still wouldn’t do justice to me and it would never feel the same as the TV series, which I have been looking forward to every single week, except during its mid-season and end-season hiatus. The whole Stargate franchise also doesn’t end after SG-1, the other spin-off series, Stargate Atlantis has been signed to its 4th season. Personally I don’t find Stargate Atlantis all that good as compared to SG-1. The show is lacking some scientific element to make it seems not much different than being non-sci-fi fantasy series. But still I have watched every single episode of Stargate Atlantis until now and will continue to do so, along with another favorite of mine, Battlestar Galactica.

The days would feel different from today onwards, with no Stargate SG-1 episode to look forward to each week. You will be missed, Stargate SG-1. Thanks for saving Earth countless of times all these years, Major General Jack O’Neill, Lieutenant Colonel Samantha Carter, Lieutenant Colonel Cameron Mitchell, Dr. Daniel Jackson, Teal’c, Vala Mal Doran and others.

March 14th, 2007 / Trackback

Lunarin’s Acoustic Set in NUS

It’s been awhile since I have had any dose of live music. If you know me, you should know that I’m a big fan of live music, especially progressive rock and metal.

Just attended 30-min of Lunarin acoustic show in NUS. Free of charge. It’s short and I only got to hear 4 of Lunarin’s in-progress new songs.

Lunarin’s probably the only Singapore band that I really dig, they play progressive rock almost similar to Tool’s. The new songs are great, but I think they sound too much like every other songs of theirs in their first album. Not bad, but I think they need to be more creative in song-writing. Progressive rock is about creativity in rhythm and melody. It’s great that Lunarin’s songs are not in the conventional 4/4 beats, but to do every single song in 6/8 beats and with similar drum patterns (there weren’t drums in the acoustic set just now but I am referring to the tracks from their first album) and similar guitar solo is a bit over the top. I went there with the expectation that I would hearing similar materials again as their first album and unsurprisingly the new tracks are very similar, except for the fact that the drummer now also sings back-up.

Having a unique style is one thing, but I think they have to be a little bit more creative to really be a better progressive rock band, especially in the rhythm department. I don’t mean any insults, but it sorts of gives me a feeling like all their songs can be algorithmically generated by inputting a set of chords.

Anyway, I still love Lunarin and would always try to attend every show they do. And I am still eagerly waiting for their new album. Good luck in the making of the second album.

By the way, does anyone know of any other prog rock bands in Singapore?

March 8th, 2007 / Trackback
Next →