How to Upload Images Right-Side-Up

A frequently asked question on the Internet is:

“My photo appears correct on my computer, but when I uploaded it to [website], it is sideways. How can I make my image upload in the correct orientation?”

This problem is surprisingly universal, it affects many different web sites and users of Windows, Macintosh, tablets and smartphones are all affected. It most often affects photos that were taken in portrait orientation.

Local Image Correct Orientation
Uploaded Image Sideways

The problem is caused by the varying interpretations of the image rotation tags in the EXIF data accompanying digital photos. This problem is not likely to go away anytime soon because the meaning of the rotation tags is somewhat ambiguous, and there is disagreement about what the correct way to handle them ought to be. Some software thinks it should apply the tags, other programs or sites think they should ignore the tags or remove the tags.

There is an easy solution for users: Edit the photo in your photo editor of choice (with the possible exception of Windows Picture Viewer). Rotate it to be right-side-up if necessary. Then make some other change that affects the image. Tweak the contrast or the color. Crop the image slightly. Almost any change will work. Then, save it.

The saved image will have its pixels oriented properly and have no Orientation tag, or have the default Horizontal tag. Everybody agrees on how to display an image like that. When you upload it, it will display the same as you saw it on your computer.

If you edit an image, but only rotate it, your editor will probably just change the Orientation tag without changing the image pixels. Unfortunately, not every program or site will interpret the Orientation tag the same way as your image editor.

If you make a change to the actual image, it forces the program to completely re-write the image from scratch, which results in an image with the default orientation.

How to Run SpinRite on a Mac

If you are reading this, you probably know why you want to run SpinRite. SpinRite is a hard drive recovery utility intended to run stand-alone on Windows machines. There is really nothing comparable to it for the Macintosh, especially in its ability to recover data from corrupted hard drives.

The other instructions I found on the web for SpinRite on the Mac were variously outdated, contained bad links or were overly complicated. I had to hunt around multiple web sites to find bits and pieces of the instructions. Here is my attempt to write a coherent single set of instructions for SpinRite on the Mac.

I don’t want you to go through this process with false expectations. There are some limitations to SpinRite and to running it on the Mac.

SpinRite 6.0 is glacially slow on today’s large hard drives. A full scan on level 2 of a 1 TB drive with no bad sectors took 35 hours and 46 minutes. If the drive has bad sectors, or you use level 4, it will take much longer.

SpinRite 6.0 can’t handle drives larger than 2 TB at all.

SpinRite hasn’t been updated by its author since 2004. Steve Gibson says he plans to release updated versions 6.1 (much faster and supports larger drives) and 7 (with support for the Mac), but it could be a while.

SpinRite can operate on internal and external drives, including USB drives. The S.M.A.R.T. aware features of SpinRite will not work in the virtual machine environment we will use on the Mac. However, this does not prevent SpinRite from recovering bad sectors, or refreshing marginal ones.

The good news is that you can continue to use your Mac while SpinRite, in a virtual machine, works on a hard drive. This is better than the usual situation where a physical Windows machine is dedicated to running SpinRite for the duration. However, you must not try to use SpinRite on your system boot drive (or any mounted drive). If you need to use it on your internal boot drive, you will either have to boot from another drive or connect your Mac to another Mac in target disk mode and run SpinRite from the other Mac.


This is an advanced topic. I assume if you are planning to run SpinRite that you are somewhat familiar with running DOS-based programs, such as SpinRite, and that you are willing to use the Mac’s Terminal command line.

You must perform these steps from an administrator account, or one with sudo access (usually only admin accounts). (At least from step 4 on.)

Use caution with connecting physical and virtual drives! Make sure that you are connecting the correct drives to your virtual machine, and that you are running SpinRite on the drive you intend. If you connect a RAW drive to a virtual machine while it is mounted by MacOS, you risk utter destruction of data on that drive. (Although VirtualBox seemingly tries to prevent you from doing this.)

