Tuesday, November 30, 2010

Apple : How to turn your iPhone into a 3D mouse

Apple : How to turn your iPhone into a 3D mouse


How to turn your iPhone into a 3D mouse

Posted: 30 Nov 2010 07:27 AM PST

If you have ever felt the need to navigate 3D holographic displays with your iPhone, then fear no longer, because a new app will allow you to do exactly that.

US firm Provision Interactive promises to turn your iPhone into a fully-fledged 3D holographic controller with its new app.

Use your iphone to control 3d holographic displays

Provision Interactive has enhanced the capability of its in-store 3D holographic displays to work with Apple's Mobile Mouse, as well as its new iPhone app.

The new technology allows retailers to appeal to customers using interactive holographic displays, which they can control and interact with using their iPhones as a wireless air mouse, so you might be able to click on a particular area of the hologram to get more info, or see particular products from a different point of view.

"Provision is always working on innovative ways to improve our 3D holographic technology and making it interactive was just our first step," says Curt Thornton, President and CEO of Provision.

"Allowing consumers to interact with our holograms through a mobile device was always part of our plan and with Mobile Mouse it is now possible.

"We want to connect our advertisers and brands directly to the consumer, both emotionally and physically, and with this iPhone app we've found a great platform to do that."

The app uses the iPhone's built in accelerometer to translate hand motions into mouse movements on the 3D holographic display in the store.

Provision is beginning the development of its own Smartphone application due to be released in 2011.

Provision claims to be the leader in true 3D consumer display products. You can see more on their latest 3D tech over at www.provision.tv.

Updated: iPhone 5 rumours: what you need to know

Posted: 30 Nov 2010 06:15 AM PST

iPhone 5 (or the iPhone 5G, as some are calling it) rumours are flying thick and fast already.

Will there be a rush release to erase memories of the iPhone 4's antenna problems?

Will the 5th generation iPhone deliver ultra-fast mobile internet? Will it ever end up on Verizon in the US?

Let's raid the iPhone 5 rumour fridge to find the tomatoes of truth amid the stinky stilton of baseless speculation.

The iPhone 5 isn't the Verizon iPhone, and vice versa

The Verizon iPhone rumour has been around forever, and one day it'll come true - but it won't be the iPhone 5. The Wall Street Journal said a Verizon iPhone was nearly ready back in October, and we'd take that one seriously: the WSJ is the paper Apple tends to share its secrets with.

It says that "the [Verizon] phone would resemble the iPhone 4 currently sold by AT&T, but would be based on an alternative wireless technology used by Verizon, these people said." Which people? "People familiar with the matter".

The iPhone 5 will have a different form factor to the iPhone 4

WSJ: "Separately, Apple is also developing a new iPhone model, said people briefed on the phone. One person familiar said the fifth-generation iPhone would be a different form factor than those that are currently available… it was unclear how soon that version would be available to Verizon or other carriers."

The iPhone 5 specs will be evolutionary, not revolutionary

According to the Chinese Economic Daily News (via AppleInsider), with the exception of Qualcomm chipsets - which would replace the current Infineon chipsets in the iPhone 4 - Apple's sticking with the same suppliers for the 2011 iPhone 5G components.

We'd expect the basics of the iPhone 5 specs to get a bump - more memory, faster processor, more storage - but DVICE quotes a single insider who claims to have handled Verizon prototypes.

The specs? A new antenna, 1.2GHz processor and a larger screen: 3.7" instead of 3.5". The iPhone 5 may also be made from a new kind of alloy, or maybe meat.

The iPhone 5 specs may include a digital wallet

There's been some speculation that Apple might include Near Field Communication (NFC) technology in the iPhone 5G, turning it into a kind of credit/debit card. However, as Techeye.net notes, "Apple has looked into NFC before" so this might not be imminent.

Near field communication

PAY PHONE: Apple patents show how a near field communication-equipped iPhone 5 could act as a kind of credit card

The iPhone 5 release date will be in the summer…

Apple's established a rhythm with iPhone releases, with new models appearing in late June or early July each year. It's a safe bet that the iPhone 5 release date will also be late June or early July.

As Beatweek magazine points out, Apple's A-Team can't be everywhere at once; by staggering the releases of the iPad 2 and the iPhone 5, they get to work their magic on both devices.

…or maybe the iPhone 5 release date will be earlier

iLounge said its source reckoned Apple would push the iPhone 5 release date forwards - possibly to January 2011 - because of the iPhone 4 antenna problems, although iLounge itself said the claim was "hard to believe". The source could be confusing the Verizon iPhone and the iPhone 5.

The iPhone 5 specs may include LTE support

At least one analyst thinks the iPhone 5 will support LTE, super-fast mobile broadband, in the US. That would make the iPhone 5G a 4G phone, which won't be confusing at all. LTE is certainly coming - AT&T plans to roll out its LTE service in 2011 - but an LTE iPhone has been rumoured for a while. USA Today floated the idea of an LTE iPhone on Verizon last year.

The iPhone 5 price won't change

If the iPhone 5 is an evolutionary step like the move from the iPhone 3G to the iPhone 3GS then we'd expect the price to stay more or less the same, although in the UK higher VAT rates may well mean a higher price tag.

Updated: iPad 2 rumours: what you need to know

Posted: 30 Nov 2010 06:00 AM PST

The internet loves Apple and it loves ill-founded speculation, so it's hardly surprising that iPad 2 rumours were flying before the first iPad even reached the UK.

With only weeks to go before its expected unveiling the iPad 2 release date, specs and price are still closely guarded secrets, but that doesn't mean there aren't some juicy rumours, inspired guesses and possibly even Apple leaks to consider.

Here's our pick of the latest iPad 2G rumours.

iPad 2 specs: cameras and a gyroscope

Gizmodo reckons that FaceTime support's a given, and that means a front-facing camera like the iPhone 4. BuzzBizzNews echoes the camera story, suggesting twin cameras. It also suggests that there'll be a three-axis gyroscope like there is in the iPhone 4. EETimes says Apple has been testing gyroscopes but decided not to put one in the original iPad.

iPad 2 specs: a USB port

Rumours suggest that the iPad 2 will have a USB port, which BuzzBizzNews says will enable users to "upload movies, documents and photos". We're not convinced it's for that, because Apple is moving increasingly to wireless. The iPad prints wirelessly. The iPad streams media wirelessly. Why add USB? More likely, we think, is a MicroUSB port or adapter so the iPad meets new EU regulations on mobile device chargers.

iPad 2 specs: GSM and CDMA

AllThingsDigital quotes analyst Brian Blair, who says that Apple may be readying a "world iPad" that uses both GSM and CDMA networks, enabling it to get online anywhere in the world. CDMA, incidentally, is the technology used by Verizon in the US.

iPad 2 case: thinner and more like a MacBook

Brian Blair also says: "the new iPad is thinner than the existing model and is essentially made from one piece of metal with no pins needed. We understand it requires a new type of manufacturing process as a result, similar to the company's unibody approach seen in MacBooks."

iPad 2 specs: retina display

Will the gorgeous screen from the iPhone 4 make its way to the iPad? The Apple Blog thinks so: "You can be sure that Apple's Retina Display, or something very close, will make its way to iPad".

