How-to: Resolve Problems with the iOS 7 upgrade

iOS 7 UpgradeSo I assume you are like every other iPhone fanboy and girl and have been eagerly awaiting the iOS 7 update… Are you also like me and have watched and heard your friends merrily upgrading? Okay, complaining about slow downloads, having to free up memory before starting the upgrade and general niggles but on the whole, after persevering, the upgrade goes ahead?

iOS 7 No UpdateAre you? Is that you? Or are you like me and your iPhone 5 refuses to even see the upgrade let alone download it.

Okay, let’s see if we can help!

Let’s start with what I’ve tried to get past this problem. First though, before you start tinkering it’s vital that you back up your iPhone so you at least have somewhere to go back to if it all goes horribly wrong!

Back to my problem. After waiting for an hour, my phone was still not able to find the update. I made the assumption that there was some software fault in the phone so a hard reset might clear it. Hold down the home button and the lock button for 10 seconds and your iPhone will do a hard reset. When your iPhone powers back up – can you now see the update waiting to download? Nope, neither could I.

iphone Reset All SettingsSo, what do we do next? I’ve got my backup so let’s try the reset options. First Reset All Settings. In theory this should just reset your phone settings and not touch your data and media. Very straightforward; it removes all my little customisations (booo!!!) and unfortunately when I go back to the Software Update screen, still no update!

Right time to get serious, Erase All Content and Settings and then upgrade to iOS 7 before restoring my backup – can’t fail, right?

I select this option and it gives me the impression that it is doing the upgrade but then appears to ‘freeze’ when powering back up. I say “freeze”. I gave it an hour and the flamin’ thing stubbornly refused to switch back on and continually displayed the swirling symbol. I assumed it had frozen and did another hard reset and the phone came back on, obviously not having deleted the content.

Right, it’s time to consult with Geek, who after laughing at the iPhone fanboy, suggested I connect to iTunes via my PC and try the reset or direct upgrade options via iTunes. Sounds like a plan.

On connecting to my PC and clicking on the iPhone icon everything starts happening and iTunes immediately prompts me to upgrade to iOS 7. Brilliant, easy peasy……………….

So after 10 minutes of Apple jiggery-pokery my iPhone comes back to life running iOS 7 – minus all of my data, apps and everything else I loved!!! Arrgghhhh!!!!

Okay, don’t panic, I did my backup before, right? Navigate to the backup section in iTunes and hey presto………………… Oops! no sign of it. In fact a message saying I have never backed up to the cloud! Now you can imagine my panic. That’s 2 years of customization and info. Sack iOS 7 now, that was the least of my worries.

But then it occurred to me, maybe because it was still attached to my PC it wasn’t even looking at the cloud. Back to basics then. Unplug the iPhone; in Settings–>General, select the option Erase All Content and Settings then wait nervously. 7 agonizing minutes later, the iPhone powers back up and prompts me that it is a new phone and would I like restore my last saved backup from this morning? Oh thank goodness!!!!

So in a nutshell, if you are having the kind of problems I have had here you need to make a backup to iCloud, connect your iPhone to a PC to get access to it and update it but then disconnect and Erase all data before restoring from your original backup. Brilliant, thanks a lot Apple, that#s 6 hours of my life I’m never getting back!

I’m still struggling to understand exactly what the issue might have been with my iPhone 5. The only thing I can think of is that it was a specific batch from a specific provider. Mine was one of the very first to be released and was on the O2 network. Ah well, all’s well that ends well.

How-to: Raspberry Pi tutorial part 2: SD card backup/restore

[easyreview title=”Complexity rating” icon=”geek” cat1title=”Level of experience required, to follow this how-to.” cat1detail=”This is wizard-driven. Very simple. You’ll need to be able to burn a CD, nothing more taxing than that.” cat1rating=”1″ overall=”false”]

Contents

In my last Raspberry Pi tutorial (the first in this series), I mentioned that we can take a snapshot of the Raspberry Pi’s SD card at any time. This will give us a “restore point”, so we can skip a few installation steps if we want to wipe the Pi and start again. Quite a few Raspberry Pi projects will require that we start with a working installation of Raspbian so that’s the snapshot I’m going to take. You can of course take a snapshot whenever you like. If you’ve honed and polished your Rasbmc box, it would make sense to take a snapshot in case it becomes horribly corrupted at some point or melts.

There are many different ways of skinning this cat (or squashing this ‘berry), but my preferred method is the tried and tested customised Linux distribution, Clonezilla. I’ve been using CloneZilla personally and professionally for years and persuaded many colleagues of its merits (besides the obvious, that it’s free). It can be a bit intimidating with all the options it presents. If this is your first experience of CloneZilla, following this tutorial will also give you a gentle introduction to this powerful toolkit.

What you’ll need

  • A copy of Clonezilla, burned to disc.
  • A computer (desktop or laptop) configured to boot from CD.
  • An external hard drive, with enough space to store the image (you’ll only need a few gigabytes spare).
  • A USB reader for your SD card. You can buy one here.

Some of your Clonezilla kit

