I’m new to version control, git, GitHub and many new stuff in the web development world. Previously, I tried using GitHub for a little, but didn’t worked out.

Today, I came across Code School’s Try Git that taught people how to do some basic stuff for 15 minutes. I was able to follow along, and it was interesting. I also saw that Geeklist added a new feature for you to feature your commits on Facebook, and found it cool.

After the last exercise on Try Git, I decided to create a new directory on my desktop and add some files into it to familiarize myself with git. I had an error initially while pushing to GitHub, but solved it by toying around.

git init

Here are my humble commits:
Screen Shot 2012-07-05 at 6.19.59 PM

I’m still learning and trying to get the hang of it, but here marks my first (proper) day trying out git.

UPDATE (Jul 6, 23:21):
I’ve found out that git rm -r followed by a commit message and push would allow me to remove a directory in the remote repository (like on GitHub). Another way to do so would be to do a git add . -a and also followed by a commit plus push. (Sources: 1, 2)

iOS Dev Scout Hackathon 2012

The first ever iOS Dev Scout hackathon (and probably the first iOS hackathon in Singapore) — called the iOS Dev Scout Hackathon 2012 — started on June 16th, 9AM and ended the next day at 11AM.

70 developers participated in the event, together with a couple of mentors and organizers (Michael, Sayanee, Subh, and Mugunth) over the weekend, held at Plug-In@Blk71.

It was a fun experience, and with no prior knowledge of Objective-C, I was able to build three different simple apps that kept me working and learning through the night. It was my first hackathon experience.

I didn’t pitch nor joined any groups, but instead, I approached Stephan and Sam to learn Obj-C together.

Text field to text view

I started off with a basic single view app, randomly. I placed in a UITextField, a UIButton, and a UITextView. Initially, I updated the UITextView with whatever a user has entered into the UITextField, through the UIButton. Huge thanks to Steve, a student who sat beside me, for explaining why I had problems with IBOutlet vs IBAction. Then, Subh encouraged me to append and add on the subsequent text a user enters.

A little search here and there online allowed me to append subsequent text, and cleaned up the UITextView a little. By then, it was time to “Show and Tell” at 7PM-ish.

Presented. Bla bla bla. Dinner.

Navigation bar

I forgot how I created the navigation bar or how I started, but anyway, here’s what I did: The first tab had a navigation controller in it; I pushed the plain text fields (username and password) into a view controller. I was trying the accessors (@property and @synthesize) here, together with the pushing of the view controller into the stack. (Push in, back with pop)

In the second tab, what I did was to load a UITableView in that tab, with an array of data (hard coded, not dynamic).

It started getting messy as Subh taught me how to programmatically create the views and put them together. I’ll need to re-read guides and my codes again. By the time this was done, it was already 1 or 2AM, and then another “Show and Tell”.


Late into the night, I decided to rest a little by grabbing a can of Red Bull, since I had a little problem and was restarting the laptop. Talked a little about Obj-C and Rails (I have no experience, just curious) with Subh, and then probably an hour or so with Michael about PHP and git.

There were only a couple of people left (around 30 or so), sitting around working on their stuff through the night till morning.

I overwrote the second app with new stuff; two tabs, still. First tab was to add a person’s name, and then the Twitter handle of the person (must enter without the “@” sign, and had no validation).

I was messing around with NSUserDefaults after Subh recommended me to use that for a start. No idea what I wanted to do with the data stored, but I had the second tab with a table view. Called the data stored and put it into the table view. Next, I made it such that when a user selects a row, it will do an alert to show which Twitter account the user has selected.

Near 7AM, I then decided that when a user selects a row, it will display that particular Twitter profile’s tweets in a new table view (with navigation, push). By selecting a tweet (or in this case, a row), it will display the whole tweet in an alert (or push notification) box. That was what I had to show for the “Final Demo”.


Nothing fanciful, and I was so darn tired from not sleeping, yet cramming so much information into my head in a night. It was great looking at fun and awesome ideas being pitched at the hackathon, including the crowd’s favourite – Thumbatar.

Huge thanks to Subh, Michael, Ashish and Steve for their tips and guidance, and also thanks to the organizers, sponsors, mentors and developers who made this hackathon fun and possible!

iOS Dev Scout Hackathon 2012 – Demo Day Group Photo

Photo by Michael Cheng

P.S.: I slept at 3PM on Sunday, woke up at 10PM, tried CodeIgniter (PHP) till 1AM before sleeping again, and then woke up at 6.30AM to prepare to head to the office for my internship. I am supposed to sleep earlier tonight but decided to finish this blog post before I forget about anything I had in mind. I’m out. Peace!

Visual Stories

Visual Stories – Behind the Lens of Vincent Laforet

Wow! My last blog post was written ages ago! I’m finally done with the examinations (last week) and just had my week-long break. Heading back to school tomorrow for Final Year Project. I’ve just finished the book shown above. It’s written by Pulitzer Prize-winning photographer Vincent Laforet.

With 13 chapters and more than hundreds of photographs, this book does not focus on the technical aspect of photography. Instead, Mr. Laforet shares the thought process behind each photograph. He also brings us through his stories at Pakistan‘s war zone, and also differentiating himself from other photographers at the Olympics.

The reality for any photographer is you are only as good as your last photograph.

The very last chapter, Never Make a Mediocre Image, contains one of the most valuable lessons from the book. It is a great book and I’ll recommend to any friends who enjoy photography.

While reading the book, it made me think seriously about photography: If I really want to improve my art and vision, I need to shoot more. I’m not taking enough photographs to improve myself. No excuses because photographer Chase Jarvis said:

The best camera is the one that’s with you.

Check out one of Vincent Laforet’s latest films – Mobius

2012 is Here!

It’s 2012. Time flies. I’m not too sure what resolutions or goals should I set for the new year. Previously, I tried to do the Post a Week challenge by WordPress and failed. Not because I don’t have the time to blog, but I can’t get myself to write more often.


Not much memories or achievements in 2011. Attended a few concerts, and ultimately got to photograph one of the concerts. I turned 18, yes. And other than the concerts I have attended, I don’t really remember any significant events that happened in 2011 (other than natural disasters worldwide, and the death of Steve Jobs and Dennis Ritchie).

Always Learning

I got more interested in filmmaking after I was tasked by one of my friends to help him film a short dance video. It was a great experience. After helping to film that short dance video, I decided to learn more about producing videos, editing videos, and more!

And yes, I picked up German as an elective in 2011. It was fun and interesting. “Guten morgen!” (Good morning in German)


Overall, I’m disappointed with myself in 2011. I intend to blog more often and try to express my views in various stuff this year (yes, it’s 2012 already).

Hope that 2012 will be a better year for me, and everyone else out there! Happy New Year!