DevTeam updated ultrasn0w. They removed the daemon and used ideas of GeoHot's purplesn0w, but implemented these ideas in a better safer way. New ultrasn0w 0.9 uses 152 bytes of baseband RAM, which is 6900 timesless than purplesn0w. They also use mobile substrate to patch CommCenter, instead of patching the file itself.
Here is a list of features from DevTeam.
Works on both 3G and 3GS.
Works on hacktivated devices.
Works regardless of how you jailbroke your device.
Doesn’t patch any mach-o binary whatsoever. (Doesn’t require a separate patch as each new firmware comes out).
Doesn’t install any additional daemon
Has no race conditions, no popups about “Missing SIM”, no network issues
Is almost 7000 times smaller than its nearest competition
Geohot, the creator of purplera1n, has just released his own iPhone 3GS software unlock and named it purplesn0w. Who is purplesn0w for? If you own a jailbroken iPhone 3GS running firmware 3.0 and you want to unlock it to use it with another carrier (T-Mobile only in the USA), then purplesn0w is for you. Are you experiencing wifi/battery/other unlocking problems after using ultrasn0w? Then I highly recommend you try purplesn0w. Geohot says that it’s the best unlock out there.
purplesn0w doesn't run any deamon (resident app) on the iPhone, it just patches three files: CommCenter, lockdownd, and wildcard. You need an activated device in order to use purplesn0w, this is a minus.
Here is how to install purplesn0w:
Make sure you have an activated iPhone 3GS. If you have T-Mobile make sure you disable 3G in the settings.
Open Cydia, and add http://apt.geohot.com to your sources
Install the com.geohot.purplesn0w package
Watch for the success output in Cydia
Reboot your iPhone 3GS
Once you have followed the steps above, your iPhone 3GS should be unlocked.
Update: Geohot has also posted technical details of purplesn0w here along with the source code of purplesn0w. He plans to release an updated version of purplesn0w with hactivation support.