Take a snapshot

  1. Power down your Pi, with the command halt, shutdown or poweroff.
  2. Boot your PC from the Clonezilla disc. You will arrive at a simple menu/boot screen. It will boot automatically within 30 seconds – you can hit enter at any time, to proceed.
    Snapshot step 01
  3. You’ll be treated to rows and rows of gibberish while Clonezilla boots up.
    Snapshot step 02
  4. Choose your language and keyboard setting.
    Snapshot step 03
  5. Hit enter to start Clonezilla (yeah, you thought it had already started, didn’t you).
    Snapshot step 04
  6. Insert your Raspberry Pi’s card, in its reader.
    Snapshot step 05
  7. Choose “local_dev”.
    Snapshot step 06
  8. A screen prompt will tell you to insert your external hard drive.
    Snapshot step 07
  9. Insert the external drive and then wait for 5 seconds or so.
    Snapshot step 08
  10. A few lines will indicate that Clonezilla has registered the presence of the drive.
    Snapshot step 09
  11. Hit enter and Clonezilla will mount the various partitions now available to it.
    Snapshot step 10
  12. Select the external hard drive as the drive to which we’re copying the snapshot (in my case, the largest partition on the list).
    Snapshot step 11
  13. Hit enter. If the drive wasn’t cleanly dismounted before (oopsie), Clonezilla will check and fix as required.
    Snapshot step 12
  14. Choose a directory to store the SD card image and hit enter.
    Snapshot step 13
  15. Clonezilla will spit some more gibberish at you. Ignore it and hit enter.
    Snapshot step 14
  16. Though it makes me feel a little silly, choose Beginner mode.
    Snapshot step 15
  17. Choose “savedisk”.
    Snapshot step 16
  18. Give your disk image a meaningful name.
    Snapshot step 17
  19. Select the SD card, to save the image. You use cursor keys and the space bar here.
    Snapshot step 18
  20. Select Ok to continue.
    Snapshot step 19
  21. If you’re confident your SD card is in good shape, you can skip checking it.
    Snapshot step 20
  22. I’d recommend checking the saved image though. It doesn’t take long and gives you peace of mind that you should be able to restore from this image.
    Snapshot step 21
  23. Clonezilla will helpfully point out that you can do all this from the command line (yeah, right).
    Snapshot step 22
  24. Press Y and enter to continue.
    Snapshot step 23
  25. Shouldn’t take too long.
    Snapshot step 24
  26. When it’s all done, it’ll report progress. Press enter.
    Snapshot step 25
  27. Enter 0 to power off (or whatever you prefer) followed by enter.
    Snapshot step 26
  28. Clonezilla will eject the disc. Hit enter to carry on.
    Snapshot step 27

You should now have an image (consisting of several files) on your external hard drive, which you can later use for restoration. Job done.

Restore a snapshot

In this scenario, we’re starting with everything powered off, ready to begin.

  1. Boot your PC from the Clonezilla disc. You will arrive at a simple menu/boot screen. It will boot automatically within 30 seconds – you can hit enter at any time, to proceed.
    Restore step 01
  2. I’ve got to say, this screen full of strange foreign characters is pretty unnerving. But don’t worry. It’ll pass.
    Restore step 02
  3. Choose your language.
    Restore step 03
  4. I’ve never found I’ve had keyboard problems, even though I use a UK keyboard…
    Restore step 04
  5. Hit enter to begin.
    Restore step 05
  6. Insert the SD card/reader. Some nonsense will appear on screen. Don’t worry – just hit enter.
    Restore step 06
  7. Select “local_dev” and hit enter.
    Restore step 07
  8. Insert your external hard drive and wait 5 seconds or so for it to be recognised.
    Restore step 08
  9. It’ll detect the drive – hit enter.
    Restore step 09
  10. Next, it will mount your various partitions.
    Restore step 10
  11. You may have a few…
    Restore step 11
  12. Choose the external drive from the list then hit enter.
    Restore step 12
  13. Clonezilla will check the drive.
    Restore step 13
  14. Choose the directory where your saved image is stored and hit enter.
    Restore step 14
  15. Clonezilla will give you an overview of its file systems. You will be thrilled. Hit enter.
    Restore step 15
  16. Choose “Beginner”, no matter how patronised you may feel.
    Restore step 16
  17. Choose “restoredisk”.
    Restore step 17
  18. Select the previously saved image.
    Restore step 18
  19. Choose the SD card. Hit enter.
    Restore step 19
  20. Clonezilla reckons you really want to do this at the command line. Hit enter.
    Restore step 20
  21. This is a destructive operation and will wipe your SD card. Press Y then enter.
    Restore step 21
  22. Clonezilla doesn’t trust your judgment. Hit Y and enter again.
    Restore step 22
  23. There are two partitions to restore to this card. You’ll get a progress report for each restoration.
    Restore step 23
    Restore step 24
  24. Clonezilla will let you know once it’s done.
    Restore step 25
  25. Press enter to continue.
    Restore step 26
  26. Choose 1 to reboot (or whatever you prefer) then hit enter.
    Restore step 27
  27. Once the CD is ejected, you can also disconnect the SD card and hard drive. Hit enter.
    Restore step 28
  28. Witness the majesty of the Linux death rattle.
    Restore step 29

If all went well, you can now install this SD card back in your Pi, boot up and continue.

Review: Underwater Video Photography with the Kodak Playsport ZX3

I’ve long been a fan of the Kodak Playsport ZX3. It’s been my mainstay action camera for a few years because of its excellent balance of value, quality and durability. It’s also got one of the better external microphone systems and brilliant image stabilization.

If you’ve ever seen any of my action films you’ll know that I feature 4×4 vehicles and the reason I’d selected a waterproof camera is because they are usually required to splash through rivers or more typically survive the rain of Welsh mountains!!!

P1010497_zps129b0c4fWell, here at Geek & Dummy we have taken delivery of some very promising new action cameras (reviews to follow) that may well be ending my love affair with the Playsport. I thought it was time to see what it could do underwater. If the claims made by Kodak prove to be bunkum and this kills one of my beloved Playsports, maybe I can live with that now replacements are at hand!

Before I start the review in detail, I always feel the need to qualify the ZX3. It’s pretty much end of life and is an action camera that has been on the market for 5 years+. Before I first reviewed them they were selling

for about £45. Unfortunately they now go for £60+, which may well be my fault for shining the spotlight on them. Amazon does have the successor ZX5 listed for £156 and whilst I wouldn’t pay that because of the abuse I give them, I’d still say that offered some value.P1010498_zpsf5009d6b

What we have then is essentially quite old tech at a bargain price.

The Zx3 is ready to go straight into the water as it is without the need for a secondary case. As I’ve described in a previous review all its compartments are sealed and water tight. What you do need to do is alter the camera’s software to cope with being underwater.