Here is the executive summary of what you are going to do:

    • Get SpinRite
    • Get VirtualBox
    • Get FreeDOS (sort of a MS-DOS replacement)
    • Install FreeDOS into VirtualBox
    • Install SpinRite into VirtualBox
    • Connect your problem drive to Virtual Box, so SpinRite can work on it


0. Get SpinRite – Buy and download SpinRite from if you don’t already have it.

1. Download and Install VirtualBox (It’s free)

  • Download the latest version for OS X (currently 5.2.22)
  • Install it.
  • Open VirtualBox
  • Create a new machine for DOS
  • Accept the defaults (32 MB RAM, 500 MB expandable virtual hard disk)
  • In Settings/System/Processor for the new machine, set the Execution Cap slider to about 45%. This keeps the virtual machine from spinning up your fans and running down your battery.

2. Get FreeDOS – Download and install FreeDOS from (It’s free)

Select the CDROM “standard” installer distribution. You’ll get a file something like FD12CD.iso.

The current version 1.2 is acceptable. You are going to install FreeDOS into the VirtualBox virtual machine you created above.

3. Install FreeDOS into Virtual Box

In Virtual Box, Click on your FreeDOS machine. Select Settings/Storage. Click on the empty optical drive icon. To mount your FreeDOS image click on the CD icon on the far right, and choose it using Choose Virtual Optical Disk File

Select the FreeDOS ISO image (FD12CD.iso).

You are now going to boot your virtual machine for the first time to install FreeDOS onto your virtual hard drive. It will help to understand some features of the Virtual Box user interface. You will need to click in the virtual machine window to allow you to type into it. When you do that, the virtual machine will “capture” your mouse and keyboard. To release the mouse and keyboard, to do anything else on your Mac, you can press the left ⌘ (command) key.

There is a bug between VirtualBox and FreeDOS that will cause the virtual machine to crash with a messy string of Invalid Opcode messages if you simply follow the prompts. There is a workaround, and here it is.

Select your virtual DOS machine in Virtual Box. Press Start. The virtual machine window will appear, and it should boot into the FreeDOS installer screen. There is a countdown running (50 seconds) which you need to stop. Click in the virtual machine window and press the TAB key. That will stop the timer. You are now editing the Install to harddisk menu option. Add the word raw (lower case) after the command line. Press return.

You should now be in the installer at the preferred language prompt. Proceed.

When asked if you want to partition Drive C:, select Yes. And also select Yes – Please reboot now. Once again, intercept the countdown with a tab and add raw to the command line.

You will be back to the installer preferred language prompt. Proceed. This time you will be asked if you want to format C:. Say Yes. Then choose your keyboard format (perhaps different from your preferred language).

At the prompt What FreeDOS packages do you want to install?, Choose Base packages only. This is sufficient for SpinRite.

Naturally, you will choose Yes – Please install FreeDOS 1.2.

When the install is complete, you will be asked if you want to reboot. Don’t do it yet. Wait until step 4b, below.

4. Install SpinRite Into VirtualBox

4a. You will Create a CD image with spinrite.exe on it. This will be used to get SpinRite.exe into the Virtual machine. When SpinRite runs, it can create an ISO containing itself. If you already have a SpinRite ISO created by SpinRite on a Windows machine you may use that and skip the rest of this step (skip to 4b).

Create a folder named “spinrite” in your Downloads folder. Put spinrite.exe into that folder.

Open a Terminal window. Enter this command into the terminal:

hdiutil makehybrid -o ~/Desktop/image.iso ~/Downloads/spinrite/ -iso -joliet

(Enter the command all on one line.) This will create a file on your desktop named image.iso containing spinrite.exe . This image is of a type acceptable to Virtual Box. If you create an image with Disk Utility instead, it will not work.

