Sunday, June 21, 2009

How to jailbreak iPhone 3.0 using redsn0w

For those that are not familiar with the term Jailbreak for iPhone, it allows you to use unofficial applications on your iPhone bypassing Apple's official distribution and review process from the App Store. Jailbroken phones also provide for unlocking a phone which allows you to use your phone on cellular networks which the phone was not intended for. As I travel Internationally quite frequently, I rely heavily on this feature to avoid roaming charges when I use my phone.

Today, the dev team released the long awaited Pwnage application to allow us all to upgrade our jailbroken iPhones to 3.0. Compared to previous upgrades, this one was slightly more complicated and I ran into several issues causing me to redo several steps. In addition, when I finally got my iPhone upgraded, no matter what I tried, I could not establish a cellular connection with my provider. After retrying multiple times, with no success, I broke down and installed the default 3.0 firmware coming from Apple.

I was dissapointed that I couldn't do a direct upgrade of my previously jailbroken iPhone but I wasn't too concerned about permanently "locking" my phone. For previous versions, you were required to keep the Bandbase (a component that manages the mobile communication) a certain version to stay compatible with the software allowing this functionality. For 3.0 firmware, it relies on new holes with the latest version using a new software (which has yet to be released yet).

Fortunately, around the time my upgrade finished, the Dev team released a second application called redsn0w allowing an alternative way to Jailbreak your iPhone in a more simplfied way. Once my phone was restored and synchronized, I gave this application a try. Within 20 minutes, the process was completed and my phone was once again Jailbroken.

This guide below will not detail how to upgrade to 3.0 firmware and will focus only on Jailbreaking using redsn0w.

Using redsn0w to Jailbreak your iPhone:

Prerequisites:
edit: Torrent Download has been updated with the latest release.

After confirming the prerequisites, you are ready to begin.
  1. Create a folder like "Jailbreak" on your desktop.

  2. Copy the redsn0w software and 3.0 upgrade to the "Jailbreak" folder.

    note: The 3.0 firmware is named iPhone1,2_3.0_7A341_Restore.ipsw and is located in /user/[username]/Library/iTunes/iPhone Software Updates/iPhone1,2_3.0_7A341_Restore.ipsw

  3. Unzip redsn0w-mac_0.7.zip

  4. Launch redsn0w.app which is located in the folder created by redsn0w-mac_0.7.zip

  5. On the first screen, you will be asked for the IPSW file of the firmware current installed. Select the 3.0 firmware that you copied to the "Jailbreak" folder



  6. redsn0w will confirm the integrity of the firmware and inform you that it has been successfully identified. Afterwards, click Next.



  7. A window will pop-up while the firmware is being patched.



  8. Select the options to configure. You only have one options which is to "Install Cydia" which you must keep. Click Next.



  9. The next step is a little tricky as you need to act quickly. Be prepared to press the power button right after clicking Next.



  10. Keep the power button pressed down for 5 seconds.



  11. Next without releasing the power button, press the home button for 10 seconds.

  12. Then while keeping the home button pressed, release the power button for up to 30 seconds.

  13. From here, the firmware will be uploaded to your iPhone.



  14. Afterwards, the next steps of the upgrade will be managed on the iPhone and all you need to do is wait for it to complete. During the installation, you can watch the progress on your iPhone.


The Jailbreak is now complete!

Now proceed to install your favorite applications. Must have's for me are SBSettings, Five Icon Dock, Veency, OpenSSH, Mobile Terminal and Icy (alternative installer for jailbroken iPhones).

As a side-note, Icy is not installed when using redsn0w to jailbreak your iPhone. To install, from Cydia, search for the RiPDev package and install it. Afterwards you will be able to search and install the Icy application.



Now when you can search and install the Icy application.



After finishing these steps, you will have the best of both worlds, 3.0 and a jailbroken iPhone.



edit: A friend of mine had an issue with the process above. I discovered that his device was not correctly working after the initial upgrade to 3.0. Please ensure that your upgrade to 3.0 is working 100% before proceeding with the jailbreaking procedure above.

Just as a note, the technique mentioned above is clearly a hack and not promoted by Apple in any way. If you have any issues, I am more than willing to help although I cannot guarantee this technique for your iPhone. Please use at your own risk.

Thursday, June 18, 2009

How to run multiple instances of VLC - Part II

Previously I wrote about how to run multiple instances of VLC but encountered an issue with file association. This issue has been resolved allowing to open multiple VLC instances by double-clicking on associated files. In addition, it allows for drag and drop as well.