Then again, such a screen would massively increase the number of pixels, increasing the demands on both the iPad's processor and its battery, so a nine-inch Retina Display is a challenge. If Apple's solved it we'll see you down the Apple Store the second it goes on sale.

iPad 2 specs: a seven-inch screen?

All of Apple's rivals have plumped for 7-inch displays, which means their tablets are lighter than the iPad. Will Apple follow them into seven-inch territory?

iLounge says prototypes exist, while earlier this year DigiTimes predicted not just a seven-inch iPad 2, but a 5.6-inch iPad 2. Apparently the smaller iPads would target ebooks while the current iPad would target multimedia entertainment, "sources stated". We're doubtful. Apple already does a mini-iPad with a retina display. It's the iPod touch.

The idea of a smaller iPad 2 took another knock in November, when 9to5Mac reported that the iPad 2 adverts have already been shot - with current-generation iPads playing the role of iPad 2s. The iPad 2s will be digitally added nearer the time, and of course that's much harder to do if the iPad 2 is smaller than the iPads the actors are actually holding.

iPad 2 specs: a faster processor

KitGuru "has been hearing rumours from the Far East" that the iPad 2 will be a seven-inch job with a 2GHz processor and an HD video camera. It reckons the processor will be based on ARM's Cortex A9, the 1GHz dual-core processor that you'll find in the BlackBerry PlayBook.

iPad 2 specs: more memory

This is a no-brainer: the iPhone 4 has twice the memory of the iPad (512MB compared to 256MB), largely because the iPhone does multitasking. Since the iOS 4.2 release, iPads do multitasking too. 256MB already seems a little bit stingy.

The iPad 2 release date is probably in the Spring

Rumours suggested that the iPad 2 would be rushed out in time for Christmas, but if that's Apple's plan they're being awfully last-minute about it. Early 2011 seems like a much better bet, and it fits with Apple's annual product cycle: the first iPad was announced in January and shipped in the spring.

The iPad 2 price won't change much

Unless there's a new seven-inch model we'll be amazed if the iPad 2 price is dramatically lower than the model it replaces: Apple isn't struggling to shift units and rivals are charging similar prices. Cheapo tablets do exist, but they're rubbish.

Buying Guide: 12 best gifts for iPhone owners

Posted: 30 Nov 2010 03:12 AM PST

There's no shortage of iPhone gadgets on the market in time for the holiday season, but how do you separate the best iPhone accessories from the also-rans?

With our help, of course!

We've compiled a list of 12 of the hottest iPhone accessories and add-ons for you here.

Buy that special iPhone-owner in your life one of these for Christmas and you can be sure of a happy New Year.

1. Sonos ZonePlayer S5 - £349

Sonos s5

If you're after the ultimate in cool iPhone gifts then this wireless multi-room audio solution that you can control from your iPhone will be a hit. The Sonos ZonePlayer S5 can access your iTunes library on your Mac or PC, and you can control it with a free iPhone app.

Buy the Sonos ZonePlayer S5 for £317 at Simply Electronics

2. Mophie Juice Pack Air - £79

Juice pack air

It's more expensive than other battery boosters, but the Juice Pack Air looks the part. When you're getting low on power just press the charge button to give your iPhone a boost. You can basically double your battery charge, and connecting to your PC using a USB cable enables you to sync while its connected.

Buy the Mophie Juice Pack Air for £79 at Amazon

3. Just Mobile AluPen - £14

Alupen

Stand out from the crowd with a stylus for your iPhone! This pencil-like creation is made of aluminium and a rubberised nib means it works with the iPhone 4. It's great for handwritten notes or tapping on the on-screen keyboard.

Buy the Just Mobile AluPen for £14 at Amazon

4. Scosche IPUSBM flipSYNC - £16

flipsync

This great little Christmas stocking filler is perfect for iPhone 4 owners. Measuring less than 5cm when closed, it flips out to reveal a USB to iPhone 30-pin connector, and can easily be attached to your keyring for portability.

Buy the Scoshe flipSYNC for £16 at Amazon

5. Revo AXiS - £199

Revo axis

If you're looking for something to put by your bedside to plug your iPhone 4 into then the Revo AXiS has to be amongst the best of the bunch. It's touchscreen controls give you access to internet, DAB and FM Radio, and of course it can charge your iPhone and play any music it contains. Add in wireless streaming of music from your Mac or PC and a strong robust sound and you've got a winner on your hands.

Buy the Revo AXiS for £199 at Amazon

6. Moshi Moshi 04 - £142

Moshi moshi

The Moshi Moshi is a great idea - at first glance it's a Bluetooth speaker set for your iPhone, but if you detach the top part it becomes a handset which you can walk around the house with.

Buy the Moshi Moshi 04 for £142 at Amazon

7. Fivepoint gloves - £25

Fivepoint gloves

Keep your hands warm this winter when you use your iPhone thanks to the innovative Fivepoint gloves. The tips are conductive, so you can still use the iPhone 4's capacitive mult-touch screen without taking them off.

Buy the Fivepoint gloves for £25 at Amazon

8. Time Speaker Dock - £39.99

Time speaker dock

The Time Speaker Dock works in conjunction with a free app to create a gorgeous, fully-functioning analogue clock that also charges your iPhone. There's also an alarm clock, FM radio and snooze and sleep functions.

Buy the TIME Speaker Dock for £39.99 at Play.com

9. Sennheiser MM 450 Travel - £226.95

Sennheiser mm 450

Bluetooth headphones are a great idea - no wires to tie you down and great sound quality too. These Sennheiser's aren't cheap, but they impress thanks to built-in play/pause volume adjust and skip track controls.

Buy the Sennheiser MM 450 Travel for £226.95 at Amazon

10. Altec Lansing inMotion Compact iMT320 - £43.19

iMT320

If you want a portable speaker dock then you need something that works off both batteries and mains, and sounds incredible. The iMT320 fits the bill perfectly, and it won't break the bank either.

Buy the Altec Lansing inMotion Compact iMT320 for £43.19 at Amazon

11. Guitar Sidekick - £29.99

Guitar sidekick

The Guitar Sidekick attaches snuggly between the nut and the machine heads of your axe, holding your iPhone at just the right angle, which makes it perfect for the budding guitarist who wants to follow along to tablature as they play, using apps like TabToolkit.

Buy the Guitar Sidekick for £29.99 at Amazon

12. Etymotic hf3 - £125.50

hf3

We all know that Apple's iPhone earphones aren't ideal. If you want to get something that's much better quality we'd recommend these noise-isolating earphones. Stunning sound, a three button controller and a mic. What more could you want?

Buy the Etymotic hf3 for £125.50 at Amazon

More iPhone gift ideas:

6 of the best iPhone 4 cases

6 best iPhone speaker docks

6 of the best iPhone earphones

Top 10 best iPhone 4 accessories

4 of the best iPhone Bluetooth headsets

Software : Sponsored: Video editing just got a whole lot easier

Software : Sponsored: Video editing just got a whole lot easier


Sponsored: Video editing just got a whole lot easier

Posted: 30 Nov 2010 02:31 AM PST

This is a sponsored article in association with Pinnacle Studio version 14