4b. In VirtualBox Manager, select your DOS machine, and pick Settings/Storage. Again, using the optical disk icon on the far right, choose the image.iso file we created on your desktop in step 4a, above. Click OK to save settings.

Now, back in the virtual machine, select Yes-Please reboot now and press enter. You don’t need to intercept the boot process anymore. Wait for the machine to boot into FreeDOS and the C:\> prompt.

The SpinRite “CD” should now be mounted as drive D:. Type the DOS command:

copy d:\spinrite.exe c:\spinrite.exe

This will copy Spinrite to your virtual C: drive. At this point, you now have a virtual machine with a virtual hard drive containing SpinRite, and you no longer need the image.iso image. You may remove that from the virtual drive if you like.

5. Connect the Problem Drive to VirtualBox and SpinRite

In the terminal, create a shell script as follows:

cat >

Then, copy the script below, and paste it into the terminal.

# This script creates a virtual disk image connected to a physical disk for connection to VirtualBox
read -p "Enter Disk name, e.g. disk8: " SpinRiteDisk
# make sure disk is unmounted
/usr/sbin/diskutil unmountDisk /dev/$SpinRiteDisk
sudo vboxmanage internalcommands createrawvmdk -filename "$HOME/Desktop/VirtualRaw$SpinRiteDisk.vmdk" -rawdisk /dev/$SpinRiteDisk
sudo chmod 777 "$HOME/Desktop/VirtualRaw$SpinRiteDisk.vmdk"
sudo chmod 777 /dev/$SpinRiteDisk
/usr/sbin/diskutil unmountDisk /dev/$SpinRiteDisk
echo "Look on Desktop for raw disk file"

Then type

ctrl-D (End-of-file)

Now make your script executable with:

chmod +x

Make sure the drive to be tested is connected and powered on. You need to figure out what the device ID associated with the drive under test is. It will be of the form “diskX”, for example, it might be “disk5”. You can find this in Disk Utility, in the lower right corner.

Disk Utility Window showing disk number

If you see a suffix, e.g., disk5s1, ignore the suffix. This is the disk name you will need in the next step.

While you are in Disk Utility, go ahead and unmount all partitions on the drive to be tested, if any are mounted.

In the terminal, run the script:


Because the script contains sudo commands, you will be prompted for a password. Enter your Mac signon password. As mentioned above, this will only work for admin accounts, or accounts for which the user has been added to the file /etc/sudoers . When prompted, enter the device ID (disk name), e.g. disk5 . A vmdk file icon will appear on your desktop named appropriately.

In VirtualBox, go to the storage settings for your virtual machine.

Click the hard-drive-plus icon to add a new hard drive to the virtual IDE controller. At the prompt, select Choose Existing Disk, and then select the VirtualRawdiskx file you created on your desktop earlier.

If the FreeDOS CD is still mounted in your virtual machine, as shown above, remove it from the virtual drive so that your machine boots from your virtual hard drive. If you click on the .iso, the remove option then appears if you click the optical disk icon in the far right of the dialog box.

Very likely, at this point, your target disk may have remounted itself. Eject/Unmount it before proceeding. VirtualBox will complain about being unable to access the VirtualDrive if partitions on the physical drive are still in use. Eject it using DiskUtility or the Finder.

In VirtualBox, start your virtual machine. It should boot up to the FreeDOS command prompt.

Issue the DOS command:


You are now running SpinRite on a Mac! As promised earlier, SpinRite will have no access to S.M.A.R.T. data in this scenario.

When SpinRite is done (much, much later), you should restore the correct disk permissions. Leaving the raw disk permissions with world access is a security risk.

In the terminal you can restore them with, for example:

sudo chmod 640 /dev/disk5

If disk5 was your target disk. Check that the permissions are correct with

ls -l /dev/disk*

The raw disk files should all have the same permissions:


I hope these instructions were helpful for you. Thanks for reading.

Reference Material:

Extended installation Instructions for FreeDOS are here:

How to Shut Down Mac with no mouse

How can you safely shut down your Mac if your mouse stops working?

If needed, press ⌘tab to visit each open application, and use ⌘S to save your work. Press ⌘tab until the Finder is the front application.

If there is a Finder window open, fine. If not, press ⌘N to get one.

Press Control-Tab to get the text cursor into the spotlight window in the upper right.



    • Use the arrow up/down keys to select the Terminal application from the search results.

Press ⌘O to open the Terminal

In the terminal window type:

sudo shutdown -h now

    • Press return.

Enter your password. Your Mac will shut down.

Can you think of an easier way?
This tip was created and tested on MacOS 10.6.5. It should work on any version of MacOS X since spotlight was introduced.

The Best Shared Shopping List App You Already Have!

I set out recently to find a shared iOS shopping list App to replace my family’s paper grocery shopping list. I had some pretty simple requirements:

  • Easy-to-use sharing between family members using different iCloud accounts
  • Ability to review the list in the store and mark items off
  • Ability to review and revive completed items (We’ve got milk this time, but we’ll need it again soon)

I spent some time in the App store looking at reviews and didn’t see anything I wanted to buy. Some otherwise useful apps had a bad reputation for crashing. Others were just too complex. Some needed a subscription and a sign-on for sharing to work. It’s just creepy that the vendor would be watching everything on your shopping list.

Eventually I found it. An app that was already on my phone that met all my requirements and didn’t need any additional sign-ups, plus you can use Siri to add items to the list by voice.

The app is: Reminders — the humble Apple Reminders app that comes with iOS.

Here’s an overview from iMore on how to set Reminders up for sharing.

A couple of tips:

  • You can have more than one list.
  • Remember the name of your lists: “Shopping List” and “Grocery List” aren’t the same to Siri.
  • When you invite someone to share your list, they may have to sign on to iCloud on the web the first time to accept the invitation, but after that it can be strictly iPhone-to-iPhone.
  • Everyone invited has equal ability to add, delete and edit items on the list.
  • Tap at the bottom of the reminders App screen to see your other reminder lists.


Basic iPhone Gestures

I’ve met several people who say they just want to use Facebook or email, but are having problems using their iPhone. They are often surprised by the results of their actions, and sometimes flail away at the screen in frustration.

Trying to use Apps on the iPhone (or iPad) without understanding the basic gestures is like hopping in a car, wanting to drive across town, without being quite sure what those pedals on the floor do.

Here’s a quick rundown of the iPhone controls and what to expect from them. I’ve separated gestures you make on the touch screen from operations involving the power button, the home button and the whole phone. Many of the functions I have indicated below can be customized in Settings, but these are the default actions. Gestures may have special meaning within certain Apps, but these are the most common usages.

Starting at the very beginning, here’s how to use the power button, located on the upper right side of your phone. Holding the power button for 3 seconds brings up the Slide to Power Off screen. If your phone is powered down, you will need to hold the power button for a few seconds until you see the Apple logo and the phone begins powering on.

Here’s what you can do with the Home Button at the bottom center of the iPhone/iPad. Touch ID is only available in the iPhone 5s and newer. For a click, press hard. For a tap, just touch it lightly. Only a light touch is needed for the fingerprint sensor. If anybody knows some function that requires only a single tap of the home button, please leave me a comment.

There are a few things you can do with your whole phone, without pushing any buttons. When you phone is asleep, lifting it to a vertical position momentarily turns on the screen so you can see the time, date and notifications.

Here are the gestures for the iPhone touch screen. These are the most commonly used and the area where people have the most trouble. In particular, the iPhone is very sensitive to any sideways or vertical motion of your finger when you touch the screen. If it notices any motion, your gesture is interpreted as a swipe instead of a tap. Tapping is probably the most common gesture, so it’s important to master it. When tapping make sure you move your finger up and down only, without sliding it sideways at all.