Refer to the previous article "How to run multiple instances of VLC" for the setup up but use the new launcher script included below. Afterwards, I will discuss about File Association to complete the creation of this new VLC launcher.

Launcher Creation: Follow the previous article with the exception of using the following script instead.




set filecount to 0

on open filelist
repeat with i in filelist
set filecount to 1
do shell script "open -n -a /Applications/VLC.app " & quoted form of POSIX path of i & " &> /dev/null &"
-- open -n Opens a new instance of the application even if one is already running.
-- open -a Opens with the specified application.
-- "quoted form of" is added in case any spaces exist in file name
end repeat
end open

if filecount < 1 then
do shell script "open -n /Applications/VLC.app"
end if


File Association: To ensure your videos open with the new launcher you need to change the default application for all the movie types.
  1. Right-Click on a file with the extension type you would like to associate (.avi/.mpeg/.mov/.wmv/.mp4/etc.) and select Get Info.

  2. In the properties window, refer to the section Open with.

  3. Click on the drop-down list and select Other

  4. Select the VLC.app application where you previously copied the file. In the previous article, I referred to Macintosh/Users//Library/Scripts/VLC.app

  5. This particular file will now open with your new launcher. But to ensure the changes for all files with this file extenstion, click on Change All...



  6. You will have to repeat for each file extension type you would like to open with VLC.