Whether it's for fun at home, capturing moments out with friends or presenting for work, video makes a difference. And High Definition (HD) video means even more.

No longer confined to expensive dedicated cameras, almost everybody is able to capture HD video using a budget camcorder like the Flip Video HD or one of the latest mobile phones like the Apple iPhone 4, Nokia N8 or Samsung Galaxy S that can all take 720p HD video.

But editing video has been a daunting and time consuming process. While you may have come across the likes of Windows Live Movie Maker, its limited range of features but even more limiting output options leaves you short.

Enter the latest generation of Pinnacle Studio version 14 with a new streamlined interface, enhanced ease-of-use and optimised performance. From start to finish, Pinnacle has streamlined the process making it easier and faster to capture, edit and share your videos.

If you've edited video before, you know it all starts with capturing or importing your video footage. All new for Pinnacle Studio 14 is a redesigned import tool enabling you to import video and photos from any video hardware, no matter if you have a phone, digital camera, camcorders, are using Firewire, traditional analogue cameras or other sources.

This flexibility is vital so you can work with the video hardware you want. It even extends to capturing video from (unprotected) DVD and Blu-ray discs, plus AVCHD and has a special option for stop motion animations.

Pinnacle studio 14

IMPORT: The new Import Tool even includes stop motion capture for amazing animated and fast-motion effects.

Stop Motion Capture enables you to capture sequential frames and then combine these frames into a single video file. To begin, select the Stop Motion option in the Import From section. In this example, a Sony DV camcorder is used to provide the video. Once you have the frame that you want, select the "Capture Frame" button. This will add the frame to the bottom of the screen.

It's an innocent enough change but it's one that totally streamlines the Pinnacle Studio 14 interface. The new One Page Album provides one-click access to all the most commonly used features of Pinnacle Studio 14, saving you time and confusion when using it day-to-day. This system encompasses all the creative elements including: video clips, audio clips, transitions, montages, photos, DVD menus and titles.

Pinnacle studio 14

ONE PAGE ALBUM: An optimised interface makes it far quicker flicking between assets and effects

Another ease-of-use feature seamlessly built-into this is Favorite Folder, it's a way to combine multiple folders into a virtual single one, making it easier to browse files across multiple folders in one go without physically rearranging them. It's useful for projects combining photos, audio and video from multiple different sources.

A new Project Bin system enables you to collect video, photo, audio and additional resources together into a single virtual workspace, without having to again physically move them on the hard drive. As they're used within the project a tick-mark appears on them, so you won't unwittingly reuse a clip or image.

Pinnacle studio 14

FOLDERS:Workflow might not be a sexy phrase but it'll make your life easier

To make sure editing is as easy as possible Pinnacle Studio 14 has had a few key features added, that will make your editing life easier. One such feature is Effect Copy, if you're using the same effect or multiple effects on one clip you can now copy and paste that over multiple clips, eliminating the need to apply them to each individual clip. An all-new Motion Titler has been included with Pinnacle Studio Ultimate 14 and delivers professional-level multi-layer motion titling.

Pinnacle studio 14

TITLES:Create unique moving titles to your videos

Every film needs amulti-layer effects . Pinnale Studio 14 comes with over 50 and adds new tools to expand the already comprehensive Montage system. These provide a simple drag-and-drop method to add scenes using multiple video sources, the new themes offer pre-defined professional-quality templates into which you just need to drop your selected photos and video sources.

Pinnacle studio 14

MONTAGE:An excellent alternative to a plain transition, Pinnacle Motage enables you to add some visual flare

A vital step in video editing is being able to create video that can be played for your target audience. Pinnacle Studio 14 provides a flexible and comprehensive list of target formats and platforms. From cinema standard HD 24fps to individual settings for gaming consoles including PlayStation 3, Xbox 360 and Wii. This is in addition to the usual options of DVD, VCD, tape and a file. Of course, you can also directly upload footage to your YouTube or Yahoo Video account as well.

Pinnacle studio 14

OUTPUT: Having presets for all the most common platforms and formats takes all the guess work

You can sample all these features today with the Pinnacle studio 14 trial" rel="nofollow">Pinnacle Studio 14 trial.

Monday, November 29, 2010

Software : In Depth: 14 must-have security apps

Software : In Depth: 14 must-have security apps


In Depth: 14 must-have security apps

Posted: 29 Nov 2010 07:00 AM PST

One segment of computing in particular is constantly evolving. Security software has to keep up with new attacks and protect us from new-found dangers, mostly because hackers never seem to sleep.

These 15 apps protect your and your family whenever – or wherever. Sure, anyone can download a free virus scanner, but these must-have tools go beyond the basics.

1. Handy Safe Pro

Handy Safe, like a myriad of iPhone apps, stores passwords and protected info, but offers a few extra features of note. One is that the app itself is encrypted from break-ins, and you can archive the stored data to the cloud. You can store credit cards, PINs, e-mail passwords, serial numbers and more. The app works on Symbian and Android devices – but we expect a Windows Phone version soon.

2. Invincea Browser Protection

The first browser that runs in a virtual environment, Invincea avoids the trap of constant updates – it's essentially like using VMware as your virtual operating system (OS) but just for browsing the web. The main advantage is that, with any malware or virus attack, your actual OS is protected. Invincea watches for malware and virus-like behaviour, warns you about attacks, and blocks threats instead of using signature files.

3. TrendMicro Smart Surfing

Smart Surfing is an iPhone app that uses TrendMicro's cloud protection for your mobile internet travels. When you open a URL, the app first checks the reputation of the site and if it is known distributing harmful software. You can set the reputation level to either allowing only known reputable sites or blocking harmful sites.

4. 123 Corporation Secret 123

One of the most troubling problems in the security field has to do with unencrypted emails. Employees in a company decide, on a whim, to send out financial data over their e-mail, which is a relatively easy way for hackers to steal the information. Secret 123 is a free Outlook plug-in that lets users add encryption to an outgoing message. The main benefit is ease-of-use, since the button is so easy to find.

5. BitLocker

One of the best security apps for daily use is probably one you already have installed. Included free with Windows 7 and Windows Vista Enterprise and Ultimate Editions, BitLocker is a quick and painless way to add encryption to external hard drives and USB thumbdrives. You can lock down these drives before sending them in the mail or storing them long term.

BiTlocker

6. Track and Protect

For anyone using an expensive smartphone, tracking its whereabouts in case of theft is critical. Track and Report works with Symbian and Android devices and lets you send remote commands to the device – such as capturing a photo, finding the current location, and listen to audio. You can also find out a new SIM card number.

7. ToneCheck

Another Outlook plug-in that protects employees, ToneCheck watches all outgoing messages and warns the user if the tone is inappropriate, insulting, or could possibly get the company in trouble. The app catches most insults and even learns from user behavior. Free in beta currently for any company.

8. AVG

AVG might not be the most comprehensive anti-virus software on the market – there are no cloud-based signature updates and no advanced admin console for tracking viruses within a company – but the tool does maintain an up-to-date registry of known virus, malware, and spyware threats to keep your PC safe.

AVG

9. Advanced Registry Optimizer

