Aborting On the Second Disk on a Restore

Scenario: Client attempts to restore their iMac using their Software Restore disks (10.4.10) but the second disk containing iLife for some reason refuses to be recognized. iLife is already installed and the OS has been installed but the Installer will come up everytime you attempt to start up the computer.

The workaround: Start up the computer in single user mode. Then use the following commands (not the ones with ## preceding them however)

## Mount the filesystem so you can read and write to it
mount -uw /
## The files we want live in /var/db
cd /var/db/
## Files that tell us it's a multi disk install
rm .AppleMultiInstall*
## File that tells us to pop up the registration dialog
rm .AppleCustomMac
## Something else to do with setup (Locale Setup?)
rm .locsetup.plist  

I removed all 3 files because they looked like the most likely culprits but gut tells me the .AppleMultiInstall* files are the only ones that have to be removed but I wasn’t able to test it.

You’re now able to boot the computer just fine - it’s imperative however to be sure that you know what has been installed as you’re interrupting the installation. Because in this case I knew that only iLife was on the second disk (in terms of what had been selected to be installed) I didn’t go ahead with reinstalling the OS to be on the safe side.

This has been tested on Mac OS X Tiger 10.4, it should be identical for Mac OS X Leopard 10.5 as well but I’m not 110% positive.

Invisible Shield

When I got my iPhone I went looking for a case that ideally would not make the iPhone much more thicker than necessary, protected the screen from fingerprints and scratches and generally didn’t suck. It took a while but after reading reviews I settled on using the Invisible Shield by Zagg.

Good

The Invisible Shield protects my iPhone quite well against scratches against keys and well near anything that doesn’t actually slice the material itself. While often the scratch will be visible, running your thumb over the scratch or just giving the material time will have the scratch disappear like it never existed. It’s remarkably resilient to scuffs as well as often wiping away the offending scuff will cause it to disappear, or if dirty a little bit of water will work as well.

It’s also exceptionally thin and clear leaving the screen of the iPhone easy to see underneath it’s protective layer. Additionally dirt, dust, and other cosmetic annoyances can be easily washes or wiped off the screen just like the glass screen on the iPhone.

I prefer the slightly more tactile feel of the material (and if applied to the back as well if applied) as it gives a better sense of tactile feedback on the touch screen. It feels like you’re moving your finger across the screen a certain amount - much akin to using a scroll wheel on a mouse with grooves versus one that was completely smooth. The additional traction also makes the iPhone easier to hold - especially with your finger tips.

Bad

The suckers are hard to apply - compared to just slipping your iPhone into a case the initial time investment is pretty steep. However if you spend the 5 minutes reading the instructions and/or watching the video instructions on their website and then take your time applying it on the iPhone you’ll avoid the major issues of dust, air bubbles and streaks.

Between all the Invisible Shield’s I’ve installed I’ve seen all 3 major issues and all were my fault and thankfully if you’re paying attention can be avoided by taking the screen off and restarting the procedure over before it has time to start to set (according to the instructions). Having air bubbles or dust under the screen is really distracting but I find the streaks the most annoying if only because they aren’t obvious until you’re looking intently at the screen by watching a movie, reading text or something similar. I’ve found they happen when you pull the shield too taunt and are different then the streaks you get after installation.

After installation you will notice there are streaks on the screen that take a couple days to go away. These are normal and I’ve found will go in the direction that you used the squeegee to push out the excess liquid. So for the first couple days they can be a bit annoying as the streaks will distort the colour of some pixels making it seem as if there are razor thin lines of green or red at certain points. Thankfully after a while for the iPhone and the shield to get used to each other it disappears. I’ve also noticed that until this happens as well the quality of the iPhone screen will appear slightly fuzzy - not bad but as if the anti-alias filter was set a notch or two off optimum.

I’ve found that over time the screen likes to grab and hold onto oil and dust requiring wiping. The slight fuzzy appearance of elements on the iPhone comes back as well because of the oil but after cleaning it’s back to where it should be.

The biggest downside I’ve found is that they are not realistically reusable. For example each time I’ve had my iPhone replaced I’ve had to take the old one off and it would stick to itself creating a nice ball of Invisible Shield destined for the garbage requiring me to shell out another $25-$30 CAD for a new one. Be prepared to buy a new one if you have to replace your device.

Conclusion

So of all the faults with the Invisible Shield (which I find are more caveats than faults) I heartily recommend it because it’s unobtrusive and works exceptionally well. After having purchased 4 of them and applying them on 4 different iPhones I’ve still come back to the Invisible Shield every time.

iPhone Restoration : Restoring Home Screen Layout (Pre 3.0)

After having gone through 3 iPhones and countless restores of different iPhones and iPod touches I had to get to the bottom of how to restore my layout of my apps on my home screens.

The Cause

When you restore your iPhone / iPod touch to it’s factory defaults the device is not connected to an iTunes account. When you restore it from your backup (to put your apps and info back on) it will load anything that does not require authorization through the iTunes store (with the exception of free apps - though purchased from the iTunes Store they seem to get loaded anyway). So when you finish a Restore From Backup the first time around it will not load any paid apps or music until it’s authorized. It does it’s authorizations seemingly right after you’ve restored it as it accesses the iTunes Store as if it was just plugged in. Why that has no effect on purchased music I’ve no idea.

In the end you’re left with a phone / iPod that has only part of the data it had on it before and requires you to press Sync again to put your paid applications and purchased music on to it. The biggest issue here is that if you have any data stored in that application, like say Things, or high scores from a game, or just find reorganizing your home layout frustrating you’re out of luck. The paid apps are installed anew, and placed one at a time into the earliest empty spot on your home screens. Frustrating. Thankfully there is a workaround.

The Workaround

  1. Perform a backup before you restore.
  2. After restoring your Phone to the whichever OS version
  3. Restore from your backup (you can cancel syncing music when this part finishes - it will start up again after the next step)
  4. Restore once more - you may see two backups to choose from as it would have created a backup after the restoring. Choose the one that would have a timestamp just before you do the restore.

Annoying because a restore from backup may take as long as 5 or 6 minutes but at least you aren’t stuck reorganizing your applications the way you wanted them again.

EDIT: From what I can gather 3.0 has fixed this issue.

Agricola - Initial Impressions

After becoming slowly disenchanted with Settlers of Catan which left me feeling like I could tell who would win often within 1 or 2 moves - if the dice would actually play like it statistically should I felt that I really wanted to get another more serious board game that wasn’t as well known and would best of all be fun. After much searching and asking around I purchased the board game Agricola (BoardGameGeek) after a promising recommendation and the fact that it has taken over as the #1 rated game on BoardGameGeek.

Three members of my family and I set up the Family Game (a simpler variant recommended for starting out) and I’m certainly happy that we did. The game from unboxing (pieces already separated earlier) to finish took a good 4 hours. The 4 hour number is artificially inflated due to reading the rules and figuring out the rules on top of interruptions. Once we had started the game itself only took a bit over the 90 minutes it says to expect. I highly suspect after several more plays it will become considerably faster than that.

The Good

The game plays like a well oiled machine - thought out, exceptionally balanced, and insanely competitive without forcing one into an all out war against someone. Without any dice rolling (the bane of my existence in Risk) the element of chance takes a back seat to good old fashioned strategy and ingenuity.

The game is serious but quite fun - I can’t comment on the “let’s play it again” factor as nearly any brand new game I wish to play it again now that I have learnt the rules and mechanics. [EDIT: After playing several more games since writing the first draft of this - the let’s play it again right away factor is not as high as one would expect. Games can get a bit long but that idea that you can play again the following day is high - or if someone asks to play I’ve yet to have anyone say no. But 2 or 3 games in a row? Not as much]

I look forward to introducing the minor improvements alongside the Occupations of the full game that will result in a much more diversifed game.

The Bad

Your best attack is to go first and take the action that your opponents want the most, and when there are multiple routes to victory and easy to change your strategy it becomes a game where you have to think for yourself and see how you can use the different advantages you have to improve your standing instead of sabotaging others. It’s also quite apparent how important it is to not always go last in the turn order - it makes life much more difficult for sure.

Another “bad” point is the rules. While praised for being concise and very informative and easy to consult they are best compared to a comprehensive reference book instead of a how to or introduction. I explain more later about the insane learning curve.

The colour / aesthetics feel bland - with the muted colours of the majority of the pieces the initial feeling is the only exceptions is the green of the farmyards. After more research there are available upgrades for the vegetables and animals to appear like animals instead of just wooden disks or cubes. The disks and cubes only accentuated the initial overwhelming complexity as pieces are not self obvious.

The Ugly

The initial learning curve if all you have is just the rules is massive. Absolutely positively aggravatingly massive. The game creators have included additional illustrations to make it easier to understand on the back of some of the game boards but if you are unaware that is their point or how they fit together (which isn’t revealed until a page or two into the rules) that simply add to the mass confusion of pieces. The good news is that if you’re patient and just read it all through and be patient while going through those first 7 pages, that items that are brought up that haven’t been discussed will be covered shortly it’s easy to get by.

The silver lining of this is that if you have someone who has played the game before or are able to watch a game in play before playing yourself the learning curve is quite trivial in comparison as the game, once aware of the purpose of the pieces is straight forward and well designed.

The Reality

If you can - find someway to play this game. It’s not the most inexpensive game (retails for ~$75-80 CAD) but the quality of the pieces is excellent and the design top notch. While it won’t be the most favourite game of everyone I can heartily recommend it as no matter what is happening in the game it’s possible to use the advantages you have in hand to do your best if not win.

Disabling Mail.app's To Do Mailboxes and Quasi-Debugging Mailbox Creation

Leopard’s Mail.app introduced some nice speed improvements over Tiger’s version but introduced one of the most annoying features (IMNSHO) in Leopard. System Wide “To Dos” in a garish Marker Felt font intent on polluting my IMAP mailboxes with Apple Mail To Do or ToDos.mbox seemingly placed randomly (they aren’t but when your Prefixes differ from account to account it seems random at first). Additionally when I moved servers at my host my accounts on my computer started misbehaving creating nested mailboxes continuously. In the end it’s mostly user error but I’m hoping these tips on how to disable the To Do mailbox (see the edit for the easy way) and force Mail to look properly for the right mailbox will help someone jump to the fix that will stick.

Mailbox Setup Reference

To start with for reference I have several computers and an iPhone that share 4 IMAP accounts (GMail, my webhost and one from work). The main reason I use IMAP is that it keeps them in sync - the backup on the server is just gravy. By default Mail.app uses a mailbox called “Sent Messages” and “Deleted Messages” for it’s Sent and Trash mailboxes. If they do not exist it will attempt to create them - which isn’t entirely interoperable with some webmail clients out of the box (eg. Squirrelmail and RoundCube don’t use those mailboxes by default) or other email clients such as Thunderbird (which doesn’t allow you to change your Trash mailbox in Account Settings so you can’t tell it to use Deleted Messages as well).

Changing Your Sent and Trash Mailboxes Normally

In Mail.app you can click on a mailbox (eg. Trash Man O’ Doom) you’ve created and then under the Mailbox menu scroll down to “Use This Mailbox For” and set the mailbox for what you would like to use it for Drafts, Sent, Trash or as the Junk Mailbox. Nice, easy and it nearly always works. (I’ve had it not work once and that wasn’t Mail’s fault)

To Do Mailboxes Are From Hell

You may have noticed above that there was no option for a “To Do” mailbox or even an option anywhere to disable System wide To Dos which means that once iCal is opened or any To Do is intentionally or accidentally created Mail.app will dutifully create Apple Mail To Do mailboxes for each account you have following the IMAP Prefix if necessary. On my iPhone where To Dos are not even recognized it means I’m always seeing a completely useless Apple Mail To Do mailbox somewhere in the hierarchy of my mailboxes.

Following the publishing of a hint on MacOSXHints.com that described the key used in Mail.app’s Preference file (com.apple.mail.plist) I decided to go digging to see what else was stored there. I discovered that by setting the value to nothing (as in just leave it blank) that To Dos were effectively disabled on that account - I could then delete the Apple Mail To Do mailbox on the account. By doing the same change on the other computers (4 accounts * 4 computers = tedious) I was then Apple Mail To Do mailbox free!

**EDIT: According to a newly published hint there’s another way to avoid ToDo mailboxes being recreated by changing the NewNoteToDoAccount key to the ID of your local account. After deleting all my To Do mailboxes this was auto set so I didn’t notice that it had changed.

**EDIT 2: As far as I can tell this is akin to setting Create Notes & To Do’s in: to On My Mac in the Composing section of the Mail Preferences - which is FAR easier than messing with the plist file.

Multiplying Inboxes

When I changed servers at my webhost, Mail.app got confused about the IMAP Prefixes (I believe the new server was telling Mail.app INBOX and the old server was saying /, but I’m unsure) and decided to whenever I deleted a message to move the message to a new mailbox it would create at INBOX/Deleted Messages. Thinking it was an anomaly I would move the message where it should have gone and delete the newly create mailbox. The next time a message would be deleted (wasn’t necessarily on that computer) it would recreate that mailbox but oddly at INBOX/INBOX/Deleted Messages and the cycle would keep repeating. This was the one time that selecting the Trash Mailbox (Deleted Messages at / and not in INBOX) and telling it to use it failed.

Using the knowledge that the mailbox information is stored in com.apple.mail.plist I edited the offending section setting it properly and haven’t had a problem with it since - it was a good way of having somewhere to write in “I want my Trash to go here”. So it’s useful for making changes and checking to see what path that Mail.app is looking for when it shouldn’t be looking at that location (especially via SSH when VNC is unavailable).

So my frustration ends with that to edit a binary plist the only Apple provided tool is the new Property List Editor 3.0 which is not an optimum solution for editing - it doesn’t provide searching and I find that the extra work using plutil to convert to xml instead of binary and back so I can use TextMate not worth it in the end. Much of what you need to do is in Mail.app itself but when Mail.app is acting up, it’s good to know where you can go to set it back straight and stop the cluttering of your mailbox hierarchies.

Alert: Flash Player 10.0.12.36 Installer Opens Up Root Home Folder

I updated the current installation of Adobe Flash Player at work today over ARD and had several people ask me odd questions about why there was a Finder window with the word root for a title when they came in to login this morning. Needless to say that raised warning bells all over the place for myself.

On checking the computers I noticed it occurred on every computer running Tiger and that every computer running Leopard did show the menu bar and said Finder was running but unlike Tiger it did not allow you to perform any actions beyond opening a menu. In Tiger you were essentially logged in as root into the Finder (and SystemUIServer) which gave you complete access to anything. The kicker is that the root user was not enabled on any of the computers.

Now in the big picture it’s mostly a non-issue because the following requirements have to be taken to see this edge case:

  1. The workstation must be running 10.4.0-10.4.11 (Flash Player 10 doesn’t run on Mac OS X older than 10.4)
  2. You must be using Apple Remote Desktop to install the package
  3. You must ensure that you choose not to restart the computers in question. By default the package wants to restart the computer if no one is logged in (I assume it is to avoid this very situation). If someone is logged in however it doesn’t request a restart. The kicker is that if you select a group of machines and send it to install and one of them has a logged in user by default it does not ask you to restart.

If you check on the workstation you will see a Finder window open to root’s home folder - even if you don’t have the root user enabled (which I am of the opinion you shouldn’t especially with sudo available). Anything then opened via the Finder then runs as root as well (including Terminal).

So it’s easy to work around - either restart them all, or do it when you have users logged in (not ideal). If you do choose the username for the action to be done in ARD; the Finder window will open up as that user (quite possibly a local administrator account) so filing in a username there is not a workaround but much less dangerous than root access. Once the computer is restarted or someone logs in the issue goes away.

Rose and Crown: Banff

I really like the Rose and Crown pub in Calgary. I had a Christmas party this weekend at the Rose and Crown in Banff which I had read only shares the name - not owners and was not as good. What I didn’t realize was just how bad of euphemism “not as good” was. All in all the most positive thing I can say about my experience there was “at least it didn’t suck” or “it was edible food and I didn’t get food poisoning”. I put up with much of it as I was under the assumption that I was not going to be paying and such didn’t pay attention much to price as much of what I was ordering was something similar to what I and my fiancee would order in Calgary. So my expected price with everything all told would be ~$45 tops. It should be noted that I’m quite easy going on food quality as most things taste quite good to me.

Drinks

I ordered a Crown Float ($8), a Sleeman Honey Brown ($7), a double Jack and Coke ($11.51), and a glass of Robinson Wine Shiraz that was given to me. Of the four, my water ($0.00) which wasn’t even listed was the best tasting drink and I think had the most alcohol. The double Jack and Coke which cost $11.50 tasted like it had double coke to half a shot of Jack. The Crown Float tasted like warm Guiness and slightly cool Strongbow Dry Cider - making neither taste any good. The Sleeman Honey Brown tasted decidedly flat and was hard to stomach at best. Whereas the Robison Wine Shiraz (RSA) tasted like a wannabe fruit bomb - not terrible but decidedly not good. So the

Food

My fianceé ordered Mussels ($10) as an appetizer and the Rueben ($11) with French Onion Soup ($3 extra) as her main course. I ordered the Maple Salmon ($15). The prices weren’t absurd and relatively close to what I would have expected in Calgary - the quality however was decidedly “it doesn’t suck - it tastes like barely decent British Pub Food”.

The Mussels were thankfully plentiful (with a lot of empty shells) and were decent - not good, not bad. Just satisfactory. I’ve had better many times and worse a couple times as well. The Reuben was not Montreal Smoked Meat - it was just a swack of Pastrami with some partially melted Mozzarella on some bread with a decidedly soft pickle. Really disappointing but it was food and it didn’t suck (but that means it was far from good). The French Onion Soup ($3 extra) was bland, boring and utterly and totally forgetful - so much so I don’t remember my two spoonfuls whatsoever.

My Maple Salmon is best described as decent. With Basmati Rice and vegetables the best portion was the steamed pea pods accompanied by well steamed carrots. The rice was unseasoned, plain and completely forgettable. The Maple Salmon was seared (pro), but lacked much in terms of texture and taste beyond a very subtle maple taste as if the scorch marks on the salmon contained the maple sauce retrieved from the grill. Forgetful at best, unsatisfactory at worst.

Price

The worst portion of this whole debacle was the resulting price - after a 15% tip, tax the total came to just barely shy of $80 ($79.95 for those keeping count). Was the evening worth even close to $80? Or heck worth $40? (Barely the latter IMNSHO). The value was appalling especially when considering the drink total ($31.80 with tax and tip) was a complete and absolute regrettable wash. The food ($48.15 with tax and tip) also did not measure up in value. At half the price it might be acceptable in terms of value.

Atmosphere

Shockingly, the atmosphere can also be described as “it didn’t suck” - nowhere near good and not terrible. Just barely adequate. It was very loud, dimly lit and not conducive to talking to anyone more than half a metre away from you. It’s very similar to other pubs I’ve been to but somehow a step or two worse without being outstandingly crappy.

Service

To close up this review I end with the most positive aspect of the evening at the Rose and Crown: the service was prompt and just what would be normally expected. Nothing exceptionally or above what should normally be expected from a waitress at a pub. The exception was it took a couple minutes to track her down in order to pay the grossly overpriced bill.

It’s not only just barely adequate in terms of quality of food, a complete waste in terms of alcohol, and acceptable in terms of service - it’s absolutely terrible in terms of value for money.So in summary, for the love of God and all that is holy avoid the Rose and Crown in BANFF.

The Rose and Crown in Calgary is awesome and not affiliated with the Rose and Crown in Banff. Thank God.

iPhone Cryptic Error : Invalid Recipient

While I really enjoy my iPhone’s ease of use it does spit some really cryptic errors sometimes. Namely one I’ve kept running into after changing over my domains to the new Shared Accelerators from Joyent which changed my SMTP information.

For some reason my new SMTP information just wouldn’t sync to my iPhone correctly - at best the server info will but the username and password were blank. I’m not 100% certain that the error is not exclusive to Joyebt’s email servers as I have seen it on another server as well - but when the username or password is wrong when attempting to send uemail you are presented with the following error:

“One of the recipient addresses was invalid”

Frustrating and exceedingly cryptic, but if I write it down then I might actually remember what the error means next time.

Showing Network Volumes in the Sidebar

At work I have a user that really, really was having a hard time with Network Shares being moved to under Network in Leopard instead of showing up with the rest of the Volumes as they used to in Tiger. After a bit of digging around I found the following information but failed to figure out how to create a script to automagically put Network shares in the Devices section of your sidebar but if you’re managing several computers it is possible to copy the com.apple.sidebarlists.plist file saving a lot of time.

When a network share is mounted in Leopard it does not appear in the Finder sidebar on it’s own - it is accessible via the server it is on if you have Connected Servers checked off in the Finder preferences. At work we have Back to My Mac, Connected Servers, and Bonjour Servers all hidden by default because they do little to assist anyone in finding anything. (Not to mention Back to My Mac isn’t used and Bonjour Servers lists every computer in the building). Your one alternative was to navigate back to the Computer (Command-Shift-C) and find your Volume there - instead what you can do is drag a Network share to your sidebar (or press Command-T when it is selected) where if mounted it will appear.

What I wanted to do was make it so they would automatically appear no matter what was connected - making the change more future proof. I ultimately failed to do so but I did learn the following tidbits about com.apple.sidebarlists.plist:

Under :systemitems:VolumesList (PlistBuddy syntax in use) you have a list of different hard drives and such that have been plugged into your computer - and if you happen to add a share to your sidebar this portion is what is changed.

Each Item consists of:

  • An Alias (Data) - This is the base64 decoded form of a _CFULRAlias (identical to as seen in com.apple.dock.plist)
  • EntryType (Integer) - I found the codes for several different types:
    16: Special Access (Computer, iDisk, Network)
    261: Hard Drive (and ZFS Pool)
    517: Time Machine
    515: USB Drive
  • Icon (Data) - Again this is Hex but if you have a hex editor (such as Hex Fiend) but is the form “ImgR? SYSL fldr” (Default Finder Folder icon) with two fields separating each section. The default for a server icon is: 496d6752 0000001c 00000000 5359534c 00000010 00000000 73727672
  • Visibility (string)(optional) - Can be NeverVisible or AlwaysVisible. In this case we want AlwaysVisible.

My big issue in not being able to figure it out was that I couldn’t figure out through research how to write the necessary alias data that is being looked for by com.apple.sidebarlists.plist . James Reynolds created the dockit.c program. Tweaking the program so it’s start and end points only included the CFURLAlias data (329 and 326 respectively) gave me the base64 encoded information that you see when editing an XML version of the Dock or Sidebarlists plists - but using PlistBuddy to input the information did no good.

So what I ended up doing instead was to use one computer to mount all the possible shares put them in the sidebar (since they’re hidden when not mounted it’s fine having shares that wouldn’t even be mounted) and then push out the changes via MCX. It’s not perfect but it works and it will make finding the shares much easier. I’m hoping this entry helps someone else on their search for getting such a script created.

Thanks to the following places for information:
CocoaDev (note: The Alias data when viewed in an xml plist is base64 encoded - but not in Property List Editor)
JeremyForPresident
MacOSXHints

Tethering your iPhone : Experiences

Update: Nov. 17th, 2008 - PDANet 1.4.0 allows VPN access, however at first look it doesn’t work correctly with VPN Tracker 5.

One of the biggest benefits of my iPhone that I’ve been waiting vainly to try was the ability to tether my iPhone to my laptop so I could access the net from anywhere in case of an emergency - whether it be a server at work or a life or death flash video that isn’t on YouTube. It’s also very worthwhile to note that this will suck your iPhone’s battery faster than anyone would like - for me it lasts about 2.5 hours as both the WiFi and 3G antennae are in heavy use.

It should be noted that all the present options require jailbreaking your iPhone which is not without its caveats and primarily a reason I want an official solution simply because if Apple breaks the jailbreak during an upgrade you’re forced to wait for the iPhone dev team (it’s amazing the work they’ve done) to be able to get a patch out so they can still jailbreak themselves. The good news on this front is the current jailbreak they have is quite resilient as the current jailbreak method they are using can’t be fixed with software. (Although iTunes 8 does look for jailbroken ipsws and tries to stop them). For more details on the jailbreaking process I recommend checking out the iPhone Dev Team’s Blog

PDANet 1.3.3

By June Fabrics PDA Technology Group
Homepage | Available through Cydia

Pros:

  • Very easy to use
  • Very little setup - only need to have the iPhone connect to your laptop’s created wireless network
  • Keeps working even after the iPhone’s screen has turned off.

Cons:

  • Does not work with VPN (deal breaker) - IPSec Passthrough does not work
  • Some Terminal commands do not work - eg. can not ping
  • Can not use your iPhone for anything else without disrupting connectivity.

Using ssh and SOCKS

Sample Instructions | Requires OpenSSH to be installed on your iPhone
Linked are some instructions on how to do this - I’ve done this before as a poor man’s VPN before so it was straightforward.

Pros:

  • Easy setup (as OpenSSH is installed by default when jailbreaking now)
  • Keeps working even after the iPhone’s screen has turned off. Not 100% reliable though.
  • You can still use your iPhone

Cons:

  • For those unfamiliar or comfortable with the Terminal it may be a bit confusing.
  • Does not work with VPN (deal breaker) - IPSec Passthrough does not work

3proxy

Sample Instructions | Available via Cydia

Very similar to simply using the ssh setup - but uses 169.254.x.x and port 1080 for your SOCKS Proxy.

Pros:

  • It works
  • Can still use your iPhone

Cons:

  • Requires more setup (downloading and installing 3proxy).
  • Requires use of Mobile Terminal. The instructions require force quitting Mobile Terminal, but if you added a & at the end of the command you could then run jobs -p when you want to quit, see the process id and type kill PID (where PID is that number that jobs -p gave you).
  • Does not work with VPN - IPSec Passthrough does not work

iPhoneModem zsrelay

Homepage | Part a download for OS X (or use PuTTY on Windows) and part iPhone app on Cydia.

Note: There is another iPhoneModem application by Addition that exists that costs $9.99 and as far as I can tell has nothing to offer that the free options here don’t have.

The Mac application side is only required if you’d like to secure the connection between your computer and the iPhone. It will use ssh to secure the connection between the two to start and then puts WEP on the ad-hoc network created as well to help discourage anybody jumping on to the network. (WEP may not be secure but the network I really doubt is going to be around for longer than a brief period of time).

Pros:

  • Nicest setup
  • You can still use your iPhone
  • Secure connection between your computer and the iPhone

Cons:

  • Harder setup in comparison to other options
  • Advanced Settings on the iPhone has a download counter that appears to reset whenever you leave that page but updates properly once more data is used.
  • As with all these options that just use proxies - VPN (IPSec) is not allowed over SOCKS.
  • Slow setup - and more involved.

NetShare

The original tethering application that was available on the App Store. I opted to not try and install NetShare on my iPhone because even though it’s not publicly available to buy anymore it’s still illegal.

Conclusions

Of the options available iPhoneModem zsrelay is the nicest setup with a good mix of security, ease of use and other features however the easiest to set up and use is hands down PDANet. The unfortunate portion for me is that none of them will allow me to use VPN Tracker to connect to the VPN server at work. Personally I’ll stick with PDANet as it’s the least invasive