By following this walkthrough guide, you can now enjoy multiple instances of VLC by simply double clicking on your media files. In addition, you can also drag and drop media files directly on the VLC icon you created in the dock (if you haven't created one, refer to the previous article "How to run multiple instances of VLC"). This finally completes this walkthrough guide explaining how to run multiple instances of VLC. I hope you find this useful.

Please do not hesitate to post your experience with this walkthrough guide.

Sunday, June 14, 2009

Migrating your iTunes library from Windows to Mac while preserving all your settings

Before starting anything, make a backup of your entire iTunes directory to ensure you have a good copy to go back to in case something goes wrong.

This procedure works for a PC or Mac. But for our interests, I will focus only on a PC to Mac migration. The last time I tried this was a few months back when I migrated everything from my PC to my new MacBook. I assume it still works but if you encounter any issues, please post a note about your experience.

For this migration we will focus on 2 files which need to be updated for this migration.
Microsoft Windows
C:\Documents and Settings\\My Documents\My Music\iTunes\iTunes Library.itl
C:\Documents and Settings\\My Documents\My Music\iTunes\iTunes Music Library.xml

Mac OS X

/Users//Music/iTunes/iTunes Library
/Users//Music/iTunes/iTunes Music Library.xml
The xml file contains all the information about your library to easily share with other applications. While the iTunes Library.itl or iTunes Library file, is a database for iTunes.

  1. So lets begin. First, make sure that iTunes is closed on both machines.

  2. After creating a backup of all your iTunes directories, copy the entire iTunes directory on your PC from the following location:
    C:\Documents and Settings\\My Documents\My Music\iTunes
    To the following location on your Mac:
    /Users//Music/iTunes
  3. Next, you need to update the xml file so that iTunes can locate your media in the new location. Open up the xml file that you just copied to your Mac (/Users//Music/iTunes/iTunes Music Library.xml) with TextEdit or DashCode.

  4. Then go to Edit->Find and search for the current directory:
    "file://localhost/c:/documents and settings/username/my documents/iTunes/"
    ...and replace all instances with the path you plan to store your media:
    "file://localhost/Users/username/Music/iTunes/"

    note: You can assign a different location than the example used above. In my case, I use my NAS server.
    "file://localhost/Volumes/share/MEDIA/MUSIC/"
  5. We are almost done. One last thing is required for the migration to work properly, you need to deliberately corrupt your iTunes Library file:
    /Users//Music/iTunes/iTunes Library
    Open the file in text editor. Do not be worried if the file is not understandable, it is normal. Go to very end of the file and add a few spaces and then save and close.

  6. Now the last thing is to rebuild the iTunes Library file. Open iTunes and wait for the iTunes Library file to be rebuilt automatically. The application will see that the file is corrupt and rebuild it from scratch with the settings in the xml file. This can take time depending on the amount of media you have stored in iTunes. To give an idea, it took me an hour and a half to rebuild my library but keep in mind, my media is stored on a NAS which is much slower to access than the local machine.
Once the file has been rebuilt, you can use iTunes on your Mac just as you did on your PC with all the media in-tact. There is some work involved, but it will save you the time of re-adding all your files manually. In addition, your ratings and playlists are left intact and you can be assured that nothing will be missed whereas you are bound to miss something if you did it manually.

Saturday, June 6, 2009

How to run multiple instances of VLC

Have you ever wanted to run multiple instances of VLC at the same time? There are times where I like to keep an old football game going while watching a movie. But unfortunately, VLC has never provided this functionality although there are ways around.


First you could run the application from the command line to launch multiple instances. It is quite easy to do but if you watch videos often then it quickly becomes an inconvenience.

MacBook :~ mactimes$ /Applications/VLC.app/Contents/MacOS/VLC &

I've also heard of people making multiple copies of the application in order to run multiple instances of VLC.

There is an easier options. By following this guide, I will show you how to run multiple instances of the application. In addition, show you how to change a few settings so the changes are transparent.

This guide will be composed of 4 steps:
  1. Launcher creation
  2. Icon image update
  3. Copy launcher to dock
  4. File association???
note: It is assumed that VLC is installed. If not, please download and install it from the Mac VLC download page.

Launcher Creation:
  1. Start by opening Script Editor (Applications -> AppleScript -> Script Editor)

  2. In the upper window type the following command:



    do shell script "open -n /Applications/VLC.app"

    note: The "-n" refers to new so that you can open multiple applications

  3. Click "Compile" to analyze the script and check for errors

  4. Then save the script as "VLC" with the File Format changed to Application.



  5. You will end up with a launcher on your Desktop that looks like the following icon



  6. Launch the icon multiple times and you should get multiple instances of VLC
Icon Image Update: The default script icon is obviously not very attractive so lets change it to the VLC icon.
  1. Select the original VLC application in Finder.

  2. Right-Click on the VLC application icon and select Get Info.

  3. In the properties window, there is a small icon of the application in the upper left hand corner. Select this icon (you will see it highlighted).



  4. Copy the icon (Edit -> Copy or ⌘C) to your clipboard.

  5. Select the new VLC launcher on your desktop.

  6. Right-Click on the VLC launcher icon and select Get Info.

  7. In the properties window, go to the small icon in the upper left hand corner. Select this icon (you will see it highlighted).

  8. Paste the icon (Edit -> Paste or ⌘V) from your clipboard.

  9. The icon will change from the default script icon image to the VLC icon image.



  10. The icon on your desktop will also change from the default script icon image to the VLC icon image.


Copy launcher to dock:
  1. Open Finder and move the new VLC script to Macintosh/Users//Library/Scripts.

  2. Drag the new VLC script to your dock.

  3. Click on the dock icon to launch new instances of VLC.


File Association: To ensure your videos open with the new launcher you need to change the default application for all the movie types. I thought this would be easy to configure by just point the file extensions to the new VLC script but unfortunately it does not work. I will leave this a work in progress and post an update when I find a solution.


So there you go, a quick and easy solution to launching multiple instances of VLC. Its not perfect but it is much more convenient then launching the application from the command line. And when I find a solution for the file association I will keep you all updated. Just as a final note, this process should work for any application you would like to run multiple instances of.


Friday, June 5, 2009

Google Chrome Developer Release for Mac OSX

In anticipation of the Google Chrome release, I have been playing around with daily builds of Chromium, the open source browser project that Google Chrome will be based on. It is far from perfect but it does allow you to get an idea of what's to come: Chromium Latest Builds

Today, Google released a developer release of Google Chrome. This is an early release of the final product but clearly shows that there are major advancements. On the Official Blog, they discourage downloading the application aside from developers. But I'm sure all of you are curious, so here is the download link: Google Chrome Developer Release

Before installing, I recommend to read through the privacy notes so you know what you are getting yourself into: Mac OSX Developer Release Privacy Notice

From what I could see from my test drive the biggest limitation today is that Flash content was not viewable. That means YouTube or most mutimedia content on many popular websites is not available. Also Google mentioned in multiple posts that many privacy settings are not available.

On the other hand, the browser seems to be built upon a core that is very stable in this early release. In addition the browser is blazing fast. You also get incognito mode which hides any trace of the websites you view. Another new addition is the auto-update feature which was not available in Chromium without installing 3rd party software. Now you know you will always have access to the latest release within a day of release.

I won't spend my time using this browser full time yet. But I will give it a go from time to time (with the latest automatically updated release) to see how it has advanced.

So now the biggest question on my mind is when will a fully functioning public release become available? Its just a matter of time now...

View the images below for a look first hand look at what Google Chrome looks like.


For more information on Google Chrome please refer to the following links: