In order to make Google Voice work correctly with the iPhone, three rules need be established about how the phone reacts to sending voicemails under different conditions. The three rules are:
1. No Answer
2. Call Declined/Ignored
3. Phone Off/No Service
If you fail to set up any of these three rules, the iPhone defaults back to AT&T visual voicemail and you lose the significant value of Google Voice (GV).
I’ve run and tested this on 3 unique GV set ups and feel confident it works every time. You have may have seen and tried other directions online which didn’t work as I did, but working through a friend at Apple and an oddly friendly AT&T tech, this is pretty bullet proof. Here we go:
1. Ignore the settings on your iPhone itself. The master call forwarding feature is useless on the iPhone unless you never want to receive calls on your device and forward right to GV all the time.. Leave the forwarding setting off.
2. All of the conditional forwarding comes from AT&T Central Office and the standard GSM forwarding codes, however the iPhone doesn’t understand these in native form.. With most GSM phones a single * puts the phone into GSM command mode whereas the iPhone has reserved the first * for its own command lines, so to use GSM commands you must use two. Hence, when you see the instructions below, all GSM commands start with either ** or #.
(Before you SPAM me, GSM is the underlying command code for EDGE and 3G networks so no matter what iPhone version or network you run on, trust me this works.)
To Forward Unanswered Calls:
1. Open the Keyboard on the iPhone app
2. Dial EXACTLY: **61*xxx-xxx-xxxx# (Again, STAR STAR 61 STAR GV # POUND)
3. The iPhone screen will darken and provide you feedback that it is now forwarded
To Forward Calls When You Are Busy Or Decline A Call:
1. Open the Keyboard on the iPhone app
2. Dial EXACTLY: **67*xxx-xxx-xxxx#
3. The iPhone screen will darken and provide you feedback that it is now forwarded
To Forward Calls When The Phone is Off Or In Airplane Mode/No Service:
1. Open the Keyboard on the iPhone app
2. Dial EXACTLY: **62*xxx-xxx-xxxx#
3. The iPhone screen will darken and provide you feedback that it is now forwarded
To END All Forwarding Of Calls:
1. Open the Keyboard on the iPhone app
2. Dial EXACTLY: #002#
3. The iPhone screen will darken and provide you feedback that it is now forwarded
I’m going to layout the steps to get facetime over 3g here:
FOR FREE
Now you’ve got the system ready to fake out the apps and say that you are on a wifi system. Next thing you need to do is configure 3g unrestrictor to have the phone app use it for facetime.
I’ll refresh this post with some screencaps later!

