Do you have better things to do than scour the internet for news? No worries - if you need to know what's important for the developer, IProgrammer Weekly puts the unmissable bits together in a handy digest. This one covers July 31 - August 6.

This particular breakthrough sounds like a hoax but given the pedigree of the researchers involved - MIT, Microsoft and Adobe - we'd better take it seriously. Taken seriously it has a certain wow factor that makes you think that with the right algorithm anything is possible.,

If you are running Windows 7 or later on a 64-bit machine you might be looking froward to having a 64-bit version of Chrome. It is now in the beta channel and you are invited to try out its features and provide feedback.

A new version of the Scratch programming language for use on the iPad has been designed to help teach young kids, who may not yet have learned to read, to create programs using a touchscreen interface.

Google has just released the source code of the app that they made available to help people attend and generally manage I/O 2014. The idea is that this is an example of good practice for Android developers to take note of.

Today's Google Doodle is great fun to interact with. Google has timed it to coincide with the 180th birthday of John Venn, who introduced the idea of using intersecting circles to to visually sort groups to illustrate their relationships to each other.

The original goal of the annual RoboCup contest was that by 2050 a team of soccer robots should be able to beat the human world champions. Each year we have a chance to gage progress and this year we saw evidence that robots are getting better

The Linux Foundation's Introduction to Linux starts on August 1st on the edX platform. Coursera has a course on Web Application Architectures and another on Algorithmic Thinking starting later in the month.

The Core

Programming, and computer science in particular, has a tendency to use other people's jargon. Often this makes things seem more difficult. You may have heard of covariance and contravariance and wondered what they were all about. If you want a simple explanation that applies to any computer language, here it is.

The relationship between a DialogFragment and the Dialog within can seem mysterious, but in the previous chapter we discovered how to make a custom dialog using nothing but DialogFragment. Now we have to find out how we can use the Dialog class to do the same thing.