Anyway, enough chatting from me. This is just one of those reviews where you need to see the results. I’ve used PowerDirector 10
to edit the clips but other than slowing a few frames down or reversing it for fun, this is unadulterated and straight from the camera.

As I have already reviewed the main camera this review is purely covering the underwater usability.

 

How-to: Raspberry Pi tutorial part 1: Getting started

[easyreview title=”Complexity rating” icon=”geek” cat1title=”Level of experience required, to follow this how-to.” cat1detail=”The geek factor is quite high here, but this process is not particularly taxing.” cat1rating=”2.5″ overall=”false”]

Contents

In the line of my work, I’ve recently had cause to become better acquainted with every geek’s favourite cheap computer, the Raspberry Pi. At the time of writing, you can pick up a Pi for an extremely reasonable £30, but the first thing I discovered was that this is only half the story. For a workable system, you need all the necessary cables, some storage and a case. Here’s my shopping list:

The Pi plus extra bits, in all their glory
The Pi plus extra bits, in all their glory

So my total is £69.95 – over twice the price of buying just the Pi. But still pretty cheap, considering. You’ll also need a USB mouse/keyboard for initial input. I’m going to run my Pi headless (no screen or input devices needed, just a network connection), so I’m borrowing my Microsoft Natural wireless desktop for this purpose, which the Pi detected without issue.

Hardware installation

This may well be the easiest hardware installation you ever perform. The case has a couple of punch outs that you need to remove for the model B Pi. I forgot to photograph them I’m afraid, but it will be obvious – when you try and put the Pi in the case, it won’t fit without these pieces removed (e.g. for the ethernet port).

Pi and case

Put the Pi in the case.

Pi case installation

Put the case together and fasten the screws. Make sure you put the VESA mount between the screws and the case, if you’re going to monitor-mount the Pi.

Pi case and VESA mount

That’s it.

What to do, what to do…

There are lots of potential uses for your Pi. It has limited processing power and memory but apart from that, the only real limit is your imagination. I have no imagination to speak of, so I’m going to do what I do with every other gadget: put Linux on it and set it up as a home web/file server. I’ll cover the web/file server setup in a subsequent tutorial.

Here’s the plan:

  • Install Rasbian (a Pi-centric version of the venerable Debian GNU/Linux distribution).
  • Set up Webmin/Virtualmin for management of the server/web sites.
  • Install OwnCloud and create my own Dropbox replacement.
  • Experiment with using the Pi as a remote desktop client or thin/fat terminal.

In the process, I’m looking for any major issues or gotchas – things you might want to be aware of if you’re thinking of getting into Pis in a big way.

Prepare the SD card

For this step, you’ll need an SD card reader. If you don’t have a laptop/computer with a built-in reader, you can buy an external reader here. Note: my laptop’s built-in card reader was not supported by the SD Formatter program (see below) so I used an external reader.

  1. From the SD Association’s official website, download and install the SD Formatter.
  2. Format the SD card using SD Formatter:
    SD Formatter
  3. Download NOOBS (“New Out of Box Software” – chortle) from the official Raspberry Pi website. This file is currently over 1GB. I tried the direct download and it was pretty slow, so I’d recommend using the torrent if you’re so equipped. NOOBS gives us a choice of different operating systems to install on the Pi.
    NOOBS
  4. Extract the contents of the NOOBS zip file onto the newly formatted SD card.
    NOOBS files

Whack the SD card into the Pi and connect everything up (power last of all, since there’s no power switch). If at this point you don’t see any output, the chances are that your SD card has not been recognised. I’m using a Class 10, but I’ve read that some people have had problems with Class 10 cards and better results with Class 6. If your card is recognised, you should be rewarded with a few pretty lights when powered up.

Pi plumbed in

Install and configure Raspbian

At the NOOBS screen, choose Rasbian and click Install OS, then Yes. Go grab yourself a quick coffee.

Raspbian installation

The install will take a few minutes (the speed of your SD card is a factor here). Once it’s done, you’ll see a message “Image applied successfully”. Click Okay to reboot the Pi with your new OS.

Raspbian installation progress

raspi-config will launch with some initial setup options. I’ll work through them one by one.

raspi-config

  1. Expand the filesystem: You can skip this, because this option isn’t needed for NOOBS-based installations. Otherwise, this ensures you’re using the whole of the SD card.
  2. Change the password for the “pi” user. The default password is “raspberry”. Improve on that.
  3. Enable/disable boot to desktop: I’m not planning to use a desktop system with this Pi. X Windows is such a resource hog that we definitely want to set this to “No”. Of course if you want to use the Pi as a desktop system, you’ll select “Yes” here.
  4. Internationalization options: I’m in the UK, with a UK keyboard layout. It’s not a huge problem since generally I’ll be accessing the Pi via a web interface or service, but I am fussy, so I set everything up to be UK-centric. My correct locale was already selected. In these dialogue boxes, use the spacebar to select/deselect options, tab to move between fields, up and down cursors keys to navigate and enter to select.
  5. Enable camera: do this if you’ve bought the optional camera module (I haven’t).
  6. Add to Rastrack: this puts you on the Rastrack map of Pi installations. Not for me, but you might be interested.
  7. Overclock: if you need to squeeze more juice out of your Raspberry, you can force it into a more frantic mode of operation. I’m not going to do this, at this stage.
  8. Advanced options: Here, I’m going to set the hostname of the Pi and reduce the Pi’s use of GPU memory to 16MB (since we’re not running a graphical desktop). I’m also going to ensure that SSH is enabled (for later remote logon purposes).
  9. Finish and reboot to an ordinary logon prompt.
  10. For demo/proof of concept servers where security is less of a concern, I like to be able to log on as root. You can give the root user a password by logging in, then entering sudo passwd root and following the prompts.

Configure networking

I need this Pi to have a static IP address. You can use a DHCP reservation for this purpose if you like, but I prefer to create a fixed IP address on boot. Like this:

  1. Log in.
  2. If you didn’t log on as root, give yourself an elevated shell: sudo su
  3. Install your favourite console-based text editor. For me this is vim: apt-get --force-yes -y install vim
  4. Use the editor to edit the /etc/network/interfaces file. Replace the line iface eth0 inet dhcp with iface eth0 inet static
    address 192.168.1.11
    netmask 255.255.255.0
    gateway 192.168.1.1

    adjusting the values to match your network as appropriate.
  5. My DNS was already correctly configured, but you may need to check the contents of your /etc/resolv.conf file to ensure DNS is set up. If in doubt, this configuration should work:
    nameserver 8.8.8.8
  6. Save the files then back at the command prompt, enter reboot to restart the Pi with the new network configuration.
Typical Raspbian bootup messages
Typical Raspbian bootup messages

Once the Pi is up and running you’ll be able to connect via SSH using your favourite terminal emulation program (mine’s PuTTY).

As you’ll see from the Contents section above, I have a few ideas for things to do next. It’s a good plan to take a snapshot of the Pi in its current state, so we can hit the ground running any time we want to try something different, with a Raspbian base, so this will be the subject of my next how-to. In the meantime, if you have any questions about what we’ve done so far, or if you have any ideas for later tutorials, let us know in the comments!

Until next time. 🙂

Review: Samsung 46-inch 3D Smart LED TV Full HD 1080p Dual Core Processor

Having moved house recently I decided I’d take the opportunity to upgrade my main TV. It’s probably the single most important tech decision I make for my home as inevitably it becomes somewhat of a focal point for the family and also because it’s usually the most significant investment.

I’ve long been a fan of the design of Samsung TVs and I must admit, despite friends in the know recommending other brands, I opted for a Samsung with the P1010349_zpsf130b0fbfeatures that interested me. Namely a Smart TV with 3D capability: Samsung Smart 3D 46″ television

Out of the box, it was everything I had come to expect from Samsung design: sleek and clean. It was also very very thin. So much so it almost felt flimsy! I’ve tried to show in this picture which is from a top down angle.

Setup of this TV was simplicity itself, despite the amount of options there are to explore and tweak. I run this with SKY HD and an LG 3D Surround system and they all installed and integrated seamlessly.

I have cat5 network cabling in my house and connected the TV to that. Straight away, it detected software updates and sorted all that out for me with minimal effort required. Similarly, it recognised everything I connected to it via HDMI.

The ports on the back of the TV were all brilliantly laid out and labeled. I was really impressed with how they had done that because it made everything so simple and straight forward, especially when I forgot to plug the network cable in and had to squeeze behind the TV to find the port. Brilliant design.P1010352_zps116ebd72 P1010351_zps68c5f278

It had no problem with my portable USB drive, which contains a number of films in a variety of formats, all of which it played seamlessly. I particularly liked the fact that the pause and fast forward buttons on the remote can control the USB movie playback. It’s a nice touch!

Next: browsing the net. I’d always said I wouldn’t get a Smart TV or at least I didn’t see the point because you’d need a keyboard for proper use. I tried out YouTube and tested the iPlayer app to check out a few BBC on-line shows and found it’s quite usable depending on what you want to do. YouTube in particular was brilliant. Even videos that were fairly average quality on my PC came alive on the crisp LED display. Anything more complex than simply selecting an option was clunky in the extreme and my theory about Smart TVs was pretty much confirmed: no keyboard, no fun!P1010347_zps0439d012

So then, what about that picture because after all it is primarily a TV and the image is all-important. All I can say is that it’s unbelievably clear. Technology is forever improving and in my house we have lots of TVs. Very often I can buy a new TV and the picture is only as good as the 3 year old one in the kitchen. This however is a stellar leap forward. People will often use the phrase ‘it feels like you’re looking out of a window’ – this TV is a bit like that. In fact it’s like your window has been scrubbed spotless by a team of window cleaners and there is crystal clear sunlight bathing your garden – honestly it’s that good.

Now let’s have a little chat about the 3D. I can honestly say, much like the “Smart” aspect, I’ve always seen 3D in a TV as a massive gimmick and something that wouldn’t work or catch on. So much so that it was a good month before I even tried it on this TV. My kids were given a 3D film for a birthday present and I decided to do a ‘cinema’ hour for them complete with popcorn. The kids’ film: Despicable Me.

Oh my! Have I been missing out! I’ve watched 3D films in the cinema and they have been just ‘okay’. Perhaps that’s why I was a bit disinterested in that tech in a TV. Here though, I was truly amazed by the quality and depth. The glasses are the active type that require a battery. If you look away into daylight you can detect a faint flash, but focus on the TV and the experience is awesome. Anyway, don’t take my word for it, see how my kids reacted to the 3D experience:

Following this success I’ve moved on to David Attenborough’s Micro Monsters and the odd football match and whilst not something I want to do all the time, it does lift and enhance any viewing experience.

So what’s left to cover? Oh yes, the sound. I’ve neglected this somewhat because as I said at the start, I’ve hooked it up to a decent surround sound system and for the main part it plays through that. My wife however isn’t a fan of surround sound so this TV has had the thorough ‘Coronation Street & EastEnders‘ test. When I’ve been the next viewer I’ve often not immediately realised the surround sound is off. In my experience thin LED TVs don’t have great sound but this is surprisingly good. Far more than adequate if not quite up to cinematic effects.

So a simple summary for this TV. It’s brilliant. The best bit of tech I’ve bought this year so far and at a bargain price. If your existing TV is 2 or 3 years old and you’re looking for an upgrade this will be like going from black and white to colour. Yes I really think it’s that good!

At the time of writing this I have reviewed model UE46ES6800. There is a model ‘F‘ out on the market which seems to be the same TV but £100 more expensive.

[easyreview title=”Dummy rating” icon=”dummy” cat1title=”Ease of use” cat1detail=”Very simple indeed” cat1rating=”5″ cat2title=”Features” cat2detail=”Honestly packed full of useful features. Smart is better than I thought” cat2rating=”4.5″ cat3title=”Value for money” cat3detail=”You need to shop around. If you get it at the price I did (sub £700) it is the bargain of the century” cat3rating=”5″ cat4title=”Build quality” cat4detail=”It looks great. It is so thin though it feels a bit flimsy” cat4rating=”4.0″ summary=”A tad disappointed at it not powering my USB drives but even so, I liked it enough to buy another for home.”]

Review: Smartphone Camera Comparison – Samsung Galaxy Note II v Apple iPhone 5

DUMMY: So ever since I reviewed the Samsung Galaxy S4 Mini, Geek has been whinging that I’m an Apple fanboy. He’s also bleated that I’m not comparing like-for-like products. We took a walk in the local park on a nice sunny day, Geek with his tombstone-sized Galaxy Note II, me with my sleek and svelte iPhone 5 and decided to give the phones a head-to-head. The question: whose was the best smartphone/camera.

GEEK: You are a whiny Apple fanboy.

DUMMY: Whatever. So here are some of the shots we took. First, here’s the iPhone 5 in quite a shaded area:

GEEK: And then the Galaxy Note II:

DUMMY: Both cameras struggled with the transition from shade to bright sunlight but the stand-out winner in this first shot is the Note II. The level of clarity and detail is far superior and to be honest the iPhone 5 image is quite blurry in comparison.

GEEK: Oo, what a surprise.

DUMMY: On to the next picture. The same subject but in brighter sunlight. iPhone 5 first again:

GEEK: And then the Note II:

DUMMY: Curses. I can see the same kind of issues here. The Samsung camera gives greater levels of detail, certainly up close and in the foreground. As you move further back into the mid and background this difference is less pronounced and at a pinch I might argue the iPhone 5 deals slightly better with dark shaded areas.

GEEK: You’re just making this stuff up, aren’t you.

DUMMY: Shuttit! All in all, I’d say its pretty conclusive. The Samsung camera is without doubt superior to the camera in the iPhone 5. Come on Apple, sort your game out!

GEEK: Boohoo.

DUMMY: Git.

Review: Samsung S4 Mini v iPhone 5

Geek has been telling me for a while now that the iPhone killer had really arrived and I must admit I have been looking longingly at the Samsung S4 Mini for a while. When I got the opportunity to try one out and review it, I jumped at the chance with a view to perhaps breaking my 5 year love affair with apple and iOS. Geek has the more powerful big brother Galaxy Note II but I don’t get that phone at all. I guess I’m just one of those people that think a phone should be pocket sized.

Now anyone who has been an Apple customer for many years will have become indoctrinated into the ‘Apple interface’. I kept in mind from the very beginning that there would be a learning curve and that I would have to keep an open mind to change. Not my best quality if I’m honest but on with the review!

Out of the box I was quite impressed. I recall when I got the iPhone 5 originally I was equally impressed with the quality and feel but I’d say the Samsung might have edged that just slightly. Generally size and ergonomics, there is very little between the two to be honest.

Everything on the iPhone is based around the home button and the the touch screen interface where the Samsung has a couple of nicely disguised additional buttons alongside the home button. When not active they are virtually invisible. If you swipe over them with your finger, an additional menu feature button lights up on the left and on the right a back button.

As you might expect with a version of a phone tagged as ‘Mini’ its not just its size that has been shrunk; the internal storage and the processor speed are both a reduced version of its big brother the S4. Just trawling around apps, emails and settings I couldn’t really find any discernible difference or lightning performance. Certainly not an iPhone killer so far anyway!

The screen initially appears nice. Good vivid colours but when I hold up the iPhone 5 to the S4 Mini, to my eye the iPhone 5 wins on clarity and quality. Okay, the Samsung screen is a little larger, which is always good but not a major benefit in my eyes.

Enough about the look and feel for now and more about how it works, especially from the perspective of a brainwashed Apple fan!

To start with I found it a nice slick menu system. It felt bright and fresh. Perhaps not as intuitive as the iPhone but I put that down to my Apple ‘blinkers’ for now. I found the touch screen less precise than the iPhone. There was a lot of frustrating miss-typing going on and its not like I have sausage fingers or anything, honest!

I then started to go searching for all my mainstay apps that are essential to my mobile world. I was quite prepared that I might have to find an Android alternative if it was iOS specific. It’s here in this crucial arena that the credentials of this ‘iPhone slayer’ start to get shaky.

I’ve recently written a blog about the App store and the world’s fascination with it and apps in general. Its fair to say that apps are what set a phone apart from its competition and so far the Samsung and iPhone 5 were neck and neck. Tell me please what the App store interface is about on the S4 Mini? It’s simply horrific. I can’t find the simplest and most mainstream of apps. It’s clunky and poorly organised. It does give you the option of going to the Google Play store which brings it all back down to planet earth but again the route to this is not intuitive at all. I was very disappointed with this aspect.

It’s worth nothing that Samsung loads its phones with supposedly “value added” apps that you can’t uninstall (without rooting). These apps usually are named “S “-something or “Samsung “-something. All in all pretty poor!

Lets finish by covering the basics.

Call Quality

The iPhone 5 has always had a big question over call quality. When it’s connected it’s quite good but all too often it drops a call for no apparent reason or goes straight to voicemail regardless of your signal strength. The S4 Mini has so far been faultless. It is very good at what its meant to be, a phone. The slightly scalloped edges seemed to make it more ergonomic to hold to my ear. – something the iPhone has lost between the 4S and the 5.

Camera

This is adequate but no more. It’s fine for quick snaps and it seems to let in plenty of light. Take a similar picture with the iPhone 5 and you can see that Apple has got this right and Samsung has missed the boat a little. I was only watching the Gadget show the other day which did a straw poll of people who bother to carry a camera or dedicated digital recorder these days. Because of the camera quality in smartphones the conclusion was that it was dying tech. Confusing then that the camera in the S4 just doesn’t quite cut the mustard.

Battery

It’s always a tough thing to gauge battery life accurately or realistically because what I’ve installed now won’t compare to what I’ve installed next week. It’s difficult to tell how the battery will be drained by different demands. What I do know is that my iPhone 5 was rubbish from day 1 when it came to battery life. With moderate to heavy use of everything I need daily it will require a top up charge during the day and a full charge over night. So far the Mini is performing far better and after a day of setting up, downloading emails etc, it’s only just slid under 80%. Not bad at all.

So is this an iPhone killer?

I desperately wanted to like this phone. I can’t help feel like I should be willing to look beyond Apple; Android receives so many accolades Google must be doing something right. Geek thinks it’s our saviour from evil iOS. At its core the Mini is like an iPhone 4S. It does all it needs to quite well but at the end of the day it’s just an iPhone wannabe.

I have to say I sometimes wondered if my frustration at struggling through the menus (i.e. my own reluctance to try a new OS) was at the heart of my mixed feelings for this phone and maybe that’s true. What I do know is that iOS is intuitive enough to let me navigate around and find my way. With Android on the S4 Mini Mini, all too often I had to go and pester Geek to find out how to do something. Not really what I wanted from the new hub of my mobile universe.

I’m going to give it another week or two to see if I can get over my ‘Android phobia’ and maybe I’ll come back and review the S4 Mini again!

[easyreview title=”Dummy rating” icon=”dummy” cat1title=”Ease of use” cat1detail=”There’s just too many ways to customise and change .” cat1rating=”3″ cat2title=”Features” cat2detail=”It’s got everything a good smartphone should have but it lacks a quality camera and a seamless App store.” cat2rating=”2.5″ cat3title=”Value for money” cat3detail=”Design-wise I love it. It does everything it should and you can get it very cheaply on a good contract.” cat3rating=”4.5″ cat4title=”Build quality” cat4detail=”I’m a little torn. It’s a thing of beauty and I love its lightness but also worry that it’s frail because it’s so light.” cat4rating=”4″ summary=”It’s a good smartphone and I like it but it is no iPhone killer!!!!!”]

News: Porn For all or Save us From the Corruptions of the Net?

I love government do-gooders. Mr Cameron’s latest brain child. Apparently porn on the internet is bad, very bad! So much so that we must make it harder to access. Not prohibit it, just make it difficult to access.

It’s a tricky subject to discuss in general terms. Hypothetically speaking, I wouldn’t want to admit whether or not I might take a cheeky look on occasions and I certainly don’t like to be told what I can and can’t watch. But looking past that and any social and moral issues, what’s going on here? Who is it we are protecting?

If it’s with good intentions the government wants to protect young eyes, then okay, I’m all for that. If parental control at home is not sufficient already to filter out adult content however, I’m not convinced a simple opt-in/opt-out tick box is going to be of any help. We also have the question of the broad description of “adult content” which would normally include gambling and violence. I wonder if all the well-wishing parents who tick what they think is the ‘No Porn’ button realise that they might not be able to stream the latest “18” certificate film, have a flutter on the National or play cards or bingo.3505349701_af34ebecdd_b

I’m struggling to see what’s driving this and, in a world of economic and social turmoil, why this is so high on the agenda. If it is a priority, why this half-hearted, lack-lustre approach? Does this mean Sky’s Babe Station and other similar channels are going to be shut down? Maybe the government doesn’t consider that porn?

There are various definitions for the term porn: ‘Television shows, articles, photographs, etc., thought to create or satisfy an excessive desire for sexual content.’

Well when you put it that way, I guess it does sound like something unhealthy.

It’s at this point I did a complete about-face on this subject. I started writing this firmly believing I didn’t want the nanny state telling me what I could and couldn’t see and then I did a quick, relatively innocent image search on Google for what I thought would be a witty picture for this post. Do you remember Calendar Girls? A light hearted film in which aged WI woman stripped off for a calendar and strategically placed buns to hide their modesty? So I typed in the search terms ‘calendar girl buns covering’.

Now as you’d expect the top searches were broadly what I wanted but as I scrolled down the page, the porn drifted in. I experimented with search terms and do you know what? In this world of ours it seems someone somewhere always twists something innocent to sexualise it, or adds an innocent search term to an adult image.

My children are still young but I mentally wound on a few years and imagined them doing homework in bedrooms and innocently typing in some random search term. I wouldn’t want them exposed to this kind of result, but is this what Mr Cameron has in mind?

It appears to me that this is proposal is a cross between a moral vote winner for the government and a knee jerk reaction to recent events – revelations that have emerged of sexually motivated child killers having previously viewed pornographic material. Don’t even get me started on the alleged correlations between screen violence and real offences. I’ll leave Geek and the Mary Whitehouse brigade 😉 to deal with that one because I do not advocate the level of censorship that she did. I simply don’t believe there is any evidence to back it up.

The depiction of criminal sexual acts, rape or anything involving children etc., that’s just an obvious no-no isn’t it? Why isn’t the focus on forcing ISPs to filter this content out?kids-computer

The big ISPs out there can accomplish what they want. Don’t be fooled by the excuse ‘It’s a huge task’ or ‘it’s impossible to filter out all that content’ They can police what they choose to easily. Why then is this not a law strictly banning the ISPs allowing  ‘criminal’ sexual content in the UK? Instruct the ISPs to enforce it on pain of hefty penalties or even a loss of licence in the UK.

If I cut through the veneer of this subject I see a typical well-meaning, Big Brother approach that’s become so watered down and toothless that it will be useless. If not useless it will target the wrong people and perhaps drive some things that may have been relatively harmless, underground. Once in that shadowy domain, who knows what it will become and what harm it might do.

