Navigate to iBooks library

iBooks Library

Ocassionally Apple make life difficult, sometimes it doesn’t ‘just work!

I added a few hundred ebooks I’d accumulated over the years to my iBooks library and then decided I’d like to sync one to my Kindle.

I found an online tool to convert the recently organised .epub formatted books to the required Kindle-centric .mobi format, and was ready to go.

All I need to do was upload the .epub, hit ‘convert’ and then I’d have the book in .mobi format to send to my Kindle but there was a problem. Where were the books I’d just added to my iBooks library?

Well, it turns out Apple don’t want me to get my hands on my books. They only want me to look at the pretty covers in iBooks and read them.

It took a while but I managed to suss-out a workflow to allow anyone, in a similar situation, to easily access the physical files stored in their iBooks library.

It turns out that Finder actively prevents you from viewing the contents of your iBooks folder—even when you go to Finder>Go to folder (cmd+shift+g) and enter the path: ~/Library/Mobile\ Documents/iCloud~com~apple~iBooks/documents. Believe it or not, OSX actually sends you to the home directory or your iCloud account. And iBooks isn’t there!

Here are a couple of options to help you out:

Option 1 – Use Terminal

Launch Terminal and type:

cd ~/Library/Mobile\ Documents/iCloud~com~apple~iBooks/documents

then type to list the contents of the directory:

ls

Press enter and hey presto! There are your files.

I thought that was pretty useful. If you know your way around, you might create all kinds of scripts to help you manage books in this way.

But it feels like using a sledgehammer to crack a nut, right?

Option 2 – Create a link in Finder’s sidebar

Upload a PDF to your iBooks library

Launch the PDF from the Book app, so that it lauches in Adobe Acrobat.

CMS+click on the name of the PDF in the title bar of Adobe Acrobat and navigate to the iBooks folder.

This lauches Finder in iBook!

Goto Finder>File>Add to Sidebar to add a convenient link to the iBooks library of Finder.

Annoyingly, if you hit this link directly in the sidebar it sends you to the home directory or your iCloud library again. But fear not! If you hold down the CMD key as you click the iBooks sidebar link you will be taken directly to your iBooks library.

I hope that helps some poor bookworm with OCD navigate some of the more annoying eccentricities in Apple’s world view.

I would be interested in any easier solutions or any OSX terminal commands to disable this rediculous protectionism.

Enjoy!

Virtual Hosts

I’ll never be a server administrator but sometimes I have to get my hands dirty.

When developing a website, there’s always a tricky, slightly nerve wracking, moment when you point an existing domain at the new server and hope that everything resolves correctly. Here are a few simple steps to help you set up and test virtual hosts on Apache when building a website.

How to set up and test a virtual host.

Virtual Host files are small config files which live on your apache server which tell apache which directory to return to the visitor’s web browser. You can have many virtual hosts on a server, all returning different content based on the domain name the user types into their browser.

1) This is where you can find the default virtual host:
/etc/apache2/sites-available/000-default.conf

2) Make a copy of this file to add a domain name
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf

3) Open the file with nano:
sudo nano /etc/apache2/sites-available/example.com.conf

4) Edit the files and save it.

ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

5) Enable the new virtual host file:
sudo a2ensite example.com.conf

6) Restart Apache so the changes kick in:
sudo service apache2 restart

7) Open your local host file:
On your LOCAL machine (NOT your server):
sudo nano /etc/hosts

8) Add an entry for your domain name to test how the server will react upon receiving a request from a particular domain name.
Effectively, copying the way a domain name servers (DNS) works.
Add your servers IP address followed your domain name:
xxx.xxx.xxxx.xxx example.com
xxx.xxx.xxxx.xxx www.example.com

9) Save it!

10) Now you can test how your domain resolves on your server. You might have to restart your browser / clear your cache. Remember to delete this record when you’re ready to point you domain name. So you know when the DNS has updated and the domain name become available to everyone.

Plexus

I’ve been playing around with Plexus recently and was bowled over at how quickly you can get up and running with some very cool effects.
I was confused the first time I looked at it; coming back after a break it seems to make perfect sense.
Here’s a quick render.

After Effects Boomerang Effect

A quick tip for those of you who’ve been struggling with unwanted motion between two identicle keyframes in After Effects. If you’re experiencing anything similiar to the attached animation then read on. You arent going mad, it’s a little quirk in After Effects which is simple to fix.

There are a number of ways in which After Effects calculates the distance between to keyframes. The example attached makes use of bezier tweens, which are lovely for easing in and out of keyframes. There is, however, a downside. Bezier tweens don’t like freeze frames. The solution is to convert the animation to linear enterpolation, and then deal with the finer points of the animation on a more granular level.

Wacom Intuos Pro Tablet Touch Not Working

Having enjoyed using Wacom products for many years, I have had a number of issues with the touch settings / functionality of the later Intuos models. Recently my touch settings stopped working entirely. I restarted my machine and the Wacom drivers, all to no avail. This morning I got to the bottom of the issue.