Registry errors cause PC slowdowns – but from a security standpoint, the registry is also a potential breeding ground for corrupt and damaging software. Advanced Registry Optimizer is a cleaning tool find corrupt and suspicious entries and works in the background to make sure your registry is running at the fastest speeds possible.

10. GoGoStat Parental Guidance

This free app for Facebook is for parents who want to track their kids and make sure there's no inappropriate behaviour. You first install GoGoStat in your Facebook account then add your kids (which they approve). You can get alerts about chat messages, when photos are uploaded, and new contacts.

11. ezDataCloak

Look for this new web security tool in the future – it lets you exchange heavily encrypted messages on a website so that you and the receiver are the only ones who could possibly read the message, without ever transmitting the message over common e-mail protocols and potentially revealing private information. We've tested a limited alpha release but stay tuned for the first beta release this year.

12. Ixia IxDefend

This robust security application scans firewalls to make sure they're actually working. Ixia is known for their networking analysis tools. XeDefend simulates common network attacks and thoroughly searches your network for all endpoints and makes sure the firewall is actually working as you intend it to.

13. PeaZip

Call it the poor man's way of encrypting files, the PeaZip archiving tool is a must-have for those who need to compress files and add extra encryption to make them secure. The tool supports every compression format under the sun (such as ZIP, ARC, GZ, and TAR) and works fast on both Windows and Linux boxes.

14. McAfee Total Protection for Endpoints

Running a memory-hogging anti-virus app just doesn't make sense any more, now that companies such McAfee and TrendMicro offer cloud-based options. A small app runs on the desktop, but the signature files are maintained in the cloud. Even better, you can pull up an admin console and quickly see any infections and whether someone has not installed the app yet (or you can install it for them remotely).

Sunday, November 28, 2010

Software : 10 mistakes every programmer makes

Software : 10 mistakes every programmer makes


10 mistakes every programmer makes

Posted: 28 Nov 2010 02:00 AM PST

When you start programming, you get disillusioned quickly. No longer is the computer the allinfallible perfect machine – "do as I mean, not as I say" becomes a frequent cry.

At night, when the blasted hobgoblins finally go to bed, you lie there and ruminate on the errors you made that day, and they're worse than any horror movie. So when the editor of PC Plus asked me to write this article, I reacted with both fear and knowing obedience.

I was confident that I could dash this off in a couple of hours and nip down to the pub without the usual resultant night terrors. The problem with such a request is, well, which language are we talking about?

I can't just trot out the top 10 mistakes you could make in C#, Delphi, JavaScript or whatever – somehow my top ten list has to encompass every language. Suddenly, the task seemed more difficult. The hobgoblins started cackling in my head. Nevertheless, here goes…

1. Writing for the compiler, not for people

When they use a compiler to create their applications, people tend to forget that the verbose grammar and syntax required to make programming easier is tossed aside in the process of converting prose to machine code.

A compiler doesn't care if you use a single-letter identifier or a more human-readable one. The compiler doesn't care if you write optimised expressions or whether you envelop sub-expressions with parentheses. It takes your human-readable code, parses it into abstract syntax trees and converts those trees into machine code, or some kind of intermediate language. Your names are by then history.

So why not use more readable or semantically significant identifiers than just i, j or x? These days, the extra time you would spend waiting for the compiler to complete translating longer identifiers is minuscule. However, the much-reduced time it takes you or another programmer to read your source code when the code is expressly written to be self-explanatory, to be more easily understandable, is quite remarkable.

Another similar point: you may have memorised the operator precedence to such a level that you can omit needless parentheses in your expressions, but consider the next programmer to look at your code. Does he? Will he know the precedence of operators in some other language better than this one and thereby misread your code and make invalid assumptions about how it works?

Personally, I assume that everyone knows that multiplication (or division) is done before addition and subtraction, but that's about it. Anything else in an expression and I throw in parentheses to make sure that I'm writing what I intend to write, and that other people will read what I intended to say.

The compiler just doesn't care. Studies have shown that the proportion of some code's lifecycle spent being maintained is easily five times more than was spent initially writing it. It makes sense to write your code for someone else to read and understand.

2. Writing big routines

Back when I was starting out, there was a rule of thumb where I worked that routines should never be longer than one printed page of fan-fold paper – and that included the comment box at the top that was fashionable back then. Since then, and especially in the past few years, methods tend to be much smaller – merely a few lines of code.

In essence, just enough code that you can grasp its significance and understand it in a short time. Long methods are frowned upon and tend to be broken up.

The reason is extremely simple: long methods are hard to understand and therefore hard to maintain. They're also hard to test properly. If you consider that testing is a function of the number of possible paths through a method, the longer the method, the more tests you'll have to write and the more involved those tests will have to be.

There's actually a pretty good measurement you can make of your code that indicates how complex it is, and therefore how probable it is to have bugs – the cyclomatic complexity.

Developed by Thomas J. McCabe Sr in 1976, cyclomatic complexity has a big equation linked to it if you're going to run through it properly, but there's an easy, basic method you can use on the fly. Just count the number of 'if' statements and loops in your code. Add 1 and this is the CC value of the method.

It's a rough count of the number of execution paths through the code. If your method has a value greater than 10, I'd recommend you rewrite it.

3. Premature optimisation

This one's simple. When we write code, sometimes we have a niggling devil on our shoulder pointing out that this clever code would be a bit faster than the code you just wrote. Ignore the fact that the clever code is harder to read or harder to comprehend; you're shaving off milliseconds from this loop. This is known as premature optimisation.

The famous computer scientist Donald Knuth said, "We should forget about small efficiencies, say about 97 per cent of the time: premature optimisation is the root of all evil."

In other words: write your code clearly and cleanly, then profile to find out where the real bottlenecks are and optimise them. Don't try to guess beforehand.

4. Using global variables

Back when I started, lots of languages had no concept of local variables at all and so I was forced to use global variables. Subroutines were available and encouraged but you couldn't declare a variable just for use within that routine – you had to use one that was visible from all your code. Still, they're so enticing, you almost feel as if you're being green and environmentally conscious by using them. You only declare them once, and use them all over the place, so it seems you're saving all that precious memory.

But it's that "using all over the place" that trips you up. The great thing about global variables is that they're visible everywhere. This is also the worst thing about global variables: you have no way of controlling who changes it or when the variable is accessed. Assume a global has a particular value before a call to a routine and it may be different after you get control back and you don't notice.

Of course, once people had worked out that globals were bad, something came along with a different name that was really a global variable in a different guise. This was the singleton, an object that's supposed to represent something of which there can only be one in a given program.

A classic example, perhaps, is an object that contains information about your program's window, its position on the screen, its size, its caption and the like. The main problem with the singleton object is testability. Because they are global objects, they're created when first used, and destroyed only when the program itself terminates. This persistence makes them extremely difficult to test.

Later tests will be written implicitly assuming that previous tests have been run, which set up the internal state of the singleton. Another problem is that a singleton is a complex global object, a reference to which is passed around your program's code. Your code is now dependent on some other class.

Worse than that, it's coupled to that singleton. In testing, you would have to use that singleton. Your tests would then become dependent on its state, much as the problem you had in testing the singleton in the first place. So, don't use globals and avoid singletons.

5. Not making estimates