In the meantime, if you’re a parent of young or teenage children children, I suggest you brush up on your internet security and perhaps look for a product that will allow you to filter content from your ISP. If you rely on your ISP or the government to do this and still want to enjoy ‘all’ aspects of the internet, I think you’re in for a rude awakening.

How-to: Improve or enhance your website’s SEO

As part-owner of this fledging website, SEO (Search Engine Optimisation) is something that interests me out of necessity. I mean if you create a website, you probably want it to be visited and if you want it to be visited, you need it to appear high in the search engine rankings.

Geek always told me SEO was basically snake oil purveyed largely by people with poor morals and that in any case, it’s a moving target. Search engines constantly change the algorithms they use to rank websites. Taking all this into account I made it my mission to gain a better understanding and then try to use that in the real world, with good old Geek and Dummy, to see if I could improve our ranking.

I’m going to keep this basic because after all, I am just a dummy but hopefully some simple bullet point tips might prevent you losing all hope or from straying into ‘black hat’ SEO territory.

The first thing to be clear about: if you’re relying on search rankings for traffic, then Google is your friend. I say your friend, but unlike a real friend, Google will be extremely intolerant of your transgressions. It won’t understand your foibles and will penalise you mercilessly if you offend its sensitive and ever-changing algorithms. Yeah Google is nothing like your friend, Google’s like your wife!! 😉

You may have heard people allude to the algorithms used by Google. At a basic level they analyse your website in detail and rank it based on a number of mysterious factors. These factors change quite frequently – sometimes drastically. You may also have heard of Panda and Penguin as the names given to recent iterations of Google’s ranking engines.

You can spend forever reading about various aspects of SEO that people claim will affect your search rankings. The truth is however, Google don’t want you to know because to make that public is to give away the tools that more unscrupulous web masters want to use to manipulate the system.

If you find your page ranking plummet overnight, unless you’ve made some changes to your site around the time this happens, usually it’s down to a change made by Google – no anything you’ve done wrong. This site has suffered from that on occasion. After much soul-searching and analysis of what we could possibly have done to upset ‘the wife’, within a few days it went right back to normal. This left us to surmise it was a tweak to Penguin that temporarily affected us.

So that’s a very simple background introduction to SEO. Here are my tips for improving your rankings in Google searches and more importantly, how not to losing that all important front page position.

  1. Number one piece of advice for improving SEO: create a site with integrity. The days of creating a sham site to host links and adverts are gone for all but the most skilled of dark web masters. Google really is in control. Uf you want to get in there then you have to play by the Big Boy’s rules. You can have limited success trying to buck the system but eventually they will find you and punish you.images (1)
  2. As I’ve described, Google can be a fickle creature. Log all your website changes. If your rankings drop suddenly and don’t recover, check for a correlation between changes and the drop.
  3. A day in the life of your website is not enough to gauge a problem. If your rankings drop for a day or even a week that can be normal. If that stretches beyond a week then you have work to do. Go to it Sherlock!
  4. If your rankings have plummeted and not recovered, make sure you haven’t been hacked. I’ve read of sites being hacked by adding links in a hidden div and those links have offended Google!!!!!!
  5. Is your content original and relevant? Don’t underestimate the intelligence of Google. Are you plagiarising someone else’s work? Does your content actually make sense and contain relevant language for the subject? If you’re dropping keywords into sentences but they doesn’t fit the subject, Google’s algorithms can detect it and penalise this. No really, it’s that good!
  6. Use links that are relevant to your content and that are ‘blue chip’ sites. If your posting links into content that take a viewer somewhere undesirable, that site’s offences can be associated to you. Google wants good links and access. You can add depth to your own posts by sharing and linking to other sites, but do so wisely.

The big question I guess is, followed this advice ourselves, what results have we seen?

We started off with very few links in our content but have started to increase these, taking care to keep them relevant and mainstream. As you can see, our content is unique and nothing is plagiarised. We have also gone big on security and our site is clean.

What we have seen as a result in a very short time, is modest viewing figures but figures that have doubled week on week. We have hit page 1 rankings on most of our keyword search targets and this seems to be nice and stable.

The last update to Penguin resulted in the decimation of our viewing figures and not following my own advice, I despaired for days. Our update log revealed no changes. A check of our content, security and links showed nothing nasty. After 4 days we were back to where we started – actually our viewing figures have improved significantly within a week. Panic over, but just goes to show that you need to be aware of the Google update path and avoid jumping to conclusions (something I am very good at).

So there you go, a low-level Dummy guide to SEO but a decent start to give you a back story in the murky world of Search Engine Optimisation.

How-to: Laravel 4 tutorial; part 5 – using databases

[easyreview title=”Complexity rating” icon=”geek” cat1title=”Level of experience required, to follow this how-to.” cat1detail=”There are some difficult concepts here, but you’ll find this is pretty easy in practice.” cat1rating=”3″ overall=”false”]

Laravel Tutorials

layered database

Introduction

At first sight, Laravel offers a dizzying range of ways to interact with your databases. We’ve already seen Migrations and the Schema Builder. There’s also the DB Class with its Query Builder and the Eloquent ORM (Object Relational Mapper) plus no doubt plenty of database plugins for various enterprise and edge-use cases. So where to start?

I’d counsel you to give Eloquent serious consideration – especially if you’ve never previously encountered an ORM. Coming from CodeIgniter which certainly didn’t use to have a built-in ORM, I was amazed how much quicker the Doctrine ORM made it to code database manipulation. And the resulting code was easier to understand and more elegant. Laravel comes with its own built-in ORM, in Eloquent. For me, tight integration with a decent ORM is one of the reasons I turned to Laravel in the first place, so it would take a lot to tempt me away from it to a third-party plug-in. But the great thing about this framework is that it gives you choice – so feel free to disagree. In any event, in this tutorial, Eloquent will be our object of study.