One of the most common problems with the touch screen is unintended actions. The screen is very sensitive to the slightest touch. In fact, it will sometimes sense a touch if your finger is just near the screen. So, keep all your fingers away from the screen until you actually want to do something.

Remove your finger promptly when tapping or you will get a Press & Hold. If you want to use Press & Hold, you don’t have to press hard, just rest your finger — again, no sliding. This is probably most useful to open the sharing menu for a photo.

These are special, iPad-only gestures:

For a device with such an easy-to-use reputation, this is a pretty big list. But, make sure you understand these and you will have a much easier time using your device.

Fight Calendar Spam

Recently, I have been receiving mysterious spam calendar invitations like the one below. You may have received them also.

fullsizeoutput_6b35I never saw a corresponding email. Even worse, the only options are accept or decline. Either one sends a message back to the spammer, confirming my email address! This junk is coming through your iCloud account. Here are instructions for preventing this type of spam from The Dangling Pointer blog.

Since this is associated with your iCloud calendar, it affects both iOS and Macintosh.

They probably didn’t get your email address from anywhere. It appears they are trying big lists of likely email addresses


Tutorials Online

There are several sources of helpful Macintosh and iOS (iPhone and iPad) tutorials available to you online.

Apple has a series of short tutorials on various subjects. They used to have video tutorials. I don’t see those anymore. Instead, they have short well-illustrated tutorial pages. These are accessible from the Apple Support page.

If you prefer video tutorials, take a look at . The videos on their Quick Lessons blog are free. There’s a nice list of interesting topics. You can buy their longer tutorials through the App store. Their App is called TMU Tutorials. Macintosh “All Access” is $19.99.

ScreenCastsONLINE has quite a complete collection of thorough Mac and iOS tutorial videos. A subscription to ScreenCasts Online is $21 per quarter.

There is also a free ScreenCastsONLINE YouTube channel with useful tips of the week.

If you watch someone else using an App, you usually have that Aha moment when you think “I could do that!”. So, take a look at some of these useful tutorials and get more out of your Mac, iPad or iPhone.



Help! I’m Out of Memory

I often hear beginners say that their computer is out of memory. This is often a clue that they are beginners. Computers contain two different types of “memory” and you need to carefully distinguish between them. I could give a detailed technical explanation, but it would be obsolete in a few years, and wouldn’t be all that helpful. Instead, I’ll describe how they are used, what the symptoms are when you run short and finally, what to do about it.

RAM vs. Storage

Current computers contain two main types of memory, RAM (Random Access Memory) and non-volatile storage. This is true for Macs, PCs, iPads and iPhones, etc. Confusion arises because these very different things are both measured in the same units, Megabytes and Gigabytes. If someone says their computer or phone has 16 Gigabytes, you should be thinking: “16 Gigabytes of what”?

Storage (Hard Drive Space)

Storage is what old-timers think of as their hard drive. Since iPhones and some Macs really don’t have hard drives, Apple simply uses the term Storage, which I think is a really good choice. So, what is storage? Storage is where things go when you save them, close them or download them. Things stay in storage until you delete them. Storage has a firmly limited size, and when you try to exceed it you will get a definite message. If you see a message on the Mac about a specific device (probably Macintosh HD) being out of space, this refers to storage.


RAM is where things go while you open them, edit them, view them or play them. RAM is lightning fast, but it is temporary. Things usually don’t stay in RAM long, and it is all erased when the device is powered off. Apps and documents flit in and out of RAM as you navigate between them. The operating system of your computer or device works hard to make sure you don’t run out of RAM. If everything doesn’t fit, it will compromise by keeping things that should be in RAM in slower storage temporarily. So, you probably won’t ever see a message about being low on RAM. Instead, things will just slow down, usually dramatically. The worst slowdowns are likely to occur when running a single memory-hog program like a video or photo editor. Running a guest operating system like running Windows under Parallels will use up your RAM quickly.

