A few months back, I noticed that most of the small businesses around my home were starting to switch over to Square to take payments. In some cases because the old modem based credit card reader had broken. For many it was a way to save a few bucks on transaction charges from their bank, and to have a more flexible payment method.

Now I love this product. Because it’s a web based service, it is typically hooked up with an iPad as a cash register. Over time, Square learns about your credit card, and even emails you a receipt.

And early on, it occurred to me that there was an unexpected consequence to this easy way of paying (at least in the service arena). Once you’ve ordered, the cashier will typically flip the iPad toward you to approve the purchase, and on that screen, you’ll be prompted with some choices as to how much you’d like to tip.

If it’s a cup of coffee, it will suggest 1, or 2 bucks, with an additional selection if you want to manually enter an amount, and another for no tip. For larger purchase it gives you varying percentages (and you can still enter a specific amount or choose not to tip).

But what occurred to me after seeing this, was that they’d made it SO easy to tip, that I figured they’d be seeing more tips. And from my discussions with a couple of the owners of a couple of places, at least anecdotally, that is the case.

Before when you swiped your card, you had to think about what you wanted to tip, write it in, and hope that it got to the people you were trying to tip. With this system, you tap once on a screen to approve the purchase and the tip.

I love technology like this that incrementally improves life. Square makes the cash register better, and as a side benefit makes your barista or wait staff much happier.

When traveling and trying to use the hard wire at a hotel, you may find that the provided Ethernet cable won’t work. This is because hotels typically have a very outdated infrastructure and are still running at 10Mbps.

Most new computers are set with network speed set to auto detect, but this relies on the hardware being able to handle that detection, which older, cheaper network boxes aren’t able to do.

In the lower right corner of your screen, you should see your network icon that will look something like:

The network connection is the one that looks like a pair of computer screens ().

The ).

When you are connected to a hard-wire, the tray should look something like:

The icon for the network connection will flash as network activity occurs.

If you don’t see the icon for the Ethernet connection, right click on the one for the Wi-Fi to get the context menu and choose “Open Network Connections”:

This will bring you to the network connections, which will list all of the available network options that have been configured on your machine:

If the connection shows “Limited Connectivity” instead of “Connected”, you most likely don’t have an IP address.

Right clicking on the “Local Area Connection” (or whichever one is associated with your Ethernet card) will give you a similar context menu that should let you check your connection by choosing “Status”.

This will show you a more detailed status of the connection:

You can try clicking the “Repair” button to force the connection to restart, but this typically won’t work in the hotel scenario. So going back to our context menu for the Ethernet connection, choose “Properties”:

This will bring up the property sheet for the connection:

Click on the “Configure” button next to the adapter to get to the settings. This will bring up the properties:

Go to the “Advanced” tab to change the link speed to 10Mbps:

Click “OK” and the adapter should reset and you’ll be good to go.

On the first day of 360iDev, I was in a session to learn about programming an iPhone, and somebody mentioned that a friend of theirs had updated their iPod firmware, and couldn’t figure out how to reset it back to the prior version. Since I had recently done this, I thought I could write this walk-through.

Apple uses the iTunes application to upgrade your operating system which does a nice job and for the most part protects you from doing anything too terrible by automating the process. On the iPhone, iTunes will give you an alert about the availability of a new operating system, and ask you if you’d like to upgrade, and tell you that if you have problems you will have the option to restore from a backup.

The interesting thing about the backup piece though, is that it doesn’t really restore the firmware, only the settings. For most users this is fine since the reason for needing to go through the “restore” process is actually because of a problem with the firmware, and the “restore” does all the work required to get your phone back to working with the new firmware and your old settings.

If however, you need to go to a prior version of the firmware, the process is not so obvious. Until recently I didn’t even think this was possible for somebody to restore to the prior version unless they were a developer.

After I updated my firmware on my iPhone recently, I noticed that my hard drive was getting to be very full, which prompted me to search for what was using up my disk space. This led me to find that the old version of the firmware gets saved by iTunes when you do the update.

Firmware files have an .ipsw extension and can be found at the following locations:

On Windows:
Documents and Settings\Application DataApple ComputeriTunesiPhone Software Updates

On Mac:
~/Library/iTunes/iPhone Software Updates

Sotware updates on my Mac

To restore the firmware to the prior version, do the following:

  1. Launch iTunes (with your iPhone connected)
  2. Click the button that says “Restore” while holding down the “Option” key (use the Shift key on Windows). Note: if you get a prompt asking if you want to back up your phone, you probably weren’t holding down the key when you clicked, and you’re actually going through the restore process.

Alternatively, if you’re an iPhone developer, the XCode Organizer can also drive this process of selecting a version to install on your phone.


In either case, the actual firmware change is done through iTunes. Now you should see the firmware file being extracted:

extracting firmware

Your phone will be reset, and you’ll see the firmware being validated in iTunes:

validate firmware

Next you’ll see the update message:


At this point your phone will be reset back to factory settings for that prior version of the firmware. You’ll probably get the prompt that tells you an update is available, which you can cancel.

Finally if you want to restore your settings, pick the backup you want to use (you can also tell it to set up as a new iPhone, which just means you won’t have any of your settings from before).  This will restore all of your apps and setting, although you may end up with a message that tells you about applications that won’t work if you have any that are for a newer version of the firmware (in other words if your backup contains an App version that wasn’t available for the firmware you reloaded).

App warning

After all of this, iTunes will probably ask you if you want to upgrade your firmware to the current version, which is how you would go back to the current version when you are ready to do so (or you can go through this whole process again to go to a specific version). You may want to turn off the automatic update checking if you are going to switch to other versions very often.

Note that your “problem” applications from the prior message will work once again after you are on a version of the firmware that is current enough to support thos applicatons.

Recently I’ve been noticing that ad content is being served up much more dynamically than I’d expect. When I’m looking at the menu on TiVO, or surfing Facebook, there are always little ads displayed that don’t immediately catch my attention. In fact most of the time, the ad doesn’t even register until I’ve clicked something and am waiting for the next page to load.

So, as the page disappears, I notice that the ad is something I’m interested in. On some sites, I can simply hit the back button and the ad will still be there, but on a lot of others (Facebook for example), the ad gets replaced with something else. So now instead of the “Virtual Cycling” ad that piqued my attention, I see an ad for Phoenix University.

It always seemed to me that if I hit the back button, I should see exactly the same page that was just displayed, since after all the browser just rendered it, so shouldn’t it be able to just redisplay the previous rendering? The problem is that the actual way pages are rendered causes this. The ads are actually links that point to dynamic content, so when the page rerenders, the content is rendered again, which in the case of Facebook means I lose my ad.

Seems to me that they could take advantage of the session to understand that I’ve just hit the back button, and redisplay the same ads again, just in case that’s why I hit it. The current approach is losing click-through revenue for Facebook (at least from me for my “Virtual Cycling” example).

TiVO has something similar: they display little ads in the menu system. One liners like “sign up for a Visa” or “see Lost previews”. The same thing happens there, by the time I realize the line said something interesting, I’m on to the next screen. Luckily with TiVO, these choices actually cycle, so all I have to do is go back and forth a few times to see all of the current ad lines, so eventually I can get back to the one that piqued my interest.