You're just about to write an application. You're so excited about it that you just go ahead and start designing and writing it. You release and suddenly you're beset with performance issues, or out-of-memory problems.

Further investigations show that, although your design works well with small number of users, or records, or items, it does not scale – think of the early days of Twitter for a good example. Or it works great on your super-duper developer 3GHz PC with 8GB of RAM and an SSD, but on a run-of-the-mill PC, it's slower than a Greenland glacier in January.

Part of your design process should have been some estimates, some back-back-of- the-envelope calculations. How many simultaneous users are you going to cater for? How many records? What response time are you targeting?

Try to provide estimates to these types of questions and you'll be able to make further decisions about techniques you can build into your application, such as different algorithms or caching. Don't run pell-mell into development – take some time to estimate your goals.

6. Off by one

This mistake is made by everyone, regularly, all the time. It's writing a loop with an index in such a way that the index incremented once too often or once too little. Consequently, the loop is traversed an incorrect number of times.

If the code in the loop is visiting elements of an array one by one, a non-existent element of the array may be accessed – or, worse, written to – or an element may be missed altogether. One reason why you might get an off-by one error is forgetting whether indexes for array elements are zero-based or one-based.

Some languages even have cases where some object is zero-based and others where the assumption is one-based. There are so many variants of this kind of error that modern languages or their runtimes have features such as 'foreach loops' to avoid the need to count through elements of an array or list.

Others use functional programming techniques called map, reduce and filter to avoid the need to iterate over collections. Use modern 'functional' loops rather than iterative loops.

7. Suppressing exceptions

Modern languages use an exception system as an error-reporting technique, rather than the old traditional passing and checking of error numbers. The language incorporates new keywords to dispatch and trap exceptions, using names such as throw, try, finally and catch.

The remarkable thing about exceptions is their ability to unwind the stack, automatically returning from nested routines until the exception is trapped and dealt with. No longer do you have to check for error conditions, making your code into a morass of error tests.

All in all, exceptions make for more robust software, providing that they're used properly. Catch is the interesting one: it allows you to trap an exception that was thrown and perform some kind of action based upon the type of the exception.

The biggest mistakes programmers make with exceptions are twofold. The first is that the programmer is not specific enough in the type of exception they catch. Catching too general an exception type means that they may be inadvertently dealing with particular exceptions that would be best left to other code, higher up the call chain. Those exceptions would, in effect, be suppressed and possibly lost.

The second mistake is more pernicious: the programmer doesn't want any exceptions leaving their code and so catches them all and ignores them. This is known as the empty catch block. They may think, for example, that only certain types of exceptions might be thrown in his code; ones that they could justifiably ignore.

In reality, other deadly runtime exceptions could happen – things such as out-of-memory exceptions, invalid code exceptions and the like, for which the program shouldn't continue running at all. Tune your exception catch blocks to be as specific as possible.

8. Storing secrets in plain text

A long time ago, I worked in a bank. We purchased a new computer system for the back office to manage some kind of workflow dealing with bond settlements. Part of my job was to check this system to see whether it worked as described and whether it was foolproof. After all, it dealt with millions of pounds daily and then, as now, a company is more likely to be defrauded by an employee than an outsider.

After 15 minutes with a rudimentary hex editor, I'd found the administrator's password stored in plain text. Data security is one of those topics that deserves more coverage than I can justifiably provide here, but you should never, ever store passwords in plain text.

The standard for passwords is to store the salted hash of the original password, and then do the same salting and hashing of an entered password to see if they match.

Here's a handy hint: if a website promises to email you your original password should you forget it, walk away from the site. This is a huge security issue. One day that site will be hacked. You'll read about how many logins were compromised, and you'll swallow hard and feel the panic rising. Don't be one of the people whose information has been compromised and, equally, don't store passwords or other 'secrets' in plain text in your apps.

9. Not validating user input

In the good old days, our programs were run by individuals, one at a time. We grew complacent about user input: after all, if the program crashed, only one person would be inconvenienced – the one user of the program at that time. Our input validation was limited to number validation, or date checking, or other kinds of verification of input.

Text input tended not to be validated particularly. Then came the web. Suddenly your program is being used all over the world and you've lost that connection with the user. Malicious users could be entering data into your program with the express intent of trying to take over your application or your servers.

A whole crop of devious new attacks were devised that took advantage of the lack of checking of user input. The most famous one is SQL injection, although unsanitised user input could precipitate an XSS attack (crosssite scripting) through markup injection.

Both types rely on the user providing, as part of normal form input, some text that contains either SQL or HTML fragments. If the application does not validate the user input, it may just use it as is and either cause some hacked SQl to execute, or some hacked HTML/JavaScript to be produced.

This in turn could crash the app or allow it to be taken over by the hacker. So, always assume the user is a hacker trying to crash or take over your application and validate or sanitise user input.

10. Not being up to date

All of the previous mistakes have been covered in depth online and in various books. I haven't discovered anything new – they and others have been known for years. These days you have to work pretty hard to avoid coming into contact with various modern design and programming techniques.

I'd say that not spending enough time becoming knowledgeable about programming – and maintaining that expertise – is in fact the biggest mistake that programmers make. They should be learning about techniques such as TDD or BDD, about what SLAP or SOLID means, about various agile techniques.

These skills are of equal or greater importance than understanding how a loop is written in your language of choice. So don't be like them: read McConnell and Beck and Martin and Jeffries and the Gang of Four and Fowler and Hunt & Thomas and so on. Make sure you stay up to date with the art and practice of programming.

And that concludes my top 10 list of mistakes programmers make, no matter what their language stripe. There are others, to be sure, perhaps more disastrous than mine, but I would say that their degree of dread is proportional to the consequences of making them.

All of the above were pretty dire for me the last time I made them. If you have further suggestions or calamities of your own, don't hesitate to contact me and let me know.

15 best places to download free PC wallpaper

Posted: 28 Nov 2010 12:00 AM PST

The average adult spends around eight hours a day staring at a screen, but if you take a second to think about what's on display, all too often it's framed by a bland background.

Windows and Linux make it easy to display something more aesthetically pleasing. Indeed, Windows 7 comes with a wider selection of gorgeous images than ever before. However, this means the art of original desktop decoration is being lost.

Customising your desktop with a picture of the family cat is all well and good, but few of our own digital photos are actually suitable for the desktop – they're either too busy and distracting to have icons splattered on top, or not high enough resolution, so the result is grainy.

And forget dedicated websites too – many wallpaper sites simply offer tasteless images of sunsets and models, and some are even designed to spread malware.

That's why we've found 15 of the best places to get wallpapers on the web, whatever your tastes may be. Some are a little left-field and some are plain unconventional, but we're confident that whatever your taste in art, you'll find something that will make working on your PC much more enjoyable.

1. Wikimedia Commons
Webiste

Wikimedia

Wikimedia is a free online community made up of millions of photos, movies and sounds that are free to use. There's a myriad of images, some of which aren't suitable for life on the desktop, but some are beautiful shots that are crying out to be displayed.

One of the best ways of hunting down great desktop images on the site is to use the Photo of the Day feature, and going back through the site's long history, where there are some great images on offer.

When you find one you like, download the full-resolution version rather than the preview, as these will be much higher quality and will look better on your desktop.

