uzyn.com rhythimic codes

Life After Graduation

It has been 3 weeks after I finished my last paper in NUS.

It felt like it has been a long time since I left school. I have even forgotten how it feels like to be in school again. For the past 3 weeks, I have been so busy with work that I felt guilty almost everytime I took a nap/sleep. I transitioned from being a student (& a part time programmer) to a full-time freelancer in almost a snap and it was very easy. Perhaps it was due to the fact that I have been working as a part-time freelancer for years, perhaps also that it was what I enjoy more, compared to studying.

My life for the past 3 weeks have been an extremely busy one. I have participated in more meetings and events in 3 weeks than I attended lectures in one semester (3 months). I am currently partially employed by a company, with monthly pay, and am given the flexibility to not just work from home, but also to do other projects, be it personal or other client’s. I am thankful for that as it provides me with some degree of financial security and yet still provides me with the freedom to do what I enjoy.

I haven’t been sleeping well for the last 3 weeks. I jumped out of bed almost everyday to work because I kept feeling guilty whenever I take breaks. I haven’t got time, and the mood, to do any of my hobbies - playing cards and exploring free electronic music. I am also lagging really a lot in following technology news, which was one of the things I did religiously when I was a student. I have tons of emails in my to-be-replied list, but my email-clearing rate is unfortunately lower than the rate of new to-be-replied emails coming in. My working hours is almost completely all the time when I am awake, from about 9-10AM to about 3-4AM the next day. I don’t get any day offs. Tomorrow is a public holiday but I still have to wake up early to work.

Comparing that with my life as a student, it is obvious that which one is more stressful and demanding. Nonetheless, I am feeling happier now as compared to the time when I was a student, trying to make sense of lecture notes that I was being force-fed to. I am finally doing the things I have always been wanted to do.

My life as a freelancer, or a starting-up entrepreneur, is definitely not easy but it is certainly more fulfilling for me so far. I am glad also to have a very supportive girlfriend, Sek Ling, that not merely understands me and my work, but also constantly trying to help to do whatever she could to make my life more organized and in order. And most importantly, thanks for willing to migrate to Singapore for me.

Everyone is busy chasing their dreams, I am chasing mine as well. Let’s hope all of us will succeed in pursuing our dreams someday.

May 31st, 2007 / Trackback

Ikram on Systrum

Ikram on Systrum

Congratulations Ikram!

You are probably the first Singaporean to ever being featured on my favorite electronic music radio, Systrum Sistum - probably one of the most popular and quality IDM online radio station around.

I couldn’t believe it when I heard it being played. Congrats!

Ikram is a member of Electronic Music Lab, Singapore and also an editor, along with Adrian and I, of Gratisvibes - a blog on Creative Commons electronic music.

Ikram will also most likely be speaking and performing with me for Village Talk - “My One Wish For The Future” this 25th of May in Nanyang Technological University, Singapore. It’s a free event, do sign up if you are in Singapore.

More works by Ikram can be found at Electronic Music Lab Singapore’s page at archive.org.

Anyone has any idea how Systrum got their hands on EML’s album?

May 15th, 2007 / Trackback

Dream Theater’s Upcoming Album Announced

Dream Theater - Systematic Chaos Album Cover

Just received this news from the official Dream Theater newsletter that the upcoming Dream Theater album, Systematic Chaos, would be released this 5th of June, 2007. It got my so excited to do an entry for an almost dead blog.

If you haven’t already known, Dream Theater is the band that is on top of my personal favourite list. I attended their concert in Singapore last year and it no doubt was the best concert that I’ve ever attended.

I am extermely impressed with the band’s efficiency, consistently making an album once every 2 years and doing a world tour for almost every album released. Dream Theater’s concerts are also unlike any usual concerts by most other artists, most of Dream Theater’s concerts are usually called ‘An Evening with…’ simply for the reason that they are at least 3 hours long. I wonder how can they find time in composing and recording while they are touring for their last album. On top of that, all the band members are also involved with their own side projects, eg. John Petrucci (guitarist) is currently touring with Steve Vai and Joe Satriani for G3 Tour and Mike Portnoy (drummer) has also recorded a couple of other albums for other artists.

Extremely amazed at their efficiency. Gotta remind myself next time not to be lazy whenever I listen to their music in the future. If it’s not outrageously costly, I’m definitely buying the DVD Special Edition of Systematic Chaos when it’s released, which would have a special 5.1 surround sound mix of the album and a 90-documentary of the band directed by Portnoy.

By the way, the band’s also kind enough to have released the first single to the album, Constant Motion, online. Guess what? It’s free, it’s available now and it’s of high quality - 256kbps MP3! I have downloaded and am listening to it. Despite that it sounds a little harder than their usual material, Dream Theater’s still as good as ever before. Contant Motion is also Dream Theater’s first single in more than 10 years. They haven’t released any singles since releasing Hollow Years as single in 1997 despite so many good albums released after that. Isn’t it ironic that this is the first time they are releasing a single (with music video) for so long and yet they are making it available for free.

Download Constant Motion at Dream Theater’s official record label’s site.
Watch Systemic Chaos Promotional Video on Youtube.

April 28th, 2007 / Trackback

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
Next → ← Previous