Archive for October, 2009

Haircut 1

Thursday, October 1st, 2009

We (finally) got Finn his first haircut last Friday. Here he is looking like a little angel:

IMGP4986

And here he is (pre-haircut) in his current default mode (eating):

IMGP4963

That last pic was taken at Powerscourt Waterfall the day of my birthday. Absolutely gorgeous place, I love having stuff like that so close to Dublin – literally a thirty minute drive.

IMGP4934

IMGP5000IMGP4999IMGP4989IMGP4955IMGP4952IMGP4951IMGP4946finn_park-018finn_park-017finn_park-016

Nearly Walking

Thursday, October 1st, 2009

finn_park-016 finn_park-017 finn_park-018

So, Finn is just over 14 months old now and is coming along in leaps and bounds. Not literally – he’s just starting to find his feet as it were and is pretty close to walking. I’m guesstimating that this time next month he’ll have taken his first few tentative, unaided steps. For the moment though, he has us holding his hands while he walks stiltedly everywhere (he may have found his feet but his knees are a different story). He usually insists that you hold both hands but sometimes he’ll settle for just his right hand; for some reason he puts his left hand over his ear when you walk with him like this. Try to let go of his right-hand in favour of the left and he’ll just plop himself back down on the ground.

He’s confident enough at this stage to be able to walk up and down the living room (and the path outside the house) using his walker for balance. Trying to explain to a one-year-old that it’s time to go in because it’s just started raining is great craic.

When it comes to cruising though, he’s flying around and is well able to pull himself up on pretty much everything he can reach and that isn’t likely to topple over – sofas, beds, chairs, Thomas the Tank Engine thingie, your legs and the TV stand. I used to think that that last one was Finn being pragmatic; instead of moaning that 32 inches just isn’t a large enough screen size, he figured that if he got closer to the screen it would seem bigger. But then he started hitting the screen and I was quickly disavowed of that belief. Little rascal.

Anyway, here are some videos:

Easily Stream Video to Your iPhone/iPod Touch

Thursday, October 1st, 2009

One of the great things about OS X Leopard is that it comes with Apache installed out of the box. Apache is an open source carrier grade web server that you can use to host websites and so on but more importantly – from the point of view of the iPhone or iPod Touch – it supports byte range reading. What this means is that your humble Mac can function as a streaming video server on your WLAN for your iPhone or iPod Touch with a little bit of legwork and a little PHP app that I threw together.

So how do you do it?

First things first – we need to enable web sharing. Open System Preferences, click Sharing and click the box next to ‘Web Sharing’.

Next we need to enable PHP. Although it’s installed with Leopard, the PHP module is disabled in Apache’s configuration by default. Let’s enable it – open a Terminal and type:

sudo nano -w /etc/apache2/httpd.conf

(Note that the ‘-w’ is important – it disable line wrapping). Press CTRL-W and type php5 then press return – the cursor should jump to the line that loads the PHP module:

#LoadModule php5_module        libexec/apache2/libphp5.so

Delete the hash mark at the start of the line and then press CTRL-O to save the updated config, followed by CTRL-X to exit the Nano text editor. Back at the command prompt, we need to restart the Apache server:

sudo apachectl restart

Give it a few seconds to come back up and then check that it’s working by browsing to localhost. You should be greeted by the default Apache home page. That’s the messy stuff done – it’s all downhill from here.

Download my EasyStream scripts and extract them to the Sites folder in your home directory. Make sure you keep them in their own subfolder (i.e., Sites/EasyStream). Create a directory under this one (call it whatever you like, I suggest ‘Movies’) – this is where you’ll store the video that you need to stream.

Open your browser again and go to http://localhost/~User/EasyStream/ (make sure you substitute ‘User’ for whatever your short user-name is). You should see the EasyStream interface but it’ll probably look a little barren with no videos to watch. The easiest way to create some is to use Handbrake to convert some existing ones, using Handbrake’s ‘iPhone & iPod Touch’ profile.

Once you have some video, it’s time to test with your iPhone/Touch – connect your device to your WLAN and then open Safari and browse to http://yourdevice.local/~User/EasyStream/ (substitute ‘yourdevice’ for your Mac’s hostname and ‘User’ for the short form of your username). EasyStream should list the video in your EasyStream/Movies folder; tapping on one should cause QuickTime to open and after a short pause to buffer, your video should start playing.

Like most things, this trick has some pros and cons. First the pros – you no longer have to fill your iPhone/Touch up with videos; just stick them in your EasyStream folder instead. Secondly, if you forward port 80 on the outside of your firewall to your Mac’s IP, you can view your videos remotely provided you have a working internet connection for your device and know your public IP address (I’ve no idea how well this works over 3G). Finally, as our first test demonstrated, you can view the EasyStream pages in your ordinary browser – you can also view the videos (provided QuickTime is installed). The non-iPhone version of QuickTime downloads the entire video before it starts playing but you can fix that by ticking the ‘web optimised’ box in Handbrake before you start your conversion.

