Tag Archives: software development

iPhone Weekend

Michelle and Jeanne went to visit the grandparents and attend Tin and Jansen’s wedding. I was left at home suddenly with plenty of time. I still did some usual chores: laundry, cooking, washing the plates, washing the car, etc. But somehow I still had extra time. Okay, I know why :P

Anyway, what better to spend spare time on than continue learning iPhone software development! The two days, I played around with Objective-C, the Interface Builder, and of course XCode. Learned quite a lot!

And when I wasn’t studying, I was using the iPhone to watch How I Met Your Mother and to play Infinity Blade with its The Deathless Kings content pack (damn Zero Mech!).

Smartphone Market Share

image Credit: Nielsen

Nielsen released data on smartphone market share as of Nov 2010 to Jan 2011. From an OS perspective, definitely it shows the Android juggernaut’s seemingly unstoppable rise to the top. From a hardware perspective, it’s interesting to note how Apple and Blackberry(!) still hold a huge chunk of the market. But HTC is waiting on the wings.

It seems that at this point, focusing on iOS development is still a good strategy. Noting, of course that the other iOS devices, iPad and iPad 2, are the leaders in the tablet space. But investing in Android development should already be in the pipeline.

Objective-C: Getting Down and Dirty

Delved deeper into Objective-C programming over the weekend. As a challenge, I ported a Java program  that I cooked up in roughly 30 minutes. No, it’s not Hello World :P After several hours, I was still not done! Okay, so I got a little bit fancy with the Objective-C version but most of the time I was slowed down by syntax, API adjustments, and memory management. That’s just the way learning goes, I guess. I certainly look forward to the day when I can cook up an Objective-C program in 30 minutes.

Objective: Objective-C

Since I’ve recently decided to study iPhone programming and and since Starcraft II is still a few days away, I was able to spend some time learning Objective-C, the programming language of choice for iPhone development. Since, I’ve gone through quite a few programming languages (LOGO, BASIC, Pascal, C, some C++, Java, and more recently Flex), picking up the syntax and the basics was a relative breeze. I expect, as usual, things will get exciting once I start working with the iOS APIs. Haven’t felt this excited in a while!

Setting Up Subversion

Every developer should have version control. It can be a simple process or a process supported by tools. One of the best version  control tools is Subversion or SVN. Here’s how to set up your own SVN server on a Linux box.

Install or update Subversion: If you’re using Red Hat-type Linux: yum install subversion or yum update subversion. If you’re using Debian-type Linux: apt-get install subversion or apt-get update subversion. Others Linux flavors should have something similar.

Create your repository: svnadmin create /svnroot

Configure access: vi /svnroot/conf/svnserve.conf. In the [general] section, add:

anon-access = none
auth-access = write
password-db = passwd

Add users: vi /svnroot/conf/passwd and add:

<username> = <password>

Start Subversion as a daemon: svnserve -d.

Open up TCP port 3690 on your Linux box’s firewall.

Connect to your SVN server with the URL svn://<server name or ip>>/svnroot

Start using your SVN server. Here are some useful tips:

  1. How to structure your repository
  2. How to fix bugs properly
  3. How to release software properly

That’s it!