System Preferrences > Security & Privacy > Accessibility > Click Lock to Makes Changes

Scroll to the bottom of the a list of apps and make sure that WacomTouchDriver.app is checked. If it isn’t checked then check it. This will give Wacom the system level access it requires to use touch. If WacomTouchDriver.app is already checked, then uncheck the app and check it again. This worked in my case, the toggling of the radio button appears to re-boot the privacy settings.

DNS Switching

I had a head scratcher earlier tonight. My wife was able to see the website I’d just launched for her, but I wasn’t. There we were, sat on the same sofa using the same wi-fi with the same URL in our web browsers and yet, we were seeing different websites. How come?

I’m not a server administrator so it took a few minutes to realise that it was to do with which DNS servers we were using. When a new website is launched it can take a couple of days for the new IP address to propegate through all the DNS servers around the world. Because the update happened so recently we realised that we were using different DNS servers, one of which had updated and the other which hadn’t.

The solution was surprisingly simple.

Apple > System Preferences > Network > Advanced > DNS

On the left hand side of the screen you’ll see some IP addresses. The IP address at the top is the one that you’re currently using to surf the web. Simply drag another IP from further down the list to the top. Press OK > Apply and refresh your browser to see if things change.

They did for me.

Old SWF versions vs old Flash Players

A SWF Version isn’t the same as a Flash Player Version.
The distinction is important when targetting older Flash Players, especially those installed on very old Out of Home Screens.

Here’s a cheat sheet:


     SWF   |        Flash           |  AIR 
------------+-------------------+---------------
        9       |        9.0.115.0    |      N/A
       10      |        10.0, 10.1   |      1.5, 2.0
       11      |        10.2            |      2.6
       12      |        10.3            |      2.7
       13      |        11.0            |      3
       14      |        11.1            |      3.1
       15      |        11.2            |      3.2
       16      |        11.3            |      3.3
       17      |        11.4            |      3.4
       18      |        11.5            |      3.5
       19      |        11.6            |      3.6
       20      |        11.7            |      3.7
       21      |        11.8            |      3.8
       22      |        11.9            |      3.9
       23      |        12              |      4
       24      |        13              |      13
       25      |        14              |      14
       26      |        15              |      15
       27      |        16              |      16
       28      |        17              |      17
       29      |        18              |      18
       30      |        19              |      19
       31      |        20              |      20
       32      |        21              |      21
       33      |        22              |      22
       34      |        23              |      23
       35      |        24              |      24
       36      |        25              |      25
       37      |        26              |      26
       38      |        27              |      27
       39      |        28              |      28
       40      |        29              |      29
       41      |        30              |      30
       42      |        31              |      31

Baseball Bugs (1946)

Director: I. Freleng
Story: Michael Maltese
Animation: Manuel Perez, Ken Champin, Virgil Ross, Gerry Chiniquy
Layout and backgrounds: Hawley Pratt, Paul Julian
Voice Characterisation: Mel Blanc
Musical Director: Carl W. Stalling
Cast: Bugs Bunny

Following yesterday’s toon made in 1944 this 1946 cartoon shows just how far the team had progressed in 2 years. It’s a riot of gags and clever animated jokes it’s not practical to list them all. The premise centres around a baseball game between the aging home-side the Tea Totallers and the visiting brutish villains the Gas-House Gorillas. The ball literally screams as it is knocked out of the park! The characterisation of the Gorillas is brilliantly animated with saggy trousers, cigars and gaping mouths. Bugs Bunny heckles the Gorillas from his rabbit hole claiming he could beat them single handed. The upshot is that Bugs ends up being forced into playing every position including speeding from the mound to behind the plate to catch his own pitches.

The cartoon is full of great shots, such as the slow ball that Bugs releases with the most brilliant wind-up. It moves at a snail’s pace accompanied by the sound of a jalopy engine popping and spluttering as it travels across the field, being vainly sliced at by a long line of opposing Gorilla hitters. One Gorilla tries to catch one of Bugs’ reality-defying pitches and is dragged under the earth and buried complete with a headstone reading “He Got It”. Another Gorilla gets his cigar flattened across his face and is left senselessly grinning sat beneath an advertisement that reads “Does your tobacco taste different lately?”

The most notable scene for me was the final play from the Gorillas where Bugs is forced to run for a ball, catch a taxi, a bus and climb the “Umpire” State Building and the flagpole on its roof and throw his glove in the air to catch it. Even the Statue of Liberty gets in on the celebrations (featuring the uncredited voice of Betty Rubble herself Bea Benaderet).

Bugs himself closes the show by bursting from a drum and announcing “And dat’s de end!” this is one of only two toons to feature a Bugs sign off.

Apparently this cartoon owes something to an earlier Tex Avery cartoon called “Batty Baseball” from 1944, maybe we should take a look at that one tomorrow.