As far as cons go, I’ve built in a ‘compact view’ that breaks the videos into an alphabetical hierarchy but with lots of videos in your EasyStream/Movies folder, things could still become cumbersome. Secondly, there’s no way to bookmark where you are in a video, so if you stop playing something midway through and then go back, you’ll have to scrub through until you find where you where. Luckily the iPhone makes this relatively painless and it’s a worthwhile trade-off not to have to store the videos on your iPhone.

Finn: One Whole Year

Thursday, October 1st, 2009

As you know from my last post, Finn was one on the 19th of February just gone. I got so caught up in the party and so on that I didn’t think to take some photos on the day, but here’s a short clip of everyone singing Happy Birthday to him.

Everyone had a great day, particularly Finn – although he did have us all tormented, wanting us to hold his hands so that he can walk around. Both he and Eoin also discovered the joy that is chocolate rice krispie cakes – Eoin made the even more joyous discovery that they’re even tastier when broken up and eaten off the floor. Yum!

As I mentioned above, Finn is mad to walk – if we put him standing at the sofas or our bed, he’ll ‘cruise’ back and forth. It’s only a matter of time before he starts walking unaided but for the moment we’ve finally found a surefire way to keep him out of trouble: he can pull himself up in the cot and he can maintain his balance so long as he has something or someone to hold on to but he hasn’t mastered sitting back down again. Good times.

All of this development has been fascinating to watch; it’s something that you don’t get a real appreciation for until you’ve experience it first hand and close up. They grow from being a tiny creature whose mind is little more than a collection of instincts and responses to a miniature person who knows his own mind and isn’t shy about letting you know (one year-olds having tantrums are hilarious, by the way – for about 5 seconds).

They also become adept at entertaining themselves:

That’s a little plastic chicken, by the way and he spent about five minutes doing that before the amusement wore off.

Finally, an illustration of how persistent he can be – like the above video, this is just a minute or so of something that went on for a few.

Adventures in Time (Machine)

Thursday, October 1st, 2009

I recently came into possession of a Macmini which I have pressed into service as an HTPC-stroke-server type box. Given the meagre HDD drive (80GB) that this particular machine came with, I decided to use my external 750GB HDD as a store for my media and so on. The only problem is that I was already using one of the two partitions on the disk as a Time Machine Volume for my Macbook.

This left me with something of a conundrum – I use my Macbook for pretty much everything from the trivial (browsing the web) to the crucial (processing and cataloguing my photos and videos and so on). Obviously I wanted to continue to use Time Machine to back my data up but a second external HDD isn’t an option for me at the moment. So, I decided that I’d share the Time Machine partition attached to the Macmini on my LAN. My reasoning was that if I mounted this network partition on the Macbook and told Time Machine to use it as its backup volume, it would detect that it already had a backup store there and just continue using it. Except, of course, that it isn’t that straightforward.

When you direct Time Machine to use a network drive as its backup volume, it creates a sparse bundle on the volume. A sparse bundle is a type of disk image, similar to the ones that are used by virtually every Mac software developer/publisher to distribute their applications. The difference is that whereas a disk image is a single file, a sparse bundle is actually a directory that contains loads and loads of other directories, each of which contain individual files. Each of these files contains some of the data that comprises the disk image data. When one of the files inside the disk image changes, only the files in the sparse bundle that pertain to that dat need to be update; this makes Time Machine much more efficient when using network volumes as a backup store. When you try to open the sparse bundle directory in Finder, it will be mounted as though it were a normal disk or disk image.

What this meant for me was that when when I told Time Machine to use my network mounted Time Machine Volume – which, remember, had all of the previous backups I’d taken of my Macbook – it ignored the existing Backup.backupdb directory. Instead it created a new sparse bundle image, mounted it and started backing up – from scratch – to that virtual disk. This wasn’t satisfactory from three points of view. Firstly, backing up approximately 60GB of data across a WLAN would take forever. Secondly, it meant that I was consuming far more space on the volume than I wanted to what with two seperate Time Machine instances now living there. Thirdly, and most importantly, it meant that if I wanted to go further back in time than today, I’d have to physically disconnect the HDD from the Macmini, plug it into the Macbook and then return it to the Macmini every single time. Inconvenient once, pain in the arse forever after.

My solution was to copy the data from the original backup set into the sparse bundle, again on the assumption that this would cause the Macbook to pick up where it left off. As it turned out, this was the correct assumption but it wasn’t as straightforward as I had hoped, for reasons that I’ll explain in another post.

To make a boring story shorter, my ultimate solution was to use Super Duper! to copy the data into the sparse bundle. This took about eight hours, even doing it locally on the Macmini and once it was done I had to delete the contents of the Time Machine partition and copy the sparse bundle back to it.

It worked though and my Macbook is happily backing up across the network and I can use Time Machine to go all the way back to my initial backup in September of last year. I’ve also learned far more than I ever wanted to know about hard links.