Introuducing TouchRemote

TouchRemote lets you use your iPhone/iPod Touch as an Apple Remote.

TouchRemote is designed to be operated completely eye-free, with only touch and gesture.

TouchRemote works completely like the real Apple Remote, ensuring maximum compatibility with iTunes, Front Row, VLC or ANYTHING that works with Apple Remote.

TouchRemote is expected to be released in AppStore soon, stay tuned.

Project Page: http://playground.softboysxp.org/TouchRemote/

iPhone OS 3.0 Tethering with 3 (Hutchison) HK

Following the instructions in this fantastic tutorial, I successfully enabled Internet Tethering on my new iPhone 3G (OS 3.0 beta 2), with 3 (Hutchison) Hong Kong as my service provider.

img_0046 img_0047

You can download this file if you have access to the beta OS image and follow steps in the above tutorial to enable tethering for your 3 devices.

Also I found something interesting: not only you can tether your 3G connection, you can also tether the Wi-Fi connection with your computer, making your iPhone a handy wireless adapter (for older computers without one).

Note:
- I only tested this with my own iPhone and I am a 3 HK subscriber.
- The file provided is for testing and developing purpose ONLY.
- Enable tethering may or may not violate your contract with 3.
- The tethering feature may slow down your iPhone system and cause syncing problems.
- DO IT AT YOUR OWN RISK.

Red Alert 3 (Mac) Activation Failed Solution

I just got a digital copy from gametreeonline.com. Dragged the app to /Applications, updated to newest version and fired it up. And Boo ! “Activation Failed, check your internet connection” blah blah.

SecuROM Warning

After messing around for an hour, I found the solution. Not only you need “administrative privileges” as described in ReadMe, you have to actually be root to run this thing ! So that’s it, login as root, or open a terminal and run

sudo /Applications/Command\ and\ Conquer\ -\ Red\ Alert\ 3.app/Contents/MacOS/CNCRA3-launcher

. The problem was caused by SecuROM which needs to do its dirty stuff with root privilege.

Skype for iPhone

So the app is live now at Japan iTunes store, for free.

The sound quality is better than fring, and excellent for skype-to-skype calls.

Works great on iPod Touch too, with an iPhone headset connected.

Kana Pad Ready for Sale

Kana Pad is a handy sketchpad for practicing and remembering Kana characters.

Kana Pad runs on iPhone and iPod with iPhoneOS 2.2 or above.

Click Here to download it FREE from the App Store

12CC646E-D64D-4A7C-878A-1DC410CDCEF9.jpg

Waiting for approval

It’s kinda funny that you actually have to beg apple in order to buy something from them. (yes I’m talking about the iPhone developer program)

Got an iPod Touch

After watching a prensentation on writing apps for iPhone, I bought an iPod Touch.

Man this is just everything I ever images for a PDA

Gonna purchase a iPhone developer subscription and get this thing going

Installing Windows Server 2008 x64 on iMac with Boot Camp

I heard nice things about Windows Server 2008 and I really wanna an x64 Windows on my iMac. After a little exploring, I managed to get it working.

First I delete my XP partition and re-partitioned the HDD so I have a clean partition for Server 2008. Then Boot Camp started the installer without a complain. The installation was very smooth.

Then there’s the real problem, drivers. I heard that Mac Pro and some MacBook Pro were shipped with x64 drivers. But when I put in my Leopard disk, I got this warning.

After messing around for a while I found the solution, just browse the disk and run <DVD Drive>:\Boot Camp\Drivers\Apple\BootCamp64.msi directly.

After reboot, the chipset, Ethernet adapter, audio and even graphic card were recognized and configurated.

However, the ATi driver that comes with Boot Camp doesn’t fully enable the gaming features and there’s no Catalyst Control Center.

AMD provided Boot Camp driver for XP but not x64. So I downloaded the desktop version of the x64 driver from http://game.amd.com/us-en/drivers_catalyst.aspx?p=vista64/common-vista64 . However the installation manager won’t install the driver. That’s because though iMac is a desktop, the HD 2600 chip comes with it is actually a Mobility version. So I used the famous Mobility Modder from http://www.driverheaven.net/modtool.php. Select the folder where you extracted the ATi installer and click “Modify”, then run setup.exe and ignore the “unsigned driver” warning.

To enable Aero, go to Server Manager / Features and add the Desktop Experience feature. If Aero is not available after reboot, go to Services and enable Themes service.

