Monday, February 15, 2010

Day 1

Today is the first day on this project (or the metaphoric “trip”). It is time for some research first. In our wonderful age of Internet, the information is readily available from a few googles away. I quickly discovered the site for iPhone development and signed myself in (free):http://developer.apple.com/iphone. The iPhone SDK even includes a simulator! But the SDK requires an Intel based Mac running Mac OS. Well, I don’t own a Mac machine in the first place. So I have to solve that problem first before I can get any further. I do not intent to buy an Apple Mac – priced much higher than other non-Apple product line with similar hardware configuration, at least not now. So I decided to investigate a software solution: running Mac OS on Windows or on Linux. Obviously it has to run under a simulator or in a virtual machine environment. I went back to google for direction.

Just entered “How to run Mac OS X on Windows XP”, I found the PearPC emulator solution. There is even a YouTube video (http://www.youtube.com/watch?v=XD2F_S-zsuw) to guide me through to install PearPC on my Windows XP and Mac OS Tiger on the top of PearPC. Later on, according to the plan, I will install iPhone simulator on top of the Mac OS X – I am stacking a lot of things on top of each other here. A few notes on PearPC: it is a PowerPC emulator and an Open Source project. That means it is free (it accepts donation to fund the project and I would say we should open our wallet to show our appreciation to those unsung heroes behind the scene, if the product really helps us – that is). A quick look at the PearPC website. It is not very clear how reliably it runs Mac OS X. I don’t have the warm and fuzzy feeling on the product that it matures and be sophisticated enough to allow me to set up a cross compiling environment and run an iPhone emulator on the top of that.

Another route to take is to run Mac OS on Intel-base PC hardware – have a number of those unused PC box lying around in my house, collecting dust and waiting to be called into action. There is also a YouTube video for helping me out as well. After viewing that video, I don’t feel very comfortable on taking that route either. First of all I don’t own a copy of Mac OS X software – legally. If I go to buy one, it almost costs as much as buying a Mac computer. Frankly I don’t see much reason for anybody to buy a Mac OS software alone. I am probably better off just to buy a low end Mac (I can get one around $500 – here goes my budget) and be done with it. Apple does not like anyone going free to run Mac OS on a computer that is not pre-approved by Apple – in other words, no Apple clones. To load a Mac OS X on the un-sanctioned PC is a violation of the agreement you signed (unknowingly for most of us) with Apple Computer Inc. at time you purchased the Mac OS X operating system. I have a feeling I am heading down a treacherous road – a path laden with legal land mines and unknowns (sigh).

Not very good start. Let me think about this a bit more...

A few comments I would like to make on virtual machine architecture that is quite in vogue nowadays - before I leave today in despair and defeat. Internally, virtual machine is no different from that of emulation software – both are duplicating the functions of one system using a different system (Wiki definition of “emulation”). The technology has been around since very early days of digital computing. IBM (who else but the good old big blue?) first released a software emulator in 1957. However, virtual machine architecture does realize the benefit of emulating something of its own! Under that architecture, one can create a number of machines (of cause virtual) out of a physical one. According to VM enthusiasts, it utilizes the hardware better. I don’t know on what base the conclusion was drawn, frankly. Two separated services (or computer programs in layman’s term) operating in their own VM environment run two copies of OS image instead of one. How can you call it utilizing hardware better? Yes, it creates better segregation for security and stability, easy deployment, mobility. But not more efficient usage of hardware!

No comments:

Post a Comment