Gigabytes of Advertising

Apple’s marketing definitely de-emphasizes RAM. It is not mentioned at all for iOS devices, and for Macs, it’s down in the fine print, where it is called “memory”. When shopping for an iPhone 6, say, you will see a 16 GB, 64 GB, and 128 GB model. Those are Gigabytes of storage, not RAM. iPhones have RAM, and newer models may have more RAM than older ones, but Apple never mentions it.

How to Check

On the Mac, you can see how your RAM and Storage stack up by going to the Apple Menu, and selecting About This Mac. In the Overview pane, you will see your computer’s installed RAM where it says Memory. You will also see an item at the top, Storage. Next to that you may or may not see one that says Memory. The Memory item only appears on computers with memory slots that allow additional RAM to be installed. If you don’t see that, your Mac already has all the RAM it’s ever going to have. That’s the way most of them are now, especially the laptops.

About This Mac Overview Dialog
About This Mac Overview

The Storage pane of About This Mac show an overview of how much storage you have, how much is being used for what and how much remains free. You should try to keep at least, say, 15% of your storage free. If it ever gets full, your computer can become almost completely unusable.

About This Mac Storage dialog
About This Mac, Storage Pane

The memory pane of About This Mac shows your options for upgrading RAM. This pane only appears on Macs with upgradable RAM.

Memory pane of About This Mac
Memory pane of About This Mac

I’m Out of RAM!

First of all, you’re probably not out of RAM. Most beginners are very unlikely to need more RAM than their computer has unless the computer is several years old. If you really are low on RAM, you can do one of three things. First, install more RAM if that’s possible in your computer. It’s not possible on iOS devices. Second, if your RAM isn’t upgradable, upgrade to a whole new device with more RAM. Third, you can limit your RAM usage. First, quit all applications that you are not using. Consider if you can reduce the size of the documents you are working with. Can you edit that giant novel in separate chapters, one at a time? Can you work with lower-resolution photos or videos? Maybe you could split up your photo library into smaller sections. Those type of things are likely to reduce demands on your RAM.

If you are worried about needing? more RAM on the Mac, you should open Activity Monitor and visit the Memory tab. The Memory Pressure feature in Yosemite has done a lot to reassure me that I’m in little danger of running out of RAM.

Activity Monitor Memory Pressure
Activity Monitor Memory Pressure

I’m Out of Storage!?

This is all too common. Your first thought should be to delete something you don’t need. Your Downloads folder is a good place to start. Things tend to pile up in there. They all came from the Internet anyway, so if you find you need them, you can always download them again. Empty the trash. Storage belonging to trashed files isn’t freed until the trash is emptied. Empty the trash in applications, like iPhoto, that have their own trash.

While scanning your folders for stuff to be deleted, sort by size. Finding and deleting the biggest files first will save you a lot of time.

Another option is to add external storage. This is not possible for iOS devices, usually, but it is easy for Macs. You should move some of those big files to an external hard drive.

Bluetooth Mouse Disconnect Problem

Are you having a problem with your Apple Bluetooth mouse disconnecting frequently from your Mac? The battery is fine, but you have to keep clicking to get it to connect again? The solution is so easy. Get your cell phone away from your mouse!

The cell phone emits enough radio noise to jam the Bluetooth signal from your mouse. Smartphones are just packed with radio transmitters. Besides its own Bluetooth transmitter, a phone has a WiFi transmitter (2.4 or 5 GHz), a cell network transmitter and maybe a NFC transmitter. The cellular transmitter is used periodically to maintain contact with the cell site even if you are not making or receiving a call.

That cellular transmitter is powerful — it has to reach a cell site a mile or so away. That’s probably the one that kills your mouse (or keyboard).

It is so easy to sit down and put your phone right next to the mouse without thinking. Moving it just a couple of feet away is probably enough to eliminate the problem.