2. Hamad Darwish
Website

Windows Vista may have been disappointed in nearly every respect, but one aspect that did impress us was the great-looking desktop wallpapers that came included. Those masterpieces were the work of Hamad Darwish, who travelled the world for Microsoft, taking wonderful snaps for our enjoyment.

Upon his return, he put all of the wallpapers that Microsoft rejected on the internet for free, and there are some fantastic vistas that will really brighten your desktop. Just head onto his website, click the Windows Vista tab and download the 30MB folder.

While you're there, check out Hamad's other work, which is really rather good.

3. Dual-Monitor Backgrounds
Website

dual monitors

If you have a dual-monitor setup then Dual Monitor Backgrounds is an essential wallpaper resource. All the wallpapers on the site are 2,560x1,024 or 3,840x1,200 and look truly stunning when spread out.

One of the best features on the Dual Monitor Background site is the ability to set your monitor resolution by clicking the link at the top. All the results will then be filtered to your specific needs, so you'll only see the wallpapers that suit your desktop. There are loads of categories to choose from, but just remember to click on the preview shot first to get the full-resolution image before you save it to your desktop.

4. Space
Website

The Windows desktop: the final frontier. Well, not quite. But those with a passion for space, stargazing and sci-fi are well served for quality wallpapers. Head onto the Space Views part of www.space.com and click the Wallpapers tab to get an array of out-of-this-world shots.

They come in a range of sizes specifically designed for life on your desktop. Admittedly, many are mock-ups by artists whose impression of space, it seems, has been altered by hallucinogens. However, we love the Earth shots – some of them are truly inspiring.

5. National Geographic
Website

National geographic

When it comes to incredible images, you can rely on National Geographic. It has an array of the world's most gorgeous vistas on offer, and what's more, they're specifically designed for the desktop, and free to download.

From the National Geographic homepage, just go to 'Photography | Wallpapers' and start browsing the best that nature has to offer. When you click on an image in the Wallpapers section, you'll see a 'Get wallpaper' link. The image will resize and you can right-click to apply, or save the image using the link at the top.

6. Gigapixel
www.gigapxl.org

If your digital camera is measured in megapixels, just imagine what a gigapixel camera can do! Miracles, that's what. The images are stunning, and they can be enlarged to such an extent that you can make out the smallest details in huge vistas, as if looking through a telescope.

The Gigapxl Project has a huge collection of shots that show off the impact of gigapixel images, and they offer wallpaper-sized versions of most of their photos.

7. NASA
Website

NASA may be hard at work discovering the secrets of the universe, but it's nice to see that between deep space explorations, they've found the time to put a couple of wallpapers up as well. There are close-up images of the darkest and weirdest corners of the galaxy, taken by space telescopes and satellites.

Interplanetary wonders on offer include the Orion Nebula, Lulin Comet and the Martian surface, to name but a few. If there's a set of images guaranteed to give you a self-worth complex, it's NASA's, and we salute them for it.

To find the images, go to 'View Image Gallery' and scroll through the sets. The download links are in the right-hand panel, with a variety of sizes to choose from.

8. Porsche
Website

There are few sights as pleasing as one of the most expensive cars on the planet, and for fans of Porsche, these wallpapers are an absolute must.

Porsche has gone to the trouble of taking scores of pictures of its cars bathed in sunlight, dripping with decals and racing mods, and they're guaranteed to get fans of the supercar excited. The Boxster, 911, Panamera and every middle-class parent's favourite, the Cayenne, are all available, and there are multiple sizes to suit every desktop.

9. Bing
www.bing.com

Bing may be struggling to gain ground in the battle of the search providers, but it beats Google hands down when it comes to amazing pictures. Photos are so important to Bing that every country has someone in charge of selecting the images, so it would be a shame to let that go to waste without making some fantastic desktops.

10. Microsoft Official Themes
Website

Official themes

One of the best parts of Windows 7 is its desktop themes. These enable you to select sets of photos and colour schemes with which to decorate Windows and change them on demand. While previous editions of Windows were fairly static in terms of appearance, Microsoft has been updating wallpapers and themes for Windows 7 via its Personalisation Gallery.

These range from country-specific scenery to the best of Bing. To access the gallery, right-click the desktop and go to 'Personalize | Get more themes online'. All of the wallpapers and themes plug straight into Windows 7, so there's minimum fuss and maximum enjoyment.

11. Enigma desktop
http://rainmeter.net

One of the most dramatic ways of changing your desktop's appearance is the Enigma Desktop, which is easier than ever to set up. The Enigma mod is now fully featured in Rainmeter, and turns your desktop into a blank canvas for everything from storing icons to implementing a fully integrated panel that can alert you to new emails, RSS feeds and much more.

Just head over to the website to download the program, which now comes with a fantastic set of wallpapers by Kaelri from Deviant Art. Enigma is a great mod for anyone looking for a unique and functional desktop, and the wallpapers make it well worth the time investment alone.

12. Deviant Art
www.deviantart.com

For fans of independent digital art, Deviant Art is a great place to look. It's a huge melting pot of creativity, with a mixture of graphically altered images and amazing digital drawings.

While Deviant Art is by no means designed to cater specifically for wallpaper hunters, there are some stunning images on offer that make fabulous backgrounds. You can download the original versions of the images for use on your desktop, although there isn't universal support for every screen resolution.

13. Windows 7 Themes
http://windows7themes.net

Windows 7 Themes is so popular, it has a higher Google rank than the official Windows Personalization Gallery that's linked to from every copy of Windows 7. Don't be misled: there's nothing official about this site, which even lists Windows 8 wallpapers among its wares!

That's to take nothing away from its vast selection of wallpapers, though. If you like the swirls and colours of the official Windows backgrounds, then you'll love the selection of tribute images on the site.

14. Flickr Wallpaper Group
Website

Flickr is fast becoming the best online source of images in the world, so it's no surprise that there's a section dedicated to wallpapers. The pool is contributed to by members of the Flickr community, many of whom are professional and semi-pro photographers, and the quality of the photos reflects that.

Many are arty, most are striking, and they're all designed with the desktop in mind, with every image clocking in at over 1,024x768 pixels. To download, simply click on an image and then click the 'All sizes' button located at the top left. The next screen will offer a list of all the available resolutions, so pick the one that suits your display, or just click 'Download original size'.

15. Wallpaper Stock
http://wallpaperstock.net

Wallpaper Stock is an apt name for a site that offers such a huge range of desktop images. They're all free to download, and while they might be slightly generic and unimaginative in places, there's a massive range of resolutions available, and a genre of images to suit every taste.

In a bizarre twist, you need to tweet about the site in order to download an image. Once you've spammed your followers with a tweet about how great Wallpaper Stock can be, you're free to download. The full-sized image is opened in a new window, so just right-click to save it.

Saturday, November 27, 2010

Software : In Depth: Best Linux backup software: 8 tools on test

Software : In Depth: Best Linux backup software: 8 tools on test


In Depth: Best Linux backup software: 8 tools on test

Posted: 27 Nov 2010 04:00 AM PST

Have you been burned before and lost important data? Or do you lose sleep because of the fear of one day joining the ranks of those who have? Fear not, worried and jaded souls – there's a range of Linux backup tools that can help.