Models

Laravel follows the MVC (Model View Controller) paradigm. If you’re frequently the sole developer on a project, you’ll find that this forces you into almost schizophrenic modes of development. “Today I am a user interface designer, working on views. I know nothing of business logic. Don’t come here with your fancy inheritance and uber_long_function_names().” This is honestly helpful; it forces you into a discipline that results in more easily maintainable code.

Models describe (mostly, but not exclusively) how you interact with your database(s). Really they deal with any data that might be consumed by your application, whether or not it resides in a traditional database. But one step at a time. Here we’ll be looking at Eloquent with a MySQL database. Eloquent is database agnostic though (to a point), so it doesn’t really matter what the underlying engine is.

Unless you have a really good reason not to, it’s best to place your model files under app/models. In the last tutorial, I created (through a migration) a “nodes” table. I mentioned that it was significant that we use a plural noun. Now I’m going to create the corresponding model, which uses the singular form of the noun. The table name should normally be lower case, but it’s preferred to use title case for the class name. My file is app/models/Node.php. Initially, it contains:


The closing "?>" tag is not needed.

Eloquent assumes your table has a primary key called "id". This assumption can be overridden, as can the assumed table name (see the docs).

Now that teeny weeny bit of code has caused all sorts of magic to happen. Head back to the ScrapeController.php file I created in tutorial 2, and look what we can do:

	public function getNode($node) {
		// Top 10 downloads that have at been downloaded at least 50 times
		$nodes = Node::where('downloads', '>', 50)
			->take(10)
			->orderBy('downloads', 'DESC')
			->get();
		$this_node = Node::find($node);
		if($this_node) $data['this_url'] = $this_node->public_url;
		$data['nodes'] = $nodes;
		return View::make('node', $data);
	}

Coming from CodeIgniter, where you had to load each model explicitly, that blew me away. The Eloquent ORM class causes your new Node model to inherit all sorts of useful methods and properties.

  • All rows: $nodes = Node::all();
  • One row (sorted): $top = Node::orderBy('downloads', 'DESC')->first();
  • Max: $max = Node::max('downloads');
  • Unique rows: $uniq = Node::distinct('public_url')->get();
  • Between: $between = Node::whereBetween('downloads', array(20, 50))->get();
  • Joins: $joined = Node::join('mp3metadata', 'mp3metadata.ng_url', '=', 'nodes.public_url')->get();

As you'd expect there are many more methods than I would want to describe here. Just something to bear in mind when reading the official documentation: not only can you use all the methods describe in the Eloquent docs, you can also use all the methods described in the Query Builder docs.

CRUD

At the very least, we need to know how to Create, Read, Update and Delete rows. All the following examples are of logic you'd typically use in a controller.

Create

$new_node = new Node;
$new_node->public_url = 'http://some.url/';
$new_node->blurb = 'blah blah blah';
$new_node->speaker = 'Fred Bloggs';
$new_node->title = 'Great Profundities';
$new_node->date = date('Y-m-d');
$new_node->save();

Note that the created_at and updated_at fields are automatically maintained when you use save().

Read

See the examples above to see how records can be retrieved. Eloquent returns a Collection object, for multi-record results. Collections have a few special methods. I confess I am not clear on their usage, due to lack of working examples. The methods that seems most helpful is each() for iteration. The official docs give a terse example:

$roles = $user->roles->each(function($role)
{

});

Update

// Retrieve and update
$node = Node::find(1);
$node->downloads = 64;
$node->save();

// Using a WHERE clause
$changes = Node::where('downloads', '<', 100)->update(array('downloads' => 100));

Delete

// Several options
$node = Node::find(1);
$node->delete();

Node::destroy(1, 2, 3);
		
$deleted = Node::where('downloads', '<', 100)->delete();

Relationships

There's every chance that you will be working with data where items in one table have a relationship with items in another table. The following relationships are possible:

  • One-to-one
  • One-to-many
  • Many-to-many
  • Polymorphic

I'm not going to dwell too much on the meaning of these, since my objective is not to offer a relational database primer. 😉

For convenience (and because they make sense!) I'm quoting the relationships referenced in the official documentation.

One-to-one
In the User.php model:

class User extends Eloquent {

    public function phone()
    {
        return $this->hasOne('Phone');
    }

}

Eloquent assumes that the foreign key in the phones table is user_id. You could then in a controller do: $phone = User::find(1)->phone;

Relationships can be defined in either direction for convenience, so you can go from the User to the Phone or from the Phone to the user. The reverse relationship here would be defined in Phone.php model file as follows:

class Phone extends Eloquent {

    public function user()
    {
        return $this->belongsTo('User');
    }

}

One-to-many

Forwards:

class Post extends Eloquent {

    public function comments()
    {
        return $this->hasMany('Comment');
    }

}

Reverse:

class Comment extends Eloquent {

    public function post()
    {
        return $this->belongsTo('Post');
    }

}

And in your controller: $comments = Post::find(1)->comments;

Many-to-many

Many-to-many relationships break down into two one-to-many relationships, with an intermediate table. For example, each person may drive multiple cars; conversely each one car may be driven by multiple people. You would define an intermediate people_cars table and set up one-to-many relationships between this table and the two other tables.

Polymorphic

Polymorphic relationships are a little odd. You could define a relationship between multiple tables, when a query to a single model will retrieve results from more than one related table based on similar one-to-many relationships. Maybe I'm not getting it, but personally I would use different types of join to achieve similar results - and I would find that easier to understand, document and maintain. But by all means, read the docs and see if this strategy works for you.

Conclusion

As you'd expect, you can dig a lot deeper with Eloquent. There's enough here to get you started though. If you want to soak up the full benefits of Eloquent, you may wish to consult the API documentation, or read the source code. I'll leave such fun activities for people with bigger brains than mine though. 😉

Layered Database image copyright © Barry Mieny, licensed under Creative Commons. Used with permission.