Now I got Server 2008 running smoothly on my iMac. Even my dual monitor configuration still works. Can’t get iSight and bluetooth right but I really couldn’t care less.

Apple Previews Snow Leopard

Now it’s official, the next major release will be called Snow Leopard. Is Apple running out of cat name or something ? I remember there’s a pool on ZDNet and there’ve been suggestions there, say “Mac OS X lolcat”, lol.

Apple quietly uploaded this new page on their website:

http://www.apple.com/macosx/snowleopard/

I’ve seen no other details about the next release. However judging from the web page Snow Leopard will become a 64bit operating system and enhance the multicore support, indicating Apple is bringing a closure to the Apple-Intel transition and abandoning old PowerPC models further more. OpenCL is also a brilliant idea but it seems the ATI chips shipped with most MacBook, MacBook Pro and iMacs are far less powerful than those in their PC counterparts.

Compiling 64 bit PHP on Mac OS X Leopard

My iMac ships with Leopard 10.5.2 and PHP 5.2.5 was integrated. As I was planning to build optional components into PHP, I decided to compile PHP 5.2.6 myself.

I have MySQL installed on /usr/local/mysql and to preserve the orginal settings of the preinstalled version, I used following configure options:

./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info \
--disable-dependency-tracking --with-apxs2=/usr/sbin/apxs --with-ldap=/usr \
--with-kerberos=/usr --enable-cli --with-zlib-dir=/usr --enable-trans-sid --with-xml \
--enable-exif --enable-ftp --enable-mbstring --enable-mbregex --enable-dbx --enable-sockets \
--with-iodbc=/usr --with-curl=/usr --with-config-file-path=/etc --sysconfdir=/private/etc \
--with-mysql-sock=/var/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-mysql=/usr --with-openssl --with-xmlrpc --with-xsl=/usr --without-pear \
--with-mysql=/usr/local/mysql

Then after building, make and install, apache failed to start as libphp5.so was in a “wrong architecture”.

Then I realized, the Apache shipped with Leopard was the 64bit version, so I have to build a 64 bit PHP.

so I added the following before configure:

MACOSX_DEPLOYMENT_TARGET=10.5
CFLAGS="-arch x86_64 -g -Os -pipe -no-cpp-precomp"
CCFLAGS="-arch x86_64 -g -Os -pipe"
CXXFLAGS="-arch x86_64 -g -Os -pipe"
LDFLAGS="-arch x86_64 -bind_at_load"
 
export CFLAGS CXXFLAGS LDFLAGS CCFLAGS MACOSX_DEPLOYMENT_TARGET

The last line seems redundant but strangely on my machine, the flags won’t work until I export them.

In order to configure a 64bit build, I have to install a 64bit version of MySQL, or you’ll fail the configure.

All files compiled successfully, but the linkage failed. The error was “Undefined symbol: _libiconv”. Well that’s a new one, didn’t see that when building the x86 version.

After googling for a while, I found the solution. Apple’s libiconv.dylib has a bug, it forgot to export _libiconv for both 64bit architectures (ppc64 and x86_64). The solution is to compile a universal binary libiconv yourself. (And do not forgot to install the header files too, or you’ll get other undefined symbol errors)

The flags of building universal binary is similar as the above ones. Just remember to put all four architectures (-arch i386 -arch x86_64 -arch pc7400 -arch ppc64) there.

Then finally I have the php built successfully and up n running.

Notes

To build a universal binary version of PHP, you need to build MySQL universal yourself as well, and all the libraries you used should be compiled as universal binary.

A universal binary looks like this :

$ file /usr/sbin/httpd
/usr/sbin/httpd: Mach-O universal binary with 4 architectures
/usr/sbin/httpd (for architecture ppc7400):	Mach-O executable ppc
/usr/sbin/httpd (for architecture ppc64):	Mach-O 64-bit executable ppc64
/usr/sbin/httpd (for architecture i386):	Mach-O executable i386
/usr/sbin/httpd (for architecture x86_64):	Mach-O 64-bit executable x86_64

- Update:
After this post I’ve been using php with Leopard for a while. I found that sometimes (probably after an OS update, but I haven’t confirmed this yet) the system restores old versions of php, which would fail to load the custom-built libiconv. So you have to run “make install” & “make install-cli” again to make the new version working again. (No recompilation, only reinstall)