Such tools avoid the pitfalls of common data storage strategies, particularly those that begin and end with burning files on to optical media to free up a single hard disk. Such a method won't protect you from random disk failures or accidents, or back up your important configuration and temporary files.

Backup tools, however, enable you to identify important files and directories that are then constantly monitored and regularly backed up. If you back up the same directories regularly, how do you prevent redundancy of data in backup files, though?

Well, backup tools can perform incremental backups, which – after making a complete initial imprint of the directory – will then only make copies of new files or those that have changed since the last backup. So, for example, a backup of the Pictures directory on Tuesday will only contain files added or changed since last Saturday's backup.

Most backup tools nowadays also offer to compress your data so you can store it more efficiently. Then there are tools that will encrypt your data when making copies. There are also GUI and command line flavours – so use these pages as a guide to pick the best tool for your needs.

So what's the best Linux backup tool? Let's find out.

Pybackpack

Pybackpack

A vailable in most software repositories, Pybackpack is designed to be a friendly backup tool, and is notable for being easy to install manually thanks to its bundled Python installer script.

Its dependency list includes Python, PyGlade and PyGTK and a few other readily available tools. Once installed, you'll find it listed under System > Administration as 'File Backup Manager'.

Using Pybackpack is simple too. The default Home tab enables you to back up your /home directory. Clicking Go will burn its contents to a disc. You'll need the nautilus-cd-burner package before you can do this, though.

Most backup tools refer to each backup as a set. You can easily create your own sets via the Backup tab. This features a handy Exclude From Set button too, enabling you to specify particular files to leave out of backups made of a full directory. It's useful for trimming the fat.

When the New Backup Set wizard exits, press the Backup button at the bottom-right of the main window. This will create your backup in the specified directory. Make sure to provide a unique destination path for each backup set.

The backup creates two directories in the destination path – home and rdiff-backup-data. The former contains a copy of the files, while the latter holds data about incremental backups, error logs and so on. Pybackpack remembers each set you create and the files it contains, backing up only new or modified files thereafter.

When restoring a backup, you only need to specify the parent directory that contains the two directories. In case of incremental backups, you get the option to restore backups done on a specific date and time.

Verdict

Pybackpack
Version: 0.5.8
Website
Price: Free/GPL

A lack of active development and compression options hold this back

Rating: 7/10

Fwbackups

Fwbackups

With Fwbackups, you can either perform on-demand backups or create sets and task Cron with automatically backing up your data. All this is conveniently offered from a slick graphical interface.

The buttons at the top of the interface enable you to choose which type of backup to use. Click One-Time Backup to create a backup of your data immediately. Note that Fwbackups will not treat this data as a set, so it can't be backed up incrementally.

You can choose an archive type, though – be that a tarball, compressed archive, or just a basic copy of the files. All the options are well explained and you can optionally set a Nice value too. This value denotes the importance of a process, and you can use it to prioritise resource allocation. It's especially useful when you're backing up large volumes of data and using compression.

When creating a backup set, in addition to opting for incremental backups, you can also specify Cron settings. In the Configure Set dialog box, click the Times tab to specify backup times. Then Fwbackups will automatically back up any changes made to the files in the specified directory at the times you chose.

You can save your backup to a local folder, a USB drive or to a remote server (using SSH). If you so command, Fwbackups will back up all subdirectories and hidden files in the backup path as well.

Back in the main interface, click the Backup Set Now button on the left to create the backup. Use the Restore Set button when you're ready to restore your backups. For incremental backups, you can also select the backup version to restore.

Verdict

Fwbackups
Version: 1.43
Website
Price: Free/GPL

It's fast and with great options and documentation. Highly recommended.

Rating: 8/10

Déjà Dup

Deja dup

Duplicity, the command line gem that offers such features as remote backups and encrypted incremental archives, is just too exhaustive to cover here. Still, we've managed to find the best graphical front-end to Duplicity around: the brilliant Déjà Dup.

It isn't the only option, though. In fact, if you really insist on using a terminal, try Duply – an Ncurses-based Duplicity front-end. There aren't many dependencies to worry about here, but you will need NcFTP, which is available in Ubuntu's software repositories and is the default Gnome backup tool of Fedora 13.

Like all other tools we've discussed so far, Déjà Dup enables you to store backups on the local filesystem or a remote location using SSH.

When you launch Déjà Dup from the Applications > System Tools menu, don't let the simplistic interface throw you off. Use Edit > Preferences to fill in settings such as backup location and the files you'd like to back up. In the Preferences window, check the Automatically Backup On A Regular Schedule box and select Daily, Weekly, Biweekly, or Monthly from the How Often To Backup: drop-down list.

It's worth noting that Déjà Dup doesn't give you the option to create backup sets, even though it does support incremental backups. You should also know that, depending on the Backup Location specified under Preferences, Déjà Dup only offers the respective backups to restore.

For example, if you back up your pictures in a directory called pics and your videos in vids, when the Preferences dialog is pointed to pics, you'll only restore your pictures backup. That's cool, but where's the documentation explaining this, eh?

Verdict

Déjà Dup
Version: 14.1
Website
Price: Free/GPL

A podium contender that offers encryption and incremental backups

Rating: 9/10

Backerupper

Backerupper

Although not available in the software repositories of any big-league distributions yet, Backerupper is still popular having received extensive blogosphere coverage. The tarball contains an install.sh script if you wish to install Backerupper to disk, but it works just as well without installation. Simply double-click the backer executable file.

The first step when working with Backerupper is to create a profile. To do this, click New. Provide a name and fill in the information required, such as the destination directory. Unfortunately, Backerupper won't back up individual files – it only works with directories.

Another shortcoming is that it doesn't perform incremental backups. Still, it does offer to automatically back up a specified directory if you so wish. When creating a profile, carefully choose the Max Backup Copies value.

Instead of creating incremental backups, Backerupper creates a compressed tarball of the specified directory each time it creates a backup. So, with the Max Backup Copies option you get to specify how many older versions of the backup to retain. For example, with Max Backup Copies set to one (default), a backup. tar.gz containing the Pictures folder would be replaced with backup-1.tar.gz the next time you back up the Pictures directory. If disk space isn't an issue, you may wish to keep at least two or three older backup copies.

With a backup in place, click the Restore tab at the top of the Backerupper window and then select a profile and, if you've set Max Backup Copies to a value of two or more, the associated backup you wish to restore.

Verdict

Backerupper
Version: 0.24
Website
Price: Free/GPL

Not actively developed and pales in comparison to others here

Rating: 5/10

Simple Backup Suite

Simple backup suite

The Simple Backup Suite, or Sbackup, is a set of Python scripts that provide two graphical interfaces: simple-backupconfig and simple-restore-gnome. Don't panic if it isn't part of your distro's repository – with its tiny dependency list, it's easy to install, even from source.

The simple-backup-config tool is named somewhat inappropriately, since you use it to create backups as well as for configuration. Once installed, launch it via System > Administration or the terminal.

By default, Sbackup is configured to back up your /home, /etc and a few other directories. If you'd rather define your own backup settings, click the Use Custom Backup Settings radio in the General tab.