I wanted to share my experience on my own personal job search experience. I had heard about 23904821 times that everyone should shop themselves out every 3-5 years to calibrate their salary. I didn’t, and 5 years is (was) approaching fast. I was worried about upsetting people that I was thinking about leaving, that I wasn’t dedicated, that I would jump-ship when things weren’t 100%. Truth be told, I really thought I was worth more, and the comments from others around the office that you are a ‘go-to’ guy struck me as undeserved.
Also, the adage that relationships gets you jobs, not actual qualifications is true. Make friends with people, read some books on body language and influence.
It might frustrating at first not hearing anything back from the cold internet applications, but you’ll be surprised about the number of opportunities that come from friends and acquaintances. These personal interactions are where you will really get the concrete opportunities. Most of the time they’ll say, “are you serious about leaving?” and always, always say “yes”.
The fun part begins after a few weeks or a month when these contacts that you’ve told start to come back to you with opportunities. Why? Because you are an all-star. Everyone you’ve worked with knows how fantastic you are and what an asset you’ll be. They want more people like you on their team, and will suggest roles and opportunities that might have been outside your radar. Be open to their suggestions and really listen to any advice that they give; remember the influence tactics you’ve read about and apply them in a positive manner.
The Interview(s)
Interviewing is an important step; here are a couple of suggestions that work wonders:
Knowing how much you are worth
Take your latest salary and add 20%. This is your absolute minimum baseline salary. Look at salaries for the company and position you are interviewing for on salary.com and glassdoor.com (my favorite). Once you know the range that people make at the position you are applying for you’ll have a better understanding. When you get to the portion of the interviews where they start talking money, try and always get them to put a number out first. If they ask, “what would you like to make?”, counter with “I’m looking to be compensated just as one of my peers would be.” But if they continue to press, put out a range, starting at what the median is from your research and cap it off at 10% above. For example - if you are new to an area and the range from your research is 90-130, say I’m looking for 110-120. Remember though it has to be at least 20% above your existing position wages.
Counter Offer! Don’t take the first offer, no matter how awesome it sounds. 60% of hiring managers leave money on the table. They can and will play hardball at this point; they will scare you with suggestions of “I’ll have to check on that number and see if this is a go no-go decision.” implying that they’ll rescind their offer. Don’t worry, the manager that wants you on the team won’t let the hiring manager take the offer back, they’ve got too much at risk. After all, they choose you out of a huge playing field, and to take back an offer to you would make them look like they’ve made a poor decision. It just doesn’t happen. So play hardball right back and find out who makes the decision on the salary increase and volunteer to talk to that person directly. (And back up your threat if they say OK!) I personally say take the original add 10% and explain that this isn’t that much more than my current position, I’ve got a counter from my current employer for xx more, blah blah blah. Wait on it for a while and then be prepared to accept or counter once more. Don’t go back and forth more too much however as you could come across as looking petty.

The Crazy Monkey - from Costa Rica …
Not sure how to make it perfectly, but i’ll update when I figure it out.
Why should everyone want to pay the man for their internet?? We should lower our bill, using our collective buying power to share the connection. I’ll share mine for 10 / neighbor, but you won’t get dedicated service. Not to say that you wouldn’t get great service, but I’m not going to guarantee anything.
Need some legal advice? I know an attorney:)
Thought a little this morning in light of the Google acquisition of ON2 - why not create an encoding farm that people can upload their jobs, or create their own farms?
zencoder I think is doing this, but it doesn’t seem that difficult of a problem. But who would use it?
Been working on creating an iphone cydia repo for a while using a virtual machine.
The problem has always been getting the initial setup done, and then getting the ports to forward correctly.
Here’s the template that I’ve been trying:
In the world of Debian APT/dpkg, anything you can install is a “package”. These packages exist in the form of .deb files, which have a rather arcane (which, to the software historian, may be read as “fascinating”) internal format that this guide will not bore the reader with. At a high level, a .deb contains the files that are going to installed as part of the package, and “control” information which comprises metadata about the package (its name, size, and other sundry details). The construction of such a file is done using the tool dpkg-deb. Users of Debian (or Fink on a Macintosh, which is also based on APT) will already have this package installed, but users of almost any other platform are able to install it easily, or may do this work on their iPhone itself. To then make a package, we need only prepare a folder that contains the files we want to install as they would appear on the iPhone’s filesystem. Additionally, we will add a single directory called DEBIAN to the root of our package to house a file called “control”, which will contain our metadata. If, for example, we want to install a program and a LaunchDaemon for MyProgram, we (depending on what we were installing, of course) may end up with the following directory structure:
I’ve been playing around with this
And trying to get it to work with Backtrack (wifi security + a whole lot more) live USB.
The problem is that BT4 doesn’t come with the driver built in - i.e. you plug it in, and dmesg gives you a:
usb 4-1: new high speed USB device using ehci_hcd and address 8
usb 4-1: configuration #1 chosen from 1 choice
Now the problem is that once you’ve done this it doesn’t add in another ifconfig automagically for you. For example the laptop that I’m using (dell e4200.. meh) has an intel wifi nic, wlan0. Now I want this guy to be rausb0 but modprobing it doesn’t exactly work.
We’ll update this later, this post is mainly to test out my post by email
Brad