The tabs at the top enable you to define the files and directories you wish to include or exclude from the backup. The Exclude tab offers you the option to exclude files based on regex matches, file size and file type. You can choose to save your backups to a remote location (SSH or FTP) or a local directory.

If you'd like to automate the backups with Cron, click the Time tab and Sbackup will create incremental backups for you. Unless you wish to create a one-off backup, click Save at the bottom of the window. The settings are saved in the /etc/sbackup.conf file.

Please note that Sbackup doesn't create profiles, so /etc/sbackup.conf is overwritten each time you click Save. This means you can't schedule different Cron jobs for a range of backups – your Pictures directory on Tuesday and Videos on Wednesday, for example.

The Simple Backup Restore tool under System > Administration identifies different backups by their timestamp. Handily, Sbackup will let you select individual files to restore too.

Verdict

Simple Backup Suite
Version: 0.10.5
Website
Price: Free/GPL

This isn't designed to be a home solution but it's ideal for system data

Rating: 6/10

Back In Time

Back in time

Originally intended as a replacement for scp and the rcp tools, rsync is now often used for performing backups. There are many graphical tools that use it and Back In Time is just one.

The project website has extensive installation instructions for Fedora, Ubuntu and Mandriva. Once installed, you can launch Back In Time from the Applications > System Tools menu on a Gnome desktop.

Because Back In Time relies on rsync, it can't be used to back up single files, only directories. You can use Exclude to specify files you don't wish to back up, though.

Back In Time creates snapshots of the directories you want to back up. This means that it copies the entire directory contents into the backup, but only if the contents have changed. So, if you create a snapshot of a directory now, it won't create another 20 minutes later if you haven't made changes.

You can and should add a name to each snapshot to enable easy comparison. The diff tool can then be used to compared the different snapshots. To do this, click the Snapshots button on the far-right of the interface. Now pick two snapshots from the Diff With drop-down list. Clicking the Diff With button now will display a comparison of the files in the snapshots.

If you like, you can restore individual files instead of the complete directory. Select a snapshot in the panel on the left, browse to the file you wish to copy in the right-hand panel, and you can either drag and drop or copy the file from here. Alternatively, click the Restore button. This will recreate the directory from the snapshot instantly.

Verdict

Back In Time
Version: 0.9.26
Website
Price: Free/GPL

Very fast. If you don't care for compression, this is a great tool.

Rating: 7/10

LuckyBackup

LuckyBackup

LuckyBackup crams almost all the features of the tools we've covered so far into a single package, while trying to keep its interface clean and simple. Great tooltips and a comprehensive user manual help you to make sense of all that's on offer here.

LuckyBackup is probably already available from your distro's software repositories, but the Repositories page on the project's website is the place to go to find out more. Also on offer are 32- and 64-bit packaged binaries for Debian, Ubuntu, Fedora, and others.

When you launch LuckyBackup for the first time, create a new profile. You can then store different backup sets within each profile. For every profile, you must create a task. LuckyBackup treats backing up and restoration as separate tasks.

When you create a backup task, check the Also Create A Task For Restore Purposes box. This will reverse the source and destination directories for your backup task for use with the restoration task. LuckyBackup won't be able to restore your backups if you don't use this option.

One particularly great feature you'll find here is the option to do a dry run, which is handled by using the Simulator checkbox in the main LuckyBackup interface. After a test, you can scan the Information Window (bottom panel) and the command output to review your settings and ensure all the files will go where you want.

Unfortunately, we don't have enough room to cover all the other features LuckyBackup puts at your fingertips here. You should, however, note that although the option to schedule a task isn't offered when creating a backup task, you can do this via the Schedule button on the task bar.

Verdict

LuckyBackup
Version: 0.44
Website
Price: Free/GPL

Poor performance and too many pitfalls hold this back from greatness

Rating: 7/10

Keep

Keep

Just like rsync, rdiff-backup is a command line utility to back up a directory to another location, even over a network. It's also similar to rsync in that it has inspired many graphical front-ends, and Keep is our weapon of choice for KDE.

What makes rdiff-backup unique and a great backup tool is that, in addition to keeping incremental backups, it also stores the reverse diffs. Suppose you back up a directory that contains 11 files on Thursday. When you back up this directory, the backup will also contain all the files. However, if you delete three files and back up again on the following Thursday, the backup directory will only contain eight files, because the backup reflects the current directory.

What if you now wish to recover the three files you deleted? Rdiff-backup stores the changes to a backup, whether incremental or reverse diffs, in the rdiff-backup-data directory, so you can effectively restore the three deleted files even though they aren't in the backup directory. Click the Add Directory To Backup button to begin.

If you wish to pick or leave out specific files, you can use the Inclusion/Exclusion list. Keep enables you to define a unique backup plan for individual directories. While it doesn't support profiles, click the Backup Now button in the main interface and it will present a list of all the configured directories, then ask you to select the ones you wish to back up.

When adding a backup directory, click the Use Advanced Configuration checkbox and the Configure button if you wish to describe settings such about compression, symbolic links and so on. Restoration is simple too.

Verdict

Keep
Version: 0.4.0
Website
Price: Free/GPL

Easy and fast. Offers compression and good documentation.

Rating: 8/10

The best Linux backup tool: Déjà Dup - 9/10

Winner

There's no shortage of backup tools available for Linux, but restricting ourselves to those geared towards home users and not including too many graphical front-ends for the same commands brought us to our shortlist here.

The stability of all the tools – even those that are yet to reach the big 1.0 milestone – came as a surprise to us. We think it's another factor that finally puts to rest the argument that Tar archives of directories, compressed with Gzip and transferred to a remote location with SSH or an FTP client is a decent enough backup strategy.

While functional, this approach seems archaic when faced with the convenience of a robust program that integrates well with Cron, a compression tool such as Gzip and often supports many different file storage features too.

After putting all the tools through our tests, we were half tempted to ignore ease of use as a deciding feature. That's because all the tools here, not just the top three, have very appealing and useful interfaces. Despite the barrage of features and options on offer, the tools present all the information and seek user input in a way that won't overwhelm you, no matter what level of expertise you posses.

Triumphant triumvirate

Which, however, is the best? Well, that mostly depends on your needs, but we feel that Lucky Backup, Pybackpack and Back In Time constitute the middleweights in this test. Each is just a feature or two away from being a title contender and the aspect of all of them we found most disappointing is that they don't offer compression.

Lucky Backup in particular is sitting on a virtual gold mine. With just a little love, it could become the all-time best. Its dry run feature is a great idea and we reckon all tools should offer it.

Our winner, though, stands apart from the second and third-placed Fwbackups and Keep, despite sharing quite a few features with both, because it offers encryption. Indeed, Déjà Dup is the only tool for home users that offers to encrypt files.

Sure, restoring encrypted backups with Déjà Dup can seem tricky, especially if you've created multiple encrypted backups. Panic not, though – to handle them, you simply need to change the Backup Location in the Preferences dialog to whichever backup you wish to restore. For example, if you create a backup of the Pictures directory first and then backup the Videos directory, you'll need to switch the Backup Location back to whatever you specified for the Pictures directory before you attempt to restore it.

Remember this rule and the power of encrypted backups, along with a rich selection of other features, will be at your command.